From 1b0118a81bb7685b172dfb27902d483a255beec1 Mon Sep 17 00:00:00 2001 From: epenet <6771947+epenet@users.noreply.github.com> Date: Tue, 19 Oct 2021 21:41:01 +0200 Subject: [PATCH] Use constants in Onewire tests (#58017) * Use ATTR_ENTITY_ID constant * Add ATTR_UNIQUE_ID constant * Add new attribute constants * Fix missing ATTR_DEFAULT_DISABLED Co-authored-by: epenet --- tests/components/onewire/__init__.py | 14 +- tests/components/onewire/conftest.py | 2 +- tests/components/onewire/const.py | 1007 +++++++++-------- .../components/onewire/test_binary_sensor.py | 19 +- tests/components/onewire/test_sensor.py | 68 +- tests/components/onewire/test_switch.py | 32 +- 6 files changed, 595 insertions(+), 547 deletions(-) diff --git a/tests/components/onewire/__init__.py b/tests/components/onewire/__init__.py index 27091b895bf..639379e7acc 100644 --- a/tests/components/onewire/__init__.py +++ b/tests/components/onewire/__init__.py @@ -8,7 +8,7 @@ from pyownet.protocol import ProtocolError from homeassistant.components.onewire.const import DEFAULT_SYSBUS_MOUNT_DIR -from .const import MOCK_OWPROXY_DEVICES, MOCK_SYSBUS_DEVICES +from .const import ATTR_INJECT_READS, MOCK_OWPROXY_DEVICES, MOCK_SYSBUS_DEVICES def setup_owproxy_mock_devices( @@ -27,13 +27,13 @@ def setup_owproxy_mock_devices( # Setup device reads main_read_side_effect += [device_id[0:2].encode()] - if "inject_reads" in mock_device: - main_read_side_effect += mock_device["inject_reads"] + if ATTR_INJECT_READS in mock_device: + main_read_side_effect += mock_device[ATTR_INJECT_READS] # Setup sub-device reads device_sensors = mock_device.get(platform, []) for expected_sensor in device_sensors: - sub_read_side_effect.append(expected_sensor["injected_value"]) + sub_read_side_effect.append(expected_sensor[ATTR_INJECT_READS]) # Ensure enough read side effect read_side_effect = ( @@ -61,10 +61,10 @@ def setup_sysbus_mock_devices( # Setup sub-device reads device_sensors = mock_device.get(platform, []) for expected_sensor in device_sensors: - if isinstance(expected_sensor["injected_value"], list): - read_side_effect += expected_sensor["injected_value"] + if isinstance(expected_sensor[ATTR_INJECT_READS], list): + read_side_effect += expected_sensor[ATTR_INJECT_READS] else: - read_side_effect.append(expected_sensor["injected_value"]) + read_side_effect.append(expected_sensor[ATTR_INJECT_READS]) # Ensure enough read side effect read_side_effect.extend([FileNotFoundError("Missing injected value")] * 20) diff --git a/tests/components/onewire/conftest.py b/tests/components/onewire/conftest.py index 455602c348f..d951ff17cdf 100644 --- a/tests/components/onewire/conftest.py +++ b/tests/components/onewire/conftest.py @@ -57,7 +57,7 @@ def get_sysbus_config_entry(hass: HomeAssistant) -> ConfigEntry: data={ CONF_TYPE: CONF_TYPE_SYSBUS, CONF_MOUNT_DIR: DEFAULT_SYSBUS_MOUNT_DIR, - "names": { + CONF_NAMES: { "10-111111111111": "My DS18B20", }, }, diff --git a/tests/components/onewire/const.py b/tests/components/onewire/const.py index 9652b6d89a7..c7384d0fc2d 100644 --- a/tests/components/onewire/const.py +++ b/tests/components/onewire/const.py @@ -13,10 +13,12 @@ from homeassistant.components.sensor import ( from homeassistant.components.switch import DOMAIN as SWITCH_DOMAIN from homeassistant.const import ( ATTR_DEVICE_CLASS, + ATTR_ENTITY_ID, ATTR_IDENTIFIERS, ATTR_MANUFACTURER, ATTR_MODEL, ATTR_NAME, + ATTR_STATE, ATTR_UNIT_OF_MEASUREMENT, DEVICE_CLASS_CURRENT, DEVICE_CLASS_HUMIDITY, @@ -31,25 +33,30 @@ from homeassistant.const import ( PRESSURE_MBAR, STATE_OFF, STATE_ON, + STATE_UNKNOWN, TEMP_CELSIUS, ) ATTR_DEFAULT_DISABLED = "default_disabled" +ATTR_DEVICE_FILE = "device_file" +ATTR_DEVICE_INFO = "device_info" +ATTR_INJECT_READS = "inject_reads" +ATTR_UNIQUE_ID = "unique_id" MANUFACTURER = "Maxim Integrated" MOCK_OWPROXY_DEVICES = { "00.111111111111": { - "inject_reads": [ + ATTR_INJECT_READS: [ b"", # read device type ], SENSOR_DOMAIN: [], }, "05.111111111111": { - "inject_reads": [ + ATTR_INJECT_READS: [ b"DS2405", # read device type ], - "device_info": { + ATTR_DEVICE_INFO: { ATTR_IDENTIFIERS: {(DOMAIN, "05.111111111111")}, ATTR_MANUFACTURER: MANUFACTURER, ATTR_MODEL: "DS2405", @@ -57,21 +64,21 @@ MOCK_OWPROXY_DEVICES = { }, SWITCH_DOMAIN: [ { - "entity_id": "switch.05_111111111111_pio", - "unique_id": "/05.111111111111/PIO", - "injected_value": b" 1", - "result": STATE_ON, - ATTR_UNIT_OF_MEASUREMENT: None, - ATTR_DEVICE_CLASS: None, ATTR_DEFAULT_DISABLED: True, + ATTR_DEVICE_CLASS: None, + ATTR_ENTITY_ID: "switch.05_111111111111_pio", + ATTR_INJECT_READS: b" 1", + ATTR_STATE: STATE_ON, + ATTR_UNIQUE_ID: "/05.111111111111/PIO", + ATTR_UNIT_OF_MEASUREMENT: None, }, ], }, "10.111111111111": { - "inject_reads": [ + ATTR_INJECT_READS: [ b"DS18S20", # read device type ], - "device_info": { + ATTR_DEVICE_INFO: { ATTR_IDENTIFIERS: {(DOMAIN, "10.111111111111")}, ATTR_MANUFACTURER: MANUFACTURER, ATTR_MODEL: "DS18S20", @@ -79,21 +86,21 @@ MOCK_OWPROXY_DEVICES = { }, SENSOR_DOMAIN: [ { - "entity_id": "sensor.my_ds18b20_temperature", - "unique_id": "/10.111111111111/temperature", - "injected_value": b" 25.123", - "result": "25.1", - ATTR_UNIT_OF_MEASUREMENT: TEMP_CELSIUS, ATTR_DEVICE_CLASS: DEVICE_CLASS_TEMPERATURE, + ATTR_ENTITY_ID: "sensor.my_ds18b20_temperature", + ATTR_INJECT_READS: b" 25.123", + ATTR_STATE: "25.1", ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT, + ATTR_UNIQUE_ID: "/10.111111111111/temperature", + ATTR_UNIT_OF_MEASUREMENT: TEMP_CELSIUS, }, ], }, "12.111111111111": { - "inject_reads": [ + ATTR_INJECT_READS: [ b"DS2406", # read device type ], - "device_info": { + ATTR_DEVICE_INFO: { ATTR_IDENTIFIERS: {(DOMAIN, "12.111111111111")}, ATTR_MANUFACTURER: MANUFACTURER, ATTR_MODEL: "DS2406", @@ -101,90 +108,90 @@ MOCK_OWPROXY_DEVICES = { }, BINARY_SENSOR_DOMAIN: [ { - "entity_id": "binary_sensor.12_111111111111_sensed_a", - "unique_id": "/12.111111111111/sensed.A", - "injected_value": b" 1", - "result": STATE_ON, - ATTR_UNIT_OF_MEASUREMENT: None, - ATTR_DEVICE_CLASS: None, ATTR_DEFAULT_DISABLED: True, + ATTR_DEVICE_CLASS: None, + ATTR_ENTITY_ID: "binary_sensor.12_111111111111_sensed_a", + ATTR_INJECT_READS: b" 1", + ATTR_STATE: STATE_ON, + ATTR_UNIQUE_ID: "/12.111111111111/sensed.A", + ATTR_UNIT_OF_MEASUREMENT: None, }, { - "entity_id": "binary_sensor.12_111111111111_sensed_b", - "unique_id": "/12.111111111111/sensed.B", - "injected_value": b" 0", - "result": STATE_OFF, - ATTR_UNIT_OF_MEASUREMENT: None, - ATTR_DEVICE_CLASS: None, ATTR_DEFAULT_DISABLED: True, + ATTR_DEVICE_CLASS: None, + ATTR_ENTITY_ID: "binary_sensor.12_111111111111_sensed_b", + ATTR_INJECT_READS: b" 0", + ATTR_STATE: STATE_OFF, + ATTR_UNIQUE_ID: "/12.111111111111/sensed.B", + ATTR_UNIT_OF_MEASUREMENT: None, }, ], SENSOR_DOMAIN: [ { - "entity_id": "sensor.12_111111111111_temperature", - "unique_id": "/12.111111111111/TAI8570/temperature", - "injected_value": b" 25.123", - "result": "25.1", - ATTR_UNIT_OF_MEASUREMENT: TEMP_CELSIUS, - ATTR_DEVICE_CLASS: DEVICE_CLASS_TEMPERATURE, ATTR_DEFAULT_DISABLED: True, + ATTR_DEVICE_CLASS: DEVICE_CLASS_TEMPERATURE, + ATTR_ENTITY_ID: "sensor.12_111111111111_temperature", + ATTR_INJECT_READS: b" 25.123", + ATTR_STATE: "25.1", ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT, + ATTR_UNIQUE_ID: "/12.111111111111/TAI8570/temperature", + ATTR_UNIT_OF_MEASUREMENT: TEMP_CELSIUS, }, { - "entity_id": "sensor.12_111111111111_pressure", - "unique_id": "/12.111111111111/TAI8570/pressure", - "injected_value": b" 1025.123", - "result": "1025.1", - ATTR_UNIT_OF_MEASUREMENT: PRESSURE_MBAR, - ATTR_DEVICE_CLASS: DEVICE_CLASS_PRESSURE, ATTR_DEFAULT_DISABLED: True, + ATTR_DEVICE_CLASS: DEVICE_CLASS_PRESSURE, + ATTR_ENTITY_ID: "sensor.12_111111111111_pressure", + ATTR_INJECT_READS: b" 1025.123", + ATTR_STATE: "1025.1", ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT, + ATTR_UNIQUE_ID: "/12.111111111111/TAI8570/pressure", + ATTR_UNIT_OF_MEASUREMENT: PRESSURE_MBAR, }, ], SWITCH_DOMAIN: [ { - "entity_id": "switch.12_111111111111_pio_a", - "unique_id": "/12.111111111111/PIO.A", - "injected_value": b" 1", - "result": STATE_ON, - ATTR_UNIT_OF_MEASUREMENT: None, - ATTR_DEVICE_CLASS: None, ATTR_DEFAULT_DISABLED: True, + ATTR_DEVICE_CLASS: None, + ATTR_ENTITY_ID: "switch.12_111111111111_pio_a", + ATTR_INJECT_READS: b" 1", + ATTR_STATE: STATE_ON, + ATTR_UNIQUE_ID: "/12.111111111111/PIO.A", + ATTR_UNIT_OF_MEASUREMENT: None, }, { - "entity_id": "switch.12_111111111111_pio_b", - "unique_id": "/12.111111111111/PIO.B", - "injected_value": b" 0", - "result": STATE_OFF, - ATTR_UNIT_OF_MEASUREMENT: None, - ATTR_DEVICE_CLASS: None, ATTR_DEFAULT_DISABLED: True, + ATTR_DEVICE_CLASS: None, + ATTR_ENTITY_ID: "switch.12_111111111111_pio_b", + ATTR_INJECT_READS: b" 0", + ATTR_STATE: STATE_OFF, + ATTR_UNIQUE_ID: "/12.111111111111/PIO.B", + ATTR_UNIT_OF_MEASUREMENT: None, }, { - "entity_id": "switch.12_111111111111_latch_a", - "unique_id": "/12.111111111111/latch.A", - "injected_value": b" 1", - "result": STATE_ON, - ATTR_UNIT_OF_MEASUREMENT: None, - ATTR_DEVICE_CLASS: None, ATTR_DEFAULT_DISABLED: True, + ATTR_DEVICE_CLASS: None, + ATTR_ENTITY_ID: "switch.12_111111111111_latch_a", + ATTR_INJECT_READS: b" 1", + ATTR_STATE: STATE_ON, + ATTR_UNIQUE_ID: "/12.111111111111/latch.A", + ATTR_UNIT_OF_MEASUREMENT: None, }, { - "entity_id": "switch.12_111111111111_latch_b", - "unique_id": "/12.111111111111/latch.B", - "injected_value": b" 0", - "result": STATE_OFF, - ATTR_UNIT_OF_MEASUREMENT: None, - ATTR_DEVICE_CLASS: None, ATTR_DEFAULT_DISABLED: True, + ATTR_DEVICE_CLASS: None, + ATTR_ENTITY_ID: "switch.12_111111111111_latch_b", + ATTR_INJECT_READS: b" 0", + ATTR_STATE: STATE_OFF, + ATTR_UNIQUE_ID: "/12.111111111111/latch.B", + ATTR_UNIT_OF_MEASUREMENT: None, }, ], }, "1D.111111111111": { - "inject_reads": [ + ATTR_INJECT_READS: [ b"DS2423", # read device type ], - "device_info": { + ATTR_DEVICE_INFO: { ATTR_IDENTIFIERS: {(DOMAIN, "1D.111111111111")}, ATTR_MANUFACTURER: MANUFACTURER, ATTR_MODEL: "DS2423", @@ -192,30 +199,30 @@ MOCK_OWPROXY_DEVICES = { }, SENSOR_DOMAIN: [ { - "entity_id": "sensor.1d_111111111111_counter_a", - "unique_id": "/1D.111111111111/counter.A", - "injected_value": b" 251123", - "result": "251123", - ATTR_UNIT_OF_MEASUREMENT: "count", ATTR_DEVICE_CLASS: None, + ATTR_ENTITY_ID: "sensor.1d_111111111111_counter_a", + ATTR_INJECT_READS: b" 251123", + ATTR_STATE: "251123", ATTR_STATE_CLASS: STATE_CLASS_TOTAL_INCREASING, + ATTR_UNIQUE_ID: "/1D.111111111111/counter.A", + ATTR_UNIT_OF_MEASUREMENT: "count", }, { - "entity_id": "sensor.1d_111111111111_counter_b", - "unique_id": "/1D.111111111111/counter.B", - "injected_value": b" 248125", - "result": "248125", - ATTR_UNIT_OF_MEASUREMENT: "count", ATTR_DEVICE_CLASS: None, + ATTR_ENTITY_ID: "sensor.1d_111111111111_counter_b", + ATTR_INJECT_READS: b" 248125", + ATTR_STATE: "248125", ATTR_STATE_CLASS: STATE_CLASS_TOTAL_INCREASING, + ATTR_UNIQUE_ID: "/1D.111111111111/counter.B", + ATTR_UNIT_OF_MEASUREMENT: "count", }, ], }, "1F.111111111111": { - "inject_reads": [ + ATTR_INJECT_READS: [ b"DS2409", # read device type ], - "device_info": { + ATTR_DEVICE_INFO: { ATTR_IDENTIFIERS: {(DOMAIN, "1F.111111111111")}, ATTR_MANUFACTURER: MANUFACTURER, ATTR_MODEL: "DS2409", @@ -225,10 +232,10 @@ MOCK_OWPROXY_DEVICES = { "aux": {}, "main": { "1D.111111111111": { - "inject_reads": [ + ATTR_INJECT_READS: [ b"DS2423", # read device type ], - "device_info": { + ATTR_DEVICE_INFO: { ATTR_IDENTIFIERS: {(DOMAIN, "1D.111111111111")}, ATTR_MANUFACTURER: MANUFACTURER, ATTR_MODEL: "DS2423", @@ -236,24 +243,24 @@ MOCK_OWPROXY_DEVICES = { }, SENSOR_DOMAIN: [ { - "entity_id": "sensor.1d_111111111111_counter_a", - "device_file": "/1F.111111111111/main/1D.111111111111/counter.A", - "unique_id": "/1D.111111111111/counter.A", - "injected_value": b" 251123", - "result": "251123", - ATTR_UNIT_OF_MEASUREMENT: "count", ATTR_DEVICE_CLASS: None, + ATTR_DEVICE_FILE: "/1F.111111111111/main/1D.111111111111/counter.A", + ATTR_ENTITY_ID: "sensor.1d_111111111111_counter_a", + ATTR_INJECT_READS: b" 251123", + ATTR_STATE: "251123", ATTR_STATE_CLASS: STATE_CLASS_TOTAL_INCREASING, + ATTR_UNIQUE_ID: "/1D.111111111111/counter.A", + ATTR_UNIT_OF_MEASUREMENT: "count", }, { - "entity_id": "sensor.1d_111111111111_counter_b", - "device_file": "/1F.111111111111/main/1D.111111111111/counter.B", - "unique_id": "/1D.111111111111/counter.B", - "injected_value": b" 248125", - "result": "248125", - ATTR_UNIT_OF_MEASUREMENT: "count", ATTR_DEVICE_CLASS: None, + ATTR_DEVICE_FILE: "/1F.111111111111/main/1D.111111111111/counter.B", + ATTR_ENTITY_ID: "sensor.1d_111111111111_counter_b", + ATTR_INJECT_READS: b" 248125", + ATTR_STATE: "248125", ATTR_STATE_CLASS: STATE_CLASS_TOTAL_INCREASING, + ATTR_UNIQUE_ID: "/1D.111111111111/counter.B", + ATTR_UNIT_OF_MEASUREMENT: "count", }, ], }, @@ -261,10 +268,10 @@ MOCK_OWPROXY_DEVICES = { }, }, "22.111111111111": { - "inject_reads": [ + ATTR_INJECT_READS: [ b"DS1822", # read device type ], - "device_info": { + ATTR_DEVICE_INFO: { ATTR_IDENTIFIERS: {(DOMAIN, "22.111111111111")}, ATTR_MANUFACTURER: MANUFACTURER, ATTR_MODEL: "DS1822", @@ -272,21 +279,21 @@ MOCK_OWPROXY_DEVICES = { }, SENSOR_DOMAIN: [ { - "entity_id": "sensor.22_111111111111_temperature", - "unique_id": "/22.111111111111/temperature", - "injected_value": ProtocolError, - "result": "unknown", - ATTR_UNIT_OF_MEASUREMENT: TEMP_CELSIUS, ATTR_DEVICE_CLASS: DEVICE_CLASS_TEMPERATURE, + ATTR_ENTITY_ID: "sensor.22_111111111111_temperature", + ATTR_INJECT_READS: ProtocolError, + ATTR_STATE: STATE_UNKNOWN, ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT, + ATTR_UNIQUE_ID: "/22.111111111111/temperature", + ATTR_UNIT_OF_MEASUREMENT: TEMP_CELSIUS, }, ], }, "26.111111111111": { - "inject_reads": [ + ATTR_INJECT_READS: [ b"DS2438", # read device type ], - "device_info": { + ATTR_DEVICE_INFO: { ATTR_IDENTIFIERS: {(DOMAIN, "26.111111111111")}, ATTR_MANUFACTURER: MANUFACTURER, ATTR_MODEL: "DS2438", @@ -294,121 +301,121 @@ MOCK_OWPROXY_DEVICES = { }, SENSOR_DOMAIN: [ { - "entity_id": "sensor.26_111111111111_temperature", - "unique_id": "/26.111111111111/temperature", - "injected_value": b" 25.123", - "result": "25.1", - ATTR_UNIT_OF_MEASUREMENT: TEMP_CELSIUS, ATTR_DEVICE_CLASS: DEVICE_CLASS_TEMPERATURE, + ATTR_ENTITY_ID: "sensor.26_111111111111_temperature", + ATTR_INJECT_READS: b" 25.123", + ATTR_STATE: "25.1", ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT, + ATTR_UNIQUE_ID: "/26.111111111111/temperature", + ATTR_UNIT_OF_MEASUREMENT: TEMP_CELSIUS, }, { - "entity_id": "sensor.26_111111111111_humidity", - "unique_id": "/26.111111111111/humidity", - "injected_value": b" 72.7563", - "result": "72.8", - ATTR_UNIT_OF_MEASUREMENT: PERCENTAGE, - ATTR_DEVICE_CLASS: DEVICE_CLASS_HUMIDITY, ATTR_DEFAULT_DISABLED: True, - ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT, - }, - { - "entity_id": "sensor.26_111111111111_humidity_hih3600", - "unique_id": "/26.111111111111/HIH3600/humidity", - "injected_value": b" 73.7563", - "result": "73.8", - ATTR_UNIT_OF_MEASUREMENT: PERCENTAGE, ATTR_DEVICE_CLASS: DEVICE_CLASS_HUMIDITY, - ATTR_DEFAULT_DISABLED: True, + ATTR_ENTITY_ID: "sensor.26_111111111111_humidity", + ATTR_INJECT_READS: b" 72.7563", + ATTR_STATE: "72.8", ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT, - }, - { - "entity_id": "sensor.26_111111111111_humidity_hih4000", - "unique_id": "/26.111111111111/HIH4000/humidity", - "injected_value": b" 74.7563", - "result": "74.8", + ATTR_UNIQUE_ID: "/26.111111111111/humidity", ATTR_UNIT_OF_MEASUREMENT: PERCENTAGE, - ATTR_DEVICE_CLASS: DEVICE_CLASS_HUMIDITY, - ATTR_DEFAULT_DISABLED: True, - ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT, }, { - "entity_id": "sensor.26_111111111111_humidity_hih5030", - "unique_id": "/26.111111111111/HIH5030/humidity", - "injected_value": b" 75.7563", - "result": "75.8", + ATTR_DEFAULT_DISABLED: True, + ATTR_DEVICE_CLASS: DEVICE_CLASS_HUMIDITY, + ATTR_ENTITY_ID: "sensor.26_111111111111_humidity_hih3600", + ATTR_INJECT_READS: b" 73.7563", + ATTR_STATE: "73.8", + ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT, + ATTR_UNIQUE_ID: "/26.111111111111/HIH3600/humidity", ATTR_UNIT_OF_MEASUREMENT: PERCENTAGE, - ATTR_DEVICE_CLASS: DEVICE_CLASS_HUMIDITY, - ATTR_DEFAULT_DISABLED: True, - ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT, }, { - "entity_id": "sensor.26_111111111111_humidity_htm1735", - "unique_id": "/26.111111111111/HTM1735/humidity", - "injected_value": ProtocolError, - "result": "unknown", + ATTR_DEFAULT_DISABLED: True, + ATTR_DEVICE_CLASS: DEVICE_CLASS_HUMIDITY, + ATTR_ENTITY_ID: "sensor.26_111111111111_humidity_hih4000", + ATTR_INJECT_READS: b" 74.7563", + ATTR_STATE: "74.8", + ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT, + ATTR_UNIQUE_ID: "/26.111111111111/HIH4000/humidity", ATTR_UNIT_OF_MEASUREMENT: PERCENTAGE, - ATTR_DEVICE_CLASS: DEVICE_CLASS_HUMIDITY, - ATTR_DEFAULT_DISABLED: True, - ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT, }, { - "entity_id": "sensor.26_111111111111_pressure", - "unique_id": "/26.111111111111/B1-R1-A/pressure", - "injected_value": b" 969.265", - "result": "969.3", - ATTR_UNIT_OF_MEASUREMENT: PRESSURE_MBAR, + ATTR_DEFAULT_DISABLED: True, + ATTR_DEVICE_CLASS: DEVICE_CLASS_HUMIDITY, + ATTR_ENTITY_ID: "sensor.26_111111111111_humidity_hih5030", + ATTR_INJECT_READS: b" 75.7563", + ATTR_STATE: "75.8", + ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT, + ATTR_UNIQUE_ID: "/26.111111111111/HIH5030/humidity", + ATTR_UNIT_OF_MEASUREMENT: PERCENTAGE, + }, + { + ATTR_DEFAULT_DISABLED: True, + ATTR_DEVICE_CLASS: DEVICE_CLASS_HUMIDITY, + ATTR_ENTITY_ID: "sensor.26_111111111111_humidity_htm1735", + ATTR_INJECT_READS: ProtocolError, + ATTR_STATE: STATE_UNKNOWN, + ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT, + ATTR_UNIQUE_ID: "/26.111111111111/HTM1735/humidity", + ATTR_UNIT_OF_MEASUREMENT: PERCENTAGE, + }, + { + ATTR_DEFAULT_DISABLED: True, ATTR_DEVICE_CLASS: DEVICE_CLASS_PRESSURE, - ATTR_DEFAULT_DISABLED: True, + ATTR_ENTITY_ID: "sensor.26_111111111111_pressure", + ATTR_INJECT_READS: b" 969.265", + ATTR_STATE: "969.3", ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT, + ATTR_UNIQUE_ID: "/26.111111111111/B1-R1-A/pressure", + ATTR_UNIT_OF_MEASUREMENT: PRESSURE_MBAR, }, { - "entity_id": "sensor.26_111111111111_illuminance", - "unique_id": "/26.111111111111/S3-R1-A/illuminance", - "injected_value": b" 65.8839", - "result": "65.9", - ATTR_UNIT_OF_MEASUREMENT: LIGHT_LUX, + ATTR_DEFAULT_DISABLED: True, ATTR_DEVICE_CLASS: DEVICE_CLASS_ILLUMINANCE, - ATTR_DEFAULT_DISABLED: True, + ATTR_ENTITY_ID: "sensor.26_111111111111_illuminance", + ATTR_INJECT_READS: b" 65.8839", + ATTR_STATE: "65.9", ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT, + ATTR_UNIQUE_ID: "/26.111111111111/S3-R1-A/illuminance", + ATTR_UNIT_OF_MEASUREMENT: LIGHT_LUX, }, { - "entity_id": "sensor.26_111111111111_voltage_vad", - "unique_id": "/26.111111111111/VAD", - "injected_value": b" 2.97", - "result": "3.0", - ATTR_UNIT_OF_MEASUREMENT: ELECTRIC_POTENTIAL_VOLT, + ATTR_DEFAULT_DISABLED: True, ATTR_DEVICE_CLASS: DEVICE_CLASS_VOLTAGE, - ATTR_DEFAULT_DISABLED: True, + ATTR_ENTITY_ID: "sensor.26_111111111111_voltage_vad", + ATTR_INJECT_READS: b" 2.97", + ATTR_STATE: "3.0", ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT, - }, - { - "entity_id": "sensor.26_111111111111_voltage_vdd", - "unique_id": "/26.111111111111/VDD", - "injected_value": b" 4.74", - "result": "4.7", + ATTR_UNIQUE_ID: "/26.111111111111/VAD", ATTR_UNIT_OF_MEASUREMENT: ELECTRIC_POTENTIAL_VOLT, - ATTR_DEVICE_CLASS: DEVICE_CLASS_VOLTAGE, - ATTR_DEFAULT_DISABLED: True, - ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT, }, { - "entity_id": "sensor.26_111111111111_current", - "unique_id": "/26.111111111111/IAD", - "injected_value": b" 1", - "result": "1.0", - ATTR_UNIT_OF_MEASUREMENT: ELECTRIC_CURRENT_AMPERE, + ATTR_DEFAULT_DISABLED: True, + ATTR_DEVICE_CLASS: DEVICE_CLASS_VOLTAGE, + ATTR_ENTITY_ID: "sensor.26_111111111111_voltage_vdd", + ATTR_INJECT_READS: b" 4.74", + ATTR_STATE: "4.7", + ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT, + ATTR_UNIQUE_ID: "/26.111111111111/VDD", + ATTR_UNIT_OF_MEASUREMENT: ELECTRIC_POTENTIAL_VOLT, + }, + { + ATTR_DEFAULT_DISABLED: True, ATTR_DEVICE_CLASS: DEVICE_CLASS_CURRENT, - ATTR_DEFAULT_DISABLED: True, + ATTR_ENTITY_ID: "sensor.26_111111111111_current", + ATTR_INJECT_READS: b" 1", + ATTR_STATE: "1.0", ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT, + ATTR_UNIQUE_ID: "/26.111111111111/IAD", + ATTR_UNIT_OF_MEASUREMENT: ELECTRIC_CURRENT_AMPERE, }, ], }, "28.111111111111": { - "inject_reads": [ + ATTR_INJECT_READS: [ b"DS18B20", # read device type ], - "device_info": { + ATTR_DEVICE_INFO: { ATTR_IDENTIFIERS: {(DOMAIN, "28.111111111111")}, ATTR_MANUFACTURER: MANUFACTURER, ATTR_MODEL: "DS18B20", @@ -416,21 +423,21 @@ MOCK_OWPROXY_DEVICES = { }, SENSOR_DOMAIN: [ { - "entity_id": "sensor.28_111111111111_temperature", - "unique_id": "/28.111111111111/temperature", - "injected_value": b" 26.984", - "result": "27.0", - ATTR_UNIT_OF_MEASUREMENT: TEMP_CELSIUS, ATTR_DEVICE_CLASS: DEVICE_CLASS_TEMPERATURE, + ATTR_ENTITY_ID: "sensor.28_111111111111_temperature", + ATTR_INJECT_READS: b" 26.984", + ATTR_STATE: "27.0", ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT, + ATTR_UNIQUE_ID: "/28.111111111111/temperature", + ATTR_UNIT_OF_MEASUREMENT: TEMP_CELSIUS, }, ], }, "29.111111111111": { - "inject_reads": [ + ATTR_INJECT_READS: [ b"DS2408", # read device type ], - "device_info": { + ATTR_DEVICE_INFO: { ATTR_IDENTIFIERS: {(DOMAIN, "29.111111111111")}, ATTR_MANUFACTURER: MANUFACTURER, ATTR_MODEL: "DS2408", @@ -438,230 +445,230 @@ MOCK_OWPROXY_DEVICES = { }, BINARY_SENSOR_DOMAIN: [ { - "entity_id": "binary_sensor.29_111111111111_sensed_0", - "unique_id": "/29.111111111111/sensed.0", - "injected_value": b" 1", - "result": STATE_ON, - ATTR_UNIT_OF_MEASUREMENT: None, - ATTR_DEVICE_CLASS: None, ATTR_DEFAULT_DISABLED: True, + ATTR_DEVICE_CLASS: None, + ATTR_ENTITY_ID: "binary_sensor.29_111111111111_sensed_0", + ATTR_INJECT_READS: b" 1", + ATTR_STATE: STATE_ON, + ATTR_UNIQUE_ID: "/29.111111111111/sensed.0", + ATTR_UNIT_OF_MEASUREMENT: None, }, { - "entity_id": "binary_sensor.29_111111111111_sensed_1", - "unique_id": "/29.111111111111/sensed.1", - "injected_value": b" 0", - "result": STATE_OFF, - ATTR_UNIT_OF_MEASUREMENT: None, - ATTR_DEVICE_CLASS: None, ATTR_DEFAULT_DISABLED: True, + ATTR_DEVICE_CLASS: None, + ATTR_ENTITY_ID: "binary_sensor.29_111111111111_sensed_1", + ATTR_INJECT_READS: b" 0", + ATTR_STATE: STATE_OFF, + ATTR_UNIQUE_ID: "/29.111111111111/sensed.1", + ATTR_UNIT_OF_MEASUREMENT: None, }, { - "entity_id": "binary_sensor.29_111111111111_sensed_2", - "unique_id": "/29.111111111111/sensed.2", - "injected_value": b" 0", - "result": STATE_OFF, - ATTR_UNIT_OF_MEASUREMENT: None, - ATTR_DEVICE_CLASS: None, ATTR_DEFAULT_DISABLED: True, + ATTR_DEVICE_CLASS: None, + ATTR_ENTITY_ID: "binary_sensor.29_111111111111_sensed_2", + ATTR_INJECT_READS: b" 0", + ATTR_STATE: STATE_OFF, + ATTR_UNIQUE_ID: "/29.111111111111/sensed.2", + ATTR_UNIT_OF_MEASUREMENT: None, }, { - "entity_id": "binary_sensor.29_111111111111_sensed_3", - "unique_id": "/29.111111111111/sensed.3", - "injected_value": b" 0", - "result": STATE_OFF, - ATTR_UNIT_OF_MEASUREMENT: None, - ATTR_DEVICE_CLASS: None, ATTR_DEFAULT_DISABLED: True, + ATTR_DEVICE_CLASS: None, + ATTR_ENTITY_ID: "binary_sensor.29_111111111111_sensed_3", + ATTR_INJECT_READS: b" 0", + ATTR_STATE: STATE_OFF, + ATTR_UNIQUE_ID: "/29.111111111111/sensed.3", + ATTR_UNIT_OF_MEASUREMENT: None, }, { - "entity_id": "binary_sensor.29_111111111111_sensed_4", - "unique_id": "/29.111111111111/sensed.4", - "injected_value": b" 0", - "result": STATE_OFF, - ATTR_UNIT_OF_MEASUREMENT: None, - ATTR_DEVICE_CLASS: None, ATTR_DEFAULT_DISABLED: True, + ATTR_DEVICE_CLASS: None, + ATTR_ENTITY_ID: "binary_sensor.29_111111111111_sensed_4", + ATTR_INJECT_READS: b" 0", + ATTR_STATE: STATE_OFF, + ATTR_UNIQUE_ID: "/29.111111111111/sensed.4", + ATTR_UNIT_OF_MEASUREMENT: None, }, { - "entity_id": "binary_sensor.29_111111111111_sensed_5", - "unique_id": "/29.111111111111/sensed.5", - "injected_value": b" 0", - "result": STATE_OFF, - ATTR_UNIT_OF_MEASUREMENT: None, - ATTR_DEVICE_CLASS: None, ATTR_DEFAULT_DISABLED: True, + ATTR_DEVICE_CLASS: None, + ATTR_ENTITY_ID: "binary_sensor.29_111111111111_sensed_5", + ATTR_INJECT_READS: b" 0", + ATTR_STATE: STATE_OFF, + ATTR_UNIQUE_ID: "/29.111111111111/sensed.5", + ATTR_UNIT_OF_MEASUREMENT: None, }, { - "entity_id": "binary_sensor.29_111111111111_sensed_6", - "unique_id": "/29.111111111111/sensed.6", - "injected_value": b" 0", - "result": STATE_OFF, - ATTR_UNIT_OF_MEASUREMENT: None, - ATTR_DEVICE_CLASS: None, ATTR_DEFAULT_DISABLED: True, + ATTR_DEVICE_CLASS: None, + ATTR_ENTITY_ID: "binary_sensor.29_111111111111_sensed_6", + ATTR_INJECT_READS: b" 0", + ATTR_STATE: STATE_OFF, + ATTR_UNIQUE_ID: "/29.111111111111/sensed.6", + ATTR_UNIT_OF_MEASUREMENT: None, }, { - "entity_id": "binary_sensor.29_111111111111_sensed_7", - "unique_id": "/29.111111111111/sensed.7", - "injected_value": b" 0", - "result": STATE_OFF, - ATTR_UNIT_OF_MEASUREMENT: None, - ATTR_DEVICE_CLASS: None, ATTR_DEFAULT_DISABLED: True, + ATTR_DEVICE_CLASS: None, + ATTR_ENTITY_ID: "binary_sensor.29_111111111111_sensed_7", + ATTR_INJECT_READS: b" 0", + ATTR_STATE: STATE_OFF, + ATTR_UNIQUE_ID: "/29.111111111111/sensed.7", + ATTR_UNIT_OF_MEASUREMENT: None, }, ], SWITCH_DOMAIN: [ { - "entity_id": "switch.29_111111111111_pio_0", - "unique_id": "/29.111111111111/PIO.0", - "injected_value": b" 1", - "result": STATE_ON, - ATTR_UNIT_OF_MEASUREMENT: None, - ATTR_DEVICE_CLASS: None, ATTR_DEFAULT_DISABLED: True, + ATTR_DEVICE_CLASS: None, + ATTR_ENTITY_ID: "switch.29_111111111111_pio_0", + ATTR_INJECT_READS: b" 1", + ATTR_STATE: STATE_ON, + ATTR_UNIQUE_ID: "/29.111111111111/PIO.0", + ATTR_UNIT_OF_MEASUREMENT: None, }, { - "entity_id": "switch.29_111111111111_pio_1", - "unique_id": "/29.111111111111/PIO.1", - "injected_value": b" 0", - "result": STATE_OFF, - ATTR_UNIT_OF_MEASUREMENT: None, - ATTR_DEVICE_CLASS: None, ATTR_DEFAULT_DISABLED: True, + ATTR_DEVICE_CLASS: None, + ATTR_ENTITY_ID: "switch.29_111111111111_pio_1", + ATTR_INJECT_READS: b" 0", + ATTR_STATE: STATE_OFF, + ATTR_UNIQUE_ID: "/29.111111111111/PIO.1", + ATTR_UNIT_OF_MEASUREMENT: None, }, { - "entity_id": "switch.29_111111111111_pio_2", - "unique_id": "/29.111111111111/PIO.2", - "injected_value": b" 1", - "result": STATE_ON, - ATTR_UNIT_OF_MEASUREMENT: None, - ATTR_DEVICE_CLASS: None, ATTR_DEFAULT_DISABLED: True, + ATTR_DEVICE_CLASS: None, + ATTR_ENTITY_ID: "switch.29_111111111111_pio_2", + ATTR_INJECT_READS: b" 1", + ATTR_STATE: STATE_ON, + ATTR_UNIQUE_ID: "/29.111111111111/PIO.2", + ATTR_UNIT_OF_MEASUREMENT: None, }, { - "entity_id": "switch.29_111111111111_pio_3", - "unique_id": "/29.111111111111/PIO.3", - "injected_value": b" 0", - "result": STATE_OFF, - ATTR_UNIT_OF_MEASUREMENT: None, - ATTR_DEVICE_CLASS: None, ATTR_DEFAULT_DISABLED: True, + ATTR_DEVICE_CLASS: None, + ATTR_ENTITY_ID: "switch.29_111111111111_pio_3", + ATTR_INJECT_READS: b" 0", + ATTR_STATE: STATE_OFF, + ATTR_UNIQUE_ID: "/29.111111111111/PIO.3", + ATTR_UNIT_OF_MEASUREMENT: None, }, { - "entity_id": "switch.29_111111111111_pio_4", - "unique_id": "/29.111111111111/PIO.4", - "injected_value": b" 1", - "result": STATE_ON, - ATTR_UNIT_OF_MEASUREMENT: None, - ATTR_DEVICE_CLASS: None, ATTR_DEFAULT_DISABLED: True, + ATTR_DEVICE_CLASS: None, + ATTR_ENTITY_ID: "switch.29_111111111111_pio_4", + ATTR_INJECT_READS: b" 1", + ATTR_STATE: STATE_ON, + ATTR_UNIT_OF_MEASUREMENT: None, + ATTR_UNIQUE_ID: "/29.111111111111/PIO.4", }, { - "entity_id": "switch.29_111111111111_pio_5", - "unique_id": "/29.111111111111/PIO.5", - "injected_value": b" 0", - "result": STATE_OFF, - ATTR_UNIT_OF_MEASUREMENT: None, - ATTR_DEVICE_CLASS: None, ATTR_DEFAULT_DISABLED: True, + ATTR_DEVICE_CLASS: None, + ATTR_ENTITY_ID: "switch.29_111111111111_pio_5", + ATTR_INJECT_READS: b" 0", + ATTR_STATE: STATE_OFF, + ATTR_UNIQUE_ID: "/29.111111111111/PIO.5", + ATTR_UNIT_OF_MEASUREMENT: None, }, { - "entity_id": "switch.29_111111111111_pio_6", - "unique_id": "/29.111111111111/PIO.6", - "injected_value": b" 1", - "result": STATE_ON, - ATTR_UNIT_OF_MEASUREMENT: None, - ATTR_DEVICE_CLASS: None, ATTR_DEFAULT_DISABLED: True, + ATTR_DEVICE_CLASS: None, + ATTR_ENTITY_ID: "switch.29_111111111111_pio_6", + ATTR_INJECT_READS: b" 1", + ATTR_STATE: STATE_ON, + ATTR_UNIQUE_ID: "/29.111111111111/PIO.6", + ATTR_UNIT_OF_MEASUREMENT: None, }, { - "entity_id": "switch.29_111111111111_pio_7", - "unique_id": "/29.111111111111/PIO.7", - "injected_value": b" 0", - "result": STATE_OFF, - ATTR_UNIT_OF_MEASUREMENT: None, - ATTR_DEVICE_CLASS: None, ATTR_DEFAULT_DISABLED: True, + ATTR_DEVICE_CLASS: None, + ATTR_ENTITY_ID: "switch.29_111111111111_pio_7", + ATTR_INJECT_READS: b" 0", + ATTR_STATE: STATE_OFF, + ATTR_UNIQUE_ID: "/29.111111111111/PIO.7", + ATTR_UNIT_OF_MEASUREMENT: None, }, { - "entity_id": "switch.29_111111111111_latch_0", - "unique_id": "/29.111111111111/latch.0", - "injected_value": b" 1", - "result": STATE_ON, - ATTR_UNIT_OF_MEASUREMENT: None, - ATTR_DEVICE_CLASS: None, ATTR_DEFAULT_DISABLED: True, + ATTR_DEVICE_CLASS: None, + ATTR_ENTITY_ID: "switch.29_111111111111_latch_0", + ATTR_INJECT_READS: b" 1", + ATTR_STATE: STATE_ON, + ATTR_UNIQUE_ID: "/29.111111111111/latch.0", + ATTR_UNIT_OF_MEASUREMENT: None, }, { - "entity_id": "switch.29_111111111111_latch_1", - "unique_id": "/29.111111111111/latch.1", - "injected_value": b" 0", - "result": STATE_OFF, - ATTR_UNIT_OF_MEASUREMENT: None, - ATTR_DEVICE_CLASS: None, ATTR_DEFAULT_DISABLED: True, + ATTR_DEVICE_CLASS: None, + ATTR_ENTITY_ID: "switch.29_111111111111_latch_1", + ATTR_INJECT_READS: b" 0", + ATTR_STATE: STATE_OFF, + ATTR_UNIQUE_ID: "/29.111111111111/latch.1", + ATTR_UNIT_OF_MEASUREMENT: None, }, { - "entity_id": "switch.29_111111111111_latch_2", - "unique_id": "/29.111111111111/latch.2", - "injected_value": b" 1", - "result": STATE_ON, - ATTR_UNIT_OF_MEASUREMENT: None, - ATTR_DEVICE_CLASS: None, ATTR_DEFAULT_DISABLED: True, + ATTR_DEVICE_CLASS: None, + ATTR_ENTITY_ID: "switch.29_111111111111_latch_2", + ATTR_INJECT_READS: b" 1", + ATTR_STATE: STATE_ON, + ATTR_UNIQUE_ID: "/29.111111111111/latch.2", + ATTR_UNIT_OF_MEASUREMENT: None, }, { - "entity_id": "switch.29_111111111111_latch_3", - "unique_id": "/29.111111111111/latch.3", - "injected_value": b" 0", - "result": STATE_OFF, - ATTR_UNIT_OF_MEASUREMENT: None, - ATTR_DEVICE_CLASS: None, ATTR_DEFAULT_DISABLED: True, + ATTR_DEVICE_CLASS: None, + ATTR_ENTITY_ID: "switch.29_111111111111_latch_3", + ATTR_INJECT_READS: b" 0", + ATTR_STATE: STATE_OFF, + ATTR_UNIQUE_ID: "/29.111111111111/latch.3", + ATTR_UNIT_OF_MEASUREMENT: None, }, { - "entity_id": "switch.29_111111111111_latch_4", - "unique_id": "/29.111111111111/latch.4", - "injected_value": b" 1", - "result": STATE_ON, - ATTR_UNIT_OF_MEASUREMENT: None, - ATTR_DEVICE_CLASS: None, ATTR_DEFAULT_DISABLED: True, + ATTR_DEVICE_CLASS: None, + ATTR_ENTITY_ID: "switch.29_111111111111_latch_4", + ATTR_INJECT_READS: b" 1", + ATTR_STATE: STATE_ON, + ATTR_UNIQUE_ID: "/29.111111111111/latch.4", + ATTR_UNIT_OF_MEASUREMENT: None, }, { - "entity_id": "switch.29_111111111111_latch_5", - "unique_id": "/29.111111111111/latch.5", - "injected_value": b" 0", - "result": STATE_OFF, - ATTR_UNIT_OF_MEASUREMENT: None, - ATTR_DEVICE_CLASS: None, ATTR_DEFAULT_DISABLED: True, + ATTR_DEVICE_CLASS: None, + ATTR_ENTITY_ID: "switch.29_111111111111_latch_5", + ATTR_INJECT_READS: b" 0", + ATTR_STATE: STATE_OFF, + ATTR_UNIQUE_ID: "/29.111111111111/latch.5", + ATTR_UNIT_OF_MEASUREMENT: None, }, { - "entity_id": "switch.29_111111111111_latch_6", - "unique_id": "/29.111111111111/latch.6", - "injected_value": b" 1", - "result": STATE_ON, - ATTR_UNIT_OF_MEASUREMENT: None, - ATTR_DEVICE_CLASS: None, ATTR_DEFAULT_DISABLED: True, + ATTR_DEVICE_CLASS: None, + ATTR_ENTITY_ID: "switch.29_111111111111_latch_6", + ATTR_INJECT_READS: b" 1", + ATTR_STATE: STATE_ON, + ATTR_UNIQUE_ID: "/29.111111111111/latch.6", + ATTR_UNIT_OF_MEASUREMENT: None, }, { - "entity_id": "switch.29_111111111111_latch_7", - "unique_id": "/29.111111111111/latch.7", - "injected_value": b" 0", - "result": STATE_OFF, - ATTR_UNIT_OF_MEASUREMENT: None, - ATTR_DEVICE_CLASS: None, ATTR_DEFAULT_DISABLED: True, + ATTR_DEVICE_CLASS: None, + ATTR_ENTITY_ID: "switch.29_111111111111_latch_7", + ATTR_INJECT_READS: b" 0", + ATTR_STATE: STATE_OFF, + ATTR_UNIQUE_ID: "/29.111111111111/latch.7", + ATTR_UNIT_OF_MEASUREMENT: None, }, ], }, "3A.111111111111": { - "inject_reads": [ + ATTR_INJECT_READS: [ b"DS2413", # read device type ], - "device_info": { + ATTR_DEVICE_INFO: { ATTR_IDENTIFIERS: {(DOMAIN, "3A.111111111111")}, ATTR_MANUFACTURER: MANUFACTURER, ATTR_MODEL: "DS2413", @@ -669,50 +676,50 @@ MOCK_OWPROXY_DEVICES = { }, BINARY_SENSOR_DOMAIN: [ { - "entity_id": "binary_sensor.3a_111111111111_sensed_a", - "unique_id": "/3A.111111111111/sensed.A", - "injected_value": b" 1", - "result": STATE_ON, - ATTR_UNIT_OF_MEASUREMENT: None, - ATTR_DEVICE_CLASS: None, ATTR_DEFAULT_DISABLED: True, + ATTR_DEVICE_CLASS: None, + ATTR_ENTITY_ID: "binary_sensor.3a_111111111111_sensed_a", + ATTR_INJECT_READS: b" 1", + ATTR_STATE: STATE_ON, + ATTR_UNIQUE_ID: "/3A.111111111111/sensed.A", + ATTR_UNIT_OF_MEASUREMENT: None, }, { - "entity_id": "binary_sensor.3a_111111111111_sensed_b", - "unique_id": "/3A.111111111111/sensed.B", - "injected_value": b" 0", - "result": STATE_OFF, - ATTR_UNIT_OF_MEASUREMENT: None, - ATTR_DEVICE_CLASS: None, ATTR_DEFAULT_DISABLED: True, + ATTR_DEVICE_CLASS: None, + ATTR_ENTITY_ID: "binary_sensor.3a_111111111111_sensed_b", + ATTR_INJECT_READS: b" 0", + ATTR_STATE: STATE_OFF, + ATTR_UNIQUE_ID: "/3A.111111111111/sensed.B", + ATTR_UNIT_OF_MEASUREMENT: None, }, ], SWITCH_DOMAIN: [ { - "entity_id": "switch.3a_111111111111_pio_a", - "unique_id": "/3A.111111111111/PIO.A", - "injected_value": b" 1", - "result": STATE_ON, - ATTR_UNIT_OF_MEASUREMENT: None, - ATTR_DEVICE_CLASS: None, ATTR_DEFAULT_DISABLED: True, + ATTR_DEVICE_CLASS: None, + ATTR_ENTITY_ID: "switch.3a_111111111111_pio_a", + ATTR_INJECT_READS: b" 1", + ATTR_STATE: STATE_ON, + ATTR_UNIQUE_ID: "/3A.111111111111/PIO.A", + ATTR_UNIT_OF_MEASUREMENT: None, }, { - "entity_id": "switch.3a_111111111111_pio_b", - "unique_id": "/3A.111111111111/PIO.B", - "injected_value": b" 0", - "result": STATE_OFF, - ATTR_UNIT_OF_MEASUREMENT: None, - ATTR_DEVICE_CLASS: None, ATTR_DEFAULT_DISABLED: True, + ATTR_DEVICE_CLASS: None, + ATTR_ENTITY_ID: "switch.3a_111111111111_pio_b", + ATTR_INJECT_READS: b" 0", + ATTR_STATE: STATE_OFF, + ATTR_UNIQUE_ID: "/3A.111111111111/PIO.B", + ATTR_UNIT_OF_MEASUREMENT: None, }, ], }, "3B.111111111111": { - "inject_reads": [ + ATTR_INJECT_READS: [ b"DS1825", # read device type ], - "device_info": { + ATTR_DEVICE_INFO: { ATTR_IDENTIFIERS: {(DOMAIN, "3B.111111111111")}, ATTR_MANUFACTURER: MANUFACTURER, ATTR_MODEL: "DS1825", @@ -720,21 +727,21 @@ MOCK_OWPROXY_DEVICES = { }, SENSOR_DOMAIN: [ { - "entity_id": "sensor.3b_111111111111_temperature", - "unique_id": "/3B.111111111111/temperature", - "injected_value": b" 28.243", - "result": "28.2", - ATTR_UNIT_OF_MEASUREMENT: TEMP_CELSIUS, ATTR_DEVICE_CLASS: DEVICE_CLASS_TEMPERATURE, + ATTR_ENTITY_ID: "sensor.3b_111111111111_temperature", + ATTR_INJECT_READS: b" 28.243", + ATTR_STATE: "28.2", ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT, + ATTR_UNIQUE_ID: "/3B.111111111111/temperature", + ATTR_UNIT_OF_MEASUREMENT: TEMP_CELSIUS, }, ], }, "42.111111111111": { - "inject_reads": [ + ATTR_INJECT_READS: [ b"DS28EA00", # read device type ], - "device_info": { + ATTR_DEVICE_INFO: { ATTR_IDENTIFIERS: {(DOMAIN, "42.111111111111")}, ATTR_MANUFACTURER: MANUFACTURER, ATTR_MODEL: "DS28EA00", @@ -742,21 +749,21 @@ MOCK_OWPROXY_DEVICES = { }, SENSOR_DOMAIN: [ { - "entity_id": "sensor.42_111111111111_temperature", - "unique_id": "/42.111111111111/temperature", - "injected_value": b" 29.123", - "result": "29.1", - ATTR_UNIT_OF_MEASUREMENT: TEMP_CELSIUS, ATTR_DEVICE_CLASS: DEVICE_CLASS_TEMPERATURE, + ATTR_ENTITY_ID: "sensor.42_111111111111_temperature", + ATTR_INJECT_READS: b" 29.123", + ATTR_STATE: "29.1", ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT, + ATTR_UNIQUE_ID: "/42.111111111111/temperature", + ATTR_UNIT_OF_MEASUREMENT: TEMP_CELSIUS, }, ], }, "EF.111111111111": { - "inject_reads": [ + ATTR_INJECT_READS: [ b"HobbyBoards_EF", # read type ], - "device_info": { + ATTR_DEVICE_INFO: { ATTR_IDENTIFIERS: {(DOMAIN, "EF.111111111111")}, ATTR_MANUFACTURER: MANUFACTURER, ATTR_MODEL: "HobbyBoards_EF", @@ -764,43 +771,43 @@ MOCK_OWPROXY_DEVICES = { }, SENSOR_DOMAIN: [ { - "entity_id": "sensor.ef_111111111111_humidity", - "unique_id": "/EF.111111111111/humidity/humidity_corrected", - "injected_value": b" 67.745", - "result": "67.7", - ATTR_UNIT_OF_MEASUREMENT: PERCENTAGE, ATTR_DEVICE_CLASS: DEVICE_CLASS_HUMIDITY, + ATTR_ENTITY_ID: "sensor.ef_111111111111_humidity", + ATTR_INJECT_READS: b" 67.745", + ATTR_STATE: "67.7", ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT, + ATTR_UNIQUE_ID: "/EF.111111111111/humidity/humidity_corrected", + ATTR_UNIT_OF_MEASUREMENT: PERCENTAGE, }, { - "entity_id": "sensor.ef_111111111111_humidity_raw", - "unique_id": "/EF.111111111111/humidity/humidity_raw", - "injected_value": b" 65.541", - "result": "65.5", - ATTR_UNIT_OF_MEASUREMENT: PERCENTAGE, ATTR_DEVICE_CLASS: DEVICE_CLASS_HUMIDITY, + ATTR_ENTITY_ID: "sensor.ef_111111111111_humidity_raw", + ATTR_INJECT_READS: b" 65.541", + ATTR_STATE: "65.5", ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT, + ATTR_UNIQUE_ID: "/EF.111111111111/humidity/humidity_raw", + ATTR_UNIT_OF_MEASUREMENT: PERCENTAGE, }, { - "entity_id": "sensor.ef_111111111111_temperature", - "unique_id": "/EF.111111111111/humidity/temperature", - "injected_value": b" 25.123", - "result": "25.1", - ATTR_UNIT_OF_MEASUREMENT: TEMP_CELSIUS, ATTR_DEVICE_CLASS: DEVICE_CLASS_TEMPERATURE, + ATTR_ENTITY_ID: "sensor.ef_111111111111_temperature", + ATTR_INJECT_READS: b" 25.123", + ATTR_STATE: "25.1", ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT, + ATTR_UNIQUE_ID: "/EF.111111111111/humidity/temperature", + ATTR_UNIT_OF_MEASUREMENT: TEMP_CELSIUS, }, ], }, "EF.111111111112": { - "inject_reads": [ + ATTR_INJECT_READS: [ b"HB_MOISTURE_METER", # read type b" 1", # read is_leaf_0 b" 1", # read is_leaf_1 b" 0", # read is_leaf_2 b" 0", # read is_leaf_3 ], - "device_info": { + ATTR_DEVICE_INFO: { ATTR_IDENTIFIERS: {(DOMAIN, "EF.111111111112")}, ATTR_MANUFACTURER: MANUFACTURER, ATTR_MODEL: "HB_MOISTURE_METER", @@ -808,49 +815,49 @@ MOCK_OWPROXY_DEVICES = { }, SENSOR_DOMAIN: [ { - "entity_id": "sensor.ef_111111111112_wetness_0", - "unique_id": "/EF.111111111112/moisture/sensor.0", - "injected_value": b" 41.745", - "result": "41.7", - ATTR_UNIT_OF_MEASUREMENT: PERCENTAGE, ATTR_DEVICE_CLASS: DEVICE_CLASS_HUMIDITY, + ATTR_ENTITY_ID: "sensor.ef_111111111112_wetness_0", + ATTR_INJECT_READS: b" 41.745", + ATTR_STATE: "41.7", ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT, - }, - { - "entity_id": "sensor.ef_111111111112_wetness_1", - "unique_id": "/EF.111111111112/moisture/sensor.1", - "injected_value": b" 42.541", - "result": "42.5", + ATTR_UNIQUE_ID: "/EF.111111111112/moisture/sensor.0", ATTR_UNIT_OF_MEASUREMENT: PERCENTAGE, + }, + { ATTR_DEVICE_CLASS: DEVICE_CLASS_HUMIDITY, + ATTR_ENTITY_ID: "sensor.ef_111111111112_wetness_1", + ATTR_INJECT_READS: b" 42.541", + ATTR_STATE: "42.5", ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT, + ATTR_UNIQUE_ID: "/EF.111111111112/moisture/sensor.1", + ATTR_UNIT_OF_MEASUREMENT: PERCENTAGE, }, { - "entity_id": "sensor.ef_111111111112_moisture_2", - "unique_id": "/EF.111111111112/moisture/sensor.2", - "injected_value": b" 43.123", - "result": "43.1", - ATTR_UNIT_OF_MEASUREMENT: PRESSURE_CBAR, ATTR_DEVICE_CLASS: DEVICE_CLASS_PRESSURE, + ATTR_ENTITY_ID: "sensor.ef_111111111112_moisture_2", + ATTR_INJECT_READS: b" 43.123", + ATTR_STATE: "43.1", ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT, + ATTR_UNIQUE_ID: "/EF.111111111112/moisture/sensor.2", + ATTR_UNIT_OF_MEASUREMENT: PRESSURE_CBAR, }, { - "entity_id": "sensor.ef_111111111112_moisture_3", - "unique_id": "/EF.111111111112/moisture/sensor.3", - "injected_value": b" 44.123", - "result": "44.1", - ATTR_UNIT_OF_MEASUREMENT: PRESSURE_CBAR, ATTR_DEVICE_CLASS: DEVICE_CLASS_PRESSURE, + ATTR_ENTITY_ID: "sensor.ef_111111111112_moisture_3", + ATTR_INJECT_READS: b" 44.123", + ATTR_STATE: "44.1", ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT, + ATTR_UNIQUE_ID: "/EF.111111111112/moisture/sensor.3", + ATTR_UNIT_OF_MEASUREMENT: PRESSURE_CBAR, }, ], }, "7E.111111111111": { - "inject_reads": [ + ATTR_INJECT_READS: [ b"EDS", # read type b"EDS0068", # read device_type - note EDS specific ], - "device_info": { + ATTR_DEVICE_INFO: { ATTR_IDENTIFIERS: {(DOMAIN, "7E.111111111111")}, ATTR_MANUFACTURER: MANUFACTURER, ATTR_MODEL: "EDS", @@ -858,49 +865,49 @@ MOCK_OWPROXY_DEVICES = { }, SENSOR_DOMAIN: [ { - "entity_id": "sensor.7e_111111111111_temperature", - "unique_id": "/7E.111111111111/EDS0068/temperature", - "injected_value": b" 13.9375", - "result": "13.9", - ATTR_UNIT_OF_MEASUREMENT: TEMP_CELSIUS, ATTR_DEVICE_CLASS: DEVICE_CLASS_TEMPERATURE, + ATTR_ENTITY_ID: "sensor.7e_111111111111_temperature", + ATTR_INJECT_READS: b" 13.9375", + ATTR_STATE: "13.9", ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT, + ATTR_UNIQUE_ID: "/7E.111111111111/EDS0068/temperature", + ATTR_UNIT_OF_MEASUREMENT: TEMP_CELSIUS, }, { - "entity_id": "sensor.7e_111111111111_pressure", - "unique_id": "/7E.111111111111/EDS0068/pressure", - "injected_value": b" 1012.21", - "result": "1012.2", - ATTR_UNIT_OF_MEASUREMENT: PRESSURE_MBAR, ATTR_DEVICE_CLASS: DEVICE_CLASS_PRESSURE, + ATTR_ENTITY_ID: "sensor.7e_111111111111_pressure", + ATTR_INJECT_READS: b" 1012.21", + ATTR_STATE: "1012.2", ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT, + ATTR_UNIQUE_ID: "/7E.111111111111/EDS0068/pressure", + ATTR_UNIT_OF_MEASUREMENT: PRESSURE_MBAR, }, { - "entity_id": "sensor.7e_111111111111_illuminance", - "unique_id": "/7E.111111111111/EDS0068/light", - "injected_value": b" 65.8839", - "result": "65.9", - ATTR_UNIT_OF_MEASUREMENT: LIGHT_LUX, ATTR_DEVICE_CLASS: DEVICE_CLASS_ILLUMINANCE, + ATTR_ENTITY_ID: "sensor.7e_111111111111_illuminance", + ATTR_INJECT_READS: b" 65.8839", + ATTR_STATE: "65.9", ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT, + ATTR_UNIQUE_ID: "/7E.111111111111/EDS0068/light", + ATTR_UNIT_OF_MEASUREMENT: LIGHT_LUX, }, { - "entity_id": "sensor.7e_111111111111_humidity", - "unique_id": "/7E.111111111111/EDS0068/humidity", - "injected_value": b" 41.375", - "result": "41.4", - ATTR_UNIT_OF_MEASUREMENT: PERCENTAGE, ATTR_DEVICE_CLASS: DEVICE_CLASS_HUMIDITY, + ATTR_ENTITY_ID: "sensor.7e_111111111111_humidity", + ATTR_INJECT_READS: b" 41.375", + ATTR_STATE: "41.4", ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT, + ATTR_UNIQUE_ID: "/7E.111111111111/EDS0068/humidity", + ATTR_UNIT_OF_MEASUREMENT: PERCENTAGE, }, ], }, "7E.222222222222": { - "inject_reads": [ + ATTR_INJECT_READS: [ b"EDS", # read type b"EDS0066", # read device_type - note EDS specific ], - "device_info": { + ATTR_DEVICE_INFO: { ATTR_IDENTIFIERS: {(DOMAIN, "7E.222222222222")}, ATTR_MANUFACTURER: MANUFACTURER, ATTR_MODEL: "EDS", @@ -908,31 +915,33 @@ MOCK_OWPROXY_DEVICES = { }, SENSOR_DOMAIN: [ { - "entity_id": "sensor.7e_222222222222_temperature", - "unique_id": "/7E.222222222222/EDS0066/temperature", - "injected_value": b" 13.9375", - "result": "13.9", - ATTR_UNIT_OF_MEASUREMENT: TEMP_CELSIUS, ATTR_DEVICE_CLASS: DEVICE_CLASS_TEMPERATURE, + ATTR_ENTITY_ID: "sensor.7e_222222222222_temperature", + ATTR_INJECT_READS: b" 13.9375", + ATTR_STATE: "13.9", ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT, + ATTR_UNIQUE_ID: "/7E.222222222222/EDS0066/temperature", + ATTR_UNIT_OF_MEASUREMENT: TEMP_CELSIUS, }, { - "entity_id": "sensor.7e_222222222222_pressure", - "unique_id": "/7E.222222222222/EDS0066/pressure", - "injected_value": b" 1012.21", - "result": "1012.2", - ATTR_UNIT_OF_MEASUREMENT: PRESSURE_MBAR, ATTR_DEVICE_CLASS: DEVICE_CLASS_PRESSURE, + ATTR_ENTITY_ID: "sensor.7e_222222222222_pressure", + ATTR_INJECT_READS: b" 1012.21", + ATTR_STATE: "1012.2", ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT, + ATTR_UNIQUE_ID: "/7E.222222222222/EDS0066/pressure", + ATTR_UNIT_OF_MEASUREMENT: PRESSURE_MBAR, }, ], }, } MOCK_SYSBUS_DEVICES = { - "00-111111111111": {SENSOR_DOMAIN: []}, + "00-111111111111": { + SENSOR_DOMAIN: [], + }, "10-111111111111": { - "device_info": { + ATTR_DEVICE_INFO: { ATTR_IDENTIFIERS: {(DOMAIN, "10-111111111111")}, ATTR_MANUFACTURER: MANUFACTURER, ATTR_MODEL: "10", @@ -940,20 +949,24 @@ MOCK_SYSBUS_DEVICES = { }, SENSOR_DOMAIN: [ { - "entity_id": "sensor.my_ds18b20_temperature", - "unique_id": "/sys/bus/w1/devices/10-111111111111/w1_slave", - "injected_value": 25.123, - "result": "25.1", - ATTR_UNIT_OF_MEASUREMENT: TEMP_CELSIUS, ATTR_DEVICE_CLASS: DEVICE_CLASS_TEMPERATURE, + ATTR_ENTITY_ID: "sensor.my_ds18b20_temperature", + ATTR_INJECT_READS: 25.123, + ATTR_STATE: "25.1", ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT, + ATTR_UNIQUE_ID: "/sys/bus/w1/devices/10-111111111111/w1_slave", + ATTR_UNIT_OF_MEASUREMENT: TEMP_CELSIUS, }, ], }, - "12-111111111111": {SENSOR_DOMAIN: []}, - "1D-111111111111": {SENSOR_DOMAIN: []}, + "12-111111111111": { + SENSOR_DOMAIN: [], + }, + "1D-111111111111": { + SENSOR_DOMAIN: [], + }, "22-111111111111": { - "device_info": { + ATTR_DEVICE_INFO: { ATTR_IDENTIFIERS: {(DOMAIN, "22-111111111111")}, ATTR_MANUFACTURER: MANUFACTURER, ATTR_MODEL: "22", @@ -961,19 +974,21 @@ MOCK_SYSBUS_DEVICES = { }, "sensor": [ { - "entity_id": "sensor.22_111111111111_temperature", - "unique_id": "/sys/bus/w1/devices/22-111111111111/w1_slave", - "injected_value": FileNotFoundError, - "result": "unknown", - ATTR_UNIT_OF_MEASUREMENT: TEMP_CELSIUS, ATTR_DEVICE_CLASS: DEVICE_CLASS_TEMPERATURE, + ATTR_ENTITY_ID: "sensor.22_111111111111_temperature", + ATTR_INJECT_READS: FileNotFoundError, + ATTR_STATE: STATE_UNKNOWN, ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT, + ATTR_UNIQUE_ID: "/sys/bus/w1/devices/22-111111111111/w1_slave", + ATTR_UNIT_OF_MEASUREMENT: TEMP_CELSIUS, }, ], }, - "26-111111111111": {SENSOR_DOMAIN: []}, + "26-111111111111": { + SENSOR_DOMAIN: [], + }, "28-111111111111": { - "device_info": { + ATTR_DEVICE_INFO: { ATTR_IDENTIFIERS: {(DOMAIN, "28-111111111111")}, ATTR_MANUFACTURER: MANUFACTURER, ATTR_MODEL: "28", @@ -981,20 +996,24 @@ MOCK_SYSBUS_DEVICES = { }, SENSOR_DOMAIN: [ { - "entity_id": "sensor.28_111111111111_temperature", - "unique_id": "/sys/bus/w1/devices/28-111111111111/w1_slave", - "injected_value": InvalidCRCException, - "result": "unknown", - ATTR_UNIT_OF_MEASUREMENT: TEMP_CELSIUS, ATTR_DEVICE_CLASS: DEVICE_CLASS_TEMPERATURE, + ATTR_ENTITY_ID: "sensor.28_111111111111_temperature", + ATTR_INJECT_READS: InvalidCRCException, + ATTR_STATE: STATE_UNKNOWN, ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT, + ATTR_UNIQUE_ID: "/sys/bus/w1/devices/28-111111111111/w1_slave", + ATTR_UNIT_OF_MEASUREMENT: TEMP_CELSIUS, }, ], }, - "29-111111111111": {SENSOR_DOMAIN: []}, - "3A-111111111111": {SENSOR_DOMAIN: []}, + "29-111111111111": { + SENSOR_DOMAIN: [], + }, + "3A-111111111111": { + SENSOR_DOMAIN: [], + }, "3B-111111111111": { - "device_info": { + ATTR_DEVICE_INFO: { ATTR_IDENTIFIERS: {(DOMAIN, "3B-111111111111")}, ATTR_MANUFACTURER: MANUFACTURER, ATTR_MODEL: "3B", @@ -1002,18 +1021,18 @@ MOCK_SYSBUS_DEVICES = { }, SENSOR_DOMAIN: [ { - "entity_id": "sensor.3b_111111111111_temperature", - "unique_id": "/sys/bus/w1/devices/3B-111111111111/w1_slave", - "injected_value": 29.993, - "result": "30.0", - ATTR_UNIT_OF_MEASUREMENT: TEMP_CELSIUS, ATTR_DEVICE_CLASS: DEVICE_CLASS_TEMPERATURE, + ATTR_ENTITY_ID: "sensor.3b_111111111111_temperature", + ATTR_INJECT_READS: 29.993, + ATTR_STATE: "30.0", ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT, + ATTR_UNIQUE_ID: "/sys/bus/w1/devices/3B-111111111111/w1_slave", + ATTR_UNIT_OF_MEASUREMENT: TEMP_CELSIUS, }, ], }, "42-111111111111": { - "device_info": { + ATTR_DEVICE_INFO: { ATTR_IDENTIFIERS: {(DOMAIN, "42-111111111111")}, ATTR_MANUFACTURER: MANUFACTURER, ATTR_MODEL: "42", @@ -1021,18 +1040,18 @@ MOCK_SYSBUS_DEVICES = { }, SENSOR_DOMAIN: [ { - "entity_id": "sensor.42_111111111111_temperature", - "unique_id": "/sys/bus/w1/devices/42-111111111111/w1_slave", - "injected_value": UnsupportResponseException, - "result": "unknown", - ATTR_UNIT_OF_MEASUREMENT: TEMP_CELSIUS, ATTR_DEVICE_CLASS: DEVICE_CLASS_TEMPERATURE, + ATTR_ENTITY_ID: "sensor.42_111111111111_temperature", + ATTR_INJECT_READS: UnsupportResponseException, + ATTR_STATE: STATE_UNKNOWN, ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT, + ATTR_UNIQUE_ID: "/sys/bus/w1/devices/42-111111111111/w1_slave", + ATTR_UNIT_OF_MEASUREMENT: TEMP_CELSIUS, }, ], }, "42-111111111112": { - "device_info": { + ATTR_DEVICE_INFO: { ATTR_IDENTIFIERS: {(DOMAIN, "42-111111111112")}, ATTR_MANUFACTURER: MANUFACTURER, ATTR_MODEL: "42", @@ -1040,18 +1059,18 @@ MOCK_SYSBUS_DEVICES = { }, SENSOR_DOMAIN: [ { - "entity_id": "sensor.42_111111111112_temperature", - "unique_id": "/sys/bus/w1/devices/42-111111111112/w1_slave", - "injected_value": [UnsupportResponseException] * 9 + [27.993], - "result": "28.0", - ATTR_UNIT_OF_MEASUREMENT: TEMP_CELSIUS, ATTR_DEVICE_CLASS: DEVICE_CLASS_TEMPERATURE, + ATTR_ENTITY_ID: "sensor.42_111111111112_temperature", + ATTR_INJECT_READS: [UnsupportResponseException] * 9 + [27.993], + ATTR_STATE: "28.0", ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT, + ATTR_UNIQUE_ID: "/sys/bus/w1/devices/42-111111111112/w1_slave", + ATTR_UNIT_OF_MEASUREMENT: TEMP_CELSIUS, }, ], }, "42-111111111113": { - "device_info": { + ATTR_DEVICE_INFO: { ATTR_IDENTIFIERS: {(DOMAIN, "42-111111111113")}, ATTR_MANUFACTURER: MANUFACTURER, ATTR_MODEL: "42", @@ -1059,13 +1078,13 @@ MOCK_SYSBUS_DEVICES = { }, SENSOR_DOMAIN: [ { - "entity_id": "sensor.42_111111111113_temperature", - "unique_id": "/sys/bus/w1/devices/42-111111111113/w1_slave", - "injected_value": [UnsupportResponseException] * 10 + [27.993], - "result": "unknown", - ATTR_UNIT_OF_MEASUREMENT: TEMP_CELSIUS, ATTR_DEVICE_CLASS: DEVICE_CLASS_TEMPERATURE, + ATTR_ENTITY_ID: "sensor.42_111111111113_temperature", + ATTR_INJECT_READS: [UnsupportResponseException] * 10 + [27.993], + ATTR_STATE: STATE_UNKNOWN, ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT, + ATTR_UNIQUE_ID: "/sys/bus/w1/devices/42-111111111113/w1_slave", + ATTR_UNIT_OF_MEASUREMENT: TEMP_CELSIUS, }, ], }, diff --git a/tests/components/onewire/test_binary_sensor.py b/tests/components/onewire/test_binary_sensor.py index eabe96481ea..5ac45997b41 100644 --- a/tests/components/onewire/test_binary_sensor.py +++ b/tests/components/onewire/test_binary_sensor.py @@ -5,10 +5,16 @@ import pytest from homeassistant.components.binary_sensor import DOMAIN as BINARY_SENSOR_DOMAIN from homeassistant.config_entries import ConfigEntry +from homeassistant.const import ATTR_ENTITY_ID, ATTR_STATE from homeassistant.core import HomeAssistant from . import setup_owproxy_mock_devices -from .const import ATTR_DEFAULT_DISABLED, MOCK_OWPROXY_DEVICES +from .const import ( + ATTR_DEFAULT_DISABLED, + ATTR_DEVICE_FILE, + ATTR_UNIQUE_ID, + MOCK_OWPROXY_DEVICES, +) from tests.common import mock_registry @@ -41,7 +47,7 @@ async def test_owserver_binary_sensor( # Ensure all entities are enabled for expected_entity in expected_entities: if expected_entity.get(ATTR_DEFAULT_DISABLED): - entity_id = expected_entity["entity_id"] + entity_id = expected_entity[ATTR_ENTITY_ID] registry_entry = entity_registry.entities.get(entity_id) assert registry_entry.disabled assert registry_entry.disabled_by == "integration" @@ -52,11 +58,12 @@ async def test_owserver_binary_sensor( await hass.async_block_till_done() for expected_entity in expected_entities: - entity_id = expected_entity["entity_id"] + entity_id = expected_entity[ATTR_ENTITY_ID] registry_entry = entity_registry.entities.get(entity_id) assert registry_entry is not None + assert registry_entry.unique_id == expected_entity[ATTR_UNIQUE_ID] state = hass.states.get(entity_id) - assert state.state == expected_entity["result"] - assert state.attributes["device_file"] == expected_entity.get( - "device_file", registry_entry.unique_id + assert state.state == expected_entity[ATTR_STATE] + assert state.attributes[ATTR_DEVICE_FILE] == expected_entity.get( + ATTR_DEVICE_FILE, registry_entry.unique_id ) diff --git a/tests/components/onewire/test_sensor.py b/tests/components/onewire/test_sensor.py index 1b4c53b0a63..df8654f9e1e 100644 --- a/tests/components/onewire/test_sensor.py +++ b/tests/components/onewire/test_sensor.py @@ -9,16 +9,26 @@ from homeassistant.components.sensor import ATTR_STATE_CLASS, DOMAIN as SENSOR_D from homeassistant.config_entries import ConfigEntry from homeassistant.const import ( ATTR_DEVICE_CLASS, + ATTR_ENTITY_ID, ATTR_MANUFACTURER, ATTR_MODEL, ATTR_NAME, + ATTR_STATE, ATTR_UNIT_OF_MEASUREMENT, ) from homeassistant.core import HomeAssistant from homeassistant.setup import async_setup_component from . import setup_owproxy_mock_devices, setup_sysbus_mock_devices -from .const import ATTR_DEFAULT_DISABLED, MOCK_OWPROXY_DEVICES, MOCK_SYSBUS_DEVICES +from .const import ( + ATTR_DEFAULT_DISABLED, + ATTR_DEVICE_FILE, + ATTR_DEVICE_INFO, + ATTR_INJECT_READS, + ATTR_UNIQUE_ID, + MOCK_OWPROXY_DEVICES, + MOCK_SYSBUS_DEVICES, +) from tests.common import assert_setup_component, mock_device_registry, mock_registry @@ -86,10 +96,10 @@ async def test_sensors_on_owserver_coupler( dir_side_effect.append([f"/{device_id}/"]) # dir on root read_side_effect.append(device_id[0:2].encode()) # read family on root - if "inject_reads" in mock_coupler: - read_side_effect += mock_coupler["inject_reads"] + if ATTR_INJECT_READS in mock_coupler: + read_side_effect += mock_coupler[ATTR_INJECT_READS] - expected_sensors = [] + expected_entities = [] for branch, branch_details in mock_coupler["branches"].items(): dir_side_effect.append( [ # dir on branch @@ -100,12 +110,12 @@ async def test_sensors_on_owserver_coupler( for sub_device_id, sub_device in branch_details.items(): read_side_effect.append(sub_device_id[0:2].encode()) - if "inject_reads" in sub_device: - read_side_effect.extend(sub_device["inject_reads"]) + if ATTR_INJECT_READS in sub_device: + read_side_effect.extend(sub_device[ATTR_INJECT_READS]) - expected_sensors += sub_device[SENSOR_DOMAIN] - for expected_sensor in sub_device[SENSOR_DOMAIN]: - read_side_effect.append(expected_sensor["injected_value"]) + expected_entities += sub_device[SENSOR_DOMAIN] + for expected_entity in sub_device[SENSOR_DOMAIN]: + read_side_effect.append(expected_entity[ATTR_INJECT_READS]) # Ensure enough read side effect read_side_effect.extend([ProtocolError("Missing injected value")] * 10) @@ -115,18 +125,18 @@ async def test_sensors_on_owserver_coupler( await hass.config_entries.async_setup(config_entry.entry_id) await hass.async_block_till_done() - assert len(entity_registry.entities) == len(expected_sensors) + assert len(entity_registry.entities) == len(expected_entities) - for expected_sensor in expected_sensors: - entity_id = expected_sensor["entity_id"] + for expected_entity in expected_entities: + entity_id = expected_entity[ATTR_ENTITY_ID] registry_entry = entity_registry.entities.get(entity_id) assert registry_entry is not None - assert registry_entry.unique_id == expected_sensor["unique_id"] + assert registry_entry.unique_id == expected_entity[ATTR_UNIQUE_ID] state = hass.states.get(entity_id) - assert state.state == expected_sensor["result"] + assert state.state == expected_entity[ATTR_STATE] for attr in (ATTR_DEVICE_CLASS, ATTR_STATE_CLASS, ATTR_UNIT_OF_MEASUREMENT): - assert state.attributes.get(attr) == expected_sensor[attr] - assert state.attributes["device_file"] == expected_sensor["device_file"] + assert state.attributes.get(attr) == expected_entity[attr] + assert state.attributes[ATTR_DEVICE_FILE] == expected_entity[ATTR_DEVICE_FILE] async def test_owserver_setup_valid_device( @@ -151,7 +161,7 @@ async def test_owserver_setup_valid_device( # Ensure all entities are enabled for expected_entity in expected_entities: if expected_entity.get(ATTR_DEFAULT_DISABLED): - entity_id = expected_entity["entity_id"] + entity_id = expected_entity[ATTR_ENTITY_ID] registry_entry = entity_registry.entities.get(entity_id) assert registry_entry.disabled assert registry_entry.disabled_by == "integration" @@ -162,7 +172,7 @@ async def test_owserver_setup_valid_device( await hass.async_block_till_done() if len(expected_entities) > 0: - device_info = mock_device["device_info"] + device_info = mock_device[ATTR_DEVICE_INFO] assert len(device_registry.devices) == 1 registry_entry = device_registry.async_get_device({(DOMAIN, device_id)}) assert registry_entry is not None @@ -172,16 +182,16 @@ async def test_owserver_setup_valid_device( assert registry_entry.model == device_info[ATTR_MODEL] for expected_entity in expected_entities: - entity_id = expected_entity["entity_id"] + entity_id = expected_entity[ATTR_ENTITY_ID] registry_entry = entity_registry.entities.get(entity_id) assert registry_entry is not None - assert registry_entry.unique_id == expected_entity["unique_id"] + assert registry_entry.unique_id == expected_entity[ATTR_UNIQUE_ID] state = hass.states.get(entity_id) - assert state.state == expected_entity["result"] + assert state.state == expected_entity[ATTR_STATE] for attr in (ATTR_DEVICE_CLASS, ATTR_STATE_CLASS, ATTR_UNIT_OF_MEASUREMENT): assert state.attributes.get(attr) == expected_entity[attr] - assert state.attributes["device_file"] == expected_entity.get( - "device_file", registry_entry.unique_id + assert state.attributes[ATTR_DEVICE_FILE] == expected_entity.get( + ATTR_DEVICE_FILE, registry_entry.unique_id ) @@ -212,7 +222,7 @@ async def test_onewiredirect_setup_valid_device( assert len(entity_registry.entities) == len(expected_entities) if len(expected_entities) > 0: - device_info = mock_device["device_info"] + device_info = mock_device[ATTR_DEVICE_INFO] assert len(device_registry.devices) == 1 registry_entry = device_registry.async_get_device({(DOMAIN, device_id)}) assert registry_entry is not None @@ -221,12 +231,12 @@ async def test_onewiredirect_setup_valid_device( assert registry_entry.name == device_info[ATTR_NAME] assert registry_entry.model == device_info[ATTR_MODEL] - for expected_sensor in expected_entities: - entity_id = expected_sensor["entity_id"] + for expected_entity in expected_entities: + entity_id = expected_entity[ATTR_ENTITY_ID] registry_entry = entity_registry.entities.get(entity_id) assert registry_entry is not None - assert registry_entry.unique_id == expected_sensor["unique_id"] + assert registry_entry.unique_id == expected_entity[ATTR_UNIQUE_ID] state = hass.states.get(entity_id) - assert state.state == expected_sensor["result"] + assert state.state == expected_entity[ATTR_STATE] for attr in (ATTR_DEVICE_CLASS, ATTR_STATE_CLASS, ATTR_UNIT_OF_MEASUREMENT): - assert state.attributes.get(attr) == expected_sensor[attr] + assert state.attributes.get(attr) == expected_entity[attr] diff --git a/tests/components/onewire/test_switch.py b/tests/components/onewire/test_switch.py index aa5230fbb20..2f8f96ee638 100644 --- a/tests/components/onewire/test_switch.py +++ b/tests/components/onewire/test_switch.py @@ -5,11 +5,22 @@ import pytest from homeassistant.components.switch import DOMAIN as SWITCH_DOMAIN from homeassistant.config_entries import ConfigEntry -from homeassistant.const import ATTR_ENTITY_ID, SERVICE_TOGGLE, STATE_OFF, STATE_ON +from homeassistant.const import ( + ATTR_ENTITY_ID, + ATTR_STATE, + SERVICE_TOGGLE, + STATE_OFF, + STATE_ON, +) from homeassistant.core import HomeAssistant from . import setup_owproxy_mock_devices -from .const import ATTR_DEFAULT_DISABLED, MOCK_OWPROXY_DEVICES +from .const import ( + ATTR_DEFAULT_DISABLED, + ATTR_DEVICE_FILE, + ATTR_UNIQUE_ID, + MOCK_OWPROXY_DEVICES, +) from tests.common import mock_registry @@ -42,7 +53,7 @@ async def test_owserver_switch( # Ensure all entities are enabled for expected_entity in expected_entities: if expected_entity.get(ATTR_DEFAULT_DISABLED): - entity_id = expected_entity["entity_id"] + entity_id = expected_entity[ATTR_ENTITY_ID] registry_entry = entity_registry.entities.get(entity_id) assert registry_entry.disabled assert registry_entry.disabled_by == "integration" @@ -53,18 +64,19 @@ async def test_owserver_switch( await hass.async_block_till_done() for expected_entity in expected_entities: - entity_id = expected_entity["entity_id"] + entity_id = expected_entity[ATTR_ENTITY_ID] registry_entry = entity_registry.entities.get(entity_id) assert registry_entry is not None + assert registry_entry.unique_id == expected_entity[ATTR_UNIQUE_ID] state = hass.states.get(entity_id) - assert state.state == expected_entity["result"] + assert state.state == expected_entity[ATTR_STATE] if state.state == STATE_ON: owproxy.return_value.read.side_effect = [b" 0"] - expected_entity["result"] = STATE_OFF + expected_entity[ATTR_STATE] = STATE_OFF elif state.state == STATE_OFF: owproxy.return_value.read.side_effect = [b" 1"] - expected_entity["result"] = STATE_ON + expected_entity[ATTR_STATE] = STATE_ON await hass.services.async_call( SWITCH_DOMAIN, @@ -75,7 +87,7 @@ async def test_owserver_switch( await hass.async_block_till_done() state = hass.states.get(entity_id) - assert state.state == expected_entity["result"] - assert state.attributes["device_file"] == expected_entity.get( - "device_file", registry_entry.unique_id + assert state.state == expected_entity[ATTR_STATE] + assert state.attributes[ATTR_DEVICE_FILE] == expected_entity.get( + ATTR_DEVICE_FILE, registry_entry.unique_id )