Ankündigung

Einklappen
Keine Ankündigung bisher.

Infotrigger : Wert wird nach Neustart/Neuprogrammieren nicht angezeigt

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

    Infotrigger : Wert wird nach Neustart/Neuprogrammieren nicht angezeigt

    Hallo,

    ich möchte für meine mdt-Heizungsaktoren den "Sollwert Komfort" auf der CometVisu darstellen und ändern können.
    Dazu habe ich den Infotrigger benutzt:

    Code:
    <infotrigger uplabel="+" upvalue="0.5" downlabel="-" downvalue="-0.5" styling="Blue_Green_Red" align="center" infoposition="middle" format="%.1f °C" change="absolute" min="15" max="30">
    <layout colspan="1.8" colspan-s="10.3"/>
    <address transform="DPT:9.001" mode="readwrite">14/2/4</address>
    </infotrigger>
    Funktioniert soweit, jedoch gibt es zwei Situationen, in denen mir der Wert nicht angezeigt wird.
    - die CometVisu bzw. der Raspi wird neu gestartet (kommt gelgentlich vor)
    - den Heizungsaktor wird neu programmiert

    Danach sehe ich nur "-" anstatt dem Wert, erst nach Betätigen von der + Taste oder - Taste wird der Wert angezeigt.
    Wenn ich nun mittels ETS die Adresse 14/2/4 auslese, erscheint der Wert auch in der CometVisu.

    Mir scheint, als würde die CometVisu nach Neustart den Wert nicht abfragen bzw. der Heizungsaktor nach Neuprogrammierung diesen nicht senden.
    Ist das bei Euch auch so, oder hab ich irgendwas übersehen?

    Bin für jeden Tipp dankbar.

    Gruß,
    Stefan

    Edit: Ich benutze CometVisu 0.9.2

    #2
    Ich hab gerade mal im eibd/knxd Source Code nachgesehen:
    Das eibread-cgi, das hierfür zuständig ist, nutzt beim initialen Laden ein
    EIB_Cache_Read_Sync (con, dest, &src, sizeof (buf_gread), buf_gread, 0);
    Das bedeutet:
    Code:
    /** Query the last value sent to a group address; if not in cache, try to get it via A_GroupValue_Read
    * \param con eibd connection
    * \param dest group address
    * \param src source address of the last APDU
    * \param max_len buffer size
    * \param buf buffer for last APDU
    * \param age if non-zero, send a A_GroupValue_Read, if the cached telegram is older than age seconds.
    * \return -1 if error (ENODEV=group cache not enabled, ENOENT=A_GroupValue_Read request was not answered), else length of APDU
    */
    int EIB_Cache_Read_Sync (EIBConnection * con, eibaddr_t dest, eibaddr_t * src, int max_len, uint8_t * buf, uint16_t age);
    Also grundsätzlich könnte hier eine Lese-Telegramm geschickt werden, ob das aber auch bei dem Wert Null - der ja übergeben wird - auch passiert, weiß ich nicht. Und da ich gerade zu doof bin die Implementierung von EIB_Cache_Read_Sync im Code zu finden, kann ich das leider nicht herausfinden
    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
      Klingt ja schon mal so, als ob es prinzipiell vorgesehen ist, ein Lese-Telegramm zu schicken. Wäre natürlich super, wenn das auch erfolgen würde. Wer könnte sowas prüfen bzw. anpassen?

      Kommentar


        #4
        Jemand der sich mit dem eibd/knxd Source Code auskennt

        Alternativ kannst Du ja mal mit ziemlich leeren CometVisu Configs spielen und parallel den ETS Busmonitor laufen lassen. Kommen z.B. Lese-Telegramme wenn eine Config geladen wird in der nur GAs vorkommen die bisher noch nie auf dem Bus waren? Kommen Lese-Telegramme (welche?) wenn manche GAs im eibd/knxd Cache liegen, die anderen aber nicht?
        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