Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Cloud Dienste
    4. Alexa Aktualisierung Datenpunkte

    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

    Alexa Aktualisierung Datenpunkte

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

      Hallo liebe Gemeinde,

      mir ist aufgefallen, das der Alexa2-Adapter bei den Smart Home Devices die Datenpunkte/Werte nicht bzw. nur sehr langsam aktualisiert werden.

      zbsp.: alexa2.0.Smart-Home-Devices.84085529-936e-442a-841d-d1dc0695e18b.powerState

      Andere Werte, wzbsp. Titelsongs werden spontan aktualisiert. Nach einem Neustart des Adapters werden auch die restlichen Werte aktualisiert. Nur ist es unschön, den Adapter immer neu zu starten. Da es für die Smart Home Geräte unter anderem einen #query Datenendpunkt gibt würde ich gerne diesen nutzen um den Wert zu aktualisieren.

      zbsp.: alexa2.0.Smart-Home-Devices.84085529-936e-442a-841b-b1dc0695e18b.#query

      Gibt es da eine Möglichkeit mit Javascript, diesen virtuellen Taster zu aktivieren ( zbsp. in vis ) ? Oder gibt es noch eine andere Möglichkeit diesen Wert zu triggern, damit dieser sich aktualisiert?

      Gruß Coraxx

      1 Reply Last reply Reply Quote 0
      • C
        coraxx last edited by

        Hallo Gemeinde,

        konnte nun selber das kleine Problem lösen, obwohl JS nicht meine bevorzugte Lieblingsscriptsprache ist.

        function Licht (){  
        var lampe=getState("alexa2.0.Smart-Home-Devices.xxx.#query"/*#query*/).val;
        if (lampe === false) {
        setState("alexa2.0.Smart-Home-Devices.xxx.#query"/*#query*/,true); //setze Aktualisierung
        } else if (lampe === true) {
        setState("alexa2.0.Smart-Home-Devices.xxx.#query"/*#query*/,false); //setze Aktualisierung
        }
        console.log(lampe);
        schedule("* * * * *", function () {
            Licht();
            });
        }
        

        Das Problem dabei war, das zum einen nur jede Minute dies aktualisiert werden darf und zum zweiten, der #query dennoch seinen Wert ändert, daher das Scheduling auf eine Minute und die wechselnde Abfrage. Viel Spaß.

        Gruß Coraxx

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

          STOP!

          Durch so eine unbedachte brachiale Vorgehensweise passiert ggf sowas: viewtopic.php?f=37&t=16882#p178234

          UND sowas viewtopic.php?f=37&t=16960#p178189

          Bitte lesen und dann überdenke Deine vorgehensweise …

          Mal abgesehen davon das dein minütlicher Ansatz aktuell zu einigem an Logs führen müsste weil Requests aktuell minütlich nicht erlaubt sind.

          1 Reply Last reply Reply Quote 0
          • C
            coraxx last edited by

            Nabend,

            das ist ja mal ein richtig guter Start in diesem Forum ;).

            Na so unbedacht und brachial ist dies nun auch nicht, zumindest nicht in diesem Fall. Hier ist nur eine Steckdose aktiv und von daher sieht das Log übersichtlich aus. Zudem ist dies nur eine Abfrage auf einem #query, also nur eine Aktualisierung auf einem Gerät. Sollte dies minütlich über das "böse" #query aktualisiert werden, so würde ich dir voll und ganz zustimmen, dann wäre dies nicht sehr netzwerkfreundlich.

            Vielen Dank jedoch für diesen Hinweis, er wird sicherlich Anklang finden.

            Gruß Coraxx

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

              Das Triggern eines "query" Datenpunkts sendet eine Anfrage zur Aktualisierung dieser Info an Amazon und wird dort von den Skill-Funktionen des entsprechenden Anbieters bearbeitet und generiert dort Kosten.

              1 Reply Last reply Reply Quote 0
              • T
                Tictactoo last edited by

                Hallöchen,

                eben hab ich diesen Thread im Forum entdeckt und hätte eine ähnliche Frage zu der Theamatik:

                Ich würde gerne in Zukunft mittels IOBroker eine kleine Zeitschalte ermöglichen, damit die Lichter 5-10 Minuten nach dem anmachen automatisch wieder abgeschalten werden. Eigentlich dachte ich, es wäre möglich über den PowerState einen simplen If-then-Fall zu schalten, leider steht der PowerState leider immer auf dem Status der letzten manuellen Query Abfrage und wird auch nach mehreren Stunden nicht aktualisiert.

                Meine Idee(die dann eben mit einem etwas "größeren" Programmieraufwand verbunden wäre) ist nun, die Summary der History nach den Namen der Lichter abzufragen und anschließend der #query für das entsprechende Gerät neu abzufragen. Meine Versuche mit Blocky das Ganze umzusetzen waren bisher erfolglos. Die eigentliche Frage die ich mir da nun stelle im Bezug auf die Aussage von apollon77 ist nun, ob dieses vorgehen ebenfalls zu "unbedacht und brachial" wäre, oder ob meine Idee einen vernünftigen Ansatz in sich birgt?

                1 Reply Last reply Reply Quote 0
                • N
                  nerevo last edited by

                  @apollon77:

                  Das Triggern eines "query" Datenpunkts sendet eine Anfrage zur Aktualisierung dieser Info an Amazon und wird dort von den Skill-Funktionen des entsprechenden Anbieters bearbeitet und generiert dort Kosten. `

                  Welche Einstellungen sollte man dann nehmen, damit die vis-Anzeige, die auf die Datenpunkte der smart devices > powerState lauscht, "zeitnah aktualisiert" wird und somit den richtigen Status anzeigt (z.B. Lampe an/aus) ? Zeitnah ist für mich < 5 Sekunden….. Ist das überhaupt möglich?

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

                    Kurze Antwort: nein.

                    Amazon meldet Statusänderungen nicht aktiv sondern es muss abgefragt werden. Jede dieser abfragen geht von deinem Rechner zu amazon und von dort zum entsprechenden skill und von dort zu deinem Gerät und den ganzen weg zurück. Bei mehreren Geräten kam allein das weit mehr als 5s dauern.

                    Und jede Anfrage generiert für den skill Anbieter kosten die er an Amazon zahlen muss. Bedenke das.

                    Und Amazon hat auch Rate Limits Gründer Anfragen eingebaut. Also irgendwann blocken die.

                    Der Adapter nutzt halt die APIs Die für die Sprachbefehle bzw App gedacht sind.

                    Für Echtzeit Statusleiste das also komplett nicht gedacht.

                    Der Adapter limitiert auch aktuell die Anfragen aus den genannten Gründen.

                    Gesendet vom Handy …

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

                    Support us

                    ioBroker
                    Community Adapters
                    Donate
                    FAQ Cloud / IOT
                    HowTo: Node.js-Update
                    HowTo: Backup/Restore
                    Downloads
                    BLOG

                    485
                    Online

                    31.9k
                    Users

                    80.3k
                    Topics

                    1.3m
                    Posts

                    4
                    8
                    3396
                    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