Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Node-Red
  5. Nodered Alexa Logik

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.5k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    844

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

Nodered Alexa Logik

Geplant Angeheftet Gesperrt Verschoben Node-Red
6 Beiträge 2 Kommentatoren 528 Aufrufe 2 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • T Offline
    T Offline
    TimoWald
    schrieb am zuletzt editiert von
    #1

    Hallo ich habe die Alexa im ioBroker integriert und würde gerne über notered die Lautstärke erhöhen bzw verringern mit step+ und step-. Ich kann zwar im ioBroker direkt sagen 50%, 70% usw aber dies nützt mir nix. Wie würde die Logik in nodered aussehen um dies zu realisieren?

    F 1 Antwort Letzte Antwort
    0
    • T TimoWald

      Hallo ich habe die Alexa im ioBroker integriert und würde gerne über notered die Lautstärke erhöhen bzw verringern mit step+ und step-. Ich kann zwar im ioBroker direkt sagen 50%, 70% usw aber dies nützt mir nix. Wie würde die Logik in nodered aussehen um dies zu realisieren?

      F Offline
      F Offline
      frankyboy73
      schrieb am zuletzt editiert von
      #2

      @timowald Hi, das könnte man so machen: Über Get Node (Player.volume) aktuelle Lautstärke auslesen, dann den Wert zum erhöhen oder veringern dazu rechnen/abziehen (in meinem Fall +/- 5) und das wieder an den Echo übergeben (Player.volume) Dazwischen habe ich noch einen Switch, damit ich nicht unter 0 oder über 100 steuere.
      Lautstärke1.jpg

      [
         {
             "id": "64d1ff22.75d51",
             "type": "ioBroker get",
             "z": "42e1e0df.44b9f",
             "name": "Volume",
             "topic": "alexa2.0.Echo-Devices.EchoAuswählen.Player.volume",
             "attrname": "payload",
             "payloadType": "value",
             "x": 400,
             "y": 1820,
             "wires": [
                 [
                     "babcb22e.3b2cf"
                 ]
             ]
         },
         {
             "id": "babcb22e.3b2cf",
             "type": "function",
             "z": "42e1e0df.44b9f",
             "name": "Berechnen",
             "func": "msg.payload = msg.payload + 5;\nreturn msg;",
             "outputs": 1,
             "noerr": 0,
             "initialize": "",
             "finalize": "",
             "libs": [],
             "x": 590,
             "y": 1820,
             "wires": [
                 [
                     "e8aa90e8.6cd2b"
                 ]
             ]
         },
         {
             "id": "d9dd560f.870ad8",
             "type": "function",
             "z": "42e1e0df.44b9f",
             "name": "Berechnen",
             "func": "msg.payload = msg.payload - 5;\nreturn msg;",
             "outputs": 1,
             "noerr": 0,
             "initialize": "",
             "finalize": "",
             "libs": [],
             "x": 590,
             "y": 1880,
             "wires": [
                 [
                     "e8aa90e8.6cd2b"
                 ]
             ]
         },
         {
             "id": "362d16ab.6358fa",
             "type": "ioBroker get",
             "z": "42e1e0df.44b9f",
             "name": "Volume",
             "topic": "alexa2.0.Echo-Devices.EchoAuswählen.Player.volume",
             "attrname": "payload",
             "payloadType": "value",
             "x": 400,
             "y": 1880,
             "wires": [
                 [
                     "d9dd560f.870ad8"
                 ]
             ]
         },
         {
             "id": "aaad768b.0fd638",
             "type": "ioBroker out",
             "z": "42e1e0df.44b9f",
             "name": "volume",
             "topic": "alexa2.0.Echo-Devices.EchoAuswählen.Player.volume",
             "ack": "false",
             "autoCreate": "false",
             "stateName": "",
             "role": "",
             "stateUnit": "",
             "stateMin": "",
             "stateMax": "",
             "x": 940,
             "y": 1840,
             "wires": []
         },
         {
             "id": "e8aa90e8.6cd2b",
             "type": "switch",
             "z": "42e1e0df.44b9f",
             "name": "",
             "property": "payload",
             "propertyType": "msg",
             "rules": [
                 {
                     "t": "btwn",
                     "v": "0",
                     "vt": "num",
                     "v2": "100",
                     "v2t": "num"
                 }
             ],
             "checkall": "true",
             "repair": false,
             "outputs": 1,
             "x": 790,
             "y": 1840,
             "wires": [
                 [
                     "aaad768b.0fd638"
                 ]
             ]
         },
         {
             "id": "39c3bcf8.4f3394",
             "type": "inject",
             "z": "42e1e0df.44b9f",
             "name": "+",
             "props": [
                 {
                     "p": "payload"
                 },
                 {
                     "p": "topic",
                     "vt": "str"
                 }
             ],
             "repeat": "",
             "crontab": "",
             "once": false,
             "onceDelay": 0.1,
             "topic": "",
             "payload": "true",
             "payloadType": "bool",
             "x": 210,
             "y": 1820,
             "wires": [
                 [
                     "64d1ff22.75d51"
                 ]
             ]
         },
         {
             "id": "cfa32f38.74a79",
             "type": "inject",
             "z": "42e1e0df.44b9f",
             "name": "-",
             "props": [
                 {
                     "p": "payload"
                 },
                 {
                     "p": "topic",
                     "vt": "str"
                 }
             ],
             "repeat": "",
             "crontab": "",
             "once": false,
             "onceDelay": 0.1,
             "topic": "",
             "payload": "true",
             "payloadType": "bool",
             "x": 210,
             "y": 1880,
             "wires": [
                 [
                     "362d16ab.6358fa"
                 ]
             ]
         }
      ]
      

      Schöne Grüße Frank

      T 1 Antwort Letzte Antwort
      0
      • F frankyboy73

        @timowald Hi, das könnte man so machen: Über Get Node (Player.volume) aktuelle Lautstärke auslesen, dann den Wert zum erhöhen oder veringern dazu rechnen/abziehen (in meinem Fall +/- 5) und das wieder an den Echo übergeben (Player.volume) Dazwischen habe ich noch einen Switch, damit ich nicht unter 0 oder über 100 steuere.
        Lautstärke1.jpg

        [
           {
               "id": "64d1ff22.75d51",
               "type": "ioBroker get",
               "z": "42e1e0df.44b9f",
               "name": "Volume",
               "topic": "alexa2.0.Echo-Devices.EchoAuswählen.Player.volume",
               "attrname": "payload",
               "payloadType": "value",
               "x": 400,
               "y": 1820,
               "wires": [
                   [
                       "babcb22e.3b2cf"
                   ]
               ]
           },
           {
               "id": "babcb22e.3b2cf",
               "type": "function",
               "z": "42e1e0df.44b9f",
               "name": "Berechnen",
               "func": "msg.payload = msg.payload + 5;\nreturn msg;",
               "outputs": 1,
               "noerr": 0,
               "initialize": "",
               "finalize": "",
               "libs": [],
               "x": 590,
               "y": 1820,
               "wires": [
                   [
                       "e8aa90e8.6cd2b"
                   ]
               ]
           },
           {
               "id": "d9dd560f.870ad8",
               "type": "function",
               "z": "42e1e0df.44b9f",
               "name": "Berechnen",
               "func": "msg.payload = msg.payload - 5;\nreturn msg;",
               "outputs": 1,
               "noerr": 0,
               "initialize": "",
               "finalize": "",
               "libs": [],
               "x": 590,
               "y": 1880,
               "wires": [
                   [
                       "e8aa90e8.6cd2b"
                   ]
               ]
           },
           {
               "id": "362d16ab.6358fa",
               "type": "ioBroker get",
               "z": "42e1e0df.44b9f",
               "name": "Volume",
               "topic": "alexa2.0.Echo-Devices.EchoAuswählen.Player.volume",
               "attrname": "payload",
               "payloadType": "value",
               "x": 400,
               "y": 1880,
               "wires": [
                   [
                       "d9dd560f.870ad8"
                   ]
               ]
           },
           {
               "id": "aaad768b.0fd638",
               "type": "ioBroker out",
               "z": "42e1e0df.44b9f",
               "name": "volume",
               "topic": "alexa2.0.Echo-Devices.EchoAuswählen.Player.volume",
               "ack": "false",
               "autoCreate": "false",
               "stateName": "",
               "role": "",
               "stateUnit": "",
               "stateMin": "",
               "stateMax": "",
               "x": 940,
               "y": 1840,
               "wires": []
           },
           {
               "id": "e8aa90e8.6cd2b",
               "type": "switch",
               "z": "42e1e0df.44b9f",
               "name": "",
               "property": "payload",
               "propertyType": "msg",
               "rules": [
                   {
                       "t": "btwn",
                       "v": "0",
                       "vt": "num",
                       "v2": "100",
                       "v2t": "num"
                   }
               ],
               "checkall": "true",
               "repair": false,
               "outputs": 1,
               "x": 790,
               "y": 1840,
               "wires": [
                   [
                       "aaad768b.0fd638"
                   ]
               ]
           },
           {
               "id": "39c3bcf8.4f3394",
               "type": "inject",
               "z": "42e1e0df.44b9f",
               "name": "+",
               "props": [
                   {
                       "p": "payload"
                   },
                   {
                       "p": "topic",
                       "vt": "str"
                   }
               ],
               "repeat": "",
               "crontab": "",
               "once": false,
               "onceDelay": 0.1,
               "topic": "",
               "payload": "true",
               "payloadType": "bool",
               "x": 210,
               "y": 1820,
               "wires": [
                   [
                       "64d1ff22.75d51"
                   ]
               ]
           },
           {
               "id": "cfa32f38.74a79",
               "type": "inject",
               "z": "42e1e0df.44b9f",
               "name": "-",
               "props": [
                   {
                       "p": "payload"
                   },
                   {
                       "p": "topic",
                       "vt": "str"
                   }
               ],
               "repeat": "",
               "crontab": "",
               "once": false,
               "onceDelay": 0.1,
               "topic": "",
               "payload": "true",
               "payloadType": "bool",
               "x": 210,
               "y": 1880,
               "wires": [
                   [
                       "362d16ab.6358fa"
                   ]
               ]
           }
        ]
        

        T Offline
        T Offline
        TimoWald
        schrieb am zuletzt editiert von TimoWald
        #3

        @frankyboy73 Habe es jetzt bei mir eingefügt. Es geht aber nur Lautstärke -.

        Bei Volume + kommt im ioBroker die Fehlermeldung: Datatype for Echo-Devices.G091AA08052424JH.Player.volume differs from expected, ignore state change! Please write correct datatype (number)

        F 1 Antwort Letzte Antwort
        0
        • T TimoWald

          @frankyboy73 Habe es jetzt bei mir eingefügt. Es geht aber nur Lautstärke -.

          Bei Volume + kommt im ioBroker die Fehlermeldung: Datatype for Echo-Devices.G091AA08052424JH.Player.volume differs from expected, ignore state change! Please write correct datatype (number)

          F Offline
          F Offline
          frankyboy73
          schrieb am zuletzt editiert von frankyboy73
          #4

          @timowald Hi, kann es sein das du dir die Iobrker Eingangswerte in String, Zeichenkette reinholst? Einstellung bei Node Red Instanz Haken gesetzt? Dann bekommst du keine Nummer sondern nen String aus der Get Node. Wenn ja würde ich das deaktivieren, dann muss du deine anderen Flows aber auch darauf anpassen.
          NodeRed1.jpg
          Oder du änderst in der Funktion den String vorm Berechnen in Nummer um. Das in die Funktion:

          msg.payload = Number(msg.payload) + 5;
          return msg;
          

          bzw.

          msg.payload = Number(msg.payload) - 5;
          return msg;
          

          Obwohl es mich wundert das es bei minus funktioniert und bei plus nicht.

          Schöne Grüße Frank

          T 1 Antwort Letzte Antwort
          0
          • F frankyboy73

            @timowald Hi, kann es sein das du dir die Iobrker Eingangswerte in String, Zeichenkette reinholst? Einstellung bei Node Red Instanz Haken gesetzt? Dann bekommst du keine Nummer sondern nen String aus der Get Node. Wenn ja würde ich das deaktivieren, dann muss du deine anderen Flows aber auch darauf anpassen.
            NodeRed1.jpg
            Oder du änderst in der Funktion den String vorm Berechnen in Nummer um. Das in die Funktion:

            msg.payload = Number(msg.payload) + 5;
            return msg;
            

            bzw.

            msg.payload = Number(msg.payload) - 5;
            return msg;
            

            Obwohl es mich wundert das es bei minus funktioniert und bei plus nicht.

            T Offline
            T Offline
            TimoWald
            schrieb am zuletzt editiert von
            #5

            @frankyboy73 Hi, mit der änderung der Funktion funktioniert es. Danke. Das einzige was noch ist was mich aber nicht weiter stört ist:
            Wenn ich die Lautstärke erhhöhe 25, 30, 35, 40 und dann verringer kommt erst 45, 40, 35, 30 andersrum genau so. Also immer noch mal eine Stufe höher. Stört mich aber nicht weiter.

            F 1 Antwort Letzte Antwort
            0
            • T TimoWald

              @frankyboy73 Hi, mit der änderung der Funktion funktioniert es. Danke. Das einzige was noch ist was mich aber nicht weiter stört ist:
              Wenn ich die Lautstärke erhhöhe 25, 30, 35, 40 und dann verringer kommt erst 45, 40, 35, 30 andersrum genau so. Also immer noch mal eine Stufe höher. Stört mich aber nicht weiter.

              F Offline
              F Offline
              frankyboy73
              schrieb am zuletzt editiert von frankyboy73
              #6

              @timowald Hi, mit was steuerst du denn die Lautstärke ? Bei mir funktioniert das Problemlos. Du könntest sonst mal deinen Flow zeigen, vielleicht muss da vorher noch was abfangen werden. Du könntest eventuell mal selber mit Debug Nodes schauen, warum erst in die andere Richtung gesteuert wird. Irgendwo durch muss das ja getriggert werden.
              Debug3.jpg

              Auch möchte ich noch mal auf die Einstellung Ausgabe als Zeichenkette / String hinweisen, wenn das deaktiviert ist, ist es für die meisten Anwendungen wesentlich einfacher, da ich die Ausgabe der In und Get Nodes dann meistens als Bool bzw. Zahl habe und nicht als Text und man muss nicht mehr so viel umwandeln.
              Nur als Beispiel, wenn ich mit nem Schalter/Datenpunkt ne Lampe/Datenpunkt Ein/Aus schalten will, wenn ich also mit ner Iobroker In Node ne Iobroker Out steuern will, also wenn die In Node true ist soll auch die Out true sein und wenn die in false ist soll auch die Out Node false sein, dann würde das bei der String konvertierung so ausgehen:
              In Node, dann Switch zu abfrage ob Zeichenkette/String ist true oder false und danach noch Change Node um den String in ein Bool zu wandeln.
              String1.jpg
              Wenn die String Konvertierung aus ist sieht das so aus:
              Aus der In Node kommt direkt Bool true/false und kann direkt auf die Out Node.
              String2.jpg
              Ist nur ein Beispiel und jeder muss für sich wissen womit er besser klar kommt. Kann natürlich auch ganz schön Arbeit sein wenn man das erst ändert wenn man schon viel umgesetzt hat.

              Schöne Grüße Frank

              1 Antwort Letzte Antwort
              0
              Antworten
              • In einem neuen Thema antworten
              Anmelden zum Antworten
              • Älteste zuerst
              • Neuste zuerst
              • Meiste Stimmen


              Support us

              ioBroker
              Community Adapters
              Donate

              665

              Online

              32.6k

              Benutzer

              82.1k

              Themen

              1.3m

              Beiträge
              Community
              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
              ioBroker Community 2014-2025
              logo
              • Anmelden

              • Du hast noch kein Konto? Registrieren

              • Anmelden oder registrieren, um zu suchen
              • Erster Beitrag
                Letzter Beitrag
              0
              • Home
              • Aktuell
              • Tags
              • Ungelesen 0
              • Kategorien
              • Unreplied
              • Beliebt
              • GitHub
              • Docu
              • Hilfe