Skip to content

Version 2.6

Latest

Choose a tag to compare

@3KUdelta 3KUdelta released this 06 May 10:31
· 17 commits to master since this release
7f487a4

Changes in V2.6

Sensor migration: replaced HDC1080 with Sensirion SHT45
Configurable sensors via Settings26.h: enable/disable BME280, DS18B20 and SHT45 individually with USE_* defines. BME280 stays mandatory (pressure / Zambretti).
Blynk non-blocking: Blynk.begin() replaced with Blynk.config() + Blynk.connect(5000). Station continues without Blynk if the server is unreachable. Blynk.virtualWrite() calls are now guarded by Blynk.connected().
New translation architecture: one file per language with {P} / {E} template markers for precipitation words. Summer/winter switching is automatic.
Required libraries: install Adafruit SHT4x Library (and its dependency Adafruit Unified Sensor). The old ClosedCube_HDC1080 library is no longer needed.
Bugfixes accumulated from issues over the years:
getTemperature() was reading the same DS18B20 conversion 32 times in a row (no-op smoothing) — now performs a single proper 12-bit conversion.
ReadFromMQTT() race condition could trigger an unwanted FirstTimeRun() and wipe the 6 h pressure curve when a retained message arrived late — now uses an event flag with 5 s timeout.
exit(0) on SPIFFS failure left WiFi active and drained the battery — replaced with goToSleep(60).
MQTT reconnect() now retries 3 times instead of giving up after one attempt.
goToSleep() no longer publishes status when MQTT is disabled or not connected.
Battery voltage now averaged over 16 ADC reads (single-shot reads on ESP8266 are unreliable due to WiFi RF interference).
NTP wait loop now calls yield() to prevent soft WDT reset on slow NTP servers.
resetFunc() (jump to address 0) replaced with ESP.restart() everywhere — cleaner reset, no more Exception 4 on reboot.
Defensive defaults in Zambretti switch statements; double semicolon typo fixed.
Battery percentage is now clamped to 0-100% (no more negative values when the divider is disconnected).