Compare commits

...
1 Commits
Author SHA1 Message Date
Patrick762 ebbcea3c4c fixed circular import 2024-02-05 19:10:11 +01:00
7 changed files with 23 additions and 23 deletions

No files matched your search

-14
View File
@@ -12,8 +12,6 @@ from homeassistant.core import HomeAssistant
from homeassistant.helpers.entity import DeviceInfo from homeassistant.helpers.entity import DeviceInfo
from homeassistant.exceptions import ConfigEntryNotReady from homeassistant.exceptions import ConfigEntryNotReady
from bluetti_mqtt.bluetooth import build_device as orig_build_device
from .const import ( from .const import (
CONF_MAX_RETRIES, CONF_MAX_RETRIES,
CONF_PERSISTENT_CONN, CONF_PERSISTENT_CONN,
@@ -22,13 +20,10 @@ from .const import (
CONF_USE_CONTROLS, CONF_USE_CONTROLS,
DATA_COORDINATOR, DATA_COORDINATOR,
DATA_POLLING_RUNNING, DATA_POLLING_RUNNING,
DEVICE_NAME_RE,
DOMAIN, DOMAIN,
MANUFACTURER, MANUFACTURER,
) )
from .coordinator import PollingCoordinator from .coordinator import PollingCoordinator
from .devices.ep600 import EP600
from .devices.ep760 import EP760
PLATFORMS: [Platform] = [Platform.BINARY_SENSOR, Platform.SENSOR] PLATFORMS: [Platform] = [Platform.BINARY_SENSOR, Platform.SENSOR]
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)
@@ -110,12 +105,3 @@ def get_type_by_bt_name(bt_name: str):
elif bt_name.startswith("EP760"): elif bt_name.startswith("EP760"):
dev_type = "EP760" dev_type = "EP760"
return dev_type return dev_type
def build_device(address: str, name: str):
match = DEVICE_NAME_RE.match(name)
if match[1] == 'EP760':
return EP760(address, match[2])
elif match[1] == 'EP600':
return EP600(address, match[2])
else:
return orig_build_device(address, name)
@@ -24,10 +24,10 @@ from bluetti_mqtt.mqtt_client import (
MqttFieldType, MqttFieldType,
) )
from . import device_info as dev_info, get_unique_id, build_device 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 from .utils import unique_id_loggable, build_device
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)
+1 -2
View File
@@ -25,9 +25,8 @@ from bluetti_mqtt.bluetooth import (
from bluetti_mqtt.core.devices.bluetti_device import BluettiDevice from bluetti_mqtt.core.devices.bluetti_device import BluettiDevice
from bluetti_mqtt.core.commands import ReadHoldingRegisters from bluetti_mqtt.core.commands import ReadHoldingRegisters
from . import build_device
from .const import DATA_POLLING_RUNNING, DOMAIN from .const import DATA_POLLING_RUNNING, DOMAIN
from .utils import mac_loggable from .utils import mac_loggable, build_device
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)
+1 -1
View File
@@ -19,5 +19,5 @@
"iot_class": "local_polling", "iot_class": "local_polling",
"issue_tracker": "https://github.com/Patrick762/hassio-bluetti-bt/issues", "issue_tracker": "https://github.com/Patrick762/hassio-bluetti-bt/issues",
"requirements": ["bluetti_mqtt==0.15.0"], "requirements": ["bluetti_mqtt==0.15.0"],
"version": "0.0.13" "version": "0.0.14"
} }
+2 -2
View File
@@ -29,10 +29,10 @@ from bluetti_mqtt.mqtt_client import (
battery_pack_fields, battery_pack_fields,
) )
from . import device_info as dev_info, get_unique_id, build_device 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 from .utils import unique_id_loggable, build_device
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)
+2 -2
View File
@@ -31,10 +31,10 @@ from bluetti_mqtt.mqtt_client import (
MqttFieldType, MqttFieldType,
) )
from . import device_info as dev_info, get_unique_id, build_device 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 from .utils import mac_loggable, unique_id_loggable, build_device
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)
+15
View File
@@ -1,5 +1,11 @@
"""Tools.""" """Tools."""
from bluetti_mqtt.bluetooth import build_device as orig_build_device
from .const import DEVICE_NAME_RE
from .devices.ep600 import EP600
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(":")
@@ -10,3 +16,12 @@ 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])
elif match[1] == 'EP600':
return EP600(address, match[2])
else:
return orig_build_device(address, name)