This repository has been archived by the owner on Jun 20, 2024. It is now read-only.
v0.8.0
Added
- A large number of convenience methods in the client to alter the state of the inverter:
enable_charge_target(target_soc: int)
&disable_charge_target()
enable_charge()
&disable_charge()
enable_discharge()
andenable_discharge()
set_battery_discharge_mode_max_power()
andset_battery_discharge_mode_demand()
set_charge_slot_n((start_time: datetime.time, end_time: datetime.time))
andreset_charge_slot_n()
for slots 1 & 2. Also matchingset_discharge_slot_n((start_time, end_time))
andreset_discharge_slot_n()
.set_mode_dynamic()
to maximise storage of generation and discharge during demand. This mirrors "mode 1"
operation in the portal.set_mode_storage(slot_1, [slot_2], [export])
which keeps the battery charge topped-up and discharges
during specified periods. This mirrors modes 2-4 in the portal.set_datetime(datetime)
to set the inverter date & time.
- Ensure we always close the socket after every network socket. Sometimes the inverter turns orange/grey
in the portal after executing queries via this library, and this seems to mitigate against it.
Changed
- Potentially breaking: Wholesale renaming of registers to more official designations, and standardising
naming somewhat. Part of the motivation for adding more convenience functions is so clients never have to deal
with register names directly, so this should hopefully make future renaming easier.