Entwicklung node-red-contrib-loxone für node-red
Einklappen
X
-
-
Nächster Pull-Request vom Entwickler node-ws-lox-api drin. Es können dann jetzt auch subcontrols genutzt werden.
Ich werde noch ein bisschen aufräumen und den Node dann so zur Verfügung stellen, dass er auf einfache Weise in node-red installiert werden kann. Ich muss heute Abend aber mal noch das Errorhandling bei der Verbindungskonfiguration überarbeiten.
Also Demo hab ich mal die aktuell genutzte Bandbreite meiner FritzBox ausgelesen (TR064) und an Loxone über einen virtuellen Eingang gemeldet. Den Flow in NodeRed seht ihr im angehängten Bild.
Hier ein kurzes Video: https://cloud.codm.de/nextcloud/inde...XoNoMLilinpU4v
(oben der Download, links Loxone Webinterface, rechts FritzBox Online-Monitor)
Feedback wie immer willkommen.1 BildZuletzt geändert von pmayer; 08.03.2017, 17:26.Kommentar
-
Gerade die erste Version auf npm gepublished. Der Node kann also ab jetzt auf offiziellem Wege in node-red installiert werde:
Connecting the Loxone Miniserver to node-red via Websocket API. Latest version: 0.10.13, last published: 2 years ago. Start using node-red-contrib-loxone in your project by running `npm i node-red-contrib-loxone`. There are no other projects in the npm registry using node-red-contrib-loxone.
Ich würde mich freuen, wenn sich ein paar Leute zum testen finden würden ^^Kommentar
-
Hallo pmayer,
schon mal vielen Dank für für das Programmieren des Loxone Nodes! Ich hatte zum Jahreswechsel mal mühsam ein Node-Red aufgesetzt und mir ein Flur Dashboard zusammen gestöpselt. Mit dem Ziel, irgenwann mal kurz vor dem verlassen des Hauses, auf einen Blick diverse Zustände sehen zu können, ohne erst das Smartphone aus der Hosentasche kramen zu müssen. Ich habe jetzt angefangen diesen Entwurf auf deinen Node um zustellen...
Die Installation von Node-Red ist eine ziemliche große Hürde und ich hoffe das sich jemand erbarmt und es als Plug-in für Loxberry bereitstellt oder vielleicht ein Installationsscript erstellt. Ich bin kein Programmierer und habe auch keine richtigen Linux Kenntnisse. Mit den Anleitungen die ich gefunden hatte, habe ich mehrere Anläufe gebraucht, um es zum laufen zu bringen. Wenn das vereinfacht werden würde, melden sich sicher auch noch mehr Tester.
Bei der Umstellung meines Flows ist mir folgendes aufgefallen:
Nachdem ich immer wieder diverse Loxone-In Bausteine einfügt und zwischendurch deployed habe, um zu testen, kommt es vor, das dein Node bzw. Node-Red teilweise abstürzt. Welche Angaben braucht Du von mir, um dem Problem auf die Spur zu kommen?
Leider gelingt es mir nicht, dein Beispiel mit dem Loxone-In und dem switch Baustein nachzuvollziehen. Ich habe gelesen das Loxone 0 und 1 liefert und On, Off oder Push erwartet, aber bei mir hat es nicht funktioniert. Kannst Du bitte mal den Node-Red Quellcode des Beispiels hier oder bei Github posten und bitte auch für des fritz.box Beispiel, das würde ich gerne mal testen.
Ich habe gestern die veröffentliche Verson von node-red-contrib-loxone installiert. Wie funktioniert das mit Updates? Postest Du die zuerst auf Github und veröffentlicht die dann zu einem späteren Zeitpunkt? Und installiere ich eine neuere Version mitCode:cd ~/.node-red/ npm update node-red-contrib-loxone
Sofern es mir möglich ist, teste ich gerne weiter.
Danke,
Gruß Red.Kommentar
-
Hi Red,
super - danke für dein Testen.
Hallo pmayer,
Die Installation von Node-Red ist eine ziemliche große Hürde und ich hoffe das sich jemand erbarmt und es als Plug-in für Loxberry bereitstellt oder vielleicht ein Installationsscript erstellt. Ich bin kein Programmierer und habe auch keine richtigen Linux Kenntnisse. Mit den Anleitungen die ich gefunden hatte, habe ich mehrere Anläufe gebraucht, um es zum laufen zu bringen. Wenn das vereinfacht werden würde, melden sich sicher auch noch mehr Tester.
Die Installation des Nodes geht mit zwei Klicks über "Manage Palette" im node-red Menü.
Bei der Umstellung meines Flows ist mir folgendes aufgefallen:
Nachdem ich immer wieder diverse Loxone-In Bausteine einfügt und zwischendurch deployed habe, um zu testen, kommt es vor, das dein Node bzw. Node-Red teilweise abstürzt. Welche Angaben braucht Du von mir, um dem Problem auf die Spur zu kommen?
Leider gelingt es mir nicht, dein Beispiel mit dem Loxone-In und dem switch Baustein nachzuvollziehen. Ich habe gelesen das Loxone 0 und 1 liefert und On, Off oder Push erwartet, aber bei mir hat es nicht funktioniert. Kannst Du bitte mal den Node-Red Quellcode des Beispiels hier oder bei Github posten und bitte auch für des fritz.box Beispiel, das würde ich gerne mal testen.
Häng dir am besten mal einen Debug-Node an einen Loxone-In Node um zu schauen was bei dir zurück kommt. Wäre für mich dann natürlich auch interessant.
Taster-Modul Beispiel:
Code:[{"id":"9231cc89.e7f12","type":"change","z":"824d4953.fa7988","name":"","rules":[{"t":"change","p":"payload","pt":"msg","from":"1","fromt":"num","to":"On","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":"0","fromt":"num","to":"Off","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":240,"y":1460,"wires":[["85248542.bd2d38"]]},{"id":"e2bee3c.0430c2","type":"loxone-in","z":"824d4953.fa7988","name":"","miniserver":"79307096.f7614","control":"0f4f664e-006b-1946-ffff80982d442be6","state":"0f4f664e-006b-1945-ffff415a3137b8e8","x":70,"y":1460,"wires":[["9231cc89.e7f12"]]},{"id":"85248542.bd2d38","type":"ui_switch","z":"824d4953.fa7988","name":"","label":"On/Off","group":"2765ad84.eb71ea","order":0,"width":"4","height":"1","passthru":false,"topic":"","style":"","onvalue":"On","onvalueType":"str","onicon":"","oncolor":"","offvalue":"Off","offvalueType":"str","officon":"","offcolor":"","x":250,"y":1520,"wires":[["c77f8789.131a9"]]},{"id":"c77f8789.131a9","type":"loxone-out","z":"824d4953.fa7988","name":"","miniserver":"79307096.f7614","control":"0f4f664e-006b-1946-ffff80982d442be6","x":410,"y":1560,"wires":[]},{"id":"f35caa7b.9867f","type":"ui_button","z":"824d4953.fa7988","name":"","group":"2765ad84.eb71ea","order":0,"width":"2","height":"1","label":"pulse","color":"","bgcolor":"","icon":"","payload":"Pulse","payloadType":"str","topic":"","x":250,"y":1560,"wires":[["c77f8789.131a9"]]},{"id":"79307096.f7614","type":"loxone-miniserver","z":"","host":"127.0.0.1","port":"80","encrypted":false},{"id":"2765ad84.eb71ea","type":"ui_group","z":"","name":"Default","tab":"290f494b.d427c6","disp":false,"width":"6"},{"id":"290f494b.d427c6","type":"ui_tab","z":"","name":"Loxone","icon":"dashboard"}]
Für die Fritzbox brauchst du http://flows.nodered.org/node/node-red-contrib-fritz - es muss ein User auf der Fritzbox eingerichtet werden. Als Ausgabe habe ich zwei Virtuelle Eingänge genommen, visualisiert, passendes Format eingestellt und auf "nur Statusanzeige".
Code:[{"id":"fdfabede.8e243","type":"loxone-out","z":"31280dc9.8fdbaa","name":"","miniserver":"79307096.f7614","control":"0f641919-039b-721c-ffff80982d442be6","x":530,"y":2940,"wires":[]},{"id":"fb42b1cf.9e4a58","type":"function","z":"31280dc9.8fdbaa","name":"byte2MB","func":"msg.payload = (msg.payload / 1024 / 1024).toFixed(2);\nreturn msg;","outputs":1,"noerr":0,"x":360,"y":2940,"wires":[["fdfabede.8e243"]]},{"id":"32ae8fd3.996de","type":"change","z":"31280dc9.8fdbaa","name":"NewByteReceiveRate","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload.NewByteReceiveRate","tot":"msg"},{"t":"set","p":"topic","pt":"msg","to":"Empfangen","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":160,"y":2940,"wires":[["fb42b1cf.9e4a58"]]},{"id":"54b5c687.aed5c8","type":"fritzbox-in","z":"31280dc9.8fdbaa","device":"178df84d.71363","name":"","service":"urn:schemas-upnp-org:service:WANCommonInterfaceConfig:1","action":"GetAddonInfos","arguments":"{}","x":310,"y":2800,"wires":[["ce50140d.3601e","32ae8fd3.996de"]]},{"id":"56b1c218.5bb994","type":"inject","z":"31280dc9.8fdbaa","name":"every 1s","topic":"","payload":"","payloadType":"date","repeat":"1","crontab":"","once":false,"x":100,"y":2800,"wires":[["54b5c687.aed5c8"]]},{"id":"ce50140d.3601e","type":"change","z":"31280dc9.8fdbaa","name":"NewByteSendRate","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload.NewByteSendRate","tot":"msg"},{"t":"set","p":"topic","pt":"msg","to":"Gesendet","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":170,"y":2880,"wires":[["6ccc0e64.d65298"]]},{"id":"6ccc0e64.d65298","type":"function","z":"31280dc9.8fdbaa","name":"byte2MB","func":"msg.payload = (msg.payload / 1024 / 1024).toFixed(2);\nreturn msg;","outputs":1,"noerr":0,"x":360,"y":2880,"wires":[["94d9fb10.ed501"]]},{"id":"94d9fb10.ed501","type":"loxone-out","z":"31280dc9.8fdbaa","name":"","miniserver":"79307096.f7614","control":"0f6418fa-0115-3360-ffff80982d442be6","x":530,"y":2880,"wires":[]},{"id":"79307096.f7614","type":"loxone-miniserver","z":"","host":"127.0.0.1","port":"80","encrypted":false},{"id":"178df84d.71363","type":"fritzbox-config","z":"31280dc9.8fdbaa","name":"my fritz","host":"fritz.box"}]
Ich habe gestern die veröffentliche Verson von node-red-contrib-loxone installiert. Wie funktioniert das mit Updates? Postest Du die zuerst auf Github und veröffentlicht die dann zu einem späteren Zeitpunkt? Und installiere ich eine neuere Version mitCode:cd ~/.node-red/ npm update node-red-contrib-loxone
Auf GitHub findet die Entwicklung statt. Wenn ich ein Release erstelle, muss ich das in das explizit npm-respository publishen (https://www.npmjs.com/package/node-red-contrib-loxone). Github verlinke ich da nur. Ab diesem Zeitpunkt ist es per npm update aktualisierbar.
Von npm aus landet es automatisiert auf http://flows.nodered.org/node/node-red-contrib-loxone wodurch es dann im Palette Manager in node-red installiert werden kann.
Die Jungs von node-red arbeiten gerade für die nächste Version daran, dass nodes auch über das Webinterface aktualisiert werden können. Bisher geht ja nur installieren.
Finde ich super, vielen Dank!!2 BilderZuletzt geändert von pmayer; 09.03.2017, 11:24.Kommentar
-
Hallo pmayer,
Hmm, ok, als nicht "Computermensch" vielleicht schon aber die Anleitung bei node-red selbst ist doch recht gut http://nodered.org/docs/hardware/raspberrypi.html, oder? Außerdem ist node-red Bestandteil des aktuellen Raspbian Jessie und braucht nur mit dem im Link gezeigten Script geupdatet werden. Auf einenm frisch installieren und aktualisierten (sudo apt update; sudo apt full-upgrade) Raspi reicht mir update-nodejs-and-nodered.
Die Installation des Nodes geht mit zwei Klicks über "Manage Palette" im node-red Menü.
Am besten wäre es, wenn du mal den Ausschnit aus dem node-red log schicken könntest. Bin mir gerade nicht sicher, wo das Log auf dem Pi liegt. Schau aber mal ob dir node-red-stop und ein anschließendes node-red weiter hilft. Damit wird node-red nicht mehr als Dienst ausgeführt sondern direkt auf deiner geöffneten Konsole. Mit Ctrl-C beendest du dann node-red und mit node-red-start startest du es wieder als Dienst.
Häng dir am besten mal einen Debug-Node an einen Loxone-In Node um zu schauen was bei dir zurück kommt. Wäre für mich dann natürlich auch interessant.
Mir ist noch aufgefallen, wenn ein Baustein in Loxone nicht in der Smartphone App sichtbar ist ("Visualisierung", kein Haken bei "Verwenden", sieht node-red ihn auch nicht. Ist dieses Verhalten normal?
Vielen Dank für die Beispiele, jetzt funktioniert das auch mit dem Switch Baustein und meine Fritz Box meldet die Datenraten.
Gruß Red.Kommentar
-
ich habe node-red jetzt auf einem max2play Raspberry installiert. Vorher hatte ich Probleme in einer vorinstallierte Version den Dashboard Node zum laufen zu bekommen, weil node.js zu alt war und das updaten klappte nicht. Die Anleitung finde ich etwas verwirrend, weil nicht alles erklärt ist und man noch andere Anleitungen suchen mußte. Naja, Ist schon etwas länger her...
Aber es funktioniert ja jetzt
Ich habe node-red zB auf meinem x86 Server zu Hause laufen - ich installiere mir mal einen Pi zum testen...
Es sieht also danach aus, dass in der Strukturdatei nur "visualisierte" Elemente zu sehen sind. In der Dokumentation von Loxone zur Strukturdatei finde ich jetzt nichts diesbezüglich...
Du könntest mal schauen, ob das gesuchte Element in deiner Strukturdatei auftaucht, wenn es nicht visualisiert ist. Die Strukturdatei kannst du über diese URL von deinem Miniserver laden: http://<miniserver>/data/LoxAPP3.jsonZuletzt geändert von pmayer; 09.03.2017, 21:13.Kommentar
-
Hallo .
Was ist denn jetzt die neuste Version . . Wenn ich über node-red Palette installiere bekomme ich die Version 0.0.5 .
Leider waren die ein und aus Gänge nur ganz kurz zu sehen und verschwinden nach einem Neustart . . Ich habe Node 1.1.6 am laufen.Kommentar
-
Wenn du node-red auf einem Pi betreibst, brauchst du nur das oben erwähnte update Script von der node-red Seite auszuführen. Bei Raspbian Jessie ist das schon dabei.Zuletzt geändert von pmayer; 09.03.2017, 23:16.Kommentar
-
Hmm, ok, als nicht "Computermensch" vielleicht schon aber die Anleitung bei node-red selbst ist doch recht gut http://nodered.org/docs/hardware/raspberrypi.html, oder? Außerdem ist node-red Bestandteil des aktuellen Raspbian Jessie und braucht nur mit dem im Link gezeigten Script geupdatet werden. Auf einenm frisch installierten und aktualisierten (sudo apt update; sudo apt full-upgrade) Raspi reicht mir update-nodejs-and-nodered.
Falls das Script nicht vorhanden sein sollte, einfach wie unter http://nodered.org/docs/hardware/ras...aspbian-jessie beschrieben vorgehen und die dort gezeigte Zeile copy & pasten.
So sieht die Ausgabe des Scriptes aus:Code:Running for user pi at /home/pi This can take 20-30 minutes on a Pi 1 - please wait. Stop Node-RED ✔ Remove old version of Node-RED ✔ Remove old version of node.js ✔ Install node.js LTS ✔ Node v6.10.0 Npm 3.10.10 Clean npm cache ✔ Install Node-RED core ✔ 0.16.2 Install extra nodes ✔ Install serialport node Npm rebuild existing nodes Add menu shortcut Update systemd script Update update script Any errors will be logged to /var/log/nodered-install.log
Zuletzt geändert von pmayer; 09.03.2017, 23:45.
-
Kommentar
-
Oh... das stimmt allerdings. Ich kenne mich leider mit ioBroker nicht aus... aber es sollte für die Jungs ja ein leichtes sein, die Pakete zu aktualisieren, oder?
ioBroker is an IoT platform (Fog computing). It has ability to manage your IoT system as one intelligent, robust project. Unique graphics and beautiful interfaces for you. Use one of the best open source products for managing your automation system on premise. Comprehensive smart home support
Ich kann mir aber mal ein ioBroker installieren und schauen ob ich es irgendwie hinbekomme.Zuletzt geändert von pmayer; 09.03.2017, 23:59.Kommentar
-
Ähhhm... eventuell musst du nur mal deinen ioBroker updaten. Laut github verwendet iobroker/ioBroker.node-red Version 0.16.2 seit Januar diesen Jahres: https://github.com/ioBroker/ioBroker.node-red
Und ich denke man kann nodeJS unabhängig von ioBroker updaten: http://forum.iobroker.net/viewtopic.php?t=1702
Deine aktuelle Version von node-red steht im Menü in node-red (oben rechts) an unterster Stelle.Zuletzt geändert von pmayer; 10.03.2017, 00:14.Kommentar
-
Hallo pmayer,
leider habe ich noch! keine praktischen Erfahrungen mit Node-red.. wenn ich das aber richtig verstanden habe, könnte ich Node-Red als Übersetzer für Bsp. die Edomi GUI Engine benutzen
Edomi ist ja im Moment das stärkste im Visualisieren was es gibt.
Im Moment kommuniziere ich komplett zwischen Loxone und Edomi per UDP.. das funktioniert sehr gut aber bläht die Loxone Config sehr stark auf, da für jeden Daten In/Output ein UDP Eingang/Ausgang erstellt werden muss.
Wenn ich das richtig verstanden habe kann ja Node-Red per Websocket mit Loxone reden und mit Edomi auf KNX Ebene (hab da einen KNX Node gesehen)
erleuchte mich wenn ich hier falsch liegeKommentar
-
Hi blaky,
bei node-red wird für KNX direkt ein IP-Gateway benötigt. Ich bin allerdings nicht der KNX-Fachmann und kann das nicht passend beurteilen. Gib einfach hier in die Suche mal "knx" ein: http://flows.nodered.org/ und probiers aus :-)
Welche Schnittstellen, ausser KNX, bietet Edomi denn noch so an? Ich glaube KNX als Kommunikationsprotokoll für nicht-KNX-Daten zu nehmen ist technisch nicht das Beste, wenn man andere Möglichkeiten (Websocket, SOAP, REST) hat.
node-red-contrib-loxone kann auf alle (visualisierten) Elemente der Loxone zugreifen, die per Strukturdatei zur Verfügung gestellt werden. Ein extra Anlegen von virtuellen Eingängen sollte also nur in Einzelfällen nötig sein. Mit "was" du von node-red aus redest, ist nur durch die nodes die zu einsetzt beschränkt.Kommentar
Kommentar