Enhancements:
- Added support to modify PPS TOU plans (Many thanks to @brianbis for all the reverse engineering and related PRs)
- TOU plans are managed through the cloud Api
- While the plan time ranges can also be changed through MQTT command, they are overruled by the TOU plan on the cloud server, which regularily applies MQTT commands according its known TOU plan in the cloud
- The prices and the currency can only be managed through the cloud Api. They are not part of the device MQTT data
- Added helper method to adjust various parameters of the plan as supported via Api
- The helper capabilities are similar to the Solarbank TOU helper method
- Example PPS TOU plan as managed through the pps_use_time device attribute
{
"ranges": [
{"start_time": "00:00", "end_time": "09:00", "type": 1},
{"start_time": "09:00", "end_time": "19:00", "type": 3},
{"start_time": "19:00", "end_time": "24:00", "type": 1}
],
"prices": [
{"price": "0.2", "type": 1},
{"price": "0.001", "type": 3}
],
"unit": "$",
"reserve_power": 6
}Important
As of today, device member accounts have no access permission to the Api device attribute endpoints required to query and control the PPS Time of Use plans. Therefore you have to use the device owner account if you want to control the plan through the library. This restriction also applies to the Anker mobile App. If you feel the need to control the TOU plan also as member, please raise a Ticket with Anker Support.
-
Updated poller methods to include
- PPS Device attributes for pps_use_time plans, ip_region and currency attributes
- Query account currencies also if PPS devices exist
-
Updated export module
- Added device energy queries for supported devices (query fails for other devices)
- Allow auto disaster endpoints to be used also if charging_service endpoints not supported on EU server
- EU servers also support auto disaster endpoints for PPS supporting the Storm Guard feature
-
Updated monitor tool
- Updated to the changed PPS TOU plan format
-
Updated README.md for supported devices
Fixes and other changes:
-
BP2700 Expansion Unit Serial Number was truncated by one character since 3.8.2 (#346)
- Adjusted the MQTT descriptions to consider all characters again
- It appears that the various Solarbank expansion types use different SN types in MQTT messages, which vary from 15 to 17 chars
- Only 16-17 char serials appear to follow the external device serial format, including the product code contained in the serial
- 15 char serials appear to be known only internally and may reflect the BMS or Controller serials?
- Only BP2700 expansions appear to provide the external serial format in MQTT messages, while BP1600 and BP5000 provide only 15 char serials
-
EV charger could not be started while completed status active (#629, #630)
- Completed status was considered a short temporary status before the charger returns to the standby status
- The Anker App allowed the Start button while charge completed status is active, but the translated charger modes and options did not
- Added the start to the mode options when the status is charge completed
-
PPS devices assigned to power panel systems will now be marked as passive MQTT device
- This allows the HA integration and MQTT controls to reject PPS related MQTT commands, since they may or may not be supported while the PPS belongs to the system
-
Simplified MQTT V2 command descriptions to condense the MQTT map
Breaking changes:
-
Dynamic tariff price detail queries started to fail since Sept if the provider is not Nordpool (#619)
- Added code to catch raised Api error exceptions for price detail queries to avoid the site details poller will abort
- Added code to ignore price detail queries completely if not Nordpool provider, since other provider prices never have been fully supported by the libary
-
Change cloud Api server assignment for Singapore
- SG accounts seem to get assigned to the EU server, see #593
-
Continuous renaming of MQTT data fields may be required as values are understood, validated and merged across the various devices
Full Changelog: v3.8.2...v3.9.0