Sonoff basic r2 как подключить
Перейти к содержимому

Sonoff basic r2 как подключить

  • автор:

Приложение eWeLink: подключение Sonoff

В рамках данной инструкции рассмотрим всё на примере операционной системы Android.

Установка приложения

Скачайте и установите приложение eWeLink. Для удобства можете воспользоваться QR-кодом.

Зарегистрируйтесь в сервисе eWeLink.

В итоге вы должны увидеть рабочее окно приложения.

Приложение установлено, можно смело переходить к сопряжению с новыми устройствами.

Сопряжение с новыми устройствами

Устройства Sonoff поддерживают разные режимы сопряжения с новыми девайсами. Какой режим подойдет конкретно для вашего модуля, читайте в технической документации конкретно на интересующую модель устройства Sonoff.

Режим быстрого сопряжения

Режим служит для быстрого сопряжения мобильного телефона с новыми устройствами Sonoff. Рассмотрим сопряжение на примере модуля Sonoff TH16.

Переведите физически умное устройство Sonoff в режим быстрого сопряжения. Как перевести в режим быстрого сопряжение конкретно ваш модуль, читайте в технической документации конкретно на интересующую модель устройства Sonoff.

В приложении eWeLink нажмите на иконку + .

В предложенном меню выберите режим Быстрое сопряжение .

В предложенном меню выберите пункт Добавить устройство .

Выберите домашнюю Wi-Fi-сеть, введите от неё пароль и нажмите кнопку Далее .

Начнётся процесс поиска устройства Sonoff и регистрации его на сервере.

Если всё прошло успешно, откроется окно с подтверждением удачного сопряжения. Измените имя устройства по умолчанию на любое удобное, в нашем случае Sonoff Wi-Fi. Далее нажмите на кнопку Готово .

В рабочем окне приложения появится новое устройство Sonoff.А индикаторный светодиод сопряжение загорится синим светом.

Это значит, всё получилось, и можно переходить к примерам работы.

Режим совместимого соединения

Режим служит для сопряжения мобильного телефона с новыми устройствами Sonoff. В режиме совместимого соединения, модуль Sonoff сам создаёт Wi-Fi окружение, через которое проходит дальнейшая настройка. Рассмотрим сопряжение на примере модуля Sonoff TH16.

Переведите физически умное устройство Sonoff в режим совместимого соединения. Как перевести в режим совместимого соединения конкретно ваш модуль, читайте в технической документации конкретно на интересующую модель устройства Sonoff.

В приложении eWeLink нажмите на иконку + .

В предложенном меню, выберите пункт Режим совместимости .

Откроется информационное окно, что модуль необходимо перевести в режим совместимого соединения. Это мы сделали в первом шаге, поэтому смело жмите кнопку Далее .

Выберите домашнюю сеть Wi-Fi, введите от неё пароль и нажмите кнопку Далее .

Далее беспроводной модуль Sonoff сам создаст Wi-Fi-сеть с именем ITEAD-xxxxxxxxxx , где xxxxxxxxxx — уникальный идентификатор устройства. Для продолжения жмите кнопку Подключиться .

Откроется штатное меню телефона со списком доступных Wi-Fi-сетей. Подключитесь к сети Wi-Fi умного устройства Sonoff:

Имя сети: ITEAD-xxxxxxxxxx

Пароль: 12345678

Зайдите обратно в приложение eWeLink. Если предыдущие шаги прошли успешно, то надпись на кнопке Подключиться смениться на Далее . Смело жмите на новоиспечённую кнопку.

Начнётся процесс поиска устройства Sonoff и регистрации его на сервере.

Если сопряжение прошло успешно, откроется окно с подтверждением. Измените имя устройства по умолчанию на любое удобное, в нашем случае Sonoff Wi-Fi. Далее нажмите на кнопку Готово .

В рабочем окне приложения появится новое устройство Sonoff. А индикаторный светодиод сопряжение загорится синим светом.

Это значит, всё получилось, и можно переходить к примерам работы.

Режим сканирования QR-кода

Режим служит для сопряжения мобильного телефона с новыми устройствами Sonoff через сканирования уникального QR-кода, который присвоен каждому модулю. Рассмотрим сопряжение на примере модуля Sonoff Micro.

