Forum KNX francophone / English KNX forum
Tuto : Lire un message audio dans un lecteur Sonos - Version imprimable

+- Forum KNX francophone / English KNX forum (https://www.knx-fr.com)
+-- Forum : Français (https://www.knx-fr.com/forumdisplay.php?fid=3)
+--- Forum : Logiciels libres (linknx, knxweb, pKNyX,...) (https://www.knx-fr.com/forumdisplay.php?fid=10)
+---- Forum : Home Assistant (https://www.knx-fr.com/forumdisplay.php?fid=24)
+---- Sujet : Tuto : Lire un message audio dans un lecteur Sonos (/showthread.php?tid=8766)



Tuto : Lire un message audio dans un lecteur Sonos - Ives - 01/01/2025

Bonjour,

Suite à une demande en MP, voici une automatisation HA qui permet de lire un message audio dans un lecteur Sonos suite au déclenchement d'un évènement ; dans l'exemple :
- c'est une sortie PGM de l'alarme dont l'état change en cas d'intrusion ;
- le message diffusé c'est "intrusion.m4a"
- le volume du lecteur Sonos est positionné à 80% avant la diffusion
- le message est répété en boucle jusqu'à ce que "switch.pgm_alarme_intrusion_on" soit à off (qui correspond à un désarmement de l'alarme).
- le delay de 10 s est légèrement supérieur à la durée d'enregistrement du message

Il faut en amont installer l'intégration Sonos
Code :
alias: Message Sonos intrusion
description: ""
triggers:
 - entity_id:
     - binary_sensor.alarme_intrusion
     - switch.pgm_alarme_intrusion_on
   to: "on"
   trigger: state
conditions: []
actions:
 - repeat:
     while:
       - condition: or
         conditions:
           - condition: state
             entity_id: binary_sensor.alarme_intrusion
             state: "on"
           - condition: state
             entity_id: switch.pgm_alarme_intrusion_on
             state: "on"
     sequence:
       - target:
           entity_id: media_player.salle_a_manger
         data:
           volume_level: 0.8
         action: media_player.volume_set
       - target:
           entity_id: media_player.salle_a_manger
         data:
           media_content_id: media-source://media_source/local/Intrusion.m4a
           media_content_type: audio/mp4
         action: media_player.play_media
       - delay:
           seconds: 10
mode: queued



RE: Tuto : Lire un message audio dans un lecteur Sonos - XeNo - 03/01/2025

C'est top ça, merci pour le partage !

Je l'ai mis en place avec une petite variation pour ceux qui veulent diffuser en TTS :
Bon malheureusement le TTS n'a aucune intonation, la voix est stoïque !

En TTS HA Cloud :
Code :
actions:
 - sequence:
     - action: media_player.volume_set
       target:
         entity_id: media_player.salle_de_bain
       data:
         volume_level: 0.8
     - action: tts.cloud_say
       data:
         options:
           voice: JeromeNeural
         cache: true
         entity_id: media_player.salle_de_bain
         message: Vous êtes sur un site protégé et filmé par nos caméras. Veuillez quitter les lieux immédiatement, la police vient d'être contactée. Je répète, Veuillez quitter les lieux immédiatement, la police vient d'être contactée !
         language: fr-FR
     - action: media_player.volume_set
       target:
         entity_id: media_player.salle_de_bain
       data:
         volume_level: 0.5


En TTS natif Google :

Code :
actions:
 - sequence:
     - action: media_player.volume_set
       target:
         entity_id: media_player.salle_de_bain
       data:
         volume_level: 0.8
     - action: tts.google_translate_say
        data:
          cache: true
          entity_id: media_player.salle_de_bain
         message: Vous êtes sur un site protégé et filmé par nos caméras. Veuillez quitter les lieux immédiatement, la police vient d'être contactée. Je répète, Veuillez quitter les lieux immédiatement, la police vient d'être contactée !
         language: fr
     - action: media_player.volume_set
       target:
         entity_id: media_player.salle_de_bain
       data:
         volume_level: 0.5



RE: Tuto : Lire un message audio dans un lecteur Sonos - Ives - 03/01/2025

@XeNo
La version TTS est intéressante pour le code mais utilise le Cloud et le message ne passe pas si les voleurs ont coupé la fibre/adsl.


RE: Tuto : Lire un message audio dans un lecteur Sonos - XeNo - 03/01/2025

(03/01/2025, 17:33:48)Ives a écrit : @XeNo
La version TTS est intéressante pour le code mais utilise le Cloud et le message ne passe pas si les voleurs ont coupé la fibre/adsl.

C'est pas faux ! Il faut que je trouve un micro alors, je vais les engueuler tu vas voir !


RE: Tuto : Lire un message audio dans un lecteur Sonos - flop - 03/01/2025

@Ives, HA mets en cache chaque message TTS, tu trouves les mp3 dans les dossiers, donc si le message à déjà été diffusé pour un test par exemple, le fichier est présent et fonctionne même sans cloud.


RE: Tuto : Lire un message audio dans un lecteur Sonos - Ives - 03/01/2025

@flop
Merci pour l'info, je ne savais pas.