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

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • Negropo
    Smart Home'r
    • 10.10.2015
    • 90

    Hallo,

    ich habe mit node-red und loxone meine Lampen über alexa dimmbar gemacht. Das Problem vor dem ich stehe ist, dass wenn ich die Lampen auf 50 % setze und sie dann ausschalte bei einem wieder anschalten die Lampe nicht auf 100 % geht, sondern bei dem alten Wert von 50 % bleibt. Habe schon versucht das mit switch und change-nodes zu ändern, ich scheitere jedoch daran einen Vergleich einer boolean-Variable zu machen. Konkret: ich wollte erst einmal prüfen ob msg.on_off_command == true ist und msg.bri > 0, dann sollte das Licht auf 100 % gehen. Wenn msg.on_off_command == false und msg.bri > 0 sollte der Wert aus msg.bri als msg.payload an loxone weitergeleitet werden. Wie gesagt, dass Problem ist der Vergleich der msg.on_off_command. Hat da jemand eine Lösung parat?

    Vielen Dank und beste Grüße
    Norman

    Kommentar


    • Gast
      Gast kommentierte
      Kommentar bearbeiten
      ich mache das mit SNIPS, das Problem löse ich in einem Function-Node in dem ich Werte setze und dann die Message auswerte, so sieht der aus

      var devicelocation ="";
      var device ="";
      var wert = "100";
      var msg2 = {};

      for(var i=0; i<msg.payload.slots.length; i++) {
      if (msg.payload.slots[i].slotName === "deviceLocation")
      {
      devicelocation = { payload: msg.payload.slots[i].value.value };
      }
      if (msg.payload.slots[i].slotName === "device")
      {
      device = { payload: msg.payload.slots[i].value.value };
      }
      if (msg.payload.slots[i].slotName === "value")
      {
      wert = msg.payload.slots[i].value.value;
      }else {
      wert="on";
      }

      }


      msg2.devicelocation=devicelocation;
      msg2.device=device;
      msg2.wert=wert;

      return msg2;

    • Negropo
      Negropo kommentierte
      Kommentar bearbeiten
      Ich habe jetzt eine ziemlich einfache Lösung gefunden, die auch funktioniert.
      function-Node mit folgendem Inhalt:

      if (msg.on_off_command === true && msg.payload === 'on')
      {
      msg.bri = 100
      }
      if (msg.on_off_command === true && msg.payload === 'off')
      {
      msg.bri = 0
      }
      if (msg.on_off_command === false && msg.payload > 0)
      {
      msg.bri = msg.payload
      }
      msg.payload = msg.bri
      return msg;

      Gruß Norman
  • verdammt
    LoxBus Spammer
    • 27.08.2015
    • 273

    Hallo Gemeinde,

    ich versuche mich auch ein wenig in dem Thema NodeRed mit Loxone, es klappt soweit bisher auch recht gut.
    Echt Hut ab was hier so alles geleistet und gemacht wird.

    Zwei Dinge sind mir bisher noch nicht so ganz klar.
    Was mir nicht ganz klar ist wie sich ein Status bzw. Value aktualisiert? Ich hab mir mal einen Wert von meinem Stromzähler mit dem "Control in" abgeholt,
    im Debug erscheint auch der Wert aber immer nur dann wenn der Flow Deployed wird. Wann aktualisiert sich so ein Control in?

    Was mir auch noch nicht verständlich ist wie der "Stream In" klappt.
    Ich habe in Loxone eine Seite mit allen Temperaturen von allen Fühlern welche in einer Kategorie und Raum sind, diesen Raum und Kategorie habe ich im "Stream in" ausgewählt und einen DEBUG hinten dran geschaltet um mal zu schauen was man dann da so sieht.
    Aber irgendwie sieht man nicht nur die Werte von der Heizung des Control in.
    Die Werte ändern sich aber in der Loxone ständig.

    Gruß
    Markus

    Grüße Markus
    __________________________________________________ ________
    1 Miniserver GEN 2, 6 Extension, AirBase, Tree, Loxberry
    SONOFF 4CH für Garten. MS4Home

    Kommentar


    • maxw
      maxw kommentierte
      Kommentar bearbeiten
      Werte werden nur bei Änderung aktualisiert.
      Was macht der Switch im letzten Bild?

    • verdammt
      verdammt kommentierte
      Kommentar bearbeiten
      oh das war ein versuch, der Switch ist nun weg.

    • verdammt
      verdammt kommentierte
      Kommentar bearbeiten
      Es klappt nun, ich hatte einen Fehler in den Kategorien.
  • carlhvmoll
    Dumb Home'r
    • 27.03.2018
    • 13

    Hallo (verwende Google zum Übersetzen) Englisch ist meine Muttersprache. Topic - Loxone / Node-Red / Alexa.

    Ich kann Lichter über Alexa Node-Red-Loxone (mit Schaltern) steuern, aber ich kann keine Blinds und Dimmer zum Arbeiten bekommen. Könnte jemand bitte eine schrittweise Anleitung zur Steuerung von Jalousien +% und gedämpften Lichtern geben. Ich bin diesem Thread gefolgt, ich habe sogar den von Xenobiologist geposteten Code importiert, aber es funktioniert einfach nicht für mich.

    Beachten Sie, dass es mehrere Fälle von Alexa-Knoten gibt und ich habe zwei versucht:

    Alexa local funktioniert nicht mit Gen 2 und ist nicht auffindbar (sehr unzuverlässig).
    node-red-contrib-amazon-echo - funktioniert Licht ein- / ausschalten, Blinds oder Dimming hab ich jedoch nicht zum Laufen bringen.

    Möglicherweise ist das Problem der Alexa-Knoten. Fragst oder hat jemand node-red-contrib-amazon-echo Laufen gebracht mit blinds und licht dimmen ?

    Kommentar

    • Xenobiologist
      Lox Guru
      • 15.01.2016
      • 1112

      Ich nutze zwei Echo dot 2.Gen mit dem Alexa-local Skill ohne Probleme. Wenn die Geräte einmal gefunden wurden, dann lassen sich diese zuverlässig steuern.
      Jalousien und Dimmen ist ebenfalls kein Problem.

      I use two echo dots ( 2nd generation) and I have no problems using them with the alexa-local-skill.
      There is also no problem with controlling blinds or dimming the light.

      Give the local-skill another try and finally all should be ok.
      Node-RED mit influxDB und Grafana - z.B. Statistiken auslagern:
      https://www.loxforum.com/forum/germa...d-grafana-visu
      Mit Loxone einen Windows-PC steuern:
      https://www.loxforum.com/forum/faqs-...indows-steuern

      Kommentar


      • carlhvmoll
        carlhvmoll kommentierte
        Kommentar bearbeiten
        Thx Ill try again
    • verdammt
      LoxBus Spammer
      • 27.08.2015
      • 273

      Hallo Loxone Profis,

      ich habe einen Analogen Eingang erstellt und diesen an den ALP Eingang der Automatikjalousie gehangen und dann per Alexa die Werte an den Eingang gesendet. Alexa Rolladen X 50 %, der Rolladen fährt wie er soll auf die Position.
      Das ganze klappt aber nur wenn ich den Eingang die Visualisierung aktiviere, dann habe ich aber Bausteine bzw. Schalter in der APP die man dort nicht braucht.
      Über den Baustein selber im NODE RED komme ich an den ALP nicht ran.

      Gibt es noch eine andere Möglichkeit diesen Eingang zu zu steuern?

      Gruß
      Markus

      Grüße Markus
      __________________________________________________ ________
      1 Miniserver GEN 2, 6 Extension, AirBase, Tree, Loxberry
      SONOFF 4CH für Garten. MS4Home

      Kommentar

      • carlhvmoll
        Dumb Home'r
        • 27.03.2018
        • 13

        Apologies that this is in English (when I run this through a translation service, the outcome is terrible and while I can read German. My writing skills are terrible plus embarrassing for me.

        I’ve tested a number of pallets / node addon’s hit issues, running under Pi/Root had to reimage my raspberry to get things working.

        Alexa local is pretty good, but has limitations. Alexa will always and only recognises the end point as a “Light” that limits “Natural” voice control, especially using Room Awareness (which was Key for me) since Alexa is in every room, I don’t want to go into a room and remember what the room im in or what a group is called. I want to simply enter any room and say Alexa, “Lights on”, Alexa “Blinds Up/Down; set blinds up/down %; adjust slats by % ” and do that in every room.

        Ive now cracked that, I’ve been testing this node-red-contrib-alexa-smart-home (it’s in Beta, some issue but the Dev is very responsive), it’s a fork but an older skill, main advantage is that you can force the device type, this has been Key in getting Alexa to recognise the end point other than a Light, ive been able to designate the end point as “other” but also designate the end point as other devices, Switch/Thermostat/Media/Light actually any that Alexa currently allow. This allows me to enter any room, voice control the devices in a room via Room Awareness and control devices (note for some reason Room awareness is only in the IOS and Android App, it’s not visible / available in the web version). Created the group Office, named my Blinds “Office Blinds”, my lights Office Lights and added them into the group with Alexa Echo device named Office. And then the same set-up for other Rooms, Kitchen, Living room Bedroom(s), etc and all work.

        Some things I had to do to get this to work.
        Add a virtual interface on Alp for the blinds to control %
        Add a virtual interface on All for the blinds to control Slats
        Created an end point as Other named It office blinds with Brightness & %



        Code:
        [{"id":"c43e391a.4bcf58","type":"alexa-smart-home-v3","z":"4bd82ce.11378d4","conf":"d7188d8.de1707","device":"836","acknowledge":true,"name":"Office Blinds","topic":"","x":149,"y":153,"wires":[["6c04dd3f.9815f4","38e8e523.8dea3a"]]},{"id":"26ebcf08.f37d5","type":"loxone-webservice","z":"4bd82ce.11378d4","name":"All Blinds","miniserver":"87f1091d.700e18","uri":"jdev/sps/io/vi34/","appendpayload":true,"x":580,"y":80,"wires":[[]]},{"id":"145ac159.dacb9f","type":"loxone-control-out","z":"4bd82ce.11378d4","name":"South Left Blinds","miniserver":"87f1091d.700e18","control":"110c7de9-0133-7b83-ffffe0bc104b2563","x":790,"y":320,"wires":[]},{"id":"6f72dd1b.ca18d4","type":"loxone-control-out","z":"4bd82ce.11378d4","name":"South Right Blinds","miniserver":"87f1091d.700e18","control":"110c7dec-00a7-9cfa-ffffe0bc104b2563","x":790,"y":260,"wires":[]},{"id":"b9325f84.7bca3","type":"loxone-control-out","z":"4bd82ce.11378d4","name":"West Left Blinds","miniserver":"87f1091d.700e18","control":"110c7de6-0057-3922-ffffe0bc104b2563","x":780,"y":200,"wires":[]},{"id":"a12fdb9.9a15528","type":"loxone-control-out","z":"4bd82ce.11378d4","name":"West Right Blinds","miniserver":"87f1091d.700e18","control":"110c7de8-025f-5a3b-ffffe0bc104b2563","x":790,"y":140,"wires":[]},{"id":"feb3139.e4476f","type":"debug","z":"4bd82ce.11378d4","name":"WebService","active":true,"tosidebar":true,"console":false,"tostatus":true,"complete":"true","targetType":"full","x":570,"y":40,"wires":[]},{"id":"6c04dd3f.9815f4","type":"function","z":"4bd82ce.11378d4","name":"Blind Function - Home","func":"if (msg.payload == \"-25\")\n{\n    msg.payload = \"FullDown\"\n    return [null,msg];\n}\nif (msg.payload == \"25\")\n{\n    msg.payload = \"FullUp\"\n    return [null,msg];\n}\nif (msg.command == \"SetBrightness\")\n{\n    return [msg,null];\n}","outputs":2,"noerr":0,"x":379,"y":153,"wires":[["26ebcf08.f37d5","feb3139.e4476f"],["a12fdb9.9a15528","977fcca0.32a69","b9325f84.7bca3","6f72dd1b.ca18d4","145ac159.dacb9f"]]},{"id":"977fcca0.32a69","type":"debug","z":"4bd82ce.11378d4","name":"Control","active":true,"tosidebar":true,"console":false,"tostatus":true,"complete":"true","targetType":"full","x":760,"y":100,"wires":[]},{"id":"3f493521.9c92ca","type":"alexa-smart-home-v3","z":"4bd82ce.11378d4","conf":"d7188d8.de1707","device":"845","acknowledge":true,"name":"Office Shade","topic":"","x":149,"y":233,"wires":[["f85245fd.d2e008","3688c50f.308a5a"]]},{"id":"3688c50f.308a5a","type":"loxone-webservice","z":"4bd82ce.11378d4","name":"All Blind Shade ","miniserver":"87f1091d.700e18","uri":"jdev/sps/io/vi42/","appendpayload":true,"x":400,"y":240,"wires":[[]]},{"id":"f85245fd.d2e008","type":"debug","z":"4bd82ce.11378d4","name":"Shade","active":false,"tosidebar":true,"console":false,"tostatus":true,"complete":"true","targetType":"full","x":390,"y":200,"wires":[]},{"id":"d662b1d5.614e4","type":"comment","z":"4bd82ce.11378d4","name":"Office Blind Control","info":"","x":90,"y":80,"wires":[]},{"id":"38e8e523.8dea3a","type":"debug","z":"4bd82ce.11378d4","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":310,"y":80,"wires":[]},{"id":"d7188d8.de1707","type":"alexa-smart-home-v3-conf","z":"","username":"YOUR USERSNAME","mqttserver":"mq-red.cb-net.co.uk","webapiurl":"red.cb-net.co.uk"},{"id":"87f1091d.700e18","type":"loxone-miniserver","z":"","host":"10.147.1.231","port":"80","enctype":"0","active":true}]
        Angehängte Dateien

        Kommentar


        • Xenobiologist
          Xenobiologist kommentierte
          Kommentar bearbeiten
          Sorry, I don't use a real alexa skill. I'm fine with the local-node, that is why I cannot help you.
      • christof89
        Lox Guru
        • 29.08.2015
        • 1373

        Habe mir jetzt auch mal node-red installiert und bin bisher davon begeistert, einfach und schnell installiert.
        Hätte dazu jetzt eine Frage.

        Ich habe einen "control-in" Eingang über den ich mir die Temperatur aus einem Raum hole,
        diesen Wert würde ich nun gerne mit Text ergänzen "Im Wohnzimmer hat es [TEMP] Grad",
        und dann an eine TTS URL senden den Satz per TTS am Music Server auszugeben:
        "http://a.b.c.d:7091/audio/3/tts/###HIER-Der-Satz###/30"

        Der ganze Vorgang sollte via Alexa (node-red-contrib-alexa-local) gestartet werden.

        Wie müsste ich das ganze den angehen, hat hier jemand vielleicht den entscheidenden Tipp?

        Kommentar


        • pmayer
          pmayer kommentierte
          Kommentar bearbeiten
          Schau dir mal den Template-Node von node-red an... damit kannst du den Text zusammen bauen. Im http-out-node solltest du außerdem dem Platzhalter {{msg.payload}} nutzen können. Sollte da in der Doku stehen.

        • christof89
          christof89 kommentierte
          Kommentar bearbeiten
          Danke, das Template konnte ich so zusammen bauen und mir mit dem Debug Node ausgeben.
          Mir ist nur nicht klar, welchen node du mit "http-out" meinst.

          Bei mir finde ich nur einen "http response" node, hier steht aber wiederum dass der Input von einem "http-input-Knoten" stammen muss...
      • Xenobiologist
        Lox Guru
        • 15.01.2016
        • 1112

        Zitat von christof89
        Habe mir jetzt auch mal node-red installiert und bin bisher davon begeistert, einfach und schnell installiert.
        Hätte dazu jetzt eine Frage.

        Ich habe einen "control-in" Eingang über den ich mir die Temperatur aus einem Raum hole,
        diesen Wert würde ich nun gerne mit Text ergänzen "Im Wohnzimmer hat es [TEMP] Grad",
        und dann an eine TTS URL senden den Satz per TTS am Music Server auszugeben:
        "http://a.b.c.d:7091/audio/3/tts/###HIER-Der-Satz###/30"

        Der ganze Vorgang sollte via Alexa (node-red-contrib-alexa-local) gestartet werden.

        Wie müsste ich das ganze den angehen, hat hier jemand vielleicht den entscheidenden Tipp?
        Willst du das wirklich? Der ControlIn gibt jede Änderung weiter.
        Möchtest du nicht lieber - Alexa Wohnzimmertemperatur - sagen und dann etwas ausgegeben bekommen?
        Node-RED mit influxDB und Grafana - z.B. Statistiken auslagern:
        https://www.loxforum.com/forum/germa...d-grafana-visu
        Mit Loxone einen Windows-PC steuern:
        https://www.loxforum.com/forum/faqs-...indows-steuern

        Kommentar


        • christof89
          christof89 kommentierte
          Kommentar bearbeiten
          Wenn das ginge natürlich.
          Welcher Node würde denn eine Ausgabe am echo generieren?

          Aber ja ich hätte auch gerne die Möglichkeit es per TTS auszugeben...

        • Xenobiologist
          Xenobiologist kommentierte
          Kommentar bearbeiten
          Siehe nächster Post.
      • Xenobiologist
        Lox Guru
        • 15.01.2016
        • 1112

        Ich denke, so könnte man es machen. MIt VoiceRSS:

        Alexa-local-node --> Loxone Webservice Call --> VoiceRSS mp3 --> Ausgabe

        Code:
        [{"id":"287d81b7.2d058e","type":"alexa-local","z":"aa9a7137.636bb8","devicename":"WC-Temperatur","inputtrigger":true,"x":500,"y":420,"wires":[["984b1450.6772d8"]]},{"id":"5fab106d.c18d6","type":"inject","z":"aa9a7137.636bb8","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":"","x":320,"y":390,"wires":[["287d81b7.2d058e"]]},{"id":"5bbc399f.d034d8","type":"VoiceRSStts","z":"aa9a7137.636bb8","name":"TTS","apiKey":"YOURAPIKEY","language":"de-de","rate":"0","codec":"MP3","format":"48khz_16bit_mono","cacheLocation":"/tmp","x":920,"y":500,"wires":[["fa38a77d.a7cd9"]]},{"id":"984b1450.6772d8","type":"loxone-webservice","z":"aa9a7137.636bb8","name":"Temp WC","miniserver":"2fc45623.c6790a","uri":"jdev/sps/io/Temp%20WC","appendpayload":false,"x":620,"y":500,"wires":[["569adf22.9402d8"]]},{"id":"deb96624.1f384","type":"inject","z":"aa9a7137.636bb8","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"x":330,"y":500,"wires":[["984b1450.6772d8"]]},{"id":"fa38a77d.a7cd9","type":"exec","z":"aa9a7137.636bb8","command":"mplayer -volume 10","addpay":true,"append":"","useSpawn":"true","timer":"","oldrc":false,"name":"","x":1090,"y":500,"wires":[[],[],[]]},{"id":"569adf22.9402d8","type":"function","z":"aa9a7137.636bb8","name":"","func":"msg.payload = 'Im WC sind gerade ' +msg.payload.replace(\".\", \",\"); \nreturn msg;","outputs":1,"noerr":0,"x":790,"y":500,"wires":[["5bbc399f.d034d8"]]},{"id":"2fc45623.c6790a","type":"loxone-miniserver","z":"","host":"192.168.178.9","port":"80","enctype":"0","active":true}]
        Node-RED mit influxDB und Grafana - z.B. Statistiken auslagern:
        https://www.loxforum.com/forum/germa...d-grafana-visu
        Mit Loxone einen Windows-PC steuern:
        https://www.loxforum.com/forum/faqs-...indows-steuern

        Kommentar


        • christof89
          christof89 kommentierte
          Kommentar bearbeiten
          Wenn das damit funktioniert nichts.
          Wie kann man denn dort einen dynamischen Parameter in die url übergeben?

        • Xenobiologist
          Xenobiologist kommentierte
          Kommentar bearbeiten
          Du kannst msg.payload in einen function node so basteln wie du es brauchst und dann einfach anhängen lassen an deine URL.

        • pmayer
          pmayer kommentierte
          Kommentar bearbeiten
          Oder eben mit dem Template-Node :-)
      • zechasso
        Extension Master
        • 30.12.2015
        • 147

        Ich benötige bitte eure Experten-Hilfe als NodeRed-Neuling:
        NodeRed sowie der MQTT-Broker laufen bereits.
        Ich konnte problemlos Loxone an NodeRed koppeln und auch bereits wunderbar Daten aus dem MS in NodeRed auslesen.
        Nun will ich aber per MQTT die Tasten-Befehle meines Shelly 2.5 auslesen und per NodeRed an den Automatik-Jalousie-Baustein im MS übergeben.
        Ich kapier aber noch nicht, wie ich diesen Baustein bzw. seine Eingänge Cu und Cd ansprechen kann.
        Kann mir das jemand kurz erklären bitte?

        Kommentar


        • AlexAn
          AlexAn kommentierte
          Kommentar bearbeiten
          warum nimmst du den Umweg über NodeRed - schick dir die Tasten gleich zum Miniserver und werte in der Config die Zeiten aus
          Tasten der Shellys im Post #288: https://www.loxforum.com/forum/hardw...-shelly/page20

          Position aus MQTT/Http API kannst du auf eine EIB Jalousie geben für die Visu
          Zuletzt geändert von AlexAn; 06.05.2019, 21:15.

        • pmayer
          pmayer kommentierte
          Kommentar bearbeiten
          Wenn das direkt geht, hat Alex natürlich nen Punkt :-)

        • AlexAn
          AlexAn kommentierte
          Kommentar bearbeiten
          pmayer bei den GPIOs ist deine Entwicklung schneller als der Weg über MQTT
      • zechasso
        Extension Master
        • 30.12.2015
        • 147

        Vielen Dank für deine Tipps. Soweit bin ich bereits.

        Zitat von zechasso
        I so dass Loxone in mag (On/Off/Pulse).
        Nur weiß ich noch nicht, WIE der MS die msg.payload korrekterweiwse benötigt, sodass er sie verarbeitet.

        Kommentar

      • Christian Fenzl
        Lebende Foren Legende
        • 31.08.2015
        • 11200

        AlexAn Jetzt bist du aber lustig :-)
        Das haben wir zechasso doch im Shelly-Thread gesagt, dass er die Position vom Shelly nicht an die AutoJalo bringt :-)
        Die EIB-Jalousie hat ja nichts außer hoch/runter. Das hilft für die AutoJalo nicht weiter - dafür braucht er die Tasten des Shelly als (virtuelle) Eingänge, und die Relais als (virtuelle) Ausgänge.

        zechasso Der Weg über node-red passt schon.
        Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine

        Kommentar

        • zechasso
          Extension Master
          • 30.12.2015
          • 147

          Eine Frage noch zu meiner oben beschriebenen Problematik:
          kann ich direkt mit NodeRed direkt die Befehle für Auf, Ab und Stop an den Automatik-Jalousiebaustein senden?
          Oder klappt das nur, wenn ich virtuelle Eingänge definiere, die ich dann an die entsprechenden Eingänge Cu und Cd des Bausteins hänge?

          Kommentar

        • AlexAn
          Lebende Foren Legende
          • 25.08.2015
          • 4215

          Habs jetzt auch gecheckt das der Loxberry fehlt

          Klicke auf die Grafik für eine vergrößerte Ansicht

Name: nodered.JPG
Ansichten: 2028
Größe: 110,9 KB
ID: 200584

          Grüße Alex

          Kommentar

          • zechasso
            Extension Master
            • 30.12.2015
            • 147

            Shelly mit NodeRed und Loxone läuft nun.

            Nun wollte ich noch Alexa local in NodeRed implementieren.
            Mein Echo ist jedoch Gen. 2 und das wird scheinbar von diesem Paket nicht unterstützt
            Habt ihr damit Erfahrung, gibt es dazu einen Workaround um diese Funktionalität ans Laufen zu bekommen?

            Kommentar

            Lädt...