diff --git a/src/thermostat/sensor.py b/src/thermostat/sensor.py index da341bd..96f6864 100644 --- a/src/thermostat/sensor.py +++ b/src/thermostat/sensor.py @@ -82,7 +82,7 @@ class Daemon: signal.signal(signal.SIGTERM, self.on_signal) client = mqtt.Client() - client.will_set(AVAILABILITY_TOPIC, "offline") + client.will_set(AVAILABILITY_TOPIC, "offline", retain=True) client.on_connect = self.on_connect client.on_message = self.on_message client.on_disconnect = self.on_disconnect @@ -105,7 +105,7 @@ class Daemon: if self.quitpipe[0] in ready: os.close(self.quitpipe[0]) break - client.publish(AVAILABILITY_TOPIC, "offline") + client.publish(AVAILABILITY_TOPIC, "offline", retain=True) client.disconnect() client.loop_stop() @@ -120,9 +120,11 @@ class Daemon: for key, value in SENSOR_CONFIG.items(): value["unique_id"] = f"sensor.{key}" client.publish( - f"homeassistant/sensor/{key}/config", json.dumps(value) + f"homeassistant/sensor/{key}/config", + json.dumps(value), + retain=True, ) - client.publish(AVAILABILITY_TOPIC, "online") + client.publish(AVAILABILITY_TOPIC, "online", retain=True) self._ready.set() def on_disconnect(self, client, userdata, rc):