11 KiB
11 KiB
Changelog
All notable changes to this project are documented here. The format is based on Keep a Changelog.
[2.2.6] - 2026-06-25
Fixed
- Neon watchface: temperature degree sign showed as
º(double-encoded in source); now renders°like Classic.
2.2.5 - 2026-06-19
Added
- New Knobuss game (optional carousel screen, a knob-steered tube shooter): your ship orbits the rim, you auto-fire inward, foes spiral out from a black-hole core. Turn the knob to aim; every foe that reaches the rim costs a life and bursts in an animated explosion. The ship is a pixel fighter pre-rotated into 16 frames so it always points inward, foes are glowing orbs, a rushing starfield + concentric rings give a cheap 3D-depth tube, and the menu has a "Knobuss" title screen. 3 lives, top-10 scores. Add it to your
screen_orderasknobuss(gyrussalso works). (Art: Lunar Lander pack by Matt Walkden, CC0; see assets/sprites/knobuss/CREDITS.txt.)
Fixed
- Cool Cars ran choppier than the other games: its per-tick position updates were 8 separate widget actions (now one batched lambda, like Snake/Knobuss), and it ticked at 12.5fps (now 20fps with speeds scaled to keep the same pace) - so the motion is much smoother.
2.2.4 - 2026-06-19
Changed
- Sensors screen: each glance now gets its own accent colour (icon + position dots).
- Added a faint depth ring to the Sensors, Home (Classic) and Weather screens for a consistent framed look.
2.2.3 - 2026-06-19
Changed
- Thermostat screen polished: the whole arc is now colour-coded by action (heating / cooling / idle / off), a white head-dot marks the target on the gauge, and a faint depth ring was added.
2.2.2 - 2026-06-19
Changed
- Timer screen redesigned: colour-coded depleting ring (green → amber → red) with a head-dot, SET / RUNNING / PAUSED status, and tile-styled buttons with a soft glow.
- Alarm screen redesigned: red scrim, a big pulsing bell, "TIME'S UP!" and a tap-to-stop hint.
Fixed
- Returning to the home screen after music stops/pauses keeps the selected watchface (was forced to Classic).
- The Minecraft watchface now shows the active-timer badge.
2.2.1 - 2026-06-19
Added
- Minecraft watchface - a blocky scene with a day/night cycle (sun by day, moon + stars by night), a textured grass/dirt ground, a pixel-font clock, and a heart bar for the battery. Optional, like the other faces.
Changed
- Watchfaces redraw the clock only when the minute changes (not every second), so they stay light; faces slide in by swipe direction instead of cross-fading.
Fixed
- Silenced the font "missing glyphs" warnings (pixel font uses an explicit glyph list; the Roboto faces use
ignore_missing_glyphs).
2.2.0 - 2026-06-19
Added
- Watchfaces - the home screen now has selectable looks. Classic is built in; enable the optional Neon face (big two-tone digits + neon rings) or copy the heavily-commented Demo template to build your own. Pick one in Settings → Home → Watchface with a live full-screen preview (knob switches, tap keeps).
Changed
- Settings: clearer names (Home screen, LED Ring, Voice Assistant, Show weather / Show climate, Screen auto-off) and the selected row is styled like the swipe-up control tiles.
- The rotary knob now wakes the screen from sleep, just like a tap.
2.1.6 - 2026-06-18
Changed
- Control tiles: the lit tile now has a soft amber glow, and tile names get a little letter spacing.
2.1.5 - 2026-06-18
Changed
- Weather screen redesigned: animated condition icons, colour-coded temperature, and a glow that slides to the selected day.
- Boot splash ring is now an azure comet instead of the rainbow.
Fixed
- LED ring no longer flashes a stray pixel during screen transitions (RMT now uses DMA).
2.1.4 - 2026-06-18
Added
- Snake 360 (optional carousel screen). Steer a 360-degree snake with the knob; eat fruit (up to 3 at once) to grow, avoid the ring, your tail and up to two skulls. Keeps a top-10.
Changed
- In games the knob only changes volume on the menu/scores/how-to screens; while playing and on game-over it steers (no accidental volume changes).
Fixed
- Clock could stay on UTC: the
timezonesubstitution now maps common IANA names (e.g.Europe/Warsaw) to the POSIX form the device needs. Use a POSIX string for unlisted zones.
2.1.3 - 2026-06-17
Added
- Boot splash. A short "HELLO!" greeting on startup (~5 s) with a spinning arc on the screen and the LED ring animating, then it cross-fades to the clock. Touch is ignored until it hands off.
- Hold to talk toggle (Settings -> Assistant). Press and hold anywhere on the screen to start the assistant; this can now be turned off (the wake word keeps working regardless).
Fixed
- Clock could show UTC (off by the timezone offset) after a restart until the next time sync. The device now re-applies its resolved timezone every second, so the clock never drifts to UTC.
- OTA updates could roll back to the previous firmware if the device was restarted shortly after flashing (on esp-idf the bootloader only keeps a new image once the boot is marked good). The image is now committed as soon as the boot splash finishes, and the safe-mode window is shortened.
2.1.2 - 2026-06-17
Changed
- Per-screen settings are now declared in each screen's own package via a generic Widgets options registry, so a screen is fully self-contained (its options, globals and reset logic live in its file). Adding a screen with settings no longer touches the core.
- The games' "Reset scores" is now under separate Cool Cars and Space Wars groups in Settings -> Widgets (previously a single "Games" group); each game owns its high scores.
2.1.1 - 2026-06-17
Added
- Sensors screen (optional). A glance of 1-6 configurable Home Assistant entities, shown
one at a time big and readable; turn the knob to cycle (slider dots show the position).
Pulls straight from HA (no helper), auto-skips unconfigured slots, and units with a micro
sign / superscripts are sanitized so they don't render as boxes. New
glanceN_entity/glanceN_name/glanceN_iconsubstitutions, plus the iconsair,plant,plex,serverandshield.
2.1.0 - 2026-06-17
Added
- Thermostat screen (optional). A round dial for a Home Assistant
climate.*entity: the knob sets the target temperature (committed ~0.6 s after you stop turning), tap toggles on/off, and the accent colour follows the action (heating / cooling / idle). Shows the current temperature, humidity and HVAC mode. Set it with theclimate_entitysubstitution. - Configurable wake word via a
wake_wordsubstitution (defaultalexa; built-in:okay_nabu,hey_jarvis,hey_mycroft).
2.0.0 - 2026-06-17
Modular screens release. The firmware is now split into an always-on core plus optional screen packages, and you keep a single thin config locally that pulls everything else from GitHub at compile time.
Added
- Modular screens. Optional carousel screens live as separate packages under
base/screens/. Pick which ones compile in via thefiles:list and set their left-to-right order with thescreen_ordersubstitution, all from one file. - Thin local config. The root
guition-va.yamlis the only firmware file you keep; it pullsbase/core.yamland the selectedbase/screens/*.yamlas a remote package. - Weather screen. Today plus a 7-day radial dial (Apple-Watch style); the knob highlights a day, the centre shows the day name, temperatures and condition. Includes a Celsius/Fahrenheit toggle and a Home Assistant helper sensor that feeds the forecast.
- Example "demo" screen. A small, heavily commented screen (TAP ME!) you can copy as a starting point for your own screen.
- Configurable control tiles. The swipe-up page is now four tiles, each with its own HA
entity, icon (chosen by name from a 20-icon set, repeatable) and label. Works on any HA
domain via
homeassistant.toggle. - Configurable clock timezone via a
timezonesubstitution (DST automatic).
Changed
- Repository layout. The core and screens moved into
base/; the root holds the thinguition-va.yamlyou copy and edit. - Settings menu. "Widgets" is now a per-screen group menu (Widgets -> Demo / Games / Weather), each opening that screen's own options. A separate "Home" submenu owns the home-screen widget toggles; "Display" keeps global brightness / night / screen-off. "System" is always last, and device Restart lives only inside it.
Fixed
- Clock showing UTC: the timezone is now set explicitly (the Home Assistant time platform does not sync the zone to the device).
- Control-tile icons rendering empty, and the "led" icon pointing at map-marker-outline
(now
led-strip). - Settings list collapsing "Restart" and "System" into one entry (a folded YAML newline).
- Demo LED ring staying lit on the home screen after a reboot.
1.0.0 - 2026-06-16
Added
- Initial release: ESPHome voice assistant for the Guition JC3636K718C round knob display. Clock, music player (album art + transport), timer, two games (Cool Cars, Space Wars), settings menu, WS2812 LED ring, on-device wake word and the Assist voice pipeline.
- Fonts, images and sounds fetched from GitHub at compile time (nothing to copy locally except the config and the partition table).