Metainformationen zur Seite
Dies ist eine alte Version des Dokuments!
MQTT
Shelly TRV
TRVs ausschalten
Push reset button for 5-6 sek. Will see AP on screen. Then push shortly once. And device will be switched off.
Retain Message löschen
For the folks still reading this thread, I’ve been using MQTT since 2018 and have never experienced the difficulties the OP has reported.
My introduction to MQTT began when I wanted to add MQTT support to an old home automation system. In order to do that, I had to gain a sufficient understanding of MQTT’s operation to ensure success. The resulting MQTT converter has worked very reliably and predictably for nearly 3 years now.
What the OP has experienced is anomalous. In my tests, using Developer Tools > Services > MQTT: Publish, to purge a retained message, does indeed work; the topic’s payload does not reappear as a retained message.
- Using MQTT Explorer, published a retained message to a new topic.
- Using Developer Tools > Services > MQTT: Publish, published an empty string, as a retained message, to the topic .
- Disconnected/reconnected MQTT Explorer and now the topic and its payload were no longer present (i.e. retained payload removed from the broker’s storage).
- Restarted the MQTT Mosquitto Broker Add-On.
- Disconnected/reconnected MQTT Explorer. Topic and its payload did not return and were truly purged from the broker’s storage.
- Using Developer Tools > Services > MQTT: Publish, published a non-retained message to the previous topic.
- In MQTT Explorer (already running) it displayed the topic and its payload (not as a retained message).
In short, everything worked as expected.
The OP carried out a similar procedure but reported a different outcome, one where the topic always contains a retained message despite attempts to disable it.
There have been reports of performance issues with the MQTT Mosquitto Broker Add-on version 5.1.1 and maybe (just maybe) this is one of its manifestations. I can’t say for sure because I still use version 5.1 and it runs flawlessly.
TRV-Liste
Liste der TRV's nach Räumen
Wohnen
Zieltemperatur setzen
- Wohnen-01-alt:
- shellies/shellytrv-60A423D925E8/thermostat/0/command/target_t
- Wohnen-01:
- shellies/shellytrv-60A4239931B4/thermostat/0/command/target_t
- Wohnen-02:
- shellies/shellytrv-84FD271BDE5E/thermostat/0/command/target_t
- Wohnen-03:
- shellies/shellytrv-14B457E5D19E/thermostat/0/command/target_t
Externe Temperatur senden
- Wohnen-01:
- shellies/shellytrv-60A423D925E8/thermostat/0/command/ext_t
- Wohnen-02:
- shellies/shellytrv-84FD271BDE5E/thermostat/0/command/ext_t
- Wohnen-03:
- shellies/shellytrv-14B457E5D19E/thermostat/0/command/ext_t
Schlafen
shellies/shellytrv-8CF6811873D3/thermostat/0/command/target_t
Flur
Zieltemperatur setzen
- Flur-01:
- shellies/shellytrv-84FD276ED9DC/thermostat/0/command/target_t
- Flur-02:
- shellies/shellytrv-8CF6811870A3/thermostat/0/command/target_t
Externe Temperatur senden
- Flur-01:
- shellies/shellytrv-84FD276ED9DC/thermostat/0/command/ext_t
- Flur-02:
- shellies/shellytrv-8CF6811870A3/thermostat/0/command/ext_t
Küche
shellies/shellytrv-8CF6811C9B49/thermostat/0/command/target_t
Bad
shellies/shellytrv-8CF6811CA673/thermostat/0/command/target_t
Shellies entdecken
In HA unter Settings --> Devices & services -> Integrations -> MQTT Configure anklicken.
Folgendes eintragen:
- Publish a packet:
Topic:shellies/command
Payload:announce
- Listen to a topic:
Topic to subscribe to:shellies/#
Die Ausgabe für ein Shelly TRV sieht wie folgt aus:
- announce
{ "id": "shellytrv-8CF6811CA673", "model": "SHTRV-01", "mac": "8CF6811CA673", "ip": "192.168.178.187", "new_fw": false, "fw_ver": "20231009-064451/v2.2.1@1e8f2795" }
- status
{ "tmp": { "value": 31.5, "units": "C", "is_valid": true }, "target_t": { "enabled": true, "value": 31.0, "units": "C" }, "temperature_offset": 0.0, "bat": 94 }
- info
{ "wifi_sta": { "connected": true, "ssid": "FRITZ!Box 6660 Cable DR", "ip": "192.168.178.187", "rssi": -75 }, "cloud": { "enabled": false, "connected": false }, "mqtt": { "connected": true }, "time": "10:32", "unixtime": 1698568321, "serial": 0, "has_update": false, "mac": "8CF6811CA673", "cfg_changed_cnt": 0, "actions_stats": { "skipped": 0 }, "thermostats": [ { "pos": -1.0, "target_t": { "enabled": true, "value": 31.0, "value_op": 8.0, "units": "C" }, "tmp": { "value": 31.5, "units": "C", "is_valid": true }, "schedule": false, "schedule_profile": 1, "boost_minutes": 0, "window_open": false } ], "calibrated": false, "bat": { "value": 94, "voltage": 3.814 }, "charger": true, "update": { "status": "unknown", "has_update": false, "new_version": "20231009-064451/v2.2.1@1e8f2795", "old_version": "20231009-064451/v2.2.1@1e8f2795", "beta_version": null }, "ram_total": 97280, "ram_free": 30704, "fs_size": 65536, "fs_free": 59404, "uptime": 36579, "fw_info": { "device": "shellytrv-8CF6811CA673", "fw": "20231009-064451/v2.2.1@1e8f2795" }, "ps_mode": 0, "dbg_flags": 0 }
TRV Settings
Lesen
mqtt: sensor: - name: "Shelly-TRV Bad Target_t" unit_of_measurement: "°C" #expire_after: 86400 device_class: temperature icon: mdi:home-thermometer-outline qos: 1 state_topic: "shellies/shellytrv-8CF6811CA673/status" value_template: "{{ value_json.target_t.value }}" - name: "Shelly-TRV Bad Temperatur" unit_of_measurement: "°C" #expire_after: 86400 device_class: temperature icon: mdi:home-thermometer-outline qos: 1 state_topic: "shellies/shellytrv-8CF6811CA673/status" value_template: "{{ value_json.tmp.value }}" - name: "Shelly-TRV Bad Batterie" unit_of_measurement: "%" #expire_after: 86400 device_class: battery icon: mdi:battery qos: 1 state_topic: "shellies/shellytrv-8CF6811CA673/info" value_template: "{{ value_json.bat.value }}"
Schreiben
service: mqtt.publish data: qos: "1" retain: false topic: shellies/shellytrv-8CF6811CA673/thermostat/0/command/target_t payload_template: "{{ states('input_number.temperatur_ziel_hoch')|float(0) }}"
Lidl-Plug
Dann wählst du dein Zigbee Gerät (Lidl Steckdose) aus
Endpunkt: 1
Cluster-ID: OnOff
Attribut: tuyaBacklightMode
Befehl: write (2)
Value: 1
Dann den Button „Schreiben“ drücken
Im Log erscheint eine Meldung: 2023-04-17 13:41:33Wrote '{„tuyaBacklightMode“:1}' to 'genOnOff
'
Mit dem Befehl:
Endpunkt: 1
Cluster-ID: genOnOff
Befehlstyp: Foundation
Befehl: read (0)
Attribut: tuyaBacklightMode
Haken entfernen bei „Ein Wert wird benötigt“
Value: 0