Entwicklung node-red-contrib-loxone für node-red
Einklappen
X
-
Also Node-Red überzeugt mich immer mehr. Ich habe seit ewigen Zeiten versucht, meinen Fernseher (Samsung) mit in Loxone einzubinden. Das geht zwar, aber eins geht mit keiner mir bekannten Lösung: EINSCHALTEN des Samsung TV. Einziger Weg: einschalten per Infrarot-Fernbedienung oder CEC. Die Lösung: ein Exec Node in Node-Red, der ein lokales Script via ssh (keyless login) auf dem mit LibreELEC/Kodi betankten Raspberry Pi auslöst. Dieses Script sendet einen Power-On Befehl via HDMI/CEC an den TV. Vorher wird via Node-Red der Yamaha AVR eingeschaltet, danach mit 2 Sekunden Delay der CEC Power-On auf dem Raspi ausgelöst - damit der Receiver das Signal durchschalten kann. Der Receiver hat Passthrough bei ausgeschaltetem Receiver deaktiviert (bringt mir nichts, da sämtlicher Sound über die Anlage geht). Ausschalten funktioniert ebenso. Bevor jemand fragt: der Raspi läuft 24x7, daher war ein "TV-an bei Start des Raspi" auch nicht möglich. Dank Node-Red eine runde Sache und mit einem Schalter in Loxone auch direkt anzubinden.-
Könntest du das lokale Skript posten das du für das Einschalten nutzt. Denn die Lösung finde ich sehr smart. -
Klar, viel ist nicht ;-)
Für TV On ("tvon.sh"):
#!/bin/bash
echo "on 0" | cec-client -s
Für TV Standby ("tvoff.sh"):
#!/bin/bash
echo "standby 0" | cec-client -s
Im Exec Node steht dann: ssh root@livingroom 'bash -s' < tvon.sh bzw. ssh root@livingroom 'bash -s' < tvoff.sh
Wie gesagt: Passwordless SSH muss eingerichtet sein.
-
-
Für die io.Broker Jungs:
Seit kurzem gibt es einen direkten Loxone-Adapter: https://www.npmjs.com/package/iobroker.loxone
Gibt es für den node-red-node aktuell eigentlich irgendwas an Feedback? Hat jemand was gebaut, wo das teilen lohnt?
Gast: Sehr gut! Hätte sogar fast erwartet, dass die Kodi-Schnittstelle da was her gibt.Kommentar
-
Für Kodi gibt es da zwar was im IOBroker und in Node-Red, aber scheinbar klappt das nicht mehr mit der aktuellsten Kodi-Version. Von der letzten Kodi 16 auf die neue 17 hat sich auch die Web-GUI verändert. Es kann sein, dass daher die Zugriffe auf die Webschnittstelle ins Leere laufen. Anmelden kann man sich am Kodi zwar noch via IOBroker oder Kodi-nodes, aber man bekommt nichts raus. Zudem ist CEC dort nicht als Command hinterlegt oder dokumentiert. Daher hab ich den Kunstgriff mit Kodi gemacht. Sollte man wie ich einen AVR-Receiver dazwischen haben, der mehrere Quellen verwaltet (Amazon FireTV, Chromecast - whatever), so kann man wahrscheinlich einen Splitter hinter den Raspberry mit Kodi hängen, den einen Ausgang des Splitter auf den AVR, den anderen direkt auf den TV, so dass man unabhängig von gewählten Kanal auf dem AVR trotzdem den Fernseher aktivieren kann.
-
-
Tja, da war pmayer schneller als der Autor des Adapters selber
Die Diskussion zum Adapter findet wohl hauptsächlich im io.Broker Forum statt:
Hallo zusammen Endlich habe ich mich mal wieder ans Programmieren für ioBroker gewagt und meinen Loxone Miniserver Go mit ioBroker verbunden: https://www.npmjs.com/package/iobroker.loxone Ich würde mich freuen, wenn er in den Kreis der offiziellen Adapter...
Ich bin allen dankbar, die den Loxone-Adapter für io.Broker ausprobieren und mir Feedback geben - sei es hier, per PN, im io.Broker Forum oder in GitHub.Kommentar
-
Ich hoffe du nimmst es mir nicht übel ;-)
Da du für iobroker.loxone auch node-lox-ws-api von Ladislav einsetzt, können wir uns ja vielleicht austauschen, was gewissen Umsetzungen angeht. Bei node-red-contrib-loxone hab ich meist versucht auf die Wünsche hier im Thread einzugehen, habe aber - da ich keine eigene "echte" Loxone Installation hab - natürlich das Problem, dass mir ein wenig der Echtweltbezug fehlt. -
Das trifft sich gut, denn ich habe einiges bei dir abgeschaut ;-)
Ich habe zwar einen Miniserver, aber leider nur Loxone Touch Taster und keine Aktoren. Deshalb habe ich die Ausführung von Commands noch nicht eingebaut; da werde ich mich dann auch mal auf deinen Code stützen. :-) -
Hab hier auch nur nen geliehenen Miniserver liegen mit ner 1-Wire Extenstion und da halt einen Eingang belegt um was schalten zu können.
Gerne, freue mich auch über jegliches Code-Feedback, ist erst mein zweiter node. Bin zwar in der Webentwicklung zu Hause und kann dementsprechend JavaScript/jQuery aber nodeJS ist dann doch erst mal was Neues ;-)
Hatte auch schon Kontakt mit Ladislav (Alladin), der ist nur leider momentan recht beschäftigt und kann nicht auf jede Anfrage von mir reagieren. Warte zum Beispiel gerade da drauf, dass er einbaut, dass man die Keepalive-Zeit parametrieren kann... hatte schon überlegt en Pull-Request zu machen.
-
-
Hallo zusammen,
möchte mich auch mal noch bedanken für die Arbeit
Ich nutze Node-Red eigentlich nur, um von außerhalb ein paar Dinge steuern zu können.
Da ich bei Unitymedia bin und deshalb IPv6 habe komme ich so nicht ohne weiteres in mein Heimnetz.
Ich verwende bei Node-Red noch Pushbullet um Nachrichten zu senden, die dann bestimmte Atkionen ausfühen (z.B. Rollläden schließen wenn ich unterwegs bin)
Ich hab das soweit eingerichtet, allerdings hat das mit dem Rollladen noch nicht so funktioniert.
Ich hab einen virtuellen Eingang mit zentral AB und diesen habe ich in Node-Red auch angegeben (Room: Zentral Category:Beschattung Control: zentral AB)
Muss ich denn sonst noch was einstellen damit so eine Aktion ausgeführt wird?
Ich hatte es mal Testweise mit einer Pushnachricht versucht, diese kommt an, also scheint es prinzipiell zu funktionieren.
Grüße
PatrickKommentar
-
Hast du den State passend ausgewählt? Vielleicht kann da einer der Loxone-Jünger mal rat geben... in jedem Fall kannst du den VI aber schalten, wenn du den Webservice-Node nimmst und ihn direkt ansprichst. Schau mal auf die Beispiele auf der Github-Seite: https://github.com/codmpm/node-red-contrib-loxone -
Aber es ist schon so dass ich hier nur Taster und Schalter z.B. bedienen kann und nicht auf die "Tasten" der Automatikjalousie
Da müsste ich dann noch einen virtuellen Eingang davor schalten -
Das kann ich dir nicht sagen, habe leider keine "Echtwelt"-Installation. Schau mal in die Dokumentation des Structure Files. Dieses wird vom Node ausgelesen und du solltest jedes Modul, dass dort eine UUID hat "beschicken" können.
Mit den Loxone Webservices kann man mit einfachen http-Befehlen Informationen abrufen, Einstellungen vornehmen und schalten.
Grundliegend:
Control-In ließt Ereignisse auf dem "state" einer "uuid" (Control) - also das was du da auswählst
Control-Out "beschickt" eine UUID, also die, die du als Control auswählst, mit den von dir bereit gestellten Daten.
Ob du nun aber Control-Out oder den Webservice-Node benutzt bleibt sich fast gleich. Es werden sowieso immer nur Daten über die bestehende Websocketverbindung ausgetauscht. Du solltest dir also auch einfach die URI der Automatikjalousie raussuchen können und diese direkt schalten:
Zuletzt geändert von pmayer; 12.05.2017, 10:49.
-
-
Kurze Frage in die Runde, die etwas vom Thema abdriftet: hat jemand schon mit den Kodi-Nodes gearbeitet? Ich würde gerne aus Loxone heraus meinen AVR anschalten und dann bei Kodi einen bestimmten Sender ansteuern (z.B. morgens beim Betreten des Raumes über einen Bewegungsmelder). Das habe ich zwar jetzt schon so halbwegs am Laufen, aber nutze derzeit dafür die Kodi-Extension im IOBroker. Aber das ist um ehrlich zu sein sehr umständlich und auch nicht sehr stabil. Läuft dann: Loxone virtuelle Ausgang -> node-red -> iobroker -> kodi. Leider gibt es keine Beschreibung zu den Kodi-Nodes auf der github Seite des Contributors. Hat jemand sich hiermit mal beschäftigt?Kommentar
-
Hallo ..
Wie bekomme ich einen Text über node red an den Miniserver gesendet und in der Visualisierung (Loxone App) angezeigt ?
Gruß HolgerKommentar
-
Hi, schau mal ein paar Posts weiter oben. Der Weg, den ich mit @svethi's Hilfe gefunden habe, nutzt den Status-Baustein.
Hallo zusammen, lese seit langem mit und hatte jetzt endlich den Anlass gefunden auch mal was zu schreiben. Ich habe angefangen einen node für node-red zur
Du kannst über msg.payload mittlerweile Nachrichten anhängen. Damit braucht man den function-node im Beispiel nicht mehr.
Vielleicht gibt es ja sogar eine bessere Lösung.Zuletzt geändert von pmayer; 11.05.2017, 19:24.
-
-
Hallo ..
Danke hat funktioniert . . Jetzt kann ich den laufenden Titel vom Sonos Player in der Loxone App sehen ..
1 BildKommentar
-
Hab gerade mal bei einem Bekannten erfolgreich homematic an Loxone angebunden
Genutzt wurde Homegear auf einem RPi2 mit CC1101 Modul direkt am SPI. Homegear packt alleHomematic Datenpunkte auf den MQTT-Broker. Die Daten werden dann wie im screenshot zu sehen, über node-red an Loxone gegeben. Zur Statusmeldung werden visualisierte virtuelle Eingänge genutzt, zusätzlich dazu nutze ich noch einen virtuellen Status Baustein zum anzeigen von Meldungen der Keymatic.
Ich gebe zu, der anfängliche Aufwand bis homegear läuft ist sicher höher als bis man die CCU am laufen hat. Die Anbindung selbst ist dafür dann um so einfacher. Alternativ kann man das Ganze auch ohne MQTT machen. Dann könnte man über node-red sogar die CCU oder homegear per bin-RPC direkt ansprechen und müsste, wenn ich es richtig verstehe, keine Erweiterung oder Programmierung auf der CCU selbst machen.
Habe allerdings noch nie vor der CCU gesessen und bisher immer nur mit Homegear in Verbindung mit Homematic gearbeitet. Genau so könnte man übrigens auch Max! - oder alles was homegear sprechen kann - in Loxone integrieren.
//edit:
Hier übrigens grob die Struktur für das was ich da einsetze: (Sollte die Grafik wohl mal für Loxone anpassen ;-) )
2 BilderZuletzt geändert von pmayer; 15.05.2017, 12:17.Kommentar
-
Hier hab ich die Anbindung von Homematic an node-red über homegear mal aufgeschrieben: https://allgeek.de/2017/07/09/homema...eber-homegear/ Die Verbindung zu Loxone lässt sich dann über node-red-contrib-loxone realisieren, wie im Screenshot gezeigt.
Hier die Anbindung direkt an die CCU: https://oliverlorenz.com/blog/homematic-mit-nodered/
-
-
Soeben wurde node-red-contrib-loxone 0.4.1 released: http://flows.nodered.org/node/node-red-contrib-loxone
Ladislav hatte endlich Zeit node-lox-ws-api zu aktualisieren. Dadurch gibt es nun keine Verbindungsabbrüche mehr, wenn man AES eingeschaltet hat und viele Kommandos hintereinander sendet ( MaN0258 ). Außerdem werden jetzt auch die webservice-Aufrufe verschlüsselt übertragen :-)
Zuletzt geändert von pmayer; 13.05.2017, 14:41.Kommentar
-
Hmm... hab letzten Freitag mehrfach den Miniserver neu gestartet und node-red hat jedes mal wieder ordnungsgemäß connected. Hast du mal in node-red-log geschaut? Wenn du pm2 nimmst um node-red im Hintergrund laufen zu lassen, dann "pm2 log node-red".Kommentar
-
Also mit dem Tool komm ich nicht wirklich klar... er lädt meinen Flow nicht. Aber ich habe festgestellt, dass es nicht an Loxone liegt, denn eben hat sich das System wieder mal abgehängt. Ursache unbekannt. Flow geändert und auf einmal waren alle Anbindungen in Loxone weg (die Nodes waren noch da). Wie kann ich eigentlich auf die neueste Version 0.4.1 upgraden?Kommentar
-
Habe ich versucht, kann es sein, dass man das als der User durchführen muss, der auch Node-red betreibt (also nicht Root)?
Es ist auch so, dass es nicht am Neustart des Miniserver liegt. Das kam jetzt auch mal so vor, direkt nach dem Deploy (aber auch nicht immer). -
Das kommt auf deine Installation an. In welchen Verzeichniss ist denn .node-red und wem gehört es? Wenn du alles als root machst, dann natürlich so.
Typischerweise ist nodeJD und node-red als root mit -g (globl) installiert, die Module aber als der user unter dem der node-red Prozess läuft.
-
Achtung: Es gibt aktuell ein Problem mit der Bibliothek (node-lox-ws-api) die von node-red-contrib-loxone 0.4.1 genutzt wird, wenn man node JS 4.x laufen hat. Wenn ihr node-red über den Installer (http://nodered.org/docs/hardware/raspberrypi) installiert habt, gibt es kein Problem. nodeJS ist dann auf dem aktuellen Stand.
Ich bin bereits mit Ladislav im Gespräch deswegen.
Es tauchen folgende Meldungen im Log auf:
Code:May 16 12:04:07 node-red node-red[15197]: 16 May 12:04:07 - [warn] [loxone] SyntaxError: Unexpected token = ... May 16 12:04:07 node-red node-red[15197]: 16 May 12:04:07 - [info] Waiting for missing types to be registered: May 16 12:04:07 node-red node-red[15197]: 16 May 12:04:07 - [info] - loxone-miniserver May 16 12:04:07 node-red node-red[15197]: 16 May 12:04:07 - [info] - loxone-control-in May 16 12:04:07 node-red node-red[15197]: 16 May 12:04:07 - [info] - loxone-control-out
Natürlich schauen wir, ob Ladislav das Problem beheben kann. Grundliegend ist Version 4.x von nodeJS allerdings veraltet und befindet sich nur noch bis 04/2018 in "maintenance". Als neu Long Term Support (LTS) Version gilt nodeJS 6.x: https://github.com/nodejs/LTS
Es macht also Sinn die eigene nodeJS Version zu aktualisieren.
Wer das aus irgend einem Grund nicht kann, kann über folgenden Weg Version 0.4.0 des loxone-Nodes installieren:
Code:cd ~/.node-red npm install node-red-contrib-loxone@0.4.0
Zuletzt geändert von pmayer; 16.05.2017, 13:01.Kommentar
-
Die zugrunde liegende Bibliothek node-lox-ws-api benötigt aktuell zwingend nodeJS in Version 4.5 oder höher.
Da nodeJS 4.x nur noch im "maintenance" ist und es keinen Support seitens der Node.js Foundation mehr ab 04/2018 geben wird, habe ich mich dazu entschlossen Versionen kleiner der aktuellen LTS (https://github.com/nodejs/LTS) mehr zu unterstützen.
Installiert also bitte mindestens nodeJS 6.x LTS.
Ladislav müsste durch viele Reifen springen, wenn er seine Bibliothek noch für die alten Versionen von nodeJS anpassen müsste.
Wie oben bereits erwähnt, sollte das RaspberryPi Nutzer nicht betreffen, da das Installationsscript von node-red sowieso auf 6.x LTS updated.
Nutzer anderer Distributionen schauen hier nach, wie sie 6.x LTS installieren können: https://nodejs.org/en/download/package-manager/
io.Broker nutzt glaube ich auch bereits 6.x LTS - korrigiert mich, falls ich da falsch liege.
Welche nodeJS Version installiert ist, könnt ihr auf der Konsole mitCode:node -v
Soeben wurde damit auch node-red-contrib-loxone 0.4.2 released. Dort update ich nochmals die Bibliothek von Ladislav um wenigstens noch Kompatibilität mit nodeJS 4.5 zu haben. Zusätzlich wurde die Beschreibung in der Readme zum neuen Verhalten angepasst: http://flows.nodered.org/node/node-red-contrib-loxoneZuletzt geändert von pmayer; 16.05.2017, 18:11.Kommentar
Kommentar