Seite 1 von 1

[V3.5.1] GroupValueRead bei Logik-Triggerung

Verfasst: Sa Dez 09, 2023 10:53 am
von kisenberg
Hallo,

ich möchte zum Einen den Zustand einer Gruppenadresse mittels GroupValueRead bei Triggerung einer Logik abfragen und zum Anderen die Logik auf die Antwort der Gruppenadresse zur Verarbeitung des Wertes warten lassen.
Gibt es diese Möglichkeit?

Re: GroupValueRead bei Logik-Triggerung

Verfasst: Sa Dez 09, 2023 11:12 am
von StefanW
Hi,

das KNX System basiert auf einer Leitung, die einen Kilometer lang sein darf, mit 255 Teilnehmern dran und daher beträgt die Übertragungsgeschwindigkeit nur 9600 Bit/s. Um diese knappe Buskapazität einzusparen, wurde das System dahingehend designed, dass nach Möglichkeit kein aktueller Status oder Abfragen, sondern vor allem nur aktuelle Änderungen übertragen werden sollen.

Entsprechend ist im Design des Timberwolf Servers (bislang) nicht vorgesehen, dass Abfragen erfolgen zum Zeitpunkt eines Triggers o.ä. sondern der Timberwolf Server cached sämtliche letzten Telegramme und stellt diese über das Objektsystem zur Verfügung.

Du kannst also mit einem Trigger an einer Logik eine Berechnung auslösen, auf Basis der letzten bekannten Werte. Es werden keine Lesetelegramme erzeugt, weil das dem KNX System nicht entspricht und man damit sehr schnell seinen Bus zumüllen kann.

Mein Rat wäre, die entsprechenden Sensoren so einzustellen, dass Wertänderungen zeitnah übertragen werden, dann hat der Server stets den aktuellen Status und die Logiken verwenden diesen dann.

Rein technisch würde der Server schon Leseanfragen stellen können, aber wir haben das noch nicht in der Oberfläche als auswählbar implementiert, weil es zum einen selten nachgefragt wird und man damit zum anderen den Bus zumüllen kann und hier besteht die Gefahr, dass der Kunde uns dann die Schuld daran gibt und wir schlechte Presse bekommen.

lg

Stefan

Re: GroupValueRead bei Logik-Triggerung

Verfasst: Sa Dez 09, 2023 12:03 pm
von Mibr85
Hallo ??? ( wir sprechen uns gern mit Vornamen an)
Kannst du bitte noch die aktuelle SW Version deines TWS in den Titel eintragen?
Danke

Re: GroupValueRead bei Logik-Triggerung

Verfasst: Sa Dez 09, 2023 6:55 pm
von kisenberg
Viele Dank für Deine Rückmeldung, Stefan
StefanW hat geschrieben: Sa Dez 09, 2023 11:12 am Übertragungsgeschwindigkeit nur 9600 Bit/s. Um diese knappe Buskapazität einzusparen, wurde das System dahingehend designed, dass nach Möglichkeit kein aktueller Status oder Abfragen, sondern vor allem nur aktuelle Änderungen übertragen werden sollen.
Genau um die Buskapazität geht es mir.

Meine Logik soll eine Pumpe nur schalten, wenn diese Pumpe den gewünschten Status aktuell nicht hat. Das löse ich über ein XOR des Schaltaktorstatus und dem gewünschten Wert sowie SendExplicit.

Wenn ich die Logik speichere oder aktiviere, kennt allerdings die Logik den Pumpenstatus nicht, da der Schaltaktor den Wert nicht zyklisch senden kann und die Logik bei Aktivierung den Wert auch nicht abfragt.
Wäre es zumindest möglich den TWS beim Speichern und Aktivieren von Logiken bei Bedarf die Eingangswerte vom Bus abzufragen? Das machen ja bspw. auch viele KNX-Komponenten bei einem Neustart.

VG
Karsten

Re: [V3.5.1] GroupValueRead bei Logik-Triggerung

Verfasst: So Dez 10, 2023 7:45 pm
von Parsley
Hi Karsten

Vielleicht geht das I-flag der TWS KNX KO ungefähr in die Richtung, die du suchst?

Re: [V3.5.1] GroupValueRead bei Logik-Triggerung

Verfasst: Mo Dez 11, 2023 9:29 am
von StefanW
Hi Karsten,

auch der KNX Stack des Timberwolf Servers kann beim Neustart Werte vom Bus holen (wie andere Devices auch), diese sind mit dem entsprechenden Flag zu markieren.

