- Некоторые функции, приложения и службы доступны не во всех регионах. Нажмите , чтобы увидеть полный список.
- Для использования iCloud необходимо устройство с поддержкой iCloud. Для работы некоторых функций требуются iOS 11 и macOS High Sierra. Для использования некоторых функций требуется подключение к сети Wi-Fi. Некоторые функции доступны не во всех странах и регионах. Доступ к некоторым службам ограничен 10 устройствами.
- Смарт-телевизоры Samsung не поддерживают HomeKit, и их нельзя добавить в приложение «Дом».
- Голосовой помощник Siri доступен на iPhone 4s или новее, iPad Pro, iPad (3-го поколения или новее), iPad Air или новее, iPad mini или новее и iPod touch (5-го поколения или новее). Требуется доступ к интернету. Голосовой помощник Siri может быть доступен не на всех языках и не во всех регионах. Возможности Siri также могут различаться. Может взиматься плата за передачу данных по сотовым сетям.
- Чтобы можно было управлять элементами умного дома через iPad, он должен находиться в доме, должен быть включён и подключён к домашней сети Wi-Fi.
Дано: центр управления системами Z-Wave - контроллер Vera, OS X El Capitan или macOS Sierra, iOS 8.1 и выше.
Задача: заставить Siri управлять умным домом.
Странно что Vera ничего не знает про HomeKit, хотя, казалось бы... потребуется некий проксирующий элемент, чтобы эмулировать API яблочного хозяйства.
В качестве моста возьмём NodeJS сервер Homebridge с плагином VeraLink .
Запускаем Терминал.app и начинаем городить огород:)
Сейчас будет гайд для «начинающих».
Cкачиваем текущую версию Node.js (на данный момент - 6.2.2),
$ curl -o ~/Downloads/node-v6.2.2.pkg https://nodejs.org/dist/v6.2.2/node-v6.2.2.pkg
устанавливаем,
$ sudo installer -pkg ~/Downloads/node-v6.2.2.pkg -target / $ node -v
если в ответ получили: «v6.2.2», - значит всё хорошо, двигаемся дальше.
Через нодовский менеджер пакетов ставим Homebridge,
$ sudo npm install -g homebridge
плагин VeraLink,
$ sudo npm install -g homebridge-vera
создаём конфигурационный файл для Homebridge
$ mkdir ~/.homebridge
$ touch ~/.homebridge/config.json
и добавляем в него
$ nano ~/.homebridge/config.json
примерно такое содержание:
{"name": "Homebridge",
"pin": "000-00-000",
"username": "CC:22:3D:E3:CE:30"
"platform": "Vera",
"veraIP": "192.168.1.2",
"includesensor": true,
"ignorerooms": ,
"securitypoll": 2000,
"dimmertest": true
VeraIP: текущий ip вашей Веры
Includesensor, dimmertest: со значением «true» разрешает системе работать с сенсорами и диммерами.
Pincode: Глобальный пин-код для всех девайсов, должен иметь формат ###-##-### и не должен иметь вид 111-11-111 или 123-45-678.
Securitypoll: Время в миллисекундах для обновления ваших сенсоров.
Проверяем...
$ homebridge
Если нет никаких ошибок, в ответ должны увидеть пин-код, список комнат и список девайсов, которые прописаны в контроллере.
Запоминаем этот прямоугольник, он нам пригодится позже.
Ок. Глушим сервер - CTRL+C.
Осталось добавить всё это дело в «автозагрузку».
Создаём плист
$ nano ~/Library/LaunchAgents/com.homebridge.server.plist
с примерно таким содержанием:
Теперь сервер будет подниматься автоматически при условии, что текущий пользователь залогинится после ребута системы.
Back-end готов. Запускаем Homebridge...
$ launchctl load ~/Library/LaunchAgents/com.homebridge.server.plist
Чтобы Siri начала мониторить сеть на предмет умных девайсов, в iOS 10 достаточно добавить устройство Homebridge в приложении Home. Открываем приложение и нажимаем «Добавить аксессуар» (плюсик в верхнем правом углу).
Когда мы находим наш сервер, надо его добавить, как устройство. Для этого нам и пригодится пин-код, который мы видели выше. Программа ХомеКит предложит нам его просто напросто отсканировать, или ввести вручную.
После чего подтянется всё, что привязано к контроллеру Vera. Для iOS 8 и 9 нужно скачать из App Store любой HomeKit Hub, например, Insteon+
и добавить устройство Homebridge через него, по вышеуказанной схеме.
В итоге получаем очень даже симпатичное приложение с возможностью указывать Тег для Сири, то есть то, с помощью какой команды мы будем управлять конкретным устройством.
Для русской Siri имена комнат, устройств, сцен должны быть прописаны кириллицей, иначе, не поймёт.
Идея поуправлять умным домом с помощью голосовых команд родилась уже давно. И в каких-то системах так или иначе это реализовано. Siri – хороший и удобный голосовой помощник для владельцев айфонов. Понимает человеческую речь, удобен. Но по причине закрытого протокола, не используется для голосового управления «умных» устройств. Хорошо, что у Apple есть HomeKit – некий «туннель» для приема команд умными устройствами от Siri.
В этой статье я опишу процесс установки и настройки шлюза для взаимодействия Siri с устройствами домашней автоматизации и расскажу про некоторые особенности разных версий.
Основным контроллером умного дома у меня служит Vera3. Управляет соответственно всякой Audio/Video компонентами и Z-wave устройствами. Ну а «волшебной палочкой» будет Node-JS приложение VeraHomeKitBridge . Ниже я напишу, почему остановил свой выбор именно на этом приложении.
Скачиваем архив с GitHub’а. Нужно всё это где-то развернуть. У меня для этого есть виртуалка. Кто не держит дома сервер, можно задействовать Raspberry Pi под это дело.
Процесс установки
Краткий мануал по установке есть на странице проекта. Я рекомендую дополнительно воспользоваться инструкцией соседнего проекта на GitHub"е (на мой взгляд она более понятная).
Полностью копировать команды сюда не буду. Пройдусь по пунктам:
- Устанавливаем необходимые пакеты: nodejs, npm, git-core, libnss-mdns, libavahi-compat-libdnssd-dev .
- Копируем в lib/ сам HAP-NodeJS. Скачиваем его отдельным архивом отсюда .
- Устанавливаем плагины для работы с приложением.
- Правим config.json. Вписываем IP адрес контроллера Vera, и ещё можно поменять пин-код на свой.
- Пытаемся запустить приложение с помощью команды node app.js
Curl -sL https://deb.nodesource.com/setup | sudo bash -
apt-get install nodejs
после этого версия должна быть 0.10.44.
Еще в процессе запуска возникнут ошибки о недостающих плагинах. Ставим:
npm install имя_пакета
Еще может возникнуть ошибка «…invalid ELF header». Чтобы заработало, нужно зайти в lib/HAP-NodeJS
и сделать
npm rebuild
В итоге должно: успешно стартануть Хоумкит для Веры и автоматом подцепиться сцены и выключатели, которые видит контроллер. Если это произошло – полдела сделано.
В дальнейшем, если никаких ошибок нет, можно запускать приложение в фоновом режиме командой:
forever start app.js
предварительно установив плагин
npm install forever
Делать это нужно, конечно же, убедившись, что вы находитесь в директории VeraHomeKitBridge
.
Теперь настраиваем HomeKit на iPhone
Устанавливаем приложение Insteon+. При желании можно выбрать другие платные аналоги. Главное чтобы они работали с HomeKit.
Включаем в Настройки -> Конфиденциальность -> HomeKit
программу, которую установили.
В настройках iCloud надо создать связку ключей.
Заходим в программу Insteon+. Делаем Add Device. Далее она ищет аксессуар, совместимый с HomeKit. У нас это запущенный сервис с запущенным HAP-NodeJS, который должен быть в той же локальной сети что и iPhone. Находим один аксессуар и добавляем. Вводим пин-код, который указали в config.json. Первый раз добавление длится около минуты. Если все прошло успешно, то все актуаторы и сцены из Веры будут видны в Insteon+ и даже будут работать от нажатия.
Но у меня есть приложение от Веры. Повыключать я и там могу. Insteon+ нужен для голосового управления. Для этого в настройках приложения выбираем Edit Device. Выбираем устройство и переходим в поле «Siri control». Туда надо вписать человеческое название актуатора или сценария. Например, если это реле освещения, то назвать «лампочка» или «свет». Вообще «свет» - у Siri более общее понятие. Поэтому старайтесь делать конкретные названия: утюг, чайник, телевизор, теплый пол…
Разложив устройства в приложении по комнатам можно давать команды: «Включи свет на кухне» Siri «видит» названия комнат. Еще в настройках устройства можно указать его тип. Сейчас там Light и Fan. Может в будущем добавятся и другие типы. Сейчас же можно для реле освещения указать, что это именно свет. Тогда устройство будет реагировать на «Включи свет на кухне» и не будет реагировать, если его тип будет Fan. Ниже в видео я продемонстрирую голосовое управление. Но у меня не так много устройств, чтобы показать все варианты управления голосом. Пока только принцип действия. А дальше только с расширением устройств и функционала Insteon+.
Как я и ранее написал, можно работать через сцены. Это дает нам возможность управлять практически всем, что доступно в интерфейсе Веры. Сцены все видны в приложении и доступны при голосовых командах. Поэтому можно управлять ресивером или телевизором, создав 2 сцены - включения и выключение ресивера. В Вере сцены следует навать Receiver - On и Receiver - Off. Тогда можно давать команды на «Включить ресивер» и «Выключить ресивер», а не «Включить ресивер» и «Включить выключение ресивера» соответственно.
Что еще?
HomeKit открывает двери в голосовое управление практически любой домашней автоматикой. Для этого есть более обширное понятие - homebridge. Куда можно запихнуть автоматику других производителей. Пошуршав все тот же GitHub можно найти механизмы управления для других контроллеров и платформ: WeMo, PhilipsHue… На плагин для Веры я наткнулся почти год назад, и за это время он продвинулся в лучшую сторону.
Выделю некоторые особенности: Если посмотреть код, то видно, что взаимодействие происходит через http протокол. Работает быстрее аналогов. Добавляются сразу все устройства в виде единого аксессуара. При желании можно расширять всю систему вдоль и поперек.
Немного лирики или трудности перевода
Тут остановлюсь немного на командах для Siri. Если название устройства вписать не явно, Siri лезет в Интернет по вашему запросу, а не даёт команду на это устройство. И команды, бывает, понимает по-разному. Иногда нужно «Включить …», но «Выключи …» Иначе на запрос «Выключить теплый пол», например, будет искать в интернете по запросу как выключить теплый пол.
Есть общие команды, как «Включи освещение в …», «Включи всё в …», «Опустить шторы». Есть команда на «Закрыть», «Открыть». Но в моем случае с гидролоками эта команда не сработала. Описывал устройство и как «вода» и как «кран». На команду «Закрыть кран в туалете» упорно не видит устройства. Хотя комнату «Туалет» определяет. Немного парадоксальная ситуация: называю гидролок «утюгом», даю команду «Включи утюг» - перекрывает воду. Называю «вода», «кран» - лезет в интернете искать как закрыть кран. Вообще, с закрытием, мне кажется, работает эта связка только с определенными устройствами типа замков. Но тогда он должен быть соответствующе описан в типе устройства. И тогда команду «Закрыть входную дверь» Siri понимает правильно.
На видео показан принцип работы. Перекрытие воды работает от реле, которое в HomeKit"е не удалось описать как гидролок или кран.
В общем, пользуйтесь, пробуйте на других устройствах как оно работает и совершенствуйте голосовое управление домашней автоматизацией.
3 мая 2016 в 14:07Голосовое управление умным домом на Z-wave через Siri
- Разработка для интернета вещей
Идея поуправлять умным домом с помощью голосовых команд родилась уже давно. И в каких-то системах так или иначе это реализовано. Siri – хороший и удобный голосовой помощник для владельцев айфонов. Понимает человеческую речь, удобен. Но по причине закрытого протокола, не используется для голосового управления «умных» устройств. Хорошо, что у Apple есть HomeKit – некий «туннель» для приема команд умными устройствами от Siri.
В этой статье я опишу процесс установки и настройки шлюза для взаимодействия Siri с устройствами домашней автоматизации и расскажу про некоторые особенности разных версий.
Основным контроллером умного дома у меня служит Vera3. Управляет соответственно всякой Audio/Video компонентами и Z-wave устройствами. Ну а «волшебной палочкой» будет Node-JS приложение VeraHomeKitBridge . Ниже я напишу, почему остановил свой выбор именно на этом приложении.
Скачиваем архив с GitHub’а. Нужно всё это где-то развернуть. У меня для этого есть виртуалка. Кто не держит дома сервер, можно задействовать Raspberry Pi под это дело.
Процесс установки
Краткий мануал по установке есть на странице проекта. Я рекомендую дополнительно воспользоваться инструкцией соседнего проекта на GitHub"е (на мой взгляд она более понятная).
Полностью копировать команды сюда не буду. Пройдусь по пунктам:
- Устанавливаем необходимые пакеты: nodejs, npm, git-core, libnss-mdns, libavahi-compat-libdnssd-dev .
- Копируем в lib/ сам HAP-NodeJS. Скачиваем его отдельным архивом отсюда .
- Устанавливаем плагины для работы с приложением.
- Правим config.json. Вписываем IP адрес контроллера Vera, и ещё можно поменять пин-код на свой.
- Пытаемся запустить приложение с помощью команды node app.js
Curl -sL https://deb.nodesource.com/setup | sudo bash -
apt-get install nodejs
после этого версия должна быть 0.10.44.
Еще в процессе запуска возникнут ошибки о недостающих плагинах. Ставим:
npm install имя_пакета
Еще может возникнуть ошибка «…invalid ELF header». Чтобы заработало, нужно зайти в lib/HAP-NodeJS
и сделать
npm rebuild
В итоге должно: успешно стартануть Хоумкит для Веры и автоматом подцепиться сцены и выключатели, которые видит контроллер. Если это произошло – полдела сделано.
В дальнейшем, если никаких ошибок нет, можно запускать приложение в фоновом режиме командой:
forever start app.js
предварительно установив плагин
npm install forever
Делать это нужно, конечно же, убедившись, что вы находитесь в директории VeraHomeKitBridge
.
Теперь настраиваем HomeKit на iPhone
Устанавливаем приложение Insteon+. При желании можно выбрать другие платные аналоги. Главное чтобы они работали с HomeKit.
Включаем в Настройки -> Конфиденциальность -> HomeKit
программу, которую установили.
В настройках iCloud надо создать связку ключей.
Заходим в программу Insteon+. Делаем Add Device. Далее она ищет аксессуар, совместимый с HomeKit. У нас это запущенный сервис с запущенным HAP-NodeJS, который должен быть в той же локальной сети что и iPhone. Находим один аксессуар и добавляем. Вводим пин-код, который указали в config.json. Первый раз добавление длится около минуты. Если все прошло успешно, то все актуаторы и сцены из Веры будут видны в Insteon+ и даже будут работать от нажатия.
Но у меня есть приложение от Веры. Повыключать я и там могу. Insteon+ нужен для голосового управления. Для этого в настройках приложения выбираем Edit Device. Выбираем устройство и переходим в поле «Siri control». Туда надо вписать человеческое название актуатора или сценария. Например, если это реле освещения, то назвать «лампочка» или «свет». Вообще «свет» - у Siri более общее понятие. Поэтому старайтесь делать конкретные названия: утюг, чайник, телевизор, теплый пол…
Разложив устройства в приложении по комнатам можно давать команды: «Включи свет на кухне» Siri «видит» названия комнат. Еще в настройках устройства можно указать его тип. Сейчас там Light и Fan. Может в будущем добавятся и другие типы. Сейчас же можно для реле освещения указать, что это именно свет. Тогда устройство будет реагировать на «Включи свет на кухне» и не будет реагировать, если его тип будет Fan. Ниже в видео я продемонстрирую голосовое управление. Но у меня не так много устройств, чтобы показать все варианты управления голосом. Пока только принцип действия. А дальше только с расширением устройств и функционала Insteon+.
Как я и ранее написал, можно работать через сцены. Это дает нам возможность управлять практически всем, что доступно в интерфейсе Веры. Сцены все видны в приложении и доступны при голосовых командах. Поэтому можно управлять ресивером или телевизором, создав 2 сцены - включения и выключение ресивера. В Вере сцены следует навать Receiver - On и Receiver - Off. Тогда можно давать команды на «Включить ресивер» и «Выключить ресивер», а не «Включить ресивер» и «Включить выключение ресивера» соответственно.
Что еще?
HomeKit открывает двери в голосовое управление практически любой домашней автоматикой. Для этого есть более обширное понятие - homebridge. Куда можно запихнуть автоматику других производителей. Пошуршав все тот же GitHub можно найти механизмы управления для других контроллеров и платформ: WeMo, PhilipsHue… На плагин для Веры я наткнулся почти год назад, и за это время он продвинулся в лучшую сторону.
Выделю некоторые особенности: Если посмотреть код, то видно, что взаимодействие происходит через http протокол. Работает быстрее аналогов. Добавляются сразу все устройства в виде единого аксессуара. При желании можно расширять всю систему вдоль и поперек.
Немного лирики или трудности перевода
Тут остановлюсь немного на командах для Siri. Если название устройства вписать не явно, Siri лезет в Интернет по вашему запросу, а не даёт команду на это устройство. И команды, бывает, понимает по-разному. Иногда нужно «Включить …», но «Выключи …» Иначе на запрос «Выключить теплый пол», например, будет искать в интернете по запросу как выключить теплый пол.
Есть общие команды, как «Включи освещение в …», «Включи всё в …», «Опустить шторы». Есть команда на «Закрыть», «Открыть». Но в моем случае с гидролоками эта команда не сработала. Описывал устройство и как «вода» и как «кран». На команду «Закрыть кран в туалете» упорно не видит устройства. Хотя комнату «Туалет» определяет. Немного парадоксальная ситуация: называю гидролок «утюгом», даю команду «Включи утюг» - перекрывает воду. Называю «вода», «кран» - лезет в интернете искать как закрыть кран. Вообще, с закрытием, мне кажется, работает эта связка только с определенными устройствами типа замков. Но тогда он должен быть соответствующе описан в типе устройства. И тогда команду «Закрыть входную дверь» Siri понимает правильно.
На видео показан принцип работы. Перекрытие воды работает от реле, которое в HomeKit"е не удалось описать как гидролок или кран.
В общем, пользуйтесь, пробуйте на других устройствах как оно работает и совершенствуйте голосовое управление домашней автоматизацией.
Наладить максимальный комфорт в квартире с каждым месяцем становится все дешевле и проще. В этой пошаговой инструкции я покажу как легко и просто добавить вашему дому голосового управления! Для голосового управления нам понадобятся:
- Контроллер RaZberry или любой компьютер с ПО Z-Way
- Пара Z-Wave девайсов, а в прочем и любые WiFi лампочки подойдут
1) Устанавливаем ПО Z-Way версии старше 2.2.2 :
wget -O - razberry.z-wave.me/install/v2.2.2-test-new-webserver-8-ga9cd319 | sudo bash Z-Way это Hub для Z-Wave, Enocean устройств, различных WiFi лампочек, розеток, замков и других IoT управляемых HTTP и TCP запросами. Веб интерфейс доступен на порте 8083.
2) Устанавливаем последнюю версию Node.js
wget https://nodejs.org/dist/v4.4.5/node-v4.4.5-linux-armv6l.tar.xz
tar -xvf node-v4.4.5-linux-armv6l.tar.xz
cd node-v4.4.5-linux-armv6l
sudo cp -R * /usr/local/
Node.js это платформа для запуска JavaScript кода на сервере основанная на движке Google V8.
3) Устанавливаем Homebridge и плагин Homebridge-zway
sudo npm install -g homebridge
sudo npm install -g homebridge-zway
Homebrige реализует поддержку Homekit. Homebrige-zway это плагин добавляющий улучшенную поддержку Homekit в Z-Way.
4) Создаем конфиг Homebrige /usr/local/lib/node_modules/homebridge/config.json
{
"bridge": {
"name": "Homebridge",
"username": "CC:22:3D:E3:CE:31",
"port": 51826,
"pin": "031-45-154"
},
"platforms": [
{
"platform": "ZWayServer",
"url": "http://localhost:8083/",
"login": "admin",
"password": "admin"
}
]
}
Последний слэш в url очень важен, без него не работает.
5) Запускаем Z-Way и Homebridge
sudo /etc/init.d/z-way-server start
sudo homebridge -U /usr/local/lib/node_modules/homebridge &
Если все верно то в логе вы увидите устройства которыми можете управлять и PIN код.
6) С помощью приложения Home на телефоне или других (MyTouchHome , MyHome App и др.) добавляем Homekit устройства.
7) Готово! Теперь домом можно управлять с помощью голоса! Комфортного управления!