Переведите физически умное устройство Sonoff в режим сопряжения. Как перевести в режим сопряжения конкретно ваш модуль, читайте в технической документации конкретно на интересующую модель устройства Sonoff.

В приложении eWeLink нажмите на иконку + .

В предложенном меню выберите режим Сканировать QR-код .

Откроется видоискатель камеры.

В продолжении отсканируйте карточку с QR-кодом, которая идёт в комплекте.

Если всё прошло успешно, переходите к следующему шагу.
Если вы утеряли карточку с QR-кодом или не работает камера на смартфоне, введите QR-код вручную.

Откройте штатное меню телефона со списком доступных Wi-Fi-сетей и найдите устройство с именем ITEAD-xxxxxxxxxx , где xxxxxxxxxx — уникальный идентификатор устройства. Сохраните полученный ID у себя в блокноте, в нашем случае ID: 1000f53886x .

Вернитесь в приложение eWeLink и выберите пункт Введите ID устройства вручную .

Введите в окно ввода, полученный ранее ID-устройства и нажмите кнопку Далее .

Выберите домашнюю сеть Wi-Fi, введите от неё пароль и нажмите кнопку Далее .

Далее беспроводной модуль Sonoff сам создаст Wi-Fi-сеть с именем ITEAD-xxxxxxxxxx , где xxxxxxxxxx — уникальный идентификатор устройства. Для продолжения жмите кнопку Подключиться .

Откроется штатное меню телефона со списком доступных Wi-Fi-сетей. Подключитесь к сети Wi-Fi умного устройства Sonoff:

Имя сети: ITEAD-xxxxxxxxxx

Пароль: 12345678

Зайдите обратно в приложение eWeLink. Если предыдущие шаги прошли успешно, то надпись на кнопке Подключиться смениться на Далее . Смело жмите на новоиспечённую кнопку.

Начнётся процесс поиска устройства Sonoff и регистрации его на сервере.

Если сопряжение прошло успешно, откроется окно с подтверждением. Измените имя устройства по умолчанию на любое удобное, в нашем случае Sonoff Wi-Fi. Далее нажмите на кнопку Готово .

В рабочем окне приложения появится новое устройство Sonoff. А индикаторный светодиод сопряжение загорится синим светом.

Умное реле Sonoff Basic: руководство по использованию

Умное реле Sonoff Basic научит ваш телефон управлять бытовыми приборами на расстоянии, а также следить за текущим статусом работы. Больше не нужно вставать с постели, чтобы выключить свет или беспокоиться по дороге на работу о включённом утюге.

Модуль Sonoff Basic способен коммутировать нагрузку с напряжением 100–240 В и током до 10 А.

Видеообзор

Подключение и настройка

Подключение электроники

Для наглядности в качестве примера, соберём макет системы освещения.

Что понадобится
Инструкция по сборке

Возьмите сетевой фильтр. Разрежьте провод питания посередине и зачистите контакты от изоляции.

Провод со стороны вилки подключите к клеммам L и N разъёма Input , а со стороны сетевого фильтра — в клеммы L и N разъёма Output .

Закройте клеммы модуля специальными крышками и зафиксируйте с помощью саморезов.

Подключите вилку к источнику питания бытовой сети 220 В.

Электроника подключена, переходим к программной настройке.

Программная настройка

После сопряжения можете смело переходить к примерам работы.

Сопряжения с новыми устройствами

Умное реле Sonoff Basic поддерживает два режима сопряжения с новыми устройствами:

Режим быстрого сопряжения

Режим служит для быстрого сопряжения мобильного телефона с новыми устройствами Sonoff.

Удерживайте кнопку сопряжения более 5 секунд.

Модуль перейдёт в «Режим быстрого сопряжения». Активацию режима подскажет индикаторный светодиод сопряжения с периодом миганий: один длинный → два коротких → пауза ↵.

Проведите сопряжение с устройством через мобильное приложение eWeLink.

Режим совместимого соединения

Режим служит для сопряжения мобильного телефона с новыми устройствами Sonoff. В режиме совместимого соединения, модуль Sonoff сам создаёт Wi-Fi окружение, через которое проходит дальнейшая настройка

Удерживайте кнопку сопряжения более 5 секунд.

