Shelly und MQTT: Firmware Update anzeigen

Geflasht oder ungeflasht ...

Moderator: seppy

Benutzeravatar
udo1toni
Beiträge: 14780
Registriert: 11. Apr 2018 18:05
Answers: 230
Wohnort: Darmstadt

Re: Shelly und MQTT: Firmware Update anzeigen

Beitrag von udo1toni »

Die eckigen Klammern um das transformationPattern sind falsch. Korrekt:

Code: Alles auswählen

  - id: fw_update
    channelTypeUID: mqtt:string
    label: Firmware Update
    configuration:
      stateTopic: shellyplusht_wohnzimmer/status/sys
      transformationPattern: "REGEX:(.*stable.*)∩JSONPATH:$.available_updates.stable.version"
Mit dem gezeigten JSON sollte dann allerdings ein leerer String zurück kommen, da dort das Wort stable gar nicht vorhanden ist.
openHAB4.2.2 stable in einem Debian-Container (bookworm) (Proxmox 8.2.8, LXC), mit openHABian eingerichtet

EmptySoft
Beiträge: 223
Registriert: 7. Jan 2020 14:45
Answers: 2
Kontaktdaten:

Re: Shelly und MQTT: Firmware Update anzeigen

Beitrag von EmptySoft »

Moadin hat geschrieben: 15. Sep 2024 14:30
In Openhab habe ich folgendes eingetragen als channel:

Code: Alles auswählen

  - id: fw_update
    channelTypeUID: mqtt:string
    label: Firmware Update
    configuration:
      stateTopic: shellyplusht_wohnzimmer/status/sys
      transformationPattern: "[REGEX:(.*stable.*)∩JSONPATH:$.available_updates.stable.version]"
Benötigt man das REGEX wirklich? sollte nicht

Code: Alles auswählen

transformationPattern="JSONPATH:$.available_updates.stable.version"
reichen?
BYe
Harald

Benutzeravatar
udo1toni
Beiträge: 14780
Registriert: 11. Apr 2018 18:05
Answers: 230
Wohnort: Darmstadt

Re: Shelly und MQTT: Firmware Update anzeigen

Beitrag von udo1toni »

Nein, in diesem Fall nicht. Das Problem ist hier, dass der Zweig nicht unbedingt im JSON vorhanden ist. Ohne REGEX kommt dann eine nullPointerException. Mit REGEX bekommt JSONPATH als Éingangswert aber einen leeren String (weil das Wort stable nicht vorhanden ist und damit REGEX nicht matcht). JSONPATH liefert dann ebenfalls einen leeren String zurück und es gibt keine Exception.
openHAB4.2.2 stable in einem Debian-Container (bookworm) (Proxmox 8.2.8, LXC), mit openHABian eingerichtet

Antworten