VERSION 6.1.2 CHANGES (2026-03-12):
----------------------------------
Fixed LED indicator not working properly (constantly dimly lit, not responding to price patterns, staying on when LCD backlight turns off). Root cause: Mixing analogWrite() and digitalWrite() on ESP32 causes PWM channel to remain active even after digitalWrite(LOW), resulting in dim LED. LED now properly turns off when backlight is off (areLedsOn = false). LED now correctly shows breathing/blinking patterns based on price thresholds.
VERSION 6.1.1 CHANGES (2026-03-07):
----------------------------------
Fixed daily lowest/highest hourly indicator (and daily average) now correctly considers ALL hourly averages, including negative values and 0.0 (which can be real prices). The daily average is now computed using the number of valid hours actually present in the dataset (validHourCount), instead of always dividing by 24.
NOTE:
- This version includes all fixes from v6.1.1 plus the LED fix.
NOTE:
- This version is identical to v6.1 except for:
* processJsonData() min/max/average fix
* UI version strings ("v6.1.1")
* header comment version/date
NOTE: This version is identical to v6.1 except for the FIX: Daily lowest/highest hourly indicator (and daily average) now correctly considers ALL hourly averages, including negative values and 0.0 (which can be real prices).
This release addresses a bug in the daily min/max price calculations, ensuring that negative and zero prices are now included. It also corrects the daily average computation by considering all valid hours.
Document significant updates in version 6.0.0, including new features, changes to API call strategy (NVS storage implementation), UI behavior, and fixes for data display consistency.
GOALS:
- Reduce API calls (boot + post‑midnight only, with retries).
- Use ESP32‑C3 NVS to store daily API data (prices + timestamps).
- Improve resilience after power outage by reusing same‑day stored data.
- Keep LCD/LED/button UI behavior identical where possible.