Adjust onewire device manufacturer (#58515)

Co-authored-by: epenet <epenet@users.noreply.github.com>
This commit is contained in:
epenet 2021-10-27 12:02:07 +02:00 committed by GitHub
parent f8af44cac2
commit 8017a1e141
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 58 additions and 32 deletions

View File

@ -20,6 +20,10 @@ DOMAIN = "onewire"
DEVICE_KEYS_0_7 = range(8)
DEVICE_KEYS_A_B = ("A", "B")
MANUFACTURER_MAXIM = "Maxim Integrated"
MANUFACTURER_HOBBYBOARDS = "Hobby Boards"
MANUFACTURER_EDS = "Embedded Data Systems"
PRESSURE_CBAR = "cbar"
READ_MODE_BOOL = "bool"

View File

@ -25,7 +25,15 @@ from homeassistant.helpers import device_registry as dr
from homeassistant.helpers.device_registry import DeviceEntry
from homeassistant.helpers.entity import DeviceInfo
from .const import CONF_MOUNT_DIR, CONF_TYPE_OWSERVER, CONF_TYPE_SYSBUS, DOMAIN
from .const import (
CONF_MOUNT_DIR,
CONF_TYPE_OWSERVER,
CONF_TYPE_SYSBUS,
DOMAIN,
MANUFACTURER_EDS,
MANUFACTURER_HOBBYBOARDS,
MANUFACTURER_MAXIM,
)
from .model import (
OWDeviceDescription,
OWDirectDeviceDescription,
@ -37,6 +45,11 @@ DEVICE_COUPLERS = {
"1F": ["aux", "main"]
}
DEVICE_MANUFACTURER = {
"7E": MANUFACTURER_EDS,
"EF": MANUFACTURER_HOBBYBOARDS,
}
_LOGGER = logging.getLogger(__name__)
@ -108,12 +121,14 @@ class OneWireHub:
devices: list[OWDeviceDescription] = []
assert self.pi1proxy
for interface in self.pi1proxy.find_all_sensors():
family = interface.mac_address[:2]
device_id = f"{family}-{interface.mac_address[2:]}"
device_family = interface.mac_address[:2]
device_id = f"{device_family}-{interface.mac_address[2:]}"
device_info: DeviceInfo = {
ATTR_IDENTIFIERS: {(DOMAIN, device_id)},
ATTR_MANUFACTURER: "Maxim Integrated",
ATTR_MODEL: family,
ATTR_MANUFACTURER: DEVICE_MANUFACTURER.get(
device_family, MANUFACTURER_MAXIM
),
ATTR_MODEL: device_family,
ATTR_NAME: device_id,
}
device = OWDirectDeviceDescription(
@ -137,7 +152,9 @@ class OneWireHub:
_LOGGER.debug("read `%stype`: %s", device_path, device_type)
device_info: DeviceInfo = {
ATTR_IDENTIFIERS: {(DOMAIN, device_id)},
ATTR_MANUFACTURER: "Maxim Integrated",
ATTR_MANUFACTURER: DEVICE_MANUFACTURER.get(
device_family, MANUFACTURER_MAXIM
),
ATTR_MODEL: device_type,
ATTR_NAME: device_id,
}

View File

@ -3,7 +3,13 @@ from pi1wire import InvalidCRCException, UnsupportResponseException
from pyownet.protocol import Error as ProtocolError
from homeassistant.components.binary_sensor import DOMAIN as BINARY_SENSOR_DOMAIN
from homeassistant.components.onewire.const import DOMAIN, PRESSURE_CBAR
from homeassistant.components.onewire.const import (
DOMAIN,
MANUFACTURER_EDS,
MANUFACTURER_HOBBYBOARDS,
MANUFACTURER_MAXIM,
PRESSURE_CBAR,
)
from homeassistant.components.sensor import (
ATTR_STATE_CLASS,
DOMAIN as SENSOR_DOMAIN,
@ -50,7 +56,6 @@ FIXED_ATTRIBUTES = (
ATTR_UNIT_OF_MEASUREMENT,
)
MANUFACTURER = "Maxim Integrated"
MOCK_OWPROXY_DEVICES = {
"00.111111111111": {
@ -65,7 +70,7 @@ MOCK_OWPROXY_DEVICES = {
],
ATTR_DEVICE_INFO: {
ATTR_IDENTIFIERS: {(DOMAIN, "05.111111111111")},
ATTR_MANUFACTURER: MANUFACTURER,
ATTR_MANUFACTURER: MANUFACTURER_MAXIM,
ATTR_MODEL: "DS2405",
ATTR_NAME: "05.111111111111",
},
@ -85,7 +90,7 @@ MOCK_OWPROXY_DEVICES = {
],
ATTR_DEVICE_INFO: {
ATTR_IDENTIFIERS: {(DOMAIN, "10.111111111111")},
ATTR_MANUFACTURER: MANUFACTURER,
ATTR_MANUFACTURER: MANUFACTURER_MAXIM,
ATTR_MODEL: "DS18S20",
ATTR_NAME: "10.111111111111",
},
@ -107,7 +112,7 @@ MOCK_OWPROXY_DEVICES = {
],
ATTR_DEVICE_INFO: {
ATTR_IDENTIFIERS: {(DOMAIN, "12.111111111111")},
ATTR_MANUFACTURER: MANUFACTURER,
ATTR_MANUFACTURER: MANUFACTURER_MAXIM,
ATTR_MODEL: "DS2406",
ATTR_NAME: "12.111111111111",
},
@ -186,7 +191,7 @@ MOCK_OWPROXY_DEVICES = {
],
ATTR_DEVICE_INFO: {
ATTR_IDENTIFIERS: {(DOMAIN, "1D.111111111111")},
ATTR_MANUFACTURER: MANUFACTURER,
ATTR_MANUFACTURER: MANUFACTURER_MAXIM,
ATTR_MODEL: "DS2423",
ATTR_NAME: "1D.111111111111",
},
@ -216,13 +221,13 @@ MOCK_OWPROXY_DEVICES = {
ATTR_DEVICE_INFO: [
{
ATTR_IDENTIFIERS: {(DOMAIN, "1F.111111111111")},
ATTR_MANUFACTURER: MANUFACTURER,
ATTR_MANUFACTURER: MANUFACTURER_MAXIM,
ATTR_MODEL: "DS2409",
ATTR_NAME: "1F.111111111111",
},
{
ATTR_IDENTIFIERS: {(DOMAIN, "1D.111111111111")},
ATTR_MANUFACTURER: MANUFACTURER,
ATTR_MANUFACTURER: MANUFACTURER_MAXIM,
ATTR_MODEL: "DS2423",
ATTR_NAME: "1D.111111111111",
ATTR_VIA_DEVICE: (DOMAIN, "1F.111111111111"),
@ -265,7 +270,7 @@ MOCK_OWPROXY_DEVICES = {
],
ATTR_DEVICE_INFO: {
ATTR_IDENTIFIERS: {(DOMAIN, "22.111111111111")},
ATTR_MANUFACTURER: MANUFACTURER,
ATTR_MANUFACTURER: MANUFACTURER_MAXIM,
ATTR_MODEL: "DS1822",
ATTR_NAME: "22.111111111111",
},
@ -287,7 +292,7 @@ MOCK_OWPROXY_DEVICES = {
],
ATTR_DEVICE_INFO: {
ATTR_IDENTIFIERS: {(DOMAIN, "26.111111111111")},
ATTR_MANUFACTURER: MANUFACTURER,
ATTR_MANUFACTURER: MANUFACTURER_MAXIM,
ATTR_MODEL: "DS2438",
ATTR_NAME: "26.111111111111",
},
@ -409,7 +414,7 @@ MOCK_OWPROXY_DEVICES = {
],
ATTR_DEVICE_INFO: {
ATTR_IDENTIFIERS: {(DOMAIN, "28.111111111111")},
ATTR_MANUFACTURER: MANUFACTURER,
ATTR_MANUFACTURER: MANUFACTURER_MAXIM,
ATTR_MODEL: "DS18B20",
ATTR_NAME: "28.111111111111",
},
@ -431,7 +436,7 @@ MOCK_OWPROXY_DEVICES = {
],
ATTR_DEVICE_INFO: {
ATTR_IDENTIFIERS: {(DOMAIN, "29.111111111111")},
ATTR_MANUFACTURER: MANUFACTURER,
ATTR_MANUFACTURER: MANUFACTURER_MAXIM,
ATTR_MODEL: "DS2408",
ATTR_NAME: "29.111111111111",
},
@ -614,7 +619,7 @@ MOCK_OWPROXY_DEVICES = {
],
ATTR_DEVICE_INFO: {
ATTR_IDENTIFIERS: {(DOMAIN, "3A.111111111111")},
ATTR_MANUFACTURER: MANUFACTURER,
ATTR_MANUFACTURER: MANUFACTURER_MAXIM,
ATTR_MODEL: "DS2413",
ATTR_NAME: "3A.111111111111",
},
@ -657,7 +662,7 @@ MOCK_OWPROXY_DEVICES = {
],
ATTR_DEVICE_INFO: {
ATTR_IDENTIFIERS: {(DOMAIN, "3B.111111111111")},
ATTR_MANUFACTURER: MANUFACTURER,
ATTR_MANUFACTURER: MANUFACTURER_MAXIM,
ATTR_MODEL: "DS1825",
ATTR_NAME: "3B.111111111111",
},
@ -679,7 +684,7 @@ MOCK_OWPROXY_DEVICES = {
],
ATTR_DEVICE_INFO: {
ATTR_IDENTIFIERS: {(DOMAIN, "42.111111111111")},
ATTR_MANUFACTURER: MANUFACTURER,
ATTR_MANUFACTURER: MANUFACTURER_MAXIM,
ATTR_MODEL: "DS28EA00",
ATTR_NAME: "42.111111111111",
},
@ -701,7 +706,7 @@ MOCK_OWPROXY_DEVICES = {
],
ATTR_DEVICE_INFO: {
ATTR_IDENTIFIERS: {(DOMAIN, "EF.111111111111")},
ATTR_MANUFACTURER: MANUFACTURER,
ATTR_MANUFACTURER: MANUFACTURER_HOBBYBOARDS,
ATTR_MODEL: "HobbyBoards_EF",
ATTR_NAME: "EF.111111111111",
},
@ -745,7 +750,7 @@ MOCK_OWPROXY_DEVICES = {
],
ATTR_DEVICE_INFO: {
ATTR_IDENTIFIERS: {(DOMAIN, "EF.111111111112")},
ATTR_MANUFACTURER: MANUFACTURER,
ATTR_MANUFACTURER: MANUFACTURER_HOBBYBOARDS,
ATTR_MODEL: "HB_MOISTURE_METER",
ATTR_NAME: "EF.111111111112",
},
@ -795,7 +800,7 @@ MOCK_OWPROXY_DEVICES = {
],
ATTR_DEVICE_INFO: {
ATTR_IDENTIFIERS: {(DOMAIN, "7E.111111111111")},
ATTR_MANUFACTURER: MANUFACTURER,
ATTR_MANUFACTURER: MANUFACTURER_EDS,
ATTR_MODEL: "EDS",
ATTR_NAME: "7E.111111111111",
},
@ -845,7 +850,7 @@ MOCK_OWPROXY_DEVICES = {
],
ATTR_DEVICE_INFO: {
ATTR_IDENTIFIERS: {(DOMAIN, "7E.222222222222")},
ATTR_MANUFACTURER: MANUFACTURER,
ATTR_MANUFACTURER: MANUFACTURER_EDS,
ATTR_MODEL: "EDS",
ATTR_NAME: "7E.222222222222",
},
@ -879,7 +884,7 @@ MOCK_SYSBUS_DEVICES = {
"10-111111111111": {
ATTR_DEVICE_INFO: {
ATTR_IDENTIFIERS: {(DOMAIN, "10-111111111111")},
ATTR_MANUFACTURER: MANUFACTURER,
ATTR_MANUFACTURER: MANUFACTURER_MAXIM,
ATTR_MODEL: "10",
ATTR_NAME: "10-111111111111",
},
@ -904,7 +909,7 @@ MOCK_SYSBUS_DEVICES = {
"22-111111111111": {
ATTR_DEVICE_INFO: {
ATTR_IDENTIFIERS: {(DOMAIN, "22-111111111111")},
ATTR_MANUFACTURER: MANUFACTURER,
ATTR_MANUFACTURER: MANUFACTURER_MAXIM,
ATTR_MODEL: "22",
ATTR_NAME: "22-111111111111",
},
@ -926,7 +931,7 @@ MOCK_SYSBUS_DEVICES = {
"28-111111111111": {
ATTR_DEVICE_INFO: {
ATTR_IDENTIFIERS: {(DOMAIN, "28-111111111111")},
ATTR_MANUFACTURER: MANUFACTURER,
ATTR_MANUFACTURER: MANUFACTURER_MAXIM,
ATTR_MODEL: "28",
ATTR_NAME: "28-111111111111",
},
@ -951,7 +956,7 @@ MOCK_SYSBUS_DEVICES = {
"3B-111111111111": {
ATTR_DEVICE_INFO: {
ATTR_IDENTIFIERS: {(DOMAIN, "3B-111111111111")},
ATTR_MANUFACTURER: MANUFACTURER,
ATTR_MANUFACTURER: MANUFACTURER_MAXIM,
ATTR_MODEL: "3B",
ATTR_NAME: "3B-111111111111",
},
@ -970,7 +975,7 @@ MOCK_SYSBUS_DEVICES = {
"42-111111111111": {
ATTR_DEVICE_INFO: {
ATTR_IDENTIFIERS: {(DOMAIN, "42-111111111111")},
ATTR_MANUFACTURER: MANUFACTURER,
ATTR_MANUFACTURER: MANUFACTURER_MAXIM,
ATTR_MODEL: "42",
ATTR_NAME: "42-111111111111",
},
@ -989,7 +994,7 @@ MOCK_SYSBUS_DEVICES = {
"42-111111111112": {
ATTR_DEVICE_INFO: {
ATTR_IDENTIFIERS: {(DOMAIN, "42-111111111112")},
ATTR_MANUFACTURER: MANUFACTURER,
ATTR_MANUFACTURER: MANUFACTURER_MAXIM,
ATTR_MODEL: "42",
ATTR_NAME: "42-111111111112",
},
@ -1008,7 +1013,7 @@ MOCK_SYSBUS_DEVICES = {
"42-111111111113": {
ATTR_DEVICE_INFO: {
ATTR_IDENTIFIERS: {(DOMAIN, "42-111111111113")},
ATTR_MANUFACTURER: MANUFACTURER,
ATTR_MANUFACTURER: MANUFACTURER_MAXIM,
ATTR_MODEL: "42",
ATTR_NAME: "42-111111111113",
},