@bwente You gave me a great idea.
I decided o create a a tiny “launcher” page for switching between multiple displays on one kiosk device. A TV in my study.
I wanted the same Android TV to also show a security camera dashboard (Frigate NVR on my home network), not just MagicMirror. The kiosk browser only points at one URL at a time. Rather than build a full app switcher, I just added a tiny extra route to the small reverse-proxy Node server I already had running for the MM display one page, two big buttons:
![image: 1787665021862-71b33a61-9e17-4e0c-abfa-eefe00741f27-image.jpeg]
The two buttons just link out to http://192.168.0.16:8088 (MM-Docker) and http://192.168.x.x:5000 (Frigate NVR)
Point the kiosk browser’s start URL at 192.168.x.x:8080/launcher(MM- with Physical Monitor) instead of either destination directly, no JavaScript needed for the actual navigation, and they’re natively D-pad-focusable on a TV, so the remote just moves focus between them and select jumps straight there (the green focus ring makes the current selection obvious from across the room).
One thing worth flagging for anyone doing the same on an Android TV specifically: not every “kiosk browser” app renders a page like this correctly. I initially used one built more for single-photo slideshow display, and it auto-detected and fullscreened the first video element it found instead of showing the actual page layout, fine for MagicMirror (mostly text/widgets) but broke a multi-camera grid dashboard that uses video tags for live streaming. Swapping to a proper general-purpose kiosk browser (Fully Kiosk Browser) fixed it, worth checking that whatever app you use actually renders full webpages as-is, not just “the most interesting-looking media on the page.”
Thank you @bwente for the idea.