Noch ergänzend zum Beitrag von mickym:
Man kann sich das ack zur Unterscheidung Soll/Ist vorstellen. Angenommen man hat einen Button in vis mit einer Lampe als Statussymbol. In dem Moment, indem man den Button betätigt, wird ein Kommando gesendet: Schalte Lampe ein (=Soll). Dabei ist ACK=false, denn die Bestätigung der Lampe ist ja noch nicht da. Erst wenn die Lampe auch wirklich reagiert hat und an ist, schickt sie ihren Status mit ACK=true (=Istwert) zurück, dann weiß vis, dass die Lampe auch wirklich angegangen ist. Im Falle von z.B. einer Hue-Lampe, die gerade eine Funkstörung hat, würde keine Bestätigung (ACK=true) zurückkommen, damit weiß man dass der Soll-Befehl nicht ausgeführt werden konnte.
Bei einer Jalousie wäre das beispielsweise so: Ich will eine offene (Wert: 0 % geschlossen) Jalousie herunterfahren - ich setze den Sollwert auf 100 % geschlossen. Die Markise braucht eine gewisse Zeit und sendet, während sie fährt, die ganze Zeit Ihren Status ... 10 %, 20 %, 30 %, ... und zwar immer als IST-Wert (ACK=true). Der Sollwert (100 %) bleibt die ganze Zeit unverändert, bis die Jalousie ihr Ziel erreicht hat. Während der ganzen Zeit kann vis aber die aktuelle Position ermitteln und entsprechend anzeigen. Das geht nur, wenn Sie Soll/Ist unterscheiden kann - und dazu brauche ich das Flag "ACK".
Das Flag sollte nur der Teil des Systems setzen, der auch wirklich den aktuellen Zustand kennt.
Ich hoffe, das ist jetzt etwas klarer geworden?