schlimmchen
released this
22 Oct 20:25
·
5 commits
to development
since this release
🚨 Partition Layout Change
Coming from firmware version 2024.06.03 or older, 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, 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).
🚀 Features
- Feature: Implement W5500 support
- Feature: Add support for HERF 1 channel inverters
- Feature: ESP heap and temperature details on MQTT and HASS (#1242)
- Feature: DPL: Honor battery-provided discharge power limit (#1198)
- Feature: extend battery discharge limit support (#1245)
- Feature: Support for SBS Unipower batteries (#1199)
- Feature: Inverter radio statistics (rx/tx statistics)
- Feature: Allow reset of radio statistics via mqtt
- Feature: Allow reset of radio statistics via WebApp
- Feature: Publish Radio statistics to home assistant
- Feature: Publish YieldTotal, YieldDay and Power of all inverters to Home Assistant
- Feature: rxen/txen support for RS485 transceiver for SDM power meter (#1269)
- Feature: parse additional Pylontech CAN protocol fields (#1213)
- Feature: Add syslog logger (#1267)
- Feature: Show RSSI of last received packet in radio stats
- Feature: show task details in system info view
- feature: Add support for native pytes CAN protocol (#1196)
- Feature: show "Smart Battery Sense" temperature in web UI (#1292)
🐛 Fixes
- Fix: HTTP power meter custom port (#1333)
- Fix: generic_esp32_8mb firmware did not boot
- Fix: don't republish MQTT powermeter data to MQTT (#1250)
- Fix: WebApp was not reloaded after firmware update
- Fix: Wrong topic in home assistant auto discovery for maxalloc and minfree
- Fix: Saving DTU config values just returned "Values are missing"
- Fix: Unable to set CMT transmit power in WebApp
- Fix: Restart was triggered before all website data was sent
- Fix: typo in HASS auto-discovery metadata for heap stats (#1274)
- Fix: cs_ena_posttrans calculation
- Fix: Only count RF RX packets when packets where sent
- Fix: avoid deprecated setAuthentication() to fix memory exhaustion
- Fix: force websocket clients to authenticate
- Fix: prevent unauthorized access to OnBattery websockets
- Fix: Add state_class to several Home Assistant sensors
- Fix: "Equal brightness" in LED settings does not work correctly
- Fix: default value for discharge current limit
- Fix: typo in Battery.cpp regarding discharge current limit
- Fix: Correct output of wifi disconnect reason code
- Fix: conversion from Kelvin to Centigrade (SmartBatterySense)
- Fix: German translation for Victron MPPT load output
- Fix: comment in pio-scripts/patch_apply.py
🌎 Web Application
- webapp: Update dependencies
- webapp: update dependencies
- webapp: Update dependencies
- webapp: Upgrade tsconfig node18 to node22
- webapp: Parse version string event if update search is not allowed
- webapp documentation moved as well
- webapp: use shell=True in autocompile script
- webapp: Update dependencies
- webapp: Fix html error in eventlog
- webapp: autocompile script: use portable subprocess
- webapp: autocompile script needs to run yarn within webapp dir
- webapp: switch to Node.js v22
- webapp: autocompile script: changes package.json triggers build
- webapp: Update dependencies
- webapp: Fix data type for all range inputs
- webapp: Update dependencies
- webapp: Apply auto format
- webapp: Update dependencies
- webapp: Update dependencies
- webapp: optimize syslog settings
- webapp: Update dependencies
- webapp: Update dependencies
- webapp: Update dependencies
- webapp: Fix eslint issues
- webapp: address eslint issues
- webapp: pin assignment: hide unsupported pins
- webapp: Update dependencies
- webapp: Update dependencies
- webapp: Update dependencies
- webapp: Enable horizontal scrolling for battery view on small screens (#1324)
📚 Documentation
🛠 Under the hood
- Add serial prefix 1410 to HMS_2CH inverters
- Output WiFi disconnect reason in console
- Upgrade arkhipenko/TaskScheduler from git #testing to 3.8.5
- tailor issue templates to OpenDTU-OnBattery
- bug report: allow to select non-release GitHub build
- issue template: asks for firmware variant
- remove test_build.yml: unmaintained and redundant
- changelogs: group webapp-related changes
- actions: consistently use checkout@v4
- actions: use setup-node@v4 as v3 causes warning
- actions: fix a typo
- actions: switch to node version 20 for linting
- actions: run yarn prettier to check web app formatting
- format BatteryAdminView changes introduced by #1245
- actions: enable corepack to use fixed version of yarn
- Github Action: Update node version from 20 to 22
- Merge remote-tracking branch 'tbnobody/master' into development
- Publish ESP heap and temperature details on MQTT
- Publish temperature only if its not NAN
- Added icon to radio statistics
- Decrease restart delay to 1 second
- actions: prevent workflows triggering twice
- Optimize MQTT subscription handling
- Move inverter housekeeping tasks inside the InverterAbstract class
- MQTT Hass: Change char* to String&
- MQTT Hass: Rename caption parameter to name
- MQTT Hass: Change parameter order for publishInverterSensor
- MQTT Hass: Change parameter order for publishDtuSensor
- MQTT Hass: Make publish methods static
- MQTT Hass: Change parameter order for publishDtuBinarySensor
- MQTT Hass: Change parameter order for publishInverterButton
- MQTT Hass: Change parameter order for publishInverterNumber
- MQTT Hass: Harmonise parameter names
- MQTT Hass: Remove no more required checks
- MQTT Hass: Move publishBinarySensor logic into separate method
- MQTT Hass: Reorder binary sensor methods
- MQTT Hass: Move publishSensor logic into separate method
- MQTT Hass: Move yield into the publish method
- MQTT Hass: Add device_type and category to publishInverterBinarySensor
- MQTT Hass: Reorder defines
- MQTT Hass: Move serialization and allocation check into own method
- MQTT Hass: Append dtu prefix topic for each single sensor
- MQTT Hass: Implement category as enum instead of String
- MQTT Hass: Implement device class as enum instead of String
- MQTT Hass: Implement method to add common metadata to json output
- Remove unnecessary CMT SPI inversions
- Remove unnecessary delays
- Add SpiManager library
- Optimize CMT FIFO access
- Change cmt_spi3 implementation from C to C++
- Add Arduino SPI translation
- Use SpiManager for nRF, CMT and W5500
- Use shared SPI bus for CMT and W5500
- Only use a single SPI device for CMT
- Slight adjustments to github bug_report template
- Upgrade github actions/checkout to v4
- GitHub Build Action: Automatically generate littlefs image
- Simplify network callback handling
- Simplify inverter handling
- Merge branch 'pr2306' into dev
- Apply license headers and automatic code formatting to SpiManager
- Apply automatic code formatting
- Added device profile for OpenDTU Fusion v2 PoE
- increase chunkSizeWarningLimit for webapp build (#1287)
- issue template: adjust all remaining occurences of "OpenDTU"
- issue template: fix typo
- issue template: fix phrasing
- issue template: turn environment input into dropdown
- Rename NetworkEventCb to DtuNetworkEventCb to prevent further upgrade issues
- Add default values for ethernet pins in case they are not defined for a specific board
- Take care of different signature of ETH.begin method in Arduino Core 3.x
- Added required include to work with IDF 5
- prevent actions from running twice when pushing to PRs
- issue template: fix typo
- Add connection check for W5500 before full initialization
- Prevent warning on GPIO ISR service registration
- Adjust name of OpenDTU Fusion v2 PoE build environment
- Add device profiles for OpenDTU Fusion v2 PoE with displays
- Remove icon because device_class is set
- Remove unused DEVICE_CLASS_TEMP
- Rename NetworkEventCbList_t to DtuNetworkEventCbList_t for further upgrades
- Replace format strings by platform independent macros
- Remove EMAC related code for devices that don't have one
- Initialize the last rssi value with -127 instead of 0
- Huawei CAN: use SpiManager to claim SPI bus (#1311)
- welcome to hoylabs: update README and URLs
- cpplint: use cpplint version 1.6.1 for now
- Don't set TX timeout to 0 anymore for HW/USB CDC
- Hotfix to not use DMA on SPI3 of ESP32-S2
- massage file handling (pio-scripts/patch_apply.py)
- Upgrade ESPAsyncWebServer from 3.1.2 to 3.2.0
- Upgrade ESPAsyncWebServer from 3.2.0 to 3.3.1
- Upgrade ESPAsyncWebServer from 3.3.1 to 3.3.7
- Upgrade ESPAsyncWebServer from 3.3.7 to 3.3.11
- Upgrade ESPAsyncWebServer from 3.3.11 to 3.3.12
- Upgrade ESPAsyncWebServer from 3.3.12 to 3.3.13
- Upgrade ESPAsyncWebServer from 3.3.13 to 3.3.14
- Upgrade ESPAsyncWebServer from 3.3.14 to 3.3.15
- Upgrade ESPAsyncWebServer from 3.3.15 to 3.3.16
- Upgrade olikraus/U8g2 from 2.35.19 to 2.35.21
- Upgrade olikraus/U8g2 from 2.35.21 to 2.35.27
- Upgrade olikraus/U8g2 from 2.35.27 to 2.35.30
- Upgrade olikraus/U8g2 from 2.35.30 to 2.36.2
- Update espressif32 from 6.8.1 to 6.9.0
- Update bblanchon/ArduinoJson from 7.1.0 to 7.2.0
- avoid deprecated containsKey() method of ArduinoJson 7.2.0
- Merge upstream tag 'v24.9.26' into development
- Merge upstream tag 'v24.9.30' into development
- Merge upstream tag 'v24.10.6' into development
- Merge upstream tag 'v24.10.15' into development
- Prepare Release 2024.10.22
- actions: use RELEASE_TOKEN to create a release