Навык умного дома яндекса и умный дом
Сегодня я обнаружил, что у меня не работает интеграция с умным домом Яндекса. Раньше я настроил навык и подключил его к своему сайту, на котором у меня сохраняются данные. В умный дом Яндекс я сделал проброску своих устройств для этого использовал систему умного дома Open HAB, в нем у меня заведены все датчики и сделано описание типов для этих датчиков и в систему Яндекса я передаю все датчики сразу с необходимыми параметрами. Туда я пробросил все выключатели, пробросил умные розетки, датчики температуры и влажности, датчики движения, датчики открытия дверей, также все беспроводные выключатели.
Недавно появилась в Яндексе дополнительная функция, которая позволяет передавать еще и статусы устройств. Появилась возможность интегрировать беспроводные кнопки, датчики температуры, датчики открытия и на базе этих устройств уже делать сценарии, использовать эти устройства как триггеры. Для того чтобы сделать передачу устройств в Яндекс я сделал кодировку специальную шестизначную с помощью этой кодировки я кодирую все устройства в умном доме, кодировка сделана следующим принципом, первый разряд обозначает используемую экосистему, например либо это самодельное устройство либо это устройство Tuya либо устройство Xiaomi либо еще какие-нибудь другие, соответственно второй разряд и третий отвечает за номер комнаты, 4 и 5 разряд кода определяет сенсор и шестой разряд это некоторый параметр на этом сенсоре, например температура и влажность она на сенсоре обозначается, температура единицей, и влажность двойкой. Я это сделал для того, чтобы при необходимости смены устройств, например если я меняю с другой экосистемы или у меня вышло из строя устройство и мне приходится ставить другое, то чтобы сохранить всю историю накопленную по этому датчику, например температуры, я делаю привязку к коду который использовал ранее и соответственно вся история продолжает храниться. Например датчики в спальне я уже менял несколько раз и это были самодельные устройства и были устройства Xiaomi, до сих пор вся статистика собирается на один уникальный идентификатор.
Также я делаю и сохранение на идентификатора конкретного устройства, потому что иногда они отличаются по своим характеристикам и в принципе полезно отслеживать, например как изменяется заряд батареи или другие атрибуты которые уникальны только для конкретного устройства конкретной конкретного производителя. В базу у меня записывается все именно в этих кодах и при интеграции с Яндексом я также передаю эти коды и все устройства называется с префиксом и окончанием в названии я использую этот код 6-значный, таким образом я могу очень просто определить какой атрибут мне надо будет передать или какой атрибут передается наоборот из системы Яндекса если допустим я голосом прошу включить свет какой-нибудь комнате.
Яндекс периодически меняет описание устройств, меняет некоторые атрибуты передаваемые из системы по API соответственно у меня периодически бывает так что отваливается интеграция приходится каждый раз искать причину почему вдруг опять Яндекс перестал работать, последний раз это было сегодня.
В целом у меня используется система Яндекс для управления голосом, но это также дает и многие возможности для использования Яндекса как хаба, то есть можно туда завести датчики и устройство разных производителей через API можно обращаться к умному дому и соответственно управлять этими устройствами включать, выключать или получать их значение, что в принципе позволяет отазаться от различных других систем как тот же Open HAB или Home Assistant. Недавно в Яндексе добавились дополнительные возможности для работы со сценариями, это можно сделать несколько последовательных действий и между действиями настроить задержку.
Например таким образом я реализовал использование светильника в режиме рассвет, когда экосистема Яндекс отправляет сигнал на постепенное повышение яркости светильника через одну минуту. Также с Яндексом можно интегрироваться и другими способами, появилась дополнительная интеграция в Home Assistant Яндекс Smart Home, которая позволяет прокидывать устройства из Home Assistant напрямую в Яндекс. Также этот модуль позволяет передавать изображение с камер приложения в Яндекса и смотреть онлайн трансляцию, что очень удобно и практически нет других способов сделать эту интеграцию с Яндексом. Также я попробовал управлять устройствами от Tuya используя интеграцию с Яндексом. Она работает гораздо быстрее чем родная интеграция с Tuya и родная интеграция с Tuya очень сложна использует облако Tuya, к которому подключиться достаточно сложно нужно получать отдельный ключ и запускать на сервере умного дома специальные утилиты позволяющие взаимодействовать с устройствами Tuya. Это в первую очередь касается устройств wi-fi, которые работают достаточно медленно и нет возможности переподключить эти устройства к шлюзу, например Zigbee или каким-то другим. Например можно использовать дополнительные варианты интеграции такие как localtuya, но они также требуют сложной настройки и получения дополнительных ключей. Например я сделал в коридоре включения через Яндекс это гораздо быстрее отрабатывает. Если я используют стандартную библиотеку для подключения к облаку Tuya на python, то сам скрипт запускается достаточно долго и это тоже время ожидания, и если например я выключателем беспроводным хочу включить свет коридоре, то задержка составляет больше двух секунд, что очень некомфортно. Опять же если я использую интеграцию через Home Assistant или напрямую подключаюсь к Яндекс через API, это работает гораздо быстрее. Подключение умного дома Яндекса достаточно сложное, так как если это разворачивать на внешнем хостинге то нужно получать также и SSL сертификат, который стоит больше трех тысяч рублей, и его надо каждый год продлевать, что становится достаточно дорогим удовольствие, и сам хостинг тоже не дешевый, это больше 300 рублей выходит у меня в месяц. Как альтернативу можно конечно получить постоянный IP у провайдера эта услуга обычно стоит порядка 100 рублей в месяц, но опять же нужно будет разворачивать сервер постоянно включенный и также пробрасывать порты через роутер. Также серверного дома, если он построен на Raspberry, то он будет использовать достаточно ограниченный объем памяти SD карты и не очень удобно сохранять статистику. Например у меня статистика уже копится очень давно и очень большой объем больше миллиона записей в базе со всех датчиков. Но наличие внешнего IP конечно позволяет получить другие преимущества можно будет подключаться к серверу умного дома напрямую что гораздо удобнее.
Я для удаленного подключения используя возможности OpenHAB, у них есть бесплатное внешнее облако, которое пробрасывает весь трафик на сервер умного дома локальный, таким образом у меня полностью через интернет доступна страница, которая настроена в локальной сети в системе Open HAB, её я использую как хаб для своих устройств и удаленного доступа, выключения и просмотра датчиков. Сделал несколько скриптов для интеграции своего дома с системой Open HAB, никаких автоматизации в ней я не использую. Также я использую систему Home Assistant, она в первую очередь используется тоже как хаб для всех устройств, все остальные сценарии у меня описаны с помощью скриптов в основном это я разрабатываю их на bash.
Автоматизация в умном доме должна быть полезной и создавать дополнительный комфорт, но иногда всё идет не так… Причины этого, и как всё настроить смотри на моём канале.
Discuss about post