v17.0.0-SLFork
17.0.0-SLFork (2025-02-27)
💡 Installation / Migration Notes
A. Initial Installation
--> Recommeded: Web Installer
- Follow instructions listed on Web Installer page
- Other installation options: Check Device Provisioning Documentation
B. Migration from previous releases (16.x)
--> Recommeded: OTA Update
- Download board specific firmware package
- Perfom OTA update (ignore file name mismatch warning)
- Verify migrated device configuration
- Check migrated configuration briefly (majority of the paramter are migrated)
- Reconfigure GPIO section (if it was configured before, no automatic migration)
- Update reference image and alignment marker (Mandatory due to multiple new camera features and adaptions)
- Lots of (breaking) changes are made to existing APIs. A manual reconfiguration is most likely required. Check API documentation
- Check
BREAKING CHANGES
section with PR descriptions and/or documentation for further information
💡 New Supported Hardware
- Board: Seeed Studio XIAO ESP32S3-Sense
- Board: Freenove (clone) ESP32S3-WROOM-1-N16R8 (16MB Flash / 8MB RAM)
- Camera: OmniVision OV5640 (without AF support)
⚠ BREAKING CHANGES
- home assistant discovery: Fix inconsistencies (device / state class) (#229)
- camera control: Enhance two step digital zoom to a free and more finely adjustable zoom (#189)
- config-handling: Complete rework of internal config parameter and sequence data handling (#165)
- gpio: Complete rework of GPIO handler & Add additional features for GPIOs (#154)
- mqtt: Complete rework of MQTT API & Add new content (#151)
- rest api: Complete rework of REST API & WebUI 'info' page (#85)
Features
- camera control: Enhance two step digital zoom to a free and more finely adjustable zoom (#189) (7038293)
- device provisioning: Implement Improv Wi-Fi protocol using serial interface (Wi-Fi config via web installer) (#183) (c1fa372)
- gpio: Complete rework of GPIO handler & Add additional features for GPIOs (#154) (026c650)
- gpio: Support pin logic invertion (active high / low) for selected pin modes (#193) (932ae19)
- hardware: Add support for board Seeed Studio XIAO ESP32S3 Sense (#155) (922ba2f)
- hardware: Add support for boards based on Freenove ESP32S3-WROOM design (N16R8) (#164) (3e88b51)
- hardware: Support camera model OV5640 (#189) (7038293)
- home assistant discovery: Add discovery topics for GPIO pins (#192) (996f67c)
- mqtt: Complete rework of MQTT API & Add new content (#151) (48ce862)
- network: Support mDNS service for hostname resolution (#216) (fc65f83)
- publish service: Implement push-based publish service to a webhook (#181) (ea52a5c)
- publish services: Configurable TLS server certificate verification (#223) (1a6b105)
- rest api: Add basic HTTP authentication for REST API endpoints (#197) (232509d)
- rest api: Complete rework of REST API & WebUI 'info' page (#85) (93353bb)
- rest api: Prometheus (OpenMetrics) exporter (/metrics) (#163) (7f14d89)
- timesync: Process start only when time is synced (implement new process state, interlock configurable) (cfc53b0)
- webui overview: Show timestamp of fallback value (tooltip) (#191) (8625463)
- webui: Add basic HTTP authentication for WebUI (#197) (232509d)
- webui: Implement WLAN network scan functionality (#194) (53fd0f5)
- webui: WLAN configuration via web interface (cfc53b0)
- wlan: Implement additional wlan operation modes (access point, disabled) (#186) (498d10a)
Bug Fixes
- camera / rest api: Adapt config restore after temporary changes by REST API + align camera endpoint (#202) (b5da741)
- camera: Prevent against concurrent access to camera ressource (#202) (b5da741)
- camera: Skip first 10 images after camera init (#201) (e099b48)
- demo mode: Deinit demo mode when main init is aborted (#198) (bbc15a0)
- home assistant discovery: Fix inconsistencies (device / state class) (#229) (00aacf2)
- home assistant discovery: Set correct device class for 'rate_per_time_unit' (#182) (1f68acb)
- load fallbackvalue: Avoid conversion exception if string is invalid (#169) (7a3219c)
- logfile: Prevent against concurrent logfile access (#204) (4407fd9)
- wlan: Fix IP config output (DHCP) + Enable connection retry (#156) (869013d)
Refactoring / Style Changes
- camera: Refactor camera control and take image class (#189) (7038293)
- camera: Refactor camera init + simplify internal parameter handling (#207) (89e2d48)
- config-handling: Complete rework of internal config parameter and sequence data handling (#165) (cfc53b0)
- setup wizard: Streamline setup wizard (#179) (6f7bcfd)
- source code: Refactor complete source code using clang-format (#196) (ab3ddc6)
- source code: Remove trailing whitespaces (#158) (32608ac)
- webui: Merge Digit ROI and Analog ROI page to one page -> Number Sequences (#172) (d4ff5c1)
Other Changes
- build: Implement ESP web tools for initial device setup (#178) (dfb0b7c)
- build: Only one firmware package is generated which can be used to handle inital, remote and OTA update (cfc53b0)
- build: Update release-please-action (#161) (3dd78b8)
- camera: Set default camera clock frequency to 10Mhz (#231) (3d5afda)
- config file: Add config file version tag (#153) (33258c5)
- debug: Implement core dump handling (#168) (5b5077c)
- dependency: Update library stb_image.h (2.28 -> 2.30) (#227) (2557d44)
- documentation: Fix REST API / parameter description (#162) (49f1397)
- framework: Upgrade platformio to 6.7.0 (ESP-IDF 5.2.1) (#160) (49e123e)
- framework: Upgrade platformio-espressif32 to 6.10.0 (ESP-IDF 5.4.0) (#209) (5eca272)
- influxdb tls + mqtt tls: Use built-in certification bundle for server verification (#180) (cdf84c1)
- repo: Add license to be aligned with jomjol repo + Repo cleanup (#225) (eb66442)
- source code: Add automatic source code formatting ruleset (clang-format) (#196) (ab3ddc6)
- submodule: Update esp-tflite-micro to 07c014e + esp-nn to v1.1.0 (9195e96) (#175) (7b6083f)
- submodule: Update esp-tflite-micro to v1.3.3 (#232) (2460654)
- submodule: Update esp32-camera to v2.0.13 (0054ab7) (#166) (2501d3b)
- submodule: Update esp32-camera to v2.0.15+ (6a821a8) (#208) (18799b2)
- submodule: Update smartleds to v3.1.3 (#167) (27c1094)
- tflite: Update digit/analog models (#217) (2c1cfc5)
- tflite: Updated digit/analog models (#177) (aceb18a)
- wlan: Force full RF calibration at every boot (#170) (70cee70)
- wlan: Force WLAN bandwidth to 20MHz (#221) (187596a)