github thomluther/anker-solix-api v1.7.1

latest releases: v3.7.0, v3.6.3, v3.6.2...
2 years ago

Fixes:

  • Definition class changes required and adding missing Capacities by PNs and device categorization by PNs bug #82
  • Site Update is removing stand alone devices from api dicts #77 #81
  • Completed parts list for battery devices #80

Enhancements:

  • Re-use old time slot parameters if either end or start time are equal when inserting a slot #86 (1.7.1)
  • Add individual solarbank output preset to schedule in solarbank_monitor #84
  • Enhance set_home_load helper method with set_slot and add_slot capabilities #83
  • Add device types for standalone devices by PN lookup #79
  • Add Support for timeslots to set home load routine #78

Breaking changes:

  • Change allow_discharge method parameter to allow_export for time slot related methods #85 (1.7.1)
  • Modified attribute name for the AnkerSolixDefaults definition from ALLOW_DISCHARGE to ALLOW_EXPORT #85 (1.7.1)

Notes on the set_home_load helper function:

  • It allows to change the home load for the appliance only at this point. For sites with dual solarbank setup, the appliance load has a fixed share of 50% each. Starting with Anker App 2.2.1, the solarbank share can be modified if 50% is not suitable. This capability is not implemented yet and first needs to be understood and someone needs to test it who has dual bank setup. It is assumed, that this requires the new endpoint used in the set_device_load method. But the request parameter data is not clear. This method does not apply the requested changes for a single solarbank setup at all.
  • It was found, that setting an incomplete schedule or missing parameters in the schedule slots may result in a complete erasure of your configured schedule for your power system.
  • When the method is used with current parameter changes and no timeslot is defined for actual time, a new time slot will be created using defaults or provided settings with the helper method.
  • It was found submitting a single new timeslot with the set_slot parameter via the Api ignores the start and end times, but automatically applies the whole day for single slot schedules. This behavior might be different from how the Anker App creates a new schedule.
  • The insert_slot parameter allows to modify the existing schedule with a new slot using the given parameters or defaults when not provided. It will modify the adjacent time slots accordingly and remove overlapped time slots.
  • Time slots can be defined in minute granularity, an advantage compared to the App. The times in the slot parameters must be datetime objects and only hours and minutes will be used. Since datetime does not support 24:00 any time specified as 23:59:xx is considered as end of the day = "24:00"
  • To modify actual settings, the method should be used with the parameters to be modified. Only if past or future times of the day must be changed, the insert_slot parameter must be used. The set_slot parameter will clear all existing slots and only define a single new slot, however since the times are ignored by the appliance, it will be a new all day slot.
  • Testing for the allow_export setting has shown that disabling the switch in the current slot is automatically applied by the solarbank appliance. However, re-enabling the switch in the current slot was not applied and bypass remained 0W or min. of 100 W when using MI80 as defined inverter. Verification in the App showed that the switch was enabled, but power slider was weirdly set to 0W which typically is not possible in the App. This gives the impression that the App might communicate actual slot changes differently to the solarbanks and not only via the cloud Api. (The App also has Bluetooth connection and connection via another MQTT cloud server for real time data monitoring of any device supported by the App.) Potentially there can be other setting changes in the current slot that are accepted by the cloud Api, but not applied by the appliance. This may also depend on your actual appliance setup and inverter definition.
  • Testing for the lower power range settings have shown that the low and high power limits returned by the Cloud Api seem to get enforced. Those limits are actually 100W min and 800W max. as shown in responses for the home load schedule. So while the Api library supports a low limit of 0 W that you can set as appliance load, it is basically ignored because it is below the given limits returned from the cloud. Nevertheless, when you set 800W home load but your inverter supports just 600 W or less, damage may occur!
  • Note that this method allows you to change the charge_priority level. However, depending on your setup this might be ignored as well since the charge_priority setting is only considered when Anker inverters (MI80) are defined at this point in time.
  • The allow_export setting reflects the switch in the Api and Anker mobile App. While the App and the Api are reflecting a 0W home load preset when the switch is off, something different is actually applied to the solarbank and this might be confusing:
    • If non Anker inverter is used and 0W switch accessory is NOT installed: The switch will disable only the battery discharge mode for the given schedule slot. However, based on the minimum home load definitions for your configured inverter, the minimum bypass of 100 or 150 W will still be applied as fixed home load settings, independent of the actual home load setting. Weirdly on top, the App and Api are reflecting 0 W output preset which is actually not the case, since the fixed minimum may be appplied.
    • If MI80 inverter or 0W switch accessory is installed: Disabling the export switch will completely block any power bypass to the house by technically 'cutting off' the inverter (No DC input voltage). The inverter will remain powered off. That means all solar power goes into the battery and bypass to the house is NOT possible. Re-enabling the inverter may require lead time of 1-2 minutes until the inverter is capable taking over the maximum possible bypass load. Any power that cannot be bypassed to the inverter must be limited on the solar panels by the solarbank to protect and enforce the actual battery charging limits.
    • While the App enforces steps for the home load, charge priority and time interval settings, they are not enforced by the Api library and inter step values may be accepted by the appliance. However, this was not explored/verified yet. Typically the step granularity used in the Anker app is sufficient for the home load (10 W) and charge priority (5%) and there should be no practical need for using inter step values. Time intervals on minute granularity seems to work, as long as the schedule is fully adopted by the appliance.

Attention

The Api library does NOT verify if the set home load is suitable for your devices. It will only be applied to solarbank device types, but the limits for the attached inverter are unknown. I need to warn again at this point, that it is the USER's SOLE RISK using this Api library. If you apply too much power and cause damage to your inverters or solarbanks, you may loose manufacturer's warranty as well !!!!!

Don't miss a new anker-solix-api release

NewReleases is sending notifications on new releases.