Utilisation media_player voice assistant pour messages depuis automatisation

Bonsoir,

Je vous expose le scénario, j’ai un assistant vocal ESP32 avec un média player, INMP441 et Max 98357 qui fonctionne correctement.

Mon alarme est uniquement basée sur la présence de mon iPhone et sur la condition que l’alarme soit activée, (pas Alarmo) le tout géré par Node Red, prise de photo, lumières si nuit, alerte et photos par message telegram, diffusion d’un message sur l’ampli connecté, tout fonctionne, mais si mes filles passent, elles n’aiment pas trop la « grognasse » qui leur parle pour reprendre leur expression.
Donc j’ai mis en place un lecteur RFID-RC522 et des badges pour tout le monde pour désactiver l’alarme, ça aussi OK.

Le scénario:
Je redémarre complétement HA et je passe un badge sur le lecteur ce qui déclenche cette automatisation qui fonctionne parfaitement, je fais 2 appels TTS différents pour tester deux solutions, les deux messages sont diffusés (délai).

alias: Balise activation Alarme
description: Pour les filles
trigger:
  - id: Estelle
    platform: tag
    tag_id: 04-43-2D-2A-F7-0F-90
  - id: KatellLC
    platform: tag
    tag_id: 4C-F4-DB-6E
  - id: EnoraLC
    platform: tag
    tag_id: 04-2C-1F-2A-F4-0F-91
  - id: BrunoLC
    platform: tag
    tag_id: 04-98-25-2A-F4-0F-90
condition:
  - condition: state
    entity_id: alarm_control_panel.massimo_alarm
    state: disarmed
action:
  - service: alarm_control_panel.alarm_arm_away
    target:
      entity_id:
        - alarm_control_panel.massimo_alarm
    data: {}
  - service: light.turn_on
    metadata: {}
    data:
      color_name: red
      brightness: 225
    target:
      entity_id:
        - light.ruban_led_color_light_26_sejour
        - light.ruban_led_color_light_21
  - service: notify.mobile_app_iphone_x2a
    data:
      message: Alarme maison activée par {{ trigger.id }}
      title: Alarme
  - service: media_player.play_media
    target:
      entity_id: media_player.esp32_psram_voice_control_2_media_sat2
    data:
      media_content_id: >-
        media-source://tts/tts.google_fr_fr?message=Alarme+maison+activ%C3%A9e+un&language=fr_FR&voice=fr_FR-gilles-low
      media_content_type: provider
    metadata:
      title: Alarme maison activée un
      thumbnail: https://brands.home-assistant.io/_/tts/logo.png
      media_class: app
      children_media_class: null
      navigateIds:
        - {}
        - media_content_type: app
          media_content_id: media-source://tts
        - media_content_type: provider
          media_content_id: >-
            media-source://tts/tts.google_fr_fr?message=Alarme+maison+activ%C3%A9e+un&language=fr_FR&voice=fr_FR-gilles-low
  - delay:
      hours: 0
      minutes: 0
      seconds: 28
      milliseconds: 0
  - service: light.turn_off
    metadata: {}
    data:
      transition: 5
    target:
      entity_id:
        - light.ruban_led_color_light_26_sejour
        - light.ruban_led_color_light_21
  - service: tts.speak
    target:
      entity_id: tts.google_fr_fr
    data:
      cache: true
      media_player_entity_id: media_player.esp32_psram_voice_control_2_media_sat2
      message: Alarme maison activée deux
  - delay:
      hours: 0
      minutes: 0
      seconds: 30
      milliseconds: 0
  - service: tts.clear_cache
    data: {}
mode: single


Suite du scénario :
Je sollicite mon assistant vocal → Pas de reconnaissance de mot de réveil donc pas d’utilisation possible.
Si je badge à nouveau, mon automatisation alarme fonctionne nickel et la diffusion sonore fonctionne toujours.

Suite du scénario :
Je débranche mon ESP32 qui sert d’assistant vocal avec le media_player media_player.esp32_psram_voice_control_2_media_sat2 et je le rebranche.

Je fais une demande vocale, action et retour son OK.

