0.8.5
Changes Made by @pvandenh
New Entities — Anti Overload Control
switch.anti_overload— Enables/disables Anti Overload Mode; turning off sends0x00, turning on restores the last stored threshold valuenumber.anti_overload_value— Sets the threshold value (1–99, default 63) used when Anti Overload is enabled; immediately resends config to the charger if Anti Overload is currently on, otherwise stores ready for next enable
Both entities are only created when the user has confirmed their charger has the physical DLB module installed.
Bug Fix
- Fixed Anti Overload value being reset to 63 on every DLB config change — The
anti_overloadbyte was hardcoded as3fdirectly in theSET_DLB_CONFIGhex template string. Any DLB mode change from HA (switching modes, toggling Extreme/Night Mode, etc.) would unconditionally overwrite whatever value the user had set in the Z-Box app. The byte is now tracked in the_dlb_configcache, round-tripped via the charger's ACK response, and persisted toconfig_entry.optionsalongside all other DLB config fields
Protocol Discovery
- Reverse-engineered
byte16of the0x6bmessage — Anti Overload is encoded as a single byte:0x00= disabled,1–99= enabled with that value as the threshold. No separate flag byte — the zero value itself signals disabled. Confirmed across four packet captures:
- Updated
SET_DLB_CONFIGandSEND_DLB_CONFIGmessage structures —anti_overloadslice added at[32:34]in both the client send and server ACK definitions inconst.py
Service Changes
beny_wifi.set_dlb_configextended with two new optional fields:anti_overload(boolean) — enable or disable Anti Overloadanti_overload_value(integer, 1–99) — set the threshold independently of the toggle; can be used to pre-stage a value before enabling