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.
    • 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

                                  794
                                  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