Модуль перейдёт в «Режим быстрого сопряжения». Активацию режима подскажет индикаторный светодиод сопряжения с периодом миганий: один длинный → два коротких → пауза ↵.

Повторно удерживайте кнопку сопряжение более 5 секунд.

Модуль перейдёт в «Режим совместимого соединения». Активацию режима подскажет индикаторный светодиод сопряжения с периодом миганий: все короткие ↵.

Проведите сопряжение с устройством через мобильное приложение eWeLink.

Примеры работы

Пришло время проверить умное реле Sonoff Basic в действии.

Физический переключатель

Изменяйте состояние устройства физическим нажатием на кнопку на модуле Sonoff Basic:

ON: устройство включено.
OFF: устройство выключено.

Беспроводной переключатель

Изменяйте состояние устройства нажатием на иконку кнопки в мобильном приложении:

ON: устройство включено.
OFF: устройство выключено.

Элементы платы

Приоткроем занавес и заглянем на внутренности модуля.

Чип ESP8266EX

За беспроводную технологию в Sonoff Basic Wi-Fi отвечает чип ESP8266. В основе кристалла входит процессор семейства Xtensa — 32-х битный Tensilica L106 с частой 80 МГц с ультранизким энергопотреблением, радиочастотный трансивер с физическим уровнем Wi-Fi IEEE 802.11 b/g/n и блоки памяти SRAM. Мощности процессорного ядра хватает для работы сложных пользовательских приложений и цифровой сигнальной обработки.

Электромеханическое реле

За коммутацию нагрузки отвечает электромеханическое реле. Подробнее про работу реле читайте в нашей документации.

Клеммник питания

Клеммник Input служит для подключения Sonoff Basic к источнику питания от бытовой сети 100–240 В.

Контакт Функция Подключение
L Питание модуля / Фаза Подключите к фазному проводу источника питания.
N Питание модуля / Ноль Подключите к нулевому проводу источника питания.

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

Клеммник нагрузки

Клеммник Output служит для подключения нагрузки к Sonoff Basic. Выходное значение коммутируемого напряжения равно входному напряжению на клеммнике питания.

Контакт Функция Подключение
L Питание нагрузки Подключите к фазному проводу нагрузки.
N Питание нагрузки Подключите к нулевому проводу нагрузки.

Светодиодная индикация

На модуле расположено два светодиода: индикатор нагрузки и индикатор сопряжения.

Индикатор нагрузки

Светодиодный красный индикатор нагрузки подскажет текущее состояния нагрузки.

Состояния светодиода Описание режима
Горит На нагрузку поступает напряжение.
Не горит На нагрузку не поступает напряжение.
Индикатор сопряжения

Светодиодный зелёный индикатор Wi-Fi подскажет текущее cопряжения модуля.

Состояния светодиода Описание режима
Мигает: один длинный → два коротких → пауза ↵ Режим быстрого сопряжения.
Мигает: все короткие ↵ Режим совместимого соединения.
Мигает: один короткий → пауза ↵ Невозможно найти Wi-Fi роутер.
Мигает: два коротких → пауза ↵ Устройство успешно подключено к Wi-Fi роутеру, но отсутствует связь в сеть.
Мигает: три коротких → пауза ↵ Обновление прошивки.
Горит Устройство успешно подключено.

Кнопка сопряжения

Действие Описание режима
Простой клик Обеспечивает ручное включение или выключение нагрузки.
Удержание >5с Переводит модуль в режим быстрого сопряжения с устройствами.
Удержание >5с (повторное) Переводит модуль в режим совместимого соединения.

Умное реле Sonoff BASICR2: руководство по использованию

Умное реле Sonoff BASICR2 научит ваш телефон управлять бытовыми приборами на расстоянии, а также следить за текущим статусом работы. Больше не нужно вставать с постели, чтобы выключить свет или беспокоиться по дороге на работу о включённом утюге.

Модуль Sonoff BASICR2 способен коммутировать нагрузку с напряжением 100–240 В и током до 16 А.

Подключение и настройка

Подключение электроники

Для наглядности в качестве примера, соберём макет системы освещения.

Что понадобится
Инструкция по сборке

Возьмите сетевой фильтр или удлинитель. Разрежьте провод питания посередине и зачистите контакты от изоляции.

Провод со стороны вилки подключите к клемме L и N с подписью Input . А со стороны сетевого фильтра — в клеммы L и N с подписью Output .

