2024.08.18
github-actions
released this
18 Aug 11:40
·
514 commits
to development
since this release
🚨 Partition Layout Change
Coming from firmware version 2024.06.03 or older *1), you cannot upgrade to this release (or any future release) by performing an over-the-air (OTA) update using the web interface! Read and follow the upgrade instructions, where additional information is available as well.
*1) Technically: If you are still using the "old" partition layout where the sketch size is only 1,920 kB. See Info -> System
in the web UI to know your current sketch size.
⚡ Breaking Changes
- BREAKING CHANGE: repartition: double sketch size, see Partition Layout Change above
- BREAKING CHANGE: allow multiple OpenDTU-OnBattery instances at same HASS
🚀 Features
- Feature: Show MCU temperature in system info
- Feature: Add option to clear eventlog at midnight
- Feature: Set/obtain DPL upper power limit via MQTT
- Feature: Set/obtain DPL target power consumption via MQTT
- Feature: Implement DPL 'overscaling' to compensate shading (#956)
- Feature: support Tibber bridge as power meter interface
- Feature: decode more OBIS values in SML power meters
- Feature: make power meter polling intervals configurable
- Feature: HTTP+SML power meter: poll asynchronously
- Feature: HTTP+JSON power meter: poll asynchronously
- Feature: SDM power meter: poll asynchronously
- Feature: support JSON payload in MQTT power meter
- Feature: SDM power meter: switch to software serial
- Feature: Serial SML power meter: poll asynchronously
- Feature: SML power meter: handle checksum error
- Feature: SML power meters: reset SML decoder
- Feature: Allow custom MQTT Client ID
- Feature: Add support for HMS-800-2T-LV inverters
- Feature: add support for Pytes batteries using CAN (#1088)
- Feature: expose 'full solar passsthrough active' via MQTT (#1136)
- Feature: show battery voltage, current, and power in live view totals (#1131)
- Feature: support JSON payload in MQTT battery provider
- Feature: add unit for MQTT battery voltage (#1143)
🐛 Fixes
- Fix #2000: MQTT subscriptions where not updated if MQTT base was changed
- Fix: Apply inverter settings only once and not for each channel
- Fix: Wrong divider in gridprofile RVHF
- Fix: optimize margins in live view
- Fix: SDM power meter: free HW serial port
- Fix: Remove not required semicolon
- Fix: explicitly disconnect prior connecting to wifi
- Fix: Improve overscaling for shaded inputs (#1089)
- Fix: handle numeric values disguised as strings in JSON
- Fix: Victron MPPT: be happy with at least one that delivers valid data (#1118)
- Fix: initialize MQTT power meter values to zero
- Fix: use mutex when writing MQTT power meter value
- Fix: inverter power limits precision
- Fix: Wifi reconnect issue introduced with #2117 and discussed in #2185 was fixed
- Fix: add auth check on battery, huawei and powermeter API endpoints (#1155)
- Fix: Improve DPL nighttime discharging (#1126)
- Fix: Typos de.json translation
🛠 Under the hood
Upstream Tags
- Merge upstream tag 'v24.6.10' into development
- Merge upstream tag 'v24.6.29' into development
- Merge upstream tag 'v24.8.1' into development
- Merge upstream tag 'v24.8.5' into development
Web Application
- webapp: update dependencies
- webapp: update dependencies
- webapp: Update dependencies
- webapp: update dependencies
- webapp: update dependencies
- webapp: update dependencies
- webapp: disable OTA firmware dialog for unsupported devices
- webapp: Locale update for "screensaver"
- webapp: Remove duplicated code
- webapp: Remove no more required locale
- webapp: Check if temperature is set
- webapp: Add Autoformatter
- webapp: Apply auto formatter
- webapp: apply formatter on downstream sources
- Add proper formatting for flashsize output
- Use correct units in hardware info
- power meter web UI: remove JSON path placeholder
- PowerMeter admin view: make the linter happy
- remove ac-charger target consumption limits (#1159)
- powermeter: add example URL with non-default TCP port
- powermeter refactor: polish web UI
Library Updates
- Update espressif32 from 6.6.0 to 6.7.0
- Update espressif32 from 6.7.0 to 6.8.1
- Update bblanchon/ArduinoJson from 7.0.4 to 7.1.0
- Update nrf24/RF24 from 1.4.8 to 1.4.9
- Upgrade espMqttClient from 1.6.0 to 1.7.0
- Upgrade ESP Async WebServer from 2.9.5 to 2.10.0
- Upgrade ESP Async WebServer from 2.10.0 to 2.10.3
- Upgrade ESP Async WebServer from 2.10.3 to 2.10.5
- Upgrade ESP Async WebServer from 2.10.5 to 2.10.6
- Upgrade ESP Async WebServer from 2.10.6 to 2.10.8
- Upgrade ESP AsyncWebServer from 2.10.8 to 3.1.2
- update EspSoftwareSerial to 8.2.0
- update SDM power meter library to version 2.2.3
Other
- Code Refactoring: Add inverter reference to each command
- Code Refactoring: Use internal inverter instance in gotTimeout method
- Code Refactoring: Use internal inverter instance in handleResponse method
- Added some missing names to grid profile parser
- Added parser documentation
- NFC: Includes list: Remove unneeded PinMapping.h
- Remove no more required async_tcp patch
- check FW bin file size when creating factory.bin
- Update wt32-eth01.json
- Changed issue template to make clear that issues are bugs that affect all users
- Added hint in issue template that HMS-xxxW inverters are not supported
- avoid using pkg_resources
- restore JK BMS dummy implementation
- adjust MessageOutput for changes in espressif/arduino-esp32
- disable CI builds for generic and generic_esp32
- refactor PylontechCanBattery to be more generic (#1064)
- Update AlarmLogParser.cpp
- convert files with CRLF endings to LF endings
- powermeter refactor: split providers into their own classes
- powermeter refactor: rename providers in enum
- powermeter refactor: avoid reboot on settings change
- MQTT powermeter: avoid iterating subscriptions
- powermeter refactor: make timestamp of last update atomic
- powermeter refactor: publish values to MQTT in base class
- SDM power meter: remove baud rate setting
- powermeter refactor: allow destruction of httpClient
- powermeter refactor: introduce PowerMeterSml
- powermeter refactor: SML lib: replace double by float
- powermeter refactor: use destructors to de-initialize
- move JSON path resolver to Utils class for re-use
- powermeter refactor: generalize HTTP request config
- remove extraction of basic auth params from URL
- powermeter refactor: add and use HttpGetter class
- powermeter refactor: test HTTP+JSON power meter as a whole
- powermeter refactor: use HttpGetter in HTTP SML implementation
- powermeter refactor: fully structure settings per provider
- powermeter refactor: instanciate power meters with config
- powermeter refactor: use HTTP1.0
- SDM 1-phase power meter: only publish known values
- SDM power meter: evaluate error code after polling value
- SDM power meter: check stop flag in between transactions
- SML power meter: improve message output
- SML parser: prevent out-of-bound array access
- SML parser: remove commented-out code
- SML parser: pass SML char by value
- SML parser: add new OBIS handlers for Hertz and Degrees
- power meter refactoring: split loop task init from init()
- HTTP request config component: do not mutate prop
- Better handling of empty MQTT client id
- Increase stack size for MQTT task due to SSL handshake
- HTTP+JSON power meter: value 1 is always enabled
- make MQTT power meter the default power meter
- improve error messages when probing JSON path value type
- Double VE.Direct receive buffer to avoid overflow (#1109)
- Remove double call to generateOnBatteryJsonResponse() (#1115)
- Fixed documentation for webapp dev mode
- adjustment: reduce precision of charged- and discharged energy for pytes batteries (#1165)
- remove obsolete #include
- move documentation to opendtu-onbattery.net
- disable "based on OpenDTU" badge