Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Node-Red mit Alexa - Dimmer

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Node-Red mit Alexa - Dimmer

    This topic has been deleted. Only users with topic management privileges can see it.
    • V
      vlink last edited by

      Vielen lieben Dank für die Antwort!

      Ich denke habe es hinbekommen.

      Kurze andere Frage. Jedesmal wenn ich das ganze deploye stürzt node-red ab und es dauert ca 1-2 Minuten bis es wieder läuft.

      Ist das normal? Läuft unter Windows 10.

      Log:

      node-red.0 2018-12-18 17:55:21.973 info Starting node-red: –max-old-space-size=128 C:\ioBroker\node_modules\iobroker.node-red/node_modules/node-red/red.js -v --settings C:\ioBroker\node_modules\iobroker.node-red/userdata/settings.js

      node-red.0 2018-12-18 17:55:17.239 info Save C:\ioBroker\node_modules\iobroker.node-red/userdata/flows.json

      node-red.0 2018-12-18 17:55:16.957 info node-red exited with 1

      node-red.0 2018-12-18 17:54:05.754 info Save C:\ioBroker\node_modules\iobroker.node-red/userdata/flows.json

      node-red.0 2018-12-18 17:53:23.911 warn

      node-red.0 2018-12-18 17:53:23.911 warn 18 Dec 17:53:23 - [warn] Projects disabled : set editorTheme.projects.enabled=true to enable

      node-red.0 2018-12-18 17:53:23.911 warn 18 Dec 17:53:23 - [info] User directory : C:\ioBroker\node_modules\iobroker.node-red\userdata/

      node-red.0 2018-12-18 17:53:23.895 warn

      node-red.0 2018-12-18 17:53:23.895 warn 18 Dec 17:53:23 - [warn] –----------------------------------------------------

      node-red.0 2018-12-18 17:53:23.895 warn 18 Dec 17:53:23 - [warn] [node-red-node-feedparser/feedparse] Error: Cannot find module 'sax'

      node-red.0 2018-12-18 17:53:23.895 warn 18 Dec 17:53:23 - [warn] [node-red/tail] Not currently supported on Windows.

      node-red.0 2018-12-18 17:53:23.895 warn

      node-red.0 2018-12-18 17:53:23.895 warn 18 Dec 17:53:23 - [warn] –----------------------------------------------------

      node-red.0 2018-12-18 17:53:20.286 warn

      node-red.0 2018-12-18 17:53:20.286 warn 18 Dec 17:53:20 - [warn] rpi-gpio : Raspberry Pi specific node set inactive

      node-red.0 2018-12-18 17:53:14.098 info Starting node-red: –max-old-space-size=128 C:\ioBroker\node_modules\iobroker.node-red/node_modules/node-red/red.js -v --settings C:\ioBroker\node_modules\iobroker.node-red/userdata/settings.js

      node-red.0 2018-12-18 17:53:09.082 info node-red exited with 1

      node-red.0 2018-12-18 17:53:08.864 warn

      node-red.0 2018-12-18 17:53:08.864 warn 18 Dec 17:53:08 - [warn] Projects disabled : set editorTheme.projects.enabled=true to enable

      node-red.0 2018-12-18 17:53:08.864 warn 18 Dec 17:53:08 - [info] User directory : C:\ioBroker\node_modules\iobroker.node-red\userdata/

      node-red.0 2018-12-18 17:53:08.848 warn

      node-red.0 2018-12-18 17:53:08.848 warn 18 Dec 17:53:08 - [warn] –----------------------------------------------------

      node-red.0 2018-12-18 17:53:08.848 warn 18 Dec 17:53:08 - [warn] [node-red-node-feedparser/feedparse] Error: Cannot find module 'sax'

      node-red.0 2018-12-18 17:53:08.848 warn 18 Dec 17:53:08 - [warn] [node-red/tail] Not currently supported on Windows.

      node-red.0 2018-12-18 17:53:08.848 warn

      node-red.0 2018-12-18 17:53:08.848 warn 18 Dec 17:53:08 - [warn] –----------------------------------------------------

      node-red.0 2018-12-18 17:53:05.395 warn

      node-red.0 2018-12-18 17:53:05.395 warn 18 Dec 17:53:05 - [warn] rpi-gpio : Raspberry Pi specific node set inactive

      …

      Übringes reicht ein Change node.

      Kann sagen ..Alexa Schlafzimmer licht aus.. dann macht er es auch aus:

      759_2018-12-18_17_57_14-node-red-0_-_iobroker.png

      1 Reply Last reply Reply Quote 0
      • R
        rewenode last edited by

        Super!

        @vlink:

        Jedesmal wenn ich das ganze deploye stürzt node-red ab und es dauert ca 1-2 Minuten bis es wieder läuft.

        Ist das normal? `

        Da kann ich auch nur rätseln. Hab seit 10Jahren nix mehr mit Windows zu tun :lol:

        Aber da sind einmal die Warnings " [warn] rpi-gpi". Die deuten darauf hin, dass du eine NR Installation gemacht hast, die eigentlich für den raspberry Pi gedacht ist.

        Dann hast du ein Problem mit einem node: "[node-red-node-feedparser/feedparse] / [warn] [node-red/tail] Not currently supported on Windows." Hängt ebenfalls mit der Installation zusammen.

        Näheres findest du hier: https://nodered.org/docs/getting-started/running

        ` > Install PM2

        sudo npm install -g pm2

        Note : sudo is required if running as a non-root user on Linux or OS X. If running on Windows, you will need to run in a command shell as Administrator, without the sudo command.

        If running on Windows, you should also ensure tail.exe is on your path, as described here. `

        1 Reply Last reply Reply Quote 0
        • V
          vlink last edited by

          Danke dir !

          Bei Node-red kann man eigentlich ja nicht viel falsch machen da ich es einfach als Adapter über die iobroker

          Konsole installiert habe. Dann sollte es eigentlich passen.

          1 Reply Last reply Reply Quote 0
          • V
            vlink last edited by

            Muss doch nochmal fragen.

            So 100% klappt es noch nicht.

            Wenn ich sage 'Alexa Stehlampe 50' > setzt er es richtig.

            Alexa aus, geht auch.

            Bei Alexa 'Stehlampe ein' > Schaltet er sie zwar ein, jedoch immer auf eine undefinierte, teilweise die letzte Helligkeit, aber nicht auf 100% wie ich es eigentlich möchte. Was mache ich hier falsch?

            Danke!

            [

            {

            "id": "ff41b356.eda65",

            "type": "tab",

            "label": "Lichter",

            "disabled": false,

            "info": ""

            },

            {

            "id": "fa8c3d66.255e9",

            "type": "alexa-local",

            "z": "ff41b356.eda65",

            "devicename": "Stehlampe",

            "inputtrigger": false,

            "x": 110,

            "y": 57,

            "wires": [

            [

            "26e02aef.786fe6",

            "1a6ff2c1.dc502d",

            "73caa55.6b0ed5c"

            ]

            ]

            },

            {

            "id": "26e02aef.786fe6",

            "type": "change",

            "z": "ff41b356.eda65",

            "name": "msg.bri -> msg.payload",

            "rules": [

            {

            "t": "change",

            "p": "payload",

            "pt": "msg",

            "from": "off",

            "fromt": "str",

            "to": "0",

            "tot": "num"

            },

            {

            "t": "change",

            "p": "payload",

            "pt": "msg",

            "from": "on",

            "fromt": "str",

            "to": "100",

            "tot": "num"

            },

            {

            "t": "set",

            "p": "payload",

            "pt": "msg",

            "to": "bri",

            "tot": "msg"

            }

            ],

            "action": "",

            "property": "",

            "from": "",

            "to": "",

            "reg": false,

            "x": 370,

            "y": 57,

            "wires": [

            [

            "3cace69a.b1f98a",

            "40516257.b2fd4c"

            ]

            ]

            },

            {

            "id": "3cace69a.b1f98a",

            "type": "ioBroker out",

            "z": "ff41b356.eda65",

            "name": "Philips_hue.Wohnzimmer.Stehlampe.level",

            "topic": "hue.0.Philips_hue.Wohnzimmer.Stehlampe.level",

            "ack": "false",

            "autoCreate": "false",

            "x": 720,

            "y": 57,

            "wires": []

            },

            {

            "id": "1a6ff2c1.dc502d",

            "type": "debug",

            "z": "ff41b356.eda65",

            "name": "Stehlampe Input Payload",

            "active": true,

            "tosidebar": true,

            "console": false,

            "tostatus": false,

            "complete": "payload",

            "x": 370,

            "y": 153,

            "wires": []

            },

            {

            "id": "40516257.b2fd4c",

            "type": "debug",

            "z": "ff41b356.eda65",

            "name": "Stehlampe Output Bri",

            "active": true,

            "tosidebar": true,

            "console": false,

            "tostatus": false,

            "complete": "payload",

            "x": 660,

            "y": 140,

            "wires": []

            },

            {

            "id": "73caa55.6b0ed5c",

            "type": "debug",

            "z": "ff41b356.eda65",

            "name": "Stehlampe Input Bri",

            "active": true,

            "tosidebar": true,

            "console": false,

            "tostatus": false,

            "complete": "bri",

            "x": 350,

            "y": 193,

            "wires": []

            }

            ]

            1 Reply Last reply Reply Quote 0
            • V
              vlink last edited by

              759_2018-12-19_22_11_22-node-red-0_-_iobroker.png

              1 Reply Last reply Reply Quote 0
              • R
                rewenode last edited by

                Also interessant wäre mal, wie die Nachricht aussieht, wenn du "Alexa ein" sagst.

                Dazu solltest du aber nicht 2 debug nodes an Stehlampe klemmen, sondern Sur eines mit der Einstellung 'complete msg object'
                3999_debug.png

                "Alexa ein" sollte ja nur EIN msg-object erzeugen und das hat eine payload-eigenschaft und ggf eine bri-eigenschaft.

                Interessant ist jetzt, gibt es da die bri-eigenschaft und falls ja, was hat die für Inhalt. Dazu die das Object im Debug Panel kopieren und hier posten.

                3999_debug3.png

                1 Reply Last reply Reply Quote 0
                • V
                  vlink last edited by

                  Wieder was gelernt. Danke!

                  Wenn ich nur 'Alexa Stehlampe Ein' sage > Kommt Payload mit 'On' und Bri mit dem letzten Wert z.b. '50'

                  Eigentlich kann ich damit leben. Bedeutet bei 'Alexa ein' schaltet er die Lampe ein mit der letzten Helligkeit.

                  Hätte es nur gerne, dass ich bei 'Ein' die Lampe auf 100% bekomme.

                  Das scheint sich nur zu beißen weil bei 'Ein' eben immer .payload = on und .bri = [letzter Wert] kommt.

                  Wüsste nicht wie ich das hinbekomme dann auf 100% zu gehen.

                  Wenn ich sage 'Alexa Stehlampe 75' kommt ja auch .paylod = on und .bri = 75

                  Danke!

                  1 Reply Last reply Reply Quote 0
                  • R
                    rewenode last edited by

                    ` > Wenn ich nur 'Alexa Stehlampe Ein' sage > Kommt Payload mit 'On' und Bri mit dem letzten Wert z.b. '50'…

                    Wenn ich sage 'Alexa Stehlampe 75' kommt ja auch .paylod = on und .bri = 75 `

                    Da hat das change-node keine change, woher soll es dann wissen, ob Alexa "on" oder "bri" meint?

                    Auszug aus der node Info
                    ` > ..

                    payload string | on/off

                    "on" or "off" trigger from Alexa.

                    when dimming command is issued, this payload stays "on" as long as bri > 0. In other words, payload == "off" only when bri == 0. `

                    Da hast du eigentlich keine change, das könnte nur der Entwickler des Alexa-node ändern. Da wirst du auch nicht tricksen können;-( Jedenfalls nicht in diese Konstellation NR/Alexa-local-node.

                    Das node trennt praktisch nicht zwischen on und bri.

                    1 Reply Last reply Reply Quote 0
                    • R
                      rewenode last edited by

                      Da war ich wohl nicht gründlich. Wer lesen kann ist klar im Vorteil :lol:

                      Sollte doch gehen.

                      ` > on_off_command boolean | true/false

                      indicate whether the command was an on/off command or a dimming/brightness command

                      eg. Alexa turn on/off light -> true

                      Alexa set light to 39% -> false

                      Alexa set light to 0% -> false `

                      Sollte so gehen (Pseudocode):
                      
                      Wenn msg.on_off_command dann
                          msg.payload -> 0/100 msg.payload
                      Sonst
                         msg.bri -> msg.payload
                      
                      

                      Das Ganze ist leicht in einen JSONata-Ausdruck gepackt. Ersetze mal dein Change-node durch Dieses:

                      [
                          {
                              "id": "a07b6c76.f86d2",
                              "type": "change",
                              "z": "2262a318.45ba74",
                              "name": "on/off or bri to payload",
                              "rules": [
                                  {
                                      "t": "set",
                                      "p": "payload",
                                      "pt": "msg",
                                      "to": "(\t   on_off_command = true ? (\t       payload = \"on\" ? 100 : 0\t  \t   ) : (\t     bri\t  )\t\t)",
                                      "tot": "jsonata"
                                  }
                              ],
                              "action": "",
                              "property": "",
                              "from": "",
                              "to": "",
                              "reg": false,
                              "x": 680,
                              "y": 760,
                              "wires": [
                                  [
                                      "747a10d.f6d8ef"
                                  ]
                              ]
                          }
                      ]
                      
                      1 Reply Last reply Reply Quote 0
                      • V
                        vlink last edited by

                        Ja cool

                        das geht..super und vielen vielen dank!

                        auch wenn ich es gerade noch nicht ganz verstehe wie es funktioniert 🙂

                        1 Reply Last reply Reply Quote 0
                        • D
                          dondon4002 last edited by

                          Können wir nicht gleich noch die Farbe hinzufügen 😄 Daran hapert es derzeit bei mir.

                          Leider brauch Phillips Hue einen "HUE" wert den weder der UI Colorpicker auswirft noch Alexa 😄

                          1 Reply Last reply Reply Quote 0
                          • R
                            rewenode last edited by

                            @vlink:

                            ..auch wenn ich es gerade noch nicht ganz verstehe wie es funktioniert 🙂 `

                            Das kommt mit der Zeit :lol:

                            Im Grunde eine 1:1 Umsetzung des Pseudocodes.

                            Der Trick war, dass das Alexa-local-node noch eine Eigenschaft on_off_command kennt. Und diese wird auf true gesetzt, wenn es sich um einen ON oder OFF Befehl handelte und NUR dann.

                            Damit ist es dann möglich zu unterscheiden, ob die 100 (ON/OFF-Befehl=true UND payload="on") oder der Helligkeitswert (bri) (ON/OFF-Befehl=false) zu setzen ist.

                            Der JSONata-Ausdruck ist vlt. von der Syntax nicht gleich verständlich;-( JSONata ist KEIN Javascript! auch wenn es ähnlich aussieht.

                            Muss man sich halt einlesen: http://jsonata.org/

                            Und die paar node-red Besonderheiten dazu: https://github.com/node-red/cookbook.no … ta-Recipes

                            Natürlich kann das ähnlich einfach mit Javascript gemacht werden, aber das steht im Change-node nicht zur Verfügung. Müßte man einen functions-node nehmen.

                            @dondon4002

                            Ja, da weis ich auch erstmal nicht wie das gehen kann. Hab leider keine Hue 😞

                            Mit welchem Adapter betreibst du denn das Teil? Kennt das Ding in den Objekten eine HUE-Eigenschaft ?

                            1 Reply Last reply Reply Quote 0
                            • V
                              vlink last edited by

                              Es gibt diese Datenpunkte vom HUE Adapter.

                              759_2018-12-22_13_26_41-objects_-_iobroker.png

                              1 Reply Last reply Reply Quote 0
                              • R
                                rewenode last edited by

                                Da gibt es doch einen hue-state. Was will der denn für Werte haben ?

                                Trag doch mal manuell welche ein und poste, wie die aussehen müssen.

                                1 Reply Last reply Reply Quote 0
                                • D
                                  dondon4002 last edited by

                                  Den Hue Adapter würde ich nicht nutzen wenn du eh Node-Red nutzt denn da gibt's ja das HueMagic

                                  und dieses ist Flexibel, es nimmt RGB oder HEX entgegen.. aber leider gibt Alexa nur HSB/HSL Werte als HUE (Hue: 0, Saturation: 1, Brightness:1) für Rot zum Beispiel. Man müsste also einen Converter von HSB/HSL zu HEX oder RGB haben.

                                  derzeit Steuer ich Rot / Blau / Weiss so.. was echt nicht toll ist.

                                  if ((msg['command']) == 'SetColorRequest') {
                                    if ((msg['payload']['hue']) == '0' && (msg['payload']['saturation']) == '1') {
                                      msg['payload']['hex'] = '#ff0000';
                                    } else if ((msg['payload']['hue']) == '240') {
                                      msg['payload']['hex'] = '#3366ff';
                                    } else if ((msg['payload']['hue']) == '0' && (msg['payload']['saturation']) == '0') {
                                      msg['payload']['hex'] = '#ffffff';
                                    }
                                    msg['payload']['brightness'] = '100';
                                    msg['payload']['saturation'] = '100';
                                    return msg;
                                  } else {
                                  }
                                  
                                  
                                  1 Reply Last reply Reply Quote 0
                                  • R
                                    rewenode last edited by

                                    Ich kenne mich da leider nicht gut aus.

                                    Aber sollte sowas nicht hilfreich sein?

                                    https://www.npmjs.com/package/node-red- … or-convert

                                    ` > This node converts between different color representations, it can convert between the following systems.

                                    RGB - Red, Green, Blue

                                    HSL - Hue, Saturation, Level

                                    HSV - Hue, Saturation, Value (brightnes)

                                    CSS - CSS color names `

                                    1 Reply Last reply Reply Quote 0
                                    • D
                                      dondon4002 last edited by

                                      Ja den habe ich ausprobiert aber irgendwie klappt es damit nicht so richtig. vielleicht mache ich es auch falsch.. Am Ende wäre es aber der richtige Converter dafür. HSV Array-> RGB als Array

                                      Man müsste dann aber schauen das man vorher Saturation und Brightness noch *100 nimmt..

                                      1 Reply Last reply Reply Quote 0
                                      • R
                                        rewenode last edited by

                                        @dondon4002:

                                        …Ja den habe ich ausprobiert aber irgendwie klappt es damit nicht so richtig.... `

                                        Gut ist immer, wenn man ein Beispiel zeigen kann, wie es sein soll.

                                        So nach dem Motto:

                                        Für gelb müssen folgende states folgende Werte bekommen…

                                        @dondon4002:

                                        Man müsste dann aber schauen das man vorher Saturation und Brightness noch *100 nimmt.. `

                                        Versuch doch mal die Werte per Hand bei den States zu setzen und schau, ob die Hue reagiert wie sie soll. Wenn das geht, sollte man das auch per flow hinbekommen;-)

                                        1 Reply Last reply Reply Quote 0
                                        • D
                                          dondon4002 last edited by

                                          Also irgendwas passt nicht 😞

                                          11834_35b18fc5-c690-4195-a782-5a48ee7c4877.jpg

                                          if ((msg['command']) == 'SetColorRequest') {
                                            msg['payload']['hsv'] = [(msg['payload']['hue']), (msg['payload']['saturation']) * 100, (msg['payload']['brightness']) * 100];
                                            return msg;
                                          } else {
                                          }
                                          
                                          

                                          Ausgabe Alexa und Blocky:

                                          {"hue":0,"saturation":1,"brightness":1,"hsv":[0,100,100]}
                                          

                                          Ausgabe Converter (HSV to RGB)

                                          [3,3,3]
                                          
                                          1 Reply Last reply Reply Quote 0
                                          • R
                                            rewenode last edited by

                                            Also wenn ich dich recht verstehe, soll zb. die Alexa Ausgabe so konvertiert werden. oder wie?

                                            sollte rot sein.

                                            {"hue":0,"saturation":1,"brightness":1,"hsv":[0,100,100]}
                                            

                                            so aussehen:

                                            ist immer noch rot, nur rgb

                                            {"hue":0,"saturation":1,"brightness":1,"rgb":[255,0,0]}
                                            

                                            oder verstehe ich das falsch?

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            872
                                            Online

                                            31.8k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

                                            5
                                            39
                                            7369
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo