|
11 | 11 | from propcache.api import cached_property |
12 | 12 | from zha.mixins import LogMixin |
13 | 13 |
|
14 | | -from homeassistant.const import ATTR_MANUFACTURER, ATTR_MODEL, ATTR_NAME, EntityCategory |
| 14 | +from homeassistant.const import ( |
| 15 | + ATTR_MANUFACTURER, |
| 16 | + ATTR_MODEL, |
| 17 | + ATTR_NAME, |
| 18 | + ATTR_VIA_DEVICE, |
| 19 | + EntityCategory, |
| 20 | +) |
15 | 21 | from homeassistant.core import State, callback |
16 | 22 | from homeassistant.helpers.device_registry import CONNECTION_ZIGBEE, DeviceInfo |
17 | 23 | from homeassistant.helpers.dispatcher import async_dispatcher_connect |
@@ -85,14 +91,19 @@ def device_info(self) -> DeviceInfo: |
85 | 91 | ieee = zha_device_info["ieee"] |
86 | 92 | zha_gateway = self.entity_data.device_proxy.gateway_proxy.gateway |
87 | 93 |
|
88 | | - return DeviceInfo( |
| 94 | + device_info = DeviceInfo( |
89 | 95 | connections={(CONNECTION_ZIGBEE, ieee)}, |
90 | 96 | identifiers={(DOMAIN, ieee)}, |
91 | 97 | manufacturer=zha_device_info[ATTR_MANUFACTURER], |
92 | 98 | model=zha_device_info[ATTR_MODEL], |
93 | 99 | name=zha_device_info[ATTR_NAME], |
94 | | - via_device=(DOMAIN, str(zha_gateway.state.node_info.ieee)), |
95 | 100 | ) |
| 101 | + if ieee != str(zha_gateway.state.node_info.ieee): |
| 102 | + device_info[ATTR_VIA_DEVICE] = ( |
| 103 | + DOMAIN, |
| 104 | + str(zha_gateway.state.node_info.ieee), |
| 105 | + ) |
| 106 | + return device_info |
96 | 107 |
|
97 | 108 | @callback |
98 | 109 | def _handle_entity_events(self, event: Any) -> None: |
|
0 commit comments