Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Alexa Wecker schaltet Beleuchtung an

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Alexa Wecker schaltet Beleuchtung an

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

      @Elzershark
      Genau das Problem wollte ich auch mal angehen. Den beschissenen Wecker in Alexa durch ein Script in IOBroker dazu bringen vernünftig Geräte zu steuern und nicht nur stupide ein Weckton ausgeben.
      Das Problem war genau die Auswertung des sich bei jedem über Alexa erstellten Wecker anderem DP.
      Wenn Du das Script für die DP Auswertung fertig hast, könntest das bitte hier posten. Dann bastle ich mir auch ein schönen Wecker.

      1 Reply Last reply Reply Quote 0
      • Elzershark
        Elzershark last edited by

        Hier mein Vorläufiges Script.
        Es funktioniert mit einem ausgesuchten Echo.
        Ich werde es noch weiter entwickeln, so das es mit mehreren eingestellten Weckern für 1 Echo funktioniert.

        Pro Echo muss 1 Blockly erstellt werden und eingerichtet werden.

        https://www.elzershark.com/forum/index.php?thread/66-amazon-echo-alexa-wecker-beleuchtung-an

        ostseereiter J 2 Replies Last reply Reply Quote 0
        • ostseereiter
          ostseereiter @Elzershark last edited by

          @Elzershark Na da hast ja wieder Futter für deine Videos.

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

            @Elzershark
            Das einzige was hier noch fehlt ist das Ausschalten des Wecktones, da ich hier Musik über den Dot wiedergebe. Der Rest kann so stehen bleiben.

            1 Reply Last reply Reply Quote 0
            • S
              sveni_lee last edited by

              eventuell ahbe ich das ja falsch verstanden, aber warum triggert ihr nicht einfach die Wecker von Alexa?
              Bei mir ist es so, wenn der Wecker von Alexa klingelt gehen die Rolläden im Schlafzimmer hoch. Und dabei ist es
              egal welche Weckzeit (Wochenende oder Arbeitswoche) gerade aktuell ist.
              Mann muß doch den DP der getriggert werden soll nicht konkret bestimmen, man kann doch auch eine RegExp verwenden.

              on(/^alexa2.0\.Echo-Devices\.G070xxx\.Alarm\..+triggered$/, function(dp) {}); 
              

              das triggert jeden Wecker eines bestimmten Echo-Devices.

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

                @sveni_lee
                Hast flasch verstanden.
                Ich möchte bequem ein Wecker stellen über Alexa, aber nicht den blöden Weckton hören sondern ein Script starten, so wie Du auch. Jetzt kommt der Unterschied, wenn ich per Sprache ein neuen Wecker anlege, wird jedes mal ein neuer DP dafür generiert und auf was soll ich mein Script triggern, wenn jedes mal ein anderer DP der Wecker ist?
                Wenn Du feste Wecker hast, die Du nur ein und ausschaltest, ist da kein Problem, da der DP der selbe bleibt und Du dann auch darauf triggern kannst.

                Ich versteh eh nicht warum man mit dem Alexa eigenen Wecker nichts schalten und nur diese beschissenen Töne wählen kann. Da kann mein alter Radiowecker aufm Nachtisch mehr und der ist alles andere als smart.

                Ich habe das Script noch nicht getestet, aber es wertet die "summery" aus, welche sich beim Erstelle des Wecker ändert und baut darauf auf. Ich wollte das Problem vor einiger Zeit selber angehen, hatte aber kein Ansatz wo ich hier anfangen soll, deshalb hatte ich mir selber einen Wecker gebastelt den ich nur aus und anschalte. Das hier ist ne Spielerei für den Fall, dass man mal schnell ein Wecker stellen möchte der eben bisschen mehr kann als nur nenn dummen Ton plärren.

                S 1 Reply Last reply Reply Quote 0
                • S
                  sveni_lee @Jan1 last edited by

                  @Jan1 sagte in Alexa Wecker schaltet Beleuchtung an:

                  Jetzt kommt der Unterschied, wenn ich per Sprache ein neuen Wecker anlege, wird jedes mal ein neuer DP dafür generiert und auf was soll ich mein Script triggern, wenn jedes mal ein anderer DP der Wecker ist?
                  Wenn Du feste Wecker hast, die Du nur ein und ausschaltest, ist da kein Problem, da der DP der selbe bleibt und Du dann auch darauf triggern kannst.

                  natürlich ändern sich die Wecker-DP. in meinem Beispiel wird auf einen Datenpunkt getriggert der mit
                  *alexa2.0.Echo-Devices.G070xxx.Alarm* beginnt und auf triggerd endet was dazwischen steht ist egal.
                  Somit können auch immer neue Wecker angelegt werden. es wird auf jeden x-beliebigen Wecker getriggert der auf "true" geht.
                  Du kannst doch aber Alexa auch als Radio-wecker verwenden und musst nicht unbedingt den Weckton nehmen soviel ich weiß.

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

                    @sveni_lee
                    Das wäre mir neu, mit Radio, wobei mir das auch nicht reicht.

                    Wenn ich einen Wecker per Sprache anlege, dann wird ein komplett neuer DP generiert und auf den kann ich nicht triggern, da der ja vorher nicht da war und so auch in kein Script integriert werden kann.

                    Zeig doch bitte mal von welchem DP Du sprichst, damit ich mir das mal anschauen kann, bin kein Fan von fertigen Scripten und würde schon gern mein eigenes Ding hier verwenden.

                    S 1 Reply Last reply Reply Quote 0
                    • S
                      sveni_lee @Jan1 last edited by

                      @Jan1

                      es wird ein neuer Wecker-DP unter

                      alexa2.0.Echo-Devices.G070RQxxxx.Alarm.dd7efe51-049d-4b26-8ff2-xxxxxx
                      

                      angelegt mit den den DP
                      enabled, time und triggered

                      triggered geht auf true wenn der "Wecker klingelt" und das wird mit

                      on(/^alexa2.0\.Echo-Devices\.G070xxx\.Alarm\..+triggered$/, function(dp) {}); 
                      

                      getriggered.
                      Mir it sogar aufgefallen, das es ca. 2-3 Sekunden braucht bis der Weckton zu hören ist, da haben sich die Rolläsen schon in gange gesetzt.
                      Du könntest also auch ein "Stop" an den Echo senden, dann würde erst gar kein ton zu hören sein sondern nur deine gewünschen Aktionen abgearbeitet werden.

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

                        @sveni_lee sagte in Alexa Wecker schaltet Beleuchtung an:

                        on(/^alexa2.0.Echo-Devices.G070xxx.Alarm..+triggered$/, function(dp) {});

                        OK, und wie baue ich das in ein Blockly ein? Java Script kann ich nicht
                        Wobei ich auch nicht verstehe, wie man ein DP in ein Script einbauen kann, den es zu dem Zeitpunkt noch nicht gibt, da der ja erst beim Erstellen des Wecker angelegt wird.

                        S 1 Reply Last reply Reply Quote 0
                        • S
                          sveni_lee @Jan1 last edited by

                          @Jan1

                          ich kenne mich mit Blockly nicht wirklich gut aus aber im Grunde ist es auch nur visualisiertes JavaScript.
                          Eventuell geht aber sowas

                          29.JPG

                          der RegExp-Ausdruck muß für Blockly eventuell angepasst werden und muß natürlich auch auf deinen Echo angepasst werden.

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

                            @sveni_lee
                            ich teste das mal, da ich das eben immer noch nicht ganz verstehe was ein "RegExp" ist und wo der herkommt.
                            Wäre aber zu schön, wenn das funktioniert, da das Blockly hier doch etwas verwirrend ist und ich auch der Meinung bin, dass das einfach gehen muss.

                            Nur noch mal zur Sicherheit, der DP existiert nicht bis ich ihn anlege und es sieht vorher so aus:
                            7a4103a2-6b55-441c-b023-7965c336b367-grafik.png

                            Wenn ich hier also was anpassen muss, dann hab ich eh nur das Device G090U6108...., was dann eben eingetragen werden muss.
                            Danke schon mal für die Hilfe.

                            S 1 Reply Last reply Reply Quote 0
                            • S
                              sveni_lee @Jan1 last edited by

                              @Jan1
                              ja, das ist in Ordnung. Der Datenpunkt muß auch nicht existieren...

                              ^alexa2.0\.Echo-Devices\.G090U61091570C7A\.Alarm\..+triggered$
                              

                              Ein RegExP ist eine Tool zum zum "sammeln" und vergleichen von Ausdrücken in diesem Fall DPs.
                              Mit einem Array kannst du ja mehrere DP triggern. Mit diesem RegExP machst Du im Grunde etwas ähnliches.
                              Du sagst JavaSkript es soll alle Datenpunkte finden und triggern die mit alexa2.0.Echo-Devices.G090U61091570C7A.Alarm beginnen und mit .triggered auswerten(triggern).

                              in diesem Fall

                              on(/^alexa2.0\.Echo-Devices\.G090U61091570C7A\.Alarm\..+triggered$/, function(dp) {}); 
                              

                              in diesem Fall wird ausgewertet ob die DPs auf true gehen. Wenn also kein DP gefunden wird dann passiert halt nichts.

                              Das war jetzt sicher nicht 100% korreckt aber hoffentlich verständlich.

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

                                @sveni_lee
                                OK, das hört sich mal gut an und war auch recht verständlich.
                                Das probier ich morgen mal aus, heute fehlt mir etwas die Zeit.

                                S 1 Reply Last reply Reply Quote 0
                                • S
                                  sveni_lee @Jan1 last edited by

                                  @Jan1
                                  Du kannst dich auch langsam mal an JavaSkript ran wagen...

                                  on(/^alexa2.0\.Echo-Devices\.G090U61091570C7A\.Alarm\..+triggered$/, function(dp) {
                                  
                                  	 setState("alexa2.0.Echo-Devices.G090U61091570C7A.Commands.deviceStop"/*Aelxa Stop*/, true);
                                  	
                                  });
                                  

                                  damit triggerst Du deinen Wecker und Stoppst ihn sofort wenn er auslöst... Eigentlich solltest Du dann nichts hören und könntest beliebiege Befehle anfügen.

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

                                    @sveni_lee
                                    Ich komme mit Blockly ganz gut zurecht 😊
                                    Problem bestand hier eher darin, dass ich die Funktion von "RegExp" nicht kannte und somit auch mit Java Script auf die Nase gefallen wäre.

                                    Homoran 1 Reply Last reply Reply Quote 0
                                    • Homoran
                                      Homoran Global Moderator Administrators @Jan1 last edited by

                                      @Jan1
                                      Dann bin ich ja froh, dass ich jetzt den ganzen Aufwand verstehe 😉

                                      Ich hatte mich das von Anfang an gefragt, warum nicht auf Wildcards getriggert wird.
                                      Da ich aber keine fremde Frau im Haus habe, war ich mir nicht sicher, ob da noch ein Stolperstein war

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

                                        @Homoran
                                        Ich hatte das auch schon mal vor einiger Zeit in einem eigenen Thread gefragt, wie man das erledigen kann und da kam nicht wirklich was rüber. Deshalb dachte ich schon, dass das nicht geht. So wie ich es jetzt aber verstanden habe, ist der Ansatz eigentlich sehr einfach.
                                        Wie ich oben schon geschrieben habe, ist das eher ne Spielerei und normal sollte so was banales doch mit Alexa schon intern funktionieren, machen die bei Amazon aber nicht. Es ist eben doch etwas leichter mal schnell ein Wecker bei Bedarf kurz mit Alex zu stellen und da mein IOBroker Wecker da schon ne ganze Menge in Abhängigkeit weiterer Faktoren steuert, wollt ich den Komfort eben auch beim Alexa Wecker haben, falls ich den mal verwenden möchte und genau das war ohne den Ansatz eben schwieriger als erwartet.

                                        1 Reply Last reply Reply Quote 0
                                        • Elzershark
                                          Elzershark last edited by Elzershark

                                          Mein Script funktioniert so:
                                          Ein Wecker wird gestellt über Alexa.
                                          Das Script erkennt das Wort "Wecker".
                                          Jetzt guckt Blockly nach, wo der Wecker ist, der "aktiv" ist und speichert den Pfad zu "trigger" im Alexa2 Adapter.
                                          "trigger" ändert sich zu "true", wenn der Wecker anfängt zu klingeln.
                                          Das erkennt dann Blockly und schaltet die Lampe.
                                          Mehr ist das nicht. 😁

                                          Da kann man dann natürlich auch mit angeben, das der Wecker sofort aus geht, Lieder abspielt, Jallo hoch geht, Kaffeemaschine an geht, Wetter gesagt wird oder was auch immer.. ☺

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

                                            @Elzershark
                                            Das macht bei mir eh schon ein separates Script, ich brauch hier schlicht den aktiven Wecker als Trigger, das reicht mir vollkommen aus😎

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            887
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            blockly javascript
                                            13
                                            60
                                            4840
                                            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