Compare commits

..
4 Commits
Author SHA1 Message Date
Amir 0f6fadd1f8 Update README for version 6.2.4 release
Updated version number to 6.2.4 and added highlights for the new version, including a critical bug fix related to display refresh at exact hour boundaries.
2026-04-01 21:46:11 +02:00
Amir 28f7be344f Bump version to 6.2.4 and add release notes
Updated version from 6.2.3 to 6.2.4 and added highlights.
2026-04-01 21:44:28 +02:00
Amir 5c870f240c Add changelog entry for v6.2.4 bug fix
Documented the fix for the auto display refresh glitch that showed previous hour's data at the top of the hour. Updated the changelog with details about the problem and solution.
2026-04-01 21:42:40 +02:00
Amir 707ebcd99c Create ESP32_standalone_electricity_ticker_6_2_4.ino
Update to v6.2.3 - Top of the hour display previous hour display glitch fix
2026-04-01 21:37:17 +02:00
4 changed files with 1870 additions and 2 deletions
+14
View File
@@ -2,6 +2,20 @@
All notable changes to this project are documented here.
## v6.2.4 - Exact-boundary display refresh bug (2026-04-01):
**Summary**
Top of the hour auto display refresh glitch fix where display automatically refreshed but showed the PREVIOUS hour's data.
### Problem:
- At the exact top of the hour (e.g., 20:00:00), the display automatically refreshed but showed the PREVIOUS hour's data (19:00). This happened because the "next-boundary" rounding logic in findCurrentPriceIndex() incorrectly excluded the current interval if the time was exactly on the boundary.
### Solution:
- Simplified findCurrentPriceIndex() to use a robust "last entry <= now" comparison. This ensures the display transitions to the new hour instantaneously at XX:00:00.
---
## v6.2.3 - State-based display refresh logic fix (2026-04-01):
**Summary**
File diff suppressed because it is too large Load Diff
+5 -1
View File
@@ -11,12 +11,16 @@ This project is an ArduinoIDEfriendly firmware for the **Seeed XIAO ESP32
- Uses a white LED and an optional presence sensor to give quick visual feedback.
- Stores daily price data in **NVS** to survive reboots and reduce API calls.
The latest sketch implements **Version 6.2.3**.
The latest sketch implements **Version 6.2.4**.
---
## Version Highlights
### v6.2.4 - Exact-boundary display refresh bug (critical fix of v6.2.3 update)
- Problem: At the exact top of the hour (e.g., 20:00:00), the display automatically refreshed but showed the PREVIOUS hour's data (19:00). This happened because the "next-boundary" rounding logic in findCurrentPriceIndex() incorrectly excluded the current interval if the time was exactly on the boundary.
- Fix: Simplified findCurrentPriceIndex() to use a robust "last entry <= now" comparison. This ensures the display transitions to the new hour instantaneously at XX:00:00.
### v6.2.3 - State-based display refresh logic (critical fix of v6.2.2 update)
- Problem: Screen would occasionally fail to update if the ESP32 was busy (fetching data or reconnecting WiFi) during the exact 00/15/30/45 minute mark.
- Fix: Switched from "Event-Based" (refresh only AT minute X) to "State-Based" (refresh IF current time != last refresh time). This ensures the screen updates immediately even if the device was busy during the transition.
+7 -1
View File
@@ -2,13 +2,19 @@
## Current firmware
- **Version:** 6.2.3
- **Version:** 6.2.4
- **Release date:** 2026-04-01
- **Target MCU:** Seeed XIAO ESP32C3
- **Display:** 20x4 I²C LCD (PCF8574, default address `0x27`)
- **API endpoint:** `https://api.energy-charts.info/price?bzn=SI`
- **Resolution:** 15minute intervals, hourly averages for overview
## Highlights of v6.2.4
- **BUG FIX:** Exact-boundary display refresh bug
- Problem: At the exact top of the hour (e.g., 20:00:00), the display automatically refreshed but showed the PREVIOUS hour's data (19:00). This happened because the "next-boundary" rounding logic in findCurrentPriceIndex() incorrectly excluded the current interval if the time was exactly on the boundary.
- Fix: Simplified findCurrentPriceIndex() to use a robust "last entry <= now" comparison. This ensures the display transitions to the new hour instantaneously at XX:00:00.
## Highlights of v6.2.3
- **BUG FIX**: State-based display refresh logic