core
core copied to clipboard
Lyric Honeywell integration - fails with leak detector sensors
The problem
When trying to add Lyric Honeywell integration, it fails for the WLD3 water leak sensor. This appears to be an ongoing problem, based on the device not providing a macID (it instead offers a deviceID, which looks like it should be on all items). It sure feels like a simple try
statement around the two calls to macID would solve this?
This is probably a repeat of 88471 (and 52528 before that), but I can't re-open that.
What version of Home Assistant Core has the issue?
core-2024.4.3
What was the last working version of Home Assistant Core?
(none)
What type of installation are you running?
Home Assistant Container
Integration causing the issue
lyric
Link to integration documentation on our website
https://www.home-assistant.io/integrations/lyric/
Diagnostics information
2024-05-12 19:25:35.876 ERROR (MainThread) [homeassistant.components.climate] Error adding entity None for domain climate with platform lyric
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 7
50, in _async_add_entity
device = dev_reg.async_get(self.hass).async_get_or_create(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/device_registry.py", line 6
57, in async_get_or_create
connections = _normalize_connections(connections)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/device_registry.py", line 1
224, in _normalize_connections
(key, format_mac(value)) if key == CONNECTION_NETWORK_MAC else (key, value)
^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/device_registry.py", line 3
79, in format_mac
if len(to_test) == 17 and to_test.count(":") == 5:
^^^^^^^^^^^^
TypeError: object of type 'NoneType' has no len()
Example YAML snippet
No response
Anything in the logs that might be useful for us?
No response
Additional information
Sample json from the logs of a particular water sensor:
{'devices': [{'waterPresent': False, 'currentSensorReadings': {'time': '2024-05-12T12:46:18', 'temperature': 20.85, 'humidity': 57.7}, 'currentAlarms':[], 'lastCheckin': '2024-05-12T12:46:20', 'lastDeviceSettingUpdatedOn': '0001-01-01T00:00:00', 'batteryRemaining': 29, 'isRegistered': True, 'hasDeviceCheckedIn': True, 'isDeviceOffline': False, 'firstFailedAttemptTime': '0001-01-01T00:00:00', 'failedConnectionAttempts': 0, 'wifiSignalStrength': -48,'time': '2024-05-12T12:46:19', 'deviceClass': 'LeakDetector', 'deviceType': 'Water Leak Detector', 'deviceID': 'a481b5a7-47cf-4a68-9374-b181b7f55452', 'deviceInternalID': 316664, 'userDefinedDeviceName': 'Laundry', 'backend': {}, 'isAlive': True, 'isUpgrading': False, 'isProvisioned': True, 'deviceSettings': {'temp': {'high': {'limit': 37}, 'low': {'limit': 7}}, 'humidity': {'high': {'limit': 70}, 'low': {'limit': 20}}, 'userDefinedName': 'Laundry', 'buzzerMuted': False, 'checkinPeriod': 24, 'currentSensorReadPeriod': 60}, 'service': {'mode': 'Up'}, 'deviceRegistrationDate':
'2017-07-06T20:52:20.1266667', 'deviceVariant': 'WLD3'}]}