Merge pull request #2974 from casse-boubou/Add-'Availability'-topic-to-MQTT-connection

Add retain to availability topic
This commit is contained in:
Nicolas Hennion 2024-10-13 14:48:00 +02:00 committed by GitHub
commit 0cdf2d62e7
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 12 additions and 3 deletions

View File

@ -82,15 +82,24 @@ class Export(GlancesExport):
def on_connect(client, userdata, flags, reason_code, properties):
"""Action to perform when connecting."""
self.client.publish(topic='/'.join([self.topic, self.devicename, "availability"]), payload="Online")
self.client.publish(
topic='/'.join([self.topic, self.devicename, "availability"]),
payload="online",
retain=True)
def on_disconnect(client, userdata, flags, reason_code, properties):
"""Action to perform when the connection is over."""
self.client.publish(topic='/'.join([self.topic, self.devicename, "availability"]), payload="Offline")
self.client.publish(
topic='/'.join([self.topic, self.devicename, "availability"]),
payload="offline",
retain=True)
client.on_connect = on_connect
client.on_disconnect = on_disconnect
client.will_set(topic='/'.join([self.topic, self.devicename, "availability"]), payload="Offline")
client.will_set(
topic='/'.join([self.topic, self.devicename, "availability"]),
payload="offline",
retain=True)
client.username_pw_set(username=self.user, password=self.password)
if self.tls: