Ich versuche gerade ein Sonoff NSPanel mit Tasmota über MQTT an Openhab anzubinden. Die Kommunikation funktioniert auch schon in beide Richtungen. Ich kann von einem Widget des Panels ein Item in Openhab schalten, und wenn das Item ein Command von wo anders bekommt wird der neue Zustand auch erfolgreich ans NSPanel übergeben.
Meine Thing Konfiguration sieht so aus:
Code: Alles auswählen
Thing topic NSPanelWohnzimmer "Panel Wohnzimer"{
Channels:
Type switch : ID4Switch0 "Test" [stateTopic="NSPanel_WZ/tele/RESULT", transformationPattern="JSONPATH:$.NSPanel[?(@.id =='4')].params.switches[0].switch", on="on", off="off", commandTopic="NSPanel_WZ/cmnd/nspsend", formatBeforePublish="{\"relation\":{\"id\":\"4\",\"params\":{\"switches\":[{\"switch\":\"%s\",\"outlet\":0}]}}}", postCommand="true" ]
}
Ich dachte, ich lasse einfach per rule jede Statusänderung nochmal als Command ans selbe Item schicken:
Code: Alles auswählen
rule "ID4 Switch 0"
when
Item Rollo_Automatik changed
then
logInfo("Test", "changed to: {}", newState)
Rollo_Automatik.sendCommand(newState)
end
Code: Alles auswählen
2022-08-17 12:04:08.311 [INFO ] [org.openhab.core.model.script.Test ] - changed to: ON
2022-08-17 12:04:08.313 [ERROR] [internal.handler.ScriptActionHandler] - Script execution of rule with UID 'NSPanel-1' failed: An error occurred during the script execution: Could not invoke method: org.openhab.core.model.script.actions.BusEvent.sendCommand(org.openhab.core.items.Item,java.lang.String) on instance: null in NSPanel
Noch eine Frage am Rande: Ich habe Schwierigkeiten damit dass Änderungen an bestehenden Thing Definitionen im MQTT Binding übernommen werden. Die einzige Möglichkeit die ich gefunden habe, wie das zuverlässig klappt ist:
1. Thing Definition komplett entfernen, bzw auskommentieren und Datei speichern
2. Definitionen von verknüpften Items komplett entfernen oder auskommentieren und Datei speichern
3. MQTT Bridge Thing im Openhab Webinterface Deaktivieren
4. Bridge wieder aktivieren
5. Auskommentierung aus der Thing Definition entfernen und Datei speichern
6. Auskommentierung aus der Item Datei entfernen und speichern.
Gibt es da eine einfachere Lösung?