github jxlarrea/kiosk-satellite 2026.9.56

5 hours ago

What's new in Kiosk Satellite 2026.9.56

This release stops the mDNS listener from burning a CPU core on a busy network, lets motion detection bring the screensaver up and instead just turn on the screen, allows updating Kiosk Satellite from the Remote Admin by uploading an APK, adds an Updates only fleet profile and adds a new ESPHome action that opens any URL in the kiosk.

New Feature: Wake to screensaver

  • A new Wake to screensaver switch under Turn screen off changes what motion, face, proximity and person detection do once the panel has powered off. With it on, a detection only turns the screen back on, the screensaver is still up and the screen-off countdown starts over, the same way the ESPHome Screen light has always woken a kiosk. A touch is what opens the dashboard. This is the photo frame pattern Fully Kiosk users asked for: someone walking into the room brings the photos back and a quiet room lets the panel go dark again. Detection on a lit screensaver keeps its rules, so pair it with Only when screen is off for a slideshow that survives people moving about. The wake word and the ESPHome dismiss still land on the dashboard.

New Feature: Install update from APK file

  • For a kiosk that can reach neither GitHub nor a custom repository, Settings > Device > Updates gains an Install from file row in the remote admin. Pick a Kiosk Satellite APK on the computer, the browser uploads it with a progress count, the kiosk reads package, version and build out of the file, and a confirmation names what arrived and what the kiosk runs before the same installer the GitHub download uses takes it, silent or confirmed on the kiosk screen as ever. The kiosk refuses another app's package, an older build and a file its cache cannot hold twice, and says why. A fleet leader gets an Install on the fleet choice on the same confirmation: the uploaded APK streams to each online follower, which checks it under the same rules and installs it, and the leader installs its own copy last. Behind it are the POST /api/update/upload endpoint and the installUploadedApk and fleetInstallUploaded commands, all open to a fleet token too.

New Feature: Fleet Management Updates Only fleet profile

  • A second built-in profile next to the Default. Nothing syncs to a kiosk on it, so it keeps every setting of its own and only gets updates pushed by the leader. It cannot be changed or deleted, but it can be duplicated into a profile of your own.

New Feature: ESPHome open_url and close_url actions

  • Open a Web Page from an Automation: Two ESPHome actions, open_url and close_url, show a page over the dashboard and take it down again, on the same surface a tapped dashboard link or the Music Assistant menu entry gets. The page slides up with a close button, the dashboard stays loaded underneath and the wake word keeps listening. The kiosk stops a running screensaver and wakes the screen first so the page is seen. A hold_mode argument turns hold mode on with the page and off again when the page goes, whichever way it goes, so a recipe stays up until it is read; a hold already on is left alone. Both are listed with Expose kiosk entities. The showLinkPage and hideOverlayPage remote API commands are the same two and are now documented.

Bug Fixes

  • Fleet Listener CPU on a Busy Network: Every mDNS response on the network, from every ESPHome node, speaker, printer and Chromecast, had the kiosk walk its network interfaces and parse the whole packet twice before it looked at whether the packet had anything to do with a kiosk, and it did the same work with Find other kiosks off. On a wall panel among a few dozen such devices the receive thread was the largest single CPU consumer in the app, a full core that scaled with how noisy the network was rather than with anything the kiosk was doing. A response is now checked on its raw bytes for the kiosk service label and the kiosk's own hostname before anything is parsed, and a packet that spells out neither is dropped on the spot, which is nearly all of them. A DNS name is spelled out in full at least once in any message that carries it, so peer discovery and the hostname clash check see exactly the packets they always did. (#567)

Don't miss a new kiosk-satellite release

NewReleases is sending notifications on new releases.