Changelog
What's changed in every Athena release, newest first.
0.147.173 — 2026-08-30
Four new read-only integrations for Finnish families. Wilma brings your children's timetable, homework, exams and attendance plus your Wilma inbox. Kouluruoka.fi and Jamix each report today's and tomorrow's school / daycare lunch (with E-codes, kcal and special-diet letters) and a this-week table. DaisyFamily surfaces unanswered messages and permission requests, bulletins, and each child's next care time. Add any of them from Configuration > Integrations and use them on dashboards, in history and in automations.
0.147.172 — 2026-08-30
The kiosk screen blackout can now switch the panel's backlight off, not just paint the screen black - a "Dim backlight on blackout" toggle on the Companion App device page, on by default. Real power and screen-wear saving on a wall-mounted panel, and waking is still instant. Update the companion app to get this.
0.147.171 — 2026-08-30
Automations can now react to a phone or tablet running the Athena Android app: a new "Companion App Devices" source in a State Trigger or Condition lets you pick that device's battery level, charging state, screen on/off, Do Not Disturb or network. It needs sensor reporting switched on for the device (Configuration > Companion app).
0.147.170 — 2026-08-30
Fixes two kiosk blackout rough edges: a "Wake Device Screen" automation that ran while the idle countdown was already going (screen still on) didn't restart it, so the panel could still black out moments later - any wake now gives a full fresh interval, like a touch. And on the Companion App device page, the Blackout fade / Wake fade fields lost focus after every keystroke; they now save when you leave the field or press Enter.
0.147.169 — 2026-08-30
Adds a "Blackout Device Screen" automation action, the counterpart to "Wake Device Screen": when the flow runs it drops the kiosk blackout on a panel running the Athena Android app, so an automation can dim a wall panel after a while with no motion (put a Delay before the action to set how long). Both actions can now optionally wait for the panel to confirm the screen actually changed, and the panel's current screen state is shown on its device page. The blackout overlay also fades in and out now, with separate fade-in and fade-out times you can set per device (or turn off for an instant cut). Also fixes a blank "Something went wrong" screen when you opened an update notification in the brief window before its release notes were published.
0.147.168 — 2026-08-30
Fixes the new "Wake Device Screen" automation action doing nothing on a kiosk panel: the action ran, but the panel stayed on its black blackout screen. It now clears the blackout reliably, including on a panel that has not yet updated to the latest Athena Android app.
0.147.167 — 2026-08-30
Adds a "Wake Device Screen" automation action: point it at any device running the Athena Android app and, when the automation runs, that device's screen wakes and its kiosk blackout clears - so a motion, presence or doorbell automation can light up a wall panel. It's delivered over a live connection so it happens near-instantly. Also fixes Companion App sensor reporting stopping after an Android app update or a device reboot and not coming back until you reopened Configuration > Companion app and pressed Save; it now re-establishes itself automatically. Both need the updated companion app.
0.147.166 — 2026-08-29
Kiosk mode's screen blackout now hides the Android status bar and navigation bar as well, so a wall-mounted panel goes fully dark instead of leaving a lit strip along one edge (it showed on the side in landscape). The bars return on the next touch. Update the companion app to get this.
0.147.165 — 2026-08-29
Adds a Sign-in landing page choice on the Account page: pick a dashboard to open right after signing in and whenever the app opens at the home page, or keep "Last page visited" as before (a refresh on any other page still stays there). Companion App devices get matching per-device options on their detail page: a Startup page for when the app launches and is not in kiosk mode, a Kiosk dashboard the panel opens on each time kiosk mode starts (swiping still works during a session), and a Screen blackout timer - after a set number of minutes with no touch, kiosk mode paints the screen black until the next touch, cutting burn-in and power on a wall-mounted panel while keeping wake instant.
0.147.164 — 2026-08-29
Adds kiosk mode for the Companion App: a device running the Athena Android app can be put into a dashboard-only view, with no sidebar and no header bar, for use as a wall-mounted panel. Turn it on from a dashboard's own menu on the device, or remotely from that device's page under Devices & Services once you've allowed it from Configuration > Companion app on the device itself. Kiosk mode survives an app restart or a device reboot, coming back up on the dashboard it was left on. On a touchscreen panel, swipe left or right to change dashboard and long-press for a menu to switch dashboard or exit, and the screen is kept awake while it's active. Any device running the app now also registers itself as a Companion App device as soon as it connects, so it gets its own device page - for kiosk control, location, and renaming - without sensor reporting needing to be turned on first. The Price Rank dashboard card can now show prices in c/kWh instead of EUR/MWh, set per card or flipped live from a toggle on the chart, and the chart itself is redrawn with a proper y-axis, gridlines, and an hour scale. The History graph's add-source picker no longer shows a blank area while the entity list loads or when nothing is graphable. The entity list also builds faster on instances with many dashboards.
0.147.163 — 2026-08-29
Adds five new dashboard card types for Automations - Boolean (an on/off switch), Number (a slider or numeric box over a range you set), Select (a dropdown of your own options), Text (a single- or multi-line box), and DateTime (a date, time, or date-and-time picker). Like the Button card these have no device behind them: each is a controllable entity an automation can both react to and set, handy for a UI-only setpoint, mode selector, or note that drives a flow, and every value is remembered across restarts. The "+ Add card" gallery is now grouped into sorted categories instead of one long grid. Also fixes the Roboto UI font option having no visible effect (the font was never actually loaded), and a Button card in Toggle mode forgetting its on/off state on every restart.
0.147.162 — 2026-08-29
Fixes Companion App (mobile app) sensor reporting going completely silent, in both periodic and instant mode, with the device's own "Last seen" stuck on "Never" - the background reporter now shares the same certificate trust the app's WebView already established, so a self-hosted instance using a self-signed certificate no longer silently fails every report. Also fixes turning sensor reporting off and back on creating a brand-new device card every time instead of reusing the existing one, and instant mode failing to start at all on Android 13 and newer.
0.147.161 — 2026-08-29
Adds a top-level error boundary: previously an unexpected error anywhere in the app during render could unmount the entire page with no way to recover, leaving a blank screen - now it shows a "Something went wrong" message with a Reload button instead. Also fixes the update-check flow occasionally showing a raw "429 Too Many Requests" error (a Docker Hub rate limit, hit when checking for updates twice in quick succession) - repeat checks now reuse the recent result instead of asking again, and a genuine rate limit shows a plain "try again in a minute" message.
0.147.160 — 2026-08-29
Introducing the Companion App integration: any device running the Athena Android app - a phone, or a wall-mounted tablet - can now report its own battery, screen on/off, network, and Do Not Disturb state to Athena, for use on dashboards and in automations. Turn it on from Configuration > Companion app, with a choice of periodic (~15 min) or near-instant updates. Each reporting device gets its own card, named after its reported model, on a new Companion App page - rename it, set its location/area, and see its manufacturer/model/OS version/memory alongside its sensors and a live activity feed, the same shape every other integration's own device page has. Also fixes several issues found while building this: Do Not Disturb access wasn't listed on Android's own permission screen at all; near-instant reporting mode could crash the app and need a couple of relaunches to recover; screen on/off could show up one step behind on Athena's own side, and a Do Not Disturb change on its own (without a screen or network change alongside it) wasn't reported at all; the reported WiFi network name could flicker blank even while staying connected; the "remember this WiFi network" checkbox and the update-frequency choice could look unresponsive; and saving the settings repeatedly no longer creates a duplicate device card each time.
0.147.159 — 2026-08-28
Introducing Athena Android - a native companion app for a self-hosted instance, styled after Home Assistant's own Companion App. It's a thin shell whose WebView points at your own instance's local and/or remote address, not a bundled copy of the frontend, so it always shows exactly what your server actually serves. Connecting tries whichever address last worked first and automatically falls back to the other one on failure. Self-signed HTTPS certificates use trust-on-first-use (shown once, remembered, flagged if it ever changes). An optional "remember this network" setting recognizes your home WiFi so it can jump straight to the remote address the instant you're away from home. Manage its addresses from Configuration > Companion app, shown only inside the app itself. Not yet on the Play Store. Also: the "+ Add integration" picker's Panasonic integrations now collapse into their own submenu, its trailing arrow only shows on rows that actually open one, and searching now matches a collapsed group's own member names too.
0.147.158 — 2026-08-28
The "System info" page's Athena card, the matching Dashboard card, and the "Update available" notification now all share one changelog/Update flow: clicking Update re-checks the current vs. latest version first (so you're never invited to update a system that's already current - it shows an "Already updated" message instead if so), then lists every release's own changelog entry between what you're running and the latest, not just the newest one, before you confirm.
0.147.157 — 2026-08-28
Adds Miele and Siemens integrations - one cloud account, multiple appliances, connected via a real sign-in flow (register an app with the manufacturer's own developer portal, then log in normally). Each appliance's own page shows its current status (operation state, program phase, remaining time, door, and more) and a button per currently-available action (power, light, start/stop), updated live as things change - including from a physical button press on the appliance itself, not just from Athena. Siemens uses BSH's shared "Home Connect" platform, also used by Bosch/Neff/Gaggenau appliances.
0.147.156 — 2026-08-28
Adds five new Sony integrations. Bravia TV: REST API control (power, volume/mute, remote commands) using a Pre-Shared Key you set on the TV itself - no pairing handshake needed. Songpal: the same API family for Sony soundbars/speakers, with no authentication at all (power, volume/mute, input switching). Projector: Sony's own SDCP protocol (power, HDMI1/HDMI2). PlayStation 4: the legacy local remote-control protocol, with wake/standby and a small remote once paired - pairing genuinely requires Athena briefly pretending to be a PS4 on the network to capture a credential from the real PlayStation mobile app, then confirming the on-screen PIN the console shows. PlayStation Network: a cloud account signed in by pasting a short-lived token from a Sony URL, reporting your account's own online/offline presence and what you're currently playing.
0.147.155 — 2026-08-27
Adds air conditioner control to the Infrared integration - Coolix, Gree, Mitsubishi, and Daikin protocols, with Power/Mode/Temperature/Fan controls on the device's own page and a new AC Remote dashboard card, sending the AC's full state fresh on every change the same way a real remote does. Also adds two new integrations: Panasonic Viera TV (local network remote control, with pairing for newer encrypted models) and Panasonic Comfort Cloud (cloud-connected Panasonic AC units, reporting real room temperature and live state). The ESPHome builder pages now use the same CodeMirror editor - real syntax highlighting - the Shelly script editor already had. Fixes the Electricity Price dashboard card getting permanently stuck on "failed to fetch" after a single network hiccup, and a bug that made it poll far more often than intended.
0.147.154 — 2026-08-27
Fixes the ready-made "IR remote" example for card-kind Plugins occasionally showing no buttons, or duplicating every button 2-3x, after navigating away from a dashboard and back - a race between overlapping async redraws whenever the card re-renders. New plugins created from the example get the fix automatically; an existing one needs its Module JS re-saved with the corrected code.
0.147.153 — 2026-08-27
Adds LED Infrared preset code libraries (21/24/40/44-key remotes) for the Infrared integration, plus two new dashboard cards built on it: TV Remote and LED Remote, real remote-control layouts that send saved codes at a tap - an "Auto-fill matching names" button wires up every button in one click after importing a preset. Custom card Plugins now get a ready-made "IR remote" example pre-filled when you add one, showing how a plugin card can call Athena's own API directly, plus a device picker to insert a device's id into the plugin's Config by name instead of typing it. Also fixes the Automation editor's Send IR Code/Run Shelly Script pickers getting stuck on "Loading...", and makes the Forecast dashboard card's weather icons bigger and clearer.
0.147.152 — 2026-08-27
A new Infrared integration lets Athena control any IR remote-controlled device, over three kinds of hardware: Broadlink blasters, Tasmota-flashed IR devices, and ESPHome nodes (reusing ESPHome's own "IR Proxy" feature - the same idea as its existing Bluetooth Proxy - over your existing connection, no extra hardware needed). Each device gets its own saved code library you can send from a button or an automation, learn by pointing a real remote at it, or fill in one click with a new LG Infrared or Samsung Infrared preset covering power, volume, channels, and more. LG webOS TV and Samsung Smart TV control now sit alongside their matching Infrared preset under one row in "+ Add integration", the same way the Google integrations already group together. Also adds Google Photos, Google Maps, and YouTube integrations (grouped with the rest of Google); Forecast and Hourly Forecast as dashboard cards for FMI/AccuWeather/OpenWeatherMap/Met.no, with real weather icons everywhere a condition is shown; and a dark mode/satellite view picker for the precipitation radar.
0.147.151 — 2026-08-26
Two new integrations: Google Calendar (shows your calendar's current and next event, their location, and how many events are today, and can create new events from an automation) and Google Mail (sends email from an automation, and reports unread, total, and starred message counts along with the latest sender and subject). A new calendar page shows a full month view across every connected Google Calendar account, each in its own color, with day and event details a click away. All three Google integrations (Drive, Calendar, and Mail) now offer a one-click Reconnect for when Google's access needs renewing - most commonly because the connected app is still in Google's testing mode, which expires access after about a week - with a notification pointing you straight to the account that needs it. Also lets the electricity price automations target 15-minute increments instead of only whole hours.
0.147.150 — 2026-08-26
Athena can now send its own email over SMTP (Configuration > System > Email) - "Forgot password" uses this directly instead of relaying through the Athena website as before. New Nord Pool electricity price automations let you trigger or gate actions on the cheapest hours of the day (one continuous block or scattered hours, with an optional price ceiling), shown live on a new price chart on the Energy page, as a Dashboard card, and on each Nord Pool area's own page - tomorrow's prices show as not-yet-published until Nord Pool actually releases them, and the ranking correctly follows Nord Pool's newer 15-minute pricing. An entity whose history is just on/off now shows as a colored bar instead of a plain list, and can be widened like other history graphs. Also fixes a bug where switching accounts didn't refresh that account's own theme colors, font, or font size until a full page reload.
0.147.149 — 2026-08-25
Fixed the previous version's new Spotify Connect FLAC streaming producing no sound at all - the stream's own response was being sent malformed, so a speaker could never actually start playing it. WAV streaming was never affected by this.
0.147.148 — 2026-08-25
Spotify Connect speakers can now stream in FLAC as well as WAV - Athena automatically matches whichever format a speaker prefers instead of only ever offering WAV. Also fixes a bug where, on a device offering more than one audio player, Athena could check the wrong one's supported format and wrongly report that the speaker couldn't be used for Spotify Connect at all.
0.147.147 — 2026-08-25
The Entities page now has a "Search and replace" action, letting you find every dashboard, automation, history graph, and other place a sensor or device is used and swap it for a different one in one go - handy when replacing a failed sensor with its physical successor. ESPHome and Shelly device cards also gained Rename, Reconfigure, Disable, and Delete actions in their own menu, with more integrations to follow. Also fixes a bug where using Search and replace could corrupt a dashboard's other card settings or, in rare cases, make the whole dashboard fail to open.
0.147.146 — 2026-08-25
Media players are now split into two tabs - Media Players (real content sources like Spotify) and Speakers (output devices like ESPHome and Sonos) - and a new card makes it much easier to turn any of your speakers into a Spotify Connect device without digging through each one's own page. Also adds a Roboto font option, fixes accent colors sometimes showing the wrong theme's colors, and fixes Athena starting up noticeably slower once a Spotify Connect speaker was set up.
0.147.145 — 2026-08-24
Fixed Spotify Connect tracks playing only their first second or two before jumping straight to the next song - Athena's own audio reader was pulling data far faster than the actual song plays, so the underlying Spotify engine believed each track had finished almost as soon as it started.
0.147.144 — 2026-08-24
The previous version's fix for Spotify Connect turned out not to be quite complete - this one closes the remaining gap. Athena's own audio reader was giving up permanently on a normal, momentary timing race right at startup instead of simply trying again a moment later.
0.147.143 — 2026-08-24
Found and fixed the actual root cause of Spotify Connect staying silent - a low-level timing issue in how Athena read audio from its own Spotify engine could occasionally cut that connection before it ever really started, with no error shown anywhere. This is the fix all the recent Spotify Connect updates were building toward.
0.147.141 — 2026-08-24
Fixed "new version available" notifications sometimes sticking around even after you'd already updated past that version - Athena now clears them out automatically once they're no longer relevant.
0.147.140 — 2026-08-24
Fixed Spotify Connect being completely unavailable and disappearing from the Spotify app - a missing piece from the previous version's engine update that kept it from starting up at all.
0.147.139 — 2026-08-24
Updated Spotify Connect's underlying engine to its latest version - the older version Athena bundled never reliably recovered from real-world connection drops on its own, which could stall playback mid-track until Athena's own recovery logic stepped in. The new version fixes this at the source, with Athena's own recovery logic kept as a backup.
0.147.138 — 2026-08-24
Fixed Spotify Connect audio connecting and decoding correctly but still never actually playing on some speakers - a speaker's own "buffer a little ahead before starting" safety check could never be satisfied by a real-time live stream, which by nature never gets ahead of itself. Athena now sends a short burst of already-played audio to a speaker the moment it connects, giving that check something to actually work with.
0.147.136 — 2026-08-24
Re-applied the previous streaming format change for Spotify Connect's live audio - after further testing, the speaker's own configuration wasn't the whole story after all, and this format change is being retested together with it.
0.147.135 — 2026-08-24
Simplified how Spotify Connect's live audio is streamed back to a more standard format - the previous version's change turned out not to be the actual cause of a silent speaker, so it was reverted while the real cause (missing on the speaker's own configuration, not Athena) gets addressed there.
0.147.134 — 2026-08-24
Fixed Spotify Connect staying completely silent even though the speaker itself reported "playing" with track info and nothing ever appeared as an error - the live audio was being sent in a network format some speakers' own audio hardware can't parse. It now streams in the plain format classic internet-radio streams have always used, which the simplest audio hardware can still play.
0.147.133 — 2026-08-23
Fixed a Spotify Connect speaker sometimes never starting to play at all after reconnecting - the one command telling it to start fetching audio was only attempted once, and could silently fail if the speaker's own connection happened to still be reconnecting at that exact moment. Athena now keeps retrying for up to 18 seconds instead of giving up immediately.
0.147.132 — 2026-08-23
Fixed Spotify Connect reconnecting successfully after a dropout but the speaker staying silent anyway - a speaker already fetching audio from the previous session was left hanging on a connection that would never receive sound again. Athena now closes that stale connection right away so the speaker notices and starts fresh.
0.147.131 — 2026-08-23
Fixed Spotify Connect playback sometimes getting permanently stuck - audio would stop and not advance to the next track, with no way to recover except a manual disable/re-enable or a full Athena restart. Athena now notices when this happens and reconnects automatically on its own.
0.147.130 — 2026-08-23
Fixed a Spotify Connect device sometimes being unable to reappear in the Spotify app after disabling and re-enabling it - a fast toggle could start the new session before the old one had fully released its network ports, silently failing to reconnect until Athena itself restarted.
0.147.129 — 2026-08-23
go-librespot's own log level now defaults to "debug" instead of "info" - a real report showed its own dealer connection (a separate real-time control channel from the actual audio stream) silently failing to reconnect for many minutes with no indication of why at the default level.
0.147.128 — 2026-08-23
Fixed Spotify Connect devices showing up as "waiting" indefinitely and never appearing usable in the real Spotify app - go-librespot's own mDNS responder could end up advertising the Docker bridge gateway address instead of the machine's real LAN IP under Docker host networking. Athena now detects the host's actual LAN-facing network interface and restricts advertising to it.
0.147.127 — 2026-08-23
Fixed Spotify Connect producing no audio at all - go-librespot's own pipe audio backend opens its FIFO non-blocking, which fails immediately if Athena's own reader isn't already there first, and the reader-side open happened afterward, racing the subprocess's own startup. Also raised go-librespot's own logs from Debug to Info - a failure like this one was invisible in the default log level before.
0.147.126 — 2026-08-23
Spotify Connect targets can now be speaker groups, not just one device - a new "Manage speakers" button lets you pick any number of eligible speakers (grouped by Area, with a per-area and a global "select all") to play the same stream together. Practical multi-room sync for audio Athena itself relays - true sample-accurate cross-brand sync isn't possible, since different manufacturers have no shared sync protocol with each other.
0.147.125 — 2026-08-23
Spotify Connect now also supports Sonos speakers, not just ESPHome media players - a Sonos speaker's own detail page gets the same "Spotify Connect" card. Sonos has no format restriction (it accepts WAV natively), unlike ESPHome's own custom firmware.
0.147.124 — 2026-08-23
Spotify Connect: an ESPHome-backed media player can now be turned into a real, independently selectable Spotify Connect device - the kind that shows up in the actual Spotify app's own "Connect to a device" picker, the way a Sonos or Chromecast would - from a new "Spotify Connect" card on that media player's own detail page. Requires Spotify Premium. Known limitation: only a device whose media player supports WAV playback can be a target for now.
0.147.123 — 2026-08-23
The "Edit sidebar" cog icon at the top of the sidebar is bigger, matching the theme toggle's own button size right next to it - the sidebar's top row height is unchanged.
0.147.122 — 2026-08-23
Voice announcements failed with an ESP_ERR_NOT_SUPPORTED error on devices whose own ESPHome YAML explicitly configures their announcement pipeline for WAV instead of ESPHome's own FLAC default - Athena always converted to FLAC regardless, which is wrong for a device that isn't using the default. Athena now asks the target device what its own announcement pipeline actually expects and matches that instead of always assuming FLAC.
0.147.121 — 2026-08-23
The entity settings subpage's Display precision now shows "(default)" next to whichever choice matches the current default, matching the Dashboard card selector, instead of a separate blank "Default" entry - and Icon is now a select populated with common icon names instead of free text. Also fixes the Dashboard card's own decimal-places selector losing its styling in 0.147.120.
0.147.120 — 2026-08-23
Entities can now be given a custom friendly name, an icon, and a per-entity display precision that overrides the dashboard default - set from a new settings subpage inside the "quick history" popup (click an entity's name, then the cog-wheel button next to the title). The friendly name, when set, is used everywhere that entity's name is shown - Dashboard cards, history graphs, and pickers. The quick history popup also now shows "Area > Device" under the title on a device's own page, and the title bar toggles a wider graph view when clicked.
0.147.119 — 2026-08-23
ESPHome, Shelly, and HomeWizard's own "Configured" pages now have a "+ Add device" item in their header menu, opening a manual connect dialog to type in the name/address/port yourself - every other integration already had this; these three previously only supported connecting from the Discovered tab.
0.147.118 — 2026-08-23
The manual "Edit address" override added for ESPHome devices in 0.147.117 is now available on every other device-type detail page that stores an address - Shelly, HomeWizard, Tasmota, MoOS, Unraid, iRobot, Tuya, IKEA, Symfonisk, Sonos, Cast, ADB, webOS, Tizen, Android TV, Proxmox, Plex, Portainer, Denon, Ubiquiti, KNX, OctoPrint, Pi-hole, AWTRIX, WLED, deCONZ, Matter, Z-Wave, Aqara, Harmony, and Cozify HAN - 31 integrations in total. Saving triggers an immediate reconnect attempt where that's safe to do automatically; webOS and Tizen persist the address only, since an immediate reconnect there can trigger an on-screen pairing prompt on the TV itself, which a plain address correction should never cause as a surprise side effect.
0.147.117 — 2026-08-23
An ESPHome device's own Address field (device detail page, and the Discovered-device Connect dialog) is now editable, with an "Edit" button next to it - the manual escape hatch for a device whose own mDNS responder isn't reliably answering queries at all, so nothing automatic (including 0.147.115's own resolved-address persistence) can ever correct it on its own. Saving triggers an immediate reconnect attempt at the new address, not just a database update.
0.147.116 — 2026-08-23
Harmony Hub and Cozify HAN's own retry/reconnect log lines used a bare numeric device id ("hub 12: connect to ... failed") - audited alongside 0.147.115's ESPHome log tag consistency fix, since these were the only other two integrations using the same backoff-retry log shape. Both now show the device's own name when known, matching every other multi-device log source in Athena.
0.147.115 — 2026-08-23
An ESPHome device's own stored address is now updated automatically once a native API connection actually succeeds with a different address than what was stored - previously this was only ever set once, at add-time, so every process restart re-dialed a possibly long-stale address and had to re-resolve via mDNS from scratch every time, even for a device whose IP hadn't changed again since the last time it was already found. A restart with an unchanged IP now connects on the very first attempt. Also unified the native API connection's own log tag format ("device 55 (Device Name)") to match the ESPHome component's own "device Device Name" shape from 0.147.114, so every log source in Athena reads the same way.
0.147.114 — 2026-08-23
A native API connection's own log lines used a per-device component tag (e.g. "esphome:bt-proxy-3"), inconsistent with how every other multi-instance log source in Athena works (one fixed component, instance identity in the message text). Now uses a fixed "esphome" component with "device <name>: " prefixed onto the message itself, so the Logs page's component filter groups every ESPHome connection's lines together the same way it already does for everything else.
0.147.113 — 2026-08-23
Fixed device discovery (ESPHome, Shelly, Cast, OctoPrint, etc.) missing a device entirely even though it was online the whole time - including making an already-configured device unreachable by hostname after its IP changed, while it stayed fully visible in the ESPHome dashboard the entire time. Athena's mDNS query only listened for a reply sent directly back to it; real mDNS responders are allowed to reply via ordinary multicast instead, and a real ESP32 running ESPHome's own mdns component does exactly that inconsistently. Discovery now also listens on the real mDNS multicast group, the same way every other real mDNS client already does. This replaces 0.147.111's own broken first attempt at the same fix (reverted in 0.147.112 for aborting every discovery scan at once) with a version regression-tested against that exact failure. Also fixed a native API connection's own log lines staying tagged with a device's very first IP address forever, even after later reconnecting elsewhere - now tagged by its stable hostname instead.
0.147.112 — 2026-08-23
Reverted 0.147.111's device-discovery fix - it introduced a worse regression where every discovery scan (ESPHome, Shelly, Cast, OctoPrint, Sonos, Denon, Aqara, Android TV, Tizen, webOS) could abort at once with a "context canceled" error, since the rewritten mDNS query could spuriously return a real error on a completely normal scan, which then canceled every other scan sharing the same context. Back to 0.147.110's discovery behavior (and the ESPHome dashboard sidecar's networking) while a correct fix is worked out.
0.147.111 — 2026-08-23
Fixed device discovery (ESPHome, Shelly, Cast, OctoPrint) sometimes "losing" a device it had previously found, even though it never left the network. Athena's own mDNS query only listened for a reply sent directly back to it, relying on a responder honoring the query's "please reply via unicast" request - real-world mDNS responders are allowed to ignore that and reply via ordinary multicast instead, and a real ESP32 running ESPHome's own mdns component was confirmed doing exactly that inconsistently. Discovery now also listens on the actual mDNS multicast group, the same way every other real mDNS client (like Avahi) already does, so a device isn't missed just because of which way it happened to reply that time.
0.147.110 — 2026-08-22
Fixed a Speak action's audio still being rejected by an ESP32 media player ("ESP_ERR_NOT_SUPPORTED") even after the Content-Type, sample-rate, and Range-request fixes in 0.147.106-0.147.109. The real root cause: ESPHome's own "speaker" media_player platform defaults its announcement pipeline's accepted audio format to FLAC specifically, not any generic audio container, unless a device's own YAML explicitly opts into something else - so a device built from an otherwise unmodified example config never has a WAV or MP3 decoder compiled into its firmware at all. Speak now re-encodes its audio to FLAC before serving it, matching what ESPHome expects by default - no device YAML changes or reflashing required.
0.147.109 — 2026-08-22
Fixed the Region "Server address" setting resetting to blank on every Athena restart or update, even though it was saved correctly - the boot-time query that loads settings back into memory was missing that one key. Also fixed a Speak action's audio still being rejected by an ESP32 media player ("ESP_ERR_NOT_SUPPORTED") even after the Content-Type and sample-rate fixes in 0.147.106/0.147.107 - the audio is now served with real HTTP Range-request support and its URL carries a matching file extension, since many ESP-IDF HTTP media readers need both before they'll accept a file. The Automation editor's Debug/Run History panel can now be resized vertically by dragging its bottom edge, instead of only ever growing.
0.147.108 — 2026-08-22
Fixed an ESPHome device getting permanently stuck "offline" in Athena after its IP address changed (e.g. a router reboot handing out different DHCP leases, even to devices with a "static" reservation), while ESPHome's own separate dashboard tool found it fine - that tool re-scans mDNS by name on every lookup, while Athena's own re-resolve mechanism was only ever consulted for reconnecting after an already-established connection later dropped, never for a first connect attempt that fails outright. A failed first attempt now triggers one fresh mDNS scan and retries with whatever address that finds.
0.147.107 — 2026-08-22
Fixed a WAV TTS response still being rejected by an ESP32 media player even with the right Content-Type - confirmed live: a device's own ESPHome YAML fixes its speaker to a specific sample rate/channel count that a TTS voice model's own native output (Piper commonly outputs 22050Hz mono) has no reason to already match, and unlike a Content-Type mismatch, the device's own media pipeline doesn't recover from this by itself. Speak now resamples a WAV response to 48kHz stereo (a common native rate for the class of chip these speakers are typically built around) before handing it to any media player.
0.147.106 — 2026-08-22
Fixed a Speak action's audio sometimes reaching a media player with the wrong Content-Type, causing an ESP32 device's own media pipeline to refuse to play a perfectly valid file - a TTS server's response reported "text/html" for what was actually valid audio, which a general media player shrugs off by sniffing the real bytes but an ESP32 pipeline does not. The real audio format is now sniffed from the response's own leading bytes instead of trusting the server's Content-Type header at all.
0.147.105 — 2026-08-22
A successful Speak action's own Run History line now includes the audio URL it told the device to play - whether the device's own media pipeline then actually fetched and played it happens entirely on the device's own side, invisible to Athena otherwise, so having the exact URL is often the only way to manually check it against whatever error a device's own log reports.
0.147.104 — 2026-08-22
Fixed adding an ESPHome media player sometimes failing with a raw database error ("Out of range value for column 'zone'") - that column was sized for Denon's own zone numbers (1-3), far too narrow for the value ESPHome repurposes it to hold (a media_player entity's own key, a full 32-bit value). Widened generously so a different device's larger key doesn't trip the same error again later. Existing media players whose zone was already lost to the previous release's own separate bug still need to be removed and re-added.
0.147.103 — 2026-08-22
Fixed three related bugs in "Add media player": the Source dropdown listed every supported source type (Sonos, Denon, ESPHome, ...) regardless of whether anything of that type was actually connected, only revealing "no devices" after picking one - now only lists sources that actually have a device; an ESPHome device's own media_player entity (e.g. a voice-satellite's speaker) didn't show up while that device was offline - now falls back to entity history the same way the shared entity registry already does; and the real reason a Speak action would fail with "not an ESPHome media player" no matter what was picked - creating an ESPHome media player was silently losing the one field needed to know which entity to command. Existing media players created before this fix need to be removed and re-added.
0.147.102 — 2026-08-22
Fixed adding a node to an automation's flow not working on mobile - dragging a palette item onto the canvas and releasing it just silently made it disappear, since HTML5 drag-and-drop has no touch equivalent on mobile browsers at all. Tapping a palette item now adds it directly to the canvas, alongside (not replacing) drag-and-drop for desktop.
0.147.101 — 2026-08-22
Send Message's own Message field can now embed a live value - the literal placeholder {value} is substituted at send time, so a message can be {"temperature": {value}} instead of only ever a fixed string. Defaults to whatever value fired the flow's own trigger; an optional entity picker lets you embed a different, specifically-chosen entity's own live value instead.
0.147.100 — 2026-08-22
JS integration plugins can now subscribe to arbitrary MQTT topics - athena.mqtt.subscribe(topic, callback), a new host API alongside athena.fetch, calls back with each message's raw payload (a script parses JSON itself). Backed by the same already-configured MQTT broker connection every discovered entity already uses - no separate connection details to enter. The natural way to bridge something like a Home Assistant mqtt.publish automation into Athena's own entity registry. Also added a new "Speak" automation action node: synthesizes text through the configured AI Assistant's TTS server and plays it through a chosen media player, the same way a voice satellite's own spoken reply already does - leave the message blank to speak whatever value fired the trigger instead of a fixed line. And fixed a real gap: JS and subprocess integration plugins can now genuinely trigger an automation, not just be read by a Condition node - a State Trigger sourced from either kind now actually fires the moment the plugin reports a new value.
0.147.99 — 2026-08-22
Added subprocess integration plugins - a third Plugins kind alongside Card and Integration, for an integration the embedded JS engine genuinely can't reach (raw serial, native crypto, another language's own SDK, ...). Upload your own already-built executable (Configuration > Plugins > Subprocess plugins > Edit > Executable) and Athena runs it as a real OS process, speaking a simple newline-delimited JSON protocol over its stdout to report entities the same way an integration plugin does - config is handed to it once on its own stdin at startup. A brand-new plugin has to be saved once before it has anywhere to attach an upload to; uploaded binaries land in a new bind-mounted ./plugin-bins directory, same convention as the existing log directory. Same Enabled/Disabled filter and Enable/Disable action as Integration plugins; read-only for this first cut, like Integration plugins already are.
0.147.98 — 2026-08-22
Fixed the Plugins page's own Card/Integration tab bar looking like a pair of boxed buttons instead of the plain underline tabs every other tab bar in the app uses (e.g. the ESPHome builder's own Devices/Files tabs) - a leftover default browser button style that was never an issue before this was the first tab bar built on plain buttons instead of links.
0.147.97 — 2026-08-22
Plugins page split into "Card plugins"/"Integration plugins" tabs, replacing last release's single merged list - an integration plugin's own Enabled/Disabled concept doesn't apply to a card one, so a shared list stopped making sense once that landed. Dropped the page's own description text and the two "+ Add ... plugin" buttons in favor of a single "+ Add plugin" item in the header's own three-dot menu, opening one modal with a Card/Integration selector that defaults to whichever tab is active (the removed description now lives in that modal instead). The Integration plugins tab gained an Enabled/Disabled filter (same shape as every integration device list's own Online/Offline filter) and an Enable/Disable action - in the per-row three-dot menu in card view, as its own button between Edit and Delete in list view - to pause/resume a plugin without deleting it. Also added: dashboards can now be hidden from the dashboard switcher (the centered tab row on Dashboard/Devices & Services pages) without being deleted - a Show/Hide item in each dashboard's own three-dot menu, and a Show/Hide button between Edit and Delete in list view. A hidden dashboard stays fully reachable from Configuration > Dashboards and by direct URL; only the switcher's own tab row skips it.
0.147.96 — 2026-08-22
Added custom "integration" plugins - JavaScript admin-authored plugins that run server-side (embedded, no subprocess) and report their own entities into Athena's regular entity registry, the same way a built-in integration would. A script sees one global, athena, exposing athena.config (this plugin's own parsed config), athena.reportEntity({key, name, domain, state, unit, deviceClass, stateClass}), athena.log(message), and athena.fetch(url, options) (a real HTTP client, returns a Promise) - full setTimeout/setInterval/async/await support via a real JS event loop. Read-only for this first cut (no command support yet) and, like card plugins, runs arbitrary code - only add ones you trust. Card and integration plugins are now one unified "Plugins" page - a single list with search and card/list view shows both kinds side by side with a Kind badge, instead of two separate concepts. A later subprocess/RPC-based integration route (for what JS can't reach - raw serial, native crypto, ...) will add a third kind alongside these two, split onto its own tab on this same page.
0.147.95 — 2026-08-22
Card plugins moved to their own "Plugins" entry in Configuration (right after Automations, same card), instead of being reachable only from Dashboards' own three-dot menu - lays the groundwork for a JS-based custom integration mechanism to live alongside it later. The page itself now has the same search + card/list toggle every other list-view management page already has.
0.147.94 — 2026-08-22
Added standalone docker-compose-zwave.yml, docker-compose-deconz.yml, and docker-compose-zigbee2mqtt.yml files (each with its own .env.<name>.example), matching the docs' own compose snippets for each - real files instead of just code blocks to copy by hand. Run on whichever machine the relevant USB stick is physically plugged into, independent of docker-compose.yml/docker-compose-with-esphome.yml. All three document both a pinned-device USB passthrough and a real hot-plug option, the same tradeoff already documented for Zigbee's own EZSP passthrough.
0.147.93 — 2026-08-22
Documented real USB hot-plug support for the Zigbee EZSP serial passthrough, alongside the existing pinned-device option: bind-mount /dev:/dev and grant device_cgroup_rules for the ttyUSB*/ttyACM* device classes instead of one fixed device path, so unplugging/replugging the stick (or swapping it for a different one) keeps working with no container restart. The pinned-device option still resolves to one fixed device node at container start, so it isn't guaranteed to survive an unplug/replug without re-running docker compose up -d. Same tradeoff documented for the standalone zwave-js-ui compose snippet in the Z-Wave docs.
0.147.92 — 2026-08-22
Every integration's own device-detail page, and Dashboard's own live card rendering, now also keep an offline device's entities instead of going empty - the other half of last release's fix, which only covered the shared entity list (Devices/Entities tabs, History picker, Dashboard's entity picker, AI Assistant tool). Each integration's own device page and live connection go through a separate code path each; all of them now fall back to the same reconstructed-from-history entity list (value "unknown") when not connected. A device that has never once connected still won't show entities until it first comes online.
0.147.91 — 2026-08-22
A disconnected/offline device's entities used to vanish entirely from the shared entity list every picker relies on (Devices & Services' own Devices/Entities tabs, the History page's own entity picker, Dashboard's own entity picker, and the AI Assistant's device-lookup tool) - every integration only ever reported entities it currently had a live connection to. Every entity a device has ever reported is now reconstructed from its own history instead when it's offline, shown with the value "unknown" rather than disappearing, across every integration. A device that has never once connected since being configured still won't show entities until it first comes online. Each integration's own device detail page and Dashboard's own live card rendering are a separate follow-up, not yet covered by this fix (Shelly's is done as a preview of what's coming).
0.147.90 — 2026-08-21
Every integration's own per-device detail URL now nests under "/configured/" (e.g. athena/tasmota/configured/5, previously athena/tasmota/5) - matching ESPHome/Shelly/HomeWizard's own existing convention, since every device shown anywhere in Athena is, by definition, a configured one. No user-visible behavior change beyond the URL itself.
0.147.89 — 2026-08-21
The Devices tab on Devices & Services (added two releases ago) now routes to each device's own detail page on click - the same page its own integration's device list would link to. A source with no per-device page of its own (MQTT, System info - both flat, single-page lists rather than per-device ones) falls back to that integration's own list page instead of doing nothing.
0.147.88 — 2026-08-21
The new Devices and Entities tabs on Devices & Services (added last release) now have their own search box - no view toggle, no filter, since there's nothing to switch or filter on a read-only browse list - and every search box across all three tabs shows how many rows it's searching right in its placeholder ("Search 4 integrationsâŠ", "Search 20 devicesâŠ", "Search 86 entitiesâŠ") instead of a generic "SearchâŠ". Also fixed the centered tab bar visibly shifting left/right when switching tabs: the Integrations tab's own three-dot menu items were what balanced the back arrow on the header's other side, so the menu going empty on Devices/Entities let the centered content drift - "+ Add integration" now stays in the menu on every tab, keeping the header's own width identical regardless of which one is active.
0.147.87 — 2026-08-21
The Dashboard page header now shows every dashboard's own name as a centered row of links, the current one underlined, replacing the back arrow + static title + "Select dashboard" popup - a single click switches, and whichever one you last viewed is remembered per-browser (not synced to your account) so it survives a refresh while still letting a different machine sit on a different dashboard. Devices & Services gets the same idea plus two new tabs, Devices and Entities, built on the same generic entity registry the History page already uses so every integration shows up automatically: Devices lists every device across every integration alphabetically, Entities groups the same devices' own entities into an expandable list where clicking one opens the same quick-history popup used everywhere else in the app; it also picked up the search/card/list toggle every other list-view page already has. Also fixed: the precipitation radar card's distance slider no longer resets on every reload, the MQTT/Notify/ESPHome/AI Assistant settings forms no longer wipe out what you're typing, and the sidebar/header bars are now flush instead of 2px off.
0.147.86 — 2026-08-21
Every color picker in the app (Account page's own accent colors, Dashboard card colors, and every color-domain device control) is now a compact square swatch that opens a proper picker panel, replacing the native color input that a pre-existing CSS rule stretched into a long, thin colored bar almost everywhere it appeared. The new panel has a saturation/hue picker, a hex field, and a preset swatch row - the current theme's own live accent color first, then a general-purpose palette.
0.147.85 — 2026-08-21
Added a new "Send Message" automation action node - tell an external system something happened, distinct from the existing Notify node (a push notification to your own phone through ntfy specifically). Only the MQTT protocol is implemented for now (publish an arbitrary topic/payload), with the node's own data shape left generic so a future protocol can reuse it without needing its own node type.
0.147.84 — 2026-08-21
The Button Dashboard card can now be configured as a Toggle instead of tap gestures - a plain on/off switch, no gesture detection at all. Unlike a gesture-mode button (read-only, just reports the last tap pattern), a toggle-mode button is a real controllable switch-domain entity - an Action node can set it, not just react to it.
0.147.83 — 2026-08-21
State Trigger/Condition nodes in Automations now show the right controls for the entity you picked, instead of always offering the generic Any change/Equals/Above/Below list. A Dashboard Button entity gets a "Tap action" dropdown (Any press/Single tap/Double tap/Triple tap/Hold); any other button-domain entity (e.g. System info's own Restart/Update Athena buttons) shows a plain "Fires on any press" line instead of a comparison UI that never applied to a value-less press-only entity.
0.147.82 — 2026-08-21
Added a new "Button" Dashboard card - a tappable button with a configurable name, icon, and hold duration, no device needed. Single tap, double tap, triple tap, and press-and-hold each resolve to their own distinct value and become a real automation-trigger-capable entity under a new "Dashboard Button" source - build a State Trigger or Condition off it exactly like any other integration's entity.
0.147.81 — 2026-08-21
The Automations page now has the same card/list view, search, and status filter every integration device list already has, mirroring the MOS page's own toolbar. Automations can also now have a short, optional description of what they do, editable right below the name field in the editor - shown as a subtitle in both views and searchable from the Automations page's own search box.
0.147.80 — 2026-08-21
Drag-to-reorder now gives visual feedback while dragging, instead of only reordering on drop. Sidebar's own pinned items (edit mode) show a thin insertion-line marking exactly where the dragged item will land. Dashboard's own card grid and Devices & Services' own card grid now live-shift the other cards to preview the pending drop order as you drag, with the dragged card faded out - still only committing the actual reorder on drop, not on every hover.
0.147.79 — 2026-08-21
Dashboard, History, and Energy are now pinnable/removable/reorderable sidebar items, the same way AI Assistant and Automations already are - previously they were permanent, fixed-position sidebar links. All three default to pinned in their existing order for every account, so nothing changes visually unless deliberately reordered or unpinned via the sidebar's own "Settings" (edit mode) picker afterward.
0.147.78 — 2026-08-21
The "Google" submenu opened from Devices & Services' own "+ Add integration" catalog (Cast + Google Drive, collapsed into one row while both are unconfigured) now has a back button next to its title, returning to that catalog instead of closing outright - previously the only way back was closing this modal and reopening "+ Add integration" from scratch.
0.147.77 — 2026-08-21
Breaking: Mosquitto is no longer bundled in either compose file - it's now its own standalone docker-compose-mqtt.yml, run separately, the same pattern the ESPHome dashboard's split-deploy file already uses. MQTT_BROKER_URL now defaults to blank instead of pointing at the old bundled broker. Existing installs using MQTT auto-discovery need to run the new compose file (same config, same port) and set MQTT_BROKER_URL explicitly before upgrading, or discovery will silently stop working.
0.147.76 — 2026-08-21
Clarified that the Z-Wave integration works with any Z-Wave USB stick, including Home Assistant's own Connect ZWA-2 - it already bridges to zwave-js-server rather than talking to a stick's own serial protocol directly, so it was stick-agnostic all along, just not stated anywhere. No functional change, just clearer setup guidance.
0.147.75 — 2026-08-21
Extended device_class/state_class metadata (last release only covered energy/monetary sensors) to every entity with an unambiguous Home Assistant match: temperature, humidity, pressure, wind speed, battery, voltage, current, power, CO2, and duration readings across the weather integrations, Ruuvi, Sensirion, Sensibo, Matter, Aqara, Zigbee, deCONZ, iRobot, MOS UPS, Tasmota, and Athena's own host stats. Native ESPHome devices now read device_class/state_class straight from the device's own firmware config instead of needing any guessing at all. The practical effect: all of these now get free long-term hourly/daily/monthly history via last release's statistics engine, with no further setup.
0.147.74 — 2026-08-21
Added an Energy dashboard (/energy) - a Home Assistant-style view built on top of last release's device_class/state_class metadata and long-term statistics engine. Assign any energy/monetary entity to a role (grid consumption, grid return, solar production, gas, water, individual devices), see today/this-month totals, a netted usage figure, 30-day daily charts, and - if you assign a spot-price entity too - a clearly-labeled rough cost estimate.
0.147.73 — 2026-08-21
Fixed Fortum being entirely missing from the generic entity registry (its entities never showed up in automations or the AI assistant). Added Home Assistant-style device_class/state_class metadata to every energy/monetary sensor (Helen, Caruna, Fortum, Cozify HAN, HomeWizard, Nord Pool) and a new long-term statistics engine computing hourly/daily/monthly rollups from it - the same thing Home Assistant's own recorder does, never pruned unlike raw history. Backend only for now; an Energy dashboard page is a follow-up.
0.147.72 — 2026-08-21
Athena now automatically recognizes four more ESPHome device capabilities, the same "no config needed" way voice assistant/Bluetooth proxy already are: active Bluetooth LE connections (vs. passive-only advertisement forwarding), Z-Wave proxy (detection and raw-frame log visibility only - not real Z-Wave device support), suggested-area auto-assignment for newly added devices, and a read-only list of sub-devices for boards that expose more than one logical device over a single connection.
0.147.71 — 2026-08-20
Added a Cozify HAN integration - real-time power, voltage, current, and cumulative consumption from a Cozify HAN reader (a Finnish device that plugs into a smart electricity meter's own HAN/P1 port), updating every 10 seconds. Add by IP alone, no credentials needed. Unlike tonight's other new electricity integrations, this one is backed by a real, officially documented local API and an official Home Assistant integration published by Cozify themselves.
0.147.70 — 2026-08-20
Added Caruna and Fortum integrations - connect your own Caruna Plus or Oma Fortum account (same login you already use on their own website/app) to see your electricity consumption as sensors, same shape as the existing Helen integration. Neither company publishes a public API; Caruna's login flow follows a real community reference closely, while Fortum's Finnish login flow had no usable reference anywhere and was reconstructed by live-testing the real endpoints - the very last login step (password submission) is not yet verified against a real account, please report back what you find.
0.147.69 — 2026-08-20
Athena's own website moved to a new independent domain, athena-ai.fi (was athena.makershop.fi) - updated every reference, including the "new version available" notification's own changelog links and the identifying URL sent in FMI's/Met Norway's own weather API requests. The old domain still works for now, kept alive during the transition.
0.147.68 — 2026-08-20
The self-update "Update" button is now "Check for update" until one is actually confirmed available, forcing a fresh check on click instead of possibly spinning for minutes over nothing to update - a real, confirmed point of confusion when clicking it while already on the latest version. Also fixed Harmony Hub's connection dropping and reconnecting every 1-2 minutes (confirmed live via real logs) by adding a periodic WebSocket ping to keep it alive.
0.147.67 — 2026-08-20
Fixed the precipitation radar legend wrapping below the map on a 2-column Dashboard card instead of sitting beside it, confirmed live. The map now shrinks to fit whatever room is actually available while the legend stays full size beside it - verified in a real browser layout test at both a narrow and a wide container width before shipping.
0.147.66 — 2026-08-20
Fixed the precipitation radar's legend cleanup from the previous release, which disappeared the legend entirely instead of cropping it (a cross-origin canvas restriction the crop hadn't accounted for) - confirmed fixed in a real browser this time before shipping. Also fixed Harmony Hub buttons appearing to do nothing when pressed: a failed command was being silently discarded with no trace anywhere; now logged.
0.147.65 — 2026-08-20
Cleaned up the precipitation radar card's own intensity legend (cropped out the always-present "nodata" rows) and moved it beside the map instead of over the top of it, so it no longer covers real radar data. Also replaced the area-size dropdown with a slider, matching the same card's own frame-scrub control.
0.147.64 — 2026-08-20
Added a Logitech Harmony Hub integration - switch activities and press any device's own IR commands through a hub on your LAN, no credentials needed. Reverse-engineered from community sources since Logitech never officially documented this API (discontinued in 2021) - a testable build, not yet verified against real hardware. Also, Athena's own current/latest version and update-available are now real entities, and Restart/Update are now button entities too - usable on any Dashboard card or in Automations.
0.147.63 — 2026-08-20
0.147.61's new reconnect-failure log lines only ever showed a bare device id, not its name - now shows the device's stored name too wherever it's known.
0.147.62 — 2026-08-20
Fixed self-update's very last step (recreating athena itself) silently failing every time, leaving the "Updating..." overlay spinning forever - confirmed live via the actual error, "invalid reference format". Resolving athena's own image also picked up a dependency's image by mistake, concatenating both into one garbled, invalid string. Now resolves it unambiguously via the compose config's JSON output instead.
0.147.61 — 2026-08-20
Fixed a device stuck reconnecting forever (e.g. after its IP changed on a DHCP lease renewal) leaving zero log output anywhere, with no hint anything was even trying and failing - confirmed live. The background retry loop every device uses at startup now logs the real underlying error, including whether Athena's own automatic mDNS re-resolution (already built in for a device added via discovery) is finding it at all.
0.147.60 — 2026-08-20
Fixed a voice assistant reply sitting invisible in an already-open AI Assistant chat tab until you switched away and back - confirmed live. A voice turn has no browser connection of its own to push updates through, so an already-open tab never learned anything had changed; it now pushes the update straight to any open tab for that session the moment a voice turn finishes.
0.147.59 — 2026-08-20
Fixed the self-update overlay reporting "back online" seconds in, before anything had actually happened - it now waits for a genuinely new process, not just a successful response. Also fixed a real voice assistant bug found via a RaspiAudio Muse Luxe: devices got stuck "listening" for a full 30 seconds on every command, because this app never told them when to stop - real ESPHome firmware waits for the server to signal end-of-speech, not the other way around. Added server-side silence detection so that now happens in under a second.
0.147.58 — 2026-08-20
Fixed self-update leaving a stray half-created container behind when recreating athena itself, with the real one left stopped - confirmed live. This container's own entrypoint runs as PID 1 with no init wrapper, and Linux kills every other process in it the instant PID 1 exits, so the docker compose child driving that last step died mid-operation. Now runs that one step in a throwaway sidecar container instead, independent of this container's own lifecycle - the same self-update pattern tools like Watchtower use.
0.147.57 — 2026-08-20
Fixed self-update leaving sibling services (mariadb, caddy) stopped after an update, even though athena itself came back up fine - confirmed live. A single docker compose up -d for the whole stack dies the instant it reaches athena's own turn, since recreating that container kills the very process (and the docker compose CLI it spawned) driving the rest of the update. Now recreates every other service first in one call that completes normally, then athena alone as a separate final call.
0.147.56 — 2026-08-20
Fixed self-update again - the project-name fix in 0.147.55 wasn't enough. MOS layers a second config file (mos.override.yaml) on top of the base compose file, carrying the labels MOS's own UI uses to recognize which containers belong to its stack; docker compose doesn't auto-discover a file with that name, so recreated containers were real but invisible to MOS's own grouping. Now reads every config file straight off the running container's own label and passes each explicitly, so the merged config always matches exactly what's deployed.
0.147.55 — 2026-08-20
Fixed a bug in 0.147.54's new self-update: it could create a duplicate, disconnected set of containers instead of updating the real stack in place, confirmed against a MOS-managed install where docker compose guessed a different project name than MOS actually uses. Now reads the real project name straight off the already-running athena container's own label first.
0.147.54 — 2026-08-20
Athena can now update and restart itself from the System info page - Restart just needs a process exit, Update shells out to the real docker compose CLI (opt-in via a new ATHENA_DEPLOY_DIR setting) to pull fresh images and recreate everything. A full-screen overlay stays up and polls in the background, then jumps back automatically once Athena is reachable again, same as MOS's own restart screen.
0.147.53 — 2026-08-20
Polished the new MOS Docker update log: blank lines between operation groups are filtered out (matching MOS's own web UI), and the log box no longer visibly grows as output streams in.
0.147.52 — 2026-08-20
MOS Docker/Docker Compose updates now show a live output log while they run - the same "watch it happen" view ESPHome's own compile/flash log already has - instead of clicking Update and waiting blind for MOS to stop the stack, pull any newer images, and start it back up.
0.147.51 — 2026-08-20
Fixed the MOS Docker Update button sometimes doing nothing but restarting the containers instead of actually updating - it now forces the update the way it was always meant to. Docker Compose stacks also get their own card, separate from plain Docker container groups.
0.147.50 — 2026-08-20
PörssÀri now has its own real integration icon, replacing the placeholder mark it launched with.
0.147.49 — 2026-08-20
Fixed PörssÀri entities showing "Unknown entity" instead of their real value when added to a Dashboard card.
0.147.48 — 2026-08-20
MOS Docker container groups and Compose stacks now get their Update and Restart buttons on Dashboard cards too, not just the MOS server page - same green-when-available button, right next to the on/off toggle.
0.147.47 — 2026-08-20
New integration: PörssÀri, the Finnish electricity-spot-price relay-control service - add a device with your own "PörssÀri laitetunnus" from porssari.fi and its 8 control channels show up like any other integration. Also: the MOS Docker Update button no longer requires MOS's own update-check to agree before it's clickable.
0.147.46 — 2026-08-20
MOS integration's Disks card no longer shows SMART fields twice now that they actually load - they used to appear both as their own rows and again in the SMART Info popup. The card now just shows the basics at a glance; the popup has the rest.
0.147.45 — 2026-08-20
Fixed MOS disk SMART data (status, power-on hours, cycle count, error count, temperature) failing to load on every single check - found using 0.147.44's own new error logging, which pointed straight at a data-format mismatch.
0.147.44 — 2026-08-20
MOS integration: a per-disk SMART lookup failure now shows up in Configuration > Logs instead of failing silently, for anyone still not seeing SMART data after 0.147.43's fix.
0.147.43 — 2026-08-20
Fixed MOS integration disks always showing a blank Size, and SMART/temperature data missing entirely - two real backend bugs (a wrong field name, and a URL mismatch that also affected the disk sleep/wake toggle), not something you needed to work around.
0.147.42 — 2026-08-20
Fixed the MOS integration's new SMART Info popup coming up empty for some disks, and fixed log messages wrapping into a dozen tiny lines on a narrow/mobile screen - the Logs page now scrolls sideways instead of squeezing text unreadably small.
0.147.41 — 2026-08-20
MOS integration: the Docker/Compose "Update" button now turns yellow and reads "Updating" while an upgrade is running, and each disk gets a "SMART Info" button showing all its status details in one popup instead of scattered rows.
0.147.40 — 2026-08-20
MOS integration: Docker/Compose containers now get an "Update" button (green when an update is actually available), disks get a sleep/wake toggle and richer SMART info (status, power-on hours, cycle count, error count), and the System category shows a more detailed memory breakdown. Only relevant if you've connected a MOS server.
0.147.39 — 2026-08-20
System info page's "Software" card is now "Athena", showing both your current version and the latest published one, with a green "Update available" badge when a newer version exists - and it can now be added to a Dashboard too.
0.147.38 — 2026-08-19
Dashboard's own "Add card" entity picker is now dynamic too, matching yesterday's History page rework - future integrations will show up here automatically as well, with no update needed. Existing dashboard cards and their controls are unaffected.
0.147.37 — 2026-08-19
Reworked yesterday's "add any integration to a History graph" fix into one clean picker instead of a second bolted-on search box, and added real live updates for every integration's graphs (not just the original ones) - a graph now keeps ticking forward with new readings the same way for every source.
0.147.36 — 2026-08-19
History graphs can now include an entity from any integration - previously only ESPHome, MQTT, Shelly, MOS, Unraid, iRobot, Tuya, IKEA, SYMFONISK, Sonos, Google Cast, ADB, IDĂ SEN, and imported Home Assistant entities could be added to a graph; Finnish Meteorological Institute, Helen, Zigbee, Z-Wave, and every other integration were quietly missing from the picker entirely. Fixed with a new "Other integrations" search in the History page's own "add graph" dialog.
0.147.35 — 2026-08-19
The quick history popup (click an entity's name to see a chart) is now available on every integration's device page, not just Finnish Meteorological Institute, Helen, and ESPHome - all ~48 remaining integrations (Shelly, WLED, Tuya, Sonos, Zigbee, Z-Wave, and everything else) got it too, along with the same behind-the-scenes speedup those three already had.
0.147.34 — 2026-08-19
Fixed the entity history popup still being slow on a busy install with many devices - the bundled database's own cache was too small to keep up, so reads kept falling back to disk. Raised its default cache size (docker-compose.yml/.env). Note: this one needs you to update your own docker-compose.yml/.env from this release and recreate the mariadb container - an app image update alone won't apply it.
0.147.33 — 2026-08-19
Sped up the entity history popup further for high-frequency sensors - it now averages large amounts of data down to about 1000 points on the server before sending it to your browser, instead of sending every single raw reading first, cutting a wide time window's load time dramatically.
0.147.32 — 2026-08-19
Fixed native ESPHome devices sometimes recording duplicate history entries after reconnecting (weak WiFi, brief power loss) - a fast-updating sensor could end up with duplicates crowding out real readings, making its history graph appear to cover less time than requested and drift each time it was reopened. Also sped up and fixed the entity history popup for high-frequency sensors: it now always loads the full requested time window and smooths large amounts of data before charting, instead of the chart slowing to a crawl.
0.147.31 — 2026-08-19
Fixed the entity history popup being very slow the first time it's opened, especially on a phone - its chart library is now quietly fetched in the background as soon as the app is idle, instead of only being loaded the moment someone actually opens a popup.
0.147.30 — 2026-08-19
Fixed slow entity history loading for a device or account with several fast-updating sensors (e.g. a 5-second update interval) - almost every history table's own database index was missing the specific entity being looked up, forcing an unnecessarily slow search through every other entity's own readings first. Fixed across the whole app.
0.147.29 — 2026-08-19
History page graphs with several entities now always show one real Y axis with actual values, even when the entities have different units - no more hidden 0-100% scale for mismatched units.
0.147.28 — 2026-08-19
History page graphs with two or more entities sharing the same unit now show one real Y axis with actual values (auto-scaled to fit the data), instead of every line being squeezed into the same 0-100% range with no visible scale.
0.147.27 — 2026-08-19
The entity history popup's line chart no longer fills the area under the line - just a plain line.
0.147.26 — 2026-08-19
The entity history popup now draws a smooth line chart instead of a stepped one, matching a sensor's own continuously-varying reading better.
0.147.25 — 2026-08-19
Click any entity's name to see a quick history popup - current value plus a 24h/7d/30d chart, right from the device page, no need to add it to a Dashboard first. Live now on the ESPHome, Finnish Meteorological Institute, and Helen pages, with the rest following.
0.147.24 — 2026-08-19
Helen: backfill up to a year of consumption history - the account's Consumption card menu now has a "Backfill history" action, pulling daily consumption straight from Helen for however far back you pick and adding it to your history/charts.
0.147.23 — 2026-08-19
Fixed the actual cause of Helen's "422 Unprocessable Entity" error: Athena now requests consumption data for whole calendar days, matching what Helen's own API expects, instead of a request Helen was silently rejecting.
0.147.22 — 2026-08-19
Fixed Helen login failing with "422 Unprocessable Entity" - adding a Helen account no longer aborts if the very first consumption reading right after login fails; the account is still added and its sensors pick up automatically on Helen's own next scheduled check.
0.147.21 — 2026-08-19
Fixed Helen login failing with an unmarshal error - Helen's own API started sending one internal field in a different shape than before on some accounts.
0.147.20 — 2026-08-19
Fixed a voice satellite (like the ESPHome voice assistant devices) sometimes getting stuck in listening mode with no response, until it eventually gave up on its own - caused by Athena's own connection health check misreading a device that was simply busy streaming microphone audio as disconnected.
0.147.19 — 2026-08-19
The Finnish Meteorological Institute's radar defaults to a much more localized view (±30 km) instead of the previous wide ~220 km one, and gained an area-distance selector (10 to 250 km) so you can zoom in or out. Also fixed the radar not showing up correctly when added to a Dashboard.
0.147.18 — 2026-08-19
The Finnish Meteorological Institute's radar now shows a real street map underneath - place names, roads, and region borders - instead of plain gray terrain with no labels, using OpenStreetMap.
0.147.17 — 2026-08-19
The Finnish Meteorological Institute's hourly forecast is now a horizontal, scrollable strip (hours run left to right) instead of a tall list, and its day picker looks like the rest of the app's own tab controls instead of a plain dropdown.
0.147.16 — 2026-08-19
The Finnish Meteorological Institute's radar is now animated - a marker shows exactly where it's centered, a color legend explains the colors, and you can play/pause the last hour or scrub through it with a slider, just like on FMI's own website. The radar can now be added to a Dashboard as its own card too. Adding a new location can also be done by searching for a place name instead of typing coordinates by hand.
0.147.15 — 2026-08-19
The Finnish Meteorological Institute's hourly forecast table now scrolls sideways instead of squeezing unreadably narrow, and each row shows a small weather icon (sun, cloud, rain, snow, ...) instead of a raw numeric code.
0.147.14 — 2026-08-19
The FMI weather integration is now called Finnish Meteorological Institute, and reports a lot more: wind gusts, dew point, snow depth, and precipitation intensity alongside current conditions; feels-like, UV index, and visibility added to the 5-day forecast; a new hourly forecast you can browse day by day; air quality (CO, NO2, O3, SO2, and particulates); lightning strike alerts; sea level and water temperature for coastal locations; and a live weather radar image.
0.147.13 — 2026-08-19
Google Drive is now its own integration under Devices & Services, not just a Backup & Restore option - connect it once and see how much space is available, how much you're using, and how much your backups take up, right on its own page. Each Athena install gets its own separate folder in your Drive, so connecting the same Google account from more than one Athena doesn't mix their backups together. Google Cast and Google Drive now also share one entry when adding a new integration, so it's easier to find either one.
0.147.12 — 2026-08-19
Added two new integrations. Google Drive can now be used as a Backup & Restore destination, connected through a standard Google sign-in screen - Athena only ever manages its own dedicated backup folder, nothing else in your Drive. Helen electricity customers can now connect their Oma Helen account to see their own electricity consumption (today, yesterday, and this month) right on their Athena dashboard.
0.147.11 — 2026-08-18
Fixed a connected ESPHome device sometimes showing as permanently offline after sitting idle for a few minutes, with no automatic recovery short of removing and re-adding it. Also improved voice satellite reliability: a wake word that never finished streaming audio no longer leaves the satellite stuck listening forever, its log messages now show the device's actual name, and a device's name/friendly name now displays correctly even when set via a substitution variable in its configuration.
0.147.10 — 2026-08-18
Fixed USB firmware flashing getting stuck on a "Connecting" spinner forever after a failed flash, with no way to close the dialog and try again - clicking "Back" now actually recovers instead of hanging.
0.147.9 — 2026-08-18
Fixed device settings like "Wake word sensitivity" showing as a plain, unstyled dropdown that looked out of place next to the new Wake word picker on the same page.
0.147.8 — 2026-08-18
Added a "Wake word" card to the Connected Device page for voice-capable devices, showing the device's own available wake words and letting you choose which are active - the same setting Home Assistant's own device page offers. This also fixes a bug where the device's reply to this exact request was silently dropped, so Athena could ask but never actually learn the answer.
0.147.7 — 2026-08-18
Added Play/Pause/Stop/Mute buttons and a volume slider for media player devices (like a RaspiAudio Muse Luxe) on the Connected Device page - it previously only showed the current playback state as plain text with no way to control it there, unlike Home Assistant's own media player card for the same device.
0.147.6 — 2026-08-18
Fixed the Devices list not showing a "Voice assistant" badge for voice-capable devices (like Home Assistant Voice Preview Edition) - only the Bluetooth proxy badge was ever shown there, even though the device detail page already displayed voice-assistant capability correctly.
0.147.5 — 2026-08-18
Fixed the previous release's "Generate & set key automatically" always reporting that the device rejected the new key, regardless of the device - the generated key wasn't encoded the way the device expected before being sent. Works correctly now.
0.147.4 — 2026-08-18
Added a "Generate & set key automatically" option to the Connect modal for devices that don't have an API encryption key configured yet (some devices, like Home Assistant Voice Preview Edition, are designed to get their key from Home Assistant on first contact rather than shipping with one built in) - Athena can now generate and hand the device a key itself, then remember it for next time.
0.147.3 — 2026-08-18
Fixed "Show API key" and the Devices section's auto-fill-on-discovery connect form not finding the encryption key for the same kind of split ESPHome configs the last three releases fixed for Platform/Board/Friendly name - the key is now found even when it's only declared in an included shared file rather than the device's own.
0.147.2 — 2026-08-18
Fixed the Devices list's Friendly name column showing blank for the same kind of split ESPHome configs the last two releases fixed for Platform/Board - the friendly name is now found even when it's only declared in an included shared file rather than the device's own.
0.147.1 — 2026-08-18
Fixed a follow-up to the previous release's USB flashing fix: configs split across more than one level of shared files (a file that itself includes another file in the same subfolder) still weren't found correctly - now handled properly, confirmed against a real Home Assistant Voice Preview Edition setup.
0.147.0 — 2026-08-18
Fixed browser USB flashing falsely reporting "not supported for this platform" for devices whose board is defined in a separate shared config file rather than the device's own file (a common setup for similar devices sharing one configuration, such as Home Assistant Voice Preview Edition) - the board is now found correctly and USB flashing works as expected. The Devices list's Platform and Board columns are also filled in correctly for these devices now.
0.146.0 — 2026-08-18
Integration device cards now use a three-dot menu, like the ESPHome builder's own Devices tab - every card view added last release moves its Enable/Disable and Delete buttons off the card's lower row into a bottom-right three-dot menu instead of showing them inline. Where a device has a notable characteristic (e.g. a Connected Devices card with the ESPHome Bluetooth proxy feature enabled), that now shows as a small badge on the card's lower-left instead.
0.145.0 — 2026-08-18
The card view/list view toggle from the ESPHome builder's Devices tab is now everywhere - Dashboards and every integration's own device list (Sonos, Denon, Tuya, Shelly, WLED, Aqara, Zigbee, Z-Wave, Matter, deCONZ, Plex, Portainer, Proxmox, weather/location sources, and more) offer the same card view alongside their existing list view, toggled top-right, with one unified search field instead of the old per-column filter row and, where relevant, a small filter-icon menu for Online/Offline (or Enabled/Disabled).
0.144.1 — 2026-08-18
Renamed "Delete device" (ESPHome builder card menu) and the generic red-x "Remove" row action to just "Delete" across every list-view management page (Dashboards, Devices & Services, ESPHome builder, and more), for consistent wording.
0.144.0 — 2026-08-18
The ESPHome builder's device cards got a full three-dot menu overhaul (opening to the right now) - Validate, Compile, Install, Show API key, Download YAML, Edit friendly name, Rename hostname, Duplicate, Download, Archive, and Delete. Install picks USB (auto-compiles, then a one-click browser flash - shown disabled with a reason outside HTTPS/localhost) or network OTA. The card view's search box and Online/Offline filters also got a visual refresh to match the rest of the app, with Online/Offline moved into a small filter-icon menu next to the card/list toggle.
0.143.0 — 2026-08-18
The ESPHome builder's Devices tab has a new card view, now the default - a card per device (friendly name, file name, status, then Edit/Logs/a three-dot menu with Validate/Compile/Flash/Archive/Delete) alongside the existing list view, toggled top-right. The old four per-column search boxes became one search field that matches name/friendly name/platform/board together while typing.
0.142.0 — 2026-08-18
Added a "Logs" button to the ESPHome builder's device YAML screen, alongside Save/Validate/Compile/Flash - streams that device's own live log output straight from the ESPHome dashboard.
0.141.0 — 2026-08-18
The Logs page can now download log files - "Download full log" saves the complete file on disk, while "Download selected range" exports just a chosen time window (with the current severity/component/search filters applied) as its own text file.
0.140.0 — 2026-08-18
Added a Logs page (Configuration -> Logs, admins only) - browse Athena's own recent log activity right in the app, with filters for severity, component, and free-text search, and an auto-refreshing view. No more needing to run docker logs just to check whether something's working.
0.139.0 — 2026-08-17
Every integration with a background reconnect loop (Sonos, Denon, MQTT, Zigbee, Z-Wave, Matter, deCONZ, Aqara, Shelly, Tuya, and many more) now logs its own connection failures instead of retrying silently forever - much easier to see why a device isn't coming online. MQTT also now logs broker connect/disconnect.
0.138.0 — 2026-08-17
Athena's own server log now looks like ESPHome's own device log - every line shows a millisecond timestamp, a severity level, and which part of Athena it came from, making it much easier to read when diagnosing an issue via docker logs.
0.137.0 — 2026-08-17
Fixed the real cause of a voice satellite getting stuck listening forever: reconnecting after a WiFi drop mid-conversation (common on a device with a weak signal) silently left the device no longer linked to Athena as its voice assistant host, even though it looked reconnected - every wake word after that just spun with nothing happening. Athena now properly re-establishes that link on every reconnect.
0.136.0 — 2026-08-17
Fixed a voice-satellite bug where an unreachable or hung Chat server could leave the satellite's own listening/processing indicator spinning forever with no error - one voice turn is now capped at 5 minutes, after which it fails cleanly instead of hanging indefinitely.
0.135.0 — 2026-08-17
Fixed a voice-satellite bug where the wake word chime would play but the device's own "listening" indicator never followed, even though it was genuinely recording - Athena now tells the device listening has begun the instant it starts accepting audio instead of only after the whole recording already finished.
0.134.0 — 2026-08-17
Fixed a voice-satellite bug where cancelling a wake word (a double wake word, a timeout, backing out) could leave the satellite permanently unable to start a new conversation - it would show its listening/processing indicator and then just never respond, until it happened to reconnect on its own. Saying the wake word now always starts a fresh attempt.
0.133.0 — 2026-08-17
Internal diagnostics improvement: a voice-satellite device that can't start a conversation now always leaves a clear reason in Athena's own log, instead of sometimes leaving nothing at all - no user-visible change, but makes tracking down a silently failing satellite much easier.
0.132.0 — 2026-08-17
Removed the three "Auto-discovery with LlamaNexus" checkboxes from the AI Assistant's Chat/Speech to text/Text to speech settings - auto-discovery is now always active whenever a role's Server URL is left blank, so there's nothing extra to turn on. A manually entered Server URL still always takes priority when set.
0.131.0 — 2026-08-17
Fixed the AI Assistant's chat page: picking a discovered LlamaNexus server from the left sidebar for Text to speech or Speech to text (with no manual Server URL configured) now actually works, instead of silently failing. The composer's own model list also now correctly reflects whichever server is picked in the sidebar rather than showing "No models found".
0.130.0 — 2026-08-17
ESPHome speakers can now work as real media players - a device's own media_player entity supports play/pause/stop, mute, and volume, and can be added as a Media player alongside Sonos, Denon and the rest. An Area's own "announce responses via" setting now actually plays a voice-satellite reply through that speaker too. Voice-satellite requests are also now room-aware, so "turn on the light" with no room named defaults to the room the satellite itself is in.
0.129.0 — 2026-08-17
The AI Assistant's tokens/sec figure now reflects the model server's own real generation count instead of a rough estimate, so it reads accurately. ESPHome voice-satellite devices (such as Home Assistant Voice Preview Edition) also now receive the same wake-word handshake real Home Assistant sends on connect, which should help a device correctly show itself as connected.
0.128.0 — 2026-08-17
Fixed a reliability issue where a busy household with several ESPHome devices could start silently missing live sensor/state updates the longer Athena had been running, especially with History retention turned on. Data pruning now happens on its own periodic background schedule instead of on every single incoming update, so a large amount of device traffic can no longer back up and cause updates to be dropped.
0.127.0 — 2026-08-17
Added support for ESPHome voice-satellite hardware, such as the Home Assistant Voice Preview Edition. Pair one as a regular device, assign it to a room with the AI Assistant enabled, and its wake word or button now starts a real voice conversation - your question is transcribed, answered with full control over your devices, and spoken back through the satellite itself, all saved to your Assistant chat history like any other conversation.
0.126.0 — 2026-08-17
Added Theme, Font, and accent color settings to Account -> UI settings. Choose between "Frozen" (the original look) and "Athena", a gold-on-navy palette matching this website - right down to its wordmark typography once selected. Pick a font (System or Serif), and optionally set your own accent color for light and dark mode.
0.125.0 — 2026-08-17
Sidebar's "+ Add to sidebar" is now "Settings", with a cogwheel icon matching the sidebar's other icons. The same modal (now titled "Sidebar settings") is grouped into "Built-in" (AI Assistant, Automations) and "Integrations" sections. AI Assistant was previously a permanent, unremovable sidebar item - it's pinnable/removable now like everything else, defaulting to pinned so existing installs see no change.
0.124.0 — 2026-08-17
Added per-priority mute checkboxes to Notify settings - each of ntfy's five priority levels (min/low/default/high/urgent) can be individually unchecked, all checked by default. An unchecked level is silently muted at send time - a "Notify" automation action using it just does nothing, no error in Run History, so a "quiet hours for low-priority stuff" setup doesn't need to touch individual automations.
0.123.0 — 2026-08-17
Notify starts unadded, like every other integration, hidden from Devices & Services until explicitly added (saving on its own page adds it, even though the ntfy server URL itself already defaults to the public https://ntfy.sh). A new "Delete" action in its own page header removes it again, after which "Notify" automation actions fail with a clear error until it's re-added.
0.122.0 — 2026-08-17
Notify is now a Devices & Services integration instead of a Configuration -> System settings card, with its own page (server URL + test notification). The ntfy server URL also now defaults to the free public https://ntfy.sh whenever nothing's been explicitly saved, so the "Notify" automation action works with zero setup unless you're self-hosting ntfy.
0.121.0 — 2026-08-17
Added push notifications via ntfy - a new Notifications settings card (Configuration -> System) holds your ntfy server URL with a "send test notification" button, and a new "Notify" automation action node (topic/title/message/priority) sends real push notifications to your phone through it.
0.120.0 — 2026-08-16
Added a Sun integration - solar elevation/azimuth, above/below horizon, and next sunrise/sunset for a configured latitude/longitude, computed locally with no network calls and refreshed every 30 seconds, available on the Dashboard and in Automations.
0.119.0 — 2026-08-16
Added a Sensirion BLE integration for passive gadget sensors (SHT3x/SHT4x temperature+humidity, and the MyCO2 CO2 gadget) - no pairing required. Z-Wave shutters/blinds now render as a real position slider instead of a generic number. Added a Sensibo integration to control cloud-connected WiFi/IR AC units (power, mode, target temperature, fan level) from the Dashboard and Automations, with a new real thermostat-style control card - the first fully controllable climate UI in Athena.
0.118.0 — 2026-08-16
Added a Google Cast (Chromecast) integration - discover, connect to, and control Chromecast devices (app/status, volume, mute, play/stop, cast a URL) with live state updates. Added an Android Debug Bridge (ADB) integration to control Android TV / Android devices directly over the raw ADB protocol (power state, current app, D-pad/home/back/play-pause), added by address:port. Added Apollo Automation device templates to the ESPHome builder's "Add device" flow (AIR-1, MSR-1, MSR-2, BTN-1, H-3, CAST-1). deCONZ is now its own integration, separate from Zigbee, with its own gateways/devices and dashboard/automation wiring - Zigbee itself is unaffected.
0.117.0 — 2026-08-16
Fixed the AI Assistant dashboard card's composer appearing vertically centered when the card ends up taller than its content (e.g. sharing a grid row with a taller card) - the transcript now scrolls within a fixed card height and the composer stays pinned to the bottom. Also fixed the Statistics card's "Starting from" field disappearing when "Anchor" is set to Ongoing - it now stays visible, just disabled.
0.116.0 — 2026-08-15
The AI Assistant dashboard card gained a "Clear chat" button and its conversation now persists across page navigation/reload. Also fixed the composer not clearing after sending, the just-sent message briefly flashing then disappearing before a reply arrives, and the card growing taller with every message instead of scrolling within a fixed height. Also removed the Statistics dashboard card's redundant entity-name subtitle, already shown in the card's own title and, in bar mode, the chart legend.
0.115.0 — 2026-08-15
Statistics dashboard cards gained an "Anchor" option: Ongoing or Fixed. Fixed is the existing behavior (buckets march forward from a chosen start date). Ongoing instead anchors to "now" and works backward, so the last bucket is always the period currently in progress and slides forward as time passes - e.g. "every 3 hours" always ends with the current hour plus the two before it.
0.114.0 — 2026-08-15
The Dashboard's "AI Assistant" card now uses the exact same composer as the /assistant page - file/image attachments, "/" slash commands, mic, model selector with Hugging Face search, and a stop-generating button - talking to its chat session over the same live connection the full page uses. Statistics dashboard cards can now show as a bar chart instead of a plain period/value list, via a new "Show as" option, and the aggregation options were renamed to "Consumption" and "Average".
0.113.0 — 2026-08-15
"Import from Home Assistant" moved into Backup & Restore as a new "Import/Export" tab (Configuration -> Backup & Restore -> Import/Export), replacing its former standalone Configuration page entry. Also reworded the "Devices & Services" card's description to "Integrations, devices and entities".
0.112.0 — 2026-08-15
A placeholder entity created via Import from Home Assistant can now be used just like any other entity: pick it directly on a Dashboard card (Tile, Entities, Gauge, Chart, or Statistics), in the Automation editor, or as a source in a History page graph - showing its imported value and full history without needing to merge it into a real device or MQTT entity first.
0.111.0 — 2026-08-15
Added a new "Statistics" Dashboard card type: buckets one numeric entity's history into consecutive periods - every N hours/days/weeks/months/years, starting from a chosen date/time - and reduces each period to either a delta (last reading minus first, for a running-total sensor like a kWh/mÂł meter - consumption/production) or an average/mean, shown as a compact period/value list. Also, "+ Add card" now opens a visual gallery of every card type instead of a plain dropdown, the analog clock card gained a "Show date" toggle, and several page-header menu items were renamed to match the app's own "+ Add X" convention (New dashboard, Add location, New automation, Add device, New user).
0.110.0 — 2026-08-15
Added a new "Plugin" Dashboard card type: an admin can register their own JavaScript custom card for anything the built-in or Custom card types can't express. Manage plugins from Configuration -> Dashboards -> "Card plugins"; creating or editing one is admin-only since it's genuinely arbitrary code running with full page access for every viewer, while any signed-in user can still view a dashboard that already has one. Also fixed a bug where restoring a backup taken on one database engine (MariaDB or PostgreSQL) into an install running the other could fail on the Automations table.
0.109.0 — 2026-08-15
Added a new "Custom" Dashboard card type: assemble your own layout from small elements (text, value, icon, gauge, progress bar, sparkline, toggle, button, image, divider, spacer) instead of being limited to the built-in card types, then optionally save the design as a reusable template for other dashboards. Also fixed 38 integration pages (plus every tab inside the Devices/Shelly/HomeWizard/Backup & Restore tab-bar pages) showing a blank header title, renamed the Backup & Restore section's "Restore" tab to "Backup & Restore" to match what it actually holds, and made tab bars scroll horizontally on a narrow screen instead of overflowing the page.
0.108.0 — 2026-08-15
Devices & Services card stat lines (e.g. "1 device connected") now line up on the same baseline across every card, regardless of whether that card's own title wraps onto one or two lines. Also, "+ Add to sidebar" now only lists integrations that are actually configured, matching Devices & Services' own "+ Add integration" picker.
0.107.0 — 2026-08-15
Edit mode is now clearly visible: the sidebar shows a persistent accent border plus a "drag to reorder" hint while editing, and Devices & Services shows a banner at the top of the page - both used to only be signaled by a small icon or menu label that was easy to miss. Also fixed Devices & Services cards not all being the same height when one card's title wrapped onto two lines.
0.106.0 — 2026-08-15
Added an edit mode for the sidebar and Devices & Services: a new cog icon in the sidebar lets you drag pinned integrations into a new order or remove them, and Devices & Services gets the same reordering via a new "Edit mode" item in its own menu. Both orders are personal to each account, not shared with other users.
0.105.0 — 2026-08-15
You can now pin any integration to the sidebar for one-click access, instead of navigating through Configuration -> Devices & Services every time - a new "+ Add to sidebar" row opens a searchable picker. Also renamed the "ESPHome Dashboard" integration to "ESPHome builder" so it no longer reads like a duplicate of the "ESPHome" live-devices tile right next to it.
0.104.0 — 2026-08-15
"ESPHome Dashboard" (compile/validate/flash + YAML config management) is now an opt-in integration on Devices & Services, hidden until a Dashboard URL is actually configured - not an always-visible sidebar item anymore. Its settings moved there too, into the integration's own "Settings" menu item.
0.103.0 — 2026-08-15
Fixed the sidebar's own top row shrinking by a few pixels when collapsing to the icon-only rail - it now stays a fixed height in both states.
0.102.0 — 2026-08-15
Sidebar polish: the brand/toggle row at the top is now its own clearly separated section instead of blending into the navigation list below it, the navigation icons are about 30% bigger for easier tapping, and the collapsed icon-only rail is narrower - sized to actually fit the icons instead of leaving noticeable empty space either side.
0.101.0 — 2026-08-15
Mobile now shows a single header bar instead of two stacked ones. Every page used to show a separate hamburger+"Athena" row above its own title bar - now there's just one: a top-level page shows the sidebar toggle next to its title, and a subview shows its usual back arrow, freeing up extra vertical space on every page.
0.100.0 — 2026-08-15
Added a new "Date & Time" Dashboard card - a live clock, not tied to any device, in digital or analog style, showing the date and time together, time only, or date only. Athena also now keeps ESPHome devices' own clocks in sync continuously - useful for a LAN-only device with no internet route for its own NTP client.
0.99.0 — 2026-08-14
The AI Assistant now always looks up the current date/time fresh instead of reusing a snapshot from the start of its response, so a long "thinking" pause no longer risks a slightly stale answer. Automation "Time Trigger" nodes (Daily at a time) now use the Region settings card's own Timezone too, so "8:00 PM" always means the same thing everywhere in the app.
0.98.0 — 2026-08-14
Fixed the Region settings card's own Timezone not actually taking effect - the app's Docker image had no timezone database installed at all, so any configured zone silently fell back to plain UTC. The timezone database is now built directly into the app, so this no longer depends on what happens to be installed on the server.
0.97.0 — 2026-08-14
The AI Assistant now knows the current date and time on every chat turn and every automation run, not just once when a conversation starts. Backed by a new Region settings card (Timezone, Unit system, Currency, Country) - moved from the Account page to Configuration -> System, since it's one shared setting for the whole install rather than a personal preference. Set your real timezone there for accurate local time.
0.96.0 — 2026-08-14
The AI Assistant chat page's composer now has a "+" attach button for adding files to a message: text and code files are added as context automatically, PDFs have their text extracted, and images are sent to the model as a visual attachment for that reply.
0.95.0 — 2026-08-14
On desktop, the AI Assistant chat page's conversation list and Controls sidebar are back to pushing the chat area over when opened instead of floating on top of it and covering part of the conversation - that floating behavior is now only used on phone-sized screens, where there isn't room to push.
0.94.0 — 2026-08-14
Fixed the AI Assistant chat page's model picker not opening at all on some layouts, and narrowed a remaining gap between the chat area and composer widths. The composer now sits flush against the bottom of the screen and the message box starts a bit taller.
0.93.0 — 2026-08-14
Fixed the AI Assistant chat page's conversation list and Controls sidebar closing immediately on any click inside them, and the model picker crowding the send button off the edge of the screen on narrow phones. The chat area and composer are now the same width, and composer buttons are a bit bigger.
0.92.0 — 2026-08-14
Fixed the AI Assistant chat page rendering larger than the screen, causing extra scrolling both down and sideways. The conversation list and Controls sidebar now float above the chat as toggle buttons pinned to the top corners instead of squeezing the chat area, and the message composer stays full width at the bottom.
0.91.0 — 2026-08-14
Presence detection is now its own integration on Devices & Services, replacing the old per-Area "+ Add presence source" flow. A flat, searchable list shows every manually-attached presence source across all Areas (source, device, entity, location, area, status) with enable/disable and remove, matching how other integrations work.
0.90.0 — 2026-08-14
Areas can now have extra presence sources manually attached from any integration, not just the five built-in ones - so e.g. an ESPHome LD2410/LD2411/LD2412 presence sensor can also count toward a room's occupancy. Configured from an Area's own AI Assistant settings, using the same device/entity picker Automations already use.
0.89.0 — 2026-08-14
Fixed ESPHome devices frequently dropping their connection and showing offline in Athena while staying online continuously in other tools. Root causes: saving each state update to the database was blocking that device's own connection, there was no timeout to catch a connection that silently stopped responding, and a disconnect happened with no log message anywhere to explain why.
0.88.0 — 2026-08-14
Added a new Region card to the Account page - Timezone, Unit system, Currency, and Country - and moved Language there too. The old font-size/decimal-accuracy card is now called "UI settings".
0.87.1 — 2026-08-14
Fixed Devices & Services showing a device's own sensor readings with too many decimal places (e.g. an ESPHome temperature sensor's raw 21.299999237060547 instead of 21.3) - it now rounds to the same precision the Dashboard already did for the same entity.
0.87.0 — 2026-08-14
Fixed AI Assistant chat page sensor/device search not finding results reliably when chatting in a language other than the one your rooms/devices are named in (e.g. asking in Finnish about rooms named in English). The search now knows the real, current list of room names so it can match them exactly instead of the model having to guess a translation.
0.86.0 — 2026-08-14
Fixed three AI Assistant chat page bugs: the context usage bar now shows up even for models without an explicit context-size override (falls back to the model's trained context length instead of staying hidden), the composer no longer gets stuck showing "generating" after a reply has actually already finished (can happen after a brief connection drop mid-response), and the "Thinking" section now shows up for more reasoning models/servers that leave their <think> markup inline in the reply instead of a separate field.
0.85.0 — 2026-08-14
Speech to text now has a Language field - pick Finnish (or any of the 99 languages Whisper supports) instead of Auto-detect for more reliable transcription. Only takes effect with a multilingual model (one without an ".en" suffix in its filename) - an English-only model ignores it and keeps transcribing as English regardless, so switch models first if you're currently on one.
0.84.0 — 2026-08-14
Fixed the AI Assistant chat page rendering badly on mobile. The conversation list on the left is now collapsible, the same way the Controls sidebar on the right already was, and on a phone-sized screen opening either one now floats it above the chat instead of squeezing the conversation down to an unusable sliver.
0.83.0 — 2026-08-14
Fixed a bug where picking a discovered LlamaNexus server in the AI Assistant chat page's sidebar didn't actually get used for the chat request if a manual Server URL was also configured. The discovered-server list is now three collapsible sections - Chat, Speech to text, and Text to speech - each independently selectable, plus a per-session toggle to send delegated sub-tasks to a different server than the one used for chat.
0.82.1 — 2026-08-14
AI Assistant chat page: response stats now sit right next to the Read aloud/Copy buttons instead of on their own line below them.
0.82.0 — 2026-08-13
The Speech to text Model field now has a "Search Hugging Face for modelsâŠ" option too, matching Chat and Voice. Both Chat and Speech to text Model pickers now also show a loaded indicator per model, and Chat's picker gained an Eject action for currently-loaded models.
0.81.1 — 2026-08-13
Fixed the Model and Voice pickers in AI Assistant settings: they now open as a clean list of every available option below the field, instead of a cramped browser suggestion box that used to only show your currently selected value until you cleared the field. The Chat card's Model field also gained a "Search Hugging Face for modelsâŠ" option, same as the main chat page already has.
0.81.0 — 2026-08-13
The Text to speech Voice field is now a searchable picker instead of a bare text box: "Refresh voices" lists Piper voices already downloaded on your server, and "Search Hugging Face for voicesâŠ" lets you search all 173 official Piper voices by id, speaker name, or language. Picking a new voice needs no separate download step - it downloads automatically the next time it's used.
0.80.0 — 2026-08-13
AI Assistant settings are now split into independent cards (Discovery, Chat, Speech to text, Text to speech, Chat page tools, Default system prompt), each with its own Save button. The Discovery card can now pick a Chat/STT/TTS server straight from whatever's currently broadcasting on the LAN. Text to speech no longer has a Model field, since it never actually did anything on self-hosted Piper-backed servers.
0.79.0 — 2026-08-13
Added a Matter integration - connect Athena to an already-running matter-server instance to read and control devices already commissioned onto your Matter fabric: on/off switches, brightness, temperature, humidity, occupancy, and more, working with Dashboard cards and Automations exactly like every other integration. Devices are added by picking them from a live node list, the same way Z-Wave devices already are.
0.78.0 — 2026-08-13
Added a Portainer integration - connect a server with its address and your own Portainer API key to see and control your Docker containers: status and container-count for each managed endpoint, plus start/stop and restart for every container, working with Dashboard cards, History, and Automations exactly like every other integration.
0.77.0 — 2026-08-13
Added a Plex Media Server integration - connect a server with just its address and your Plex token to see what's playing right now: server version, active-stream count, and per-session details (title, user, device, playback state, progress) with play/pause and stop control, working with Dashboard cards, History, and Automations exactly like every other integration.
0.76.0 — 2026-08-13
The AI Assistant can now look up live device/sensor state - ask things like "what's the temperature in the bedroom" or "is the front door open" and get a real answer. It searches across every integration's own entities, not just one, and matches room names loosely (e.g. "bedroom" matches "Bedroom 1"). Read-only, so no confirmation prompt is needed to use it.
0.75.0 — 2026-08-13
Added the Finnish Meteorological Institute (FMI) Open Data weather integration - a fourth weather integration alongside OpenWeatherMap, Met.no, and AccuWeather. Add a location by latitude/longitude - no API key needed. Current conditions come from the nearest real weather station's own live observations, plus a 5-day forecast, working with Dashboard cards, History, and Automations exactly like every other integration.
0.74.0 — 2026-08-13
Added the AccuWeather integration - the third and last of the planned weather integrations. Add a location by latitude/longitude and your own AccuWeather API key to get current conditions and a 5-day forecast (including a real precipitation probability) as sensors, working with Dashboard cards, History, and Automations exactly like every other integration.
0.73.0 — 2026-08-13
Added the Met.no integration - the second of three planned weather integrations. Add a location by latitude/longitude - no API key needed, just current conditions and a 5-day forecast as sensors, working with Dashboard cards, History, and Automations exactly like every other integration.
0.72.0 — 2026-08-13
Added the OpenWeatherMap integration - the first of three planned weather integrations. Add a location by latitude/longitude and your own OpenWeatherMap API key to get current conditions (temperature, humidity, pressure, wind, and more) and a 5-day forecast as sensors, working with Dashboard cards, History, and Automations exactly like every other integration.
0.71.0 — 2026-08-13
"Speak responses" now starts talking well before the full reply has finished generating - completed sentences are queued and spoken in order as the response streams in, instead of waiting for the whole thing. Pressing Stop (or leaving the conversation) now actually silences it immediately too, including any speech already queued or in flight.
0.70.0 — 2026-08-13
Fixed AI Assistant streaming replies occasionally arriving in large, bursty chunks instead of smoothly - the streaming request no longer negotiates HTTP compression, which was forcing the server's response to be buffered before Athena could see it.
0.69.0 — 2026-08-13
The AI Assistant now remembers the last model you picked as the starting point for every new conversation, not just the one it was picked in. Also fixes the model selector's default-model label, browser autofill hijacking the model/API-key fields, and the context usage bar not updating until a reply arrived; "Delete conversation" now uses Athena's own styled confirm dialog instead of the browser's native popup.
0.68.0 — 2026-08-13
Fixed AI Assistant voice recording (push-to-talk) not actually transcribing - the browser's raw WebM/Opus recording is now decoded and re-encoded to plain 16kHz mono WAV before being sent to the speech-to-text server, which couldn't read the original format.
0.67.0 — 2026-08-13
Added a HomeWizard integration covering the Energy Socket, P1 Meter, kWh Meter, and Watermeter over HomeWizard's local API, with optional v2 pairing that also unlocks the Plug-In Battery. Works the same as every other integration for Dashboard cards, history, and automations.
0.66.0 — 2026-08-12
Clicking the "New update available" notification now opens a card with the new version's own changelog summary instead of just dismissing the notification - it stays until the card is closed. Athena's website also gained a dedicated Changelog page, fed from the same small JSON file the app itself now reads for these summaries.
0.65.0 — 2026-08-12
Added a Disable/Enable button next to Remove on every integration's device list. Disabling a device pauses it - it stops polling or listening, and stops updating Dashboard cards, History, Automations, and Area occupancy - without deleting its row, its configuration, or its history. Re-enabling reconnects it exactly as it was.
0.64.0 — 2026-08-12
Added a dedicated Z-Wave integration, mirroring Zigbee's gateway/end-device shape and talking to zwave-js-server. Command classes are auto-mapped to entity domains with no manual per-device setup: switches, dimmers, door locks, motion/binary sensors (feeding Area occupancy automatically), and numeric sensors are all recognized out of the box, with every other command class still exposed as a generic read-only sensor.
0.63.0 — 2026-08-12
Added room-level BLE presence tracking. A tracked Bluetooth device now shows which Area it's currently closest to, resolved by comparing signal strength across every ESPHome Bluetooth-proxy device hearing it. Area occupancy now prefers this live, proxy-resolved room over a device's static Area assignment when proxy coverage exists, so automations can react to which room someone or something actually is in.
0.62.0 — 2026-08-12
The AI Assistant chat page now shows who sent each message and when, adds copy and read-aloud buttons plus a token/timing stats line under every response, and keeps reasoning text, the selected model, and the selected server across a full backend restart instead of just a page refresh. "Speak responses" now survives navigation too.
0.61.0 — 2026-08-12
LlamaNexus auto-discovery now works reliably when Athena and LlamaNexus run on the same host. The AI Assistant page's server list was redesigned to match LlamaNexus-WebUI, a session's server/model selection now survives navigating away or reconnecting, and an in-flight reply no longer aborts just because you left the page.