Закройте клемму модуля специальной крышкой и зафиксируйте с помощью самореза.

Подключите вилку к источнику питания бытовой сети 220 В.

Электроника подключена, переходим к программной настройке.

Программная настройка

После сопряжения можете смело переходить к примерам работы.

Сопряжения с новыми устройствами

Умное реле Sonoff BASICR2 поддерживает два режима сопряжения с новыми устройствами:

Режим быстрого сопряжения

Режим служит для быстрого сопряжения мобильного телефона с новыми устройствами Sonoff.

Удерживайте кнопку сопряжения более 5 секунд.

Модуль перейдет в «Режим быстрого сопряжения». Активацию режима подскажет индикаторный светодиод сопряжения с периодом миганий: один длинный → два коротких → пауза ↵.

Проведите сопряжение с устройством через мобильное приложение eWeLink.

Режим совместимого соединения

Режим служит для сопряжения мобильного телефона с новыми устройствами Sonoff. В режиме совместимого соединения, модуль Sonoff сам создаёт Wi-Fi окружение, через которое проходит дальнейшая настройка

Удерживайте кнопку сопряжения более 5 секунд.

Модуль перейдет в «Режим быстрого сопряжения». Активацию режима подскажет индикаторный светодиод сопряжения с периодом миганий: один длинный → два коротких → пауза ↵.

Повторно удерживайте кнопку сопряжение более 5 секунд.

Модуль перейдет в «Режим совместимого соединения». Активацию режима подскажет индикаторный светодиод сопряжения с периодом миганий: все короткие ↵.

Проведите сопряжение с устройством через мобильное приложение eWeLink.

Примеры работы

Пришло время проверить умное реле Sonoff BASICR2 в действии.

Физический переключатель

Изменяйте состояние устройства физическим нажатием на кнопку на модуле Sonoff BASICR2:

ON: устройство включено.
OFF: устройство выключено.

Беспроводной переключатель

Изменяйте состояние устройства нажатием на иконку кнопки в мобильном приложении:

ON: устройство включено.
OFF: устройство выключено.

Элементы платы

Чип ESP8285

За беспроводную технологию в Sonoff BASICR2 отвечает чип ESP8285. В основе кристалла входит процессор семейства Xtensa — 32-х битный Tensilica L106 с частой 80 МГц с ультранизким энергопотреблением, радиочастотный трансивер с физическим уровнем Wi-Fi IEEE 802.11 b/g/n и блок Flash памяти на 1 МБ. Мощности процессорного ядра хватает для работы сложных пользовательских приложений и цифровой сигнальной обработки.

Чип ESP8285 расположен на плате управления внутри пластикового бокса.

Электромеханическое реле

За коммутацию нагрузки в Sonoff BASICR2 отвечает электромеханическое реле. Общий принцип работы реле читайте в нашей документации.

Электромеханическое реле расположено на плате управления внутри пластикового бокса.

Клеммник питания

Клеммник Input служит для подключения Sonoff Basic к источнику питания от бытовой сети 100–240 В.

Контакт Функция Подключение
L Питание модуля / Фаза Подключите к фазному проводу источника питания.
N Питание модуля / Ноль Подключите к нулевому проводу источника питания.

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

Клеммник нагрузки

Клеммник Output служит для подключения нагрузки к Sonoff Basic. Выходное значение коммутируемого напряжения равно входному напряжению на клеммнике питания.

Контакт Функция Подключение
L Питание нагрузки / Фаза Подключите к фазному проводу нагрузки.
N Питание нагрузки / Ноль Подключите к нулевому проводу нагрузки.

Светодиодная индикация

На модуле расположено два светодиода: индикатор нагрузки и индикатор сопряжения.

Индикатор нагрузки

Светодиодный красный индикатор нагрузки подскажет текущее состояния нагрузки.

Состояния светодиода Описание режима
Горит На нагрузку поступает напряжение.
Не горит На нагрузку не поступает напряжение.
Индикатор сопряжения

Светодиодный синий индикатор Wi-Fi подскажет текущее cопряжения модуля.

