Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Cloud Dienste
    4. Alexa - NodeRed -> Python Script

    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

    Alexa - NodeRed -> Python Script

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

      Hallo zusammen.

      Ich habe mir vor einiger Zeit ein eigenes Smart Home gebastelt. Mit Raspberry Pi und Arduino. Die eigentliche Anwendung ist in Python umgesetzt.

      Nun habe ich mich endlich mal an Alexa rangetraut und bin ziemlich begeistert von der Technik. Der Hauptgrund war natürlich mit Alexa das Smart Home - per Sprache - zu steuern. Immer die Webapp aufzurufen ist zeitintensiv und natürlich nicht so cool 😄

      Die meisten Lösungen unterstützen nur An und Aus. Ich habe aber auch RGB Lichter (die auch Dimmbar sind) und ein paar andere Spielerein dabei. So bin ich dann jetzt bei ioBroker mit NodeRed und dem node-red-contrib-alexa-local Plugin gelandet. Das habe ich jetzt auch - mit einer ersten Lampe - zum laufen bekommen.

      Dabei habe ich es sehr simpel gehalten. Ein 'Alexa Local' als Lampe deklariert und den Input möchte ich einfach an ein Python Skript übergeben (per Advanced -> exec). Das soll dann den Rest machen. An und Aus übergibt er auch brav. Nur wie zum Geier bekomme ich weitere Daten an das Python Skript geschickt? Wenn ich z.B. sage 'Alexa, dimme Licht am Bett auf 50%' bekomme ich trotzdem nur ein 'on' an mein Python Script übergeben.

      Im NodeRed sehe ich unter dem 'Alexa local' einen kleinen Punkt mit 'bri: 50'. Also empfangen tut er es. Nur wo und was gebe ich im 'exec' ein, damit er es an Python weiter gibt?

      Kann mir da jemand helfen?

      1 Reply Last reply Reply Quote 0
      • H
        Hc-Yami last edited by

        Hallo HeAdLeSs,

        der Alexa Local Node kann mehrere Payloads ausgeben. Du schaust dir in deinem Flow wahrscheinlich nur den msg.payload an. Der msg.payload ist bei bei einer Brightness höher 1 (bri: 1) bis 100 (bri: 100) immer "on".

        Du musst dem Flow nun beibringen, dass er zunächst prüft ob "on/off" oder halt eine Brightness genannt wird. Das machst du mit einem Switch der wie folgt konfiguriert wird:

        4316_1.jpg

        In meinem Flow geht es nun "oben" weiter, weil ein "on/off" genannt wurde. Wurde ein Brightness Befehl genannt, geht es "unten" weiter. Ich muss zusätzlich noch eine "dimm" Funktion einbinden, dass ist bei deinem Python Script wahrscheinlich nicht notwendig. Einfach mal testen.

        Viel Spaß weiterhin. 🙂

        Grüße

        4316_2.jpg 4316_3.jpg 4316_4.jpg

        Übrigens:

        viewtopic.php?f=32&p=169277#p169277

        1 Reply Last reply Reply Quote 0
        • H
          HeAdLeSs last edited by

          Hallo Hc-Yami.

          Danke für deine Hilfe. Hatte zwischenzeitlich auch schon gelesen das es mit NodeRed doch nicht soo einfach ist. 😄 Variablen werden nicht einfach so durchgeschleift. Bei mir brauchte es allerdings wirklich nur ein function node um die Variable msg.bri weiterzugeben. Den Rest mache ich im Python Skript.

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

          Support us

          ioBroker
          Community Adapters
          Donate
          FAQ Cloud / IOT
          HowTo: Node.js-Update
          HowTo: Backup/Restore
          Downloads
          BLOG

          798
          Online

          31.8k
          Users

          80.0k
          Topics

          1.3m
          Posts

          2
          3
          854
          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