added ep760

This commit is contained in:
Patrick762 committed 2024-02-18 13:35:17 +01:00
1 parent 2abcbbb392
commit 8409221675
7 files changed
+25 -18

No files matched your search

@@ -24,10 +24,12 @@ from bluetti_mqtt.mqtt_client import (
MqttFieldType, MqttFieldType,
) )
from .bluetti_bt_lib.utils.device_builder import build_device
from . import device_info as dev_info, get_unique_id from . import device_info as dev_info, get_unique_id
from .const import DATA_COORDINATOR, DOMAIN, ADDITIONAL_DEVICE_FIELDS from .const import DATA_COORDINATOR, DOMAIN, ADDITIONAL_DEVICE_FIELDS
from .coordinator import PollingCoordinator from .coordinator import PollingCoordinator
from .utils import unique_id_loggable, build_device from .utils import unique_id_loggable
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)
@@ -0,0 +1,8 @@
"""EP760 fields."""
from ..base_devices.ProtocolV2Device import ProtocolV2Device
class EP760(ProtocolV2Device):
def __init__(self, address: str, sn: str):
super().__init__(address, "EP760", sn)
@@ -10,8 +10,11 @@ from ..devices.eb3a import EB3A
from ..devices.ep500 import EP500 from ..devices.ep500 import EP500
from ..devices.ep500p import EP500P from ..devices.ep500p import EP500P
from ..devices.ep600 import EP600 from ..devices.ep600 import EP600
from ..devices.ep760 import EP760
DEVICE_NAME_RE = re.compile(r"^(AC60|AC200M|AC300|AC500|EB3A|EP500|EP500P|EP600)(\d+)$") DEVICE_NAME_RE = re.compile(
r"^(AC60|AC200M|AC300|AC500|EB3A|EP500|EP500P|EP600|EP760)(\d+)$"
)
def build_device(address: str, name: str): def build_device(address: str, name: str):
@@ -32,3 +35,5 @@ def build_device(address: str, name: str):
return EP500P(address, match[2]) return EP500P(address, match[2])
if match[1] == "EP600": if match[1] == "EP600":
return EP600(address, match[2]) return EP600(address, match[2])
if match[1] == "EP760":
return EP760(address, match[2])
+2 -1
View File
@@ -19,9 +19,10 @@ from homeassistant.helpers.update_coordinator import (
from .bluetti_bt_lib.const import NOTIFY_UUID, RESPONSE_TIMEOUT, WRITE_UUID from .bluetti_bt_lib.const import NOTIFY_UUID, RESPONSE_TIMEOUT, WRITE_UUID
from .bluetti_bt_lib.exceptions import BadConnectionError, ModbusError, ParseError from .bluetti_bt_lib.exceptions import BadConnectionError, ModbusError, ParseError
from .bluetti_bt_lib.utils.commands import ReadHoldingRegisters from .bluetti_bt_lib.utils.commands import ReadHoldingRegisters
from .bluetti_bt_lib.utils.device_builder import build_device
from .const import DATA_POLLING_RUNNING, DOMAIN from .const import DATA_POLLING_RUNNING, DOMAIN
from .utils import mac_loggable, build_device from .utils import mac_loggable
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)
+3 -1
View File
@@ -29,10 +29,12 @@ from bluetti_mqtt.mqtt_client import (
battery_pack_fields, battery_pack_fields,
) )
from .bluetti_bt_lib.utils.device_builder import build_device
from . import device_info as dev_info, get_unique_id from . import device_info as dev_info, get_unique_id
from .const import DATA_COORDINATOR, DOMAIN, CONF_OPTIONS, DIAGNOSTIC_FIELDS, ADDITIONAL_DEVICE_FIELDS from .const import DATA_COORDINATOR, DOMAIN, CONF_OPTIONS, DIAGNOSTIC_FIELDS, ADDITIONAL_DEVICE_FIELDS
from .coordinator import PollingCoordinator from .coordinator import PollingCoordinator
from .utils import unique_id_loggable, build_device from .utils import unique_id_loggable
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)
+3 -1
View File
@@ -31,10 +31,12 @@ from bluetti_mqtt.mqtt_client import (
MqttFieldType, MqttFieldType,
) )
from .bluetti_bt_lib.utils.device_builder import build_device
from . import device_info as dev_info, get_unique_id from . import device_info as dev_info, get_unique_id
from .const import CONTROL_FIELDS, DATA_COORDINATOR, DOMAIN, ADDITIONAL_DEVICE_FIELDS from .const import CONTROL_FIELDS, DATA_COORDINATOR, DOMAIN, ADDITIONAL_DEVICE_FIELDS
from .coordinator import PollingCoordinator from .coordinator import PollingCoordinator
from .utils import mac_loggable, unique_id_loggable, build_device from .utils import mac_loggable, unique_id_loggable
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)
-13
View File
@@ -1,11 +1,5 @@
"""Tools.""" """Tools."""
from .bluetti_bt_lib.utils.device_builder import build_device as orig_build_device
from .const import DEVICE_NAME_RE
from .devices.ep760 import EP760
def mac_loggable(mac: str) -> str: def mac_loggable(mac: str) -> str:
"""Remove parts of the mac address for logging.""" """Remove parts of the mac address for logging."""
splitted = mac.split(":") splitted = mac.split(":")
@@ -16,10 +10,3 @@ def unique_id_loggable(unique_id: str) -> str:
splitted = unique_id.split("_", maxsplit=1) splitted = unique_id.split("_", maxsplit=1)
serial = splitted[0][:6] serial = splitted[0][:6]
return serial + "XXXXXXXXXX" + splitted[1] return serial + "XXXXXXXXXX" + splitted[1]
def build_device(address: str, name: str):
match = DEVICE_NAME_RE.match(name)
if match[1] == 'EP760':
return EP760(address, match[2])
else:
return orig_build_device(address, name)