Skip to content

Latest commit

 

History

History
255 lines (187 loc) · 18.7 KB

File metadata and controls

255 lines (187 loc) · 18.7 KB

Changelog

All notable changes to this project will be documented in this file.

4.2.0 (2026-07-11)

Features

  • web: add /api/fs/upload endpoint for OTA-safe web asset deployment (cee0b4a)
  • web: make dashboard and operating parameters visible without login (919bbde)

Bug Fixes

  • ci: fix native test build and clang-format violations (ba6a1a8)
  • norvi: move solar pump relay from R1 (GPIO12) to R5 (GPIO33) (#158) (5cf8fda)
  • web: use streaming multipart upload for /api/fs/upload (0c38f50)

4.1.1 (2026-07-07)

Bug Fixes

  • address CodeQL code scanning alerts — thread-safe time functions, path-exclude libdeps, update skills (6ebbae1)
  • address Codex clean-code review findings (f1d6da2)
  • ci: filter .pio/libdeps from CodeQL SARIF instead of paths-ignore (a345790)
  • homeassistant: remove 'none' from preset_modes discovery config (d05a083)

4.1.0 (2026-07-07)

Features

  • ha: add circulation-extension sensor showing extra minutes beyond base timer (0270355)
  • ha: add circulation-extension sensor showing extra minutes beyond base timer (9339d25)
  • 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)

Bug Fixes

  • clang-format: apply clang-format to MqttPublisher.cpp (8058c1d)
  • relay: avoid int→bool ambiguity in constructor overloads (fcc616c)
  • relay: correct relay polarity for NORVI AE01-R active-HIGH relays (6e92aa0)
  • resolve MegaLinter issues in PR #139 (0c3cea8)
  • test: add missing saveSensorMapping/loadSensorMapping to mock ConfigManager (00d349b)
  • test: add strlcat fallback for native test builds (c6463fb)
  • 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)

4.0.2 (2026-06-30)

Bug Fixes

  • ci: suppress cppcheck syntaxError for ESP-IDF version macros (028e62a)
  • config: correct Doxygen description — uses NVS (Preferences), not LittleFS (d1e9910)
  • correct #pragmaonce to #pragma once in RuleAuto.hpp (6963f6c)
  • ha: use name-based entity IDs matching HA generation (22c56bd)

4.0.1 (2026-06-28)

Bug Fixes

  • ci: use temp file to avoid gh release upload name collision (d570745)
  • 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)
  • ota: select correct firmware binary per board type (34f93d2)
  • pool-controller: stop overriding persisted TimerSetting with hardcoded values (3cfd43f)
  • 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)

4.0.0 (2026-06-25)

