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

      so habe ich das im Moment > geht auf level

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

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

        Und so sieht die change rule aus für AN/AUS - das funktioniert:
        759_2018-12-18_15_21_49-node-red-0_-_iobroker.png

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

          Du hättest besser einen Export deines Flow gepostet.

          Du verwendest offenbar das Alexa-local-node.

          Zum Ein-/Ausschalten der Lampe nimmst du offenbar nur den iobroker-state für die Helligkeit (0=aus / 100=ein)

          Ok, kann man so machen.

          Das Alexa-local-node hat getrennte Output-Properties für:

          ON/OFF

          msg.payload "on/off"

          Helligkeit

          msg.bri 0-100

          Du brauchst also nur einen 2.ten change-node für die Helligkeit:

          3999_alexa-local.png

          Was mir bei deinem change-node noch aufgefallen ist, du wandelst "on" in "100" und "off" on "0". Wahrscheinlich solltest du besser in Zahlen konvertieren, also "on" in 100 und "off" in 0.

          1 Reply Last reply Reply Quote 0
          • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            888
                                            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