Shelly und MQTT: Firmware Update anzeigen
Verfasst: 1. Sep 2024 14:43
Liebe Forummitglieder
ich versuche bei einem Shelly in Openhab anzuzeigen, ob ein stable Firmware-Update zur Verfügung steht. Bei einem HT Shelly geht das sehr gut, weil dieser announce dies zur Verfügung stellt ("new_fw": false). Ein Shelly 1PM macht das nicht, dort steht im status/sys "available_updates": { ...}
Jetzt möchte ich das gerne in Openhab darstellen, dass wenn ein Update zur Verfügung steht, er mir wie bei den HT-Shelly anzeigt "ON", und wenn keines zur Verfügung steht "OFF".
Ich habe folgendes versucht:
HT Shelly (das funktioniert):
Ich habe dann ein Item gemacht und dort als Switch angelegt und er sollte mir anzeigen, wenn ein FW Update möglich ist.
Wie mache ich das bei einem Shelly 1PM?
Hier habe ich nun ein String-Item genommen, weil er ja keine Zahl liefert. Und eigentlich möchte ich sowieso nur, dass wenn im Element available_updates ein "stable" drin steht, soll er einfach "ON" anzeigen. Wenn das Element leer ist oder ein "beta" drin steht, soll er "OFF" anzeigen.
Dies liefert das MQTT (den Code habe ich von der Shelly-Dokumentation, sieht bei mir aber genau gleich aus):
Kann mir jemand weiterhelfen? Vielen Dank!
ich versuche bei einem Shelly in Openhab anzuzeigen, ob ein stable Firmware-Update zur Verfügung steht. Bei einem HT Shelly geht das sehr gut, weil dieser announce dies zur Verfügung stellt ("new_fw": false). Ein Shelly 1PM macht das nicht, dort steht im status/sys "available_updates": { ...}
Jetzt möchte ich das gerne in Openhab darstellen, dass wenn ein Update zur Verfügung steht, er mir wie bei den HT-Shelly anzeigt "ON", und wenn keines zur Verfügung steht "OFF".
Ich habe folgendes versucht:
HT Shelly (das funktioniert):
Code: Alles auswählen
UID: mqtt:topic:mosquitto:ht_aussen
label: Shelly HT Aussen
thingTypeUID: mqtt:topic
configuration: {}
bridgeUID: mqtt:broker:mosquitto
location: Balkon
channels:
- id: fw_update
channelTypeUID: mqtt:switch
label: Firmware Update
configuration:
stateTopic: shellies/shellyht-aussen/announce
transformationPattern: JSONPATH:$.new_fw
off: "false"
on: "true"
Wie mache ich das bei einem Shelly 1PM?
Code: Alles auswählen
UID: mqtt:topic:mosquitto:steckdose_balkon_seite
label: Steckdose Balkon seite
thingTypeUID: mqtt:topic
configuration: {}
bridgeUID: mqtt:broker:mosquitto
location: Balkon
channels:
- id: fw_update
channelTypeUID: mqtt:string
label: Firmware Update
configuration:
stateTopic: shellyplus1pm-aussensteckdose/status/sys
transformationPattern: JSONPATH:$.available_updates.stable.version
Dies liefert das MQTT (den Code habe ich von der Shelly-Dokumentation, sieht bei mir aber genau gleich aus):
Code: Alles auswählen
"sys": {
"mac": "A8032ABE54DC",
"restart_required": false,
"time": "16:41",
"unixtime": 1675262494,
"uptime": 571,
"ram_size": 234820,
"ram_free": 162244,
"fs_size": 458752,
"fs_free": 110592,
"cfg_rev": 7,
"kvs_rev": 1,
"schedule_rev": 0,
"webhook_rev": 0,
"available_updates": {
"beta": {
"version": "0.13.0-beta1"
},
"stable": {
"version": "0.12.0"
}
}
},