Hi allerseits,
die Frage ist vielleicht etwas provokant, aber durchaus ernsthaft gemeint. Man kann ja bei einem LK immer einstellen, ob Telegramme immer bestätigt werden sollen oder nur wenn sie weitergeleitet wurden. Das alte WireGate hatte per Default die option --tpuarts-ack-all-group gesetzt. Ich hab das auch die letzten 4-5 Jahre so betrieben (also immer ACK senden) und es jetzt mal versuchsweise zurückgesetzt.
Und jetzt frage ich mich ernsthaft, was mir bzw. dem System ein "nicht immer bestätigen" bringt? Meine Beobachtungen, wenn man ein explizites ACK haben will:
Die Fragen:
Gruß, Waldemar
die Frage ist vielleicht etwas provokant, aber durchaus ernsthaft gemeint. Man kann ja bei einem LK immer einstellen, ob Telegramme immer bestätigt werden sollen oder nur wenn sie weitergeleitet wurden. Das alte WireGate hatte per Default die option --tpuarts-ack-all-group gesetzt. Ich hab das auch die letzten 4-5 Jahre so betrieben (also immer ACK senden) und es jetzt mal versuchsweise zurückgesetzt.
Und jetzt frage ich mich ernsthaft, was mir bzw. dem System ein "nicht immer bestätigen" bringt? Meine Beobachtungen, wenn man ein explizites ACK haben will:
- Für alle nicht-KNX-Geräte (Visu, Gateways zu anderen Protokollen) werden alle Telegramme 4 mal wiederholt. Klar, deren "Schuld", die müssten ein ACK senden. Tun sie aber nicht. Ist erstmal die Beobachtung.
- Buslast steigt (bei mir von 5%-15% auf 15%-35%), wohl durch die vielen Wiederholungen
- Das Programmieren von Geräten dauert länger, da es da vermehrt zu Wiederholungen kommt. Das verstehe ich nicht (eigentlich sollten ja nur Gruppenadressen immer bestätigt werden), aber das habe ich beobachtet (wenn mich hier jemand erleuchten könnte, wäre das auch schön).
- Wenn ich mir meine GA-Verknüpfungen ansehe, dann sind sehr viele davon mit mehr als zwei KO verbunden. Der Sender schickt seine Infos also an mehrere Empfänger. Der ACK kommt aber GLEICHZEITIG von allen Empfängern, wenn also nur einer von 3 Empfängern ein ACK macht, wird nicht wiederholt und 2 von 3 haben die Information nicht erhalten. Dass wirklich alle 3 kein Telegramm empfangen, ist wohl sehr selten, aber in diesem Fall würde ja wiederholt werden.
- Da nur einer ein ACK zu senden braucht, lebt man mit der Unsicherheit, dass das Telegramm bei den anderen verloren gegangen ist, sowieso schon (ist inhärent im Protokoll enthalten). Hier geht man offensichtlich davon aus, dass wenn es einer empfangen kann, es schon auch alle anderen empfangen haben werden. Damit würde für alle GA, die mit mehr als 2 KO verbunden sind, der "individuelle" ACK gleichwertig zu einem automatischen ACK sein.
- Jetzt kann man noch argumentieren, dass es immerhin was bringt, wenn eine GA mit nur 2 KO verbunden ist, denn dann wird dem Sender klar geantwortet, wenn das Telegramm empfangen wurde.
- Wenn aber bei mehreren Empfängern davon ausgeht, dass es reicht, dass es einer empfängt, dann kann ich doch auch bei einem Empfänger davon ausgehen. Wenn also mein LK das Telegramm empfangen hat, dann wird es wohl auch der eine Empfänger empfangen haben. Dann reicht es doch, dass nur der LK das Signal betätigt, oder?
- Es ist wichtig, dass es ein ACK gibt. Das verhindert, dass ein Telegramm komplett verloren geht.
- Es muss nur EINER am Bus den ACK senden, wenn er ein vollständiges Telegramm empfangen hat, da dann auch alle anderen das Telegramm empfangen haben. Das ist protokollinhärent.
- Ein "alle Telegramme bestätigen" schadet somit dem Gesamtsystem nicht, es unterstützt es sogar und vermindert die Protokollast.
Die Fragen:
- Kann ich ohne schlechtes Gewissen Freunden, Bekannten und Forummitgliedern empfehlen, jedes Telegramm bestätigen zu lassen, vor allem wenn Visu-Software mit im Spiel ist?
- Oder noch allgemeiner: Ist es systemkonform, immer ein ACK zu senden, wenn man ein Telegramm empfangen hat, auch wenn das Telegramm nicht für einen bestimmt ist (und das Telegramm ansonsten vollständig ist)?
Gruß, Waldemar
Kommentar