Make notifications toggleable via MQTT (#13657)

* Add ability to toggle mqtt state from MQTT / ws

* Listen to notification config updates

* Add docs for notifications
This commit is contained in:
Nicolas Mowen
2024-09-10 11:24:44 -06:00
committed by GitHub
parent 8db9824842
commit 07d1692f2b
6 changed files with 63 additions and 4 deletions
+13
View File
@@ -105,6 +105,13 @@ class MqttClient(Communicator): # type: ignore[misc]
retain=True,
)
if self.config.notifications.enabled_in_config:
self.publish(
"notifications/state",
"ON" if self.config.notifications.enabled else "OFF",
retain=True,
)
self.publish("available", "online", retain=True)
def on_mqtt_command(
@@ -209,6 +216,12 @@ class MqttClient(Communicator): # type: ignore[misc]
self.on_mqtt_command,
)
if self.config.notifications.enabled_in_config:
self.client.message_callback_add(
f"{self.mqtt_config.topic_prefix}/notifications/set",
self.on_mqtt_command,
)
self.client.message_callback_add(
f"{self.mqtt_config.topic_prefix}/restart", self.on_mqtt_command
)