What's new in Kiosk Satellite 2026.10.25
A new URL Filter page controls which addresses the dashboard and external pages can open. Plugins and custom pages can now talk to Home Assistant through the kiosk's own connection, Voice Satellite gets a KITT skin and proximity detection now works on the NSPanel Pro.
New Feature: URL Filter
- Keep pages off the addresses you choose. A new URL Filter page under Settings > Web Browsing controls which addresses the dashboard and external pages open. A guest on a locked-down dashboard can no longer reach Home Assistant's history, logbook or settings through an entity's more-info dialog. Remote Admin has the same page.
- Block and Allow only rules. Each rule has a name, an action, a pattern and where it applies: the dashboard (custom pages included), external pages or both. A Block rule stops the addresses it matches. An Allow only rule turns where it applies into an allow list, so only the addresses it matches open there. Block rules still win over it.
- Wildcards and regular expressions. A wildcard pattern matches the whole address, with
*standing for anything. A pattern that starts with/matches the path on any server, so/history*covers the History page and/config/*every settings page. The query and fragment count only when the pattern has a?or#of its own. Regular expressions match anywhere in the address and ignore case. - Never a dead screen. Home Assistant's sign-in and the start dashboard always open, so an expired session can still sign back in. Pages the kiosk opens itself, such as the start dashboard, the dashboard pickers, rotation and gesture actions, are never blocked.
- A short notice when something is blocked. A blocked link or page change leaves the page where it was and shows a notice with the rule's name. Show blocked page notice on the same page turns it off.
New Feature: Home Assistant for plugins and custom pages
- Plugins can call Home Assistant. Plugins that declare the new
hacapability can call services and send other Home Assistant WebSocket commands withhost.haCall.host.haSubscribefollows triggers, events and templates. - One connection the kiosk signs in. Plugins share a single connection that the kiosk opens with its own token, so a plugin never sees the token. It opens on the first call, closes after a minute with nothing to do and subscribes everything again after a reconnect. Each plugin keeps up to 16 subscriptions. Credential and user management commands are refused.
- Share Home Assistant connection. A new switch at the top of the Custom Pages page, off by default, lets custom pages talk to Home Assistant through the kiosk's connection with
kioskSatellite.ha, so a page needs no token of its own.kioskSatellite.ha.callandkioskSatellite.ha.subscribeneed no library. Pages built on home-assistant-js-websocket passkioskSatellite.ha.createSockettocreateConnectioninstead of a token. Credential and user management commands never go through it. - Custom pages on other servers. The Path or URL field under Settings > Home Assistant > Custom Pages now also takes the full address of a page on another web server, which Save & Validate checks with that server. These pages show up in every dashboard picker, the rotation, the screensaver dashboard and the ESPHome selects. They follow the kiosk's light or dark theme, links between pages on that server stay in the kiosk and they never get Home Assistant's session.
- Hello World example. The Hello World plugin follows its Home Assistant entity with a trigger and adds a Toggle Home Assistant entity action.
New Feature: KITT skin
- Knight Rider's voice box. The new KITT skin for Voice Satellite draws three columns of red blocks, the center one the longest, that light outward from their middle as you speak and as the assistant answers. At rest only the middle of each column glows. While the assistant thinks, the columns swell and ease.
- At the top of the screen. Like Jarvis, it sits at the top of the screen with the conversation under it. Docked during a realtime conversation, it floats on a dark plate above the bubble with a bar that shrinks as the conversation ends. With Reactive activity bar off, it runs its own animation instead of following your voice.
Improvements
- Plugins can mute the wake word. Plugins with
host.controlcan callsetWakeWordMutedto mute or unmute wake word detection, the same mute as Voice Satellite's Mute switch in Home Assistant. A plugin that reads a hardware mute button keeps the kiosk in step without a round trip through Home Assistant.getWakeWordStatenow also reportsmuted. - Accept and decline intercom calls with a gesture. Gestures gains Accept intercom call and Decline intercom call, which answer or decline a call ringing on the kiosk. Paired with a plugin trigger, a hardware button can pick up a call on a device without a usable screen.
- Hang up button while ringing. Under Intercom > Talk, a new Hang up button while ringing row shows once a hang up button is picked. Accept answers a ringing call with the button and Decline declines it, so one button can answer and then hang up. Ignore, the default, keeps the current behavior.
- Refresh the dashboard gesture. Gestures gains Refresh the dashboard, which reloads the page. A dashboard can be refreshed with a gesture while pull to refresh stays off, for example when a map card takes downward drags.
- Grok Voice 3.0. The xAI Model list for realtime conversations now offers
grok-voice-3.0and dropsgrok-voice-think-fast-2.0, which xAI no longer documents. A kiosk already set togrok-voice-think-fast-2.0keeps it. - Intro cards on plugin pages and Media Player. Each plugin's page now starts with an intro card holding the plugin's name and description. The note at the top of Media Player moves onto one too.
- Proximity sensor details in the log. When proximity detection starts, the log shows the sensor's advertised range and resolution. Each resting, near and far entry carries the raw reading, which helps diagnose sensors that report proximity differently from Android's standard.
Fixes
- Proximity detection on the NSPanel Pro. The NSPanel Pro reports a raw reading that rises as something comes closer, around 50 at rest and several hundred for a hand, instead of a distance. Kiosk Satellite read every one of those as far, so Dismiss on proximity never reacted. Sensors whose readings land well past their advertised range are now read this way. A clear rise over the resting reading counts as an approach, which reaches about 20 cm on the NSPanel Pro. The resting level follows slow drift and ignores brief dips and blips. A reading that stays high for a minute becomes the new resting level instead of holding the sensor near.
- Screen-off-only detection on a screensaver that starts with the screen off. When the screen was turned off from the dashboard and the screensaver started afterward, the screensaver took the screen for lit. Only when screen is off then ignored every approach, motion and face. A screensaver now checks the screen when it starts.
- No microphone warning while Voice Satellite is off. With Enable Voice Satellite off and no microphone permission, the Remote Admin Overview still listed the microphone as missing and said wake word detection was on. The microphone now counts as needed only while Voice Satellite is on or still runs in the dashboard. Display over other apps follows the same rule when background listening is on, as does the Device page's Permissions Manager.