Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Bestätigt/Acknowledged-Flag Bedeutung - ein Mysterium ;-)

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Bestätigt/Acknowledged-Flag Bedeutung - ein Mysterium ;-)

    This topic has been deleted. Only users with topic management privileges can see it.
    • K
      klassisch Most Active last edited by

      Ich hatte mir zum ack Thema mal den github-iobroker-wiki-Artikel notiert: https://github.com/ioBroker/ioBroker/wiki/Adapter-Development-Documentation#commands-and-statuses

      Ist das noch aktuell?

      paul53 1 Reply Last reply Reply Quote 0
      • Loredo
        Loredo Developer @paul53 last edited by

        @paul53 Es ist halt ein Unterschied nicht zu reagieren oder etwas nicht anzunehmen und zurückzuweisen. Nicht zu reagieren, obwohl man das Kommando wahrgenommen hat, ist halt nicht zu unterscheiden davon, dass der Adapter einfach nicht läuft. Ich finde es aber wichtig das zu unterscheiden. IMHO sollte ein laufender Adapter immer etwas tun, aber mir persönlich reicht da ein einfacher Logeintrag nicht. Ich möchte das auch Event basiert verarbeiten können und auch direkt im Admin Adapter sehen können, ohne das Log zu durchforsten.

        Die von dir besagte Philosophie stört mich nicht selten und hinterlässt bei mir oft den Eindruck eines nur halb fertigen Adapters. 🤷‍♂️
        Es ist aber erlaubt, dass du eine andere Meinung hast als ich 😉

        1 Reply Last reply Reply Quote 0
        • paul53
          paul53 @klassisch last edited by paul53

          @klassisch sagte: Ist das noch aktuell?

          Ja, und es beschreibt es so, wie ich geschrieben habe.
          Beispiel: HomeMatic, Datenpunkt MANUAL_MODE: Darüber schaltet man den Thermostaten in den manuellen Modus und man übergibt den manuellen Sollwert. Dieser Datenpunkt wird nie bestätigt.

          Anmerkung: ioBroker ist ursprünglich aus einer Erweiterung für HomeMatic hervorgegangen. Das ist für Dich sicher nicht neu, aber wahrscheinlich für @Loredo.

          Loredo 1 Reply Last reply Reply Quote 1
          • Loredo
            Loredo Developer @paul53 last edited by Loredo

            @paul53 Korrekt. Nein das ist nicht neu für mich, sondern an vielen Stellen sehr offensichtlich (was nicht schlimm ist). Ich kenne ioBroker auch schon seit etlichen Jahren, auch wenn ich ihn noch nicht so lange aktiv nutze.
            Das ist für mich aber deshalb nicht dauerhaft in Stein gemeißelt, sondern kann sich weiterentwickeln 😉
            Ich habe für meinen Adapter entschieden, dass ich das Verhalten so sinnvoller finde. Vor allem auch deshalb, weil eine Darstellung der tatsächlich korrekten Werte über eine externe GUI möglich sein soll. Da stört es, wenn in der GUI dann plötzlich aber Werte angezeigt werden, die gar nicht dem Ist-Zustand entsprechen. Meine oberste Priorität ist immer, den Ist-Zustand zu jeder möglichen Zeit richtig anzuzeigen, nicht den Soll-Zustand.

            paul53 1 Reply Last reply Reply Quote 0
            • paul53
              paul53 @Loredo last edited by paul53

              @loredo sagte: Ist-Zustand zu jeder möglichen Zeit richtig anzuzeigen, nicht den Soll-Zustand.

              Dann muss aber auch der Wert mit dem Ist-Wert überschrieben werden - nicht nur das Ack-Flag. Der Fehlversuch wird dann natürlich in der History mit aufgezeichnet.

              Loredo 1 Reply Last reply Reply Quote 1
              • Loredo
                Loredo Developer @paul53 last edited by Loredo

                @paul53 sagte in Bestätigt/Acknowledged-Flag Bedeutung - ein Mysterium 😉:

                @loredo sagte: Ist-Zustand zu jeder möglichen Zeit richtig anzuzeigen, nicht den Soll-Zustand.

                Dann muss aber auch der Wert mit dem Ist-Wert überschrieben werden - nicht nur das Ack-Flag.

                Hatte ich ja oben auch so geschrieben, dass ich oldState mit ack=true ergänzt von z.B. q=0x40 zurückschreibe 😉
                oldState muss sich halt der laufende Adapter selbst organisieren, weshalb es auch unschön ist, wenn Änderungen an Objekten passieren, während der Adapter nicht läuft. der JS-Controller wäre besser dafür geeignet, oldState (also nur die States mit ack=true) für alle Adapter bereitzuhalten, aber sowas gibts wohl bisher nicht.

                By the way, da fällt mir gerade wieder der Bug ein, der mir bei der Entwicklung begegnet ist:
                getForeignStateAsync() liefert nur ack: false

                Dadurch muss man beim zurückschreiben (je nachdem, wie lange der Adapter schon läuft) trotzdem nochmal explizit ack=true setzen. Das aber nur am Rande erwähnt, weil es auch was mit der Nutzung der ack Werte zu tun hat. Das macht es leider derzeit auch schwierig den ack-Wert außerhalb von Events abzuprüfen, weil der Wert eben immer false ist und nie true </OffTopic>

                1 Reply Last reply Reply Quote 0
                • M
                  Marty56 @Wildbill last edited by

                  @wildbill
                  das stimmt und ich finde es bedauerlich!
                  Ich hätte gerne, dass ich mit setState() steuern könnte, ob ein Wert im History Adapter an die jeweilige DB übertragen wird.

                  Homoran Codierknecht apollon77 3 Replies Last reply Reply Quote 0
                  • Homoran
                    Homoran Global Moderator Administrators @Wildbill last edited by

                    @wildbill sagte in Bestätigt/Acknowledged-Flag Bedeutung - ein Mysterium 😉:

                    z.B. beim Harmony-Adapter zum Starten von Activities

                    da ist es ja tatsächlich so dass ein "working" über einen anderen Wert als der initiale oder der Zielwert ist.
                    Ich finde es richtig wenn das auch geloggt wird, da damit die korrekte Funktion ind Gänze abgebildet wird.

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

                      @marty56 sagte in Bestätigt/Acknowledged-Flag Bedeutung - ein Mysterium 😉:

                      Ich hätte gerne, dass ich mit setState() steuern könnte, ob ein Wert im History Adapter an die jeweilige DB übertragen wird.

                      Das wäre Bilanzfälschung! 😂
                      Entweder ich logge jede Veränderung um auch später jeden Eingriff sehen zu können, oder ich lasse es.
                      "Beweise manipulieren" zu können, indem man aktiv bei bestimmten Aktionen die Spuren verwischt, halte ich für keine gute Idee!

                      Ist jetzt absichtlich überspitzt formuliert!

                      M 1 Reply Last reply Reply Quote 3
                      • Codierknecht
                        Codierknecht Developer Most Active @Marty56 last edited by

                        @marty56 sagte in Bestätigt/Acknowledged-Flag Bedeutung - ein Mysterium 😉:

                        Ich hätte gerne, dass ich mit setState() steuern könnte, ob ein Wert im History Adapter an die jeweilige DB übertragen wird.

                        Wie @Homoran schon schrieb: Das wäre „geschummelt“ 😉
                        Aber Du kannst ja beim Abfragen der DB die Datensätze ohne ack wegfiltern.

                        1 Reply Last reply Reply Quote 1
                        • M
                          Marty56 @Homoran last edited by

                          @homoran Ok. Netter Nonsense Witz, ha ha!

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

                            @marty56 dann erstelle dir einen Schattenstate und sortiere per Skript oder irgendeiner Logik aus und logge den dann. Easy

                            M 1 Reply Last reply Reply Quote 1
                            • M
                              Marty56 @apollon77 last edited by

                              @apollon77 Ja, dass mit dem "Schattenstate" habe ich natürlich gemacht. Dennoch nicht besonders elegant

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

                                @marty56 da diese Anforderung meiner Meinung nach ein Edge Case ist finde ich die Lösung sehr elegant ;-)) (ich weiß das du das so nicht hören wolltest 😉 )

                                1 Reply Last reply Reply Quote 3
                                • U
                                  UKek @apollon77 last edited by

                                  Der Beitrag hat mir sehr geholfen, vielen Dank!

                                  Wie ist das aber mit VIS Buttons?
                                  Offenbar nutzen die immer "Steuere ID.."

                                  Kann ich mit einem Button einen Datenpunkt setzen?
                                  Natürlich könnte ich mit einem Script laufend den Datenpunkt abfragen und ihn beim Ändern des Wertes aktualisieren.
                                  Aber das muß doch auch einfach aus dem Widget heraus gehen?

                                  Viele Grüße
                                  Uwe

                                  apollon77 haus-automatisierung 2 Replies Last reply Reply Quote 0
                                  • Homoran
                                    Homoran Global Moderator Administrators last edited by

                                    @ukek sagte in Bestätigt/Acknowledged-Flag Bedeutung - ein Mysterium 😉:

                                    Offenbar nutzen die immer "Steuere ID.."
                                    Kann ich mit einem Button einen Datenpunkt setzen?

                                    so herum ist das kein Problem.

                                    nur mit ACK (aktualisiere) kann man keinen Adapter zum steuern bewegen.

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

                                      @ukek was genau willst du „setzen“? Verstehe die Frage nicht.

                                      U 1 Reply Last reply Reply Quote 0
                                      • U
                                        UKek @apollon77 last edited by

                                        @apollon77 Ich setze einen Datenpunkt (Klima-Auto), dass mein Klimagerät automatisch oder manuell laufen soll.
                                        Automatisch bedeutet: je nach Solarüberschuß geht es an/aus und steuert sich selbständig zwischen 18-23 Grad.
                                        Der Datenpunkt (Klima-Auto) wird also erst abgefragt, wenn Solarüberschuß besteht.

                                        Ich könnte den Datenpunkt "rot" lassen und erst bei der Aktion "Solarüberschuß" aktualisieren?
                                        Oder soll/kann ich den gleich als "aktualisiere ID.." vom Button setzen?

                                        LG Uwe

                                        apollon77 1 Reply Last reply Reply Quote 0
                                        • haus-automatisierung
                                          haus-automatisierung Developer Most Active @UKek last edited by

                                          @ukek sagte in Bestätigt/Acknowledged-Flag Bedeutung - ein Mysterium 😉:

                                          Kann ich mit einem Button einen Datenpunkt setzen?

                                          Klar, der wird ja dann mit ack: false geschrieben. Und im Idealfall schreibst Du dann noch ein eigenes Script im JavaScript-Adapter, was auf unbestätigte Änderungen reagiert, dann das tut was Du möchtest und danach den neuen Wert bestätigt / den Datenpunkt mit ack: true neu schreibt. Genau so, wie es auch Adapter machen.

                                          U 1 Reply Last reply Reply Quote 2
                                          • U
                                            UKek @haus-automatisierung last edited by

                                            @haus-automatisierung sagte in Bestätigt/Acknowledged-Flag Bedeutung - ein Mysterium 😉:

                                            Und im Idealfall schreibst Du dann noch ein eigenes Script im JavaScript-Adapter

                                            Ja genau das war meine Frage.
                                            Ich lasse VIS den Datenpunkt "rot" setzen und frage ihn danach mit einem Script ab und "aktualisiere ID..".

                                            Alles klar, danke!
                                            Viele Grüße
                                            Uwe

                                            Homoran 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

                                            994
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            14
                                            62
                                            14743
                                            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