Ankündigung

Einklappen
Keine Ankündigung bisher.

freezing CV read-Anfragen - KNX-Werte werden nicht aktualisiert

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    freezing CV read-Anfragen - KNX-Werte werden nicht aktualisiert

    Nun ist mir noch etwas bei der neuen git-version ausfgefallen. Ab und zu werden die stati beim Neuladen nicht erfasst, es gibt dann keine anzeige für die buswerte. Manchmal klappt es klaglos, jedoch irgendwann "freezt" diese Abfrage ein.
    Auffällig ist auch: die erste read-Anfrage (die mit T=0) dauert ca. eine halbe Sekunde, die zweite Anfrage (und somit die erste mit i= .....) dauert zwischen 10 und 50 sekunden .... tja und irgendwann ist dann ganz Schluss mit der Antwort auf die read-Anfrage ....

    snapshot.jpg snapshot1.jpg
    Viele Grüße Jens

    #2
    Grundsätzlich ist das bei der Kommunikation beschriebene Verhalten normal und gewollt:
    t=0 bedeutet: Gib den Zustand aller angefragten GAs sofort - und einen Index für den letzten bekannten Wert (letzter Eintrag im Ring-Puffer)
    i=<...> bedeutet:
    * ist eine der GAs über den Bus zwischen dem Index i und der aktuellen Anfrage gekommen, gib deren Wert sofort zurück - und den nun aktuellen Index
    * ist keine der GAs zwischenzeitlich angekommen: warte und halte die Verbindung offen, bis so ein Paket vorbei kommt. Hier gibt es noch ein Timeout von 60s bzw. 300s nachdem diese Anfrage einfach wiederholt wird um immer eine "frische" Verbindung zu haben.

    => Ein cancelled nach 1 Minute Warten ist normal und richtig.

    Wenn nun aber Pakete nicht ankommen, die auf dem Bus aber vorhanden waren, dann gibt's ein anderes Problem.

    Im aktuellen Git wurde der CometVisu-Client, der genau das alles macht, deutlich überarbeitet um auch leichter mit anderen Backends zusammen arbeiten zu können. Ein Bug im vergleich zum letzten Release wäre also durchaus möglich und es wäre dann sehr wichtig den zu finden!
    TS2, B.IQ, DALI, WireGate für 1wire so wie Server für Logik und als KNX Visu die CometVisu auf HomeCockpit Minor. - Bitte keine PNs, Fragen gehören in das Forum, damit jeder was von den Antworten hat!

    Kommentar


      #3
      Okay, wenn das cancelled normal ist, dann sollte doch eine neue read-Anfrage gesendet werden oder? aber ganau das passiert nicht. Das heisst nach dieser "frustranen" read-Anfrage ist Funkstille und die stati sind fix. Was mir noch aufgefallen ist: In diesem "freeze-Zustand" kann ich per CV genau eine Schaltaktion auslösen (Licht aus oder an). Der Anzeigestatus des Schalters ändert sich allerdings nicht mehr ... und danach reagiert die Visu nicht mehr auf Schaltbefehle o.ä.

      vielleicht hilft das ja.
      Viele Grüße Jens

      Kommentar


        #4
        Hier noch zwei Bilder .... nachdem eine Anfrage in ein timeout gelaufen ist kommt keine neue Anfrage mehr .... oder es kommt nach der initialen anfrage mit t=0 gar keine weitere Anfrage mit einem index und die stati werden gar nicht angezeigt .....


        snapshot1.jpg snapshot.jpg

        Viele Grüße Jens

        Kommentar


          #5
          Zitat von jensgulow Beitrag anzeigen
          Okay, wenn das cancelled normal ist, dann sollte doch eine neue read-Anfrage gesendet werden oder?
          Richtig. Es sollte immer eine Anfrage offen sein.
          Zitat von jensgulow Beitrag anzeigen
          aber ganau das passiert nicht.
          OK, guter Hinweis. Da kann ich schon mal zielgerichteter suchen.
          Zitat von jensgulow Beitrag anzeigen
          Was mir noch aufgefallen ist: In diesem "freeze-Zustand" kann ich per CV genau eine Schaltaktion auslösen (Licht aus oder an). Der Anzeigestatus des Schalters ändert sich allerdings nicht mehr ... und danach reagiert die Visu nicht mehr auf Schaltbefehle o.ä.
          Lesen und Schreiben laufen völlig getrennt. D.h. wenn der Lese-Fluss gestoppt ist (und der dagegen überwachende Watchdog nicht zuschlägt...) ist klar, dass es keinen Update mehr geben kann.
          Wenn nun auch noch das Schreiben geblockt wird, ist's sehr interessant und sollte auch bei der Suche helfen.
          TS2, B.IQ, DALI, WireGate für 1wire so wie Server für Logik und als KNX Visu die CometVisu auf HomeCockpit Minor. - Bitte keine PNs, Fragen gehören in das Forum, damit jeder was von den Antworten hat!

          Kommentar


            #6
            ... ich habe noch weiter probiert .... in dem "freeze-Zustand" wo nach dem ersten Klick die CV nicht mehr auf Befehle gehorcht (Stati ändern sich nicht und Schaltaktionen werden nicht ausgeführt) werden trotz allem noch write-Befehle in der CV generiert. Diese führen jedoch nicht zu sichtbaren Aktionen.

            siehe Bild anbei - nach Betätigung des eingerahm ten Schalters sollte dieser "AN" sein und das licht leuchten - beides geschieht nicht ....

            snapshot2.jpg
            Angehängte Dateien
            Viele Grüße Jens

            Kommentar


              #7
              Noch weiter .... im freeze-Zustand schickt die CV sehr wohl weiter Befehle an den Bus .... allerdings sind dies immer die gleichen, da ja der aktuelle Status des Gerätes nicht stimmt. (habe ich mit dem "busmonitor" des WG nachvollzogen). Im Klartext: ich konnte nach dem freeze eine Schaltaktion ausführen (am oben markierten Schalter) - die Lampe ging auch an .... in der CV blieb das icon auf "aus" ....
              Jede weitere Betätigung des Schalters führt zu einem write-Ereignis durch die CV .... das erscheint auch auf dem Bus .... jedoch ist es in allen Fällen wiederum ein Ein-Signal ...
              also habe ich das noch mit den anderen Schaltern ausprobiert ... und .... auch dort konnte ich die Schalter einschalten .... und der Status in der Cv änderte sich nicht und jede weitere Betätigung sandte weiterhin den bereits erreichten Status ....

              snapshot3.jpg
              Viele Grüße Jens

              Kommentar


                #8
                OK, das bestätigt meinen Verdacht, dass einfach der kontinuierliche Read-"Thread" gestoppt wurde und auch nicht durch den Watchdog neu gestartet wird (was eh nicht passieren dürfte, der Watchdog ist ja nur ein Sicherheitsnetz...)
                TS2, B.IQ, DALI, WireGate für 1wire so wie Server für Logik und als KNX Visu die CometVisu auf HomeCockpit Minor. - Bitte keine PNs, Fragen gehören in das Forum, damit jeder was von den Antworten hat!

                Kommentar


                  #9
                  Fix ist im Pull Request https://github.com/CometVisu/CometVisu/pull/329
                  TS2, B.IQ, DALI, WireGate für 1wire so wie Server für Logik und als KNX Visu die CometVisu auf HomeCockpit Minor. - Bitte keine PNs, Fragen gehören in das Forum, damit jeder was von den Antworten hat!

                  Kommentar

                  Lädt...
                  X