Избавляемся от ошибок в HA типа Platform xiaomi_aqara does not generate unique IDs

Довольно частая ошибка Platform xiaomi_aqara does not generate unique IDs которая мешает жить датчикам м сенсорам. Причина ее возникновения самая разная, но результат один : устройства перестают функционировать хотя в системе умного дома Mihome они работают. И убрать ее порой не так просто. И так : выплевываю механизм как правильно от нее избавиться. (в 90% помогает).

1. Находим проблемное устройство из лога HA. Оно выглядит как-тот так :

2020-05-15 22:40:52 ERROR (MainThread) [homeassistant.components.binary_sensor] Entity id already exists - ignoring: binary_sensor.door_window_sensor_158d0001dad70c. Platform xiaomi_aqara does not generate unique IDs
2020-05-15 22:40:52 ERROR (MainThread) [homeassistant.components.binary_sensor] Entity id already exists - ignoring: binary_sensor.switch_158d0001a66b29. Platform xiaomi_aqara does not generate unique IDs
2020-05-15 22:40:52 ERROR (MainThread) [homeassistant.components.binary_sensor] Entity id already exists - ignoring: binary_sensor.door_window_sensor_158d0001ab2f0b. Platform xiaomi_aqara does not generate unique IDs
2020-05-15 22:40:52 ERROR (MainThread) [homeassistant.components.sensor] Entity id already exists - ignoring: sensor.temperature_158d00010e13b8. Platform xiaomi_aqara does not generate unique IDs

2. С помощью службы сервиса HA удаляем проблемный объект со всех наших Xiaomi гейтвеях (повторяю СО ВСЕХ, а не только на том где он закреплен). Причина тому сохранение данных в базе HA о ранее закрепленных датчиках с различных гейтвеях. 

где : (1) – служба которая удаляет устройства с ваших Xiaomi Gateway (кстати служба xiaomi_aqara.add_device добавляет датчики удаленно в GW). (2) id номер нашего проблемного датчика (берется из лога). (3) MAC-адрес нашего Xiaomi Gateway (берется из configuration.yam). Проделываем так с каждым контроллером. У меня их три : Значит будет одно devcie_id имя датчика и три разных MAC-адреса. Замечу что MAC адрес прописывается без “:”, хотя и так тоже работает. Но лучше без “:” прописывать, и каждый раз жмем ВЫЗВАТЬ СЛУЖБУ. Наш Xiaomi Gateway издаст звуки вожделения – т.е. все прошло удачно. 🙂

3. Ищет в каталоге нашего Homeassistant по пути : /home/homeassistant/.homeassistant/.storage в файле core.entity_registry проблемное устройство и удаляем его  данные (например). Предварительно охраните копию этого файла. Если он будет поврежден – HomeAssistant не загрузиться. 

            {
                "capabilities": {},
                "config_entry_id": null,
                "device_class": "motion",
                "device_id": null,
                "disabled_by": "user",
                "entity_id": "binary_sensor.motion_sensor_158d0001292c34",
                "icon": null,
                "name": null,
                "original_icon": null,
                "original_name": "Motion Sensor_158d0001292c34",
                "platform": "xiaomi_aqara",
                "supported_features": 0,
                "unique_id": "status158d0001292c34",
                "unit_of_measurement": null
            },

4. Останавливаем наш HomeAssistant

5. Добавляем наш проблемный датчик в Mihome с привязкой нужного контроллера.

6. Запускаем наш HomeAssistant

Результатом должно быть отсутствие ошибок при загрузке HomeAssistant и датчик должен начать работать.

PS: в инете можно поискать различные варианты решения этой проблемы (с более коротким решением), но у меня сработала такая последовательность, да и вся суть в том что система HA “видит своим оком” что в системе уже есть такой дублирующий датчик (например он был на старом контроллере). Сам датчик как бы есть но его нет. И найти его нет возможности. Возможно следы его остались в БД системы. У меня такая бяда возникла после того как я смигрировал с различных контролеров Xiaomi все устройста и распределил их по новым. При этом датчики в HA не удалял, а тупо перерегистрировал их. профит!

 

5 1 голос
Рейтинг статьи
Подписаться
Уведомить о
guest
2 комментариев
Популярные
Новые Старые
Межтекстовые Отзывы
Посмотреть все комментарии
Виталий
Виталий
22.09.2020 13:03

Спасибо, помогло.

Алекс, ты случайно не сталкивался с такой ошибкой. Она на работу IR 360 пульта не влияет, не лог засоряет.
На гитхабе такой bug report создавали, но его закрыли нерешенным
Logger: homeassistant.helpers.entity

Source: helpers/entity.py:372
First occurred: 12:57:45 (1 occurrences)
Last logged: 12:57:45

Updating state for remote.xiaomi_remote_control (<class ‘homeassistant.components.xiaomi_miio.remote.XiaomiMiioRemote’>) took 0.622 seconds. Please create a bug report at https://github.com/home-assistant/home-assistant/issues?q=is%3Aopen+is%3Aissue+label%3A%22integration%3A+xiaomi_miio%22

Денис
Денис
19.07.2021 16:23

А что делать если такую ошибку вызывает сам шлюз?

2
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x
()
x