github jxlarrea/kiosk-satellite 2026.11.1

latest release: 2026.11.2
3 hours ago

What's new in Kiosk Satellite 2026.11.1

This release brings a new echo canceller, a small neural network that hears the wake word and the stop word twice as often while the kiosk plays audio. It also adds a Weather forecast screensaver widget and colored condition icons for the Weather widget, which also shows today's high and low now. Music Assistant can set the device volume, and Home Assistant gets new controls for dashboard rotation, wake word sensitivity, announcements and notifications.

Important: Update your Echo Show / Dot image

If you use a Kiosk Satellite Edition image on an Echo Show 5, Echo Show 8 or Echo Dot, update the image along with the app. The new echo canceller needs the raw microphone the new images give Kiosk Satellite: Echo Show 8 (1st gen) 2026.10.6, Echo Show 5 (2nd gen) 2026.10.7 and Echo Dot (2nd gen) 2026.10.18. On an older image the microphone level and the echo canceller will not work as they should. Get the images from the releases page.

New Feature: A neural echo canceller

  • Echo cancellation runs on a neural network. The kiosk's echo canceller is now GTCRN, a small echo cancelling network from LocalVQE, in place of WebRTC's AEC3. In tests on 13 devices twice as many wake words and stop words were detected while the kiosk played music or an answer. Speech with nothing playing is detected as before. It runs on the Echo Dot and Echo Show images too. See Microphone.
  • The trained echo canceller from the previous release is gone. On devices it was not trained on it could cut the first command after the wake word. AEC3 stays as the fallback on older 32-bit devices that cannot run GTCRN. The app log names the one in use.
  • The echo canceller checks how much echo it removes. If GTCRN leaves too much of the kiosk's own sound on a device, the kiosk switches to AEC3 between two sounds and keeps it. An app update or a system update gives GTCRN another try. The app log shows how much echo was left after each sound.
  • The wake word triggers a little more easily while the kiosk plays audio. With echo cancellation on, the wake words of vsWakeWord, microWakeWord and openWakeWord take half a sensitivity step less while the kiosk plays music, an announcement or any other sound of its own, on top of Wake word sensitivity and Fine-tune sensitivity. It starts after a few seconds of playback and ends a few seconds after it stops, so a chime or the gap between two songs changes nothing. The stop word keeps its sensitivity, and Amazon's engine already does this on its own. Sound from dashboard pages and the DLNA video player does not count, since the echo canceller cannot remove it.
  • The Echo images set the microphone for you. On the Echo Dot, Echo Show 5 and Echo Show 8 images, Echo cancellation and Noise suppression are no longer shown in Microphone settings and stay on and off. These images now record from the raw microphone, which comes in quieter, so each device adds its own base gain: 24 dB on the Echo Show 8, 20 dB on the Echo Show 5 and 5 dB on the Echo Dot. Microphone gain moves from there, so 0 dB is the right level on each of them. A gain set before goes back to 0 dB once, on the first start of this version.