⚠ 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)
  • convert WebUI to Progressive Web App (PWA) (b2f05d1)
  • docs: add KiCad 9.0 schematic generator and PDF exports (#104) (ff46191)
  • docs: Add Quick Start Guide, FAQ, and Safety Warnings (#107) (b0152e1)
  • 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)
  • OLED Menu-Navigation, Sensor-Mapping in WebUI+HA, mDNS (f72bbe2)
  • optimierte Pin-Belegung (GPIO32/33/25/26) + Status-LED mit Homie-Blinkcodes (c6ef387)
  • 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: add temperature-based circulation parameters to Web UI (963bcde)
  • web: format effective runtime as duration in WebUI and HA (b460b4f)

Bug Fixes

  • add native test infrastructure with ASan and coverage reporting (#98) (1421a39)
  • docs synced de/en (909304d)
  • ha: select-Entity-Status ohne Temperatur publishen (e6f32d7)
  • ha: Sensor-Mapping Discovery bei jedem MQTT-Reconnect publishen (1ab82d9)
  • mqtt: prevent dangling pointer and duplicate callback on reconnect (25090d7)
  • restore telemetry updates and HA entity visibility (716dfe6)
  • review findings for temperature-based circulation (8784f25)
  • ui: display dashboard thresholds without-auth via /api/status, 4-across mode cards (e68d4bf)
  • web: clarify that timer start/end also applies in Auto mode (5985a00)
  • web: remove leftover merge conflict markers in index.html (#118) (907b676)

Miscellaneous Chores

  • remove deprecated Homie references across codebase (1df0705)

3.3.0 (2026-06-06)

Features

  • Cleanup and fixes (#72) (90d6e07)
  • ha: Replace timer H/Min number entities with single HH:MM text entities (#74) (27c337f)
  • NTP server config via Web UI + MQTT, local time display (#83) (c45bd55)
  • NVS config backup, MQTT error reporting, web UI improvements (#82) (817500a)
  • OTA update from GitHub releases, semver release management, config safety (#77) (2972b34)
  • restructure web UI settings tabs and HA entity categories (#87) (712b037)

Bug Fixes

  • mount LittleFS during web portal startup (#85) (592a4c8)

Miscellaneous

  • refactor: migrate config from LittleFS JSON to NVS/Preferences (#84) (ba841f5)

3.2.0 (2026-05-22)

Features

  • change default MQTT protocol to HomeAssistant (5d4cad9)
  • semver release pipeline via release-please (Conventional Commits) (#29) (102b18b)
  • wifi: add WPS onboarding for initial WiFi provisioning (#67) (6983af6)

Bug Fixes

  • ci: make website dispatch workflow non-blocking on token issues (#69) (4e03bd3)
  • ESP32 compatibility, memory & buffer fixes + AGENTS.md update (#68) (b95efbd)
  • improve English grammar and word choice in documentation (#47) (2d71dcd)
  • master Branch renamed to main (f0d0223)
  • Remove space between platform name and version specifier in nodemcuv2 environment (0f34a68)

[3.1.0] - 2026-01-14

Added

  • Over-The-Air (OTA) Updates: Remote firmware updates via WiFi

    • Password-protected secure updates through Homie library
    • mDNS discovery support for easy device location
    • PlatformIO and Arduino IDE integration
  • Web Dashboard: Built-in configuration interface with:

    • Pool temperature and mode controls
    • Timer configuration
    • Timezone and NTP settings
    • System information display
    • Firmware update management
  • Home Assistant MQTT Discovery: Automatic device registration via Homie convention

  • Configurable WiFi Provisioning: Support for WPS and fallback Access Point mode

Changed

  • Migrated from manual MQTT topics to Homie 3.0.1 convention for standardized IoT device communication

Fixed

  • Timer scheduling issues with timezone handling
  • MQTT reconnection stability improvements
  • Memory optimization for long-term operation

[3.0.0] - 2025-11-11

Changed

  • Complete rewrite from Arduino to PlatformIO with ESP-IDF 5.x framework
  • Migrated from ESPAsyncWebServer to built-in ESP-IDF HTTP server
  • Migrated from AsyncMqttClient to ESP-MQTT (esp_mqtt)
  • Migrated from ArduinoJson to ESP-IDF JSON (cJSON)
  • Removed Homie dependency — now uses MQTT directly

Added

  • FreeRTOS task watchdog with 30s timeout
  • Boot-loop detection with automatic safe mode
  • System degradation management with graceful fallbacks
  • Temperature hysteresis configuration
  • Solar heating control with configurable thresholds

Removed

  • Arduino framework dependency
  • Homie library dependency
  • ESPAsyncWebServer dependency
  • AsyncMqttClient dependency

[2.0.0] - 2024-08-01

Added

  • Initial Arduino-based ESP32 pool controller implementation
  • Temperature monitoring via DS18B20 sensors
  • Relay control for pool pump and solar heating
  • Timer scheduling for pool pump operation
  • Web dashboard for configuration and monitoring
  • MQTT integration with Homie convention
  • OTA firmware updates
  • Home Assistant discovery support