diff --git a/custom_components/bluetti_bt/bluetti_bt_lib/base_devices/ProtocolV1Device.py b/custom_components/bluetti_bt/bluetti_bt_lib/base_devices/ProtocolV1Device.py index b7d717d..6dd4dd0 100644 --- a/custom_components/bluetti_bt/bluetti_bt_lib/base_devices/ProtocolV1Device.py +++ b/custom_components/bluetti_bt/bluetti_bt_lib/base_devices/ProtocolV1Device.py @@ -64,7 +64,7 @@ class ProtocolV1Device(BluettiDevice): @property def writable_ranges(self) -> List[range]: - return [range(3006, 3008)] + return [range(3006, 3009)] @property def pack_polling_commands(self) -> List[ReadHoldingRegisters]: diff --git a/custom_components/bluetti_bt/bluetti_bt_lib/devices/ac300.py b/custom_components/bluetti_bt/bluetti_bt_lib/devices/ac300.py index 5151c32..3ceae5c 100644 --- a/custom_components/bluetti_bt/bluetti_bt_lib/devices/ac300.py +++ b/custom_components/bluetti_bt/bluetti_bt_lib/devices/ac300.py @@ -58,7 +58,7 @@ class AC300(ProtocolV1Device): def writable_ranges(self) -> List[range]: return super().writable_ranges + [ range(3001, 3016), - 3061, + range(3061), ] @property diff --git a/custom_components/bluetti_bt/bluetti_bt_lib/devices/ac500.py b/custom_components/bluetti_bt/bluetti_bt_lib/devices/ac500.py index 12edcb2..ca0dcc9 100644 --- a/custom_components/bluetti_bt/bluetti_bt_lib/devices/ac500.py +++ b/custom_components/bluetti_bt/bluetti_bt_lib/devices/ac500.py @@ -57,7 +57,7 @@ class AC500(ProtocolV1Device): def writable_ranges(self) -> List[range]: return super().writable_ranges + [ range(3001, 3016), - 3061, + range(3061), ] @property diff --git a/custom_components/bluetti_bt/bluetti_bt_lib/devices/eb3a.py b/custom_components/bluetti_bt/bluetti_bt_lib/devices/eb3a.py index 6f37a66..644ac26 100644 --- a/custom_components/bluetti_bt/bluetti_bt_lib/devices/eb3a.py +++ b/custom_components/bluetti_bt/bluetti_bt_lib/devices/eb3a.py @@ -28,12 +28,15 @@ class EB3A(ProtocolV1Device): return super().polling_commands + [ ReadHoldingRegisters(77, 1), ReadHoldingRegisters(86, 1), + ReadHoldingRegisters(3034, 1), + ReadHoldingRegisters(3060, 1), + ReadHoldingRegisters(3063, 5), ] @property def writable_ranges(self) -> List[range]: return super().writable_ranges + [ - 3034, - 3060, - range(3063, 3066), + range(3034, 3035), + range(3060, 3061), + range(3063, 3067), ] diff --git a/custom_components/bluetti_bt/bluetti_bt_lib/devices/ep500.py b/custom_components/bluetti_bt/bluetti_bt_lib/devices/ep500.py index 1c5ff4a..c95c60e 100644 --- a/custom_components/bluetti_bt/bluetti_bt_lib/devices/ep500.py +++ b/custom_components/bluetti_bt/bluetti_bt_lib/devices/ep500.py @@ -53,7 +53,7 @@ class EP500(ProtocolV1Device): def writable_ranges(self) -> List[range]: return super().writable_ranges + [ range(3001, 3016), - 3061, + range(3061), ] @property diff --git a/custom_components/bluetti_bt/bluetti_bt_lib/devices/ep500p.py b/custom_components/bluetti_bt/bluetti_bt_lib/devices/ep500p.py index f70d906..af462cb 100644 --- a/custom_components/bluetti_bt/bluetti_bt_lib/devices/ep500p.py +++ b/custom_components/bluetti_bt/bluetti_bt_lib/devices/ep500p.py @@ -53,7 +53,7 @@ class EP500P(ProtocolV1Device): def writable_ranges(self) -> List[range]: return super().writable_ranges + [ range(3001, 3016), - 3061, + range(3061), ] @property diff --git a/custom_components/bluetti_bt/bluetti_bt_lib/field_attributes.py b/custom_components/bluetti_bt/bluetti_bt_lib/field_attributes.py index 5cec159..cac844c 100644 --- a/custom_components/bluetti_bt/bluetti_bt_lib/field_attributes.py +++ b/custom_components/bluetti_bt/bluetti_bt_lib/field_attributes.py @@ -18,7 +18,6 @@ class FieldType(Enum): NUMERIC = auto() BOOL = auto() ENUM = auto() - BUTTON = auto() class FieldAttributes: @@ -220,7 +219,7 @@ FIELD_ATTRIBUTES: dict[str, FieldAttributes] = { "total_grid_feed": EnergyFieldAttributes("Total Grid Feed"), # Device specific controls "power_off": FieldAttributes( - type=FieldType.BUTTON, + type=FieldType.BOOL, setter=True, name="Power Off", ), @@ -294,7 +293,7 @@ FIELD_ATTRIBUTES: dict[str, FieldAttributes] = { ), "power_lifting_on": FieldAttributes( type=FieldType.BOOL, - setter=False, # Disabled for safety reasons + setter=True, name="Power Lifting", ), } diff --git a/custom_components/bluetti_bt/const.py b/custom_components/bluetti_bt/const.py index e6246f1..1568e73 100644 --- a/custom_components/bluetti_bt/const.py +++ b/custom_components/bluetti_bt/const.py @@ -26,8 +26,11 @@ SUPPORTED_MODELS = [ ] CONTROL_FIELDS = [ - "ac_output_on", - "dc_output_on", + "ac_output_on_switch", + "dc_output_on_switch", + "power_off", + "eco_on", + "power_lifting_on", ] DIAGNOSTIC_FIELDS = [ diff --git a/custom_components/bluetti_bt/manifest.json b/custom_components/bluetti_bt/manifest.json index bf82827..f261fe9 100644 --- a/custom_components/bluetti_bt/manifest.json +++ b/custom_components/bluetti_bt/manifest.json @@ -22,5 +22,5 @@ "iot_class": "local_polling", "issue_tracker": "https://github.com/Patrick762/hassio-bluetti-bt/issues", "requirements": [], - "version": "0.0.19" + "version": "0.0.20" }