So my wife doesn’t want us to get dedicated devices like echo show or similar that have an actual screen. I was now thinking of using our TVs to stream whenever someone is walking to our front porch.
The main bedroom TV just got a roku a few days ago. Today I tried to stream camera feeds to it, but only goes as far as showing “play on roku” then kicks me out. Did a bit of research and seems pushing media from HA was possible until recently. Roku has since decide to block that feature for “security” purposes. So that is a dead end.
The other room has a smart tv that we can cast stuff to it. When I try to send it the camera feed it just says format is not supported, so that is a 2nd dead end.
The kitchen/dining room Tv has a chromecast on it. I am able to send the camera feeds to chromecast, but still not sure if it will be a viable solution for me. First I can’t seem to send audio to it (using Camera: Play Stream as the action). Audio would be nice but not a deal breaker.
We mostly watch regular tv on that tv, so when I first send the command to stream a camera, the chromecast does change to the HDMI that has the chromecast and the video shows. So far so good. But once I am done watching the video I would just change the source of the tv back to tv. Chromecast continues to play the camera feed, so if I send it another feed to play it no longer changes the tv source to pick chromecast.
I am guessing I would need to send a stop streaming to chromecast command first, then send the new feed for chromecast to change the source again, but not sure how I would go about doing so.
I understand there would be limitations, that it would require user to switch back to what they were watching manually, but would like chromecast to switch source again if another feed is sent to it.
I suggested putting a raspi on second tv input and just switching to that
TV integration or CEC integration can do this
If you use video pass through in receiver this may be easier since av receiver like onkyo have good integration that allow source Chang with ease
On the pi you can simply use the browser to access video feed if camera.
Choices here are display all cameras as grid or create script on backend that HA can call that makes pi browse to specified camera stream
I plan to work on this idea after the new year. My skills are sloppy at best but it seems simple enough. I plan to use onkyo since all my TV hav AV receiver and use video pass through from receiver
NOTE
Chromecast can’t stream local or http content I believe. I did this is past but that was years ago and biggest issue is it is slow. No different than time to switch Netflix to Hulu and start video play + if I’m watching tv I don’t want this long interruption
For this reason I gave up on camera to TV. Recently someone asked same question and i realized source change can be faster and less impactful since when you switch back your previous program will likely be paused and easier to continue vs the need to search video again and figure out where you left off
Send an action media_player.stop to the Chromecast to get the feed to stop.
I recently went down this rabbit hole and let me just help you out here. Don’t. Chromecast streaming is very very very hit and miss with Hass, which isn’t their fault.
I bought a few Lenovo smart displays and wanted to broadcast dashboards and camera feeds. Dashboards don’t work very well, if they work at all. Sending a cast to a device already casting will fail and ends up needing you to power cycle the device being cast to. You always need to issue media_player.stop, then cast a new dashboard. On top of that, if you have any customized card mod cards or intricate dashboards, they will lag like crazy and be basically unusable.
There is an add-on called “continuously casting dashboards” which didn’t work well for me, the dashboard kept recasting and redrawing itself every 10 seconds. Coupled with the lag, it was useless for me.
Camera streams work ok, didn’t really test them much but I didn’t notice an issue besides recasting without stopping. So, if your only goal is to cst 1 camera stream to a device at a time, that should work with media_player.stop before recasting.
Your best bet is newer android tv Chromecast that you can sideload with the pip app to get a picture in picture of your camera while you’re still watching tv. This comes with its own problems and caveats but, it somewhat works as expected.
I put this project aside for now while I figure out what I want to do and how I want to do it.
Here’s an example that worked for me. You can test this in developer tools. Make sure you replace media_player.your_roku_entity_name with your specific entity id.
I wrote an AndroidTV app that can display multiple cameras stream on your AndroidTV, and can pop up a live video stream that can be triggered by HA automation, although I have only tested it on a Google TV with Chromecast so your milage may very, but maybe give it a try: