Hallo,
ich habe das Thema schon mal hier angesprochen. Da ich aber immer wieder darüber stolpere und mir irgendwelche umständlichen Workarounds basteln muss, stelle ich hier einfach mal ein Feature Request. Vielleicht lässt sich da ja was im Zuge der geplanten Änderungen bei KNX was machen.
Ich würde mir wünschen, dass es für KNX-Instanzen eine Option gibt, dass der Status der jeweiligen Instanz nur dann aktualisiert wird, wenn auf fest definierten Gruppenadressen ein Telegramm empfangen wird.
Momentan ist es so, dass die Statusvariable immer mit dem Wert beschrieben wird, der zuletzt auf der Haupt-Gruppenadresse oder einer der weiteren Gruppenadressen („Mehr“) empfangen wurde.
Verhindert man KNX-seitig eine Reaktion auf ein Telegramm, weil der Aktor z.B. gesperrt ist, führt dies zu falschen Status innerhalb von IPS.
Beispiel
Ein Schaltaktor schaltet bei einem Telegramm auf der GA 1/1/1 und sendet seinen Status auf der GA 1/1/2.
Sende ich ein Telegramm zum Schalten auf 1/1/1, aktualisiert IPS den Status aufgrund dieses Telegramms, unabhängig davon, ob der Aktor wirklich geschaltet hat oder nicht.
Habe ich den Aktor intern gesperrt und sende ein Telegramm auf 1/1/1, ändert sich der Status in IPS, obwohl der Aktor gar nicht geschaltet hat. Würde IPS stattdessen den Status nur aktualisieren, wenn auf der GA 1/1/2 ein Telegramm empfangen wird, wäre der Status in IPS immer korrekt.
Konkret stelle ich mir vor, dass man die Haupt-GA der Instanz für das Empfangen optional auslassen kann und nur die Adressen unter „Mehr“ für den Empfang berücksichtigt. Noch besser wäre, wenn man explizit Status-GAs definieren könnte, anhand derer sich der Status ändern kann. Denn auch auf den Adressen unter „Mehr“ können potenziell Telegramme Empfangen werden, die gar nicht dem realen Status eines Gerätes entsprechen (z.B. bei Zenral-Aus-Adressen, die unter „Mehr“ aufgeführt sind).
Alternativ könnte man nach jedem empfangenen Telegramm ein EIB_Request senden, was jedoch zu einer erhöhten Buslast führen würde und daher nicht zu empfehlen ist.
Die gängigen KNX-Aktoren bieten in der Regel nur die Möglichkeit, den Status zyklisch oder bei Änderung zu senden. Daher erfolgt bei einem gesperrten AKtor in der Regel kein Status-Telegramm, da eben keine Änderung stattgefunden hat. Zyklische Meldungen sind wenig hilfreich, da sie ebenfalls die Buslast erhöhen und der Status dann zumindest bis zum nächsten zyklischen Senden falsch wäre.
Gruß
Slummi