Состояния светодиода Описание режима
Мигает: один длинный → два коротких → пауза ↵ Режим быстрого сопряжения.
Мигает: все короткие ↵ Режим совместимого соединения.
Мигает: один короткий → пауза ↵ Невозможно найти Wi-Fi роутер.
Мигает: два коротких → пауза ↵ Устройство успешно подключено к Wi-Fi роутеру, но отсутствует связь в сеть.
Мигает: три коротких → пауза ↵ Обновление прошивки.
Горит Устройство успешно подключено.

Кнопка сопряжения

Действие Описание режима
Простой клик Обеспечивает ручное включение или выключение нагрузки.
Удержание >5с Переводит модуль в режим быстрого сопряжения с устройствами.
Удержание >5с (повторное) Переводит модуль в режим совместимого соединения.

Расстаемся с облаками на примере Sonoff

В своем «умном доме» я решил, что все устройства должны быть завязаны на локальном сервере, чтобы без интернета он не превратился в тыкву.

Но почти всё так или иначе привязано к облаку. Этот пост о том, как отвязать устройства Sonoff от облаков.

Да, я знаю, что таких постов очень много и уже все рассказали, как прошить Sonoff. Но я хочу показать как можно отвязать от облака Sonoff DW2, не прошивая его. Прошить его в любом случае не получится, ведь там не ESP8266, а другая микросхема.

  • Sonoff Basic, Sonoff 4CH — понадобится паяльник и USB-TTL преобразователь;
  • Sonoff DW2 — собственный сервер.

Sonoff Basic R2

Хорошая игрушка для умного дома, если вам требуется поуправлять отдельным светильником и не хочется менять всю проводку

Первым делом подготавливаем конфиг нужной нам прошивки (актуальная версия находится тут):

Конфиг ESPHome

Copy # Basic Config esphome: name: sonoff_basic_r2 platform: ESP8266 board: esp8285 wifi: ssid: !secret wifi_ssid password: !secret wifi_password logger: api: ota: # Device Specific Config binary_sensor: - platform: gpio id: push_button pin: number: GPIO0 mode: INPUT_PULLUP inverted: True internal: true on_press: # Prevents unintended LED lit states. if: condition: - switch.is_off: relay then: - switch.turn_on: blue_led - switch.turn_on: relay else: - switch.turn_off: relay switch: # The relay switches on the red side of the LED when active. - platform: gpio name: "Sonoff Basic Relay" pin: GPIO12 id: relay on_turn_off: if: condition: - switch.is_on: blue_led then: - switch.turn_off: blue_led # With this we can control the blue side of the LED. - platform: gpio id: blue_led pin: number: GPIO13 inverted: True

Теперь переходим к железу.

  • GND — GND
  • TX — TX (возможно RX, зависит от преобразователя)
  • RX — RX (возможно TX, зависит от преобразователя)
  • 3.3V — 3.3V

Сама инструкция по прошивке, скорее всего, вам уже известна, но для тех, кто делает это впервые, рекомендую ознакомиться с сайтом esphome.io

На этом наша работа с R2 окончена, теперь это ESPHome Sonoff R2.

Переходим к следующему пациенту.

Sonoff 4CH (Pro)

Цифра 5 означает, что это пятый контроллер в моем доме.

Приставка PRO означает, что вам доступны 433 МГц выключатели, но сама микросхема, отвечающая за 433 МГц протокол, распаяна отдельно, и ей управлять не получится, но после прошивки она продолжает работать как раньше.

По моим ощущениям 433 МГц протокол стал работать даже быстрее, чем до прошивки, но это может быть плацебо.

Отлично подходит для управления светом в комнатах. Я использую 3 таких на управлении светом во всем доме и 1 для управления насосами котла отопления.

Принцип прошивки аналогичен Basic R2, отличается лишь конфиг (актуальная версия находится тут):

Конфиг ESPHome

