Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Einsteigerfragen
    4. [gelöst]Alexa Weckzeit bearbeiten

    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

    [gelöst]Alexa Weckzeit bearbeiten

    This topic has been deleted. Only users with topic management privileges can see it.
    • Asgothian
      Asgothian Developer @Nick.The.Bird.92 last edited by

      @nick-the-bird-92 sagte in Alexa Weckzeit bearbeiten:

      1. Triggere den Ordner "alexa2.0.Echo-Devices.G091EV12202406HS.MusicAlarm.*.enabled" (um auch neue Wecker zu triggern)
      2. Auslesen der entsprechenden Weckzeit
      3. Abziehen von 30min der Weckzeit
      4. Überschreiben der Weckzeit

      Meine Probleme:
      Kann ich überhaupt durch den Trigger die richtige dazugehörige Weckzeit auswählen und wenn ja wie?
      Wie kann ich eine Weckzeit auslesen und dazu 30min abziehen?

      Ja. Im Trigger hast du über das dem Trigger übergebene Objekt Zugriff auf die ID des Objektes welches den Trigger ausgelöst hat. Unter der Annahme das alexa2.0.Echo-Devices.G091EV12202406HS.MusicAlarm.Alarm1.enabled der Datenpunkt für Alarm an/aus und
      alexa2.0.Echo-Devices.G091EV12202406HS.MusicAlarm.Alarm1.time der für die Zeit ist kannst du einfach die Folgende Methode nutzen:

      • in der ID im String das .enabled durch .time ersetzen.
      • mit dieser ID die aktuelle Zeit lesen und schreiben

      Vielen Dank im Voraus für eure Hilfe, falls ihr das Problem irgendwie anders gelöst habt, bin ich für alles Offen.

      LG
      Nick.The.Bird.92

      N 1 Reply Last reply Reply Quote 0
      • N
        Nick.The.Bird.92 @Asgothian last edited by Nick.The.Bird.92

        @asgothian
        Erst einmal vielen Dank für die schnelle Rückmeldung.

        Das klappt leider nicht. Alexa erstellt ja immer wieder neue Wecker (für unterschiedliche Zeiten).

        Hiermit kann ich ja triggern ob ein Wecker aktiviert wird (deswegen das "*")
        alexa2.0.Echo-Devices.G091EV12202406HS.MusicAlarm. * .enabled

        Ich will jetzt, dass die dazugehörige Zeit ausgelesen wird.

        Das kann zwar Alarm1 sein, aber auch Alarm 2 oder 3 oder 4.

        Mit deinem Vorschlag hab ich ja immer nur Alarm1 als trigger.

        FredF Asgothian 2 Replies Last reply Reply Quote 0
        • FredF
          FredF Most Active Forum Testing @Nick.The.Bird.92 last edited by

          @nick-the-bird-92
          Ich nutze RegExp um auf jede aktive Weckzeit zu triggern
          f9ad7a04-5d1c-4798-ae85-a1074f2bc1fd-grafik.png

          In deinem Fall würde darin stehen:

          alexa2\.0\.Echo-Devices\.G091EV12202406HS\.MusicAlarm\..*\.triggered
          

          Wie damit 30 Minuten vorher gewckt werden kann weis ich nicht

          N 1 Reply Last reply Reply Quote 1
          • Asgothian
            Asgothian Developer @Nick.The.Bird.92 last edited by

            @nick-the-bird-92 sagte in Alexa Weckzeit bearbeiten:

            @asgothian
            Erst einmal vielen Dank für die schnelle Rückmeldung.

            Das klappt leider nicht. Alexa erstellt ja immer wieder neue Wecker (für unterschiedliche Zeiten).

            Hiermit kann ich ja triggern ob ein Wecker aktiviert wird (deswegen das "*")
            alexa2.0.Echo-Devices.G091EV12202406HS.MusicAlarm. * .enabled

            Ich will jetzt, dass die dazugehörige Zeit ausgelesen wird.

            Das kann zwar Alarm1 sein, aber auch Alarm 2 oder 3 oder 4.

            Mit deinem Vorschlag hab ich ja immer nur Alarm1 als trigger.

            Wie @FredF schon geschrieben hat - der Trigger sollte auf Regex Basis auf alle möglicherweise durch Alexa angelegten Trigger laufen. Im Trigger selber hast du dann das entsprechende Objekt in dem du die ID genau des Datenpunktes hast der den Trigger ausgelöst hat.

            A.

            N 1 Reply Last reply Reply Quote 1
            • N
              Nick.The.Bird.92 @FredF last edited by Nick.The.Bird.92

              @fredf
              RegExp nutze ich auch genau so, allerdings ist das ja gerade der begrenzende Faktor.

              1 Reply Last reply Reply Quote 0
              • N
                Nick.The.Bird.92 @Asgothian last edited by

                @asgothian

                Ich glaube wir reden etwas aneinander vorbei.
                Wie bekomme ich denn dann den Datenpunkt? Wenn ich nach .enabled trigger und dann die entsprechende Weckzeit (.time)ausgeben will?

                1 Reply Last reply Reply Quote 0
                • N
                  Nick.The.Bird.92 last edited by

                  @nick-the-bird-92 Screenshot 2022-03-29 121249.png

                  So hab ich es momentan gelöst. RegExt überwacht .trigger

                  Allerdings ist der Datenpunkt relativ unnütz, wenn man eine Routine vor dem aktivieren starten will.

                  Deswegen kam ich auf die Idee .enabled zu triggern und daraufhin die Weckzeit auf 30 Minuten vorher abzuändern.

                  Eine andere Lösung wäre auch okay. Z.B. beim Aktivieren des Weckers, auslesen der Weckzeit, 30min abziehen und abspeichern als neuen Datenpunkt. Diesen Datenpunkt dann als auslöser für den "Sonnenwecker" zu nehmen. Allerdings hab ich mit Datenpunkte erstellen komplett keine Erfahrung.

                  Habe auch wirklich schon sehr viel ausprobiert und würde gerne mal etwas weiter kommen 😭

                  LG
                  Nick

                  Asgothian 1 Reply Last reply Reply Quote 0
                  • Asgothian
                    Asgothian Developer @Nick.The.Bird.92 last edited by Asgothian

                    @nick-the-bird-92

                    Es gibt im "Trigger" Bereich einen Baustein "Objekt ID". Mit diesem greifst Du direkt auf die Objekteide des Datenpunktes zu der den Trigger ausgelöst hat.

                    Screenshot 2022-03-29 at 12.27.00.png

                    Wenn du also einen Regex Trigger auf alexa2.0.Echo-Devices.G091EV12202406HS.MusicAlarm.*.enabled hast, und der Datenpunkt alexa2.0.Echo-Devices.G091EV12202406HS.MusicAlarm.Alarm1.enabled den Trigger auslöst, dann beinhaltet dieser Baustein die ID des auslösenden Datenpunktes

                    Du kannst also z.Bsp. so auf die anderen Datenpunkte zugreifen. (Hinweis: ich weiss nicht wie die Datenpunkte bei Alexa heissen - ich bin einfach davon ausgegangen das zu einen "...enabled" Datenpunkt auch ein "...time" Datenpunkt existiert. Das müsstest du ggf. anpassen.
                    Screenshot 2022-03-29 at 12.34.33.png

                    Ich hoffe jetzt wird klarer wie das funktionieren kann.

                    A.

                    p.s. Dein Skript teil kann theoretisch funktionieren (ohne die Zeitanpassung) wenn du Screenshot 2022-03-29 at 12.36.10.png durch den besagten Baustein mit Objekt ID ersetzt und dieses auf Wert umstellst. dann beinhaltet es den Wert des Datenpunktes der den Trigger ausgelöst hat.

                    N 2 Replies Last reply Reply Quote 1
                    • N
                      Nick.The.Bird.92 @Asgothian last edited by

                      p.s. Dein Skript teil kann theoretisch funktionieren (ohne die Zeitanpassung) wenn du Screenshot 2022-03-29 at 12.36.10.png durch den besagten Baustein mit Objekt ID ersetzt und dieses auf Wert umstellst. dann beinhaltet es den Wert des Datenpunktes der den Trigger ausgelöst hat.

                      Wieso theoretisch? Funktioniert doch :S

                      Asgothian 1 Reply Last reply Reply Quote 0
                      • N
                        Nick.The.Bird.92 @Asgothian last edited by Nick.The.Bird.92

                        @asgothian sagte in Alexa Weckzeit bearbeiten:

                        @nick-the-bird-92

                        Es gibt im "Trigger" Bereich einen Baustein "Objekt ID". Mit diesem greifst Du direkt auf die Objekteide des Datenpunktes zu der den Trigger ausgelöst hat.

                        Screenshot 2022-03-29 at 12.27.00.png

                        Wenn du also einen Regex Trigger auf alexa2.0.Echo-Devices.G091EV12202406HS.MusicAlarm.*.enabled hast, und der Datenpunkt alexa2.0.Echo-Devices.G091EV12202406HS.MusicAlarm.Alarm1.enabled den Trigger auslöst, dann beinhaltet dieser Baustein die ID des auslösenden Datenpunktes

                        Okay, das verstehe ich inhaltlich. Das ja schonmal nicht schlecht 🙂

                        Du kannst also z.Bsp. so auf die anderen Datenpunkte zugreifen. (Hinweis: ich weiss nicht wie die Datenpunkte bei Alexa heissen - ich bin einfach davon ausgegangen das zu einen "...enabled" Datenpunkt auch ein "...time" Datenpunkt existiert. Das müsstest du ggf. anpassen.
                        Screenshot 2022-03-29 at 12.34.33.png

                        Erst einmal, war richtig mit dem .time Datenpunkt 🙂
                        Pu, das mit den Listen ist komplett neu für mich.
                        Also FallsObjekt ist ja klar.
                        Dann hast du eine Variable geschaffen. Diese wird mit einer Liste beschrieben, aus dem Text von meinem Trigger (also alexa2.0.Echo-Devices.G091EV12202406HS.MusicAlarm.*.enabled)
                        ->Was muss denn da bei Objekt ID rein? Ist das einfach nur die Variable in der Liste ID_als_Liste gespeichert wird?

                        Da wird dann enabled weggenommen und dafür time eingesetzt.

                        Nun füttere ich eine 2. Variable mit dem Text aus der Liste (sprich alexa2.0.Echo-Devices.G091EV12202406HS.MusicAlarm.*.time)

                        Dann die 3. Variable die den Wert von der 2. Variable ausliest (also meine Weckzeit)

                        Ich hoffe jetzt wird klarer wie das funktionieren kann.

                        Nochmal vielen Dank für das erklären und die Hilfe. Langsam komme dahinter wie das mit den Listen laufen könnte. Hoffe ich hab das soweit alles richtig verstanden 😄

                        Asgothian 1 Reply Last reply Reply Quote 0
                        • Asgothian
                          Asgothian Developer @Nick.The.Bird.92 last edited by

                          @nick-the-bird-92 sagte in Alexa Weckzeit bearbeiten:

                          p.s. Dein Skript teil kann theoretisch funktionieren (ohne die Zeitanpassung) wenn du Screenshot 2022-03-29 at 12.36.10.png durch den besagten Baustein mit Objekt ID ersetzt und dieses auf Wert umstellst. dann beinhaltet es den Wert des Datenpunktes der den Trigger ausgelöst hat.

                          Wieso theoretisch? Funktioniert doch :S

                          Bedingt. Ich gehe davon aus das Screenshot 2022-03-29 at 12.36.10.png immer dann wahr ist wenn mindestens einer der in der Regex vorhandenen Datenpunkte wahr ist.

                          A.

                          1 Reply Last reply Reply Quote 0
                          • Asgothian
                            Asgothian Developer @Nick.The.Bird.92 last edited by

                            @nick-the-bird-92 sagte in Alexa Weckzeit bearbeiten:

                            @asgothian sagte in Alexa Weckzeit bearbeiten:

                            @nick-the-bird-92

                            Es gibt im "Trigger" Bereich einen Baustein "Objekt ID". Mit diesem greifst Du direkt auf die Objekteide des Datenpunktes zu der den Trigger ausgelöst hat.

                            Screenshot 2022-03-29 at 12.27.00.png

                            Wenn du also einen Regex Trigger auf alexa2.0.Echo-Devices.G091EV12202406HS.MusicAlarm.*.enabled hast, und der Datenpunkt alexa2.0.Echo-Devices.G091EV12202406HS.MusicAlarm.Alarm1.enabled den Trigger auslöst, dann beinhaltet dieser Baustein die ID des auslösenden Datenpunktes

                            Okay, das verstehe ich inhaltlich. Das ja schonmal nicht schlecht 🙂

                            Du kannst also z.Bsp. so auf die anderen Datenpunkte zugreifen. (Hinweis: ich weiss nicht wie die Datenpunkte bei Alexa heissen - ich bin einfach davon ausgegangen das zu einen "...enabled" Datenpunkt auch ein "...time" Datenpunkt existiert. Das müsstest du ggf. anpassen.
                            Screenshot 2022-03-29 at 12.34.33.png

                            Erst einmal, war richtig mit dem .time Datenpunkt 🙂
                            Pu, das mit den Listen ist komplett neu für mich.
                            Also FallsObjekt ist ja klar.
                            Dann hast du eine Variable geschaffen. Diese wird mit einer Liste beschrieben, aus dem Text von meinem Trigger (also alexa2.0.Echo-Devices.G091EV12202406HS.MusicAlarm.*.enabled)
                            ->Was muss denn da bei Objekt ID rein? Ist das einfach nur die Variable in der Liste ID_als_Liste gespeichert wird?

                            Der Baustein Objekt ID liefert schon genau das was du benötigst - die ID des Bausteins der den Trigger ausgelöst hat. Also wenn

                            • die Regex 'alexa2.0.Echo-Devices.G091EV12202406HS.MusicAlarm.*.time' ist.
                            • die Kanäle Devices.G091EV12202406HS.MusicAlarm.Alarm_1, Devices.G091EV12202406HS.MusicAlarm.Alarm_2 und Devices.G091EV12202406HS.MusicAlarm.Alarm_3 existieren
                            • Der Datenpunkt Devices.G091EV12202406HS.MusicAlarm.Alarm_2.enabled auf Wahr aktualisiert wird

                            dann steht in dem Baustein Objekt ID der text 'Devices.G091EV12202406HS.MusicAlarm.Alarm_2.enabled'

                            Da wird dann enabled weggenommen und dafür time eingesetzt.

                            Nun füttere ich eine 2. Variable mit dem Text aus der Liste (sprich alexa2.0.Echo-Devices.G091EV12202406HS.MusicAlarm.*.time)

                            In dem oben stehenden Beispiel steht da also 'Devices.G091EV12202406HS.MusicAlarm.Alarm_2.time' drin

                            Dann die 3. Variable die den Wert von der 2. Variable ausliest (also meine Weckzeit)

                            Ich hoffe jetzt wird klarer wie das funktionieren kann.

                            Nochmal vielen Dank für das erklären und die Hilfe. Langsam komme dahinter wie das mit den Listen laufen könnte. Hoffe ich hab das soweit alles richtig verstanden 😄

                            N 1 Reply Last reply Reply Quote 0
                            • N
                              Nick.The.Bird.92 @Asgothian last edited by

                              @asgothian

                              müsste debug output nicht jetzt die Weckzeit anzeigen?

                              1dea21dc-245b-4156-8532-ed453c00a7d6-grafik.png

                              Asgothian 1 Reply Last reply Reply Quote 0
                              • Asgothian
                                Asgothian Developer @Nick.The.Bird.92 last edited by

                                @nick-the-bird-92 fast.. du hast bei dem Baustein "text aus liste" und "liste aus Text" das falsche Trennzeichen (Komma) statt dem korrekten (Punkt) eingetragen.

                                A.

                                N 1 Reply Last reply Reply Quote 1
                                • N
                                  Nick.The.Bird.92 @Asgothian last edited by

                                  @asgothian

                                  und ich dachte es wäre Staub aufm Monitor, ich brauche wohl ne neue brille ^^

                                  Geil funktioniert :D. Hab es noch ein wenig veredelt, damit er nur auslöst wenn der Wecker eingeschaltet wird.

                                  febfc0f4-a1c6-46b0-9e79-b4085f044790-grafik.png

                                  Es wäre noch ein traum wenn mir noch sagen könntest mit was für einem Baustein oder Bausteingruppe ich die Weckzeit im Format hh:mm:ss weiterverabeiten kann, Tipp reicht, will ja auch ein wenig nachdenken 🙂

                                  1 Reply Last reply Reply Quote 0
                                  • N
                                    Nick.The.Bird.92 last edited by

                                    @asgothian
                                    Kann man Object ID irgendwie auf falsch setzen?
                                    Also Trigger wird aktiviert, weil Wecker gestellt wird - nach 10 Minuten soll dieser Wecker wieder deaktiviert werden.
                                    (frag mich am Besten nicht nach dem tieferem Sinn - zeig euch am Ende dann mal meinen Wecker :))

                                    Vielen Dank im Voraus

                                    Asgothian 1 Reply Last reply Reply Quote 0
                                    • Asgothian
                                      Asgothian Developer @Nick.The.Bird.92 last edited by

                                      @nick-the-bird-92

                                      Screen Shot 2022-04-05 at 15.02.17 .png

                                      N 1 Reply Last reply Reply Quote 1
                                      • N
                                        Nick.The.Bird.92 @Asgothian last edited by

                                        @asgothian
                                        geil, danke.

                                        hat mich auf jeden Fall wieder um einiges weiter gebracht 🙂

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

                                        Support us

                                        ioBroker
                                        Community Adapters
                                        Donate

                                        849
                                        Online

                                        31.9k
                                        Users

                                        80.3k
                                        Topics

                                        1.3m
                                        Posts

                                        3
                                        19
                                        416
                                        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