Je passe mon badge sur le lecteur RFID, toutes les actions OK mais pas de retour vocal.

« Ma » conclusion :
Le media_player de l’ESP n’est pas utilisable depuis plusieurs « demandeurs » ou il faut à un moment le « libérer » pour le rendre disponible.

Avez-vous des cas d’utilisation de vos media_player d’ESP depuis plusieurs sources ou faut-il prévoir un media_player séparé d’un assistant vocal pour diffuer des retours vocaux depuis des automatisations ?

Merci à vous
Bob


System Information

version core-2024.3.3
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.12.2
os_name Linux
os_version 6.1.73-haos-raspi
arch aarch64
timezone Europe/Paris
config_dir /config
Home Assistant Community Store
GitHub API ok
GitHub Content ok
GitHub Web ok
GitHub API Calls Remaining 4853
Installed Version 1.34.0
Stage running
Available Repositories 1404
Downloaded Repositories 27
Home Assistant Cloud
logged_in false
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Home Assistant Supervisor
host_os Home Assistant OS 12.1
update_channel stable
supervisor_version supervisor-2024.03.1
agent_version 1.6.0
docker_version 24.0.7
disk_total 457.7 GB
disk_used 63.6 GB
healthy true
supported true
board rpi4-64
supervisor_api ok
version_api ok
installed_addons deCONZ (6.23.0), Let’s Encrypt (5.0.15), File editor (5.8.0), Samba share (12.3.1), Network UPS Tools (0.13.0), Spotify Connect (0.13.0), Terminal & SSH (9.10.0), Portainer (2.0.0), InfluxDB (5.0.0), Grafana (9.2.1), Node-RED (17.0.10), ESPHome (2024.3.1), Studio Code Server (5.15.0), Piper (1.5.0), Whisper (2.0.0), vosk (1.6.0), openWakeWord (1.10.0), snowboy (1.2.1), porcupine (1.1.0), NGINX Home Assistant SSL proxy (3.9.0), SQLite Web (4.1.2)
Dashboards
dashboards 3
resources 16
views 17
mode storage
Recorder
oldest_recorder_run 21 mars 2024 à 19:53
current_recorder_run 28 mars 2024 à 21:55
estimated_db_size 278.84 MiB
database_engine sqlite
database_version 3.44.2
Spotify
api_endpoint_reachable ok
___

Bonjour,

Rien de mieux pour l’instant, j’ai enlevé de mon configuration.yaml la partie tts qui y restait…
J’ai testé tts.google_fr_fr et tts.piper.
J’ai l’intégration :
image

J’ai tout passé en ‹ tts.google_fr_fr › (Automatisation et Nodered) et désactivé intégration et Addon Piper.

Depuis les services plus moyen non plus de faire parler mon ampli.
J’ai bien la génération d’un fichier mp3 dans /config/tts/eefe2188f5311be84f64e6eb7b874faf94bc3aa9_fr_-_tts.google_fr_fr.mp3
Mais dans les logs :

Enregistreur: homeassistant.components.tts
Source: components/tts/__init__.py:1039
intégration: Text-to-speech (TTS) (documentation, problèmes)
S'est produit pour la première fois: 13:41:04 (11 occurrences)
Dernier enregistrement: 13:43:44

Error on load tts: 0f1ddd0eba8ab36372939ecd7d5d6f34e91ebd48_fr_-_google_translate not in cache!
Error on load tts: 05bd73aaca2cfcfdf4c6ddeae45af629461a3f67_it-it_-_tts.piper not in cache!
Error on load tts: 014df22533d8af040657e395227c52606359952c_fr-fr_cfb8c65493_tts.piper not in cache!
Error on load tts: 56f263f17ce6abfc5d4f1e4463007a56433df254_fr-fr_cfb8c65493_tts.piper not in cache!
Error on load tts: edd2a6fca761a179638b03bcb6e5cea0228a0387_fr_-_google_translate not in cache!

Encore des trace de Piper (après un redémarrage complet de HA) alors qu’il est désactivé.

Je vais virer l’intégration TTS Google et tout passer avec Piper pour voir mais bon, ça devient un peu embêtant tout ça :wink:

Bob