Vielleicht zeigst Do doch mal auch die knx-Seite Deiner Konfiguration
KNX Wert in Mosquitto per MQTT schreiben und lesen
- udo1toni
- Beiträge: 15442
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: KNX Wert in Mosquitto per MQTT schreiben und lesen
In knx gibt es für gewöhnlich unterschiedliche GA pro Richtung. Es gibt Hersteller, die sich darum nicht scheren, und mit den Geräten hat man dann Scherereien.
Vielleicht zeigst Do doch mal auch die knx-Seite Deiner Konfiguration
Vielleicht zeigst Do doch mal auch die knx-Seite Deiner Konfiguration
openHAB5.0.1 stable in einem Debian-Container (trixie, OpenJDK 21 headless runtime) (Proxmox 9.0.11, LXC)
-
iLion
- Beiträge: 11
- Registriert: 12. Mai 2020 20:15
Re: KNX Wert in Mosquitto per MQTT schreiben und lesen
Hallo, ich bin (vielleicht) einen Schritt weiter. An KNX wird es nicht liegen, da ich das Switch-Item auf der openHAB Seite ja nutzen kann und die Leuchten das machen, was ich möchte.
Allerdings bin ich auf die Idee gekommen Node-RED mit einzubinden und mir mal in dem Debug Bereich anzuschauen, ob ich z.B. tatsächlich etwas in den MQTT-Channel reinschreibe, oder ob das z.B. vielleicht nur eine Anzeige im MQTT-Explorer ist. Also habe ich mir einige Konten aufgebaut und da ich in Node-RED auch eine Erweiterung für openHAB eingebunden habe, die entsprechenden Ausgaben des Items auch mit einem Debug rausgeschrieben.
Auffällig ist, dass openHAB von sich aus den Status des Switch Items als "0" und "1" in das Topic schreibt. Der Node-RED Knoten hat aber für den aktuellen Status immer "ON" und "OFF" angezeigt. "0", "1", "ON" und "OFF" sind laut Debug Ausgabe jedoch immer vom Typ "String". Injiziere ich eine "0", geht die Leuchte z.B. nicht aus. Injiziere ich ein "OFF", dann geht sie aus. Also habe ich mal das MQTT Topic durch Austausch-Knoten mit dem Item verbunden und immer wenn ich eine "0" empfangen habe, ein "OFF" weiter gegeben. Das hat dann funktioniert.
Als Ergebnis habe ich die Zeile im "mqtt.things" noch mal um ein on="1", off="0" erweitert:
und openHAB neu gestartet. Leider hat das nicht funktioniert.
Allerdings bin ich auf die Idee gekommen Node-RED mit einzubinden und mir mal in dem Debug Bereich anzuschauen, ob ich z.B. tatsächlich etwas in den MQTT-Channel reinschreibe, oder ob das z.B. vielleicht nur eine Anzeige im MQTT-Explorer ist. Also habe ich mir einige Konten aufgebaut und da ich in Node-RED auch eine Erweiterung für openHAB eingebunden habe, die entsprechenden Ausgaben des Items auch mit einem Debug rausgeschrieben.
Auffällig ist, dass openHAB von sich aus den Status des Switch Items als "0" und "1" in das Topic schreibt. Der Node-RED Knoten hat aber für den aktuellen Status immer "ON" und "OFF" angezeigt. "0", "1", "ON" und "OFF" sind laut Debug Ausgabe jedoch immer vom Typ "String". Injiziere ich eine "0", geht die Leuchte z.B. nicht aus. Injiziere ich ein "OFF", dann geht sie aus. Also habe ich mal das MQTT Topic durch Austausch-Knoten mit dem Item verbunden und immer wenn ich eine "0" empfangen habe, ein "OFF" weiter gegeben. Das hat dann funktioniert.
Als Ergebnis habe ich die Zeile im "mqtt.things" noch mal um ein on="1", off="0" erweitert:
Code: Alles auswählen
Type switch : mqtt_d1_a2_k1 "Deckenlampen 1 Büro" [ stateTopic="openHAB/KNX/1/4/16/state", commandTopic="openHAB/KNX/1/4/16/command", on="1", off="0", postCommand=true, retained=true ]