3.5.3
Enhancements:
- Added and enhanced MQTT descriptions for various device models
- Added obvious Power Panel values of Json fields in binary data
- Added obvious X1 values of Json payload data
- Enhanced A2345, A1728, A1726
- Added command descriptions for various devices as provided by device owners
- Added USB port switch control for A2345 devices
- Added support for Solix EV charger V1 A5191
- EV charger is shared with a member
- EV charger in an X1 system
- EV charger in a solarbank multisystem
- EV charger single and 3 phase flavors
- Added Api helper methods for endpoints providing useful data, like order statistics
- Added order statistics to Api poller and device cache
- Enhanced mqtt_charger device class with methods to support EV charger for HA integration
- Add MQTT device methods to determine the operational state based on various state fields and method to provide possible operation mode options based on state for HA integration
- Enhanced MQTT framework:
- Support dynamic control value ranges, based on reported MQTT data states showing the limits of the used model type
- Support new data field types for times in sile or bin format (decoding and encoding for controls)
- Support description of an optional encoding type for MQTT control message payload. EV charger Start and Stop commands require this
along with a 16 byte random seed in the message fields, otherwise the MQTT command is not accepted by the device - Support different owner ID in MQTT control messages and the Api cache if the device is shared with a member, otherwise the device
member cannot control the device with its own ID even if it can subscribe and receive messages - Recognize and support json data within binary MQTT fields as used by Power Panel devices
- Support json data in MQTT message payload (instead of binary data in payload) as used by HES systems
- Added new dataclass to handle Json payload data for decoding and encoding
- Modified export module to use realtime trigger as well as status request commands, since they can trigger various message types
- Enhancements to the monitor to display additional data
- Add EV charger information and controls
- Added new Solarbank PPS system type and device information (mapped to Solarbank information)
- Fixed speed change control to replay MQTT messages from files
- Enhancements to the mqtt_monitor
- Buffer received MQTT messages while waiting for user input and print them once input is completed
- This ensures the published MQTT control messages from the user input are also printed and decoded in the message view
- Fixed formatting of value table display
- Support decoding and display of json data fields or json messages as received from Power Panel and HES system devices
- Updated README for supported devices
Fixes:
- Fixed factor for SB2 consumed energy MQTT value
- For dynamic prices, assume end price in forecasts if provider is not Nordpool
- Fixed battery capacity updates based on MQTT data for HES and Power Panel devices
- Improved efficiency of MQTT data updates in the Api caches
- Only the extracted values from the received message are now traversed instead of the full MQTT device cache
- MQTT device callbacks are done if a dynamic description value is received and changed, in order to update the control description range with the new limit
- Fixed export module:
- Randomization with additional field names
- Proper randomization of values in lists
- Added support for randomization in MQTT json payload as used by HES system devices
- Refactored code to match new Ruff rules
- Avoid input methods may block the event loop
- Various other fixes in the codebase
Breaking changes:
- Continuous renaming of MQTT data fields may be required as values are understood, validated and merged across the various devices
Full Changelog: v3.5.1...v3.5.3