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)
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 __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)
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)