Copy # Basic Config esphome: name: sonoff_4chpror2 platform: ESP8266 board: esp01_1m wifi: ssid: !secret wifi_ssid password: !secret wifi_password logger: api: ota: # Device Specific Config binary_sensor: - platform: gpio pin: number: GPIO0 mode: INPUT_PULLUP inverted: True on_press: - switch.toggle: "relay_1" - platform: gpio pin: number: GPIO9 mode: INPUT_PULLUP inverted: True on_press: - switch.toggle: "relay_2" - platform: gpio pin: number: GPIO10 mode: INPUT_PULLUP inverted: True on_press: - switch.toggle: "relay_3" - platform: gpio pin: number: GPIO14 mode: INPUT_PULLUP inverted: True on_press: - switch.toggle: "relay_4" - platform: gpio pin: number: GPIO0 mode: INPUT_PULLUP inverted: True name: "Sonoff 4CH Pro Button 1" - platform: gpio pin: number: GPIO9 mode: INPUT_PULLUP inverted: True name: "Sonoff 4CH Pro Button 2" - platform: gpio pin: number: GPIO10 mode: INPUT_PULLUP inverted: True name: "Sonoff 4CH Pro Button 3" - platform: gpio pin: number: GPIO14 mode: INPUT_PULLUP inverted: True name: "Sonoff 4CH Pro Button 4" - platform: status name: "Sonoff 4CH Pro Status" switch: - platform: gpio name: "Relay 1" pin: GPIO12 id: "relay_1" - platform: gpio name: "Relay 2" pin: GPIO5 id: "relay_2" - platform: gpio name: "Relay 3" pin: GPIO4 id: "relay_3" - platform: gpio name: "Relay 4" pin: GPIO15 id: "relay_4"

Заливаем прошивку и радуемся отвязанному ESPHome Sonoff 4CH (Pro) Max Super Digital.

Настало время самого сложного для меня пациента.

Sonoff DW2

Это единственное устройство у которого был доступ в интернет до сегодняшнего дня, у всех остальных «умных устройств» интернет отключен для безопасности.

В интернете я не нашел, как локально работать с датчиком двери, поэтому пришлось разбираться самому.

Начнем с принципа работы: DW2 подключается к вашей Wi-Fi сети и ждет прерывания от «открытия» или «закрытия» двери, в этот момент отправляется запрос на сервер eu-api.coolkit.cc, а уже с него вы получаете всю информацию.

Довольно сложная схема для простого датчика, подумал я и полез в Wireshark. Подменив DNS запись для домена eu-api.coolkit.cc на свой IP, я заметил обращение на 8080 порт, ура, они используют HTTP — значит, это победа! Нет, они используют HTTPS

Запустив nginx на своем сервере, я обнаружил странные логи такого вида:

Логи nginx

192.168.65.1 - - [29/Oct/2023:16:36:50 +0000] "\x16\x03\x01\x02\x00\x01\x00\x01\xFC\x03\x03i\xB5\x19G\xB1\xB2X>\xA3L\xCF\x99\x11\x84 \x00\xCE\x88\xB2S\xBC\xFC$\x86bp\xDA\xFA*\xEFl\xC8 \xB5\x12t\xDC\x13\x80W\x8E\xB1\xD5*\x00\x9E\xAF\xABzz\xEFpx\x92\xFCmY0\x03\xB6a\xE9\xF1\xC5\xC5\x00*" 400 157 "-" "-" "-" 192.168.65.1 - - [29/Oct/2023:16:36:53 +0000] "\x16\x03\x01\x02\x00\x01\x00\x01\xFC\x03\x03\x0B;'hR\x90\xAAY\x06Z\x82c6\xEC\x02p1\xF0\xEFF\xF5\xF3j\x99\x08r\xC1\xA2\x0E\xB6n\xD4 \xE5\x90\x1E\xA7N\xDC\xF3\xCA\xEA\x8C\x8Af5\xC4k\x95\x80W\x8A

Интересно, но ничего не понятно.

А что если это HTTPS, ведь первые байты у всех запросов одинаковые?

Да, это HTTPS, но на 8080 порту, странно, но ладно.

Конечно, я расстроился, ожидая SSL Pinning или шифрования данных внутри запроса, но нет, никакого шифрования нет и сертификат Sonoff DW2 не проверяет.

Берем любой сертификат, подсовываем его в nginx и запускаем php-fpm для удобства разработки.

И вот мы получаем успешный POST запрос:

Лог nginx

192.168.65.1 - - [29/Oct/2023:19:39:55 +0000] "POST /api/user/device/update HTTP/1.1" 200 5 "-" "-" "-" 
Array ( [deviceid] => ********** [d_seq] => 1546272314 [params] => Array ( [switch] => off [battery] => 2.202 [fwVersion] => 1000.2.925 [type] => 3 [chipID] => ********** [mac] => ********** [rssi] => -83 ) )

