Ankündigung

Einklappen

INFORMATION

Dieser Bereich ist für fertige Lösungen gedacht. Nutze bitte für Diskussionen die anderen Bereiche.
Mehr anzeigen
Weniger anzeigen

Entwicklung node-red-contrib-loxone für node-red

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • 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.

    Kommentar


    • twimon
      twimon kommentierte
      Kommentar bearbeiten
      Könntest du das lokale Skript posten das du für das Einschalten nutzt. Denn die Lösung finde ich sehr smart.

    • Gast-Avatar
      Gast kommentierte
      Kommentar bearbeiten
      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.
    https://allgeek.de/

    https://twitter.com/pregopm, https://github.com/codmpm/
    https://github.com/codmpm/node-red-contrib-loxone
    https://github.com/codm/wifi-pixel-controller

    Kommentar


    • Gast-Avatar
      Gast kommentierte
      Kommentar bearbeiten
      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


    • pmayer
      pmayer kommentierte
      Kommentar bearbeiten
      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.

    • Gast-Avatar
      Gast kommentierte
      Kommentar bearbeiten
      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. :-)

    • pmayer
      pmayer kommentierte
      Kommentar bearbeiten
      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 pmayer,

    ich danke dir für deine Arbeit! Nun habe ich endlich gefunden, was ich schon immer (verzweifelt) gesucht habe - eine unabhängige Visu (Dashboard).

    DANKE, DANKE, DANKE!

    Kommentar


    • 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
      Patrick

      Kommentar


      • pmayer
        pmayer kommentierte
        Kommentar bearbeiten
        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

      • Patrick_92
        Patrick_92 kommentierte
        Kommentar bearbeiten
        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

      • pmayer
        pmayer kommentierte
        Kommentar bearbeiten
        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:

        Egal ob Smart Home, Gebäude oder Spezialanwendungen: Loxone ermöglicht die intelligente Steuerung & Automatisierung von Projekten aller Art.
        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ß Holger

        Kommentar


      • Hallo ..
        Danke hat funktioniert . . Jetzt kann ich den laufenden Titel vom Sonos Player in der Loxone App sehen ..

        Kommentar


        • pmayer
          pmayer kommentierte
          Kommentar bearbeiten
          Wenn du kannst, poste doch auch den Flow. Hilft vielleicht jemandem :-)

        • Holger_kausch
          Holger_kausch kommentierte
          Kommentar bearbeiten
          Das Problem ist, das ich IOBroker dafür nutze. Ich hole mir die Sonos Info aus dem Sonos Modul in IOBroker.
          Für red-node gibt es aber auch ein Sonos Nodes . Ich teste das morgen mal und wenn es läuft schreibe ich was dazu.

          Gruß Holger

        • pmayer
          pmayer kommentierte
          Kommentar bearbeiten
          Ah, alles klar :-)

      • 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 ;-) )
        Klicke auf die Grafik für eine vergrößerte Ansicht  Name:  Ansichten: 1 Größe: 347,3 KB ID: 98543
        Zuletzt geändert von pmayer; 15.05.2017, 12:17.
        https://allgeek.de/

        https://twitter.com/pregopm, https://github.com/codmpm/
        https://github.com/codmpm/node-red-contrib-loxone
        https://github.com/codm/wifi-pixel-controller

        Kommentar


      • 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.
        https://allgeek.de/

        https://twitter.com/pregopm, https://github.com/codmpm/
        https://github.com/codmpm/node-red-contrib-loxone
        https://github.com/codm/wifi-pixel-controller

        Kommentar


        • Frage in die Runde: habt ihr auch das Problem, dass nach dem Neustart des Miniservers Node-Red die Struktur nicht mehr findet? Eine Fehlermeldung gibt es nicht und wenn man node-red mit "service node-red restart" neustartet, ist wieder alles ok...

          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".
            https://allgeek.de/

            https://twitter.com/pregopm, https://github.com/codmpm/
            https://github.com/codmpm/node-red-contrib-loxone
            https://github.com/codm/wifi-pixel-controller

            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


              • pmayer
                pmayer kommentierte
                Kommentar bearbeiten
                PHP-Code:
                cd ~/.node-red
                npm update 

              • Gast-Avatar
                Gast kommentierte
                Kommentar bearbeiten
                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).

              • pmayer
                pmayer kommentierte
                Kommentar bearbeiten
                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
              und eure Loxone Nodes sind nicht mehr im Editor zu sehen, danke Gast für die Hinweise. Hat sonst noch jemand das Problem?

              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
              Dort ist dann die alte Version von node-lox-ws-api die den AES Bug hat und kein verschlüsseln der Webservice-Befehle erlaubt - aber eben unter nodeJS 4.x läuft.
              Zuletzt geändert von pmayer; 16.05.2017, 13:01.
              https://allgeek.de/

              https://twitter.com/pregopm, https://github.com/codmpm/
              https://github.com/codmpm/node-red-contrib-loxone
              https://github.com/codm/wifi-pixel-controller

              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 mit
                Code:
                node -v
                heraus finden.

                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-loxone
                Zuletzt geändert von pmayer; 16.05.2017, 18:11.
                https://allgeek.de/

                https://twitter.com/pregopm, https://github.com/codmpm/
                https://github.com/codmpm/node-red-contrib-loxone
                https://github.com/codm/wifi-pixel-controller

                Kommentar

                Lädt...
                X