mirror of
https://github.com/Legolas-2025/Standalone-electricity-price-ticker.git
synced 2026-08-18 12:44:54 +02:00
3.7 KiB
3.7 KiB
Electricity Price Ticker – Version Information
Current firmware
- Version: 6.2.4
- Release date: 2026-04-01
- Target MCU: Seeed XIAO ESP32‑C3
- Display: 20x4 I²C LCD (PCF8574, default address
0x27) - API endpoint:
https://api.energy-charts.info/price?bzn=SI - Resolution: 15‑minute 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
- 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.
Highlights of v6.2.2
- BUG FIX: Display blank lines issue
- Problem: Sometimes rows 0 and 1 (current 15-min prices and current hour) were blank
- Cause: The "hour suppression" logic was hiding the current hour unexpectedly
- Fix:
- Row 1 (current hour) now ALWAYS shows - suppression logic only applies to rows 2-3
- Row 0 (15-min details) also always shows for the current hour
Highlights of v6.2.1
- BUG FIX: Fixed
findCurrentPriceIndex()to return the correct current interval. - Problem: At 17:57, it returned index for 18:00 instead of 17:45, causing display to show hour 18 instead of hour 17.
- Fix: Now calculates next 15-minute boundary and finds the last entry before that boundary.
Highlights of v6.2.0
- CRITICAL FIX: DST (Daylight Saving Time) handling is now fully fixed for all days.
- Previously, the code assumed every day has exactly 96 price entries (24h × 4). This caused incorrect price display on DST switch days:
- Spring forward (March): Only 92 entries → wrong prices displayed
- Fall back (October): 100 entries → wrong prices displayed
- Solution: All price lookups now use timestamp-based searching through the
unix_secondsarray instead of arithmetic calculation (hourIndex * 4). - New functions:
findPriceIndexForHour(),findCurrentPriceIndex(),getHourFromPriceIndex() - Updated functions:
getHourlyAverage(),display15MinuteDetails(),displayPriceRow(),displayPrimaryList(),updateLeds() - The ticker now works correctly on all days, including DST switch days, with no manual intervention.
- Future-proof: If EU cancels DST, only the
TZ_CET_CESTstring needs updating (one line of code).
Previous firmware
- Version: 6.1.2
- Release date: 2026-03-11
- Target MCU: Seeed XIAO ESP32‑C3
Highlights of v6.1.2
- Fix: restore proper white LED price indicator behavior on ESP32 by avoiding mixing PWM (
analogWrite) anddigitalWriteon the same pin. - Fix: LED is now truly off when backlight/LED gating turns it off (no more "dim glow").
Earlier firmware
- Version: 6.1.1 (2026-03-07) – Daily low/high marker includes negative and zero prices
- Version: 6.1.0 (2026-01-30) – Midnight fetch and market day detection fixes
- Version: 6.0.0 (2026-01-27) – NVS storage and daily fetch
For full details, see: