Голосовое управление EasyHome через Apple Homekit и Open Hab - «Умный Дом и решения»
- Демьян
- 26-сен-2019, 20:33
- 0 комментариев
- 1 049 просмотров
Итак, наконец, у меня появилась возможность протестировать работу интеграции программы EasyHome с Open Hab и, как следствие, с Apple Homekit и Siri. Мы получим, помимо голосового управления, возможность управления системой с приложения Дом, установленного в iOS, а также с родного приложения Open Hab и всех приложений, совместимых с Homekit.
Реализация становится возможной благодаря открытому API, появившемуся у системы ещё в конце прошлого года. Все инструкции можно найти на странице с документацией к EasyHome: http://easysmartbox.com/podderzhka/dokumentacziya/
Напомню, что EasyHome — это программное обеспечение, которое ставится на контроллеры Beckhoff CX, Овен ПЛК и контроллер EasyHomePLC. Одна часть программного обеспечения прошивается в контроллер, другая — пользовательская программа, устанавливаемая на iOS, Adnroid и Windows.
На начало 2022 года в системах с программным обеспечением EasyHome нет поддержки других голосовых помощников, включая Алису от Яндекса. Планов по интеграции с Алисой, насколько мне известно, нет.
Для работы системы нам нужна программа Open Hab, постоянно работающая на каком-то компьютере в той же локальной сети, что и контроллер. На Windows, Linux или MacOS. Можно по инструкции самостоятельно скачать Open Hab с сайта разработчика (она бесплатная) и поставить его на компьютер, выполнив нужные настройки. Я поступил проще и взял готовый сервер EasyHomeCS на базе Raspberry PI. CS — это communication server. Микрокомпьютер Raspberry PI в корпусе, с блоком питания, уже с установленным Open Hab. При желании можно самому по инструкции установить Open Hab, никто не мешает. Но посидеть придётся над этой задачей.
Подключаю Raspberry PI к локальной сети и в розетку. В сетевом окружении Windows появляется устройство openhab, либо можно в адресной строке Проводника набрать openhab. Видим сетевые папки:
А можно в браузере набрать openhab:8080 и увидеть его интерфейс. Настройка всех параметров системы осуществляется через редактирование текстовых файлов конфигурации.
Нам надо настроить Open Hab на конфигурацию нашей системы. Для этого заходим в папку openHAB-conf, затем в items, открываем файл EasyHome.items. Его и надо править.
Строчки и группы определяют элементы, которые будут видны в Open Hab и приложении Дом. В инструкции достаточно подробно описано, как добавлять свои элементы. Главное — знать номера всех элементов в контроллере и задавать им логичные названия.
Также нам надо добавить файл homekit.cfg в папке services: указать там pin код для добавления хаба в приложение Дом, IP адрес Raspberry. В файле EasyHome.rules в папке rules надо указать IP адрес самого контроллера. После внесения правок в файлы конфигурации надо перезапустить сервис openhab2 через терминал (в инструкции это описано) или, если openhab стоит на Windows, перезапустить службу.
Для проверки того, что служба запустилась, можно заходить в браузере на openhab:8080. Запуск службы на Raspberry Pi занимает примерно 20 секунд. В интерфейсе в браузере выбираем Paper UI, затем Configuration, затем Services и видим пункт Homekit Integration. В его настройках проверяем IP сервера с Raspberry и видим pin код.
Когда всё готово, мы можем добавлять устройства, которых мы описали в файле EasyHome.items, в приложение Дом на iPad или iPhone. Вот так выглядит первое окно приложения Дом. Советую сначала в настройках добавить в систему все ваши комнаты, чтобы можно было сразу при добавлении распределять по ним устройства.
Нажимаем на Добавить аксессуар. Приложение предлагает отсканировать QR код, но у нас его нет, поэтому выбираем добавление вручную. Если Open Hab настроен правильно, то Дом предложит добавить в систему устройство.
Далее нужно ввести 8-значный pin код, указанный нами в homekit.cfg. Тут у меня что-то явно сглючило в интерфейсе Дома, и он показал мне вот такое окно для ввода pin кода:
Вводимый код я не вижу, как и кнопки 9 и 0 на клавиатуре. Поворачиваю iPad горизонтально — кнопки становятся видны, но не нажимаются! У меня изначально был 0 в pin-коде, пришлось поменять его и ввести вслепую. Сработало.
Начинается добавление всех устройств (у меня 17 штук) в Дом. По каждому устройству предлагается поменять имя, указать комнату и сразу сделать какой-нибудь сценарий работы устройства: включать утром или по приходу домой, выключать вечером или по уходу из дома. Это можно будет настроить и позднее, как и поменять имена устройств и комнаты. Устройства при добавлении можно добавлять в Избранное.
Вот так выглядят устройства в комнате. «Нет ответа» написано на устройствах, которые я добавил в файл просто для количества, их в реальности нет.
Комната выбирается в левом верхнем углу:
На главном экране можно видеть все устройства, добавленные в Избранное.
При добавлении устройств Apple приложение по названию пытается угадать, в какую комнату его добавить, и что это такое. Вытяжку распознало как вентилятор и сделало соответствующую иконку.
Можно регулировать диммируемые группы:
Смотрим на голосовое управление. Нужно называть устройства так, как мы хотим их проговаривать. Отрабатывают устройства хорошо, но всё время смущают ответы Сири. Например, прошу включить свет, она отвечает «хорошо, выключено», но включает!
Вот ещё пример:
Для диммируемых групп света можно говорить либо «включи» или «выключи», либо процент, на который надо включить. Распознавание речи понимает разные формулировки и падежи.
Вот установка температуры.
Лучше проговаривать, в какой комнате надо включить устройство, если устройство с таким названием есть в нескольких комнатах. Но если мы дали команды в одной комнате, то следующая команда будет при равных названиях выполнена в той же комнате.
К сожалению, команды типа «Включи всё» и «Выключи всё» система не понимает. Точнее, понимает криво. На запрос «Включи весь свет в коридоре» выключает один из светильников в коридоре.
Выключить всё не хочет вообще.
Все добавленные устройства будут сразу доступны на всех iOS-девайсах с той же учётной записью. Управление будет работать через интернет, если в доме (в той же локальной сети, где и Open Hab) находится iPad, Apple TV или колонка HomePod, в настройках заданные как центр домашней автоматизации.
В настройках приложения Дом я могу приглашать других пользователей, которым будет дана возможность управления системой.