SONOFF: API ПРОТОКОЛ РЕЖИМА DIY* УСТРОЙСТВ
Краткий обзор режима SONOFF DIY
Режим Sonoff DIY разработан для пользователей и разработчиков домашней автоматизации IoT, которые хотели бы управлять устройством SONOFF с помощью существующей платформы домашней автоматизации с открытым исходным кодом или локального HTTP-клиента вместо приложения eWeLink. В режиме DIY, когда устройство подключено к сети, оно будет публиковать свои услуги и возможности в соответствии со стандартом mDNS / DNS-SD. Перед публикацией службы устройство включило HTTP-сервер на порту, указанном в записи DNS SRV. Устройство предоставляет возможности через RESTful API на основе HTTP. Пользователи могут получать информацию об устройстве, управлять устройством, отправляя запрос HTTP API.
*DIY — Самодельничество, или «сделай сам» (англ. DIY — Do It Yourself), — вид деятельности, при котором вы работаете своими руками. В последнее время стала популярна рубрика DIY поделки (источник).
Устройства SONOFF DIY с поддержкой RESTful API
Класс продукта | Тип устройств | Устройство | Примечание к версии прошивки |
---|---|---|---|
Одноканальные устройства DIY | переключатель | BASICR3 RFR3 MINI | Прошивка 3.5.0 относится к протоколу API v2.1 Прошивка 3.3.0 относится к протоколу API v1.4 |
Одноканальное устройство DIY | диммер | D1 | Прошивка 3.5.0 относится к протоколу API v2.1 |
Режим eWeLink и режим DIY
Устройства SONOFF могут работать либо в режиме eWeLink, либо в режиме DIY. В режиме eWeLink устройство подключено к облаку eWeLink и управляется приложением eWeLink APP (ссылка), а в режиме DIY устройство публикует свои возможности службы и управляется запросом HTTP Post.
Шаги входа в режим DIY и подключения к существующей сети Wi-Fi:
- Вход в режим совместимого сопряжения (AP) SONOFF DIY осуществляется путем длительного нажатия кнопки сопряжения в течение 5 секунд после включения.

2. Подключение точки доступа ITEAD-XXXXXXXXXX с паролем по умолчанию 12345678 через мобильный телефон или ПК.

3. Введите в адресной строке браузера http://10.10.7.1/
4. Заполните у существующей сети Wi-Fi SSID и пароль.
5. Вход в режим DIY будет выполнен успешно с подключением к выбранной сети WiFi

