NEWS
Statusänderung von iobroker mittles MQTT an Domoticz übergeben
-
Hallo,
nachdem ich mich nun etwas eingelesen habe, kommen einige Fragen
Ich habe vorher Domoticz als System benutzt und bin nun auf iobroker umgestiegen.
Da ich momentan noch Imperihome nutze (das von iobroker (noch) nicht unterstützt wird), möchte ich die states von iobroker nach Domoticz per mqtt und blockly an virtuelle Schalter übergeben. So kann ich bestimmte Stati noch in Imperihome einsehen.
MQTT läuft auf beiden Systemen.
Wie kann ich es nun anstellen, dass wenn sich ein State von iobroker von z.B. "False" auf "True" ändert, dass ich diese Änderung an Domoticz weitergeben kann, damit sich dort auch der Status ändern kann?
Grüße
-
Hi,
Ich hatte die dafür dich denn Link zu meinen Script gegeben darin steht wie man den HTML String (http) per Script ausführen kann?
Eventuell sollte ich dich Mal einen komplette thread mit Script und HowTo dazu schreiben…?
Send from mobile device
-
Hi
ja diesmal gehts ja von iobroker zu Domoticz (also die andere Richtung )
Aber schreib mir das mal auf….ich bin blutiger Anfänger
-
Hi
ja diesmal gehts ja von iobroker zu Domoticz (also die andere Richtung )
Aber schreib mir das mal auf….ich bin blutiger Anfänger `
Der Code dazu steht in selber thread da waren 3 scripte.
Wenn das nicht hilft muss ich abends ne how-to schreiben bin gerade unterwegs.
Das Script hier unten überwacht die states welche du mir den anderen Script erstellt hast und sendet true/false per http-api ls Commando nach Domoticz
//Configure IP & Port of domoticz var IP = 'xxx.xxx.x.xxx'; var port = '8080'; // Trigger on state within domotics devices on({id: /^javascript.0.domoticz.Devices\./ , change: "any"}, function (obj) { var apiLink = '/json.htm?type=command¶m=switchlight&idx='; var switchvalue; var device = obj.common.idx; var switchcmd = '&switchcmd='; var httpcommand = "http://" + IP + ':' + port + apiLink + device + switchcmd ; if (obj.state.val === true || obj.state.val == '1') { switchvalue = 'On'; RFX_Command(httpcommand,switchvalue); } else { switchvalue = 'Off'; RFX_Command(httpcommand,switchvalue); } }); // Send switch command by HTTP to Domoticz API, avoid double commando within 2 seconds var previouscommand; function RFX_Command(httpcommand,switchvalue){ if (previouscommand !== httpcommand + switchvalue) { try { require("request")(httpcommand + switchvalue); } catch (e) { console.error(e); } console.log("request: " + httpcommand + switchvalue); previouscommand = httpcommand + switchvalue; } // Clean previouscommand timeout = setTimeout(function () { previouscommand = ""; }, 2000); }
–-----------------------
Send from mobile device
-
OK, vielen Dank.
Ich werde mich mal an deinen Scripten probieren
Grüße
-
OK, vielen Dank.
Ich werde mich mal an deinen Scripten probieren
Grüße `
auf gut gelingen wen es hängt melde dich bei mir läuft es bis heute so