Отлично, мы получили информацию с датчика. Пишем скрипт-обработчик и добавляем перенаправление DNS запроса на свой сервер. Я использую Adguard Home, тут есть пункт «Перезапись DNS-запросов», в нем добавляем домен eu-api.coolkit.cc с вашим IP. Не забудьте в DHCP указать первым DNS свой Adguard Home.

Далее добавляем в конфиг следующие строки Home Assistant, чтобы появились новые объекты:

configuration.yaml

sensor: - platform: template sensors: entry_door_battery_voltage: unique_id: 5bc4eb632179f65962327215e2acf9e18d5a83f1 device_class: voltage unit_of_measurement: 'V' value_template: '' entry_door_rssi: unique_id: 053082ee1f19d9ca6a58a0cdb9061ffd87de2fc4 device_class: signal_strength unit_of_measurement: 'dBm' value_template: '' binary_sensor: - platform: template sensors: entry_door: unique_id: 130e755dcb5dfa0696f0835fb73f1307c00e6c76 device_class: door value_template: ''

и получаем долгосрочный токен в HA, его можно выпустить в самом низу страницы /profile

Для удобства и быстрого старта я использую Docker.

Конфигурация nginx

upstream php-sonoff-handler < server php:9000; >server < listen 8080 ssl; server_name eu-api.coolkit.cc; ssl_certificate /etc/nginx/ssl/servercert.pem; ssl_certificate_key /etc/nginx/ssl/serverkey.pem; ssl_dhparam /etc/nginx/ssl/dhparams.pem; location / < include fastcgi_params; fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html/project/sonoff.php; fastcgi_pass php-sonoff-handler; fastcgi_intercept_errors on; fastcgi_request_buffering off; fastcgi_max_temp_file_size 0; >>

Конфигурация Docker Compose

version: '3' services: php: container_name: php image: "php:8.2-fpm" volumes: - ./php:/usr/share/nginx/html/project restart: unless-stopped nginx: container_name: nginx image: "nginx:latest" volumes: - ./nginx:/etc/nginx:ro restart: unless-stopped ports: - "8080:8080"

Добавляем скрипт в /php/sonoff.php.

Скрипт позволяет добавлять несколько датчиков, достаточно указать каждому свой ID.

Вместо ******* укажите deviceid своего устройства. Его можно узнать в приложении ewelink, пункт «ID устройства».

PHP скрипт

 [ 'id' => 'entry_door', 'name' => 'Входная дверь', 'v_name' => 'Входная дверь (Напряжение)', 's_name' => 'Входная дверь (Сигнал)', ], ]; $data = json_decode(file_get_contents('php://input'), true); $currentDevice = $listDevices[$data['deviceid']]; sendData(sprintf('binary_sensor.%s', $currentDevice['id']), [ 'state' => $data['params']['switch'], 'attributes' => [ 'friendly_name' => $currentDevice['name'], 'device_class' => 'door', ], ]); sendData(sprintf('sensor.%s_battery_voltage', $currentDevice['id']), [ 'state' => $data['params']['battery'], 'attributes' => [ 'friendly_name' => $currentDevice['v_name'], 'state_class' => 'measurement', 'unit_of_measurement' => 'V', 'device_class' => 'voltage', ], ]); sendData(sprintf('sensor.%s_rssi', $currentDevice['id']), [ 'state' => $data['params']['rssi'], 'attributes' => [ 'friendly_name' => $currentDevice['s_name'], 'state_class' => 'measurement', 'unit_of_measurement' => 'dBm', 'device_class' => 'signal_strength', ], ]); function sendData($sensor, $postData) < $url = HA_API_URL . $sensor; // for sending data as json type $fields = json_encode($postData); $ch = curl_init($url); curl_setopt( $ch, CURLOPT_HTTPHEADER, [ 'Content-Type: application/json', // if the content type is json 'Authorization: Bearer ' . HA_TOKEN, // if you need token in header ] ); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($ch, CURLOPT_POSTFIELDS, $fields); $result = curl_exec($ch); curl_close($ch); >

Запускаем docker и проверяем датчик в панели HA, информация отправляется только при открытии/закрытии двери.

Для удобства я создал репозиторий с примерами кода и конфигурации — GitHub

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *