Handle transform() exception
This commit is contained in:
parent
49f9ee120b
commit
54e169bdd2
13
main.py
13
main.py
|
@ -33,6 +33,7 @@ solar_client = InfluxDBClient('localhost', 8086, database='solar2')
|
||||||
PORT = 6903 if PROD else 6904
|
PORT = 6903 if PROD else 6904
|
||||||
|
|
||||||
def controller_message(message):
|
def controller_message(message):
|
||||||
|
logging.info('Sending controller message: %s', message)
|
||||||
payload = dict(home=message)
|
payload = dict(home=message)
|
||||||
r = requests.post('https://tbot.tannercollin.com/message', data=payload, timeout=10)
|
r = requests.post('https://tbot.tannercollin.com/message', data=payload, timeout=10)
|
||||||
if r.status_code == 200:
|
if r.status_code == 200:
|
||||||
|
@ -106,7 +107,13 @@ class Sensor():
|
||||||
return
|
return
|
||||||
|
|
||||||
data = self.value.copy()
|
data = self.value.copy()
|
||||||
self.transform(data)
|
|
||||||
|
try:
|
||||||
|
self.transform(data)
|
||||||
|
except BaseException as e:
|
||||||
|
logging.exception('Problem transforming sensor data: {} - {}'.format(e.__class__.__name__, str(e)))
|
||||||
|
logging.error('Data: %s', str(data))
|
||||||
|
return
|
||||||
|
|
||||||
for key in self.bad_keys:
|
for key in self.bad_keys:
|
||||||
data.pop(key, None)
|
data.pop(key, None)
|
||||||
|
@ -273,9 +280,11 @@ class AcuRite6002RM(Sensor):
|
||||||
def transform(self, data):
|
def transform(self, data):
|
||||||
if data.get('battery_ok', None) != 1:
|
if data.get('battery_ok', None) != 1:
|
||||||
logging.error('%s battery not ok!', self)
|
logging.error('%s battery not ok!', self)
|
||||||
|
|
||||||
data['temperature_C'] = float(data['temperature_C']) + self.temp_offset
|
data['temperature_C'] = float(data['temperature_C']) + self.temp_offset
|
||||||
data['humidity'] = float(data['humidity']) + self.hum_offset
|
data['humidity'] = float(data['humidity']) + self.hum_offset
|
||||||
|
|
||||||
|
|
||||||
class QotMotionSensor(Sensor):
|
class QotMotionSensor(Sensor):
|
||||||
type_ = 'qotmotion'
|
type_ = 'qotmotion'
|
||||||
update_period = False
|
update_period = False
|
||||||
|
@ -509,7 +518,7 @@ if __name__ == '__main__':
|
||||||
sensors.add(Acurite606TX('185', 'Outside', 0.0))
|
sensors.add(Acurite606TX('185', 'Outside', 0.0))
|
||||||
sensors.add(AcuRite6002RM('999999', 'Seeds', 0.0)) # A
|
sensors.add(AcuRite6002RM('999999', 'Seeds', 0.0)) # A
|
||||||
sensors.add(AcuRite6002RM('999998', 'Misc', 0.7, -1.0)) # A
|
sensors.add(AcuRite6002RM('999998', 'Misc', 0.7, -1.0)) # A
|
||||||
sensors.add(AcuRite6002RM('5613', 'Basement', 0.7, -1.0)) # A
|
sensors.add(AcuRite6002RM('12516', 'Basement', 0.7, -1.0)) # A
|
||||||
sensors.add(AcuRite6002RM('5109', 'Nook', 0.2, -1.0)) # B
|
sensors.add(AcuRite6002RM('5109', 'Nook', 0.2, -1.0)) # B
|
||||||
sensors.add(AcuRite6002RM('11087', 'Bedroom', -0.7, 1.0)) # C
|
sensors.add(AcuRite6002RM('11087', 'Bedroom', -0.7, 1.0)) # C
|
||||||
sensors.add(SleepSensor('sleep1', 'Bedroom'))
|
sensors.add(SleepSensor('sleep1', 'Bedroom'))
|
||||||
|
|
Loading…
Reference in New Issue
Block a user