Releases
v5.0.0
Compare
Sorry, something went wrong.
No results found
5.0.0 (2026-08-18)
⚠ BREAKING CHANGES
The Homie MQTT protocol has been removed entirely. The controller now exclusively uses Home Assistant MQTT Discovery.
Features
add Home Assistant climate/thermostat MQTT entity (d5daeb9 )
add mDNS responder for pool-controller.local discovery (#95 ) (b1252e7 )
add Olimex ESP32-C6 local UI (#175 ) (2777cc9 )
calibration: guided NORVI button calibration wizard (#182 ) (c4fc499 )
change default MQTT protocol to HomeAssistant (5d4cad9 )
Cleanup and fixes (#72 ) (90d6e07 )
convert WebUI to Progressive Web App (PWA) (b2f05d1 )
display: action menu, wizard-cancel, and step indicator (b0d717d )
display: horizontal text scrolling for long strings (c7e03fb )
display: long-press progress bar and auto-return warning (9b49135 )
display: merge Aktionsmenü, Wizard-Cancel und Schritt-Indikator (#148 ) (4ac6cc2 )
display: merge Hint-Labels, Footer-Format und S1-Wrap (#147 ) (7264a33 )
display: merge Long-Press-Fortschrittsbalken und Auto-Return-Warnung (#149 ) (bc3e02e )
display: update hint labels, footer page format, and S1 wrap (1da577a )
docs: add KiCad 9.0 schematic generator and PDF exports (#104 ) (ff46191 )
docs: Add Quick Start Guide, FAQ, and Safety Warnings (#107 ) (b0152e1 )
ha: add circulation-extension sensor showing extra minutes beyond base timer (0270355 )
ha: add circulation-extension sensor showing extra minutes beyond base timer (9339d25 )
ha: add display precision, circulating action, outlet class, MQTT sensor, cleaner names (85c1ffd )
ha: add state_class, binary_sensor, RSSI class, and climate preset modes (94daa52 )
ha: Replace timer H/Min number entities with single HH:MM text entities (#74 ) (27c337f )
logging: add log console view (LogCapture ring buffer, REST /api/logs, MQTT event export) (#169 ) (93cc7a0 )
mqtt: set HA entity_category for all discovery entities (375f40f )
NORVI AE01-R hardware support with OLED display (#117 ) (964a1bd )
norvi: add OLED display with 4 info pages, button navigation, and QR code (34681e2 )
NTP server config via Web UI + MQTT, local time display (#83 ) (c45bd55 )
NVS config backup, MQTT error reporting, web UI improvements (#82 ) (817500a )
OLED Menu-Navigation, Sensor-Mapping in WebUI+HA, mDNS (f72bbe2 )
optimierte Pin-Belegung (GPIO32/33/25/26) + Status-LED mit Homie-Blinkcodes (c6ef387 )
OTA update from GitHub releases, semver release management, config safety (#77 ) (2972b34 )
restructure web UI settings tabs and HA entity categories (#87 ) (712b037 )
semver release pipeline via release-please (Conventional Commits) (#29 ) (102b18b )
system: log concrete reason when entering safe mode (#179 ) (e7ac809 )
temperature-based circulation time with continuous extension (b16a9d0 )
ui: add About section in More bottom sheet (5919624 )
ui: iOS-style bottom tab bar with glassmorphism (38eec43 )
web-ui: redesign timer display as intuitive time range instead of abstract minutes (366d647 )
web-ui: redesign timer display as intuitive time range instead of abstract minutes (1ced447 )
web-ui: show circulation extension (extra minutes) on dashboard (69e21bf )
web-ui: show circulation extension (extra minutes) on dashboard (e7cbc24 )
web: add /api/fs/upload endpoint for OTA-safe web asset deployment (cee0b4a )
web: add temperature-based circulation parameters to Web UI (963bcde )
web: format effective runtime as duration in WebUI and HA (b460b4f )
web: make dashboard and operating parameters visible without login (919bbde )
web: replace pump text toggle with visible toggle-switch controls (#166 ) (e37e7bd )
wifi: add WPS onboarding for initial WiFi provisioning (#67 ) (6983af6 )
Bug Fixes
add native test infrastructure with ASan and coverage reporting (#98 ) (1421a39 )
address CodeQL code scanning alerts — thread-safe time functions, path-exclude libdeps, update skills (6ebbae1 )
address Codex clean-code review findings (f1d6da2 )
button: Add ADC filtering and improved debouncing for NORVI front panel buttons (#177 ) (206954b )
button: stop phantom NORVI operation-mode switches (#181 ) (cdf4083 )
ci: add checkout step to auto-merge-release workflow (bd19bea )
ci: filter .pio/libdeps from CodeQL SARIF instead of paths-ignore (a345790 )
ci: fix native test build and clang-format violations (ba6a1a8 )
ci: make website dispatch workflow non-blocking on token issues (#69 ) (4e03bd3 )
ci: suppress cppcheck syntaxError for ESP-IDF version macros (028e62a )
ci: use temp file to avoid gh release upload name collision (d570745 )
clang-format: apply clang-format to MqttPublisher.cpp (8058c1d )
config: correct Doxygen description — uses NVS (Preferences), not LittleFS (d1e9910 )
correct #pragmaonce to #pragma once in RuleAuto.hpp (6963f6c )
display: ADC threshold calibration and QR code sizing (ca6810f )
display: address PR #147 review comments (fddff74 )
docs synced de/en (909304d )
docs: align HA entity table with name-based generation, fix domain errors (#157 ) (689c24e )
docs: correct relative paths for images and links (#164 ) (1870c3e )
ESP32 compatibility, memory & buffer fixes + AGENTS.md update (#68 ) (b95efbd )
ha: select-Entity-Status ohne Temperatur publishen (e6f32d7 )
ha: Sensor-Mapping Discovery bei jedem MQTT-Reconnect publishen (1ab82d9 )
ha: use name-based entity IDs matching HA generation (22c56bd )
homeassistant: remove 'none' from preset_modes discovery config (d05a083 )
improve English grammar and word choice in documentation (#47 ) (2d71dcd )
logging: trace operation mode command sources (#174 ) (dd91530 )
master Branch renamed to main (f0d0223 )
mount LittleFS during web portal startup (#85 ) (592a4c8 )
move solar pump relay to R2 (GPIO13), add RC snubber docs (#165 ) (5f8b964 )
mqtt: prevent dangling pointer and duplicate callback on reconnect (25090d7 )
mqtt: remove duplicate Home Assistant Discovery entities (9ef1526 )
network: remove always-true WPS function pointer check (b0a339b )
network: remove always-true WPS function pointer check (e9a01bf )
norvi: move solar pump relay from R1 (GPIO12) to R5 (GPIO33) (#158 ) (5cf8fda )
ota: select correct firmware binary per board type (34f93d2 )
pool-controller: stop overriding persisted TimerSetting with hardcoded values (3cfd43f )
relay: avoid int→bool ambiguity in constructor overloads (fcc616c )
relay: correct relay polarity for NORVI AE01-R active-HIGH relays (6e92aa0 )
Remove space between platform name and version specifier in nodemcuv2 environment (0f34a68 )
resolve MegaLinter issues in PR #139 (0c3cea8 )
restore telemetry updates and HA entity visibility (716dfe6 )
review findings for temperature-based circulation (8784f25 )
sensor setup UX, button thresholds, QR page layout (7028689 )
sensor: apply address filter to running instance immediately (#160 ) (cbaad12 )
solar pump hysteresis at max pool temperature (c5a4e76 )
test: add missing saveSensorMapping/loadSensorMapping to mock ConfigManager (00d349b )
test: add strlcat fallback for native test builds (c6463fb )
timer: keep pump running when extension wraps past midnight (#180 ) (2a8f919 )
ui: display dashboard thresholds without-auth via /api/status, 4-across mode cards (e68d4bf )
use MegaLinter v9.6.0 (v9.7.0 does not exist as release tag) (81b679f )
web-ui: use consistent muted styling for Extension telemetry item (b0988db )
web-ui: use consistent muted styling for Extension telemetry item (6ae6b99 )
web: clarify that timer start/end also applies in Auto mode (5985a00 )
web: correct license text from GPL-3.0 to MIT in dashboard footer (1d22f05 )
web: make /api/fs/upload work by also accepting upload.filename (09765b8 )
web: remove leftover merge conflict markers in index.html (#118 ) (907b676 )
web: stop tabs from reopening WiFi settings after navigation (726bde4 )
web: use streaming multipart upload for /api/fs/upload (0c38f50 )
wps: correct ESP-IDF version guard for esp_wifi_wps_start API (ab98105 )
wps: correct ESP-IDF version guard for esp_wifi_wps_start API (8d92db8 )
wps: correct ESP-IDF version guard for esp_wifi_wps_start API (#124 ) (ab98105 )
Performance Improvements
Miscellaneous Chores
remove deprecated Homie references across codebase (1df0705 )
You can’t perform that action at this time.