Feature Request: Optionale Status-Gruppenadressen

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

Ich habe / hatte exakt das gleiche Problem. Allerdings habe ich mir Workarounds gebastelt, z.B. mache ich das Toggeln einer Lampe abhängig von dem Wert der Status-GA.
Die oben beschriebene Lösung wäre mir natürlich deutlich lieber, auch wenn ich den Performance-Gewinn nicht wirklich sehe.

Viele Grüße
Sven

Hi Slummi,

danke für die ausführliche Beschreibung. Ich habe mir das eben noch einmal angesehen… und festgestellt, dass du dein Wunschverhalten bekommst, wenn du einfach den Haken bei „Empfangen“ entfernst. Dann werden nämlich die „Mehr?“ GAs empfangen, jedoch die Haupt GA nicht. (Ich sollte in der Konsole den Hinweistext etwas verbessern, denn das wird daraus nicht klar.)

paresy

Hi paresy,

da arbeitet man seit Jahren mit IPS und KNX, aber das wäre das letzte, worauf ich gekommen wäre.
Danke für den Tipp!

Die Beschreibungen / Doku könnten in der Tat etwas genauer sein. :wink: Auch für den Button „Mehr?“ gebe es sicher eine passendere Bezeichnung. :smiley:

Ein Punkt funktioniert durch das Entfernen des Empfangen-Hakens allerdings nicht.
Wenn das „ignorierte“ KNX-Telegramm von IPS ausgeht, ändert sich der Status weiterhin.

Also wenn ich z.B. ein EIB_Switch() ausführe, obwohl der Aktor gesperrt ist, setzt IPS die Status-Variable, auch wenn nicht geschaltet wurde. Das fange ich zwar meist dadurch ab, dass zumindest im Webfront bei gesperrten Aktoren keine Aktionen ausführbar sind, aber das ist nicht in jedem Fall möglich und verhindert auch nicht das Ausführen in Skripten etc.

Vielleicht könnt ihr euch das bei Gelegenheit noch mal anschauen? Bei EnOcean habt ihr das ja auch gelöst, dass man wählen kann, ob die Status-GA immer aktualisiert wird oder nur, wenn geschaltet wurde.

Auf jeden Fall bringt mich das schon mal ein ganzes Stück weiter!
Jetzt muss ich nur noch darauf achten, dass beim Anlegen einer neuen KNX-Instanz nicht aus versehen von IPS eine Gruppen-GA (Zentral-Aus etc.) unter mehr eingetragen wird. Aber das ist ja das kleinste Problem, wenn man es weiß.

Gruß
Slummi

Prima, das ist gut zu wissen!

Leider funktioniert dieser Weg für Jalousien nicht, weil es die „Empfangen“-Checkboxen dort nicht gibt. Gerade bei Jalousien fände ich es tatsächlich sinnvoll, weil die häufiger mal gesperrt werden.