Habe es nach der Anleitung gemacht.
Entwicklung node-red-contrib-loxone für node-red
Einklappen
X
-
-
Gerade wurde node-red-contrib-loxone 0.7.0 released: https://flows.nodered.org/node/node-red-contrib-loxone
Ich habe auf Wunsch von Github-User kkloesener einen stream-in node hinzugefügt: https://github.com/codmpm/node-red-c...xone/issues/15
Damit ist es möglich jeden Event eines Raumes und/oder Kategorie in node-red abzufangen. Damit könnte man zum Beispiel alle Temperaturen die in einer Kategorie "Überwachung" (z.B.) sind mit einem node abfangen, das Topic entsprechend umschreiben und diese Daten per node-red in eine Datenbank (z.B. Influx) packen um selbst eine Statistik von gewünschten Werten zu schreiben. Ohne diesen Node müsste man jeden Wert einzeln, mit einem separaten control-in node pro Wert, holen und in die DB packen.
Das ist sicher nur ein Beispiel und es eröffnen sich dadurch noch weitere Möglichkeiten.
Passt aber bitte auf, da wirklich jedes Event des Raumes oder der Kategorie gesendet wird. Die Automatikjalousie hat zum Beispiel acht (8!) States, die beim Verbinden von node-red zum Miniserver als Nachrichten erzeugt werden. Beim Control-In-Node gibt es dieses Problem nicht, da sich ja expliziti auf einen State "gehorcht" wird.
Es wird immer nur der State "gefangen" der sich auch geändert hat. Da der Miniserver aber beim Connect/Reconnect/Full-Deploy seinen aktuellen Zustand überträgt, sind es dann auch einmal alle States.
Hier mal ein kurzes Beispiel. Ich habe zwei Schalter, einen in der Küche und einen im Wohnzimmer - beide aber in der Kategorie "Beleuchtung". Der Stream-In-Node "horcht" auf die Kategorie Beleuchtung. Beim Full-Deploy werden die aktuellen Zustände gesendet und beide Nachrichten werden durch den einen Node "gefangen".
4 BilderZuletzt geändert von pmayer; 05.11.2017, 18:17.Kommentar
-
Freue mich übrigens über jegliches Feedback, falls jemand was mit dem neuen stream-in node macht.Kommentar
-
Ich habe mal einen "Stream in"-Node benutzt und auf einen Bereich (Beleuchtung mit - Steckdose/Lampe) horchen lassen.
Gibt es Hintergrundinformationen zu dem was ausgegeben wird?
1 BildNode-RED mit influxDB und Grafana - z.B. Statistiken auslagern:
https://www.loxforum.com/forum/germa...d-grafana-visu
Mit Loxone einen Windows-PC steuern:
https://www.loxforum.com/forum/faqs-...indows-steuernKommentar
-
Stimmt ein bisschen, ja :-D
Aber ein Usecase wäre ja, alle Temperaturen der Loxone zu nehmen und per node-red in eine InfluxDB zu packen um sie per Grafana anzuzeigen/auszuwerten. Ziel: Entlastung der SD-Karte des MS.Zuletzt geändert von pmayer; 06.11.2017, 14:20. -
Das könnte ich mal ausprobieren. Hast du da Erfahrung? Bzgl. Dashboard-Node: Gibt es eigentlich einfache Möglichkeiten das Layout anpassbarer zu machen? Zum Beispiel Auto-responsive für unterschiedliche Auflösungen bei Geräten?
-
-
2 BilderNode-RED mit influxDB und Grafana - z.B. Statistiken auslagern:
https://www.loxforum.com/forum/germa...d-grafana-visu
Mit Loxone einen Windows-PC steuern:
https://www.loxforum.com/forum/faqs-...indows-steuernKommentar
-
Du bestimmst in Loxone wie oft die Temperaturen abgefragt werden. Jedes mal wenn es eine Änderung gibt, wird diese an node-red über ein Event im websocket gemeldet.
Aber schon mal cool, dass es grundliegend funktioniert.Zuletzt geändert von pmayer; 06.11.2017, 22:56. -
Ja, dass ich den Abfragezyklus in Loxone bestimme ist mir klar. :-)
Mir ist nur noch nicht so ganz klar, wie die Kommunikation sich unterscheidet wenn ich die 3 Bausteine in node-red nutze.
1) webservice
2) control in
3) stream in -
Webservice muss getriggert werden, damit ein Wert abgefragt wird.
Control-In/Stream-In erhalten die Werte als Event bei "auftauchen. Die beiden unterscheiden sich nur beim "Filter" der angesetzt wird. Control-In wählt explizit einen State, Stream in alles States die zur Gruppe/zum Raum passen.
-
-
DANKE!
Wahrscheinlich bist du schneller :-)
Ich versuche gerade mal mehrere Werte (ohne Stream) in die influxDB zu schreiben.
ein Beispiel habe ich hier gefunden: https://www.bjoerns-techblog.de/2017...e-red-fuellen/
Allerdings muss ich ja vorher noch die msg anpassenNode-RED mit influxDB und Grafana - z.B. Statistiken auslagern:
https://www.loxforum.com/forum/germa...d-grafana-visu
Mit Loxone einen Windows-PC steuern:
https://www.loxforum.com/forum/faqs-...indows-steuernKommentar
-
Hallo zusammen, ich bin z.Z. dabei mich mit Node-RED bzw. node-red-contrib-loxone auseinander zu setzen. Hätte dazu nun zwei Fragen die ich bisher nicht selbst klären konnte.
Zum Ersten wäre das die Ansteuerungen der Automatikjalousie, was soweit mit up/down bzw. FullUP/FullDown auch funktioniert. Mit einem "control in" bekomme ich den Zustand des Rolladens als Info, 0.5 = 50% geschlossen etc, allerdings scheint es keine Möglichkeit zu geben einen Wert an die "control out" zu übergeben welche den Rolladen z.B. auf 50% geschlossen fährt. Sehe ich das richtig? Müsste ich dann quasi eine Logik programmieren welche z.B. den Rolladen per Down Befehl für x Sekunden herunter fährt und dann einen DownOff zu schicken um somit quasi einen % Wert hinzubekommen?
Die zweite Sache betrifft gedimmte Beleuchtung, normale Lichter kann ich wunderbar per on/off schalten. Bei gedimmten Lichtern bekomme ich das so direkt nicht hin, ich kann einen Pulse auf den dafür Konfigurierten Taster senden, das funktioniert. Aber kann ich auch ein Kommando (welches?) direkt an den Lichtbaustein schicken um das Licht ein bzw. aus zu schalten bzw. auf einen gewissen % Wert zu dimmen. Oder geht das dann nur mittels Szenen? Da habe ich ebenfalls noch nicht herausgefunden wie ich eine bestimme Szene per "control out" aktivieren kann.
Wäre super wenn jemand dafür eventuell einen Flow bereitstellen könnte wie das sinniger Weise zu lösen ist.
Kommentar
-
Hi Gast ,
manche Bausteine lassen sich nicht über Control-Out ansteuern, weil die Loxone-Websocket-API keine Daten annimmt, die man an die UUID des Bausteins sendet. In solchen Fällen nutze einfach einen Websocket-Node wo dann analog zur Webservice API Anfragen durch die bestehende Verbindung verschlüsselt gesendet werden.
Mit den Loxone Webservices kann man mit einfachen http-Befehlen Informationen abrufen, Einstellungen vornehmen und schalten.
In der Info des nodes steht wie das geht und schau dir mal das dritte Beispiel hier an: https://github.com/codmpm/node-red-contrib-loxone
Du kannst jeden Baustein der Loxone mit entweder dem internen Namen (VI1, VTI1, etc.) oder dem Namen, den du ihm gegeben hast ansprechen. Z.B /jdev/sps/io/<name>/<cmd>. <cmd> lässt sich als msg.payload übergeben.
Ich glaube also, dass sich deine beiden Probleme mit dem Webservice-Node lösen lassen.
Eventuell kann aber einer der andere hier im Thread, die eine "echte" Loxone Installation haben, mehr dazu sagen. :-)
so long,
pKommentar
-
Beschattung habe ich noch nicht probiert. Licht guck mal hier:
Hallo zusammen, kann mir jemand noch mal generell aufzeigen, was/wie mit der REST API gemacht werden kann und wie man es am einfachsten hinbekommt. Ich kenne diesen Artikel: http://www.loxwiki.eu/display/LOX/REST+Webservice Ich kann also auf alle Eingänge und Ausgänge direkt einwirken. Bei Tastern bekomme ich es auch hin.
Gesendet von iPhone mit TapatalkZuletzt geändert von Xenobiologist; 10.11.2017, 13:51.Node-RED mit influxDB und Grafana - z.B. Statistiken auslagern:
https://www.loxforum.com/forum/germa...d-grafana-visu
Mit Loxone einen Windows-PC steuern:
https://www.loxforum.com/forum/faqs-...indows-steuernKommentar
-
Moin,
hat jemand einen Flow zum laufen gebracht um über Modbus Signal ein zu lesen und an ;Loxone weiter zu geben?
Zuletzt geändert von Christian L.; 13.11.2017, 20:00.Kommentar
-
Hier zwar in Verbindung mit der WAGO750 aber im Grunde geht das: https://www.youtube.com/watch?v=fV78MQks6BI
Wenn du die Daten ein mal in msg.payload hast, sollte es kein Problem mit Loxone geben.
https://flows.nodered.org/node/node-red-contrib-modbus und https://github.com/biancode/node-red...ib-modbus/wiki gesehen?
-
-
Hallo pmayer ich habe den MiniServer auf die Version 9.1.11.30 geupdated und node-red-contrib-loxone auf 0.7.0. Leider bekomme ich keine richtige Verbindung zum MiniServer. Er lädt zwar die Struktur, aber nach jedem Deploy ist das wieder weg. Eine richtige Verbindung baut er nicht auf. Im Log steht: [loxone-miniserver:xxxxxxxxxx] connection to 192.168.xxx.xxx:80 disabled
19 Nov 19:58:30 - [info] Node-RED version: v0.17.0
19 Nov 19:58:30 - [info] Node.js version: v6.9.4
Hast Du eine Idee was ich falsch mache bzw. vergessen haben könnte??
Danke, Gruß Red.Kommentar
-
Gestern abend musste ich etwas unschönes feststellen: bei der V8er war es problemlos möglich aus dem Alexa-local Node ein "Setze Rolladen Esstisch auf 50 Prozent" mittels eines Function Baustein den 50 % als 0.5 an den Loxone Control Out zu übergeben. Der Rolladen fährt auf 50 %. Das geht mit V9 von Loxone nicht mehr! Warum konnte ich noch nicht genau ermitteln, es scheint aber so zu sein, dass in der alten V8 der Control Out Wert direkt als Position adressiert wird, bei der V9 klappt das nicht. Hat jemand eine Lösung, wie ich den Position-Wert an die Loxone übergeben kann?Kommentar
-
Ich habe mit einem Control In mal ausgelesen, was da raus kommt. Aber ich weiß halt nicht, wie ich bspw. mit einem Function- und einem Template-Node den richtigen Code zurückgeben kann. Das mit dem Webservice versuche ich mal. Vielleicht kommen wir damit weiter. -
Normalerweise reichte es, wenn ich einen Function Node gebaut habe mit msg.payload=msg.bri (oder bri_normalized). Aber in der V9 scheint der msg.payload nicht mehr auf den Position-Wert des Control-Out zu gehen. Da liegt mein Problem :-)
-
-
Hallo zusammen, ich bin z.Z. dabei mich mit Node-RED bzw. node-red-contrib-loxone auseinander zu setzen. Hätte dazu nun zwei Fragen die ich bisher nicht selbst klären konnte.
Zum Ersten wäre das die Ansteuerungen der Automatikjalousie, was soweit mit up/down bzw. FullUP/FullDown auch funktioniert. Mit einem "control in" bekomme ich den Zustand des Rolladens als Info, 0.5 = 50% geschlossen etc, allerdings scheint es keine Möglichkeit zu geben einen Wert an die "control out" zu übergeben welche den Rolladen z.B. auf 50% geschlossen fährt. Sehe ich das richtig? Müsste ich dann quasi eine Logik programmieren welche z.B. den Rolladen per Down Befehl für x Sekunden herunter fährt und dann einen DownOff zu schicken um somit quasi einen % Wert hinzubekommen?
Die zweite Sache betrifft gedimmte Beleuchtung, normale Lichter kann ich wunderbar per on/off schalten. Bei gedimmten Lichtern bekomme ich das so direkt nicht hin, ich kann einen Pulse auf den dafür Konfigurierten Taster senden, das funktioniert. Aber kann ich auch ein Kommando (welches?) direkt an den Lichtbaustein schicken um das Licht ein bzw. aus zu schalten bzw. auf einen gewissen % Wert zu dimmen. Oder geht das dann nur mittels Szenen? Da habe ich ebenfalls noch nicht herausgefunden wie ich eine bestimme Szene per "control out" aktivieren kann.
Wäre super wenn jemand dafür eventuell einen Flow bereitstellen könnte wie das sinniger Weise zu lösen ist.
Code:[{"id":"cc556ebb.bee4f","type":"loxone-webservice","z":"47e57f8b.cb304","name":"Küchenstrahler dimmen","miniserver":"2fc45623.c6790a","uri":"jdev/sps/io/LI-Steuerung%20K%C3%BCche/AI4/0","appendpayload":false,"x":824.0001220703125,"y":171.428466796875,"wires":[["4c9aded2.023ec8"]]},{"id":"4c9aded2.023ec8","type":"debug","z":"47e57f8b.cb304","name":"","active":true,"console":"false","complete":"false","x":1049.4285888671875,"y":171.28567504882812,"wires":[]},{"id":"1df9f7f2.28d47","type":"inject","z":"47e57f8b.cb304","name":"On","topic":"","payload":"on","payloadType":"str","repeat":"","crontab":"","once":false,"x":189.28570556640625,"y":175.57142639160156,"wires":[["cd980f84.0ed288"]]},{"id":"cd980f84.0ed288","type":"alexa-local","z":"47e57f8b.cb304","devicename":"Küchenstrahler","inputtrigger":true,"x":380.7142639160156,"y":176.142822265625,"wires":[["382d138b.039d84"]]},{"id":"382d138b.039d84","type":"function","z":"47e57f8b.cb304","name":"Wert setzen","func":"msg.uri = 'jdev/sps/io/LI-Steuerung%20K%C3%BCche/AI4/' + msg.bri;\nreturn msg;","outputs":1,"noerr":0,"x":601.4285888671875,"y":171.42852783203125,"wires":[["cc556ebb.bee4f"]]},{"id":"2fc45623.c6790a","type":"loxone-miniserver","z":"","host":"192.168.178.77","port":"50666","enctype":"0","active":true}]
Node-RED mit influxDB und Grafana - z.B. Statistiken auslagern:
https://www.loxforum.com/forum/germa...d-grafana-visu
Mit Loxone einen Windows-PC steuern:
https://www.loxforum.com/forum/faqs-...indows-steuernKommentar
-
Hallo zusammen,
erstmal vielen Dank an Mayer für die Arbeit die in der Integration von Loxone steckt. Ich finde node red mittlerweile auch sehr cool. Bei mir läuft es aktuell in einem Docker auf der QNAP. Auch die Integration von Alexa ist mir so schon gelungen. Lediglich mit der Jalousie habe ich noch etwas Schwierigkeiten. Aber das ist nur nebensächlich.
Mein Ziel ist es eigentlich einen Notfallplan aufzustellen, wenn Loxone mal nicht mehr so will wie ich. Ich habe nämlich neben der Loxone noch eine Wago am laufen. Hier kann ich Betrieb mit Loxone und eigenständiger Betrieb umschalten. Node red soll quasi zur Visualisierung im Notbetrieb werden und gleichzeitig noch ein paar Spielereien im Loxone-Betrieb abdecken.
Für den Notbetrieb stelle ich mir einen Austausch mit der Wago über KNX IP oder Modbus TCP vor. Für beides gibt es in node red Lösungen. Ich möchte aber nur 16 Bit austauschen. Und hier liegt mein Problem. Ich habe zwar einen Baustein gefunden, mit dem man das WORD zerlegen kann, aber eben keine Möglichkeit aus 16 Bit wieder ein WORD zu basteln. Mir fehlt schlichtweg die Möglichkeit 16 Werte zu addieren. Die Umrechnung der Wertigkeit ist über den Switch möglich. Kennt jemand eine Möglichkeit, wie ich Werte addieren kann? Oder gar eine bessere Möglichkeit?2 BilderKommentar
-
Können wir mal irgendwie anders Kontakt aufnehmen? Das Forum zerschießt leider das JSON. Eventuell geht das, wenn du einen neuen Beitrag (keinen Kommentar) machst und es als "Code" einfügst... ansonsten erreichst du mich im node-red-slack... https://nodered.org/slack/ - dort auch als pmayer -
Ich glaube es geht viel einfacher als das was du machst. Du bekommst ein 16bit word... mit Bit-Operatoren kommst da aber in einem function node an die einzelnen bits, ohne es vorher zu zerlegen: https://developer.mozilla.org/de/doc...ise_Operatoren
Dafür bin ich leider nicht der Richtige, da mir ein Informatikstudium fehlt. Hast du jemand, den du da fragen kannst? -
Grad mal einen Bekannten gefragt... es müsste so etwas in der Richtung werden:
var bits[16] = [0,1,0,1 ... 1,1];
var word = 0;
for(var i = 0; i < 16; i++) {
word |= (bits[i] << i)
}
oder
var bitVal = wert & (1 << x) // bit x aus wert lesen und variable bitVal schreibenZuletzt geändert von pmayer; 30.11.2017, 22:54.
-
-
Hallo zusammen, ich bin z.Z. dabei mich mit Node-RED bzw. node-red-contrib-loxone auseinander zu setzen. Hätte dazu nun zwei Fragen die ich bisher nicht selbst klären konnte.
Zum Ersten wäre das die Ansteuerungen der Automatikjalousie, was soweit mit up/down bzw. FullUP/FullDown auch funktioniert. Mit einem "control in" bekomme ich den Zustand des Rolladens als Info, 0.5 = 50% geschlossen etc, allerdings scheint es keine Möglichkeit zu geben einen Wert an die "control out" zu übergeben welche den Rolladen z.B. auf 50% geschlossen fährt. Sehe ich das richtig? Müsste ich dann quasi eine Logik programmieren welche z.B. den Rolladen per Down Befehl für x Sekunden herunter fährt und dann einen DownOff zu schicken um somit quasi einen % Wert hinzubekommen?
Die zweite Sache betrifft gedimmte Beleuchtung, normale Lichter kann ich wunderbar per on/off schalten. Bei gedimmten Lichtern bekomme ich das so direkt nicht hin, ich kann einen Pulse auf den dafür Konfigurierten Taster senden, das funktioniert. Aber kann ich auch ein Kommando (welches?) direkt an den Lichtbaustein schicken um das Licht ein bzw. aus zu schalten bzw. auf einen gewissen % Wert zu dimmen. Oder geht das dann nur mittels Szenen? Da habe ich ebenfalls noch nicht herausgefunden wie ich eine bestimme Szene per "control out" aktivieren kann.
Wäre super wenn jemand dafür eventuell einen Flow bereitstellen könnte wie das sinniger Weise zu lösen ist.
Wichtig, der Virtuelle Eingang muss am Baustein an Alp angeschlossen sein und wird dann gesetzt.
Das Setzen funktioniert sogar über den Slider in der Alexa App, allerdings gibt es keinen Rückweg, sodass der Status falsch ist, das Ergebnis in Loxone aber richtig ankommt.
Code:[{"id":"7fc72670.8da6f8","type":"loxone-webservice","z":"542ea843.46b06","name":"JA Büro %","miniserver":"2fc45623.c6790a","uri":"jdev/sps/io/Position_JA","appendpayload":true,"x":951.2858276367188,"y":246.71426391601562,"wires":[["8744ea97.a87f9"]]},{"id":"8744ea97.a87f9","type":"debug","z":"542ea843.46b06","name":"","active":true,"console":"false","complete":"true","x":1107.142822265625,"y":246.71432495117188,"wires":[]},{"id":"e7240217.22ad8","type":"alexa-local","z":"542ea843.46b06","devicename":"Jalousien Büro","inputtrigger":true,"x":568.3333129882812,"y":248.33334350585938,"wires":[["5f52b40e.83210c"]]},{"id":"5f52b40e.83210c","type":"function","z":"542ea843.46b06","name":"Wert setzen","func":"msg.uri = 'jdev/sps/io/Position_JA/' + msg.bri;\nreturn msg;","outputs":1,"noerr":0,"x":758.047607421875,"y":247.61904907226562,"wires":[["7fc72670.8da6f8"]]},{"id":"acd3d1ea.70273","type":"inject","z":"542ea843.46b06","name":"On","topic":"","payload":"on","payloadType":"str","repeat":"","crontab":"","once":false,"x":387.33331298828125,"y":251.33334350585938,"wires":[["e7240217.22ad8"]]},{"id":"2fc45623.c6790a","type":"loxone-miniserver","z":"","host":"192.168.178.77","port":"50666","enctype":"0","active":true}]
Node-RED mit influxDB und Grafana - z.B. Statistiken auslagern:
https://www.loxforum.com/forum/germa...d-grafana-visu
Mit Loxone einen Windows-PC steuern:
https://www.loxforum.com/forum/faqs-...indows-steuernKommentar
Kommentar