Reprendre la diffusion et réinitialiser le volume après diffusion d'un message sur enceinte Google Cast

Mon problème

Hello,

Est-ce que quelqu’un s’est déjà atteler à restaurer l’état d’une enceinte Google Cast après avoir diffuser un message ?

  • Stream diffusée ;
  • éventuellement reprendre au bon moment mais là ça me semble très ambitieux ;
  • Volume précédent.

Histoire au moins d’évaluer la faisabilité de la chose :slight_smile:

Le tutoriel d’origine

https://forum.hacf.fr/t/ajouter-et-diffuser-un-message-sur-une-enceinte-google-cast/220

Ma configuration


System Health

version core-2021.3.2
installation_type Home Assistant OS
dev false
hassio true
docker true
virtualenv false
python_version 3.8.7
os_name Linux
os_version 5.4.99
arch x86_64
timezone Europe/Paris
Home Assistant Community Store
GitHub API ok
Github API Calls Remaining 5000
Installed Version 1.11.3
Stage running
Available Repositories 815
Installed Repositories 3
Home Assistant Cloud
logged_in true
subscription_expiration 20 mars 2021 à 01:00
relayer_connected true
remote_enabled true
remote_connected true
alexa_enabled false
google_enabled true
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Hass.io
host_os Home Assistant OS 5.12
update_channel stable
supervisor_version supervisor-2021.03.4
docker_version 19.03.13
disk_total 30.8 GB
disk_used 5.0 GB
healthy true
supported true
board ova
supervisor_api ok
version_api ok
installed_addons Samba share (9.3.1), WireGuard (0.5.0), SSH & Web Terminal (8.0.3), Home Assistant Google Drive Backup (0.103.1), MariaDB (2.2.2), Mosquitto broker (5.1.1)
Lovelace
dashboards 1
resources 0
mode auto-gen

Voir du côté du service scene.create à appeler avant l’action de diffusion du message et le service scene.turn_on.

Merci, j’ai donc creusé de ce côté"là mais ça n’est pas concluant pour le coup :slight_smile:

Petit passage de la doc qui me laisse perplexe.

Deux interprétations possible, mais la logique me dit que ça signifie que si la scène existe déjà, l’existante sera remplacée par celle qu’on définie.
Cependant, je constate l’inverse.

Je mets une musique (via l’assistant Google vu que c’est le cas typique), je fais un automation.trigger de mon automatisation histoire de l’exécuter à la main dans les outils de développement->Services.
La musique s’arrête, mon message est diffusé et… Rien y compris dans le log.
Je remet une musique, je réexécute mon automation et j’ai une erreur dans le log disant qu’il n’est pas possible de caster ce qui a tout à fait l’air d’être le MP3 joué par le TTS:
2021-03-08 18:00:16 ERROR (Thread-9) [homeassistant.components.cast.media_player] Failed to cast media http://192.168.xxx.xxx:8123/api/tts_proxy/b8a4be0b8aca995213779efecd48a19cb600fc77_fr-fr_a9c18110b0_cloud.mp3 from internal_url (http://192.168.xxx.xxx:8123). Please make sure the URL is: Reachable from the cast device and either a publicly resolvable hostname or an IP address

Voici mon automation.

- id: '1612183174869'
  alias: Notification de courrier
  description: Notification de courrier quand le détecteur de présence est connecté
  trigger:
  - platform: state
    entity_id: device_tracker.detecteur_de_mouvement_boite_aux_lettres
    from: not_home
    to: home
  condition: []
  action:
  - service: scene.create
    data:
      scene_id: avant_courrier
      snapshot_entities:
      - media_player.enceinte_bureau
  - service: tts.cloud_say
    data:
      entity_id: media_player.enceinte_bureau
      message: Il y a du courrier
  - delay:
      seconds: 2
  - service: scene.turn_on
    target:
      entity_id: scene.avant_courrier

J’ai mis un délai avant l’activation de la scène car contrairement à ce que je pensais et espérais, tts.cloud_say ne bloque pas l’exécution.