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

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • MaN0258
    Dumb Home'r
    • 29.05.2016
    • 20

    #91
    pmayer vielen Dank für Dein Loxone Node!

    Habe heute Abend mal Dein Node mit dem Alexa Skill zusammen ausprobiert und muss sagen, dass es ziemlich gut funktioniert. Für die, die es interessiert habe ich im Anhang zwei Screenshots: Auf dem Ersten die Verbindung der Alexa Nodes über die Switches und Funktionen um die Befehle (Turn(On|Off)Request, (Increment|Decrement)PercentageRequest) umzuwandeln in On/Off bzw. up/down. Außerdem die nötigen Sprachbefehle. Auf dem Zweiten die erstellten Geräte auf der Seite https://alexa-node-red.bm.hardill.me.uk/devices für den Alexa Skill, die Alexa finden soll, wenn man sie mit "suche nach Geräten" beauftragt.

    pmayer Leider habe ich mit dem Loxone Node regelmäßig das Problem, dass er die Verbindung zur Loxone verliert. Das sieht im Node-RED Logfile dann so aus:
    Code:
    24 Mar 22:47:12 - [info] [loxone-miniserver:-] Miniserver connected (192.168.178.250: 80
    24 Mar 22:47:14 - [info] [loxone-miniserver:-] got structure file 2017-03-22 00:03:28
    24 Mar 22:47:46 - [info] [loxone-miniserver:-] connection closed
    24 Mar 22:47:48 - [info] [loxone-miniserver:-] Miniserver connected (192.168.178.250: 80
    24 Mar 22:47:48 - [info] [loxone-miniserver:-] got structure file 2017-03-22 00:03:28
    24 Mar 22:49:48 - [info] [loxone-miniserver:-] keepalive (2ms)
    24 Mar 22:51:48 - [info] [loxone-miniserver:-] keepalive (2ms)
    24 Mar 22:53:48 - [info] [loxone-miniserver:-] keepalive (5ms)
    Das Problem ist aber, dass vor dem Schließen der Verbindung eine Weile keine Befehle mehr an der Loxone ankommen, bis die Verbindung dann geschlossen und neu verbunden wird.
    Kann man den Debug-Level erhöhen um etwas aussagekräftigere Logs zu bekommen?

    Kommentar


    • pmayer
      pmayer kommentierte
      Kommentar bearbeiten
      Ehm, nein ;-)

      Der Webservice-Request wird durch die bestehende Websocket-Verbindung abgesetzt. Ansonsten würde Benutzer und Passwort wieder im Klartext in der URL übertragen. Bei der Websocket Verbindung wird das PW mit dem vom Miniserver gesendeten apiKey verhasht und damit quasi verschlüsselt übertragen. Siehe https://www.loxone.com/dede/wp-conte...ver.pdf?x48792 Seite 5

      Der Control-Node sendet den gewünschten Wert nur an die UUID des Moduls im MS (gehasht). Der Webservice wird auf die gleiche Weise wie ein Senden an eine UUID nur mit anderer URI (jdev/..) aufgerufen. Es besteht also nur eine Verbindung pro konfigurierten MS von node-red aus.

      Ich frage mich aber trotzdem wie es zu dem von dir beschriebenen Problem kommt.
      Zuletzt geändert von pmayer; 25.03.2017, 00:40.

    • MaN0258
      MaN0258 kommentierte
      Kommentar bearbeiten
      Wenn das über die selbe Verbindung läuft, verstehe ich das nicht. Gerade eben nochmal getestet: Befehle per Webservice funktionieren, per control-in nur 1-2 Mal, per Webservice funktionieren sie weiterhin, irgendwann wird dann die Verbindung neu aufgebaut.
      Könnte es an den Umlauten liegen? Im control-in heißt der Control "Licht Büro OG gedimmt".

    • pmayer
      pmayer kommentierte
      Kommentar bearbeiten
      Kannst du mal einen Testcase mit einem Inject-Node anstatt dem Alexa Node bauen und mir das JSON schicken? (Nodes markieren, Menü -> Export, Clipboard). Am besten nur eine Funktion.

      Ein Screenshot aus der Loxone-Config wäre auch super.

      Frage mich gerade ob beim Control evtl. irgendwas nicht richtig zurück gesetzt wird... wüsste aber nicht was.
  • MaN0258
    Dumb Home'r
    • 29.05.2016
    • 20

    #92
    pmayer
    Hier der JSON Code des Flows und der Lichtsteuerungsblock in der Loxconf.
    Code:
    [{"id":"311910a8.92ccd","type":"loxone-control-out","z":"fd7edda3.5c5b7","name":"Arbeitszimmer Licht","miniserver":"4da9e3ca.0b9e1c","control":"0c494e08-02ec-2df3-ffff1dd6ce7119da/AI2","x":801,"y":579,"wires":[]},{"id":"76a815fc.7c8fac","type":"inject","z":"fd7edda3.5c5b7","name":"","topic":"","payload":"On","payloadType":"str","repeat":"","crontab":"","once":false,"x":557,"y":559,"wires":[["311910a8.92ccd"]]},{"id":"a5f2b0f4.07936","type":"inject","z":"fd7edda3.5c5b7","name":"","topic":"","payload":"Off","payloadType":"str","repeat":"","crontab":"","once":false,"x":555,"y":601,"wires":[["311910a8.92ccd"]]},{"id":"4da9e3ca.0b9e1c","type":"loxone-miniserver","z":"","host":"192.168.178.250","port":"80","encrypted":true}]

    Kommentar

  • pmayer
    LoxBus Spammer
    • 27.02.2017
    • 379

    #93
    Ich kann das Problem reproduzieren. Habe ein Tastermodul und sowie ich mit aktivierter AES-Verschlüsselung mehrere Kommandos abgesetzt habe, bekomme ich ein "connection closed"

    Frage mich nur gerade ob es eine "Sicherheitsmaßnahme" des Miniservers ist oder eine race-condition in der library. Throttling macht halt wenig Sinn, da es ja ohne AES command encryption nicht passiert.

    Hab dafür auch mal einen Bug eröffnet: https://github.com/alladdin/node-lox-ws-api/issues/9

    Vielen vielen Dank für dein Testen @MaN0258!!
    Zuletzt geändert von pmayer; 25.03.2017, 01:35.
    https://allgeek.de/

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

    Kommentar


    • pmayer
      pmayer kommentierte
      Kommentar bearbeiten
      It's fixed in version 0.2.8
      Over at the loxforum we've discovered a bug (maybe?). If you use AES command enryption and send four to five commands in a row over the websocket, the connection get's closed. This won't happen if ...


      Sollte also gehen... kann es gerade nicht testen. Du solltest die Abhängigkeiten auf folgendem Weg aktualisieren können:
      Code:
      cd ~/.node-red/
      npm update

      Hab aber nach einem kurzen Test das Problem immer noch...
      Zuletzt geändert von pmayer; 25.03.2017, 13:00.

    • MaN0258
      MaN0258 kommentierte
      Kommentar bearbeiten
      Habe nach dem Update auch weiterhin noch das Problem.

    • pmayer
      pmayer kommentierte
      Kommentar bearbeiten
      Ja, schau mal in den verlinkten Bug auf github...
  • Holger_kausch
    LoxBus Spammer
    • 27.08.2015
    • 323

    #94
    Moin .
    Ich teste das gerade mit Alexa. Es scheint das Alexa nicht 1 sonder True sendet ? Wie setze ich das auf 1 und 0 um ?
    Hat da jemand ein Beispiel ?

    Gruß Holger

    Kommentar


    • pmayer
      pmayer kommentierte
      Kommentar bearbeiten
      Hmm... habe ja keine IOBroker-Installation aber von meinem node-red aus, was auf einer normalen Linux-Installation läuft, habe ich keine spürbare Verzögerung. Hatte auch auf einem RaspberryPi nichts dergleichen feststellen können.

      Siehe auch hier im Video: https://cloud.codm.de/nextcloud/inde...NO2hIgnGIDWGqM

    • Holger_kausch
      Holger_kausch kommentierte
      Kommentar bearbeiten
      Merkwürdig ist, das UDP ohne Verzögerung an den Miniserver übertragen wird .

    • pmayer
      pmayer kommentierte
      Kommentar bearbeiten
      Komisch. Kann das vielleicht jemand mit IO.Broker mal gegentesten?
  • svethi
    Lebende Foren Legende
    • 25.08.2015
    • 6292

    #95
    pmayer sag mal, ich habe hier einen Resol VBus/LAN Adapter. Dafür habe ich eine Node.js npm gefunden. Kann ich das auch irgendwie verwenden?
    Miniserver; KNX; Vitogate; EnOcean (EnOceanPi); Loxone Air; Caldav-Kalenderanbindung; RaspberryPi und für keine Frickellösung zu schade :-)

    Kommentar


    • pmayer
      pmayer kommentierte
      Kommentar bearbeiten
      Aber warte, wenn das ein LAN-Adapter ist, hat der doch eine irgendwie geartete API. Die kannst du von node-red aus direkt ansprechen. Eventuell macht es Sinn dir einen SubFlow zu bauen.
      Oder sind da spezielle Dinge nötig?

      Bei Loxone wollte ich ja auf die Events "hören" und brauchte dafür den selbst geschriebenen Node.

      Der Aufwand mit der Lib node-red nodes zu schreiben sollte aber nicht so hoch sein. Der Entwickler scheint recht aktiv zu sein: https://github.com/danielwippermann/resol-vbus
      Vielleicht hat er sogar iInteresse einen node zu entwickeln?
      Zuletzt geändert von pmayer; 25.03.2017, 12:56.

    • svethi
      svethi kommentierte
      Kommentar bearbeiten
      Danke pmayer, Dein Einsatz ist sehr gut. Ich muss mir mein Script nochmal ansehen. Zur Zeit rufe ich vom MiniServer aus mein Script auf, dieses ruft die Daten ab, bereitet sie auf und gibt diese als XML, JSON oder so zurück. Ist schon länger her. Ich sehe mir das mal an und melde mich dan nochmal

    • pmayer
      pmayer kommentierte
      Kommentar bearbeiten
      Hiermit hat das nichts zu tun? http://flows.nodered.org/node/node-r...rib-luxtronik2
  • maxw
    Lox Guru
    • 26.08.2015
    • 1356

    #96
    So, ich hab was gemacht, was man nicht machen soll

    - Update auf loxone node-red 0.1.0
    - Update auf Loxone Config 8.3

    Und jetzt bekomme ich keine Connection mehr zum Miniserver, es kommt nach anlegen einer lox-node in der Konsole immer diese Fehlermeldung

    Code:
    26 Mar 18:06:40 - [info] [loxone-miniserver:ca4f3387.5b1568] Miniserver connected (192.168.42.230:80
    26 Mar 18:06:40 - [info] [loxone-miniserver:ca4f3387.5b1568] connection closed
    26 Mar 18:06:41 - [info] [loxone-miniserver:ca4f3387.5b1568] Miniserver connected (192.168.42.230:80
    26 Mar 18:06:41 - [info] [loxone-miniserver:ca4f3387.5b1568] connection closed
    26 Mar 18:06:42 - [info] [loxone-miniserver:ca4f3387.5b1568] Miniserver connected (192.168.42.230:80
    26 Mar 18:06:43 - [info] [loxone-miniserver:ca4f3387.5b1568] connection closed
    26 Mar 18:06:43 - [info] [loxone-miniserver:ca4f3387.5b1568] Miniserver connected (192.168.42.230:80
    26 Mar 18:06:43 - [info] [loxone-miniserver:ca4f3387.5b1568] connection closed
    26 Mar 18:06:45 - [info] [loxone-miniserver:ca4f3387.5b1568] Miniserver connected (192.168.42.230:80
    26 Mar 18:06:45 - [info] [loxone-miniserver:ca4f3387.5b1568] connection closed
    26 Mar 18:06:45 - [info] [loxone-miniserver:ca4f3387.5b1568] Miniserver connected (192.168.42.230:80
    26 Mar 18:06:46 - [info] [loxone-miniserver:ca4f3387.5b1568] connection closed
    26 Mar 18:06:47 - [info] [loxone-miniserver:ca4f3387.5b1568] Miniserver connected (192.168.42.230:80
    26 Mar 18:06:47 - [info] [loxone-miniserver:ca4f3387.5b1568] connection closed
    Jetzt habe ich keine Ahnung, wo ich weitersuchen soll...

    Hat schon jemand die lox-node 0.1.0 mit Loxone Config 8.3 am laufen?

    Danke, Max

    Kommentar


    • pmayer
      pmayer kommentierte
      Kommentar bearbeiten
      Cache Dateien sind mit keine bekannt...

      Kurz aber gefragt: Du kannst sicherstellen, dass der Websocket geöffnet werden kann und nicht der Miniserver das Ganze abschmeißt?
      Zuletzt geändert von pmayer; 26.03.2017, 18:30.

    • maxw
      maxw kommentierte
      Kommentar bearbeiten
      Mit dem Browser komme ich problemlos auf den Miniserver, das läuft dann ja auch über den web socket.
      Werde jetzt mal das Terminal neu starten...

    • pmayer
      pmayer kommentierte
      Kommentar bearbeiten
      Nene, meinte mit einem Websocket-Client...
  • ThatRed
    Smart Home'r
    • 20.11.2015
    • 73

    #97
    Hallo maxw und @pmayer

    ich habe jetzt auch ein Update auf loxone node-red 0.1.0 gemacht. Man muss alle alten Loxone Nodes löschen, sonst hängt der Node-Red Server, weil er die Nodes aus der alten Version sucht. Der Rest war Fleißarbeit. Allerdings ist der Flow beim Deployment abgestürzt, da hatte ich das gleiche Fehlerbild. Bei den (neuen) Nodes fehlte dann das connected. Das Neustarten von Node-Red hat da geholfen.

    Ein Update auf Loxone Config 8.3 habe ich ich noch nicht gewagt.
    Zuletzt geändert von ThatRed; 26.03.2017, 18:29.

    Kommentar


    • maxw
      maxw kommentierte
      Kommentar bearbeiten
      ich habe alle gelöscht, sonst hätte ich die "alte" lox-node gar nicht aus der palette löschen können.
      Der Fehler in der Konsole wird auch nur dann gemeldet, wenn ich eine 0.1.0 lox-node anlege, wenn ich sie komplett, mit der config node, lösche, ist der fehler wieder weg.
      scratching may head...

    • ThatRed
      ThatRed kommentierte
      Kommentar bearbeiten
      pmayer das hatte ich auch, nur es kam die Meldung das der Flow gestoppt wurde und die Console irgendwie.

    • pmayer
      pmayer kommentierte
      Kommentar bearbeiten
      Hab noch mal mit dem Entwickler von node-lox-ws-api gesprochen. Er meinte, es könnte auch mit dem Bug bei Verbindungsabbrüchen bzgl AES zu tun haben. Hast du das aktiviert oder deaktiviert?
  • pmayer
    LoxBus Spammer
    • 27.02.2017
    • 379

    #98
    Ok,

    dann mal die harte Tour:

    Code:
    cd ~/.node-red/
    npm remove node-red-contrib-loxone
    -node red stoppen-
    cd node_modules
    rm -rf node-red-contrib-loxone
    cd ..
    -node-red starten und node-red-contrib-loxone erneut installieren-
    //edit: Eventuell vorher alle Loxone Nodes im Editor löschen...
    Zuletzt geändert von pmayer; 26.03.2017, 18:53.
    https://allgeek.de/

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

    Kommentar


    • pmayer
      pmayer kommentierte
      Kommentar bearbeiten
      Ja, das meinte ich.
      Ich bekomme leider aus der Lib auch nur den "connected" event... dann wird mehr nicht zu sehen sein :-(

    • ThatRed
      ThatRed kommentierte
      Kommentar bearbeiten
      pmayer Das "connected" verschwindet manchmal, wenn man mehr als Fünf Loxone-in Nodes einfügt und nach dem Einrichten ein Full-Deploy macht. Die fünf, die man davor eingefügt hatte, bei denen ging es ohne Probleme.

    • pmayer
      pmayer kommentierte
      Kommentar bearbeiten
      Ich muss mal zusehen, dass ich den node mal in einer größeren Installation testen kann... Habe bei mir ca 6 input nodes und da geht alles glatt. Glaube es hängt mit der Größe des Structure Files zusammen... Es werden ja beim Verbinden ALLE Control's übertragen...
      Zuletzt geändert von pmayer; 27.03.2017, 14:02.
  • pmayer
    LoxBus Spammer
    • 27.02.2017
    • 379

    #99
    MaN0258 Schau mal hier wegen AES: https://github.com/alladdin/node-lox...ment-290031689

    Gast: Es gibt anscheinend einen neuen S7 Node: http://flows.nodered.org/node/node-red-contrib-s7comm
    https://allgeek.de/

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

    Kommentar

    • Gast

      Hallo Zusammen,

      ich habe jetzt schon mehrer stunden alles durchsucht aber ich verstehe es einfach noch nicht

      was muss ich in dem Baustein Function schreiben um das Licht von Loxone ein oder aus zu schalten ?

      Lieben Dank
      Basti

      Kommentar

    • Gast

      Ich werf mal was in den raum, hab gestern im node-red flow node-red-contrib-homekit gefunden, damit lassen sich für apple geräte im programm Home geräte hinzufügen, diese kann man dann ganz einfach per siri ansprechen......

      sieht bei mir so aus..... (dahinter statt dem debug direkt zur loxone zb.....)


      aja wenn wer ne verbindung zur Siemens CPU (300/400/1500......) aufbauen will, es gibt jetzt noch einen S7 flow, mit dem kann man auch direkt auf die SPS schreiben.......

      Kommentar

      • Holger_kausch
        LoxBus Spammer
        • 27.08.2015
        • 323

        Moin ..
        Gibt es eine Anleitung zur Installation von Node-Red auf den Raspberry Pi für Anfänger ?

        Kommentar

      • twimon
        Dumb Home'r
        • 25.08.2015
        • 25

        Kann ich eigentlich mit dem Webservice Baustein auch direkt auf Merker oder Virtuelle Eingänge / Ausgänge zu greifen. Denn mit dem IN / OUT Node kann ich ja nur die sichtbaren Elemente ansprechen. Aktuell nutze ich UDP um Werte in die LX zu schicken, aber per Websocket wäre natürlich schöner.

        Kommentar


        • twimon
          twimon kommentierte
          Kommentar bearbeiten
          Wie kann ich analoge Werte in die URI bekommen? Kann ich die URI dynamisch per Function bauen oder muss die fest hinterlegt sein?

        • pmayer
          pmayer kommentierte
          Kommentar bearbeiten
          Wie in der Info des Nodes steht:

          msg.uri from the incoming message object overwrites the set uri.

          ;-)

        • pmayer
          pmayer kommentierte
          Kommentar bearbeiten
          Das dritte Beispiel auf der GitHub Seite (https://github.com/codmpm/node-red-contrib-loxone) macht übrigens genau was du vor hast
      • maxw
        Lox Guru
        • 26.08.2015
        • 1356

        Also, irgendwie geht bei mir vieles, was mit der Version 0.0.x funktioniert hat, mit der Version 0.1.0 nicht mehr...
        z.B. die CPU-Temperatur eines Nano Air Dimmers auslesen.
        Klicke auf die Grafik für eine vergrößerte Ansicht

Name: Auswahl OK.png
Ansichten: 1092
Größe: 76,5 KB
ID: 92082Klicke auf die Grafik für eine vergrößerte Ansicht

Name: Auswahl NOK.png
Ansichten: 1025
Größe: 289,5 KB
ID: 92083
        Nach dem Auswahl der CPU Temperatur und dann auf Done klicken und danach wieder den Node editieren, da werden dann auch ganz viele Wert in der Auswahl angezeigt, die einfach nonsens sind, siehe Bilder

        Kommentar


        • pmayer
          pmayer kommentierte
          Kommentar bearbeiten
          Aktuell wird beim Öffnen des konfigurierten Nodes wird die Liste der Control's nicht durch den Raum/Kategorie beschränkt. Diese Info kommt aktuell aus dem Control und wird nur gefüllt.

          Ich war mir unschlüssig, was mehr Sinn macht: Die Control-Liste einschränken oder nur die Info des Raumes/Kategorie anzeigen.... Wie macht es mehr Sinn?

        • Gast
          Gast kommentierte
          Kommentar bearbeiten
          also mich störts nicht, wenn man weis wies man behebt.......

        • maxw
          maxw kommentierte
          Kommentar bearbeiten
          Bitte beschränken, das ist sonst sehr verwirrend wenn das plötzlich anders ist, habe da die ganze Zeit einen Fehler vermutet.
      • pmayer
        LoxBus Spammer
        • 27.02.2017
        • 379

        Das ist natürlich wirklich doof. Aber leider kann ich nicht unterscheiden welche Werte Nonsens sind. Hat einer der anderen User ähnliche Probleme?

        Leider hab ich auch keine Idee, was es sein könnte. Habe an den control-in und control-out nodes nichts ausser dem Namen geändert... du kannst jederzeit über die Shell die alter Version installieren:

        Code:
        cd ~/.node-red
        npm remove node-red-contrib-loxone
        npm install node-red-contrib-loxone@0.0.6
        Kannst du mal gegenprüfen ob das Problem damit auch nocht auftaucht?

        Der sonstige Unterschiede wäre nur noch der Bugfix den benutzten node-lox-ws-api...
        https://allgeek.de/

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

        Kommentar

        Lädt...