Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Objekte ohne ACK ermitteln

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Objekte ohne ACK ermitteln

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

      Hallo, gibt es eine Möglichkeit herauszubekommen, ob ein Datenpunkt nicht mit eine ACK bestätigt wurde. (Also z.B. ein Ausgang hat nicht geschaltet)?

      Wird ein device schalte, dann wird das ACK-Bit zunächst auf false und später dann vom Adapter zurück auf true gesetzt. Ich nun möchte die Datenpunkte ermitteln, die nicht zurück auf true gesetzt worden sind.

      Gespielt habe ich mit nachfolgende Ansatz: Ermittelt alle "Alias" Elemente, die eine Bestätigung erhalten haben. Dies ist aber nicht das was ich suche .... Evt. ist der Ansatz auch falsch .....

      on({ id: new RegExp("alias\.0\.[_a-zA-Z0-9]{1,20}\.[_a-zA-Z0-9]{1,20}\.SET"),change: "ne", ack:true}, async (obj) => {    
              let value = obj.state.val;
              let oldValue = obj.oldState.val;
              log("ChkOnNak: deviceId: "+ obj.id + " old=" + oldValue+" -> " + value + " ack="+obj.state.ack);    
      });
      
      A paul53 mcm1957 3 Replies Last reply Reply Quote 0
      • A
        andreas_n @andreas_n last edited by

        Schade, das keiner eine Idee hat.
        Ich hatte vermutet, dass dieses Problem (das Nichtwissen, ob ein Aktor geschaltet hat) auch für andere Anlagen von Interesse ist.
        Evt. ist die Lösung aber auch zu einfach und ich sehe es einfach nicht. ( kommt schon mal vor)

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

          @andreas_n Du willst alle Datenpunkte wissen, welche nicht bestätigt sind? Zu welchem Zeitpunkt?

          Wenn man die jetzt einmal abholt, dann könnte es ja sein, dass ein Datenpunkt in der Liste 10ms später doch bestätigt ist.

          Ich würde kritische Datenpunkte einfach überwachen und dann mit einem Timeout schauen, ob der Wert nach x Sekunden bestätigt wurde.

          Bei einer generellen Funktion über alle Datenpunkte im System sehe ich keinen Anwendungsfall.

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

            @andreas_n sagte: Datenpunkte ermitteln, die nicht zurück auf true gesetzt worden sind.

            Versuche es mal so:

            Blockly_temp.JPG

            Wenn ständig zu viele Trigger kurz hintereinander auslösen, kann es passieren, dass der Timeout nie abläuft. Außerdem ist nicht garantiert, dass 500 ms ausreichen, um die Reaktion der Adapter zu überprüfen.

            @haus-automatisierung sagte in Objekte ohne ACK ermitteln:

            kritische Datenpunkte einfach überwachen und dann mit einem Timeout schauen, ob der Wert nach x Sekunden bestätigt wurde.

            Das ist die bessere Vorgehensweise.

            1 Reply Last reply Reply Quote 1
            • mcm1957
              mcm1957 @andreas_n last edited by

              @andreas_n said in Objekte ohne ACK ermitteln:

              Wird ein device schalte, dann wird das ACK-Bit zunächst auf false und später dann vom Adapter zurück auf true gesetzt. Ich nun möchte die Datenpunkte ermitteln, die nicht zurück auf true gesetzt worden sind.

              Bitte bei diesem Ansatz nicht vergessen, dass eine Bestätigung durch den Adapter nicjht zwingend ist - wobei im Beispiel des Schalters wohl eine Feedback vom Gerät und damit ein ACK gegeben sein sollte. Aber insbesondere States mit der role Button haben keinen lesbaren Wert und müssen vom Adapter nicht zwingend bestätigt werden. Da diese oft auch nicht einem zurückgemeldeten Wert des Gerätes entsprechen kann es suchaus sein, dass hier ein sck=false normal ist.

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

              Support us

              ioBroker
              Community Adapters
              Donate

              1.0k
              Online

              31.7k
              Users

              79.8k
              Topics

              1.3m
              Posts

              4
              5
              227
              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