Skip to content

Commit 3dc3291

Browse files
committed
Update custom entity name logic
1 parent 36c53d9 commit 3dc3291

File tree

2 files changed

+9
-5
lines changed

2 files changed

+9
-5
lines changed

custom_components/xiaomi_gateway3/core/devices.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,8 @@
5050
- `led` - control device led light
5151
- `wireless` - change mode from wired to wireless (decoupled)
5252
- `power_on_state` - default state when electricity is supplied
53-
- `contact` - for contact sensor
54-
- `moisture` - for water leak sensor
53+
- `contact` - for door/windor sensor (zigbee2mqtt - contact, hass - door or window)
54+
- `water_leak` - for water leak sensor (zigbee2mqtt - water_leak, hass - moisture)
5555
5656
Nice project with MIoT spec description: https://home.miot-spec.com/
5757
"""

custom_components/xiaomi_gateway3/hass/entity.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,16 +69,20 @@ def __init__(self, device: "XDevice", conv: "BaseConv"):
6969
hw_version=device.extra.get("hw_ver"),
7070
via_device=via_device,
7171
)
72-
# self._attr_entity_registry_enabled_default = conv.enabled in (True, None)
7372
self._attr_has_entity_name = True
7473
self._attr_name = attr_human_name(conv.attr)
7574
self._attr_should_poll = False
7675
self._attr_unique_id = f"{device.uid}_{conv.attr}"
7776

7877
setup_entity_description(self, conv)
7978

80-
entity_name = device.extra.get("entity_name") or device.uid
81-
self.entity_id = f"{conv.domain}.{entity_name}_{conv.attr}"
79+
if entity_name := device.extra.get("entity_name"):
80+
if entity_name.endswith(conv.attr):
81+
self.entity_id = f"{conv.domain}.{entity_name}"
82+
else:
83+
self.entity_id = f"{conv.domain}.{entity_name}_{conv.attr}"
84+
else:
85+
self.entity_id = f"{conv.domain}.{device.uid}_{conv.attr}"
8286

8387
self.on_init()
8488

0 commit comments

Comments
 (0)