diff --git a/gateway.py b/gateway.py index 46a8eb3..9c5ee45 100644 --- a/gateway.py +++ b/gateway.py @@ -2,8 +2,6 @@ from config import settings from mqtt import MqttClient from workers_manager import WorkersManager -print(settings) - mqtt = MqttClient(settings['mqtt']) workers = WorkersManager(settings['workers']) diff --git a/workers/thermostat.py b/workers/thermostat.py index 88540be..446e73f 100644 --- a/workers/thermostat.py +++ b/workers/thermostat.py @@ -1,12 +1,12 @@ from eq3bt import Thermostat, Mode -readableModes = { - 0: 'off', - 1: 'on', - 2: 'auto', - 3: 'manual', - 4: 'away', - 5: 'boost', +haModesMapping = { + Mode.Closed: 'off', + Mode.Open: 'on', + Mode.Auto: 'auto', + Mode.Manual: 'manual', + Mode.Away: 'away', + Mode.Boost: 'boost', } monitoredAttrs = ["low_battery", "valve_state", "target_temperature"] @@ -25,8 +25,19 @@ class ThermostatWorker: for attr in monitoredAttrs: ret.append({ 'topic': self.format_topic(name, attr), - 'payload': getattr(thermostat,attr), + 'payload': getattr(thermostat, attr), }) + + ret.append({ + 'topic': self.format_topic(name, 'mode'), + 'payload': haModesMapping[thermostat.mode], + }) + + ret.append({ + 'topic': self.format_topic(name, 'away'), + 'payload': 'ON' if thermostat.mode == Mode.Away else 'OFF' + }) + return ret @property