Entwicklung node-red-contrib-loxone für node-red
Einklappen
X
-
Wie gebe ich jetzt den Status wieder zurück auf den homekit node ob das Licht Ein oder Aus ist?
Der Loxone node sendet folgendes:
8.8.2017, 22:29:55node: 36c549b9.aac72e
Licht Arbeitszimmer : msg.payload : number
1Kommentar
-
Grundliegend genauso nur umgedreht. Der Switch Node arbeitet seine Regeln von oben nach unten durch.Kommentar
-
Super!
Teile gerne deine Ergebnisse. Kann sicher jemand gebrauchen. Einfach ein Screenshot, ne kurze Erklärung und die vorher markierten nodes Export->Clipboard.Zuletzt geändert von pmayer; 09.08.2017, 10:41.Kommentar
-
Aber gerne doch. Heir mein Flow um über Homekit in der Loxone etwas zu schalten wie z.B. in diesem Fall die Deckenleuchte im Büro.
[{"id":"429bc53b.de4394","type":"homekit-service","z":"80cab123.51dc","accessory":"5b109064 .445ce","name":"Licht Büro","serviceName":"Lightbulb","x":490,"y":560,"w ires":[["8e3411b1.71b0d"]]},{"id":"8e3411b1.71b0d","type":"change","z":"80c a b123.51dc","name":"","rules":[{"t":"move","p":"payload.On","pt":"msg","to":"p ayl oad","tot":"msg"},{"t":"change","p":"payload","pt " :"msg","from":"true","fromt":"bool","to":"Ein", "to t":"str"},{"t":"change","p":"payload","pt":"msg "," from":"false","fromt":"str","to":"Aus","tot":"str" }],"action":"","property":"","from":"","to":"","r eg" :false,"x":760,"y":540,"wires":[["ec54a124.3aee58"]]},{"id":"e0416384.515a68","type":"change","z":"80 c ab123.51dc","name":"","rules":[{"t":"move","p":"payload","pt":"msg","to":"payl oad .On","tot":"msg"}],"action":"","property":"","from":"","to":"","r eg" :false,"x":190,"y":600,"wires":[["429bc53b.de4394"]]},{"id":"5b109064.445ce","type":"homekit-accessory","z":"","accessoryName":"node","pinCode" :"111-11-111","port":"","manufacturer":"Raspberry","model" : "node-red","serialNo":"111","accessoryType":"1"}]1 BildKommentar
-
Hi pmayer
Wollte mal fragen, wie es eigentlich deiner MQTT Integration in Loxone über node-RED geht? Das war ja mal dein Einstieg in dieses Thema hier. Ich möchte mich etwas damit befassen um meine Nexion HMI Displays auch als Touchdevice über MQTT nutzbar zu machen. Über die Virtuellen http Ausgänge vom Miniserver kann ich schon das Display zur Anzeige nutzen (via WLAN, brauche nur 5V Netzteil). Ich kann auch Slider, Schalter, Buttons etc. auf dem Display programmieren, die Befehle werden dann an einen MQTT Broker übermittelt. Und da genau stehe ich nun.
Deshalb wäre ich dir dankbar, wenn du etwas zum Stand der Dinge bei dir sagen könntest.
Danke und Gruss
bubuijKommentar
-
Hi bubuij,
das funktioniert seit der ersten Version des Nodes. Du brauchst einen broker und node-red. Dein Display published auf den Broker und mit dem zu node-red gehörigen mqtt-node subscribest das entsprechende Topic und gibst die Daten per Control-Out oder Webservice-Node an die Loxone. Umgedreht nimmst du dir einen Control-In und gibst die daten an ein mqtt-out.
Ich hatte das mit homegear und homematic hier schon mal beschrieben: https://allgeek.de/2017/07/09/homema...eber-homegear/ bzw hier https://www.loxforum.com/forum/faqs-...8293#post98293
homegear wird über mqtt angesprochen (ersetze gedanklich homegear durch dein Display) und statt dem dashboard-node nimmst du einfach zwei Loxone-node's.
Dort sind auch ein paar mqtt-Grundlagen verlinkt - wegen publish, subscribe und so.
Ich hoffe, ich habe dich richtig verstanden.Kommentar
-
Nimm mosquitto auf jeden Fall aus deren direkten Quellen, nicht von der Distribution. Da haben sich ein paar Dinge geändert: https://mosquitto.org/2013/01/mosqui...an-repository/ bzw https://mosquitto.org/download/
-
pmayer ich melde mich jetzt noch mal wegen der node-red-contrib Probleme mit der Loxone 9 Beta. Habe jetzt soweit mir möglich mit der 9.0.8.16 getestet.
Status wie folg:
- lesen des Zustands mit node-red control-in ist möglich
- ändern des Zustands mit control-out funktioniert leider nicht
- ziemlich häufig kommt folgende Fehlermeldung im Debug Window
20.8.2017, 16:13:54node: 22c1f76c.e4afamsg : string[38]
"Miniserver connection error: undefined"
Test mit direkter WebService Kommunikation
- sowohl lesen des Zustands als auch ändern des Zustands mit Bezecichnung und UUID geht, hier ein paar Beispiele auf dem selben Schalter, mal mit UUID und dann mit Bezeichnung
Request mit UUID:
Answer UUID:
Code:<LL control="dev/sps/io/103d949b-003c-4aae-ffffb6e49c9e4e8b/on" value="1" Code="200"/>
Request mit Bezeichnung:
Answer Bezeichnung:
Code:<LL control="dev/sps/io/SchalterXXX/off" value="1" Code="200"/>
Leider bin ich jetzt mit meinem Latein ziemlich am Ende... Und du hast wahrscheinlich immer noch keinen MS um dir das anzusehen, oder?
Liebe Grüß, MaxKommentar
-
Hallo Max,
was Du nicht prüfst, ist die Websocket Kommunikation. Es könnte ja sein, dass die daran etwas geändert haben. Da bringen Deine Tests über das HTTP-Rest nichts.Miniserver; KNX; Vitogate; EnOcean (EnOceanPi); Loxone Air; Caldav-Kalenderanbindung; RaspberryPi und für keine Frickellösung zu schade :-)Kommentar
-
Habe es gerade mit dem Chrome WS Plugin probiert - prinzipiell ginge das - aber die WS Kommunikation mos mit einem Hash den der MS liefert verschlüsselt werden - und das geht definitiv nicht mehr manuell ;-)
jdev/sys/getkey
{"LL": { "control": "jdev/sys/getkey", "value": "324436384638463041xxxxxxxxxxxxxx42343944334530384 532", "Code": "200"}}
{"LL": { "control": "Auth", "value": "Policy Not Fulfilled", "Code": "420"}} -
Na dann sollte da auch eigentlich nichts Gravierenderes geändert worden sein. Ich glaub der pmayer hat selbst nichts zum testen. Ich könnte vielleicht man ins java reinsehen, kann aber nicht versprechen, dass ich seinen Code verstehe ;-)
-
Nein, leider immer noch keinen MS zum testen hier. Wenn alles gut läuft, kann ich ihn mir aber im Laufe der Woche leihen.
Wenn die "alte" App mit der Beta connecten kann, sollte es keinen unterschied in der Struktur des Sctucture Files geben. Ich muss das aber sehen...
Ich glaube fast, dass Ladislav im node-lox-ws-api eventuell dafür was ändern muss. Ich frage ihn mal, ob er da bereits Erfahrungen hat.
svethi Javascript ;-)Zuletzt geändert von pmayer; 20.08.2017, 18:19.Kommentar
-
maxw Sag mal, hast Du schon mal direkt den Webservice-Block (aus den Loxone-Blocks) versucht? Da kannst Du wie bei HTTP-REST direkt die URI angeben. Wenn das dort nämlich richtig funktioniert. sollte der Websocket-Bereich richtig sein und man muss nur noch in dem Control-In suchen.Miniserver; KNX; Vitogate; EnOcean (EnOceanPi); Loxone Air; Caldav-Kalenderanbindung; RaspberryPi und für keine Frickellösung zu schade :-)Kommentar
-
maxw Ich hab hier nur grad „vorbei gelesen“ aus reinem Interesse, aber das von dir beschriebene Problem mit der Loxone Beta kam mir gerade bekannt vor.
Daher hier mal zur Sicherheit meine kürzliche Mail an Loxone:
Zum aktuellen Problem:
Vor der Beta hatte ich über die Homebridge (https://github.com/nfarina/homebridge) auf nem RaspberryPi mit dem Plugin homebridge-loxone-ws(https://github.com/Sroose/homebridge-loxone-ws) eine Verbindung zwischen Apple Siri und Loxone lauffähig.
Seit der Beta schien dies allerdings nicht mehr zu funktionieren, daher hab ich da mal debugged.
Das Plugin baut intern über eine Websocket API https://github.com/alladdin/node-lox-ws-api prima eine Verbindung auf, heisst:
- es holt erfolgreich das HMAC-SHA1 Secret über jdev/sys/getkey
- es authentifiziert danach auch prima mit dem erstellten Schlüssel über authenticate/<key> und bekommt ein 200
Wenn es dann allerdings versucht über jdev/sps/ios/<key>/<UUID>/<state> z.B. eine Lampe zu schalten, bekommt es ein 500 zurück?!?
Über .../sps/io/<UUID>/… funktioniert das Ganze stattdessen tadellos. (das Gleiche im Browser, wobei ich mir dort nicht sicher bin, ob dort die ios/-Variante überhaupt auch klappen sollte)
In der Loxone-Doku steht eigentlich zum Thema „Hash“ immer noch dazu, dass der gewonnene HMAC-SHA1 Schlüssel wieder zurück in HEX überführt werden sollte. Beim authenticate/<key>jedoch wird es ja auch als String direkt verwendet, daher gehe ich davon aus, dass es korrekt ist, wenn es auch in der Control-URL nicht als HEX erwartet wird, sondern ebenso als String.
Wurde hier mit der Loxone Beta irgend etwas verändert?Kommentar
-
Hmm... ich bekommen keine Benachrichtigungen mehr vom Forum.
Ich habe mit Ladislav (alladdin) gesprochen und er bekommt die Tage Zugriff auf einen Miniserver mit Loxone 9. Zu Hause hat er nur einen Miniserver und will ungern seine Hausinstallation für Beta-Tests nutzen, was ich absolut verstehe.
"I'll have access (by network) to the miniserver with v9 next week.
I hope that I'll found solutions for all the problems with v9. But
without the documentation it will be difficult."
Mal sehen ob es wirklich an node-lox-ws-api liegt oder einfach ein Fehler in der Beta ist.
Halt uns auf jeden Fall auf dem Laufenden, DerFlashKommentar
-
Hey zusammen,
auch wenn Ladislav schon Bescheid bekommen hat, hab ich mal zur Übersicht nen Ticket aufgemacht: https://github.com/alladdin/node-lox-ws-api/issues/10
Darin hab ich ihm auch kurz meine aktuellen Funde dokumentiert und auch einen Workaround, falls ihr den nutzen möchtet.
Übrigens hab ich mir heute einfach mal node-red angeschaut und bin begeistert. Im Vergleich zu https://github.com/Sroose/homebridge-loxone-ws (+ https://github.com/Sroose/homebridge-loxone-ws/pull/12) verfolgt es zwar weniger den Ansatz die Sachen automatisiert aus Loxone in HomeKit rein zu bekommen, aber beides hat so seine Reize und ich werd mal schauen, wo ich final lande ;-) Danke für die Inspiration hier!Kommentar
Kommentar