mirror of
https://github.com/home-assistant/core.git
synced 2025-07-25 14:17:45 +00:00
Add info based sensors to Smlight integration (#125482)
* Move entity category to class * improve type hints * Regenerate sensor snapshots to remove some invalid entries * Add info sensors that display various device settings/modes * Add strings for info sensors * Update sensor snapshot with new sensors * Use StateType Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com> * Use icon translations * statetype * drop ip sensor * Lookup enum values before translating * entities use options * update options strings strings * lookup values from options * update sensor snapshot --------- Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
This commit is contained in:
parent
5d9c986f87
commit
6aa07243cd
15
homeassistant/components/smlight/icons.json
Normal file
15
homeassistant/components/smlight/icons.json
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
"entity": {
|
||||||
|
"sensor": {
|
||||||
|
"device_mode": {
|
||||||
|
"default": "mdi:connection"
|
||||||
|
},
|
||||||
|
"firmware_channel": {
|
||||||
|
"default": "mdi:update"
|
||||||
|
},
|
||||||
|
"zigbee_type": {
|
||||||
|
"default": "mdi:zigbee"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -7,7 +7,7 @@ from dataclasses import dataclass
|
|||||||
from datetime import datetime, timedelta
|
from datetime import datetime, timedelta
|
||||||
from itertools import chain
|
from itertools import chain
|
||||||
|
|
||||||
from pysmlight import Sensors
|
from pysmlight import Info, Sensors
|
||||||
|
|
||||||
from homeassistant.components.sensor import (
|
from homeassistant.components.sensor import (
|
||||||
SensorDeviceClass,
|
SensorDeviceClass,
|
||||||
@ -18,6 +18,7 @@ from homeassistant.components.sensor import (
|
|||||||
from homeassistant.const import EntityCategory, UnitOfInformation, UnitOfTemperature
|
from homeassistant.const import EntityCategory, UnitOfInformation, UnitOfTemperature
|
||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||||
|
from homeassistant.helpers.typing import StateType
|
||||||
from homeassistant.util.dt import utcnow
|
from homeassistant.util.dt import utcnow
|
||||||
|
|
||||||
from . import SmConfigEntry
|
from . import SmConfigEntry
|
||||||
@ -30,11 +31,42 @@ from .entity import SmEntity
|
|||||||
class SmSensorEntityDescription(SensorEntityDescription):
|
class SmSensorEntityDescription(SensorEntityDescription):
|
||||||
"""Class describing SMLIGHT sensor entities."""
|
"""Class describing SMLIGHT sensor entities."""
|
||||||
|
|
||||||
entity_category = EntityCategory.DIAGNOSTIC
|
|
||||||
value_fn: Callable[[Sensors], float | None]
|
value_fn: Callable[[Sensors], float | None]
|
||||||
|
|
||||||
|
|
||||||
SENSORS = [
|
@dataclass(frozen=True, kw_only=True)
|
||||||
|
class SmInfoEntityDescription(SensorEntityDescription):
|
||||||
|
"""Class describing SMLIGHT information entities."""
|
||||||
|
|
||||||
|
value_fn: Callable[[Info], StateType]
|
||||||
|
|
||||||
|
|
||||||
|
INFO: list[SmInfoEntityDescription] = [
|
||||||
|
SmInfoEntityDescription(
|
||||||
|
key="device_mode",
|
||||||
|
translation_key="device_mode",
|
||||||
|
device_class=SensorDeviceClass.ENUM,
|
||||||
|
options=["eth", "wifi", "usb"],
|
||||||
|
value_fn=lambda x: x.coord_mode,
|
||||||
|
),
|
||||||
|
SmInfoEntityDescription(
|
||||||
|
key="firmware_channel",
|
||||||
|
translation_key="firmware_channel",
|
||||||
|
device_class=SensorDeviceClass.ENUM,
|
||||||
|
options=["dev", "release"],
|
||||||
|
value_fn=lambda x: x.fw_channel,
|
||||||
|
),
|
||||||
|
SmInfoEntityDescription(
|
||||||
|
key="zigbee_type",
|
||||||
|
translation_key="zigbee_type",
|
||||||
|
device_class=SensorDeviceClass.ENUM,
|
||||||
|
options=["coordinator", "router", "thread"],
|
||||||
|
value_fn=lambda x: x.zb_type,
|
||||||
|
),
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
SENSORS: list[SmSensorEntityDescription] = [
|
||||||
SmSensorEntityDescription(
|
SmSensorEntityDescription(
|
||||||
key="core_temperature",
|
key="core_temperature",
|
||||||
translation_key="core_temperature",
|
translation_key="core_temperature",
|
||||||
@ -71,7 +103,7 @@ SENSORS = [
|
|||||||
),
|
),
|
||||||
]
|
]
|
||||||
|
|
||||||
UPTIME = [
|
UPTIME: list[SmSensorEntityDescription] = [
|
||||||
SmSensorEntityDescription(
|
SmSensorEntityDescription(
|
||||||
key="core_uptime",
|
key="core_uptime",
|
||||||
translation_key="core_uptime",
|
translation_key="core_uptime",
|
||||||
@ -99,6 +131,7 @@ async def async_setup_entry(
|
|||||||
|
|
||||||
async_add_entities(
|
async_add_entities(
|
||||||
chain(
|
chain(
|
||||||
|
(SmInfoSensorEntity(coordinator, description) for description in INFO),
|
||||||
(SmSensorEntity(coordinator, description) for description in SENSORS),
|
(SmSensorEntity(coordinator, description) for description in SENSORS),
|
||||||
(SmUptimeSensorEntity(coordinator, description) for description in UPTIME),
|
(SmUptimeSensorEntity(coordinator, description) for description in UPTIME),
|
||||||
)
|
)
|
||||||
@ -109,6 +142,7 @@ class SmSensorEntity(SmEntity, SensorEntity):
|
|||||||
"""Representation of a slzb sensor."""
|
"""Representation of a slzb sensor."""
|
||||||
|
|
||||||
entity_description: SmSensorEntityDescription
|
entity_description: SmSensorEntityDescription
|
||||||
|
_attr_entity_category = EntityCategory.DIAGNOSTIC
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
@ -122,11 +156,40 @@ class SmSensorEntity(SmEntity, SensorEntity):
|
|||||||
self._attr_unique_id = f"{coordinator.unique_id}_{description.key}"
|
self._attr_unique_id = f"{coordinator.unique_id}_{description.key}"
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def native_value(self) -> datetime | float | None:
|
def native_value(self) -> datetime | str | float | None:
|
||||||
"""Return the sensor value."""
|
"""Return the sensor value."""
|
||||||
return self.entity_description.value_fn(self.coordinator.data.sensors)
|
return self.entity_description.value_fn(self.coordinator.data.sensors)
|
||||||
|
|
||||||
|
|
||||||
|
class SmInfoSensorEntity(SmEntity, SensorEntity):
|
||||||
|
"""Representation of a slzb info sensor."""
|
||||||
|
|
||||||
|
entity_description: SmInfoEntityDescription
|
||||||
|
_attr_entity_category = EntityCategory.DIAGNOSTIC
|
||||||
|
|
||||||
|
def __init__(
|
||||||
|
self,
|
||||||
|
coordinator: SmDataUpdateCoordinator,
|
||||||
|
description: SmInfoEntityDescription,
|
||||||
|
) -> None:
|
||||||
|
"""Initiate slzb sensor."""
|
||||||
|
super().__init__(coordinator)
|
||||||
|
|
||||||
|
self.entity_description = description
|
||||||
|
self._attr_unique_id = f"{coordinator.unique_id}_{description.key}"
|
||||||
|
|
||||||
|
@property
|
||||||
|
def native_value(self) -> StateType:
|
||||||
|
"""Return the sensor value."""
|
||||||
|
value = self.entity_description.value_fn(self.coordinator.data.info)
|
||||||
|
options = self.entity_description.options
|
||||||
|
|
||||||
|
if isinstance(value, int) and options is not None:
|
||||||
|
value = options[value] if 0 <= value < len(options) else None
|
||||||
|
|
||||||
|
return value
|
||||||
|
|
||||||
|
|
||||||
class SmUptimeSensorEntity(SmSensorEntity):
|
class SmUptimeSensorEntity(SmSensorEntity):
|
||||||
"""Representation of a slzb uptime sensor."""
|
"""Representation of a slzb uptime sensor."""
|
||||||
|
|
||||||
|
@ -68,6 +68,29 @@
|
|||||||
},
|
},
|
||||||
"socket_uptime": {
|
"socket_uptime": {
|
||||||
"name": "Zigbee uptime"
|
"name": "Zigbee uptime"
|
||||||
|
},
|
||||||
|
"device_mode": {
|
||||||
|
"name": "Connection mode",
|
||||||
|
"state": {
|
||||||
|
"eth": "Ethernet",
|
||||||
|
"wifi": "Wi-Fi",
|
||||||
|
"usb": "USB"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"firmware_channel": {
|
||||||
|
"name": "Firmware channel",
|
||||||
|
"state": {
|
||||||
|
"dev": "Development",
|
||||||
|
"release": "Stable"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"zigbee_type": {
|
||||||
|
"name": "Zigbee type",
|
||||||
|
"state": {
|
||||||
|
"coordinator": "Coordinator",
|
||||||
|
"router": "Router",
|
||||||
|
"thread": "Thread"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"button": {
|
"button": {
|
||||||
|
@ -1,4 +1,62 @@
|
|||||||
# serializer version: 1
|
# serializer version: 1
|
||||||
|
# name: test_sensors[sensor.mock_title_connection_mode-entry]
|
||||||
|
EntityRegistryEntrySnapshot({
|
||||||
|
'aliases': set({
|
||||||
|
}),
|
||||||
|
'area_id': None,
|
||||||
|
'capabilities': dict({
|
||||||
|
'options': list([
|
||||||
|
'eth',
|
||||||
|
'wifi',
|
||||||
|
'usb',
|
||||||
|
]),
|
||||||
|
}),
|
||||||
|
'config_entry_id': <ANY>,
|
||||||
|
'device_class': None,
|
||||||
|
'device_id': <ANY>,
|
||||||
|
'disabled_by': None,
|
||||||
|
'domain': 'sensor',
|
||||||
|
'entity_category': <EntityCategory.DIAGNOSTIC: 'diagnostic'>,
|
||||||
|
'entity_id': 'sensor.mock_title_connection_mode',
|
||||||
|
'has_entity_name': True,
|
||||||
|
'hidden_by': None,
|
||||||
|
'icon': None,
|
||||||
|
'id': <ANY>,
|
||||||
|
'labels': set({
|
||||||
|
}),
|
||||||
|
'name': None,
|
||||||
|
'options': dict({
|
||||||
|
}),
|
||||||
|
'original_device_class': <SensorDeviceClass.ENUM: 'enum'>,
|
||||||
|
'original_icon': None,
|
||||||
|
'original_name': 'Connection mode',
|
||||||
|
'platform': 'smlight',
|
||||||
|
'previous_unique_id': None,
|
||||||
|
'supported_features': 0,
|
||||||
|
'translation_key': 'device_mode',
|
||||||
|
'unique_id': 'aa:bb:cc:dd:ee:ff_device_mode',
|
||||||
|
'unit_of_measurement': None,
|
||||||
|
})
|
||||||
|
# ---
|
||||||
|
# name: test_sensors[sensor.mock_title_connection_mode-state]
|
||||||
|
StateSnapshot({
|
||||||
|
'attributes': ReadOnlyDict({
|
||||||
|
'device_class': 'enum',
|
||||||
|
'friendly_name': 'Mock Title Connection mode',
|
||||||
|
'options': list([
|
||||||
|
'eth',
|
||||||
|
'wifi',
|
||||||
|
'usb',
|
||||||
|
]),
|
||||||
|
}),
|
||||||
|
'context': <ANY>,
|
||||||
|
'entity_id': 'sensor.mock_title_connection_mode',
|
||||||
|
'last_changed': <ANY>,
|
||||||
|
'last_reported': <ANY>,
|
||||||
|
'last_updated': <ANY>,
|
||||||
|
'state': 'eth',
|
||||||
|
})
|
||||||
|
# ---
|
||||||
# name: test_sensors[sensor.mock_title_core_chip_temp-entry]
|
# name: test_sensors[sensor.mock_title_core_chip_temp-entry]
|
||||||
EntityRegistryEntrySnapshot({
|
EntityRegistryEntrySnapshot({
|
||||||
'aliases': set({
|
'aliases': set({
|
||||||
@ -148,6 +206,62 @@
|
|||||||
'state': '188',
|
'state': '188',
|
||||||
})
|
})
|
||||||
# ---
|
# ---
|
||||||
|
# name: test_sensors[sensor.mock_title_firmware_channel-entry]
|
||||||
|
EntityRegistryEntrySnapshot({
|
||||||
|
'aliases': set({
|
||||||
|
}),
|
||||||
|
'area_id': None,
|
||||||
|
'capabilities': dict({
|
||||||
|
'options': list([
|
||||||
|
'dev',
|
||||||
|
'release',
|
||||||
|
]),
|
||||||
|
}),
|
||||||
|
'config_entry_id': <ANY>,
|
||||||
|
'device_class': None,
|
||||||
|
'device_id': <ANY>,
|
||||||
|
'disabled_by': None,
|
||||||
|
'domain': 'sensor',
|
||||||
|
'entity_category': <EntityCategory.DIAGNOSTIC: 'diagnostic'>,
|
||||||
|
'entity_id': 'sensor.mock_title_firmware_channel',
|
||||||
|
'has_entity_name': True,
|
||||||
|
'hidden_by': None,
|
||||||
|
'icon': None,
|
||||||
|
'id': <ANY>,
|
||||||
|
'labels': set({
|
||||||
|
}),
|
||||||
|
'name': None,
|
||||||
|
'options': dict({
|
||||||
|
}),
|
||||||
|
'original_device_class': <SensorDeviceClass.ENUM: 'enum'>,
|
||||||
|
'original_icon': None,
|
||||||
|
'original_name': 'Firmware channel',
|
||||||
|
'platform': 'smlight',
|
||||||
|
'previous_unique_id': None,
|
||||||
|
'supported_features': 0,
|
||||||
|
'translation_key': 'firmware_channel',
|
||||||
|
'unique_id': 'aa:bb:cc:dd:ee:ff_firmware_channel',
|
||||||
|
'unit_of_measurement': None,
|
||||||
|
})
|
||||||
|
# ---
|
||||||
|
# name: test_sensors[sensor.mock_title_firmware_channel-state]
|
||||||
|
StateSnapshot({
|
||||||
|
'attributes': ReadOnlyDict({
|
||||||
|
'device_class': 'enum',
|
||||||
|
'friendly_name': 'Mock Title Firmware channel',
|
||||||
|
'options': list([
|
||||||
|
'dev',
|
||||||
|
'release',
|
||||||
|
]),
|
||||||
|
}),
|
||||||
|
'context': <ANY>,
|
||||||
|
'entity_id': 'sensor.mock_title_firmware_channel',
|
||||||
|
'last_changed': <ANY>,
|
||||||
|
'last_reported': <ANY>,
|
||||||
|
'last_updated': <ANY>,
|
||||||
|
'state': 'dev',
|
||||||
|
})
|
||||||
|
# ---
|
||||||
# name: test_sensors[sensor.mock_title_ram_usage-entry]
|
# name: test_sensors[sensor.mock_title_ram_usage-entry]
|
||||||
EntityRegistryEntrySnapshot({
|
EntityRegistryEntrySnapshot({
|
||||||
'aliases': set({
|
'aliases': set({
|
||||||
@ -196,100 +310,6 @@
|
|||||||
'state': '99',
|
'state': '99',
|
||||||
})
|
})
|
||||||
# ---
|
# ---
|
||||||
# name: test_sensors[sensor.mock_title_timestamp-entry]
|
|
||||||
EntityRegistryEntrySnapshot({
|
|
||||||
'aliases': set({
|
|
||||||
}),
|
|
||||||
'area_id': None,
|
|
||||||
'capabilities': None,
|
|
||||||
'config_entry_id': <ANY>,
|
|
||||||
'device_class': None,
|
|
||||||
'device_id': <ANY>,
|
|
||||||
'disabled_by': None,
|
|
||||||
'domain': 'sensor',
|
|
||||||
'entity_category': <EntityCategory.DIAGNOSTIC: 'diagnostic'>,
|
|
||||||
'entity_id': 'sensor.mock_title_timestamp',
|
|
||||||
'has_entity_name': True,
|
|
||||||
'hidden_by': None,
|
|
||||||
'icon': None,
|
|
||||||
'id': <ANY>,
|
|
||||||
'labels': set({
|
|
||||||
}),
|
|
||||||
'name': None,
|
|
||||||
'options': dict({
|
|
||||||
}),
|
|
||||||
'original_device_class': <SensorDeviceClass.TIMESTAMP: 'timestamp'>,
|
|
||||||
'original_icon': None,
|
|
||||||
'original_name': 'Timestamp',
|
|
||||||
'platform': 'smlight',
|
|
||||||
'previous_unique_id': None,
|
|
||||||
'supported_features': 0,
|
|
||||||
'translation_key': 'core_uptime',
|
|
||||||
'unique_id': 'aa:bb:cc:dd:ee:ff_core_uptime',
|
|
||||||
'unit_of_measurement': None,
|
|
||||||
})
|
|
||||||
# ---
|
|
||||||
# name: test_sensors[sensor.mock_title_timestamp-state]
|
|
||||||
StateSnapshot({
|
|
||||||
'attributes': ReadOnlyDict({
|
|
||||||
'device_class': 'timestamp',
|
|
||||||
'friendly_name': 'Mock Title Timestamp',
|
|
||||||
}),
|
|
||||||
'context': <ANY>,
|
|
||||||
'entity_id': 'sensor.mock_title_timestamp',
|
|
||||||
'last_changed': <ANY>,
|
|
||||||
'last_reported': <ANY>,
|
|
||||||
'last_updated': <ANY>,
|
|
||||||
'state': '2024-06-25T02:51:15+00:00',
|
|
||||||
})
|
|
||||||
# ---
|
|
||||||
# name: test_sensors[sensor.mock_title_timestamp_2-entry]
|
|
||||||
EntityRegistryEntrySnapshot({
|
|
||||||
'aliases': set({
|
|
||||||
}),
|
|
||||||
'area_id': None,
|
|
||||||
'capabilities': None,
|
|
||||||
'config_entry_id': <ANY>,
|
|
||||||
'device_class': None,
|
|
||||||
'device_id': <ANY>,
|
|
||||||
'disabled_by': None,
|
|
||||||
'domain': 'sensor',
|
|
||||||
'entity_category': <EntityCategory.DIAGNOSTIC: 'diagnostic'>,
|
|
||||||
'entity_id': 'sensor.mock_title_timestamp_2',
|
|
||||||
'has_entity_name': True,
|
|
||||||
'hidden_by': None,
|
|
||||||
'icon': None,
|
|
||||||
'id': <ANY>,
|
|
||||||
'labels': set({
|
|
||||||
}),
|
|
||||||
'name': None,
|
|
||||||
'options': dict({
|
|
||||||
}),
|
|
||||||
'original_device_class': <SensorDeviceClass.TIMESTAMP: 'timestamp'>,
|
|
||||||
'original_icon': None,
|
|
||||||
'original_name': 'Timestamp',
|
|
||||||
'platform': 'smlight',
|
|
||||||
'previous_unique_id': None,
|
|
||||||
'supported_features': 0,
|
|
||||||
'translation_key': 'socket_uptime',
|
|
||||||
'unique_id': 'aa:bb:cc:dd:ee:ff_socket_uptime',
|
|
||||||
'unit_of_measurement': None,
|
|
||||||
})
|
|
||||||
# ---
|
|
||||||
# name: test_sensors[sensor.mock_title_timestamp_2-state]
|
|
||||||
StateSnapshot({
|
|
||||||
'attributes': ReadOnlyDict({
|
|
||||||
'device_class': 'timestamp',
|
|
||||||
'friendly_name': 'Mock Title Timestamp',
|
|
||||||
}),
|
|
||||||
'context': <ANY>,
|
|
||||||
'entity_id': 'sensor.mock_title_timestamp_2',
|
|
||||||
'last_changed': <ANY>,
|
|
||||||
'last_reported': <ANY>,
|
|
||||||
'last_updated': <ANY>,
|
|
||||||
'state': '2024-06-30T23:57:53+00:00',
|
|
||||||
})
|
|
||||||
# ---
|
|
||||||
# name: test_sensors[sensor.mock_title_zigbee_chip_temp-entry]
|
# name: test_sensors[sensor.mock_title_zigbee_chip_temp-entry]
|
||||||
EntityRegistryEntrySnapshot({
|
EntityRegistryEntrySnapshot({
|
||||||
'aliases': set({
|
'aliases': set({
|
||||||
@ -344,6 +364,64 @@
|
|||||||
'state': '32.7',
|
'state': '32.7',
|
||||||
})
|
})
|
||||||
# ---
|
# ---
|
||||||
|
# name: test_sensors[sensor.mock_title_zigbee_type-entry]
|
||||||
|
EntityRegistryEntrySnapshot({
|
||||||
|
'aliases': set({
|
||||||
|
}),
|
||||||
|
'area_id': None,
|
||||||
|
'capabilities': dict({
|
||||||
|
'options': list([
|
||||||
|
'coordinator',
|
||||||
|
'router',
|
||||||
|
'thread',
|
||||||
|
]),
|
||||||
|
}),
|
||||||
|
'config_entry_id': <ANY>,
|
||||||
|
'device_class': None,
|
||||||
|
'device_id': <ANY>,
|
||||||
|
'disabled_by': None,
|
||||||
|
'domain': 'sensor',
|
||||||
|
'entity_category': <EntityCategory.DIAGNOSTIC: 'diagnostic'>,
|
||||||
|
'entity_id': 'sensor.mock_title_zigbee_type',
|
||||||
|
'has_entity_name': True,
|
||||||
|
'hidden_by': None,
|
||||||
|
'icon': None,
|
||||||
|
'id': <ANY>,
|
||||||
|
'labels': set({
|
||||||
|
}),
|
||||||
|
'name': None,
|
||||||
|
'options': dict({
|
||||||
|
}),
|
||||||
|
'original_device_class': <SensorDeviceClass.ENUM: 'enum'>,
|
||||||
|
'original_icon': None,
|
||||||
|
'original_name': 'Zigbee type',
|
||||||
|
'platform': 'smlight',
|
||||||
|
'previous_unique_id': None,
|
||||||
|
'supported_features': 0,
|
||||||
|
'translation_key': 'zigbee_type',
|
||||||
|
'unique_id': 'aa:bb:cc:dd:ee:ff_zigbee_type',
|
||||||
|
'unit_of_measurement': None,
|
||||||
|
})
|
||||||
|
# ---
|
||||||
|
# name: test_sensors[sensor.mock_title_zigbee_type-state]
|
||||||
|
StateSnapshot({
|
||||||
|
'attributes': ReadOnlyDict({
|
||||||
|
'device_class': 'enum',
|
||||||
|
'friendly_name': 'Mock Title Zigbee type',
|
||||||
|
'options': list([
|
||||||
|
'coordinator',
|
||||||
|
'router',
|
||||||
|
'thread',
|
||||||
|
]),
|
||||||
|
}),
|
||||||
|
'context': <ANY>,
|
||||||
|
'entity_id': 'sensor.mock_title_zigbee_type',
|
||||||
|
'last_changed': <ANY>,
|
||||||
|
'last_reported': <ANY>,
|
||||||
|
'last_updated': <ANY>,
|
||||||
|
'state': 'unknown',
|
||||||
|
})
|
||||||
|
# ---
|
||||||
# name: test_sensors[sensor.mock_title_zigbee_uptime-entry]
|
# name: test_sensors[sensor.mock_title_zigbee_uptime-entry]
|
||||||
EntityRegistryEntrySnapshot({
|
EntityRegistryEntrySnapshot({
|
||||||
'aliases': set({
|
'aliases': set({
|
||||||
@ -391,539 +469,3 @@
|
|||||||
'state': '2024-06-30T23:57:53+00:00',
|
'state': '2024-06-30T23:57:53+00:00',
|
||||||
})
|
})
|
||||||
# ---
|
# ---
|
||||||
# name: test_sensors[sensor.slzb_06_core_chip_temp-entry]
|
|
||||||
EntityRegistryEntrySnapshot({
|
|
||||||
'aliases': set({
|
|
||||||
}),
|
|
||||||
'area_id': None,
|
|
||||||
'capabilities': dict({
|
|
||||||
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
|
|
||||||
}),
|
|
||||||
'config_entry_id': <ANY>,
|
|
||||||
'device_class': None,
|
|
||||||
'device_id': <ANY>,
|
|
||||||
'disabled_by': None,
|
|
||||||
'domain': 'sensor',
|
|
||||||
'entity_category': <EntityCategory.DIAGNOSTIC: 'diagnostic'>,
|
|
||||||
'entity_id': 'sensor.slzb_06_core_chip_temp',
|
|
||||||
'has_entity_name': True,
|
|
||||||
'hidden_by': None,
|
|
||||||
'icon': None,
|
|
||||||
'id': <ANY>,
|
|
||||||
'labels': set({
|
|
||||||
}),
|
|
||||||
'name': None,
|
|
||||||
'options': dict({
|
|
||||||
'sensor': dict({
|
|
||||||
'suggested_display_precision': 1,
|
|
||||||
}),
|
|
||||||
}),
|
|
||||||
'original_device_class': <SensorDeviceClass.TEMPERATURE: 'temperature'>,
|
|
||||||
'original_icon': None,
|
|
||||||
'original_name': 'Core chip temp',
|
|
||||||
'platform': 'smlight',
|
|
||||||
'previous_unique_id': None,
|
|
||||||
'supported_features': 0,
|
|
||||||
'translation_key': 'core_temperature',
|
|
||||||
'unique_id': 'aa:bb:cc:dd:ee:ff_core_temperature',
|
|
||||||
'unit_of_measurement': <UnitOfTemperature.CELSIUS: '°C'>,
|
|
||||||
})
|
|
||||||
# ---
|
|
||||||
# name: test_sensors[sensor.slzb_06_core_chip_temp-state]
|
|
||||||
StateSnapshot({
|
|
||||||
'attributes': ReadOnlyDict({
|
|
||||||
'device_class': 'temperature',
|
|
||||||
'friendly_name': 'slzb-06 Core chip temp',
|
|
||||||
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
|
|
||||||
'unit_of_measurement': <UnitOfTemperature.CELSIUS: '°C'>,
|
|
||||||
}),
|
|
||||||
'context': <ANY>,
|
|
||||||
'entity_id': 'sensor.slzb_06_core_chip_temp',
|
|
||||||
'last_changed': <ANY>,
|
|
||||||
'last_reported': <ANY>,
|
|
||||||
'last_updated': <ANY>,
|
|
||||||
'state': '35.0',
|
|
||||||
})
|
|
||||||
# ---
|
|
||||||
# name: test_sensors[sensor.slzb_06_core_chip_temp]
|
|
||||||
StateSnapshot({
|
|
||||||
'attributes': ReadOnlyDict({
|
|
||||||
'device_class': 'temperature',
|
|
||||||
'friendly_name': 'slzb-06 Core chip temp',
|
|
||||||
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
|
|
||||||
'unit_of_measurement': <UnitOfTemperature.CELSIUS: '°C'>,
|
|
||||||
}),
|
|
||||||
'context': <ANY>,
|
|
||||||
'entity_id': 'sensor.slzb_06_core_chip_temp',
|
|
||||||
'last_changed': <ANY>,
|
|
||||||
'last_reported': <ANY>,
|
|
||||||
'last_updated': <ANY>,
|
|
||||||
'state': '35.0',
|
|
||||||
})
|
|
||||||
# ---
|
|
||||||
# name: test_sensors[sensor.slzb_06_core_chip_temp].1
|
|
||||||
EntityRegistryEntrySnapshot({
|
|
||||||
'aliases': set({
|
|
||||||
}),
|
|
||||||
'area_id': None,
|
|
||||||
'capabilities': dict({
|
|
||||||
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
|
|
||||||
}),
|
|
||||||
'config_entry_id': <ANY>,
|
|
||||||
'device_class': None,
|
|
||||||
'device_id': <ANY>,
|
|
||||||
'disabled_by': None,
|
|
||||||
'domain': 'sensor',
|
|
||||||
'entity_category': <EntityCategory.DIAGNOSTIC: 'diagnostic'>,
|
|
||||||
'entity_id': 'sensor.slzb_06_core_chip_temp',
|
|
||||||
'has_entity_name': True,
|
|
||||||
'hidden_by': None,
|
|
||||||
'icon': None,
|
|
||||||
'id': <ANY>,
|
|
||||||
'labels': set({
|
|
||||||
}),
|
|
||||||
'name': None,
|
|
||||||
'options': dict({
|
|
||||||
'sensor': dict({
|
|
||||||
'suggested_display_precision': 1,
|
|
||||||
}),
|
|
||||||
}),
|
|
||||||
'original_device_class': <SensorDeviceClass.TEMPERATURE: 'temperature'>,
|
|
||||||
'original_icon': None,
|
|
||||||
'original_name': 'Core chip temp',
|
|
||||||
'platform': 'smlight',
|
|
||||||
'previous_unique_id': None,
|
|
||||||
'supported_features': 0,
|
|
||||||
'translation_key': 'core_temperature',
|
|
||||||
'unique_id': 'aa:bb:cc:dd:ee:ff_core_temperature',
|
|
||||||
'unit_of_measurement': <UnitOfTemperature.CELSIUS: '°C'>,
|
|
||||||
})
|
|
||||||
# ---
|
|
||||||
# name: test_sensors[sensor.slzb_06_core_chip_temp].2
|
|
||||||
DeviceRegistryEntrySnapshot({
|
|
||||||
'area_id': None,
|
|
||||||
'config_entries': <ANY>,
|
|
||||||
'configuration_url': 'http://slzb-06.local',
|
|
||||||
'connections': set({
|
|
||||||
tuple(
|
|
||||||
'mac',
|
|
||||||
'aa:bb:cc:dd:ee:ff',
|
|
||||||
),
|
|
||||||
}),
|
|
||||||
'disabled_by': None,
|
|
||||||
'entry_type': None,
|
|
||||||
'hw_version': None,
|
|
||||||
'id': <ANY>,
|
|
||||||
'identifiers': set({
|
|
||||||
}),
|
|
||||||
'is_new': False,
|
|
||||||
'labels': set({
|
|
||||||
}),
|
|
||||||
'manufacturer': 'SMLIGHT',
|
|
||||||
'model': 'SLZB-06p7',
|
|
||||||
'model_id': None,
|
|
||||||
'name': 'slzb-06',
|
|
||||||
'name_by_user': None,
|
|
||||||
'primary_config_entry': <ANY>,
|
|
||||||
'serial_number': None,
|
|
||||||
'suggested_area': None,
|
|
||||||
'sw_version': 'core: v2.3.1.dev / zigbee: -1',
|
|
||||||
'via_device_id': None,
|
|
||||||
})
|
|
||||||
# ---
|
|
||||||
# name: test_sensors[sensor.slzb_06_filesystem_usage-entry]
|
|
||||||
EntityRegistryEntrySnapshot({
|
|
||||||
'aliases': set({
|
|
||||||
}),
|
|
||||||
'area_id': None,
|
|
||||||
'capabilities': None,
|
|
||||||
'config_entry_id': <ANY>,
|
|
||||||
'device_class': None,
|
|
||||||
'device_id': <ANY>,
|
|
||||||
'disabled_by': None,
|
|
||||||
'domain': 'sensor',
|
|
||||||
'entity_category': <EntityCategory.DIAGNOSTIC: 'diagnostic'>,
|
|
||||||
'entity_id': 'sensor.slzb_06_filesystem_usage',
|
|
||||||
'has_entity_name': True,
|
|
||||||
'hidden_by': None,
|
|
||||||
'icon': None,
|
|
||||||
'id': <ANY>,
|
|
||||||
'labels': set({
|
|
||||||
}),
|
|
||||||
'name': None,
|
|
||||||
'options': dict({
|
|
||||||
}),
|
|
||||||
'original_device_class': <SensorDeviceClass.DATA_SIZE: 'data_size'>,
|
|
||||||
'original_icon': None,
|
|
||||||
'original_name': 'Filesystem usage',
|
|
||||||
'platform': 'smlight',
|
|
||||||
'previous_unique_id': None,
|
|
||||||
'supported_features': 0,
|
|
||||||
'translation_key': 'fs_usage',
|
|
||||||
'unique_id': 'aa:bb:cc:dd:ee:ff_fs_usage',
|
|
||||||
'unit_of_measurement': <UnitOfInformation.KILOBYTES: 'kB'>,
|
|
||||||
})
|
|
||||||
# ---
|
|
||||||
# name: test_sensors[sensor.slzb_06_filesystem_usage-state]
|
|
||||||
StateSnapshot({
|
|
||||||
'attributes': ReadOnlyDict({
|
|
||||||
'device_class': 'data_size',
|
|
||||||
'friendly_name': 'slzb-06 Filesystem usage',
|
|
||||||
'unit_of_measurement': <UnitOfInformation.KILOBYTES: 'kB'>,
|
|
||||||
}),
|
|
||||||
'context': <ANY>,
|
|
||||||
'entity_id': 'sensor.slzb_06_filesystem_usage',
|
|
||||||
'last_changed': <ANY>,
|
|
||||||
'last_reported': <ANY>,
|
|
||||||
'last_updated': <ANY>,
|
|
||||||
'state': '188',
|
|
||||||
})
|
|
||||||
# ---
|
|
||||||
# name: test_sensors[sensor.slzb_06_filesystem_usage]
|
|
||||||
StateSnapshot({
|
|
||||||
'attributes': ReadOnlyDict({
|
|
||||||
'device_class': 'data_size',
|
|
||||||
'friendly_name': 'slzb-06 Filesystem usage',
|
|
||||||
'unit_of_measurement': <UnitOfInformation.KILOBYTES: 'kB'>,
|
|
||||||
}),
|
|
||||||
'context': <ANY>,
|
|
||||||
'entity_id': 'sensor.slzb_06_filesystem_usage',
|
|
||||||
'last_changed': <ANY>,
|
|
||||||
'last_reported': <ANY>,
|
|
||||||
'last_updated': <ANY>,
|
|
||||||
'state': '188',
|
|
||||||
})
|
|
||||||
# ---
|
|
||||||
# name: test_sensors[sensor.slzb_06_filesystem_usage].1
|
|
||||||
EntityRegistryEntrySnapshot({
|
|
||||||
'aliases': set({
|
|
||||||
}),
|
|
||||||
'area_id': None,
|
|
||||||
'capabilities': None,
|
|
||||||
'config_entry_id': <ANY>,
|
|
||||||
'device_class': None,
|
|
||||||
'device_id': <ANY>,
|
|
||||||
'disabled_by': None,
|
|
||||||
'domain': 'sensor',
|
|
||||||
'entity_category': <EntityCategory.DIAGNOSTIC: 'diagnostic'>,
|
|
||||||
'entity_id': 'sensor.slzb_06_filesystem_usage',
|
|
||||||
'has_entity_name': True,
|
|
||||||
'hidden_by': None,
|
|
||||||
'icon': None,
|
|
||||||
'id': <ANY>,
|
|
||||||
'labels': set({
|
|
||||||
}),
|
|
||||||
'name': None,
|
|
||||||
'options': dict({
|
|
||||||
}),
|
|
||||||
'original_device_class': <SensorDeviceClass.DATA_SIZE: 'data_size'>,
|
|
||||||
'original_icon': None,
|
|
||||||
'original_name': 'Filesystem usage',
|
|
||||||
'platform': 'smlight',
|
|
||||||
'previous_unique_id': None,
|
|
||||||
'supported_features': 0,
|
|
||||||
'translation_key': 'fs_usage',
|
|
||||||
'unique_id': 'aa:bb:cc:dd:ee:ff_fs_usage',
|
|
||||||
'unit_of_measurement': <UnitOfInformation.KILOBYTES: 'kB'>,
|
|
||||||
})
|
|
||||||
# ---
|
|
||||||
# name: test_sensors[sensor.slzb_06_filesystem_usage].2
|
|
||||||
DeviceRegistryEntrySnapshot({
|
|
||||||
'area_id': None,
|
|
||||||
'config_entries': <ANY>,
|
|
||||||
'configuration_url': 'http://slzb-06.local',
|
|
||||||
'connections': set({
|
|
||||||
tuple(
|
|
||||||
'mac',
|
|
||||||
'aa:bb:cc:dd:ee:ff',
|
|
||||||
),
|
|
||||||
}),
|
|
||||||
'disabled_by': None,
|
|
||||||
'entry_type': None,
|
|
||||||
'hw_version': None,
|
|
||||||
'id': <ANY>,
|
|
||||||
'identifiers': set({
|
|
||||||
}),
|
|
||||||
'is_new': False,
|
|
||||||
'labels': set({
|
|
||||||
}),
|
|
||||||
'manufacturer': 'SMLIGHT',
|
|
||||||
'model': 'SLZB-06p7',
|
|
||||||
'model_id': None,
|
|
||||||
'name': 'slzb-06',
|
|
||||||
'name_by_user': None,
|
|
||||||
'primary_config_entry': <ANY>,
|
|
||||||
'serial_number': None,
|
|
||||||
'suggested_area': None,
|
|
||||||
'sw_version': 'core: v2.3.1.dev / zigbee: -1',
|
|
||||||
'via_device_id': None,
|
|
||||||
})
|
|
||||||
# ---
|
|
||||||
# name: test_sensors[sensor.slzb_06_ram_usage-entry]
|
|
||||||
EntityRegistryEntrySnapshot({
|
|
||||||
'aliases': set({
|
|
||||||
}),
|
|
||||||
'area_id': None,
|
|
||||||
'capabilities': None,
|
|
||||||
'config_entry_id': <ANY>,
|
|
||||||
'device_class': None,
|
|
||||||
'device_id': <ANY>,
|
|
||||||
'disabled_by': None,
|
|
||||||
'domain': 'sensor',
|
|
||||||
'entity_category': <EntityCategory.DIAGNOSTIC: 'diagnostic'>,
|
|
||||||
'entity_id': 'sensor.slzb_06_ram_usage',
|
|
||||||
'has_entity_name': True,
|
|
||||||
'hidden_by': None,
|
|
||||||
'icon': None,
|
|
||||||
'id': <ANY>,
|
|
||||||
'labels': set({
|
|
||||||
}),
|
|
||||||
'name': None,
|
|
||||||
'options': dict({
|
|
||||||
}),
|
|
||||||
'original_device_class': <SensorDeviceClass.DATA_SIZE: 'data_size'>,
|
|
||||||
'original_icon': None,
|
|
||||||
'original_name': 'RAM usage',
|
|
||||||
'platform': 'smlight',
|
|
||||||
'previous_unique_id': None,
|
|
||||||
'supported_features': 0,
|
|
||||||
'translation_key': 'ram_usage',
|
|
||||||
'unique_id': 'aa:bb:cc:dd:ee:ff_ram_usage',
|
|
||||||
'unit_of_measurement': <UnitOfInformation.KILOBYTES: 'kB'>,
|
|
||||||
})
|
|
||||||
# ---
|
|
||||||
# name: test_sensors[sensor.slzb_06_ram_usage-state]
|
|
||||||
StateSnapshot({
|
|
||||||
'attributes': ReadOnlyDict({
|
|
||||||
'device_class': 'data_size',
|
|
||||||
'friendly_name': 'slzb-06 RAM usage',
|
|
||||||
'unit_of_measurement': <UnitOfInformation.KILOBYTES: 'kB'>,
|
|
||||||
}),
|
|
||||||
'context': <ANY>,
|
|
||||||
'entity_id': 'sensor.slzb_06_ram_usage',
|
|
||||||
'last_changed': <ANY>,
|
|
||||||
'last_reported': <ANY>,
|
|
||||||
'last_updated': <ANY>,
|
|
||||||
'state': '99',
|
|
||||||
})
|
|
||||||
# ---
|
|
||||||
# name: test_sensors[sensor.slzb_06_ram_usage]
|
|
||||||
StateSnapshot({
|
|
||||||
'attributes': ReadOnlyDict({
|
|
||||||
'device_class': 'data_size',
|
|
||||||
'friendly_name': 'slzb-06 RAM usage',
|
|
||||||
'unit_of_measurement': <UnitOfInformation.KILOBYTES: 'kB'>,
|
|
||||||
}),
|
|
||||||
'context': <ANY>,
|
|
||||||
'entity_id': 'sensor.slzb_06_ram_usage',
|
|
||||||
'last_changed': <ANY>,
|
|
||||||
'last_reported': <ANY>,
|
|
||||||
'last_updated': <ANY>,
|
|
||||||
'state': '99',
|
|
||||||
})
|
|
||||||
# ---
|
|
||||||
# name: test_sensors[sensor.slzb_06_ram_usage].1
|
|
||||||
EntityRegistryEntrySnapshot({
|
|
||||||
'aliases': set({
|
|
||||||
}),
|
|
||||||
'area_id': None,
|
|
||||||
'capabilities': None,
|
|
||||||
'config_entry_id': <ANY>,
|
|
||||||
'device_class': None,
|
|
||||||
'device_id': <ANY>,
|
|
||||||
'disabled_by': None,
|
|
||||||
'domain': 'sensor',
|
|
||||||
'entity_category': <EntityCategory.DIAGNOSTIC: 'diagnostic'>,
|
|
||||||
'entity_id': 'sensor.slzb_06_ram_usage',
|
|
||||||
'has_entity_name': True,
|
|
||||||
'hidden_by': None,
|
|
||||||
'icon': None,
|
|
||||||
'id': <ANY>,
|
|
||||||
'labels': set({
|
|
||||||
}),
|
|
||||||
'name': None,
|
|
||||||
'options': dict({
|
|
||||||
}),
|
|
||||||
'original_device_class': <SensorDeviceClass.DATA_SIZE: 'data_size'>,
|
|
||||||
'original_icon': None,
|
|
||||||
'original_name': 'RAM usage',
|
|
||||||
'platform': 'smlight',
|
|
||||||
'previous_unique_id': None,
|
|
||||||
'supported_features': 0,
|
|
||||||
'translation_key': 'ram_usage',
|
|
||||||
'unique_id': 'aa:bb:cc:dd:ee:ff_ram_usage',
|
|
||||||
'unit_of_measurement': <UnitOfInformation.KILOBYTES: 'kB'>,
|
|
||||||
})
|
|
||||||
# ---
|
|
||||||
# name: test_sensors[sensor.slzb_06_ram_usage].2
|
|
||||||
DeviceRegistryEntrySnapshot({
|
|
||||||
'area_id': None,
|
|
||||||
'config_entries': <ANY>,
|
|
||||||
'configuration_url': 'http://slzb-06.local',
|
|
||||||
'connections': set({
|
|
||||||
tuple(
|
|
||||||
'mac',
|
|
||||||
'aa:bb:cc:dd:ee:ff',
|
|
||||||
),
|
|
||||||
}),
|
|
||||||
'disabled_by': None,
|
|
||||||
'entry_type': None,
|
|
||||||
'hw_version': None,
|
|
||||||
'id': <ANY>,
|
|
||||||
'identifiers': set({
|
|
||||||
}),
|
|
||||||
'is_new': False,
|
|
||||||
'labels': set({
|
|
||||||
}),
|
|
||||||
'manufacturer': 'SMLIGHT',
|
|
||||||
'model': 'SLZB-06p7',
|
|
||||||
'model_id': None,
|
|
||||||
'name': 'slzb-06',
|
|
||||||
'name_by_user': None,
|
|
||||||
'primary_config_entry': <ANY>,
|
|
||||||
'serial_number': None,
|
|
||||||
'suggested_area': None,
|
|
||||||
'sw_version': 'core: v2.3.1.dev / zigbee: -1',
|
|
||||||
'via_device_id': None,
|
|
||||||
})
|
|
||||||
# ---
|
|
||||||
# name: test_sensors[sensor.slzb_06_zigbee_chip_temp-entry]
|
|
||||||
EntityRegistryEntrySnapshot({
|
|
||||||
'aliases': set({
|
|
||||||
}),
|
|
||||||
'area_id': None,
|
|
||||||
'capabilities': dict({
|
|
||||||
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
|
|
||||||
}),
|
|
||||||
'config_entry_id': <ANY>,
|
|
||||||
'device_class': None,
|
|
||||||
'device_id': <ANY>,
|
|
||||||
'disabled_by': None,
|
|
||||||
'domain': 'sensor',
|
|
||||||
'entity_category': <EntityCategory.DIAGNOSTIC: 'diagnostic'>,
|
|
||||||
'entity_id': 'sensor.slzb_06_zigbee_chip_temp',
|
|
||||||
'has_entity_name': True,
|
|
||||||
'hidden_by': None,
|
|
||||||
'icon': None,
|
|
||||||
'id': <ANY>,
|
|
||||||
'labels': set({
|
|
||||||
}),
|
|
||||||
'name': None,
|
|
||||||
'options': dict({
|
|
||||||
'sensor': dict({
|
|
||||||
'suggested_display_precision': 1,
|
|
||||||
}),
|
|
||||||
}),
|
|
||||||
'original_device_class': <SensorDeviceClass.TEMPERATURE: 'temperature'>,
|
|
||||||
'original_icon': None,
|
|
||||||
'original_name': 'Zigbee chip temp',
|
|
||||||
'platform': 'smlight',
|
|
||||||
'previous_unique_id': None,
|
|
||||||
'supported_features': 0,
|
|
||||||
'translation_key': 'zigbee_temperature',
|
|
||||||
'unique_id': 'aa:bb:cc:dd:ee:ff_zigbee_temperature',
|
|
||||||
'unit_of_measurement': <UnitOfTemperature.CELSIUS: '°C'>,
|
|
||||||
})
|
|
||||||
# ---
|
|
||||||
# name: test_sensors[sensor.slzb_06_zigbee_chip_temp-state]
|
|
||||||
StateSnapshot({
|
|
||||||
'attributes': ReadOnlyDict({
|
|
||||||
'device_class': 'temperature',
|
|
||||||
'friendly_name': 'slzb-06 Zigbee chip temp',
|
|
||||||
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
|
|
||||||
'unit_of_measurement': <UnitOfTemperature.CELSIUS: '°C'>,
|
|
||||||
}),
|
|
||||||
'context': <ANY>,
|
|
||||||
'entity_id': 'sensor.slzb_06_zigbee_chip_temp',
|
|
||||||
'last_changed': <ANY>,
|
|
||||||
'last_reported': <ANY>,
|
|
||||||
'last_updated': <ANY>,
|
|
||||||
'state': '32.7',
|
|
||||||
})
|
|
||||||
# ---
|
|
||||||
# name: test_sensors[sensor.slzb_06_zigbee_chip_temp]
|
|
||||||
StateSnapshot({
|
|
||||||
'attributes': ReadOnlyDict({
|
|
||||||
'device_class': 'temperature',
|
|
||||||
'friendly_name': 'slzb-06 Zigbee chip temp',
|
|
||||||
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
|
|
||||||
'unit_of_measurement': <UnitOfTemperature.CELSIUS: '°C'>,
|
|
||||||
}),
|
|
||||||
'context': <ANY>,
|
|
||||||
'entity_id': 'sensor.slzb_06_zigbee_chip_temp',
|
|
||||||
'last_changed': <ANY>,
|
|
||||||
'last_reported': <ANY>,
|
|
||||||
'last_updated': <ANY>,
|
|
||||||
'state': '32.7',
|
|
||||||
})
|
|
||||||
# ---
|
|
||||||
# name: test_sensors[sensor.slzb_06_zigbee_chip_temp].1
|
|
||||||
EntityRegistryEntrySnapshot({
|
|
||||||
'aliases': set({
|
|
||||||
}),
|
|
||||||
'area_id': None,
|
|
||||||
'capabilities': dict({
|
|
||||||
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
|
|
||||||
}),
|
|
||||||
'config_entry_id': <ANY>,
|
|
||||||
'device_class': None,
|
|
||||||
'device_id': <ANY>,
|
|
||||||
'disabled_by': None,
|
|
||||||
'domain': 'sensor',
|
|
||||||
'entity_category': <EntityCategory.DIAGNOSTIC: 'diagnostic'>,
|
|
||||||
'entity_id': 'sensor.slzb_06_zigbee_chip_temp',
|
|
||||||
'has_entity_name': True,
|
|
||||||
'hidden_by': None,
|
|
||||||
'icon': None,
|
|
||||||
'id': <ANY>,
|
|
||||||
'labels': set({
|
|
||||||
}),
|
|
||||||
'name': None,
|
|
||||||
'options': dict({
|
|
||||||
'sensor': dict({
|
|
||||||
'suggested_display_precision': 1,
|
|
||||||
}),
|
|
||||||
}),
|
|
||||||
'original_device_class': <SensorDeviceClass.TEMPERATURE: 'temperature'>,
|
|
||||||
'original_icon': None,
|
|
||||||
'original_name': 'Zigbee chip temp',
|
|
||||||
'platform': 'smlight',
|
|
||||||
'previous_unique_id': None,
|
|
||||||
'supported_features': 0,
|
|
||||||
'translation_key': 'zigbee_temperature',
|
|
||||||
'unique_id': 'aa:bb:cc:dd:ee:ff_zigbee_temperature',
|
|
||||||
'unit_of_measurement': <UnitOfTemperature.CELSIUS: '°C'>,
|
|
||||||
})
|
|
||||||
# ---
|
|
||||||
# name: test_sensors[sensor.slzb_06_zigbee_chip_temp].2
|
|
||||||
DeviceRegistryEntrySnapshot({
|
|
||||||
'area_id': None,
|
|
||||||
'config_entries': <ANY>,
|
|
||||||
'configuration_url': 'http://slzb-06.local',
|
|
||||||
'connections': set({
|
|
||||||
tuple(
|
|
||||||
'mac',
|
|
||||||
'aa:bb:cc:dd:ee:ff',
|
|
||||||
),
|
|
||||||
}),
|
|
||||||
'disabled_by': None,
|
|
||||||
'entry_type': None,
|
|
||||||
'hw_version': None,
|
|
||||||
'id': <ANY>,
|
|
||||||
'identifiers': set({
|
|
||||||
}),
|
|
||||||
'is_new': False,
|
|
||||||
'labels': set({
|
|
||||||
}),
|
|
||||||
'manufacturer': 'SMLIGHT',
|
|
||||||
'model': 'SLZB-06p7',
|
|
||||||
'model_id': None,
|
|
||||||
'name': 'slzb-06',
|
|
||||||
'name_by_user': None,
|
|
||||||
'primary_config_entry': <ANY>,
|
|
||||||
'serial_number': None,
|
|
||||||
'suggested_area': None,
|
|
||||||
'sw_version': 'core: v2.3.1.dev / zigbee: -1',
|
|
||||||
'via_device_id': None,
|
|
||||||
})
|
|
||||||
# ---
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user