Se come "tasto" utilizzi un panel (ad esempio) hai gli eventi Touch e le azioni Action_Down, Action_Up.
Qui sul primo puoi avviare un ciclo che ogni volta che un contatore raggiunge un certo valore (o tramite timer se preferisci), invia tramite Write una serie di byte che indicano ciò che ti serve (ospiti, home..). Al rilascio, altra serie di byte che indica la fine della precedente fase (ed eventualmente l'inizio della successiva)
L'intelligenza sarà tutta nel ricevente che, ottenuto un buffer, capirà come comportarsi.
Attenzione che l'esatto contenuto del buffer non dipende dal tuo codice (es. invii 10 byte, ma magari ne vengono trasmessi 6 e poi altri 4 oppure 6 del primo blocco, poi 4 del primo blocco insieme a 2 del secondo e così via).