Releases: helgeerbe/OpenDTU-OnBattery
Releases · helgeerbe/OpenDTU-OnBattery
2024.06.03
🚀 Features
- Feature: show ESP32 flash memory size in system info
- feature: JK BMS: HA auto-discovery for battery temperatures
- Feature: SmartShunt: process midpoint voltage and deviation
- Feature: show BMS FW and HW version (JK BMS, SmartShunt)
- Feature: add support for a third Victron MPPT
🐛 Fixes
- fix: project's name is 'OpenDTU-OnBattery' (capital 'O')
- fix: Victron MPPT HA auto-discovery: fix unit of temperatures
- Fix: Huawei PSU: enforce BatterySoC Limit < 100 in UI (#992)
- Fix: properly format Victron MPPT firmware version
- fix: make SDM power meter use serial port manager
🛠 Under the hood
- power meter web UI: add example for array access + translations
- DPL web UI: add hint to setting "inverter behind power meter"
- README: update documentation links
- docs: device profile docs fully moved to wiki
- docs: do not tell users to custom-build because of pins assignments
- docs: mention OpenDTU Fusion board as basic hardware
- docs: tell people to buy ESP32 with 8 MB of flash
- docs: mention ADUM1201 to talk to Victron MPPTs
- docs: explain usage of MCP2515 module
- VE.Direct: prefer strncpy over strcpy
- check FW bin file size when creating factory.bin
- refactor serial port manager: hand out UARTs FCFS
- Prepare Release 2024.06.03 (#1024)
2024.05.07
🐛 Fixes
- Fix #1960: Prometheus API return wrong information in function addPanelInfo
- Fix: restore JSON array access for HTTP power meter
- Fix: restore JSON array access for HTTP power meter
🛠 Under the hood
- Prevent compiling the whole project on each commit.
- Use fixed versions for all dependencies
- Upgrade ESP Async WebServer from 2.9.3 to 2.9.4 and set ASYNC_TCP_QUEUE_SIZE to 128 for different Async TCP library
- webapp: update dependencies
- Upgrade build action to support node 20
- Upgrade olikraus/U8g2 from 2.35.17 to 2.35.19
- Merge branch 'pr1920' into dev
- webapp: update dependencies
- Upgrade ESP Async WebServer from 2.9.4 to 2.9.5
- webapp: add app.js.gz
- workflow: ignore v** tags
- Merge upstream tag 'v24.5.6' into development
- embrace upstream __compiled_constants.h approach
- Prepare Release 2024.05.07 (merge development into master)
2024.05.06
2024.05.03
⚠️ Only for ESP32-S3 ⚠️
Unfortunately, due to an unknown problem, the binaries for the generic_esp32
and generic
enviroments are unusable and have been removed from this release. See #950. The next release will address this issue such that those variants are available again.
Do not attempt to build the firmware yourself for those environments. The resulting firmware blob will be too large and will fail to start or OTA-update.
Sorry for the inconvenience.
🚀 Features
- Feature: BMS initiated emergency charging
- Feature: add unique prefix to VE.Direct messages
- Feature: add support for VE.Direct hex messages
- Feature: use VE.Direct "network total DC power"
- Feature: Migrated ArduinoJson 6 to 7
- Feature: Check for out of memory situations when sending json responses
- Feature: Huawei: add SoC stop threshold and verbose logging switch
- Feature: DPL: introduce base load setting
- Feature: DPL: support setups without power meter
- Feature: HTTP power meter: support mW/kW as units
- Feature: HTTP power meter: support changing sign
- Feature: restart unresponsive inverter
- Feature: support for Huawei target power consumption
- Feature: battery interface: use HW serial 0 on ESP32-C3 or S3 (#933)
- Feature: Publish Huawei AC charger mode via MQTT (#876)
🐛 Fixes
- fix: VE.Direct MPPT data not always updated in websocket
- Fix: Change default NTP server
- Fix: Re-Request grid profile parameters if received data are invalid / to short
- Fix include for TimeoutHelper
- Fix typo in German locale (#831)
- Fix: properly handle fragmented VE.Direct messages
- Fix: Setting DTU options was only possible once without reboot
- Fix: Too small event_queue_size in AsyncTCP lead to wdt reset
- Fix: DPL: use correct channel type to get inverter efficiency
- Fix: show AC input power of Huawei AC charger in live view
- Fix: If unauthenticaed, the redirect to login page did not work
- fix hysteresis hint texts
- Fix: JK BMS: BMS name is second part of product ID
- Fix: DPL mode 2 for solar-powered inverters
- Fix: Return 404 (and nothing else) if file not found
- Fix: Device Manager shows 404 if no pin_mapping.json was available
- Fix: VE.Direct: take the load current into account
🛠 Under the hood
- PowerLimiter.cpp: simplification and minor correction of logic table comments
- better alignment inverter, issue 360
- webapp: update dependencies
- Added github workflow to do some repository cleanup
- webapp: add app.js.gz
- Move source files for TimeoutHelper to correct directories
- Move source files for ThreadSafeQueue to correct directories
- Save flash: Move WebApi json parsing to separate method to prevent a lot of redundant code
- Update espressif32 from 6.5.0 to 6.6.0
- VE.Direct: simplify access to data
- VE.Direct: use float rather than double
- VE.Direct MQTT: simplify code
- VE.Direct: make state machine timeout robust against overflow
- Merge remote-tracking branch 'tbnobody/OpenDTU/master' into merge-v24.3.31
- polish VE.Direct HEX support
- Merge pull request #836 from helgeerbe/merge-v24.3.31
- Upgrade ESP Async WebServer from 2.8.1 to 2.9.0
- Move parsing of serial from web request to separate method
- VE.Direct: process more values and refactor variable names
- adjust VE.Direct MPPT yield resulotion (#859)
- PowerMeter admin: URL examples to the top and hidden if disabled
- remove remaining usage of F() macro
- remove usage of F() macro
- Merge branch 'pr1909' into dev
- webapp: update dependencies
- webapp: Fix lint errors
- Remove no more required web server patch
- webapp: add app.js.gz
- power limiter: remove obsolete enum
- DPL: insist on power meter value more recent than inverter stats
- reuse power meter's HTTP config struct
- [HTTP power meter: pre...
2024.03.23
🚀 Features
- Feature: Added description for alarm id 152
- Feature: Add support for HERF inverters
- Feature: DPL: explicit support for solar powered inverters
- Feature: DPL: keep inverter running if solar powered
- Feature: Set powerlimiter thresholds via MQTT
- Feature: Allow enabling and disabling of the version check
- Feature: Support for second Victron MPPT charge controller
- Feature: Refactor/Simplify DPL settings
- Feature: Support SMA HomeManager 2.0 as PowerMeter
- Feature: implement PowerMeter pin config for serial interfaces
- Feature: Set max number of supported Inverters to 10 (upstream default)
🐛 Fixes
- Fix: Prevent hiding text on display if it's too long
- Fix: Exclude hardware part number 124097 from valid part numbers.
- fix: more memory for onBattery live data
- fix: wrong unit in battery HomeAssistent exp_aft
- Fix: Show firmware update tooltip only if newer version available
- Fix: Don't throw exception if git_hash is not set
- Fix: Set all settings to default when deleting an inverters
- Fix: Correct detection of Hoymiles serial if it contains hex characters
- Fix: Updated source comments to also match hex numbers
- fix: preserve SmartShunt energy values precision
- fix: prevent getTotalPower() reading intermediate results
- fix: VE.Direct live data after supporting second MPPT
- Fix: Previously check for HwPartNumber 124097 was implemented wrong
- fix and harden BatteryStats update timestamp handling
- fix VE.Direct live data response size
- fix: HTTP power meter: retrieve multiple JSON paths
🛠 Under the hood
- webapp: update dependencies
- webapp: Fix typo
- webapp: update dependencies
- webapp: update dependencies
- DPL: define IsInverterSolarPowered config switch
- DPL: make "IsInverterSolarPowered" configurable through web app
- DPL: refactor code determining battery charge cycle state
- Merge pull request #733 from helgeerbe/dpl-make-shutdown-partially-optional
- optimize DPL thresholds MQTT integration
- Remove deprecated extension recommendation
- Merge branch 'dev-herf' into dev
- webapp: update dependencies
- implement Battery::needsCharging()
- adjust (new) about texts to OpenDTU-OnBattery
- Upgrade olikraus/U8g2 from 2.35.9 to 2.35.10
- live data: exclude data if respective feature disabled
- disable restarting solar-powered inverters
- live view: do not access undefined data
- webapp: Remove not required cast to string
- Upgrade olikraus/U8g2 from 2.35.10 to 2.35.14
- Upgrade ESP Async WebServer from 2.7.0 to 2.8.1
- webapp: update dependencies
- webapp: add app.js.gz
- clean up defaults.h
- polish support for second VE.Direct MPPT charge controller
- polish SMA HomeManager integration
- add new Victron SmartShunt values to liveView and MQTT (HASS)
- hardware_flash.md: move some info to wiki
- Merge remote-tracking branch 'tbnobody/OpenDTU/master' into v24.3.15
- Merge pull request #778 from helgeerbe/upstream-v24.3.15
- replace VICTRON_MAX_COUNT
- webapp: update dependencies
- SMA Homemanager: fix power value calculation
- webapp: update dependencies
- Upgrade olikraus/U8g2 from 2.35.14 to 2.35.15
- webapp: add app.js.gz
- DPL: improve verbose logging (more variables logged)
- avoid sending null through live data websockets
- do not publish live data for broken MPPT controllers
- implement and use Utils::checkJsonOverflow()
- [DPL settings in web app: split metadata from config](https://github.com/helgeerbe/OpenDTU-...
v24.3.22
v24.3.15
🚀 Features
- Feature: Added description for alarm id 152
- Feature: Add support for HERF inverters
- Feature: Allow enabling and disabling of the version check
🐛 Fixes
- Fix: Prevent hiding text on display if it's too long
- Fix: Exclude hardware part number 124097 from valid part numbers.
- Fix: Show firmware update tooltip only if newer version available
- Fix: Don't throw exception if git_hash is not set
- Fix: Set all settings to default when deleting an inverters
- Fix: Correct detection of Hoymiles serial if it contains hex characters
- Fix: Updated source comments to also match hex numbers
🛠 Under the hood
- webapp: update dependencies
- webapp: Fix typo
- webapp: update dependencies
- webapp: update dependencies
- Remove deprecated extension recommendation
- Merge branch 'dev-herf' into dev
- webapp: update dependencies
- Upgrade olikraus/U8g2 from 2.35.9 to 2.35.10
- webapp: Remove not required cast to string
- Upgrade olikraus/U8g2 from 2.35.10 to 2.35.14
- Upgrade ESP Async WebServer from 2.7.0 to 2.8.1
- webapp: update dependencies
- webapp: add app.js.gz
2024.03.07
🚀 Features
🐛 Fixes
- fix: copy OnBattery-specific data from live view websocket (#696)
- Fix: DPL: ensure inverter reaches requested state
- fix: DPL: limit scaling sanity checks
🛠 Under the hood
- Merge pull request #708 from schlimmchen/dpl-manage-inverter-state
- pull requests: use a meaningful branch when building
- make BateryStats::updateAvailable wrap-around-safe
- DPL limit scaling: only for supported models
- DPL limit scaling: prevent division by zero
- Merge pull request #726 from helgeerbe/development
2024.02.19.post1
⚡ Breaking Changes
- BREAKING CHANGE: Web API Endpoint /api/livedata/status
- BREAKING CHANGE: Web API Endpoint /api/livedata/status and /api/prometheus/metrics
- BREAKING CHANGE: Web API Endpoint /api/livedata/status and /api/prometheus/metrics
- BREAKING CHANGE: Web API Endpoint /api/livedata/status and /api/prometheus/metrics
🚀 Features
- Feature: Add support for ST7567 GM12864I-59N Display
- Feature: Added support for boards with 16MB flash and PSRAM
- Feature: Added pin-mapping for LILYGO T-ETH-Lite
- Feature: JK BMS Home Assistent integration
- Feature: DPL: add switch allowing to ignore SoC
- Feature: implement subscription to battery voltage MQTT topic
- Feature: know and use SoC precision
- Feature: DPL: use best available voltage value
- Feature: show power grid usage on display (#658)
🐛 Fixes
- Fix: Calculate the AC current for 3 phase inverters correctly
- fix #1668
- Fix: must call Pylontech Home Assistent init() method
- Fix: Guru Meditation (StoreProhibited) when saving DTU settings
- Fix: make text of total production fit displays
📚 Documentation
- Doc: Move partition migration to official documentation
- Doc: Move display documentation to official documentation
- Doc: Migrated needed hardware info to official documentation
- Doc: Remove deprecated documentation
- Doc: Added hint regarding breaking changes
🛠 Under the hood
- Call SunPosition.isDayPeriod() once
- Merge branch 'pr1676' into dev
- webapp: update dependencies
- webapp: add app.js.gz
- Removed not required pointer to AsyncServer instance
- fixed typo in OTA text
- Use http header ETag caching for all static content.
- fix(mqtt): MQTTs LWT QoS config used also for TLS connections
- fix(mqtt): setting MQTT LWT online message for frontend
- Merge branch 'pr1706' into dev
- Merge branch 'pr1642' into dev
- Remove all files but the pin_mapping.json from filesystem on factory reset
- Rename internal variables and methods
- Merge branch 'pr1693' into dev
- webapp: update dependencies
- Add AhoyDTU Pinout
- Merge branch 'pr1728' into dev
- Merge pull request #640 from schlimmchen:jkbms-home-assistent-pr
- update VE.Direct product IDsfixes typos and errors, and adds previously unknown PIDs.closes #641.
- Merge remote-tracking branch 'tbnobody/OpenDTU/master' into development
- Merge branch 'development'
- webapp: Add link to documentation in about view
- make efficient use of available display area
- implement oscillating screensaver
- Merge branch 'pr1729' into dev
- Merge branch 'pr1731' into dev
- Merge branch 'pr1732' into dev
- Apply automatic code formatting
- webapp: update dependencies
- webapp: add app.js.gz
- Bump actions/cache from 3 to 4
- Bump actions/setup-python from 4 to 5
- Added second HMS-450 to DevInfoParser
- Update de.json
- Upgrade espMqttClient from 1.5.0 to 1.6.0 and ESPAsyncWebServer to a more maintained version
- Added HMT-2000 to DevInfoParser
- Merge branch 'pr1746' into dev
- Added HMS-300 to DevInfoParser
- webapp: update dependencies
- webapp: add app.js.gz
- BatteryStats: manage battery pack voltage in base class
- replace BatteryStats::isValid() method
- Merge pull request #679 from schlimmchen/dpl-voltage-features
- add webapp
- Merge remote-tracking branch 'tbnobody/OpenDTU/master' into development
- [Merge branch 'development'](https://github.c...
2024.02.19
⚡ Breaking Changes
- BREAKING CHANGE: Web API Endpoint /api/livedata/status
- BREAKING CHANGE: Web API Endpoint /api/livedata/status and /api/prometheus/metrics
- BREAKING CHANGE: Web API Endpoint /api/livedata/status and /api/prometheus/metrics
- BREAKING CHANGE: Web API Endpoint /api/livedata/status and /api/prometheus/metrics
🚀 Features
- Feature: Added support for boards with 16MB flash and PSRAM
- Feature: Added pin-mapping for LILYGO T-ETH-Lite
- Feature: DPL: add switch allowing to ignore SoC
- Feature: implement subscription to battery voltage MQTT topic
- Feature: know and use SoC precision
- Feature: DPL: use best available voltage value
- Feature: show power grid usage on display (#658)
🐛 Fixes
- Fix: Calculate the AC current for 3 phase inverters correctly
- fix #1668
- Fix: Guru Meditation (StoreProhibited) when saving DTU settings
- Fix: make text of total production fit displays
📚 Documentation
🛠 Under the hood
- Removed not required pointer to AsyncServer instance
- fixed typo in OTA text
- Use http header ETag caching for all static content.
- fix(mqtt): MQTTs LWT QoS config used also for TLS connections
- fix(mqtt): setting MQTT LWT online message for frontend
- Merge branch 'pr1706' into dev
- Merge branch 'pr1642' into dev
- Remove all files but the pin_mapping.json from filesystem on factory reset
- Rename internal variables and methods
- Merge branch 'pr1693' into dev
- webapp: update dependencies
- Add AhoyDTU Pinout
- Merge branch 'pr1728' into dev
- webapp: Add link to documentation in about view
- make efficient use of available display area
- implement oscillating screensaver
- Merge branch 'pr1729' into dev
- Merge branch 'pr1731' into dev
- Merge branch 'pr1732' into dev
- Apply automatic code formatting
- webapp: update dependencies
- webapp: add app.js.gz
- Bump actions/cache from 3 to 4
- Bump actions/setup-python from 4 to 5
- Added second HMS-450 to DevInfoParser
- Update de.json
- Upgrade espMqttClient from 1.5.0 to 1.6.0 and ESPAsyncWebServer to a more maintained version
- Added HMT-2000 to DevInfoParser
- Merge branch 'pr1746' into dev
- Added HMS-300 to DevInfoParser
- webapp: update dependencies
- webapp: add app.js.gz
- BatteryStats: manage battery pack voltage in base class
- replace BatteryStats::isValid() method
- Merge pull request #679 from schlimmchen/dpl-voltage-features
- add webapp
- Merge remote-tracking branch 'tbnobody/OpenDTU/master' into development
- Merge branch 'development'