Enhancements:
-
Enabled full support for Api payload encryption as used by Anker mobile App #70 (Many thanks to @kb1ibt for analyzing and finding the right key exchange and encryption mechanism)
- The default mode for the client session remains No payload encryption (This is tolerated by the Api servers, but may break in future if Anker will enforce Api payload encryption)
- Payload encryption can optionally be enabled for the Api client session, and is handled completely transparent in the http session communication layer used by the client
- The client session will perform the key handshake if necessary, and the Api request/response payload will be encrypted/decrypted for wire transfer
- The payload encryption can be queried and changed via
myapi.payloadEncryption()
-
MQTT Enhancements for a couple of devices
- Added AE1X0 Anker 3 Phase Wifi Smart Meter Gen 2 #338 (Thanks to @keller767-sys for providing data and confirmation)
- All Power, voltage, current and energy fields for main circuits mapped
- 2nd circuits field mapping is still unknown
- Updated Solarbank 4 MQTT values (Thanks to @keller767-sys for providing data and confirmation)
- Expansion counts in MQTT messages now include the main battery, renamed the fields to avoid wrong merge of expansion counts and capacity calculations
- First entry in expansion messages now is mapped to main battery instead of first expansion
- Added AE1X0 Anker 3 Phase Wifi Smart Meter Gen 2 #338 (Thanks to @keller767-sys for providing data and confirmation)
-
Improved device battery capacity calculation
- Solarbank devices support installation / intermix of various expansion sizes (BP1600, BP2700, BP5000)
- So far the library did not distinguish intermix of expansion batteries, since it was simply not possible in a known way
- MQTT data may reveal more details about expansions, but they neither have a dedicated type nor a model nor any size information in the messages
- Started deterministic approach to recognize expansion type/size from product code in serial numbers, see HA discussion #606
- The found definitions may however be incomplete
- If product code mapping is not possible, the default expansion size remains the controller battery size
- Solarbank 2 & 3 may also provide message 0500 that includes expansion details and it appears to contain a byte for the expansion type, like 'c1', 'c2' for BP1600, 'c5' for BP2700 and 'ae' for BP5000
- Solarbank 4 does not seem to provide message 0500 or known expansion type fields. The BP5000 'ae' byte type found in a SB3 0500 expansion message is nowhere in known SB4 MQTT messages
- MQTT data may also contain state of health information for main battery and/or expansion(s), indicating a degradation of the battery capacity
- Both MQTT information are now used (recognizing the expansion size and considering the battery health) when calculating the overall battery capacity, and the resulting battery energy provided for the device
-
Updated export module
- Added new site device parameter '35' query
-
Updated monitor tool
- Added all smart meter values
- Added or updated the display of battery size/capacity
-
Updated README.md for supported devices
Fixes and other changes:
- None
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.8.1...v3.8.2