Интеграция openhab и яндекс умный дом
Также можете послушать:
Сначала когда я строил умный дом я начал использовать систему OpenHAB версии 2, потому что в принципе она тогда была очень популярна, были конечно и альтернативные решения, но они не показывали себя как самый надежные, а OpenHAB все-таки позиционировал себя как самый надежную, по примеру Вольво или Мерседеса, но конечно сама система была довольно сложной, все равно конечно нужно было с ней разбираться и у нее была возможность, практически сразу была, чтобы можно было подключиться через внешнее облако и использовать удаленный доступ, ну поскольку других решений у меня не было как подключиться к серверу умного дома, то я в общем-то взялся за эту систему и начал в ней делать, разные датчики в неё заводить, делать разные сценарии, пытаться писать, и через некоторое время когда появился умный дом от Яндекса, сначала появились просто навыки и можно было через навык подключаться к серверу умного дома и управлять им, но в навыке надо было сначала говорить специальную фразу, которая запускает навык и только потом уже давать команду на включение.
Навыков было немного, были универсальные навыки, они и сейчас есть все еще, которые позволяют просто настроить в этом навыке специальные виртуальные устройства, а дальше по какому-нибудь протоколу, допустим по веб-запросу можно было отправлять команду на свой сервер умного дома, но чтобы запрос выполнять нужно все равно иметь доступ со стороны сервера к интернет, этот адрес должен быть каким-то образом опубликован, это может быть динамический DNS и тогда адрес будет выделяться автоматически, но сейчас практически уже не работает такая схема, либо надо было покупать отдельный белый IP-адрес для того, чтобы сервер как-то был виден снаружи, но это тоже платная услуга, она конечно не очень дорогая и сейчас в принципе даже предлагается в районе 100 рублей всего, и не знаю на самом деле откуда они берут белые адреса еще, но в принципе такую услугу продают, и вот тогда можно конечно там подключиться и через систему дома Яндекса делать команду, она будет отправляться на сервер, будет каким-то образом обрабатываться, это тоже надо было придумать уже самому, и обратно тоже там обновлять статус таким же образом, то есть конечно навык сам не будет знать статус, но он в принципе ничего не показывал, это не было как отдельное какое-то приложение, то есть там сами датчики и выключатели не были видны.
Но на самом деле если белый IP-адрес есть, конечно то в принципе вообще все эти проблемы связанные там с умным домом от Яндекса или еще от кого-то могут отпасть потому, что тогда можно поднять свой нормальный веб-сервер, с нормальными приложениями и просто этип пользоваться, но если делать аналогично этому навыку свой собственный, то возникают большие проблемы, нужно будет получить какой-то веб-сервер с доступом в интернет для того, чтобы его система Яндекса видела, потом этот навык должен подключаться к серверу по HTTPS, то есть нужно соответственно покупать SSL сертификат, либо како-нибудь бесплатный на три месяца получать, и постоянно обновлять, ну и все равно остается задача как с этого сервера уже на свой сервер передать информацию, потому что на обычных хостингах очень сложно поднять MQTT брокер или еще какие-то варианты сделать, и сам хостинг конечно тоже не бесплатный, это не 100 рублей как за внешней IP-адрес, это уже гораздо сложнее, то есть это рублей 300 в месяц стоит только вариант на которым есть еще и база подключеная, и чуть-чуть места выделено, плюсом еще скорее всего конечно потребуется какое-нибудь доменное имя получить, это еще сколько-то рублей, ну там немного конечно в год платить, ну и сам сертификации SSL стоит очень дорого, порядка 3 тысяч в год, но все равно это получаются большие затраты, и может быть даже имеет смысл просто IP-адрес оплачивать, но если IP-адрес получать, то тут уже проблемы все будут локальные, то есть во-первых этот сервер будет торчать в интернет и уже нужно будет безопасность обеспечивать всей сети, в целом надо будет уже обеспечивать надежность этого решения, там если базу держать у себя на сервере, то это нужно соответствующий уже носитель, там SD карта допустим на Raspberry уже не подойдет, да и даже в принципе не на Raspberry, например и внутренняя память как у Orange Pi используется, и даже ее может не хватить, потому что и размера может не хватить, поэтому тут уже нужно будет туда какой-нибудь SSD подключать диск и в общем уже свои заморочки, ну и базу поднимать какую-нибудь для хранения, поэтому конечно эта интеграция довольно сложная и в общем я прошел этот путь, научился делать связку аккаунтов, и сделал так что использовал как раз OpenHAB как систему с которой связывается система Яндекса, то есть у меня отправлялся запрос на сервер OpenHAB через внешнее облака и соответственно оттуда я получал информацию, обрабатывал и отправлял уже в систему Яндекса, в навык.
Но потом у Яндекса появилась нормальная уже новая платформа дополнительная умного дома Яндекса, а там уже было гораздо проще интегрироваться, то есть уже появились вот эти всякие выключатели, датчики, и можно было именно уже не просто навык голосовой использовать, а прямо видеть как отдельное приложение, но сначала это была просто страница в обычном браузере от Яндекса, а потом уже сделали отдельное приложение, в котором можно было полностью управлять датчиками, писать сценарии, то есть конечно система развивается, все проблемы связанные с подключением, с интеграциея, со стоимостью они конечно остаются, еще плюсом появляется дополнительно то что в системе умного дома от Яндекса есть разные варианты устройств, это типы устройств, которые поддерживаются, это выключатели, светильники, плюсом еще поддерживаются разные специфические, чайники, стиральные машины, пылесосы, кондиционеры, телевизоры, то есть очень много разных типов устройств, но эти все типы они не стандартизованы и фактически разработчик каждый может по-своему описывать эти объекты, то есть разные у них свойства прописывать, разные параметры прописывать, то есть которыми можно управлять это свойства, а параметры это разные датчики, например температура, влажность, какая-нибудь освещенность, и еще какие-нибудь другие параметры, ну и не так давно появились еще события, это можно передавать в этот объект, допустим у телевизора или другого устройства специальное изменение, температуры, или признак открытия или закрытия двери, контакта, и тогда на это событие уже можно как триггер вешать разные сценарии, чтобы они срабатывали это вот дополнительная функция.
Ну и пришлось так чтобы в самом OpenHAB прописывать способ, ну даже не в OpenHAB, а уже в самом скрипте, который интегрирует OpenHAB и систему умного дома от Яндекса, прописывать правила как разобрать все параметры устройства из OpenHAB, и их представить для Яндекса в нужном виде, то есть в OpenHAB это обычно один параметр, один отдельный объект, и допустим если я создаю какой-то датчик, например самый простой температуры и влажности, то у меня температура будет один объект в OpenHAB, влажность второй объект, заряд батареи третий объект, и всё отдельными объектами, и если я хочу передать это в умный дом от Яндекса, то там конечно нужно будет придумывать способ как это соединить в один объект, изначально я делал по-разному, пробовал поскольку у меня используется цифровая 6-значная система описания всех этих отдельных объектов, то например если я передаю параметр температуру то я указываю идентификатор единицу в конце, и таким образом я понимаю что это температура, если я указываю двойку кто это влажность, а потом я попробовал еще для некоторых других объектов сделать через добавить суффикс в названии идентификатора этого элемента уже в умном доме от Яндекса, например там нижнее подчеркивание яркость, или нижнее подчеркивание громкость, или или нижнее подчеркивание температура, это все конечно работает нормально то есть можно будет действительно туда передавать, и гораздо проще так будет обрабатывать, но когда я обратно возвращаю уже свою в систему, то мне приходится все эти строковые названия тоже обратно преобразовывать к варианту в цифрах, чтобы определить какой же все-таки это объект какой его Id, и какой это у этого объекта сенсора конкретный параметр.
Автоматизация в умном доме должна быть полезной и создавать дополнительный комфорт, но иногда всё идет не так… Причины этого, и как всё настроить смотри на моём канале.
You may also read
Read Also
Перейти на Дзен!

Discuss about post