New Feature: Weather forecast widget

  • A Weather forecast screensaver widget (#1277). The new Weather forecast widget lists the coming days of a weather entity's daily forecast in a screensaver corner, one row per day with the day, a condition icon, the high and the low. Days shown picks 3, 5 or 7 days, and turning off Include today starts the list with tomorrow, for a corner next to a Weather widget. See Screensavers.
  • Colored weather icons. Both weather widgets draw their condition icons in full color, the same set Voice Satellite LLM Tools shows for its weather results. Turn off Colored icons in a widget's settings to draw them in the widget color. While the Clock screensaver's Night mode is on, the icons take the night color like everything else.
  • The Weather widget shows the conditions icon. An icon for the current conditions now sits beside the temperature, on the corner's outer edge like the other icons. See Screensavers.
  • No sun at night. After sunset, sunny and partly cloudy show the moon instead of the sun, in the Weather widget and on today's row of the Weather forecast widget. The kiosk reads that from Home Assistant's sun.sun entity, or from the local time when that entity is missing.
  • The Weather widget shows today's high and low (#1262). A new High and low switch adds a line under the conditions with today's high and low temperatures from the weather entity's daily forecast, such as 31° / 24°. It starts on for new widgets and off for existing ones.

Improvements

  • Music Assistant can set the device volume (#1267). A new Control the device volume switch on the Sendspin Player page, off by default, makes the Sendspin player's volume in Music Assistant the device's own volume, the one the hardware volume buttons change, instead of the media volume. The buttons and Music Assistant then share one level, so the buttons never stop working because the media volume was turned down elsewhere. The Now Playing slider and mute button follow it. The assistant, alarms and the intercom play at the device volume too, so they get quieter along with the music. See Sendspin.
  • Turn dashboard rotation on and off from Home Assistant (#1247). With Expose kiosk entities on, the kiosk adds a Dashboard rotation switch, the same as Enable dashboard view rotation on the device. Unlike Hold mode, the screensaver and screen off still run while it is off. An automation can turn it off to keep the view the Dashboard view select picks, such as a Now Playing view while the TV plays, and turn it back on when playback stops. See ESPHome.
  • Fine-tune the wake word and stop word from Home Assistant (#1224). With Expose kiosk entities on, the kiosk adds VS Wake word fine-tune and VS Stop word fine-tune sliders from -10 to +10, next to VS Wake word sensitivity. They change Fine-tune sensitivity and Fine-tune stop word sensitivity on that kiosk, so an automation can lower them while the TV plays and raise them again when it stops.
  • Stop an announcement from Home Assistant (#1239). A new announce_stop ESPHome action stops the announcement playing on the kiosk, and one still fetching its audio never starts. It answers whether one was playing and never fails when nothing was, so a dismiss automation can always call it.
  • Home Assistant hears when a notification card goes (#1273). Every card that leaves the screen now fires an esphome.kiosk_satellite_notification event with the id the notification action returned and its title, message and type. event_type says why: tapped, expired, dismissed or replaced. An automation can show a card again if someone taps it away while the reason for it is still there. Apps on the kiosk get the same as NOTIFICATION_* Android broadcasts.
  • Gesture actions tell Home Assistant which kiosk ran them (#1259). Run a script, Trigger an automation and Fire an event now pass the kiosk's Home Assistant device ID as ks_device_id, the same variable realtime conversations give scripts, and its Device name as ks_device_name. Call a service puts them where its data says {ks_device_id} or {ks_device_name}. One gesture synced through Fleet can now act on the room of whichever kiosk ran it, for example with area_id(trigger.event.data.ks_device_id). The device ID needs ESPHome on and the kiosk added to Home Assistant. Scripts run by realtime conversations now get ks_device_name too. See Gestures.
  • The Up next widget shows all-day events (#1241). Today's all-day events now come first in the widget, marked All day, before the timed events still to come. They count toward Events shown.
  • The Up next widget can look ahead (#1242). A new Days shown setting picks Today, Today and tomorrow or Next 7 days. Events on later days are listed under the day's name, and Events shown still sets how many the widget lists in all. The UP NEXT heading above the events is gone, so the widget takes one line less.
  • Plugins can follow the clock's Night mode (#1250). A new getScreensaverAppearance read and screensaver.appearance event tell a plugin whether the Clock screensaver shows its Night mode colors, along with the night text, background and flip card colors. A plugin overlay can switch to the same colors at night and back in daylight. See Plugins.
  • Now Playing takes the full screen by default. Show alongside screensaver is now off by default, so Now Playing replaces the screensaver instead of sharing the screen with it. Turn it on under Settings > Media Player > Now Playing > Screensaver to keep the screensaver beside the player. A kiosk where it was never changed switches to the full screen player after the update.
  • Larger album art in portrait Now Playing. On a portrait screen with the Vertical layout, the cover now spans the screen's width when lyrics and the queue are off. On a short screen it stops where the track details need the room.
  • The Music Library can hide its speaker pill. A new Show speaker selection pill switch in the library's User Interface group, on by default, takes the speaker pill off the top of the library, the same as the Now Playing switch of that name. A play with no speaker picked still asks for one.
  • Hide sentiment tags also hides Gemini's audio tags (#1271). With Hide sentiment tags on, the voice overlay now leaves out the tags Google's Gemini speech reads in angle brackets, such as <laugh>, <sigh> and <short pause>, along with the ones in square brackets. Only short lowercase tags go, so common HTML tags such as <b> and <br> and text such as 3 < 5 stay. A tag cut off at the end of an answer still streaming in does not show either.
  • Remote admin dialogs blur the page behind them. The page behind a dialog in the remote admin is now blurred as well as darkened, so the dialog stands out more.

Fixes

  • The Music Library's Discover rows follow the app's language (#1274). Row titles such as Recently played and Recently added albums come from Music Assistant, which named them in English. The library now tells Music Assistant the app's language, so these rows and the genre names show in that language, the same as in Music Assistant's own interface. A long genre name shrinks to fit its tile instead of breaking in the middle of a word, and a translated genre keeps its icon. This needs Music Assistant 2.10 or later.
  • The Home Assistant Dashboard and Dim screensavers show beside Now Playing (#1268). With Show alongside screensaver on, the dashboard side of the screen went black while music played. The dashboard now stays on screen next to the player and lays its cards out in the room the player leaves. A tap on it ends the screensaver, as it does for every other mode shown beside the player.
  • No false DuraSpeed notice after the screen turns off (#1269). On some MediaTek tablets the dashboard stops answering while the screen is off, and the kiosk rebuilt it as if it had failed and then showed the DuraSpeed is blocking the dashboard notice. The notice stayed over a working dashboard until the app was restarted. The kiosk no longer rebuilds the dashboard while the screen is off, and the notice clears once the dashboard answers again. A tablet that has DuraSpeed installed but does not report its state counts it as on only when setting.duraspeed.enabled is 1.
  • Now Playing keeps the song's position in a Music Assistant group (#1255). If the kiosk played Spotify Connect or another Music Assistant source as part of a synced group, the progress bar could jump to the end of the song and stay there. It read how long the whole stream had played instead of the song's own position. It now reads the song's position first.
  • The Remote admin entity no longer gets stuck on unknown (#1251). If the kiosk started its ESPHome server before it had an IP address, for example during a Wi-Fi reconnect, the Remote admin entity never got a URL and stayed unknown while the IP address entity recovered. The URL is now sent again when the network comes back and every minute with the IP address entities, so it also follows a new address.
  • Disable scrolling locks cards and pop-ups too. It only locked the dashboard page itself, so a card, pop-up or dialog that scrolls on its own, like a Bubble Card pop-up or a long more-info dialog, still scrolled. Those now stay put as well. Pages inside an iframe card still scroll.
  • The DLNA renderer comes back after a reboot on more devices (#1236). On some tablets, like the Galaxy Tab A8, another app holds the SSDP port 1900 for a while after boot. The renderer used to stop, so Home Assistant showed it as unavailable until it was turned off and on again. It now keeps serving, tries the port again until it is free and then announces itself.
  • Realtime conversations no longer interrupt themselves. On a device where the echo canceller leaves part of the answer behind, that leftover echo could count as someone talking over the answer. Talking over an answer now has to be well above the echo left on that device, which a person speaking still is.
  • Realtime conversations no longer answer right after they speak. On a Meta Portal Go the microphone stays muted up to a second after an answer, and the jump back to the room's noise counted as someone talking, so the conversation answered nothing with "Hi! What can I do for you today?". That stretch now counts as the room's noise.
  • A new announcement replaces the one playing (#1239). A second announce while one was still playing failed with "in a call", so a long or repeated clip like an alarm loop could not be cut short. The new announcement now takes over right away. Intercom calls still refuse it.
  • Notifications show over plugin overlays. A plugin overlay drawn on top covered notifications, intercom call cards and announcements. It now sits under them, as the plugin docs describe.
  • The fleet docs list the Gemini API key credential (#1221). The Credentials table in Fleet Management now has the Gemini API key switch next to the OpenAI and xAI ones. It is off by default and a follower validates the key on its own once it arrives.

Don't miss a new kiosk-satellite release

NewReleases is sending notifications on new releases.