Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Skripte Zusammenspiel mit Alexa

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Skripte Zusammenspiel mit Alexa

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

      Hallo,

      ich bin noch ganz frisch bei ioBroker dabei. Komme von FHEM und will nun beide in Kombionation verwenden.

      ioBroker für Alexa und Darstellung und FHEM für einige Schnittstellen.

      Nun zu meinem, vielleicht einfachen Problem, aber irgendwie verstehe ich es nicht ganz.

      Ich möchte meinen Receiver und eine Steckdose (beides in FHEM integriert) mit Alexa und / oder einem Schalter einschalten. Und das nur wenn der Receiver Aus bzw. eingeschaltet ist.

      Aus diesem Grund habe ich mir in FHEM einen Dummy erstellt, der je nach Status des Power Zustandes des Receivers auf off (false in ioBroker) bzw on (true im ioBroker) gesetzt wird.

      Das ein- und ausschalten mit dem Switch funktioniert auch problemlos.

      Mein Skript dazu im Anhang.

      Gleichzeitig möchte ich das selbe mit Alexa durchführen. Dazu habe ich im ioBroker einen Datenpunkt erstellt, den ich mit Alexa auf true bzw. false setze.

      Skript im Anhang.

      Prinzipiell funktioniert auch alles. Nur ein Zustand funktioniert nicht, den ich mir nicht erklären kann.

      Und zwar wenn ich mit Alexa bspw. Einschalte ("Alexa schalte XXX ein") funktioniert dies auch. Wenn ich nun über den Switch ausschalte funktioniert auch das. Wenn ich jetzt allerdings wieder mit Alexa "schalte XXX" ein beide Geräte einschalten möchte funktioniert dies eben nicht mehr. Damit es dann einschaltet muss ich Alexa sagen "schalte XXX aus"

      Sprich wenn ich Alexas Reihenfolge mit dem Switch "durcheinander bringe" muss ich negiert arbeiten. Aber das müsste doch über "wurde geändert" im Skript irrelevant sein oder verstehe ich das falsch? Der Alexa Datenpunkt wird ja auch geändert.

      Bin wie gesagt erst eine Woche bei ioBroker, vielleicht auch ein gant simples Problem. Ich seh den Fehler in der Logik jedoch irgendwie nicht.

      Hoffe mir kann jemand helfen.

      Danke schonmal.

      Grüße

      PS: Hoffentlich war es im richtigen Forum
      3734_skript.switch.png
      3734_skript.alexa.png

      1 Reply Last reply Reply Quote 0
      • Dutchman
        Dutchman Developer Most Active Administrators last edited by

        Hi und willkommen 😉

        Ich glaube dein Problem ist dass der Datenpunkte simple Klick bereits wahr ist?

        Wurde geändert Trigger nur wenn der Status sich ändert, probier Mal Update anstatt geändert

        –-----------------------

        Send from mobile device

        1 Reply Last reply Reply Quote 0
        • M
          Morrio last edited by

          Hi,

          danke für die Begrüßung 🙂

          Der Datenpunkt "Simple Click" wird nur beim Drücken des Schalters kurzzeitig auf true gesetzt. Fällt danach sofort wieder in false.

          Außerdem müssten beide Skripte ja unabhängig voneinander arbeiten, da ich ja nicht den Status des Schalters abfrage sondern den nur zum triggern verwende.

          Grüße

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

            Moin,

            das lässt sich ganz einfach lösen. Setze im unteren Script einfach deinen Alexa-Datenpunkt auf true oder false und sonst nichts. Die Steuerung der Geräte übernimmt dann das erste Script.

            Gruß

            Matze

            1 Reply Last reply Reply Quote 0
            • M
              Morrio last edited by

              @Matzebhv:

              Moin,

              das lässt sich ganz einfach lösen. Setze im unteren Script einfach deinen Alexa-Datenpunkt auf true oder false und sonst nichts. Die Steuerung der Geräte übernimmt dann das erste Script.

              Gruß

              Matze `

              Hi,

              so ganz verstehe ich das nicht. Den Alexa-Datenpunkt habe ich im unteren Skript ja gar nicht angewendet also wo sollte ich den genau einfügen/ ändern?

              Und gleichzeitig möchte ich ja des es entweder über Alexa oder über den Switch funktioniert. Verliere ich nicht eine Möglichkeit dann?

              Gruß

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

                Moin,

                dein Problem ist, dass bei deinen beiden Scripten der Zustand des Alexa-DP bei schalten über den Taster nicht mehr syncron ist. Daher invertiert sich dann die Steuerung.

                Um beides syncron zu halten steuerst du in deinem 2. Script mit dem Taster einfach den Alexa-DP. Ich habe leider grade kein Zugriff auf meinen Broker.

                Daher

                Falls Objekt Taster wurde geändert -> Falls Objekt Alexa = wahr setze unwahr ansonsten setze wahr.

                Die Steuerung deiner Geräte übernimmt dabei das erstere Script.

                Matze

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

                  Uhh, was mir gerade noch auffällt.

                  Du triggerst im ersten Script auf Änderung des Alexa-DP. Fragst aber im weiteren nicht ab, ob der im Anschluß true oder false ist.

                  Das solltest du unbedingt einbauen.

                  Wo kommt der Datenpunkt Status AVR state her? Gibt dein AVR hier Feedback? Geht der auf true wenn du den AVR von Hand einschaltest?

                  Wenn nicht hast du hier die nächste Quelle für Inkonsistenzen der Zustände.

                  Um das jetzt nochmal zusammenzufassen:

                  Ich würde solche Szenarien immer über einen DP steuern. Als Beispiel: Zustand Multimedia true oder false. Diesen DP kannst du von überall steuern, über Alexa, deinen Taster, VIS, etc.

                  Je nach Zustand des DP schaltest du das Geraff dahinter ein oder aus. 😄

                  Das Problem mit der Negierung deiner Alexa stammt von der fehlenden Abfrage ob nach trigger true oder false gesetzt wird. Das muss also unbedingt rein.

                  Matze

                  1 Reply Last reply Reply Quote 0
                  • M
                    Morrio last edited by

                    Hi,

                    habe versucht es entsprechend zu ändern allerdings bisher noch keinen Erfolg gehabt.

                    Problem ist vermutlich auch das der swtich immer nur während des Schaltens in true fällt und danach wieder in false.

                    Verstehe allerdings noch immer nicht warum mein erster Versuch nicht funktioniert. Der Alexa Datenpunkt wird ja nur als Trigger Änderung verwendet. Nicht als Zustandsvariable. Demnach müsste ihm die Änderungen durch den Switch doch egal sein.

                    Gruß

                    Edit: deinen zweiten Post hatte ich noch nicht gelesen als ich das geschrieben habe
                    3734_swtich2.png

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

                      Moin,

                      machs einfacher. Hab leider grad kein Blockly zur Hand.

                      Ändere "sonst falls" auf "sonst"

                      Und dann -> falls Wert von AlexaDP = wahr -> aktualisiere Wert von AlexaDP mit unwahr.

                      -> sonst -> aktualisiere Wert von AlexaDP mit wahr.

                      Verstehe allerdings noch immer nicht warum mein erster Versuch nicht funktioniert. Der Alexa Datenpunkt wird ja nur als Trigger Änderung verwendet. Nicht als Zustandsvariable.

                      Ja eben. Du triggerst auf Änderung. Nehmen wir an, du schaltest über Alexa ein. DP ÄNDERT sich auf true, Script wird ausgelöst.

                      Jetzt schaltest du über den Taster aus. AVR geht aus, Alexa DP bleibt aber auf true!

                      Versuchst du jetzt über Alexa einzuschalten wird der DP mit true AKTUALISIERT. Er ändert seinen Zustand aber nicht. Um eine DP-Änderung herbeizuführen musst du jetzt also Alexa ausschalten. DP wird von true nach false geändert, Script wird ausgelöst, AVR schaltet sich ein.

                      Also bei sowas einfach nicht auf Änderung sondern auf Aktualisierung triggern und im Anschluß den Wert true oder false abfragen.

                      Matze

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

                        Moment,

                        merke gerad, es ist ein Denkfehler drin. Problem ist hier tatsächlich, dass der Switch beim drücken auf true und beim loslassen wieder auf false wechselt.

                        Ändere bitte den Trigger auf anerkannt = true.

                        Matze

                        1 Reply Last reply Reply Quote 0
                        • M
                          Morrio last edited by

                          Hi.

                          @Matzebhv:

                          Wo kommt der Datenpunkt Status AVR state her? Gibt dein AVR hier Feedback? Geht der auf true wenn du den AVR von Hand einschaltest?

                          Wenn nicht hast du hier die nächste Quelle für Inkonsistenzen der Zustände.

                          Matze `

                          Den Status habe ich in FHEM über einen Dummy realisiert, der je nach Status des Power Zustandes des Receivers auf off (false in ioBroker) bzw on (true im ioBroker) gesetzt wird.

                          Also auch wen er manuell eingeschaltet wird.

                          Über den Dummy habe ich es gelöst, weil ich es anfangs nicht hinbekommen habe das das Skript auf einen Variable reagiert die nicht true oder false ist. Aber vermutlich geht das ja auch sondern lag nur an meinen anfänglichen Problemen.

                          @Matzebhv:

                          Moin,

                          machs einfacher. Hab leider grad kein Blockly zur Hand.

                          Ändere "sonst falls" auf "sonst"

                          Und dann -> falls Wert von AlexaDP = wahr -> aktualisiere Wert von AlexaDP mit unwahr.

                          -> sonst -> aktualisiere Wert von AlexaDP mit wahr.

                          Verstehe allerdings noch immer nicht warum mein erster Versuch nicht funktioniert. Der Alexa Datenpunkt wird ja nur als Trigger Änderung verwendet. Nicht als Zustandsvariable.

                          Ja eben. Du triggerst auf Änderung. Nehmen wir an, du schaltest über Alexa ein. DP ÄNDERT sich auf true, Script wird ausgelöst.

                          Jetzt schaltest du über den Taster aus. AVR geht aus, Alexa DP bleibt aber auf true!

                          Versuchst du jetzt über Alexa einzuschalten wird der DP mit true AKTUALISIERT. Er ändert seinen Zustand aber nicht. Um eine DP-Änderung herbeizuführen musst du jetzt also Alexa ausschalten. DP wird von true nach false geändert, Script wird ausgelöst, AVR schaltet sich ein.

                          Also bei sowas einfach nicht auf Änderung sondern auf Aktualisierung triggern und im Anschluß den Wert true oder false abfragen.

                          Matze `

                          Stimmt da war mein logischer Denkfehler.

                          @Matzebhv:

                          Moment,

                          merke gerad, es ist ein Denkfehler drin. Problem ist hier tatsächlich, dass der Switch beim drücken auf true und beim loslassen wieder auf false wechselt.

                          Ändere bitte den Trigger auf anerkannt = true.

                          Matze `

                          Habe es jetzt fast so geändert. Allerdings nicht bei annerkant = true (das gibt es da ja nicht sondern einfach nur den Trigger auf wahr gelegt.

                          Und jetzt funktioniert es auch.

                          Vielen Dank für deine Hilfe :!: :!:

                          Habe damit auch viel gelernt!

                          Grüße
                          3734_alexa3.png

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

                            Habe es jetzt fast so geändert. Allerdings nicht bei annerkant = true (das gibt es da ja nicht sondern einfach nur den Trigger auf wahr gelegt.

                            Und jetzt funktioniert es auch.

                            Jepp, das passiert wenn zwei Einäugige auf Dinge starren. Bin genau wie du am Anfang.

                            Habe damit auch viel gelernt!

                            Jepp. Ich auch.

                            Und jetzt funktioniert es auch.

                            Manchmal zählt das Ergebnis 😄

                            Matze

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

                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            510
                            Online

                            31.7k
                            Users

                            79.8k
                            Topics

                            1.3m
                            Posts

                            3
                            12
                            1141
                            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