Примерно год назад обзавёлся китайской приблудой с кодовым названием "NFLH LH001". Если коротко, эта штука управляется через интернеты и эмулирует работу пульта автомобильной сигнализации. В принципе, идея богатая. Но, никто не мешает сделать ещё богаче. Например, интегрировать с Apple HomeKit и научить Siri заводить мою машину.
Для начала, разберёмся, как оно работает. Всё взаимодействие с устройством завязано на приложение для смартфона. С него и начнём. Запускаем Wireshark, пробегаемся по всем кнопкам, смотрим трафик.
Довольно просто:
авторизация /api/v1/user/login.json
получение версии программы /api/v1/pub/version.json?deviceType=ios
получение состояния девайса /api/v1/car/car_status.json?refresh=1&carid=500
отправить действие /api/v1/car/ctrl.json?carid=500&type=6 (type – это кнопки открыть, закрыть и т.д.)
Пока этого достаточно. Уже можно разбирать коробку и начинать ковыряться в кишочках. Но. Остановимся на api и проверим китайцев на вшивость. Что будет, если в запросах, поменять carid?
А будет вот что.
Мы можем получить состояние любого устройства NFLH, включая местоположение.
Можем, например, открыть любой автомобиль.
Ну, и соответственно закрыть.
Осталось посмотреть куда ехать за новой машиной.
Я так и не смог объяснить китайцам, что у них всё плохо с безопасностью (разговор слепого с глухим). Поэтому, идея прошить в поделку айпишник своего сервера кажется вполне себе адекватной:)
Дано: центр управления системами Z-Wave - контроллер Vera, OS X El Capitan или macOS Sierra, iOS 8.1 и выше.
Задача: заставить Siri управлять умным домом.
Странно что Vera ничего не знает про HomeKit, хотя, казалось бы... потребуется некий проксирующий элемент, чтобы эмулировать API яблочного хозяйства.
В качестве моста возьмём NodeJS сервер HomeBridge с плагином VeraLink.
Ok...
Запускаем Терминал.app и начинаем городить огород:)
Сейчас будет гайд для «маленьких».
Cкачиваем текущую версию Node.js (на данный момент - 6.2.2),
$ cd ~
$ curl -o ~/Downloads/node-v6.2.2.pkg https://nodejs.org/dist/v6.2.2/node-v6.2.2.pkg
Чтобы Siri начала мониторить сеть на предмет умных девайсов, в iOS 10 достаточно добавить устройство Homebridge в приложении Home. После чего подтянется всё, что привязано к контроллеру Vera. Для iOS 8 и 9 нужно скачать из App Store любой HomeKit Hub, например, Insteon+ и добавить устройство Homebridge через него.
З.Ы.
Для русской Siri имена комнат, устройств, сцен должны быть прописаны кириллицей, иначе, не поймёт.