コード例 #1
0
ファイル: lib_tinkerforge.py プロジェクト: 44213/smartHome
class BrickletMoisture:
    def __init__(self, uid, connection, logging_daemon, queue, value=0.0, trigger_difference=7.0):
        self._bricklet = Moisture(uid, connection)
        self._value = value
        self._value_old = value
        self.trigger_difference = trigger_difference
        self._rising = False
        self._falling = False
        self.uid = uid
        self._logging_daemon = logging_daemon
        self._queue = queue
        self._logging_daemon.info('Tinkerforge ... Moisture-Bricklet UID "%s" initialisiert' % uid)

    def set_callback(self, timeframe=20000):
        self._bricklet.set_moisture_callback_period(timeframe)
        self._bricklet.register_callback(self._bricklet.CALLBACK_MOISTURE, self._changed)
        self._logging_daemon.debug('Tinkerforge ... Moisture-Bricklet UID "%s" Callback gesetzt' % self.uid)

    def read(self):
        return self._bricklet.get_moisture_value()

    def read_rising(self):
        return self._rising

    def read_falling(self):
        return self._falling

    def _changed(self, tmp_value):
        if abs(self._value - tmp_value) >= self.trigger_difference:
            if tmp_value > self._value_old:
                self._rising = True
                self._falling = False
            elif tmp_value < self._value_old:
                self._rising = False
                self._falling = True
            self._logging_daemon.debug(
                'Tinkerforge ... Moisture-Bricklet UID "%s" , Neu = %f , Alt = %f , rising = %s , falling = %s' % (
                    self.uid, tmp_value, self._value_old, self._rising, self._falling))
            self._value_old = tmp_value
            self._value = tmp_value
            tmp_json = json.dumps(["send_changed_data", self.uid, "sensor", "moisture", self._value])
            for consumer in self._queue:
                consumer(tmp_json)
                self._logging_daemon.info(
                    'Tinkerforge ... Moisture-Bricklet UID "%s" , neuer Wert %f -> SocketServer Warteschlange ' % (
                        self.uid, self._value))

    moisture = property(read)
    rising = property(read_rising)
    falling = property(read_falling)
コード例 #2
0
 def __init__(self,
              uid,
              connection,
              logging_daemon,
              queue,
              value=0.0,
              trigger_difference=7.0):
     self._bricklet = Moisture(uid, connection)
     self._value = value
     self._value_old = value
     self.trigger_difference = trigger_difference
     self._rising = False
     self._falling = False
     self.uid = uid
     self._logging_daemon = logging_daemon
     self._queue = queue
     self._logging_daemon.info(
         'Tinkerforge ... Moisture-Bricklet UID "%s" initialisiert' % uid)
コード例 #3
0
ファイル: lib_tinkerforge.py プロジェクト: 44213/smartHome
 def __init__(self, uid, connection, logging_daemon, queue, value=0.0, trigger_difference=7.0):
     self._bricklet = Moisture(uid, connection)
     self._value = value
     self._value_old = value
     self.trigger_difference = trigger_difference
     self._rising = False
     self._falling = False
     self.uid = uid
     self._logging_daemon = logging_daemon
     self._queue = queue
     self._logging_daemon.info('Tinkerforge ... Moisture-Bricklet UID "%s" initialisiert' % uid)
コード例 #4
0
class BrickletMoisture:
    def __init__(self,
                 uid,
                 connection,
                 logging_daemon,
                 queue,
                 value=0.0,
                 trigger_difference=7.0):
        self._bricklet = Moisture(uid, connection)
        self._value = value
        self._value_old = value
        self.trigger_difference = trigger_difference
        self._rising = False
        self._falling = False
        self.uid = uid
        self._logging_daemon = logging_daemon
        self._queue = queue
        self._logging_daemon.info(
            'Tinkerforge ... Moisture-Bricklet UID "%s" initialisiert' % uid)

    def set_callback(self, timeframe=20000):
        self._bricklet.set_moisture_callback_period(timeframe)
        self._bricklet.register_callback(self._bricklet.CALLBACK_MOISTURE,
                                         self._changed)
        self._logging_daemon.debug(
            'Tinkerforge ... Moisture-Bricklet UID "%s" Callback gesetzt' %
            self.uid)

    def read(self):
        return self._bricklet.get_moisture_value()

    def read_rising(self):
        return self._rising

    def read_falling(self):
        return self._falling

    def _changed(self, tmp_value):
        if abs(self._value - tmp_value) >= self.trigger_difference:
            if tmp_value > self._value_old:
                self._rising = True
                self._falling = False
            elif tmp_value < self._value_old:
                self._rising = False
                self._falling = True
            self._logging_daemon.debug(
                'Tinkerforge ... Moisture-Bricklet UID "%s" , Neu = %f , Alt = %f , rising = %s , falling = %s'
                % (self.uid, tmp_value, self._value_old, self._rising,
                   self._falling))
            self._value_old = tmp_value
            self._value = tmp_value
            tmp_json = json.dumps([
                "send_changed_data", self.uid, "sensor", "moisture",
                self._value
            ])
            for consumer in self._queue:
                consumer(tmp_json)
                self._logging_daemon.info(
                    'Tinkerforge ... Moisture-Bricklet UID "%s" , neuer Wert %f -> SocketServer Warteschlange '
                    % (self.uid, self._value))

    moisture = property(read)
    rising = property(read_rising)
    falling = property(read_falling)