diff --git a/hass_button_emulator.py b/hass_button_emulator.py index ef85604..66bb97d 100755 --- a/hass_button_emulator.py +++ b/hass_button_emulator.py @@ -28,7 +28,7 @@ def main(): j = json.dumps({"command": "scene_recall", "args": {"scene_id": 0}}) # j = json.dumps({'command': 'shutdown'}) - client.publish(mqtt_client.MQTT_TOPIC, payload=j, qos=0, retain=False) + client.publish(mqtt_client.MQTT_COMMAND_TOPIC, payload=j, qos=0, retain=False) time.sleep(2) diff --git a/mqtt_client.py b/mqtt_client.py index 3f96c78..9734cad 100644 --- a/mqtt_client.py +++ b/mqtt_client.py @@ -7,15 +7,38 @@ import paho.mqtt.client as mqtt import mixer from mixer import Mixer + MQTT_SERVER_PORT = 1883 -MQTT_TOPIC = "homeassistant/device/mixer" +MQTT_DISCOVERY_TOPIC = "homeassistant/button/mixer/config" +MQTT_COMMAND_TOPIC = "livingroom/voc/allen_heath_qu16_mixer" m: Mixer = None +def mqtt_autodiscovery(client): + j = json.dumps( + { + "name": "Reset Settings", + "command_topic": MQTT_COMMAND_TOPIC, + "command_template": '{"command": "scene_recall", "args": {"scene_id": 0}}', + "device": { + "name": "Mischpult", + "model": "Qu-16", + "manufacturer": "Allen & Heath", + "suggested_area": "livingroom", + "identifiers": "Mischpult", + }, + "unique_id": "mischpult_reset_settings", + } + ) + + client.publish(MQTT_DISCOVERY_TOPIC, payload=j, qos=0, retain=False) + + def on_connect(client, userdata, flags, reason_code, properties): print(f"Connected: {reason_code}") - client.subscribe(MQTT_TOPIC) + client.subscribe(MQTT_COMMAND_TOPIC) + mqtt_autodiscovery(client) def on_message(client, userdata, msg):