Skip to main content

集成创建设备

理由

在 Home Assistant 中,设备用于将实体分组,以表示单一物理设备或服务。 这是有用的,因为用户通常认为他们是将设备或服务添加到他们的系统中,而不是单个实体。 Home Assistant 将设备信息存储在设备注册表中。 为了让用户拥有最佳体验,设备的信息应该尽可能完整。

示例实现

在这个示例中,有一个传感器实体,定义了它应该添加到设备注册表中的哪个设备,以及一些关于设备的元数据。 这将提供一个丰富的设备信息页面,用户可以通过设备的名称、序列号和其他字段来识别设备。

sensor.py:

class MySensor(SensorEntity):
"""传感器的表示。"""

_attr_has_entity_name = True

def __init__(self, device: MyDevice) -> None:
"""初始化传感器。"""
self._attr_device_info = DeviceInfo(
connections={(CONNECTION_NETWORK_MAC, device.mac)},
name=device.name,
serial_number=device.serial,
hw_version=device.rev,
sw_version=device.version,
manufacturer="我的公司",
model="我的传感器",
model_id="ABC-123",
via_device=(DOMAIN, device.hub_id),
)
info

如果设备表示服务,请务必在 DeviceInfo 对象中添加 entry_type=DeviceEntryType.SERVICE 以标记该设备为服务类型。

其他资源

有关设备的更多信息,请参阅 device 文档。

例外

对此规则没有例外。

相关规则