Пример для одноканального устройства SONOFF DIY (BASICR3, RFR3, MINI) входа в режим DIY:
- Включить;
- Нажмите и удерживайте кнопку в течение 5 секунд, чтобы войти в режим совместимого сопряжения (AP). Совет пользователю: если устройство было сопряжено с приложением eWeLink, необходимо выполнить сброс устройства, удерживая кнопку сопряжения в течение 5 секунд, затем нажмите еще 5 секунд для входа в режим сопряжения (AP)
- Светодиодный индикатор будет постоянно мигать.
- В настройках WiFi мобильного телефона или ПК будет найдена точка доступа устройства с именем ITEAD-XXXXXXXXXX , подключите ее с паролем по умолчанию 12345678
- Откройте браузер и зайдите в http://10.10.7.1/
- Затем введите SSID WiFi и пароль сети, к которой устройство должно было подключиться.
- Успешно, теперь устройство находится в режиме DIY.
Пример для одноканального диммера SONOFF DIY (D1) входа в режим DIY:
- Включить;
- Нажмите и удерживайте кнопку сопряжения на пульте дистанционного управления RM433 в течение 5 секунд, чтобы войти в режим совместимого cопряжения (AP). Советы пользователя: если устройство было сопряжено с приложением eWeLink, необходимо выполнить сброс устройства путем длительного нажатия кнопки сопряжения на пульте дистанционного управления RM433 в течение 5 секунд. секунд, затем нажмите еще 5 секунд для входа в режим совместимого сопряжения (AP)
- Регулируемый свет, подключенный к D1, будет непрерывно мигать (быстро перейти со 100% на 1%, с 1% на 100%…)
- Шаги с 4 по 7 такие же, как в примере с одноканального устройства/выключателя DIY.
Примечание:
- Пользовательские настройки будут очищены после смены режима работы с одного на другой.
- Маршрутизатор Wi-Fi или точка доступа должны работать на частоте 2,4 ГГц и поддерживать службу mDNS.
- Значение мигания светодиода: Быстрое однократное мигание — устройство не подключается к сети WiFi; Быстрое двойное мигание — устройство успешно подключается к Wi-Fi, его можно обнаружить через mDNS и ответить на запрос из сети LAN.
- Когда устройство уже находится в режиме DIY, страница конфигурации Wi-Fi http://10.10.7.1/ становится недоступной.
- Если был введен неправильный SSID или пароль Wi-Fi, устройству не удастся подключиться к определенной сети Wi-Fi, с механизмом тайм-аута 20 секунд устройство перестанет подключаться к сети Wi-Fi. Повторите попытку, выполнив шаги 1-7.
- Официальное обновление прошивки доступно только в приложении eWeLink.
Механизм обнаружения LAN в режиме DIY
Обнаружение LAN в режиме DIY реализует протокол IETF Multicast DNS и протокол обнаружения служб на основе DNS.
Протокол управления устройством RESTful API (HTTP POST)
Устройство должно открыть HTTP-сервер в порту, указанном в записи DNS SRV, прежде чем устройство опубликует свои службы; устройство публикует возможности через RESTful API на основе HTTP. Из-за безопасности локальной сети и ограниченной вычислительной мощности устройства в этом документе рекомендуется, чтобы устройство предоставляло интерфейс HTTP вместо интерфейса HTTPS.
Тип устройства и версия интерфейса API для каждого продукта показаны ниже:
Формат запроса и ответа RESTful API устройства SONOFF DIY
Формат запроса RESTful API устройства
URL: http: // [ip]: [port]/[path]
Формат возвращаемого значения: json
Метод HTTP: POST
Пример запроса RESTful API к устройству, работает в методе POST и теле запроса в формате JSON.
{
"deviceid" : "100000140e" ,
"data" :
{
"switch" : "on"
}
}
Ответ RESTful API устройства
Пример ответа RESTful API к устройства. работает с кодом ответа HTTP 200 OK и телом ответа в формате JSON.
{
"seq" : 2 ,
"error" : 0 ,
"data" : {
"signalStrength" : -67
}
}
Описание возможных ответов
Атрибут | Тип | Обязательно | Описание |
seq | число | Да | Порядок обновления статуса устройства (также порядок обновления записи TXT) |
error | число | Да | Успешно ли устройство устанавливает указанную информацию об устройстве. — 0: успешно — 400: операция завершилась неудачно, и запрос был отформатирован неправильно. Тело запроса не является допустимым форматом JSON. — 401: операция завершилась неудачно, запрос был несанкционированным. На устройстве включено шифрование информации об устройстве, но запрос не зашифрован. — 404: операция завершилась неудачно, устройство не существует. Устройство не поддерживает запрошенный идентификатор устройства. — 422: операция завершилась неудачно, параметры запроса недействительны. Например, устройство не поддерживает настройку конкретной информации об устройстве. |
data | Объект | Да | Тип объекта, он возвращает конкретную информацию об устройстве при проверке информации об устройстве |
Примечание:
- Из-за вычислительных возможностей устройства временной интервал каждого HTTP-запроса должен быть не менее 200 мс.
- Порт по умолчанию: 8081
- 1С и Умный Дом. Управление голосом 1С - 4 января, 2021
- Встречаем Google Home — начало (1) - 27 декабря, 2020
- Как запустить процедуры на восходе закате солнца в Google Assistant на 1-2 - 26 декабря, 2020