Diffusion audio¶
L'agent AUDIO diffuse des annonces vocales sur les enceintes d'une machine. Il ne fournit aucune entrée ni sortie : c'est un organe de notification, au même titre que le SMS et la messagerie.
I/O exposées¶
| Famille | Disponible |
|---|---|
DI, DO, AI, AO |
non |
Rien à mapper. L'audio se pilote exclusivement par les messages D.L.S.
Les zones de diffusion¶
Une zone représente un ensemble d'enceintes, typiquement une pièce. Chaque agent audio est rattaché à une ou plusieurs zones.
Configuration dans la Console : menu Zones audio.
| Champ | Description |
|---|---|
| Nom de la zone | Identifiant utilisé en D.L.S, par exemple SALON |
| Libellé | Texte affiché dans la Console |
| Agents rattachés | Les agents audio qui diffusent dans cette zone |
Prévoyez une zone générale
Une zone regroupant toutes les enceintes est indispensable pour les alertes de sécurité, qui doivent être entendues partout.
Diffuser un message¶
L'option audio_zone d'un message désigne la zone de diffusion :
#define MSG_PORTAIL_OUVERT <-> _MSG(type=etat,
libelle="Le portail vient de s'ouvrir",
audio_zone="SALON");
#define MSG_FUITE_EAU <-> _MSG(type=danger,
libelle="Attention, fuite d'eau détectée",
audio_zone="GENERALE",
notif_sms);
- PORTAIL:OUVERT -> MSG_PORTAIL_OUVERT;
- CAVE:DETECTION_EAU -> MSG_FUITE_EAU;
Le texte du libelle est lu à voix haute. Il peut contenir des variables :
#define MSG_TEMP <-> _MSG(libelle="Il fait $TEMP:JARDIN degrés dehors",
audio_zone="CUISINE");
Écrire un texte destiné à être entendu¶
Un bon libellé écrit n'est pas forcément un bon libellé parlé.
Quelques règles
- Phrases courtes et complètes. « Le portail est ouvert » plutôt que « Portail : ouvert ».
- Pas d'abréviations. « degrés » et non « °C », « pourcent » et non « % ».
- Attention aux unités collées au nombre.
$TEMP:JARDIN°Cse prononce mal. - Évitez la ponctuation exotique, les parenthèses et les tirets.
- Relisez à voix haute avant de valider.
Éviter la cacophonie¶
Une annonce répétée à chaque tour du moteur est insupportable.
Déclenchez toujours sur un front, jamais sur un état
/* À éviter : l'annonce se répète tant que la condition est vraie */
- PORTE_OUVERTE -> MSG_PORTE;
/* Préférer : déclenchement sur le front montant */
#define MEM_PORTE <-> _B(libelle="Mémoire annonce porte");
- PORTE_OUVERTE . /MEM_PORTE -> MSG_PORTE, MEM_PORTE;
- /PORTE_OUVERTE -> /MEM_PORTE;
Pensez aussi à conditionner les annonces non urgentes à une plage horaire :
- ANNONCE . _HEURE > 07:30 . _HEURE < 22:00 -> MSG_INFO;
Limites à connaître¶
| Limite | Conséquence |
|---|---|
| La synthèse vocale nécessite un accès Internet | Pas d'annonce en cas de coupure |
| Latence de quelques secondes | L'audio n'est pas un moyen d'alerte temps réel |
| Une seule annonce à la fois par zone | Les messages simultanés s'enchaînent |
Pour une alerte critique, doublez toujours l'audio par un SMS ou un message visuel.