Just trying to get a nest speaker working, and its not outputting sound via media.
Media > cast > shows the speaker, turns it on, changes volume (beeps) but wont output sound tracks
I believe its working to the point that I can add a script or node red TTS output
eg:
alias: New Script
sequence:
- service: tts.google_say
data:
message: Hello
entity_id: media_player.google_nest_speaker
mode: single
I dont have any settings in configuration.yaml
Is this perhaps the problem? How do media players know the default media output?
eg Spotify media control card outputs “[548076022512] No active playback device found”
There are (really) plenty of other posts around this topic so have a look there. My solution was to allow HA (docker) to use a local http and this meant to have a reverse proxy for the ‘outside’
Best to start with identifying the error and use that as a search string, there are multiple reasons why it would not work and often because the device cannot resolve the casted URL. I do not (!) have any google connection setup, just a mini and a chromecast and the only way how I could get them to work locally is to allow HA using a local ip (internal_url in configyaml)…the latter meant that I had to rely on a reverse proxy for external (https)
try to turn on debug logging
and my advice is to first try to find out if you can cast from local (e.g. media server) to local speaker … you need to know if the whole thing is working, then try others like spotify, each may have its own issues depending on how they enter your network
And if you are happy to experiment with your HA setup (or have a separate ‘dev’ environment) you can try to remove any (?) ssl, set internal and external url to local ip … step by step looking at the error(s)
“Failed to cast media http://homeassistant:8123/media/local …Please make sure the URL is: Reachable from the cast device and either a publicly resolvable hostname or an IP address”
“HTTP Error for PUT to https://api.spotify.com/v1/me/player/play with Params: {} returned 404 due to Player command failed: No active device found”
Should there be a media player in configuration.yaml? What is it casting to?
That is the question I think?
The failed to cast is known one to me as well…it cannot find the address …try to use the ip instead of a name as the cast might not be able to (dns) resolve the name<>ip
You donot need to add anything to the config
And again, also try to cast local to make sure end-2-end is at least working inside your network (you can try spotify of course next to it)
I use below… with the 131 as my reverse proxy and now I can cast whatever I like inside. Possibly (!) there are other solutions but this one works for me…the rev.proxy can be achieved by nginx or (with me) via my syno nas
### settings WITH reverse proxy on Syno
http:
use_x_forwarded_for: true
trusted_proxies:
- 192.168.1.131
homeassistant:
internal_url: "http://192.168.1.20:8123"
external_url: "https://192.168.1.20:8123"
### end settings WITH reverse proxy
As I said, each integration may have its particularities. Check the errors…If the issue persists, I will try to add spotify myself later today (only my kids use it without HA)
I quickly tried to setup Spotify but it wants to use the NabuCasa link/mapping which is not working for me so have to setup via spotify dev application…what are you using?
Using that logic, I tried the same ip address within Spotify Developer as well to no avail. Also tried with NabuCasa too.
Logger: homeassistant.components.websocket_api.http.connection
Source: components/spotify/media_player.py:109
Integration: Home Assistant WebSocket API (documentation, issues)
First occurred: 7:17:27 PM (5 occurrences)
Last logged: 9:27:32 PM
[547828577232] No active playback device found
[547584323104] No active playback device found
[547550890016] No active playback device found
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 193, in handle_call_service
await hass.services.async_call(
File "/usr/src/homeassistant/homeassistant/core.py", line 1634, in async_call
task.result()
File "/usr/src/homeassistant/homeassistant/core.py", line 1671, in _execute_service
await cast(Callable[[ServiceCall], Awaitable[None]], handler.job.target)(
File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 204, in handle_service
await service.entity_service_call(
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 677, in entity_service_call
future.result() # pop exception if have
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 955, in async_request_call
await coro
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 714, in _handle_entity_call
await result
File "/usr/src/homeassistant/homeassistant/components/media_player/__init__.py", line 674, in async_media_play
await self.hass.async_add_executor_job(self.media_play)
File "/usr/local/lib/python3.9/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
File "/usr/src/homeassistant/homeassistant/components/spotify/media_player.py", line 109, in wrapper
raise HomeAssistantError("No active playback device found") from None
homeassistant.exceptions.HomeAssistantError: No active playback device found
Well… I added Spotify via dev-app but it is not showing me any related device as well, quite odd…and no errors. Added 4 redirect URL and nothing seems to work
Still, I can play anything else and as I am not really motivated to get this working for me, I will not spend much more time on it. Maybe I will try later on with a non-rev-proxy dev install but not promising short-term feedback (or any )
Well what i did was using Home assistant Relay or an other Addon to command to play my spotify list.
And that works normal.
But u try to use spotify from the gui in home assistant to play/cast on nest mini right ?
As now the nest mini remembers what song u was playing on spotify and will play it further on the Nest mini, with this command, Play spotify on YOUR ROOM
U can make a automation that if u play spotify from home assistant it sends that command to start playing the song on the selected device.
Got there in the end thanks.
This provided a clue:
As the mini hadnt been use previously with spotify, its not recognized in HA .
I cast to it from Spotify app first (which doesnt recognize off line mode of course…) and once online it was detected in both.
A known limitation is that although Spotify Connect devices tend to persist as available devices, other devices such as Amazon Alexa speakers may only be remembered for a while and phones and Google Cast devices disappear when playback stops.
OK, thanks, not the behavior I would have expected from an integration, I want my speaker-devices to not be depending on outside stuff but well…it is as it is.
And…I still didn’t get it working with my rev.proxy…anyhow, glad you worked it out !
This is spot on answer, all other go around solutions are just crap. I have tried many things, and when I did this mentioned in post above , everything worked from start.
Well done thanks