Добавление Sonoff в HomeKit без пайки и шитья

Мы продолжаем собирать информацию по тому, как подключить то или иное «Умное устройство» к HomeKit. И сегодня мы поговорим о том, что почему-то до сих пор упущено из многочисленных мануалов по этому продукту — это подключение реле Sonoff без пайки и перепрошивки.

Продукция Sonoff уже достаточно зарекомендовала себя на рынке умного дома как недорогой (всего лишь около 300 рублей) и надежный вариант для того, чтобы сделать практически любой прибор в вашем доме «умным», причем который достаточно легко доступен на Aliexpress.

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

Но все-таки такой вариант есть, мы протестировали его на себе, не нашли ни одной нормальной инструкции, как это возможно сделать самому от А до Я — поэтому ниже разберем подробно и по шагам.

1. Установка Sonoff

Перед началом работы над добавлением Sonoff в HomeBridge нам необходимо установить реле и подключить его в родном приложении, скачав его из Appstore.

Для этого:

0. Устанавливаем реле в прибор, который вы хотите сделать умным.

В моем случае это была стандартная настольная лампа от IKEA. После нескольких манипуляций с кусачками, отверткой и ножом реле становится частью нашей обычной лампы.

1. Устанавливаем приложение eWeLink и регистрируем аккаунт

2. Добавляем реле в приложение, следуя инструкции по шагам.

Сразу оговорюсь, что при добавлении реле будет дано несколько вариантов, начиная от стандартного (рекомендуемого) и заканчивая вариантом под названием HomeBridge, который пока что является загадкой для всех пользователей. В моем случае я смог добавить реле только с помощью так называемого Compatible Pairing Mode (AP), который будет находится отдельной ссылкой под всеми остальными способами добавления.

После чего вы сможете управлять своим обновленным (уже умным) устройством прямо из приложения, настроить его и добавить ему поддержку Alexa и Google Home.

2. Поиск ключа

Как мы знаем, eWeLink является «закрытой» системой, которая не позволяет просто так нашему HomeBridge вмешаться в её работу. Поэтому для того, чтобы в итоге добавить наше устройство в HomeKit нам необходимо «перехватить» ключ, по которому приложение общается с сервером eWeLink. Для этого нам понадобится программа Charles.

1. Скачиваем и устанавливаем программу.

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

3. Далее идем в настройки в Proxy -> Proxy Settings и меняем порт 8888 на 8080
4. Переходим в настройки Proxy -> SSL Proxying Settings и во вкладках SSL Proxying и Client Certificates добавляем строку с настройками
host: eu-api.coolkit.cc
port: 8080

5. Далее идем в настройки подключенного Wi-Fi на вашем ТЕЛЕФОНЕ: Настройки -> Wi-Fi -> (i) около подключенной сети -> Настройка прокси.

6. Выбираем вариант «Вручную» и добавляем:
Сервер: это IP вашего компьютера, на котором установлен Chrales (его можно посмотреть в самой программе Charles (Help->Local IP Address))
Порт: 8080
Аутентификация: оставляем выключенной

7. Далее переходим с телефона по ссылке chls.pro/ssl и устанавливаем сертификат.

8. После чего идем в Настройка -> Основные -> Об этом устройстве -> Доверие сертификатов и переводим переключатель в положение «вкл»

Теперь давайте возьмем небольшую паузу и я расскажу зачем нам всё это надо.

Charles позволяет увидеть весь траффик, который проходит через ваши устройства, а также позволяет увидеть подробности этого траффика. Но т.к. соединение с сервером идет по защищенному протоколу и идет через ваш телефон, то мы сначала добавили телефон в список «прослушиваемых», а потом установили на нем сертификат, который позволяет дешифровывать этот трафик. Благодаря чему на следующем шаге вместо непонятных символов мы будем видеть человекопонятный текст. Если далее в списке запросов вы будете видеть unknown, а в остальных частях запроса непонятные символы, то значит что-то до этого момента было сделано не так.

9. После этого возвращаемся в наш Charles и следим за появлением новых запросов.

10. Для этого опять берем в руки телефон и заходим в приложение

11. После этого в Charles должны появится запросы по типу https://eu-api.coolkit.cc, нажимаем на один из запросов внутри этой группы, переключаемся на вкладку Contents и ищем строку Authorization Bearer asdfasdfasdfasdfasdfasdfasdf

12. То, что идет после Bearer, т.е. «asdfasdfasdfasdfasdfasdfasdf» — это то, что нам нужно! Копируем его и запоминаем.

После этого можно удалять все настройки на телефоне и компьютере, сертификаты и т.д. Больше они нам не понадобятся. Ключ добыт!

3. Установка плагина для HomeBridge

Поздравляю, осталось дело за малым.

1. Устанавливаем плагин

sudo npm -g install homebridge-ewelink

2. Заполняем настройки в конфиге. При этом в качестве параметра authenticationToken заполняем тот самый ключ, который был получен на шаге 2.

{
"platform": "eWeLink",
"name": "eWeLink",
"authenticationToken": "asdfasdfasdfasdfasdfasdfasdf",
"apiHost": "eu-api.coolkit.cc:8080",
"webSocketApi": "eu-ruslong.coolkit.cc"
},

3. Перезагружаем HomeBridge.

После чего все наши устройства из приложения eWeLink появятся в HomeKit.

Важно: при разлогине из приложения eWeLink добытый ключ «слетит» и при последующем логине придется добывать новый ключ. Вряд ли вам просто так захочется разлогиниваться из приложения, но в случае полной переустановки ОС на телефоне или удалении приложения, данный момент помнить достаточно важно.

Ну и под конец — результат моей деятельности.

Подписывайтесь на канал InDaHomeKit в Telegram и Яндекс.Дзен, чтобы у вас всегда было что почитать: новости мира умного дома, обзоры новых устройств, инструкции по подключению.

Приходите в наш чат в Telegram

Так же у нас отличные паблики VK, Facebook, Instagram и Twitter.