diff --git a/coffee_scale/mqtt.py b/coffee_scale/mqtt.py index 97180d8..ee49cd7 100644 --- a/coffee_scale/mqtt.py +++ b/coffee_scale/mqtt.py @@ -17,7 +17,7 @@ def on_connect(client, userdata, flags, rc): client.subscribe('sik/kiltahuone/kahvivaaka/#') -def on_message(client, userdata, msg): +def update_latest(msg): payload = msg.payload.decode('utf-8') if msg.topic == TOPICS['WEIGHT']: weight = float(payload) @@ -33,6 +33,13 @@ def on_message(client, userdata, msg): latest['brew_time'] = brew_time +def on_message(client, userdata, msg): + try: + update_latest(msg) + except Exception as ex: + logging.exception('Failed to parse MQTT payload.') + + def on_disconnect(client, userdata, rc): if rc != 0: logging.warning('MQTT unexpectedly disconnected.')