From fb73daef628bcfdf1653e847f1c84bc6f20a3628 Mon Sep 17 00:00:00 2001 From: Sam Redfern Date: Mon, 4 Aug 2025 23:23:53 +1000 Subject: [PATCH] Add support for EL30V2 device in manifest and device builder --- .../bluetti_bt/bluetti_bt_lib/devices/el30v2.py | 8 ++++++++ .../bluetti_bt/bluetti_bt_lib/utils/device_builder.py | 5 ++++- custom_components/bluetti_bt/manifest.json | 3 ++- 3 files changed, 14 insertions(+), 2 deletions(-) create mode 100644 custom_components/bluetti_bt/bluetti_bt_lib/devices/el30v2.py diff --git a/custom_components/bluetti_bt/bluetti_bt_lib/devices/el30v2.py b/custom_components/bluetti_bt/bluetti_bt_lib/devices/el30v2.py new file mode 100644 index 0000000..ab85630 --- /dev/null +++ b/custom_components/bluetti_bt/bluetti_bt_lib/devices/el30v2.py @@ -0,0 +1,8 @@ +"""Elite 30 V2 fields.""" + +from ..base_devices.ProtocolV2Device import ProtocolV2Device + + +class EL30V2(ProtocolV2Device): + def __init__(self, address: str, sn: str): + super().__init__(address, "EL30V2", sn) \ No newline at end of file diff --git a/custom_components/bluetti_bt/bluetti_bt_lib/utils/device_builder.py b/custom_components/bluetti_bt/bluetti_bt_lib/utils/device_builder.py index 37cae52..3ee58ba 100644 --- a/custom_components/bluetti_bt/bluetti_bt_lib/utils/device_builder.py +++ b/custom_components/bluetti_bt/bluetti_bt_lib/utils/device_builder.py @@ -17,9 +17,10 @@ from ..devices.ep500p import EP500P from ..devices.ep600 import EP600 from ..devices.ep760 import EP760 from ..devices.ep800 import EP800 +from ..devices.el30v2 import EL30V2 DEVICE_NAME_RE = re.compile( - r"^(AC60|AC70|AC70P|AC180|AC180P|AC200L|AC200M|AC300|AC500|EB3A|EP500|EP500P|EP600|EP760|EP800)(\d+)$" + r"^(AC60|AC70|AC70P|AC180|AC180P|AC200L|AC200M|AC300|AC500|EB3A|EP500|EP500P|EP600|EP760|EP800|EL30V2)(\d+)$" ) @@ -55,6 +56,8 @@ def build_device(address: str, name: str): return EP760(address, match[2]) if match[1] == "EP800": return EP800(address, match[2]) + if match[1] == "EL30V2": + return EL30V2(address, match[2]) def get_type_by_bt_name(bt_name: str): diff --git a/custom_components/bluetti_bt/manifest.json b/custom_components/bluetti_bt/manifest.json index eb2eb59..b17fb56 100644 --- a/custom_components/bluetti_bt/manifest.json +++ b/custom_components/bluetti_bt/manifest.json @@ -14,7 +14,8 @@ { "local_name": "EP600*" }, { "local_name": "EP760*" }, { "local_name": "EP800*" }, - { "local_name": "PBOX*" } + { "local_name": "PBOX*" }, + { "local_name": "EL30V2*" } ], "codeowners": ["@Patrick762"], "config_flow": true,