Інтеграція apple homekit в загальну систему розумного будинку

Що для Вас Розумний Дім?

Інтеграція apple homekit в загальну систему розумного будинку

"Тепер дуже розумний". Ииииии. ;)

За допомогою програми Дом, яке є на всіх iOS пристроях можна:
- Керувати світлом, замками, гаражними дверима, жалюзі, вентиляторами, розетками, кондиціонерами; отримувати інформацію від: датчиків температури, вологості, оханних систем; спостерігати за камерами спостереження і так далі;
- Використовувати голосовий помічник Siri для управління пристроями
- Дімміровать освітлення за допомогою 3D Touch
- Синхронізувати перелік пристроїв і їх стану на всіх підключених до дому пристроях
- Створювати сценарії (необхідний AppleTV)

Інтеграція apple homekit в загальну систему розумного будинку

Але, як це часто буває в подібних випадках, знайшлися добрі люди, які розколупали HAP інтерфейс (до речі, зробив це наш співвітчизник Alex Skalozub) і написали спеціальне ПЗ, яке прикидається справжніми "HomeKit-enabled" пристроями. Йдеться про програму HAP-NodeJS. яка встановлюється на домашній сервер.

Дуже важливо, що HAP-NodeJS можна поставити на будь-яку операційну систему: Windows, MacOS, Linux. Необхідно тільки попередньо завантажити і встановити програмну платформу NodeJS і пакетний менеджер npm. Ті, хто використовує Windows, можуть завантажити дистрибутиви з офіційних сайтів. Я ж використовую Debian Linux, причому попередньої (на момент написання статті) версії Wheezy. Тому дам коротку інструкцію з встановлення.

Тільки для Debian Wheezy (під користувачем root)

А далі (для всіх ОС), коли nodejs і npm встановлений, завантажуємо і встановлюємо HAP-NodeJS

Якщо все пройшло добре, можна приступити до найцікавішого - підключення до сервера HAP-NodeJS довільного обладнання. Дуже легко підключаються модулі MegaD-328/2561.
Для підключення MegaD-328/2561 необхідно зайти в папку accessories. У ній знаходяться приклади "фейковий" пристроїв (вентилятора, гаражних воріт, лампочки, замку, датчика температури, термостата). Якщо запустити сервер як є, то всі ці пристрої з'являться в програмі "Home media". Фейковий пристроями можна буде управляти, але вони фактично нічого не роблять. Щоб завести реальний пристрій, наприклад, люстру, яка підключена до MegaD-328 на порт P7. необхідно:

5. Додати обробку для MegaD-328/2561 в коді опису пристрою в секції setPowerOn ()

Або просто завантажити готовий приклад: MegaD-out-hap.zip
Зверніть увагу на рядок: "/ sec /? Cmd = 7:" + status
Тут ми вказуємо, яким саме портів управляємо. В даному прикладі P7. Пристрою відправляється GET-запит "/ sec /? Cmd = 7: 1" на включення або / sec /? Cmd = 7: 0 "на вимикання. Опис команд для MegaD-328/2561 можна знайти в API.

А тепер просто запускаємо HAP-NodeJS

Якщо все виконано правильно, порт P7 пристрої MegaD-328/2561 автоматично додасться в програму «Домашній" (iOS може зажадати включення iCloud і настройку ключів) і їм можна буде керувати за будь-якого iOS-девайса і через Siri. Вся настройка з установкою HAP-NodeJS займає не більше 10-15 хвилин. Це навіть простіше, ніж описано в статті.

Додавання в програму «Домашній" датчика температури (наприклад, DS18B20), підключеного до MegaD-328 + MegaD-14-IN / MegaD-2561 анітрохи не складніше.
Готовий приклад для датчика DS18B20, який можна взяти за основу: MegaD-temp-hap.zip

Інтеграція apple homekit в загальну систему розумного будинку

Так, у мене вдома завжди тепло;)

Ось, як описані вище два "аксесуара" виглядають на планшеті iPad. Додаток "Дім" дозволяє згрупувати пристрою по кімнатах, зробивши для кожної з них свою фонову картинку, а також перейменувати пристрої так, як зручно користувачеві.
Пару слів про Siri. Штука, дуже корисна, тому що дозволяє тренувати свою вимову. З моїми Фефекти фікції фразу "Включи світло в залі" штучний інтелект часто сприймає як "включи світло в жарі". Можна відчути себе, наприклад, героєм відомого кліпу: "Рубліштейна 24. Помилка!". Гусари зрозуміють. Але все ж не варто перебільшувати. У переважній більшості випадків Siri відпрацьовує чудово, а додаток Будинок можна використовувати як ще один інструмент (нарівні з Web-інтерфейсом) для управління різними системами. Адже не обов'язково керувати якимось конкретно обладнанням, можна управляти системами в цілому. Наприклад, за допомогою віртуального аксесуара можна відправити команду не пристрою безпосередньо, а сервера ( "включи опалення"), який, в свою чергу виконає цілу серію дій: запустить котел і насоси, відрегулює клапани і приводи і т.д.


деякі особливості


Приклад інтеграції з Демо-інтерфейсом. MegaD-demo_integration-hap.zip
Цей приклад також містить код механізму поновлення стану керованих пристроїв, якщо вони були включені / виключені НЕ через додаток Будинок.

Схожі статті