Support for Casting cameras through Google Assistant

Oh is it a Google Home Hub, didn’t catch that.

But was I right about the the intention, that the cameras should be able to be casted to the Chromecast, after they are exposed to Google Home?

They don’t need to be exposed to Google, the hub is probably a cast device, just like a Chromecast…
From 91 , there will be a new camera trait, so you can actually control it by voice, but the effect will be the same

Yes, but in my case I won’t have a hub.
I will only have my Chromecast Ultra devices on the back of my television.

My goal is then, when someone pushes the doorbell or the motion sensors detect something, then my television will be powered on, on the HDMI input where the Chromecast is connected, and then my camera or cameras are being casted to that or those devices.

So I just thought that if that should work, then I had to say to my Google Home Mini: Turn on Camera one on Chromecast XXX. Or if I made an automation, then HA will just do the job for me.

Does it make sense?

Yes, that already works with current 90.0. , With stream: component

Do you happen to have a working config of that?
Sorry I’m not the sharpest tool in the toolbox :smile:

Well, do you already have a working camera as generic component? How far are you?

I do have one of my 4 cameras running with the generic component and that is about it, but it works very well :).

The rest is still running with the ubnt camera component.

well, then just add stream: to your config

then you have new services like play_stream

look in this topic for examples :

Will give it a shot!
So when the play stream works, then I should also be able to say to Google Mini “Stream blabla” to Chromecast xxx.

to actually sait it, in google assistant, to expose a camare , you need to wait for 91
for now, you can expose a switch/script that does the same thing
if you want native, wait for this one : https://github.com/home-assistant/home-assistant/pull/22278

Was this a part of 0.91 version, because I do see the services even though I havent added the stream: to my config?

image

EDIT: I added the camera to be exposed to my Google Assistant and it shows up. Unfortunately no matter what name I give the camera, then it just streams a video from Youtube when I say: OK Google, stream / play “My Cam” on Chromecast Kitchen.

I also have generic camera component exposed to Google and it shows up as a camera in the Google Home app. When I ask google to stream CCTV to Android TV I get “OK playing CCTV videos from YouTube on Sony Bravia TV”

When I give the command “show me the front door camera” on my google hub in the kitchen it starts streaming the camera. I have it named front door camera in the Home App.

Have those of you having problems tried that command yet? "Show me on " ?

I tried renaming it to a longer name in my local language, no difference.
She tells me that it will stream whatever I say from Youtube and then onto the Chromecast.

:frowning:

Hi, but should this also enable us to stream to an Alexa device (echo show for instance)?

I like the skill building tools for alexa, not so much the ones for google home… so as i saw alexa has opened their apis to get video from devices (even using webrtc to get 2 way communication), i was thinking to stream there, as i dont want to swap alexa for google home.

Right now you can TELL alexa to show the video from the google hello doorbel as this is already integrated in a skill readily available. What i am trying to do is to link a doorbell event to a visitor announcement in alexa.

This should be failry easy and require no video stream. However it does require you to ask alexa to show the video from the google hello as it is managed by this pre-existing skill.

The awesomeness would be if in addition of the announcement it could automatically turn on video streaming so you don’t even have to ask.

I will look into this more in the future, this was just a consideration on my particular use case

I’m not entirely sure why the Google Assistant camera trait won’t work with mjpeg streams but the cast via play_media works fine for mjpeg’s. I’ve played around with the home assistant component and hacked it a bit but was unable to send the a stream url that would play, this includes a direct port forwarded uri directly to the stream itself. My assumption is if we can cast via play_media, then you would assume their camera trait accepts the same. I notice the supported format is set for hls but can there be an added format being image/jpeg?

For now I have emulated the google assistant cameras using dialogflow. I’ve seen people use script’s as their callback for simple home assistant commands but I didn’t like the limitations behind which device and the natural language behind activating a camera stream.

Currently I can say to google assistant “Tell, home matrix to show [master bedroom camera] on [living room tv]”… this will then send the play_stream command with the source and device as variables (notice the brackets [], they are entities within dialogflow that I’ve used to match the entity id in home assistant)… I’ve also had the end conversation marked in my intent on dialog flow so this will simply end the conversation once I call the command. Using the term “Tell, home matrix” along with the command (with home matrix being my google projects’s name) will bypass the need to say “talk to home matrix” then saying the command.

The fact I have multiple display devices and sources, the AI on dialog flow can determine if i want living room or google hub etc based on different synonyms yet the value stays the same (depending on device or source) for my Intent script to handle.

This process is a bit more involved but once you play around with dialogflow and creating your own intents opens the doors to many other crafty unique features that can be controlled in a more natural language.

I’m happy to do a write up with code etc if this is of any interest…

1 Like

I am so using the play_media for the mpjeg streams… Much better then the camera stream , doesn’t work reliable and lag…

But I don’t use diagflow , I just created template switch…
So I just say, camera xx on/off…

I am really interested in your code and your project… Can you post it? I want it to control movies and media

This is implemented