Ankündigung

Einklappen
Keine Ankündigung bisher.

Item durch ein anderes Item beim Startup intialisieren

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

    Item durch ein anderes Item beim Startup intialisieren

    Hi,

    weiß jemand, wie man zuverlässig ein Item durch den Wert eines anderen Items initialisieren kann?
    Ich kenne natürlich eval_trigger, aber das scheint bei Startup nicht zu funktionieren.

    Simples Beispiel:
    Ich habe ein Item, das wird nur über die Visu beeinflusst:
    Code:
            [[IstAbwesend]]
                name = Abwesend
                type = bool
                cache = True
                visu_acl = rw
                knx_status = x/y/z
                knx_reply = x/y/z
            [[IstAnwesend]]
                name = Anwesend
                type = bool
                eval = not sh.Zentral.IstAbwesend()
                eval_trigger = Zentral.IstAbwesend
                knx_status = x/y/zz
                knx_reply = x/y/zz
    Ich will jetzt, dass IstAnwesend immer (auch nach dem Startup) die Negation von IstAbwesend ist. Das ist jedoch nicht der Fall (vielleicht wichtig - aber noch nicht ausprobiert - die beiden Items stehen nicht im selben .conf-File). Nach dem Startup können auch beide Items = false sein!! Das ist dann "böse". Ich bräuchte so was wie value = not sh.Zentral.IstAbwesend().

    Das ist nur ein Beispiel. Ich habe bei mir in den .conf-Files einige Verweise auf andere Items, mit fehlt hier im Allgemeinen die Möglichkeit, die Item-Beziehungen nach dem Startup festzulegen. Weiß jemand Rat? In den Doku hab ich nichts gefunden.

    Gruß, Waldemar

    OpenKNX www.openknx.de

    #2
    Hi,

    ich muss mich selber korrigieren! Mein 2. Item sah so aus:
    Code:
    [[IstAnwesend]]
    name = Anwesend
    type = bool
    eval = [COLOR=#FF0000]value[/COLOR]
    eval_trigger = Zentral.IstAbwesend
    knx_status = x/y/zz
    knx_reply = x/y/zz
    Und das 'value' scheint das Problem zu sein. Wenn ich da - wie bereits oben beschrieben - ein sh.Zentral.IstAbwesend() hinschreibe, scheint es zu funktionieren...
    Mir ist zwar der prinzipielle Unterschied zwischen value und direkter Item-Angabe klar, aber in diesem Fall hätte ich erwartet, dass sie gleich sind.

    Gruß, Waldemar

    OpenKNX www.openknx.de

    Kommentar

    Lädt...
    X