Как стать автором
Обновить

Комментарии 6

Буквально на дня пересобрал пару вариантов из «интернета» на базе PHP.
Суть задачи: сделать шлюз данных с прокидыванием части команд на HomeAssistant.
Как итог получил решение «tcpserver+php скрипт». Сам сервер общается через стандартные дескрипторы STDIN и STDOUT. Решение получилось асинхронное. Получается команда через WebSocket соединение. Далее команда отправляется в отдельный поток. По окончании выполнения потока, серверная часть забирает результат и уже отдается клиенту. Так же в серверном потоке мониториться папка на предмет появления новых файлов, получается что-то типа общения с внешними источниками. Например событие с IP домофона прилетает и кладется в папку событий. Сервер WebSocket видит событие и оповещает об этом уже клиента. Так же в серверном потоке крутиться клиент WebSocket. Который обеспечивает мониторинг событий и состояний элементов умного дома подключенный к HomeAssistant. Как результат, самописный интерфейс умного дома имеет одну точку входа. Которая объединяет и собирает разнородные элементы умного дома в той форме и в том виде какой мне нужен.
В принципе работает достаточно стабильно, правда пришлось принудительно слать «пинги» для поддержания подключения как в серверной части так и в клиентской. WebSocket cервер может отдавать данные по погоде, прогноз погоды на два дня вперед, данные по трафику в городе (кол-во баллов), отправлять SMS через 4G модем, оповещать о движении перед дверью (IP домофон сам оповещает и это событие проваливается всем клиентам). Ну и получать события о изменении состояния элементов умного дома, а так же изменять это стояние.
Я сам, коллега, тоже присматриваюсь к «интернету вещей». И, как вариант, использовать канал с такой технологией представляется весьма перспективным. Кстати, была идея сделать специальную службу для «операционки» (для windows и linux), с которой можно было бы через интернет связаться по этой технологии. Для чего? Ну, например, чтобы отдать какую-то команду. В общем для удалённого контроля. Я понимаю, что можно использовать для этого туннели, но просто, как и такой вариант
Для удаленного управления прощу и функциональней поставить SSH сервер.
В данном случае у меня была задача сделать более интересный интерфейс для экрана висящего на стене, чем стандартный от Home Assistant. И плюс подключить функционал сторонний, который не заведен на Home Assistant. Например общение с ip видео домофоном происходит через SipJS напрямую прямо через экран на стене. Погода опять же берется не с Home Assistant а с городского портала и красивыми картинками подстать погоде и тд. Пока еще не весь функционал умного дома реализован и подключен к Home Assistant, на текущий момент пока установлено только управление освещением, управление отоплением (батареям, через регуляторы MAX!) и бризерами Тион. Плюсом будет управление умным пылесосом, бойлером и тд. При любом раскладе все команды почти прозрачно будут просто проваливаться через WebSocket клиента до Home Assistant. Эдакий прокси сервер получается. Правда ответ от Home Assistant «заужается», потому как «экрану» не интересны все поля и как результат ему отдается только нужная ему информация.
В качестве серверной части как вариант можно было еще использовать http long polling но WebSocket показался более интересным. По крайней мере для моей задачи это уменьшает шанс потерять сообщение от Home Assistant о например изменении состояния выключателя. Вопрос для меня только сейчас один интересен. Как обеспечить большое кол-во подключений WebSocket, тогда бы я его внедрил уже в решение B2B над которым с некоторой периодичностью приходиться заниматься.
Home Assistant… Что-то не попадалось мне такое. Это какой-то стандарт?
Платформа для организации умного дома. С ним мой шлюз общается по средствам WebSocket соединения. Собственно туда и прокидываю часть команд поступающих на мой websocket сервер.
Почитал за Home Assistant. Прикольно. Т.е. я понял, что в доме устанавливается что-то типа сервера? Там промышленный компьютер ставится что ли? Мне вот эта штука очень интересная. Появляется много информации по этому поводу. Но натурально пока не доводилось встретить. В принципе можно было бы и заказчика подыскать под это дело. Появляются «богатенькие буратины». Правда у них максимальные запросы выливаются полка в установке видеонаблюдения, в том числе и через интернет.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации