Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Cloud Dienste
    4. gelöst: Alexa Logikwert

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    gelöst: Alexa Logikwert

    This topic has been deleted. Only users with topic management privileges can see it.
    • J
      Jan1 @grizzlyco last edited by

      @grizzlyco
      Ich glaube Du hast das mit den Routinen Namen nicht gecheckt.
      Beispiel, die Routine heißt "wo ist die Katze", dann lautet die Frage an Alexa "Alexa, wo ist die Katze" und schon dürfte Deine Frage beantwortet sein.

      1 Reply Last reply Reply Quote 0
      • G
        grizzlyco last edited by

        Ach so.
        Und wie bekomme ich aus dem True ein Zuhause Bzw nein hin?

        J 1 Reply Last reply Reply Quote 0
        • J
          Jan1 @grizzlyco last edited by

          @grizzlyco
          Das machst mit nem Script, dass Dir dann eben den z.B "speak" Dp im Alex Adpetr mit der gewünschte Antwort beschreibt.
          Bastle mal was zusammen und poste es hier, das bekommen wir schon auf die Reihe ist nichts kompliziertes.

          1 Reply Last reply Reply Quote 0
          • G
            grizzlyco last edited by

            Die Routine habe ich erstellt. Also kennt Alexa jetzt die Frage. Aber was wähle ich bei Aktion aus? Wenn ich „Smart Home / katzendatenpunkt“ auswähle kommt nur ein Ton.

            J 1 Reply Last reply Reply Quote 0
            • J
              Jan1 @grizzlyco last edited by Jan1

              @grizzlyco
              Du nimmst ein Trigger und wertest "summary" auf die gewünschte Frage aus und dann ne FALLS, die den "Speak" mit der Atnwort befüllt. Das ist sehr einfach 😉

              Also in die FALLS dann ne UND , wenn mehrere Katzen abgefragt werden sollen und eben den passenden DP den Du setzt. Wenn beides erfüllt, steure "speak" "mit Katze 1 ist da"

              1 Reply Last reply Reply Quote 0
              • G
                grizzlyco last edited by

                Nur damit ich dich richtig verstehe:

                Die Routine soll dann einen Datenpunkt in Iobroker Schalter.

                Dieser Schalter wertet dann in Iobroker aus und macht über den Alexa Adapter eine Sprachausgabe.

                Richtig?

                J 1 Reply Last reply Reply Quote 0
                • J
                  Jan1 @grizzlyco last edited by Jan1

                  @grizzlyco
                  Das ist über summery nicht nötig, wobei Du das auch so lösten könntest. Es gibt viele Wege das zu erledigen. Mit summery hab ich auch noch nichts gemacht, scheint mir aber ne elegante Lösung zu sein, da in dem DP die Frage die Alexa zuletzt verstanden hat aufgeführt wird. Mit der Routine kannst aber auch ein DP setzten, nur muss der vorher eben auch wieder erst an Alexa über z.B. den IoT angebunden werden und das kannst dir so eben sparen.

                  Heißt, die Routine selber macht nichts, die dient nur dazu um die Frage an Alexa im "summery" DP zu zeigen und damit geht es dann weiter.

                  1 Reply Last reply Reply Quote 0
                  • G
                    grizzlyco last edited by

                    Hmmmm vielleicht ist die frage doof, aber was ist summery?

                    J padrino 2 Replies Last reply Reply Quote 0
                    • J
                      Jan1 @grizzlyco last edited by

                      @grizzlyco
                      Ein DP im Alexa Adapter

                      1 Reply Last reply Reply Quote 0
                      • padrino
                        padrino Most Active @grizzlyco last edited by

                        @grizzlyco
                        Hast Du schonmal etwas mit Blockly(Script) gemacht?

                        1 Reply Last reply Reply Quote 0
                        • G
                          grizzlyco last edited by

                          Ja. Das sollte kein Problem sein.

                          J 1 Reply Last reply Reply Quote 0
                          • J
                            Jan1 @grizzlyco last edited by

                            @grizzlyco
                            Dann mal ran und hier posten falls es nicht so klappt wie gewünscht 😉

                            1 Reply Last reply Reply Quote 0
                            • G
                              grizzlyco last edited by

                              Mach ich. Danke erstmal.

                              1 Reply Last reply Reply Quote 0
                              • G
                                grizzlyco last edited by

                                Es hat funktioniert. Danke.
                                Ich habe mit dem Alexa Adapter noch nicht viel gemacht.

                                J 1 Reply Last reply Reply Quote 0
                                • J
                                  Jan1 @grizzlyco last edited by

                                  @grizzlyco
                                  wenn es läuft, oben editieren und gelöst dazu schreiben, dann noch das funktionierende Ergebnis hier rein.
                                  Erstens weil mans eventuell optimieren kann und zweitens damit andere User als Vorlage nutzen können 🙂

                                  1 Reply Last reply Reply Quote 1
                                  • G
                                    grizzlyco last edited by grizzlyco

                                    Lösung folgt

                                    on({id: 'alexa2.0.History.summary', change: "ne"}, function (obj) {
                                      var value = obj.state.val;
                                      var oldValue = obj.oldState.val;
                                      if (getState("alexa2.0.History.name").val == 'Schlafzimmer') {
                                        // Schalfzimmer
                                        if (getState("alexa2.0.History.summary").val == 'ist anton zuhause' && getState("surepetcareio.0.Bahnstr.pets.0").val == true) {
                                          setState("alexa2.0.Echo-Devices.XXXXXXXX.Commands.speak"/*speak*/, 'Ja, Anton ist zuhause');
                                        } else if (getState("alexa2.0.History.summary").val == 'ist anton zuhause' && getState("surepetcareio.0.Bahnstr.pets.0").val == false) {
                                          setState("alexa2.0.Echo-Devices.XXXXXXXX.Commands.speak"/*speak*/, 'Nein, Anton ist draussen');
                                        }
                                      } else if (getState("alexa2.0.History.name").val == 'Wohnzimmer') {
                                        // Wohnzimmer
                                        if (getState("alexa2.0.History.summary").val == 'ist anton zuhause' && getState("surepetcareio.0.Bahnstr.pets.0").val == true) {
                                          setState("alexa2.0.Echo-Devices.XXXXXXXX.Commands.speak"/*speak*/, 'Ja, Anton ist zuhause');
                                        } else if (getState("alexa2.0.History.summary").val == 'ist anton zuhause' && getState("surepetcareio.0.Bahnstr.pets.0").val == false) {
                                          setState("alexa2.0.Echo-Devices.XXXXXXXX.Commands.speak"/*speak*/, 'Nein, Anton ist draussen');
                                        }
                                      } else if (getState("alexa2.0.History.name").val == 'Bad') {
                                        // Bad
                                        if (getState("alexa2.0.History.summary").val == 'ist anton zuhause' && getState("surepetcareio.0.Bahnstr.pets.0").val == true) {
                                          setState("alexa2.0.Echo-Devices.XXXXXXXX.Commands.speak"/*speak*/, 'Ja, Anton ist zuhause');
                                        } else if (getState("alexa2.0.History.summary").val == 'ist anton zuhause' && getState("surepetcareio.0.Bahnstr.pets.0").val == false) {
                                          setState("alexa2.0.Echo-Devices.XXXXXXXX.Commands.speak"/*speak*/, 'Nein, Anton ist draussen');
                                        }
                                      } else if (getState("alexa2.0.History.name").val == 'Spielzimmer') {
                                        // Spielzimmer
                                        if (getState("alexa2.0.History.summary").val == 'ist anton zuhause' && getState("surepetcareio.0.Bahnstr.pets.0").val == true) {
                                          setState("alexa2.0.Echo-Devices.XXXXXXXX.Commands.speak"/*speak*/, 'Ja, Anton ist zuhause');
                                        } else if (getState("alexa2.0.History.summary").val == 'ist anton zuhause' && getState("surepetcareio.0.Bahnstr.pets.0").val == false) {
                                          setState("alexa2.0.Echo-Devices.XXXXXXXX.Commands.speak"/*speak*/, 'Nein, Anton ist draussen');
                                        }
                                      } else if (getState("alexa2.0.History.name").val == 'Timo Schlafzimmer') {
                                        // Timo Schafzimmer
                                        if (getState("alexa2.0.History.summary").val == 'ist anton zuhause' && getState("surepetcareio.0.Bahnstr.pets.0").val == true) {
                                          setState("alexa2.0.Echo-Devices.XXXXXXXX.Commands.speak"/*speak*/, 'Ja, Anton ist zuhause');
                                        } else if (getState("alexa2.0.History.summary").val == 'ist anton zuhause' && getState("surepetcareio.0.Bahnstr.pets.0").val == false) {
                                          setState("alexa2.0.Echo-Devices.XXXXXXXX.Commands.speak"/*speak*/, 'Nein, Anton ist draussen');
                                        }
                                      } else if (getState("alexa2.0.History.name").val == 'Küche') {
                                        // Küche
                                        if (getState("alexa2.0.History.summary").val == 'ist anton zuhause' && getState("surepetcareio.0.Bahnstr.pets.0").val == true) {
                                          setState("alexa2.0.Echo-Devices.XXXXXXXX.Commands.speak"/*speak*/, 'Ja, Anton ist zuhause');
                                        } else if (getState("alexa2.0.History.summary").val == 'ist anton zuhause' && getState("surepetcareio.0.Bahnstr.pets.0").val == false) {
                                          setState("alexa2.0.Echo-Devices.XXXXXXXX.Commands.speak"/*speak*/, 'Nein, Anton ist draussen');
                                        }
                                      }
                                    });
                                    
                                    
                                    
                                    padrino 1 Reply Last reply Reply Quote 0
                                    • padrino
                                      padrino Most Active @grizzlyco last edited by padrino

                                      @grizzlyco
                                      Ui, das ganze aber besser noch als "Code" darstellen lassen ("</>" im Forum Editor),
                                      👇

                                      Dann ist es besser nutzbar. ;-)
                                      

                                      Und evtl. die "G..." raus editieren, das sind die Seriennummern Deiner Echos.
                                      Wobei ich nicht weiß, ob "das Böse" damit wirklich etwas anfangen kann. 😉

                                      Was ich noch grob erkenne, Du Prüfstand auf Name des Echos, wenn Du auf Seriennummer prüfst, kannst Du so programmieren, dass Du nicht jeden einzeln angeben musst.
                                      Dann kannst Du Dir den Speakdatenpunkt (den Pfad) mit Seriennummer zusammen basteln. 🙂

                                      G 1 Reply Last reply Reply Quote 0
                                      • G
                                        grizzlyco @padrino last edited by

                                        @padrino
                                        Das mache ich bei Gelegenheit. Hatte heute morgen keine Zeit

                                        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

                                        790
                                        Online

                                        32.0k
                                        Users

                                        80.4k
                                        Topics

                                        1.3m
                                        Posts

                                        alexa
                                        3
                                        23
                                        835
                                        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