Heu… Oui ?
.
Je dois avoir la même chose
Tu peux regarder sur ma presentation, j’ai tout un chapitre dédié à Alexa et Alexa-media player: Présentation + [Mon Dashboard] BBE - #4 par BBE
4 suggestions pour faire du TTS:
- comme suggeré par @Krull56 , via les outils de dev / action, en faisant une notification
- via des automatisations ou des scripts (en faisant une notification, c’est la même syntaxe, mais il faut coder en plus le cript ou l’automatisation, et l’activer d’une manière ou d’une autre)
- si tu veux un truc plus interactif tu peux tester la carte mini-media-player qui dispose d’un champ tts où tu tapes direct dans ton dashboard le texte à lire puis clique sur envoyer: GitHub - kalkih/mini-media-player: Minimalistic media card for Home Assistant Lovelace UI
- enfin tu peux te faire l’équivalent avec ton propre script et un bout de dashboard pour renseigner un input text et le faire passer via un script à Alexa media player… j’utilise ça pour faire du tts, mais on peut aussi l’utiliser pour lancer des commandes custom, mais c’est encore à l’état prototype chez moi…
Mais dans tous les cas il faut d’abord que Alexa media player soit bien installé.
De ce que je comprend tu as déjà la partie Nabu casa permettant à Alexa de voir tes devices HA.
Il te faut vérifier à l’inverse que HA voit bien ton (tes?) echo dot. Lorsque tu regardes les entités crées par alexa-media-player, sont elles « vivantes »? Est ce que lorsque tu joues de la musique sur ton echo dot, le titre lu remonte bien sur l’entité media-player associée?
-
Si oui, tu as « juste » un problème pour emettre tu TTS, et une fois trouvé la bonne façon ce sera bon…
-
Si non, c’est que ton integration d’Alexa media player n’est pas fonctionnelle… Et c’est ça qu’il faut refaire.
Merci pour ta réponse.
Je ne joue pas de musique depuis home assitant…(aucune idée d’ailleurs de ce que ca signifie en fait) J’utilise depuis qq années les Echodots pour lire des radios internet ou du spotify. H.A existe depuis cet été.
Lorsque l’intégration Alexa media player s’est installée il y a eu des notifications de découverte d’appareil Echo dot. et dans les tests on peut les pointer…j’imgine donc qu’ils sont vivants (??)
Voilà les 8 appareils vus par Alexa Me dia Player :
Appareil
Fabricant
Modèle
Pièce
Intégration
Batterie
Decodeur Orange Chambre
Amazon
THIRD_PARTY_AVS_VIDEO_FIRST A3HH5K6OISMGP4
—
Alexa Media Player
—
Echo Dot - Chambre parentale
Amazon
ECHO A2DS1Q2TPDJ48U
Chambre parentale
Alexa Media Player
—
Echo Dot 1 - Salon
Amazon
ECHO A2H4LV5GIZ1JFT
Salon
Alexa Media Player
—
Echo Dot mezzanine
Amazon
ECHO A2H4LV5GIZ1JFT
Mezzanine
Alexa Media Player
—
Grande Chambre
Amazon
WHA A3C9PE6TNYLTCH
—
Alexa Media Player
—
Orange salon
Amazon
THIRD_PARTY_AVS_VIDEO_FIRST A3HH5K6OISMGP4
—
Alexa Media Player
—
Partout
Amazon
WHA A3C9PE6TNYLTCH
—
Alexa Media Player
—
This Device
Amazon
VOX A2IVLV5VM2W81
—
Alexa Media Player
J’ai installé les cartes mini media payer
et si je pointe sur un echodot son statut affiche :
Echo Dot - Chambre parentale Indisponible
Ceci signifie que Alexa medi player ne parvient pas à faire le lien avec ton echo dot. Donc le TTS ne marchera pas, il te faut d’abord chercher à reconstruire ce lien avant de chercher à faire du TTS…
il peut y avoir plusieurs causes:
- l’installation initiale n’est pas bien faite (mais alors c’est curieux que cet echo dot ait été « découvert »), ou alors quelque chose a été cassé ensuite.
- il y a parfois des soucis sur les serveurs d’amazon durant quelques temps (en général ça revient assez vite).
- et visiblement les soucis d’API remonté un peu plus haut peuvent arriver si on solicitte beaucoup la liaison amazon et les serveurs AWS.
Lorsque tu joues de la musique sur tes echo (quelle que soit la façon dont tu le fais), l’integration alexa-media-player « récupère » cette information, et l’état de l’entité HA mediaplayer (par exemple celui de la chambre parentale) prend l’état correspondant (off, playing, pause) etc… et remonte le titre en cour.
exemple avec notre echo dot de la cuisine, entité media_player.echo_dot_cuisine:
- lorsqu’elle est en veille:
- si je met de la musique dessus (ici une playlist amazon musique):
et si je clique sur l’echo dot de la cuisine dans alexa-media-player:
Si tes entités (contrôle, capteurs, configuration) sont toutes indisponibles, le TTS ne marchera pas. Et c’est ça qu’il faut corriger en premier.
ca parait cohérent…reste à savoir pourquoi parce l’install de ce truc c’est une sacrée m%% avec la 2FA
Au passage, quelques idées sur ce que tu pourras faire quand ça marchera (n’hésites pas a regarder il y a des exemples dans ma description). Chez nous ce n’est pas vraiment HA qui joue de la musique sur les Alexas, mais plutôt HA qui demande aux Alexa de jouer de la musique « comme si c’était quelqu’un qui parlait » :
-
via la carte mini-media-player, on peut créer des raccourcis vers des radio ou des playlist, cliquables directement depuis ton dashboard (pour attaquer des echo dots ou même des groupes d’enceintes). Exemple ci dessous:
-
dans une automatisation (ou un script), lancer de la musique, l’éteindre, ou autre…
Pour se faire, il a une commande toute simple, la commande custom, qui te permet via alexa-media-player de « parler » à Alexa comme tu le ferai toi. Ainsi si tu sais lancer ta playlist spotify préférée en disant « Alexa lance ma playlist spotify sur le groupe partout en mode aléatoire », il existe une syntaxe pour faire la même chose dans un script ou une automatisation.
service: media_player.play_media
target:
entity_id: media_player.echo_dot
data:
media_content_type: custom
media_content_id: lance ma playlist spotify sur le groupe partout en mode aléatoire
Copier coller de chez moi, il doit falloir depuis la dernière version HA transformer le « service » en « action », mais c’est la même syntaxe…
=> tu pourras donc lancer ta musique sur des actions dans ton dashboard par exemple (est-ce utile, à toi de voir)
=> tu pourras aussi lancer de la musique sur d’autres triggers de ta domotique (activation de scene, arrivée à la maison, allumage de lumière, démarrage de la brosse à dent, etc…La encore pour l’utilité, à toi de voir…)
reste à revoir la proc.d’install.
y’a peut être de trucs à comparer avec des fichiers yaml de chez toi … (?)
De mémoire pas de Yaml pour Alexa media player.
Tout se fait dans la config intiale pour lier le compte amazon.
Je l’ai fait il y a longtemps et c’est stable depuis, donc j’y touche le moins possible (j’ai même pas le 2FA je crois… ou alors j’ai oublié…).
Au pire tu supprimes tout et tu recommence de zero:
Hello again
Rien a faire avec cette bouse
Même en désinstallant depuis HACS ça le pourri les logs
Comment je vire cette m***svp
Merci
Source: util/loop.py:136
S'est produit pour la première fois: 08:33:05 (2 occurrences)
Dernier enregistrement: 08:34:04
Detected blocking call to load_verify_locations with args (<ssl.SSLContext object at 0xffff4d15c4d0>, '/usr/local/lib/python3.12/site-packages/certifi/cacert.pem', None, None) inside the event loop by custom integration 'alexa_media' at custom_components/alexa_media/config_flow.py, line 278: self.login = AlexaLogin( (offender: /usr/local/lib/python3.12/ssl.py, line 708: context.load_verify_locations(cafile, capath, cadata)), please create a bug report at https://github.com/alandtse/alexa_media_player/issues For developers, please see https://developers.home-assistant.io/docs/asyncio_blocking_operations/#load_verify_locations Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main File "<frozen runpy>", line 88, in _run_code File "/usr/src/homeassistant/homeassistant/__main__.py", line 223, in <module> sys.exit(main()) File "/usr/src/homeassistant/homeassistant/__main__.py", line 209, in main exit_code = runner.run(runtime_conf) File "/usr/src/homeassistant/homeassistant/runner.py", line 189, in run return loop.run_until_complete(setup_and_run_hass(runtime_config)) File "/usr/local/lib/python3.12/asyncio/base_events.py", line 674, in run_until_complete self.run_forever() File "/usr/local/lib/python3.12/asyncio/base_events.py", line 641, in run_forever self._run_once() File "/usr/local/lib/python3.12/asyncio/base_events.py", line 1990, in _run_once handle._run() File "/usr/local/lib/python3.12/asyncio/events.py", line 88, in _run self._context.run(self._callback, *self._args) File "/usr/local/lib/python3.12/site-packages/aiohttp/web_protocol.py", line 462, in _handle_request resp = await request_handler(request) File "/usr/local/lib/python3.12/site-packages/aiohttp/web_app.py", line 537, in _handle resp = await handler(request) File "/usr/local/lib/python3.12/site-packages/aiohttp/web_middlewares.py", line 114, in impl return await handler(request) File "/usr/src/homeassistant/homeassistant/components/http/security_filter.py", line 92, in security_filter_middleware return await handler(request) File "/usr/src/homeassistant/homeassistant/components/http/forwarded.py", line 77, in forwarded_middleware return await handler(request) File "/usr/src/homeassistant/homeassistant/components/http/request_context.py", line 26, in request_context_middleware return await handler(request) File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 85, in ban_middleware return await handler(request) File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 242, in auth_middleware return await handler(request) File "/usr/src/homeassistant/homeassistant/components/http/headers.py", line 32, in headers_middleware response = await handler(request) File "/usr/src/homeassistant/homeassistant/helpers/http.py", line 73, in handle result = await handler(request, **request.match_info) File "/usr/src/homeassistant/homeassistant/components/http/decorators.py", line 81, in with_admin return await func(self, request, *args, **kwargs) File "/usr/src/homeassistant/homeassistant/components/config/config_entries.py", line 222, in post return await super().post(request, flow_id) File "/usr/src/homeassistant/homeassistant/components/http/data_validator.py", line 74, in wrapper return await method(view, request, data, *args, **kwargs) File "/usr/src/homeassistant/homeassistant/helpers/data_entry_flow.py", line 122, in post result = await self._flow_mgr.async_configure(flow_id, data) File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 366, in async_configure result = await self._async_configure(flow_id, user_input) File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 413, in _async_configure result = await self._async_handle_step( File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 516, in _async_handle_step result: _FlowResultT = await getattr(flow, method)(user_input) File "/config/custom_components/alexa_media/config_flow.py", line 278, in async_step_user self.login = AlexaLogin(
Detected blocking call to load_verify_locations with args (<ssl.SSLContext object at 0xffff4d15f850>,) inside the event loop by custom integration 'alexa_media' at custom_components/alexa_media/config_flow.py, line 372: self.proxy = AlexaProxy( (offender: /usr/local/lib/python3.12/site-packages/httpx/_config.py, line 147: context.load_verify_locations(cafile=cafile)), please create a bug report at https://github.com/alandtse/alexa_media_player/issues For developers, please see https://developers.home-assistant.io/docs/asyncio_blocking_operations/#load_verify_locations Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main File "<frozen runpy>", line 88, in _run_code File "/usr/src/homeassistant/homeassistant/__main__.py", line 223, in <module> sys.exit(main()) File "/usr/src/homeassistant/homeassistant/__main__.py", line 209, in main exit_code = runner.run(runtime_conf) File "/usr/src/homeassistant/homeassistant/runner.py", line 189, in run return loop.run_until_complete(setup_and_run_hass(runtime_config)) File "/usr/local/lib/python3.12/asyncio/base_events.py", line 674, in run_until_complete self.run_forever() File "/usr/local/lib/python3.12/asyncio/base_events.py", line 641, in run_forever self._run_once() File "/usr/local/lib/python3.12/asyncio/base_events.py", line 1990, in _run_once handle._run() File "/usr/local/lib/python3.12/asyncio/events.py", line 88, in _run self._context.run(self._callback, *self._args) File "/usr/local/lib/python3.12/site-packages/aiohttp/web_protocol.py", line 541, in start task = asyncio.Task(coro, loop=loop, eager_start=True) File "/usr/local/lib/python3.12/site-packages/aiohttp/web_protocol.py", line 462, in _handle_request resp = await request_handler(request) File "/usr/local/lib/python3.12/site-packages/aiohttp/web_app.py", line 537, in _handle resp = await handler(request) File "/usr/local/lib/python3.12/site-packages/aiohttp/web_middlewares.py", line 114, in impl return await handler(request) File "/usr/src/homeassistant/homeassistant/components/http/security_filter.py", line 92, in security_filter_middleware return await handler(request) File "/usr/src/homeassistant/homeassistant/components/http/forwarded.py", line 77, in forwarded_middleware return await handler(request) File "/usr/src/homeassistant/homeassistant/components/http/request_context.py", line 26, in request_context_middleware return await handler(request) File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 85, in ban_middleware return await handler(request) File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 242, in auth_middleware return await handler(request) File "/usr/src/homeassistant/homeassistant/components/http/headers.py", line 32, in headers_middleware response = await handler(request) File "/usr/src/homeassistant/homeassistant/helpers/http.py", line 73, in handle result = await handler(request, **request.match_info) File "/usr/src/homeassistant/homeassistant/components/http/decorators.py", line 81, in with_admin return await func(self, request, *args, **kwargs) File "/usr/src/homeassistant/homeassistant/components/config/config_entries.py", line 222, in post return await super().post(request, flow_id) File "/usr/src/homeassistant/homeassistant/components/http/data_validator.py", line 74, in wrapper return await method(view, request, data, *args, **kwargs) File "/usr/src/homeassistant/homeassistant/helpers/data_entry_flow.py", line 122, in post result = await self._flow_mgr.async_configure(flow_id, data) File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 366, in async_configure result = await self._async_configure(flow_id, user_input) File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 413, in _async_configure result = await self._async_handle_step( File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 516, in _async_handle_step result: _FlowResultT = await getattr(flow, method)(user_input) File "/config/custom_components/alexa_media/config_flow.py", line 567, in async_step_totp_register return await self.async_step_start_proxy(user_input) File "/config/custom_components/alexa_media/config_flow.py", line 372, in async_step_start_proxy self.proxy = AlexaProxy(
Tout à la fin du lien wiki donné juste au dessus:
Uninstalling Integration
If you wish to uninstall this integration, you can click Uninstall on the component in HACS. You must also remove the integration from your Integrations page, under Configuration > Integrations and from your configuration.yaml. If you do not complete this last step, you will get an error message every time you restart Home Assistant that says ‹ error setting up alexa_media ›.
Tu as bien fait toutes les étapes? Notamment retirer l’integration de ta page d’intégration (configuration / intégrations) et du yaml après la désinstallation (partie en gras ci dessus)?
tu es allé voir ce fil:
Oui j’avais trouvé. Et j’ai fait comme ça. Uninstall par hacs et suppression de l’intégration
Ah le yaml …pas vu. Quel yaml .?? Ou et comment ??
Dans ton configuration.yaml tu dois avoir quelques lignes relatives a alexa / alexa media player
Plutôt que de les supprimer, tu peux les commenter en mettant # devant…