26. Неподдерживаемые zigbee устройства в Home Assistant. Использование конвертера.
Иногда бывает так, что после долгих поисков сначала на форумах и/или в Ютубе, находится то самое устройство, которое максимально отвечает нашим потребностям. И после долгих поисков в магазинах или ожидания пока оно сначала появится, а потом прибудет, выясняется что оно не поддерживается системой. Да, устройство (или модель) настолько новое или узкоспециальное, что владеют им на данный момент буквально единицы по всему миру. А использует его в такой же конфигурации как у вас ещё меньшее количество людей.
Для начала определимся с конфигурацией в которой работаем (по итогам предыдущих статей на этом сайте).
Установлена система Home Assistant.
В ней установлены дополнения Zigbee2MQTT и MQTT broker.
Так же к системе подключен Zigbee шлюз (он же хаб, он же координатор). Тип подключения шлюза в данном примере не важен.
Новое устройство определяется системой, но пишет что оно не поддерживается.
Что делать?
Вариантов на самом деле аж целых три штуки:
1. Вернуть устройство обратно продавцу, и искать то, которое будет поддерживаться.
2. Перечитав несколько тонн литературы и обзаведясь навыками в программировании, написать самостоятельно конвертер для этого устройства.
3. Потратить несколько секунд на получение полной информации об устройстве, отправить эти данные разработчику дополнения Zigbee2MQTT для включения его в поддержку в ближайшей версии дополнения. Если таковая планируется не скоро, то его же можно попросить о конвертере для этого устройства, в качестве временного решения. Время ожидания рабочего результата подобного способа от одного часа до несколько дней.
Очевидно что в данной статье разберём именно третий способ.
Итак, устройство вроде бы добавилось и даже отображается в списке устройств, но в статусе указано что оно не поддерживается. И соответственно функционала нет, реакции на нажатия или срабатывания нет.
Первое что необходимо сделать, это убедиться что система опознаёт устройство по его адресу. Что что-то написано в строке Адрес IEEE . Если устройство имеет адрес и хоть как-то отображается в интерфейсе, значит оно записалось базу данных дополнения Zigbee2MQTT. Именно оттуда и нужно вытащить его данные.
Для начала скопируем Адрес IEEE устройства.
Далее необходимо провести подготовительные работы в текстовом редакторе
Studio Code Server, который возможно установлен в системе.
В случае использования File editor никаких дополнительных телодвижений делать не надо.
Заходим в меню file -> preferences -> settings
И в появившемся окне найти раздел со скрытыми расширениями файлов, убираем оттуда расширения db.
Посмотреть расположение файла базы данных устройств зигби можно зайдя в конфигурацию дополнения Zigbee2MQTT
Ищем в нём адрес нужного нам устройства, и копируем всю строку с данными относящимися к нему.
Теперь осталось передать эту информацию разработчику приложения. Идём на гитхаб, в раздел проблем дополнения Zigbee2MQTT -> https://github.com/zigbee2mqtt/hassio-zigbee2mqtt/issues
И открываем новое сообщение о проблеме.
На открывшейся страничке жмём на "Начать"
И максимально подробно заполняем форму (само собой на английском). В заголовке лучше написать "New device support: модель устройства". Так же важно указать что это за устройство, прямой линк на его страничку в магазине, версии установленной системы и дополнения. В общем максимальное количество точных данных.
В последнее окно вставить скопированный ранее текст из файла базы данных зигби устройств. Жмякаем зелёную кнопку и ждём ответа. Если разработчики скажут что поддержка добавлена в DEV версию дополнения, то можно попросить текст конвертера для этого устройства, для временного использования, пока дополнение не обновится официально.
Скопированный текст конвертера вставляем в новый файл в текстовом редакторе в Home Assistant и сохраняем этот файл с любым именем (на английском) и с расширением js в ту же директорию где находится открытый ранее файл базы данных.
Далее, открываем само дополнение Zigbee2MQTT и действуем по схеме указанной ниже:
ВАЖНО!!!
Т.к. это linux-based система, то размер букв в имени файла имеет значение. Поэтому если в созданном файле были указаны заглавные буквы, то и здесь тоже стоит указывать так же как написано в имени файла.
После сохранения настроек перегружаем дополнение (в идеале - систему) и радуемся жизни используя новое устройство.
Однако стоит учесть небольшой момент. Если во время использования внешнего конвертера система будет обновлена, есть шанс, что дополнение "забудет" про этот файл. В таком случае нужно снова будет указать его вручную.
Когда выйдет обновлённая версия дополнения с уже встроенной поддержкой этого устройства, в конвертере не будет необходимости, и его можно удалить нажав на минус и снова перезагрузить систему.
Комментарии
Отправить комментарий