For a long time now I have been trying to make Home Assistant Cast work for me. But it just doesn’t; for several reasons:
- None of my camera’s seem to be supported.
- Custom Lovelace cards are not supported either
- I want to use it with a TV and then input is not possible
- It depends on Google - what about “local first”?
So I deciced to change my approach and build a “Home Assistant Monitor” based on -of course- an RPI. Main features are (to be):
- Full support for the Home Assistant UI in a kiosk-style display
- Support for any monitor connected to the RPI
- Navigation by touch, connected mouse/keyboard or TV remote (over CEC)
- Ability to play music through the display
- Ability to show camera streams full-screen
- Controllable from Home Assistant
The concept is to have an RPI ZeroW (or other version) behind the TV/display which acts as a kiosk browser for the HA ui. I have been working on this for the past hour or so and have gotten a long way already:
- There are plenty of examples of how to turn an RPI into a kiosk browser
- I installed lib-cec from Pulse8, and can see the remote buttons coming in on the RPI.
- The unofficial integration browser_mod allows control of the RPI browser from home assistant.
- The unofficial integration kiosk-mode allows hiding of the toolbars (note: there currently seems to be an incompatibility with browser_mod)
I already got some interesting results, including full-screen video on the first try! (Kiosk-mode + lovelace view in panel mode).
The only downside I have found so far is that the HA interface is not optimized for keyboard navigation, which may make control with a TV remote somewhat cumbersome.
To be honest, I think this would be the much more elegant solution to get HA on any display. It does not depend on any external service and can be completely open-source.
Help wanted! I only have enough time and programming knowledge to make this into some sort of Frankenmonster proof of concept which would work for me personally. If anyone is willing to work on this, let me know. I’d love to exchange ideas on how to get this to a proper solution. Ideally we end up with something like the app for mobile, but then for TV’s and Touch-displays!