Ankündigung

Einklappen
Keine Ankündigung bisher.

warum meldet Experte falsches Datenformat?

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

    warum meldet Experte falsches Datenformat?

    Hallo,

    bei einem eingehend Anruf, möchte ich den Anrufen mit Zeitstempel sowie den Namen des Anrufers speichern.

    Soweit ich das sehe muss ich diese Info in 2 Archive packen.

    Wenn ich nun einen Neustart des HS mache bekomme ich immer im Archiv mit dem Anrufernamen einen leeren Eintrag und meine Spalten passen nicht mehr zusammen.

    Eintrag 2 des Namensarchiv gehört dann zu Eintrag 1 des NummernArchiv.

    Nun habe ich das über ein Sperrobjekt, als auch über eine Triggerobjekt versucht in den Griff zu bekommen, aber leider ohne Erfolg.

    Ich bekomme beim Übertragen die Meldung: "Ausgang und Eingan haben nicht das gleiche Datenformat"

    a.) was mache ich hier falsch

    b.) gibt es eine einfachere Methode diese Info zusammen zu speichern?

    Gruß Hartwig
    Angehängte Dateien
    Gruß Hartwig

    #2
    Falsch ist, daß du den Ringspeicher mit 2 Telegrammen fütterst. Die HS Logik arbeitet eventgesteuert!
    Wenn du also als erstes die Rufnummer in den Ringspeicher schiebst und danach den (separat ermittelten) Namen, sind das 2 Events, was zur beobachteten Spaltenverschiebung führt. Siehe auch hier: https://knx-user-forum.de/showthread...t=ringspeicher

    Ansatz: https://knx-user-forum.de/showthread...eicher&page=16
    Gruss aus Radevormwald
    Michel

    Kommentar


      #3
      All das was Michel schon geschrieben hat stimmt. Das Problem bei der HS Logik (und ich säge schon seit Jahren daran dass sich da was ändert) ist nicht dass sie Eventgesteuert ist sondern dass sie pseudo-asynchron ist. Wäre die Logik serialisiert dann wäre vieles einfacher und vorallem vorhersehbar.

      Ich gehe mal davon aus dass du jedes mal einen Befehl absetzt um "Anrufer 1", "Anrufer 1 Name" und "Anrufer 1 Zeit" zu speichern.

      Die einzige Lösung die mir einfällt (und auch die ist nicht ganz sicher) ist dass du diese 3 KOs mit einem Textauslöser verbindest diese Auslöser oper Zählerbaustein zählst und mit einem Vergleicher bei 3 (also wenn alle 3 ein update erfahren haben) zum einen den Zähler resettest (per temporäres KO wegen loop) und den Befehl zum Schreiben in das Archiv triggerst.

      Aber sauber ist die Lösung nicht. Auch das Schreiben ins QArchiv ist asynchron und kann durchaus innerhalb eines erneuten updates passieren.

      Gruss,
      Gaston

      Kommentar

      Lädt...
      X