🚨 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.
If you upgraded to version 2024.08.18 or newer already *2), you should be good to perform an OTA update using the web interface (unless you are using the generic_esp32_4mb_no_ota
firmware variant).
*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.
*2) Only when upgraded using the respective .factory.bin
image over a wired connection to the ESP32, such that the partition layout was actually updated alongside the firmware.
Upstream
This release includes upstream OpenDTU v24.11.7
.
🚀 Features
- Extend Dynamic Power Limiter (DPL) to support multiple inverters
- Support JBD BMS as battery provider
- Extend support for VE.Direct charge controllers
- Implement support for language packs (from upstream)
- DPL: support overscaling on all inverters (#1286)
- add SoC & voltage thresholds for battery current limit
- Refactor config management interface
- Validate JSON before uploading
- Added device info for HMS-700
🐛 Fixes
- protect api/powerlimiter/status endpoint
- skip BOM in JSON files (pin_mapping and config)
- SBS Unipower battery discharge current handling
- Take DST into account when recalculating the sunrise sunset time
🌎 Web Application
- Added global reboot wait screen
- add gap between inverter selectors
- add JDB BMS issue texts
- adjust look of tables in accordions to live view cards
- align table headers with card headers
- always scroll up when navigating to another view
- apply card-table class to info view cards
- avoid inline style for inverter channel info value
- avoid inline style in inverter channel info card
- avoid spurious DOM elements, avoid v-show, use v-if
- beautify radio statistics reset button
- consistently use no colon in form labels
- declare emitted event in FormFooter component
- device manager: optimize cards for tab nav
- do not use div with v-if but template elements
- equalize style of cards with tables in live view
- fix AC charger admin view
- fix inverter "add" and "save order" button positions
- fix inverter selection button breaking
- fix line break for reload button
- fixup battery total cards
- Fix: WaitRetstartView showed basic auth dialog
- generalize battery serial interface settings
- inverter advanced tab needs space at the top
- last table row shall have no bottom border
- MQTT: no login with cert if TLS disabled
- MQTT: use v-if in favor of v-show
- optimize body bottom padding and length
- optimize look of firmware update cards
- optimize look of login page
- optimize placement of device profile doc buttons
- optimize spacing around power meter test buttons
- optimize spacing on bottom of cards
- prettify battery settings UI
- properly space alert with hint for hostname
- remove table's bottom margin
- Rename interface to prevent lint errors
- replace remaining "OpenDTU" texts with "OpenDTU-OnBattery"
- right-align labels for inputs on non-sm viewports
- show pin mapping categories as cards
- Update dependencies
- Update dependencies
- Use global AlertResponse interface
- use reasonable name for radio stats accordion
- use value class to format live values
🛠 Under the hood
- Update dependencies
- Address cpplint 2.0 errors
- DPL: clean up automatic inverter restart
- Github actions: use RELEASE_TOKEN to create a release
- Fix typo in UpgradePartition.md
- Rename config API to file API
- Refactor file handling API and add endpoint to delete files
- Add API endpoint to retrieve custom languages and complete language pack
- Move lookup for translation path to separate method
- Check if language pack metadata are valid
- display language handling: use locale strings
- Added README.md to lang folder
- restructure and improve README
- readme: add section "Getting Started"
- add "important differences" to README
- keep console.log() when serving webapp
- Remove obsolete include
- Remove obsolete include
- Replace multiline print by printf
- Build factory.bin in every compile attempt
- add and use configuration write guard (upstream implementation)
- use config write guard (downstream adjustments)