Releases: tbnobody/OpenDTU
Releases · tbnobody/OpenDTU
v25.9.11
⚡ Breaking Changes
🚀 Features
🐛 Fixes
- Fix: Corrected typo in string
- Fix: typo in logging tag of PinMappingClass
- Fix: Dont allow HA base topic without trailing slash
- Fix: make logging more leightweight using large shared buffer
🌎 Web Application
- webapp: translate logging modules in admin view
- webapp: fix: return log level for more than 5 modules
- webapp: apply solarized-dark colors to web console
- webapp: Update dependencies
- webapp: Update dependencies
- webapp: Update node dependency
- webapp: Update dependencies
- webapp: Updated to latest sass version
- webapp: Simplify eventlog display
- webapp: Simplify line class detection in console view
- webapp: Make compiler happy
- webapp: Make compiler happy
- webapp: Doublecheck upload files bounds
- webapp: Use correct method scope
- webapp: Doublecheck for undefined behavior
- webapp: Fix lint error
- webapp: Make compiler happy
- webapp: Update dependencies
- webapp: Comment bootstrap workaround
- webapp: Simplify authentication code
- webapp: Configure additional compression
- webapp: Fix exception on file upload select
- webapp: Minify json configs before upload
- webapp: Remove unused variable
- webapp: add app.js.gz
🛠 Under the hood
- Added missing breaking change to README.md
- remove downstream-specific task translations
- MessageOutput: remove redundant #include
- do not derive MessageOutput from Print
- Add serial number prefix 114a to HMS_2CH
- Merge branch 'pr2713' into dev
- Merge branch 'pr2675' into dev
- Upgrade olikraus/U8g2 from 2.36.5 to 2.36.12
- Update bblanchon/ArduinoJson from 7.4.1 to 7.4.2
- Upgrade ESP32Async/ESPAsyncWebServer from 3.7.7 to 3.7.9
- Use fixed version of AsyncTCP
- Add Yarn Prettier badge to readme
- Upgrade ESP32Async/ESPAsyncWebServer from 3.7.9 to 3.7.10
- MessageOutput does not use LOG macros by itself
- syslog: implement rate limiting
- logging: centralize rate limiting
- logging: unlock while processing buffer
- update discord link to point to expected channel
- github actions: Upgrade actions/checkout to v5
- Upgrade ESP32Async/ESPAsyncWebServer from 3.7.10 to 3.8.0
- Remove comment which doesn't make sense at this posistion
- Use pre-defined literals in webapi
- Added hint for breaking change
v25.5.10
⚡ Breaking Changes
🚀 Features
- Feature: Rewrite virutal console to support new line break and colored highlighting
- Feature: Redirect all ESP log output to the MessageOutput handler
- Feature: Allow setting the log level for the different modules at runtime
- Feature: Add syslog logger
🐛 Fixes
- Fix typo
- Fix possible race condition when enabling Admin Mode AP
- Fix: When enabling admin mode, the search for the STA was automatically disabled
- Fix: Prevent unpredicted behavior on overflows of millis()
- Fix: handle MQTT message fragmentation
- Fix: motivate browsers to reload web app resources
- Fix: Allow negative reactive power for inverters..
- Fix: Prevent crash when performing a lot of inverter edits
- Fix vector reservation for logging modules
🌎 Web Application
- webapp: Allow scrolling in horizontal direction in console window
- webapp: optimize syslog settings
- webapp: Extend language packs for syslog messages
- webapp: Update dependencies
- webapp: Add hint text for the core log level
- webapp: Make css for home view only available for home view
- webapp: Add additional filter possibilities to console view
- webapp: German locale: improvements and typo fixes
- webapp: fix broken reference in locales
- webapp: German locale: be informal
- webapp: Update dependencies
- webapp: Make all styles scoped
- webapp: Use object notation for all alerts
- webapp: Auto hide alert if response was success
- webapp: Update dependencies
- webapp: add app.js.gz
🛠 Under the hood
- Show git branch name in system info
- Remove outdated screenshots as they are available in the official documentation as well
- Use more thread save Message Output
- Hoymiles Lib: Replace lot of println by printf
- Hoymiles Lib: Move array dumping methods in separate method
- Hoymiles Lib: Use pre-rendered serial number
- Hoymiles Lib: Return command string directly instead of printing it to a stream
- Pinmapping: Remove println output
- MqttSettings: Replace all print and println with printf
- MqttHandleInverter: Replace all print and println with printf
- Configuration: Replace print and println with printf
- NetworkSettings: Replace println by printf
- NetworkSettings: Optimize setHostname function
- NetworkSettings: Optimize applyConfig function
- NetworkSettings: Optimize setStaticIp function
- NetworkSettings: Optimize handleMDNS function
- NetworkSettings: Optimize loop function
- InverterSettings: Optimize init function
- Wifi connection is only established when IP is set and the stack reports connected
- Move disableAdminMode to separate method
- Implement Wifi reconnect watchdog
- Replace all print and println with printf in startup code
- Use same name for CMT debug messages
- Use ESP Logging Macros for device startup
- Use ESP Logging Macros for webapi
- Use ESP Logging Macros for utils
- Use ESP Logging Macros for pinmapping
- Use ESP Logging Macros for configuration
- Use ESP Logging Macros for network
- Use ESP Logging Macros for mqtt
- Use ESP Logging Macros for i18n
- Use ESP Logging Macros for invertersetup
- Use ESP Logging Macros for hoymiles library
- bump mikepenz/release-changelog-builder-action from 4 to 5
- Add UI for syslog configuration to network view
- Use new logging function in syslog module
- Syslog: Send dynamic headers based on log level of the message
- CPU temperature: make boolean value human-readable in serial log
- Update bblanchon/ArduinoJson from 7.3.1 to 7.4.1
- Upgrade ESP32Async/ESPAsyncWebServer from 3.7.6 to 3.7.7
- Apply log level only for facilities which are available for configuration
- Apply code formatting
v25.4.10
🐛 Fixes
🌎 Web Application
🛠 Under the hood
- feat(WebApi_prometheus.cpp): dynamically adjust the initial response buffer size
- Merge branch 'pr2633' into dev
- Slight optimization in bug report template
- Use the right format string on a lot of locations
- Make setLed method compatible with Arduino Framework 3
- Use correct signature for getMaxResendCount
- Remove not required parameters from MqttSubscribeParser
- Give reconnect more time
v25.4.4
🐛 Fixes
🌎 Web Application
🛠 Under the hood
v25.4.2
🚀 Features
🐛 Fixes
- Fix: Disable SPI3_HOST with ESP32-S2 for SpiManager
- Fix: web console: prevent concurrent websockets
- Fix: disable temperature readings for ESP32-S3
🌎 Web Application
- webapp: Update dependencies
- webapp: Update dependencies
- webapp: show precise data age for inverters and introduce and use DataAgeDisplay component
- webapp: Update dependencies
- webapp: beautify controls on web console view
- webapp: remove (more) colons from forms
- webapp: add app.js.gz
🛠 Under the hood
- Implement a more strict issue and pr policy
- Upgrade ESP32Async/ESPAsyncWebServer from 3.6.2 to 3.7.0
- Upgrade olikraus/U8g2 from 2.36.2 to 2.36.4
- Apply automatic code formatting
- Add partition file for 8MB devices
- Change datatype for led pins from int8_t to gpio_num_t
- Change datatype for nrf24 pins from int8_t to gpio_num_t
- Change datatype for cmt pins from int8_t to gpio_num_t
- Change datatype for w5500 pins from int8_t to gpio_num_t
- Change datatype for eth pins from int to gpio_num_t
- Make pinmapping variable const
- Move all display related initialization inside the display class
- Change datatype for display pins from uint8_t to gpio_num_t
- Move SpiManager registration into PinMapping class
- Upgrade ESP32Async/ESPAsyncWebServer from 3.7.0 to 3.7.3
- Update bblanchon/ArduinoJson from 7.3.0 to 7.3.1
- Upgrade olikraus/U8g2 from 2.36.4 to 2.36.5
- Upgrade ESP32Async/ESPAsyncWebServer from 3.7.3 to 3.7.4
- Simplify code for sunset calculation
- Simiplify code for CommandQueue
- Simplify code of weekday calculation
- Less calculation in locked code area
- Simplify Display Graphic code
- Added device profile for Olimex ESP32-POE and CMT2300A module
- Reduce nested code by one level
- Call getLocalTime() only once to prevent a delay of 10ms if no time is available
- Simplify code in radio classes
- Updated all languages to latest status
v25.2.3
🚀 Features
🐛 Fixes
🌎 Web Application
🛠 Under the hood
- Use new name for ESPAsyncWebServer
- Move network reconfiguration to main loop to prevent crashes
- Merge branch 'pr2513'
- Added greek language pack
- Harmonise all language packs
- Upgrade ESP32Async/ESPAsyncWebServer from 3.6.0 to 3.6.2
- Update espressif32 from 6.9.0 to 6.10.0
- Manually applied latest changes in PR #2509
v25.1.14
🚀 Features
- Feature: show hint if device profile missing or not selected
- Feature: New handling of command queue
- Feature: Set Limit transfer only to "OK" if the queue does not contain any more commands
- Feature: Show inverter status and current power in overview (if multiple inverters are available)
- Feature: Detect if inverter supports 'Power Distribution Logic'
- Feature: Add support for HERF-600 inverters
🐛 Fixes
- Fix comment
- Fix: Really always execute the generate of the factory.bin file
- Fix: need to skip BOM also when migrating config
- Fix: Remove temperature readings for ESP32-S2 modules
- Fix: Auto reboot was not triggered on pin mapping change
- Fix: Wifi.begin was called with wrong parameters
- Fix: Uptime overflow after ~50 days
- Fix lint errors
- Fix: Hint regarding required device profile is shown for profiles which don't need a device profile
- Fix: Syntax error in defines
🌎 Web Application
- webapp: fix line break for reload button
- webapp: avoid undefined serial for InputSerial
- webapp: Update dependencies
- webapp: improve styling of hints on home view
- webapp: Update dependencies
- webapp: Update dependencies
- webapp: Update dependencies
- webapp: Update dependencies
- webapp: add app.js.gz
🛠 Under the hood
- Make function getClientId const
- Organize includes
- Remove not required string generation
- Use correct variable
- change markdown table to github style
- Update README.md
- add Sum of DC Powrr
- Feature:: Added support for HMS-450 inverters which begin with 1400
- Upgrade ESPAsyncWebServer from 3.3.22 to 3.3.23
- Update bblanchon/ArduinoJson from 7.2.0 to 7.2.1
- Upgrade ESPAsyncWebServer from 3.3.23 to 3.4.0
- Upgrade ESPAsyncWebServer from 3.4.0 to 3.4.1
- Upgrade ESPAsyncWebServer from 3.4.1 to 3.4.2
- Show totals in blue and producing inverters in green
- Disable queue debugging
- Update bblanchon/ArduinoJson from 7.2.1 to 7.3.0
- Remove extra semikolon
- Merge branch 'pr2421' into dev
- Merge branch 'pr2420' into dev
- Upgrade ESPAsyncWebServer from 3.4.2 to 3.6.0
- Update nrf24/RF24 from 1.4.10 to 1.4.11
v24.11.7
🚀 Features
- Feature: Refactor config management interface
- Feature: Allow custom language pack for webapp
- Feature: Added spanish language pack
- Feature: Added italian language pack
- Feature: Implement language pack support for display texts
- Feature: Added spanish display translation
- Feature: Added italian display translation
- Feature: Added device info for HMS-700
- Feature: Validate JSON before uploading
🐛 Fixes
- Fix: cpplint errors
- Fix: Take DST into account when recalculating the sunrise sunset time
- Fix: Lint Error
- Fix: skip BOM in JSON files (pin_mapping and config)
- Fix lint errors
🌎 Web Application
- webapp: Use global AlertResponse interface
- webapp: Allow upload of language packs
- webapp: Added global reboot wait screen
- webapp: Rename interface to prevent lint errors
- webapp: Fix: WaitRetstartView showed basic auth dialog
- webapp: Update dependencies
- webapp: right-align labels for inputs on non-sm viewports
- webapp: last table row shall have no bottom border
- webapp: remove table's bottom margin
- webapp: add gap between inverter selectors
- webapp: avoid inline style in inverter channel info card
- webapp: equalize style of cards with tables in live view
- webapp: use reasonable name for radio stats accordion
- webapp: align table headers with card headers
- webapp: apply card-table class to info view cards
- webapp: adjust look of tables in accordions to live view cards
- webapp: beautify radio statistics reset button
- webapp: fix inverter "add" and "save order" button positions
- webapp: optimize spacing on bottom of cards
- webapp: MQTT: use v-if in favor of v-show
- webapp: MQTT: no login with cert if TLS disabled
- webapp: avoid inline style for inverter channel info value
- webapp: properly space alert with hint for hostname
- webapp: optimize look of firmware update cards
- webapp: inverter advanced tab needs space at the top
- webapp: optimize look of login page
- webapp: optimize body bottom padding and length
- webapp: consistently use no colon in form labels
- webapp: optimize placement of device profile doc buttons
- webapp: show pin mapping categories as cards
- webapp: device manager: optimize cards for tab nav
- webapp: always scroll up when navigating to another view
- webapp: fix inverter selection button breaking
- webapp: declare emitted event in FormFooter component
- webapp: Update dependencies
- webapp: add app.js.gz
🛠 Under the hood
- Update UpgradePartition.md
- Update nrf24/RF24 from 1.4.9 to 1.4.10
- Upgrade ESPAsyncWebServer from 3.3.16 to 3.3.17
- 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
- add and use configuration write guard
- Rewrite display language handling to work with locale strings instead of magic numbers.
- Added README.md to lang folder
- Upgrade ESPAsyncWebServer from 3.3.17 to 3.3.21
- Merge branch 'pr2328' into dev
- keep console.log() when serving webapp
- Remove not required include
- Replace multiline print by printf
- Remove not required include
- Merge branch 'pr2360' into dev
- Upgrade ESPAsyncWebServer from 3.3.21 to 3.3.22
- Build factory.bin in every compile attempt
v24.10.15
🚀 Features
🐛 Fixes
🌎 Web Application
- webapp: pin assignment: hide unsupported pins
- webapp: Update dependencies
- webapp: Update dependencies
- webapp: Update dependencies
- webapp: add app.js.gz
🛠 Under the hood
- massage file handling
- Update patch_apply.py
- Don't set TX timeout to 0 anymore for HW/USB CDC
- Merge branch 'pr2340' into dev
- Merge branch 'pr2115' into dev
- Hotfix to not use DMA on SPI3 of ESP32-S2
- Merge branch 'pr2344' into dev
- 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 olikraus/U8g2 from 2.35.30 to 2.36.2
- Upgrade ESPAsyncWebServer from 3.3.15 to 3.3.16