Ich zitiere aus dem WIKI (und empfehle das zu lesen):
Eine besondere Eigenschaft kommt dem Flag “Lesen bei Init” zu, dieses ist eine besondere Fähigkeit des Timberwolf Servers und bedeutet, dass beim Neustart des KNX Stacks für solche Objekte automatisch Lese-Telegramme ausgesendet werden. Dies ist sehr hilfreich für Informationen, die von Visualisierungen benutzt werden, weil damit eine umgehende Initialisierung von Werten nach Neustart der Anlage erfolgen kann (dies ist auch abhängig davon, ob von dem autoritativen KNX Gerät eine Aussendung nach Lese-Telegramm überhaupt unterstützt wird).
Die Logik kann derzeit noch keine solchen Lese-Telegramme auslösen, weil das Objektsystem in Vorwärtsrichtung implementiert ist. Es gibt Gedanken, einen "Intervall-Lese-KNX-Service" zu implementieren, aber die Nachfrage danach ist gering, weil moderne KNX Devices alle das regelmäßige Senden beherrschen.

lg

Stefan

Re: [V3.5.1] GroupValueRead bei Logik-Triggerung

Verfasst: Mo Dez 11, 2023 6:45 pm
von kisenberg
Hallo Parsley,
Parsley hat geschrieben: So Dez 10, 2023 7:45 pm Vielleicht geht das I-flag der TWS KNX KO ungefähr in die Richtung, die du suchst?
Das I-Flag blockiert die Logik ja nur, solange kein Wert am I-markierten Eingang anliegt. Da hätte ich ein Henne-Ei-Problem, da die Logik normalerweise der einzige Auslöser der Pumpenschaltung ist. Normalerweise, da es durchaus sein kann, dass die Logik gerade bearbeitet wurde während die Pumpe in Betrieb ist oder der Schaltaktor manuell betätigt wurde oder oder ...
Schlussendlich startet die Logik mit einem Default-Wert, der jedoch nicht unbedingt die Realität widerspiegelt und der Schaltaktor der Pumpe sendet den Statuswert leider nicht zyklisch.
StefanW hat geschrieben: Mo Dez 11, 2023 9:29 am auch der KNX Stack des Timberwolf Servers kann beim Neustart Werte vom Bus holen (wie andere Devices auch), diese sind mit dem entsprechenden Flag zu markieren.

Die Logik kann derzeit noch keine solchen Lese-Telegramme auslösen, weil das Objektsystem in Vorwärtsrichtung implementiert ist. Es gibt Gedanken, einen "Intervall-Lese-KNX-Service" zu implementieren, aber die Nachfrage danach ist gering, weil moderne KNX Devices alle das regelmäßige Senden beherrschen.
Das Wertelesen beim Neustart ist mir ja bekannt.

Könntest Du Dich mit dem Gedanken anfreunden, wenn der KNX-Leseservice, der beim Timberwolf-Neustart getriggert wird, auch beim Speichern oder der Aktivsetzung von dafür markierten Logiken getriggert wird?

VG
Karsten

Re: [V3.5.1] GroupValueRead bei Logik-Triggerung

Verfasst: Mo Dez 11, 2023 7:26 pm
von StefanW
Hi Karsten,
kisenberg hat geschrieben: Mo Dez 11, 2023 6:45 pmKönntest Du Dich mit dem Gedanken anfreunden, wenn der KNX-Leseservice, der beim Timberwolf-Neustart getriggert wird, auch beim Speichern oder der Aktivsetzung von dafür markierten Logiken getriggert wird?
Der Sinn ist verstanden und es gab auch schon interne Diskussionen dazu, wir haben auch die API im KNX Stack drin.

Aber es gibt halt viele Wünsche und irgendwie müssen wir sortieren, was wir in welcher Reihenfolge machen und da spielt es schon eine Rolle, wie oft etwas bei uns angefragt wurde.

Daher möchte ich kein Versprechen abgeben.

lg

Stefan

Re: [V3.5.1] GroupValueRead bei Logik-Triggerung

Verfasst: Di Dez 12, 2023 10:30 am
von Parsley
Hallo Karsten
kisenberg hat geschrieben: Mo Dez 11, 2023 6:45 pm
Parsley hat geschrieben: So Dez 10, 2023 7:45 pm Vielleicht geht das I-flag der TWS KNX KO ungefähr in die Richtung, die du suchst?
Das I-Flag blockiert die Logik ja nur, …
Ich rede nicht von der Logik, sondern von den KNX Flags. In der ETS kannst du nicht nur die weit hin bekannten KSÜAL, sondern auch das weniger bekannte I Flag einstellen. ;)

https://elabnet.atlassian.net/wiki/spac ... in+der+ETS

Re: [V3.5.1] GroupValueRead bei Logik-Triggerung

Verfasst: Di Dez 12, 2023 10:05 pm
von Robert_Mini
Das hilft halt nur beim Neustart des TWS, nicht beim Speichern der Logik oder restart Logik-Engine.

Ich verstehe Karstens Thema sehr gut, hab mich aber an das nachziehen der Stati im DokMode nach dem Speichern gewöhnt. Sehe das inzwischen als Funktionstest (Ausgang kurz abkoppeln).

Lg
Robert