Голосовое управление EasyHome через Apple Homekit и Open Hab

Итак, наконец, у меня появилась возможность протестировать работу интеграции программы 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 нет поддержки других голосовых помощников, включая Алису от Яндекса. Планов по интеграции с Алисой, насколько мне известно, нет.

Сервер EasyHomeCS

Для работы системы нам нужна программа Open Hab, постоянно работающая на каком-то компьютере в той же локальной сети, что и контроллер. На Windows, Linux или MacOS. Можно по инструкции самостоятельно скачать Open Hab с сайта разработчика (она бесплатная) и поставить его на компьютер, выполнив нужные настройки. Я поступил проще и взял готовый сервер EasyHomeCS на базе Raspberry PI. CS — это communication server. Микрокомпьютер Raspberry PI в корпусе, с блоком питания, уже с установленным Open Hab. При желании можно самому по инструкции установить Open Hab, никто не мешает. Но посидеть придётся над этой задачей.

Голосовое управление EasyHome через Apple Homekit и Open Hab
Голосовое управление EasyHome через Apple Homekit и Open Hab
Голосовое управление EasyHome через Apple Homekit и Open Hab
Голосовое управление EasyHome через Apple Homekit и Open Hab

Подключаю Raspberry PI к локальной сети и в розетку. В сетевом окружении Windows появляется устройство openhab, либо можно в адресной строке Проводника набрать \\openhab. Видим сетевые папки:

Голосовое управление EasyHome через Apple Homekit и Open Hab

А можно в браузере набрать openhab:8080 и увидеть его интерфейс. Настройка всех параметров системы осуществляется через редактирование текстовых файлов конфигурации.

Настройка Open Hab

Нам надо настроить Open Hab на конфигурацию нашей системы. Для этого заходим в папку openHAB-conf, затем в items, открываем файл EasyHome.items. Его и надо править.

Голосовое управление EasyHome через Apple Homekit и Open Hab

Строчки и группы определяют элементы, которые будут видны в 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 через Apple Homekit и Open Hab

Добавление EasyHome в Дом

Когда всё готово, мы можем добавлять устройства, которых мы описали в файле EasyHome.items, в приложение Дом на iPad или iPhone. Вот так выглядит первое окно приложения Дом. Советую сначала в настройках добавить в систему все ваши комнаты, чтобы можно было сразу при добавлении распределять по ним устройства.

Голосовое управление EasyHome через Apple Homekit и Open Hab

Нажимаем на Добавить аксессуар. Приложение предлагает отсканировать QR код, но у нас его нет, поэтому выбираем добавление вручную. Если Open Hab настроен правильно, то Дом предложит добавить в систему устройство.

Голосовое управление EasyHome через Apple Homekit и Open Hab

Далее нужно ввести 8-значный pin код, указанный нами в homekit.cfg. Тут у меня что-то явно сглючило в интерфейсе Дома, и он показал мне вот такое окно для ввода pin кода:

Голосовое управление EasyHome через Apple Homekit и Open Hab

Вводимый код я не вижу, как и кнопки 9 и 0 на клавиатуре. Поворачиваю iPad горизонтально — кнопки становятся видны, но не нажимаются! У меня изначально был 0 в pin-коде, пришлось поменять его и ввести вслепую. Сработало.

Начинается добавление всех устройств (у меня 17 штук) в Дом. По каждому устройству предлагается поменять имя, указать комнату и сразу сделать какой-нибудь сценарий работы устройства: включать утром или по приходу домой, выключать вечером или по уходу из дома. Это можно будет настроить и позднее, как и поменять имена устройств и комнаты. Устройства при добавлении можно добавлять в Избранное.

Голосовое управление EasyHome через Apple Homekit и Open Hab

Вот так выглядят устройства в комнате. «Нет ответа» написано на устройствах, которые я добавил в файл просто для количества, их в реальности нет.

Голосовое управление EasyHome через Apple Homekit и Open Hab

Комната выбирается в левом верхнем углу:

Голосовое управление EasyHome через Apple Homekit и Open Hab

На главном экране можно видеть все устройства, добавленные в Избранное.

При добавлении устройств Apple приложение по названию пытается угадать, в какую комнату его добавить, и что это такое. Вытяжку распознало как вентилятор и сделало соответствующую иконку.

Голосовое управление EasyHome через Apple Homekit и Open Hab

Можно регулировать диммируемые группы:

Голосовое управление EasyHome через Apple Homekit и Open Hab

Голосовое управление EasyHome

Смотрим на голосовое управление. Нужно называть устройства так, как мы хотим их проговаривать. Отрабатывают устройства хорошо, но всё время смущают ответы Сири. Например, прошу включить свет, она отвечает «хорошо, выключено», но включает!

Голосовое управление EasyHome через Apple Homekit и Open Hab

Вот ещё пример:

Голосовое управление EasyHome через Apple Homekit и Open Hab

Для диммируемых групп света можно говорить либо «включи» или «выключи», либо процент, на который надо включить. Распознавание речи понимает разные формулировки и падежи.

Голосовое управление EasyHome через Apple Homekit и Open Hab

Вот установка температуры.

Голосовое управление EasyHome через Apple Homekit и Open Hab

Лучше проговаривать, в какой комнате надо включить устройство, если устройство с таким названием есть в нескольких комнатах. Но если мы дали команды в одной комнате, то следующая команда будет при равных названиях выполнена в той же комнате.

К сожалению, команды типа «Включи всё» и «Выключи всё» система не понимает. Точнее, понимает криво. На запрос «Включи весь свет в коридоре» выключает один из светильников в коридоре.

Голосовое управление EasyHome через Apple Homekit и Open Hab

Выключить всё не хочет вообще.

Голосовое управление EasyHome через Apple Homekit и Open Hab

Все добавленные устройства будут сразу доступны на всех iOS-девайсах с той же учётной записью. Управление будет работать через интернет, если в доме (в той же локальной сети, где и Open Hab) находится iPad, Apple TV или колонка HomePod, в настройках заданные как центр домашней автоматизации.

В настройках приложения Дом я могу приглашать других пользователей, которым будет дана возможность управления системой.

Loading

Умный дом или дом по уму
Комментарии: 3
  1. Максим

    Добрый день.
    Возможна ли интеграция с голосовым помощником Алиса через сервер связи EasyHomeCS и openhab?
    Или для решения этой задачи лучше подойдет решение от BARY?

    1. Роман (автор)

      EasyHome с Алисой не работает, насколько мне известно, такая интеграция не планируется.
      Bary не работает с EasyHome.

  2. Сергей

    Всё отлично

Добавить комментарий