Hilfe bei REGEX Transformation eines MQTT Gerätes

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

J-N-K
Beiträge: 126
Registriert: 20. Jun 2020 12:21
Answers: 4
Wohnort: Gelsenkirchen, NRW

Re: Hilfe bei REGEX Transformation eines MQTT Gerätes

Beitrag von J-N-K »

Wenn das Problem aber erst auftaucht, wenn zwei definiert sind, wie ist denn die Definition von dem zweiten?
openHAB 4.0.0-SNAPSHOT - - local build -
APU2, 4GB RAM, 32GB SSD, Debian Buster
openHAB Core/Distro/Addons & SmartHome/J Maintainer

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

Re: Hilfe bei REGEX Transformation eines MQTT Gerätes

Beitrag von udo1toni »

Das Problem kann eigentlich nicht in der beschriebenen Form auftreten :) aber ich muss zugeben, dass ich den Thread nur überflogen habe. Bilder sind mir zuwider, ich kann die Konfiguration daraus so schlecht lesen - Ich bin mit Text Konfiguration groß geworden, und das hat viele Vorteile, nicht nur Lesbarkeit...


Gesendet von iPad mit Tapatalk
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

J-N-K
Beiträge: 126
Registriert: 20. Jun 2020 12:21
Answers: 4
Wohnort: Gelsenkirchen, NRW

Re: Hilfe bei REGEX Transformation eines MQTT Gerätes

Beitrag von J-N-K »

Meine Überlegung war: wenn ich auf R[0]:1 und R[0]:0 matche und im gleichen Topic R[1]:1 kommt, könnte das eventuell einen solchen Fehler produzieren (weil das eben nichts matched). Müsste mal mal ausprobieren.

Generell teile ich Deine Meinung: als JSON wäre das einfacher.
openHAB 4.0.0-SNAPSHOT - - local build -
APU2, 4GB RAM, 32GB SSD, Debian Buster
openHAB Core/Distro/Addons & SmartHome/J Maintainer

Benutzeravatar
peter-pan
Beiträge: 2758
Registriert: 28. Nov 2018 12:03
Answers: 30
Wohnort: Schwäbisch Gmünd

Re: Hilfe bei REGEX Transformation eines MQTT Gerätes

Beitrag von peter-pan »

udo1toni hat geschrieben: 9. Jul 2020 20:59 Bilder sind mir zuwider
Du hast natürlich Recht. Ich bevorzuge eigentlich auch deinen Konfigurationsstil, aber ich glaube J-N-K hat alles über PaperUI konfiguriert und da gibt's leider, abgesehen von JSON-DB, keine Text-Files und da möchte(kann) man (ich) nicht drin herum spielen
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.5 openhabian

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

Hilfe bei REGEX Transformation eines MQTT Gerätes

Beitrag von udo1toni »

J-N-K hat geschrieben:Meine Überlegung war: wenn ich auf R[0]:1 und R[0]:0 matche und im gleichen Topic R[1]:1 kommt, könnte das eventuell einen solchen Fehler produzieren (weil das eben nichts matched).
Ja, das ist ein sehr guter Punkt!

Das mqtt Binding gibt dafür nichts her. Ausweg:
Du definierst zwei Channel, den einen für rein, den anderen für raus. Die beiden Channel verbindest Du mit zwei String Items.

Anschließend legst Du ungebundene Items für jeden Endpunkt (Relais, Temperatur, whatever, was halt über den Status rein kommen kann oder über den Command-Channel gesteuert wird) an. Nun brauchst Du noch zwei Rules. Die eine Rule triggert auf ein Update des rein-Channel-Items ;) , wertet den empfangenen String aus und setzt den Status des jeweils passenden Items.
Die andere Rule triggert auf eine Group, in der alle Items zusammengefasst sind, die einen Steuerbefehl an das Gerät senden dürfen. Dabei verwendest Du Member of GroupItem received command.
Nun muss die Rule aus dem triggeringItem.name und receivedCommand entscheiden, wie genau der zu sendende String lauten muss.

Dieser Weg ist natürlich unbequem, sollte aber ohne Fehlermeldungen funktionieren.

Es gibt noch eine weitere Möglichkeit: Du kannst eine incomming Transformation nutzen und dabei über ein Bool‘sches Verkettungs-Symbol mehrere Transformations koppeln. Das Zeichen sieht entfernt aus, wie ein auf dem Kopf stehendes U :) und ich finde es nicht auf der iPad-Tastatur...
Auch auf einem Windows-PC ist das Zeichen nicht gut erreichbar. :) Wenn Du in der offiziellen Doku nachschaust, sollte das Zeichen aber irgendwo (im Zusammenhang mit transformations) erscheinen, dann kannst Du es von dort in die Zwischenablage übernehmen... (ja, totale Glanzleistung der Entwickler, das so zu lösen...)


Gesendet von iPad mit Tapatalk
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Antworten