После обновления приложение mihome (12.12.2018), появились не только Команды Siri Shortcuts, но и возможность добавить Устройства сторонних производителей, а именно появился пункт добавления устройств Sonoff. Я конечно же не мог пройти мимо такого обновления. Поискав дома и не обнаружил реле Sonoff со стоковой прошивкой (если не сделали backup вернуть в сток уже не удастся), я поехал в магазин и купил новое в трое дороже. А чтобы Вы не столкнулись с такой проблемой, его всегда можно приобрести по этой ссылке.
Неудачное добавление eWeLink Sonoff в Xiaomi miHome
Приехавши домой, установил приложение eWeLink, добавил свое новое реле. И начал пытаться синхронизировать eWeLink и miHome. Результат меня не порадовал. Sonoff добавился в eWeLink, дальше я открыл miHome -> Настройки -> Функции лаборатории -> Устройства на сторонних платформах -> Добавить -> Первый пункт у нас приложение eWeLink -> Привязка учетной записи -> ввожу свой логин и пароль от eWelink, авторизация происходит, но устройство не синхронизируется.
Как убрать привязку к региону в MiHome
Естественно я нажимал «Синхронизация устройства», обновил Sonoff до последней версии, несколько раз удалял его и добавлял заново. Результат был один, miHome не обнаруживает устройства подключенные к eWelink.
Возможно выйдет обновления устройств Sonoff, после чего произойдет спаривание, возможно нужно какое-то другое устройство не Basic. Загадку я так и не разгадал, в интернете информации не нашел вообще.
Update 4.15.101, от 6.04.19г. подробнее тут.
Добавление eWeLink Sonoff в GoogleHome
Расстроившись, я решил добавить Sonoff хоть куда-нибудь. Выбор был не велик. GoogleHome!
Открываем GoogleHome -> Добавить -> Настроить устройства -> Ранее настроенные устройства -> Smart We Link -> Логинимся. После успешной авторизации, Sonoff появился в приложении GoogleHome, только почему-то обозвал себя Розеткой.
Добавление eWeLink Sonoff в Apple HomeKit через HomeBridge
Конечно же Вы спросите как обстоят дела с HomeKit, а очень просто. Sonoff очень легко добавляется в HomeKit по средствам HomeBridge. Нам всего лишь необходимо получить token и установить плагин для HomeBridge.
Ну а теперь обо всем по порядку.
Получение token на устройствах Sonoff
Для получения token нам необходима программа «Charles» для компьютера, скачать её Вы сможете по ссылке.
Скачиваем, устанавливаем, запускаем.
Далее на телефоне:
- Настройки -> Wi-Fi -> (i) -> Настройка прокси -> Вручную.
- Открываем Safari и переходим по ссылке chls.pro/ssl -> Разрешить
- Настройка -> Основные -> Профили и управл. устройства -> Charles Proxy -> Установить
- Настройка -> Основные -> Об этом устройстве -> Доверие сертификатов -> Charles Proxy -> вкл.
Возвращаемся к компьютеру. В приложении Charles должен появится новый запрос с адресом https://eu-api.coolkit.cc:8080, разворачиваем -> api -> user, открываем любой запрос и открываем вкладку Contents
Ищем строку Authorization Bearer jdfsjfqbcxzcmlzxokqhdnflfsmdkf, где: jdfsjfqbcxzcmlzxokqhdnflfsmdkf и есть наш заветный token
Если запрос https://eu-api.coolkit.cc:8080 не появляется, открываем приложение eWeLink на телефоне и несколько раз вкл/выкл реле Sonoff
Установка и настройка Plugins для HomeBridge
Подключаемся по ssh к нашему HomeBridge и пишем в командной строке
sudo npm -g install homebridge-ewelink
Далее переходим к редактированию конфига и добавляем наш eWeLink
Перезагружаем HomeBridge и наслаждаемся
Важно: Если перелогиниться в приложении eWeLink, token изменится, процедуру получения проходим повторно.
P.S. Если у Вас есть хоть какая-то информация по интеграции Sonoff в miHome, напишите мне в телеграмм или в комментарии.
Также не забываем перед прошивкой любых устройств, делайте backup стоковых прошивок.
Источник: sprut.ai
Интеграция блоков реле Sonoff basic в систему умного дома на базе Domoticz
Добрый день, коллеги!
В этой статья я хотел бы обобщить опыт, полученный при интеграции блоков реле sonoff basic с domoticz. Это не столько статья о том, как щелкать реле sonoff с помощью domoticz, сколько описание процесса подключения esp в умный дом в целом. Вся инфраструктура будет работать без использования сторонних сервисов.
Сначала о покупке.
Первоначально лот был заказан на али у продавца: Chinese Projector Store.
Был сразу получен трек и на 3-4 недели о заказе я забыл. Вспомнил, когда увидел, что в течении месяца трек никуда не сдвинулся. Написал продавцу по этому поводу с вопросом — не перепутал ли он номер. Продавец как обычно ответил, что все ок, не переживай, логистов побеспокою. Тем временем, начали приходить посылки, заказанные позже этого лота.
Через неделю снова написал продавцу и получил аналогичный ответ, после чего открыл спор на полный возврат. Таким образом, рекомендую данный магазин обходить стороной. Возможно, это только мой негативный опыт.
После возврата заказ был сделан в магазине “minina Store” с русского склада. Никаких замечаний, через 4 дня посылка была у меня в СпБ.
Я не гонялся за самым дешевым вариантом, так что информация о покупке тут чисто справочная.
Теперь об инфраструктуре.
В продуктиве у меня трудится domoticz на Raspberry pi3. К нему подключены шлюз Xiaomi + датчики температуры и кнопки. Лампы YeeLED я взял скорее для теста, пока не придумал куда их применить по цене/качеству, но включается красиво. Датчик открытия двери Xiaomi у меня используется в виде датчика протечки на кухне.
Также к RPi3 подключена Arduino Mega 2560 прошитая в RFLink с приемником и передатчиком, для управления существующими светильниками по 433Mhz и получения данных с погодных станций (моей и соседских :)). Ее сборка и работа — тема отдельной статьи.
Задействованы даже GPIO Rpi3. Они включают светодиодную подсветку в шкафу и у зеркала в гостинной, т.к. малинка стоит в том же шкафу и нет проблем с коммутацией. Есть самодельный блок ESP8266 для контроля открытия двери и передачи информации с датчика температуры и давления. В качестве выключателей во всем доме используются безпроводные кнопки из набора Xiaomi/Aura.
Опытный читатель сразу скажет, что RFLink в этой инфраструктуре для управления нагрузкой не самая лучшая идея, т.к. нет обратной связи от устройств и не известно текущее состояние приборов. Как раз для замены блоков реле, управляемых по 433Mhz и были выбраны блоки Sonoff.
В качестве тестового полигона я буду использовать OrangePiZero 512мб/4гб со свежим Armbian(5.32.170803) и Domoticz (V3.8153). Нам также понадобится Sonoff Basic, USB2Serial (я использую Arduino Nano или UNO), полевой транзистор (MOSFET, например IRL2203NPBF), кусок светодиодной ленты, кусок провода с вилкой 220В, и блок питания на 9-12В/1А.
Выбор прошивки.
С платой ESP8266 я знаком уже наверное 2 с лишним года, практически с момента ее выхода. Был образец ESP01, потом ворох ESP07, потом еще штук 5 ESP12e. Плата хороша во многих вопросах и совсем не дорогая. Но были и недостатки: первые образцы были представлены в виде распаянного чипа, без обвязки по питанию и периферии, что несколько затрудняло первое знакомство.
Дополнительная информация
Для запуска нужно было городить переходники, конвертировать 5в — 3.3в и т.д.
Дополнительная информация
Отсутствовали готовые прошивки и интеграция в среду Arduino IDE. На данный момент все эти этапы позади и существует огромное количество плат для разработки, готовых прошивок и библиотек. Оставалась последняя преграда для удобного использования в быту — встроенное питание от сети. Sonoff решил все эти проблемы разом, упаковав в небольшой корпус источник питание 220в -> 5в -> 3.3в, чип ESP8266 с реле и даже оставив еще один свободный GPIO.
На борту имеется микросхема памяти на 1мб, и выведены контакты для подключения к чипу: 3.3v, Rx,Tx, GND, GPIO14. Так же полезно будет знать, что реле управляется через GPIO12, кнопка через GPIO0, а светодиод подключен к инвертированному GPIO13. Для любителей особых приключений, есть возможность подпаяться непосредственно к чипу и вывести больше GPIO.

Не ради рекламы будет сказанно, но свои первые образцы устройств на ESP8266 я в скором времени запускал на прошивке уважаемых товарищей с wifi-iot, тогда еще homes-smart. Автор прошивки неистово добавлял в нее функционал, который просили пользователи, чем заслужил мое глубочайшее уважение. До сих пор я считаю эту прошивку наиболее функциональной и гибкой, не смотря на то, что она является “частично” платной. Вот пример действующего дома образца:
Дополнительная информация
Сейчас она несколько потеряла актуальность — все можно собрать самому в среде ArduinoIDE или найти готовую прошивку, воспользоваться красивыми сервисами типа Blynk/IoT Manager.
Дополнительная информация
Для целей же интеграции с Domoticz, я выбрал прошивку ESPEasy. Авторы заявляют о встроенной поддержке Domoticz, плюс она полностью бесплатна и поддерживает кучу периферии “из коробки”, язык внутренних сценариев, все это может быть полезно в будущем.
К слову, полную совместимость с Domoticz я не проверял :), т.к. использовал http команды с сервера для управления GPIO, а не цеплял ESP с этой прошивкой в качестве клиента (не передавал на сервер показания температуры, состояния gpio это вот все). Если в этом вопросе появятся подводные камни, можно будет обсудить их в комментариях.
Итак, взять прошивку и прочитать что она из себя представляет можно тут.
Со страницы я скачал стабильный 120 билд, вместе с ним в архиве идет прошивальшик (вариант для linux тоже есть на сайте). Сама прошивка поставляется в 3х версиях 512/1024/4096 кб в зависимости от объема памяти на чипе. Напоминаю, что мы располагаем 1мб памяти в sonoff.
Для прошивки соберем стенд из рабочего ПК на базе Win7/10, конвертера USB2Serial и пары проводов. БУДЬТЕ ВНИМАТЕЛЬНЫ: в sonoff отсутствует гальваническая развязка между силовым блоком и логикой. ОБЯЗАТЕЛЬНО ОТКЛЮЧИТЕ УСТРОЙСТВО ОТ СЕТИ 220В перед прошивкой! Напоминаю расположение контактов на гребенке.
Если вы используете для прошивки arduino, то не забудьте отключить контроллер, соединив ножки rst и gnd, так же напоминаю, что в arduino нет необходимости перекрещивать Rx и Tx при подключении к ним устройства, соединяйте напрямую RX — RX, TX-TX.
Перед подачей питания на гребенку sonoff зажмите кнопку GPIO0, чтобы активировать режим прошивки.
Для запуска прошивки нужно запустить командный файл «flash.cmd», который идет в комплекте. Указать ему следующие параметры: com port адаптера USB2Serial, размер прошивки:1024, версию билда:120. Например так:
После чего, если все было сделано правильно, начнется запись прошивки. По окончании будет выдано сообщение flash complete, нажмите любую клавишу. Если прошивка не пошла — проверьте качество питания с адаптера, корректность подключения линий Rx-Tx и не забудьте про нажатие кнопки GPIO0 перед включением.
После прошивки, можно отключить контакты с гребенки, закрыть корпус и подключить модуль к питанию 220в.
При первоначальном запуске модуля появится wifi сеть «ESP_0», пароль сети “configesp”. К ней нужно подключиться, после чего вы будете автоматически перенаправлены на страницу настроек, где необходимо ввести сведения о Вашей существующей wifi сети, к которой следует подключить sonoff в качестве клиента.
После первоначальной настройки и подключения к существующей сети, я рекомендую установить пароль администратора на устройстве и установить статический IP (либо на устройстве, либо в опциях DHCP сервера). Настоятельно НЕ рекомендую включать Wifi Status Led в разделе Hardware, у меня при этом устройство становится очень нестабильным. В принципе, пока более никаких настроек на sonoff не потребуется и можно отложить его в сторону, оставив включенным.
К слову, если у Вас возникли проблемы
К слову, если у Вас возникли проблемы при настройке ESPEasy и вы указали неверный пароль сети или неверный ip адрес, то устройство можно вернуть к “заводским настройкам”, подключившись к гребенке через USB2Serial и отправив устройству команду “reset”.
Настройка Domoticz.
Для управления устройствами на базе чипа ESP8266 обычно используют 2 протокола: это либо команды по http(и json), либо mqtt. MQTT для работы и тестирования требует установки специального ПО — клиента и сервера mqtt. Там нет ничего сложного, но мне все же ближе http, плюс get запросы умеет генерировать любая программа для автоматизации, практически на любой платформе.
Список поддерживаемых со стороны ESPEasy команд можно найти тут. Те, что можно запустить по http входят в класс “plugin”.
Таким образом, мы наконец-то добрались до чего-то более менее интересного, ради чего все затевалось. Чтобы щелкнуть реле мы должны подать в сеть команду для включения:
http://—ip-sonoff—/control?cmd=GPIO,12,1
А для выключения:
http://—ip-sonoff—/control?cmd=GPIO,12,0
Общий смысл команды такой: устанавливаем значение типа GPIO, номер pin, значение.
Попробуем облагородить это через domoticz. Зайдем в веб-интерфейс системы и перейдем на вкладку настроек Setup-Hardware, создадим устройство Dummy, обзовем его ESP01Relay, добавить.
Далее на этой же странице, на новом устройстве, нужно нажать кнопку Create Virtual Sensors, обзовем устройство так же ESP01Relay, выберем тип Switch.
И наконец, переходим на вкладку Switches находим наш новый девайс и жмем edit, в поля On Action и Off Action вставляем заветные значения.

Сохраняем. Кликаем на лампочку и наслаждаемся щелчками реле.
В целях автоматизации могут понадобиться также команды отправки импульсов на sonoff, например для включения освещения по движению. Команда:
http://—ip-sonoff—/control?cmd=LongPulse,12,1,60
включит нагрузку через реле на 1 минуту. Подробнее с командами GPIO можно ознакомиться тут.
Развитие решения.
На мой взгляд простые щелчки реле не заслуживают отдельной статьи. Поэтому мы будем превращать sonoff basic за 5$ в wifi диммер для светодиодной ленты, которые стоят обычно много дороже. Для этого нам понадобится одно простое устройство — полевой транзистор за 50р.
Мы задействуем свободный выход GPIO14 на Sonoff. Схема подключения будет следующая:
Соответственно, вместо D10 и GND ардуины, нужно использовать GPIO14 и GND с гребенки sonoff.
Со стороны Domoticz нам придется исполнить некоторый костыль. Дело в том, что стандартный диммер регулятор в Domiticz отдает значения от 1 до 100, в то время как диммер в ESPEasy работает со значениями от 1 до 1024. Придется их согласовать. Начнем. Создадим новую пустышку, с главной страницы domoticz переходим по меню: setup-hardware-dummy. Назовем его ESP01dimmer (тут название важно).
Добавим.
Создадим из этого устройства виртуальный диммер — Create Virtual Sensors и назовем его так же ESP01dimmer, тип Switch. Переходим на вкладку Switches находим наш новый девайс и жмем edit, switch type меняем на dimmer.
Плюс ко всему, нам нужна будет пользовательская переменная, чтобы запоминать состояния диммера. Создадим ее: setup — more options — user variables. Назовем ее “dimm”, тип “integer”, значение, например: “200”.

Далее, начинаем согласовывать уровни. На сколько я понял из интернетов, наиболее простой способ создать event для этого виртуального устройства. Для этого пройдем по ssh на сервер, где запущен domoticz. Нужно попасть в папку где установлен Domoticz и далее /scripts/lua, в этой папке нужно создать файл script_device_ESP01dimmer.lua с содержимым:
commandArray = <> DomDevice = ‘ESP01dimmer’; IP = ‘—sonoff-ip—‘; PIN = «14»; if devicechanged[DomDevice] then if(devicechanged[DomDevice]==’Off’) then — print («OFF dimm = «..uservariables[‘dimm’]); CalcValue = 0; else if(devicechanged[DomDevice]==’On’) then DomValue = uservariables[‘dimm’]; — print («ON dimm = «..uservariables[‘dimm’]); CalcValue = DomValue; else — print(«Other»); DomValue = otherdevices_svalues[DomDevice]; CalcValue = DomValue*10; commandArray[‘Variable:dimm’] = tostring(CalcValue); — print («dimm Level = «..uservariables[‘dimm’]); end end runcommand = «curl http://» .. IP .. «/control?cmd=PWM,» ..PIN.. «,» .. CalcValue .. » «; os.execute(runcommand); print(«PWM calculated value= «..CalcValue); end return commandArray
Поясню, что он делает.
Во-первых, в скрипте необходимо указать ip адрес sonoff (IP) и тот пин (PIN), к которому подключен транзистор. Логика такая: если в интерфейсе нажали кнопку “выключить”, запоминаем значение бегунка в переменную dimm и выставляем “0” для отправки по сети в sonoff. Если была нажата кнопка “ON”, то вспоминаем значение бегунка из переменной и выставляем его к отправке sonoff. Если же пользователь подвигал бегунок, то берем его значение из Domoticz, умножаем на 10 и выставляем к отправке в sonoff. Какое бы из трех действий ни выполнил пользователь, мы направляем в sonoff команду вида:
http://—sonof-IP—/control?cmd=PWM,PIN,значение диммера.
Разобрались. Теперь перезапускаем Domoticz и пробуем управлять светодиодной лентой.
Управление без Domoticz.
Удаленное управление это прекрасно. Плюс можно прикрутить кнопки Xiaomi и управлять всем освещением с одной клавиши, это очевидные плюсы. Но что если Ваши кнопки Xiaomi еще в пути из Китая? Об этом позаботились разработчики ESPEasy. Контроллер умеет обрабатывать простые сценарии без комманд от большого брата — Domoticz.
Тут, конечно, надо отдавать себе отчет, что обратную связь мы еще не настраивали и такое управление будет в некоторых случаях неожиданным для системы управления, и она отобразит неверное состояние прибора, будьте внимательны.
Итак, на модуле sonoff нам доступна одна кнопка, используем ее как орган управления.
Первым делом, нам потребуется активировать в ESPEasy механизм правил. Заходим по http на sonoff, выбираем раздел Tools-Advanced-Rules (поставить галочку).
Появится новый пункт меню Rules. Но мы сначала заглянем в раздел: Devices, напротив первого пункта таблицы жмем Edit. Выберем типом устройства Switch input. Имя: “button”. IDX / Var:1(число); 1st GPIO: GPIO-0. Switch Button Type: Push Button Active Low. И в самом низу: Value Name 1: “state”.
Сохраняем.
Теперь кликаем на Rules в основном меню и видим окно редактора. Вставляем следующий код:
on button#state do if [button#state]=0 PWM,14,0 gpio,13,1 else PWM,14,1024 gpio,13,0 endif endon
Думаю очевидно, что делает код. На изменение состояния кнопки, дается команда: выключить диммер, выключить светодиод или наоборот: включить диммер, включить светодиод. При особом желании можно реализовать ступенчатое изменение мощности. Подробнее о правилах можно прочитать тут.
Заключение.
На этой ноте хотел бы завершить свой рассказ о WiFi реле sonoff в инфраструктуре умного дома на базе Domoticz. Я постарался наиболее подробно расписать действия, чтобы у новичков была возможность повторить все эти манипуляции и что более важно, чтобы эти манипуляции стали понятны. Все вопросы и нестыковки можно обсудить в комментариях.
Планирую купить +104 Добавить в избранное Обзор понравился +33 +77
- sonoff,
- Sonoff basic,
- радиодетали и электронные компоненты
- 08 августа 2017, 18:47
- автор: dilligaf
- просмотры: 68583
Источник: mysku.club
Как подключить к Алисе (Яндекс.Станции) умное устройство Sonoff?
В мае 2019 Яндекс выкатил большое обновление для Алисы, в частности интеграцию с элементами умного дома Xiaomi, к сожалению устройства Sonoff/eWelink в список поддерживаемых Алисой не вошли, хотя Sonoff это лучшее соотношение цена/дизайн/качество. Статья ранее >>> Но решение есть, и ниже расскажу как это реализовать.
К счастью современные элементы Sonoff можно подключить к стоковому приложению умного дома от Xiaomi — Mi Home (Sonoff Basic R3, DUAL, Touch — гарантированно работают, остальные приблуды пока под вопросом, информация разная и противоречивая, например умные реле Sonoff TH16 с данной методой не работают, а хотелось бы). Далее идут скриншоты экранов с красными «маркерами» где и что нажать. Всё делалось из под iOS, Android-a в наличии нет, ИМХО на Ведре (Android) это делается +/- одинаково. Все скриншоты кликабельны и увеличиваются до полного размера. Алгоритм таков:
-
в eWelink переименовываем выключатель под фразу которую необходимо произносить, например: «Алиса, включи/выключи свет в спальне, выключатель необходимо будет назвать «свет в спальне».
-
устанавливаем из App Store/Play Market: Mi Home

Важно! Во избежание необъяснимых ошибок, ошибок с синхронизацией серверов, проверьте и установите регион как Китай!
интегрируем учетку eWelink (логин/пароль от еВелинка) в Xiaomi Mi Home. Добавляем выключатель.
-
в приложении Яндекс (качаем устанавливаем, регистрируемся) связываем с аккаунтом Xiaomi, добавляем устройство Xiaomi. Радуемся. Всё это применимо как и просто к Алисе на телефоне, так и к иным гаджетам с поддержкой Алисы (колонки, пульты и т.п) в моем случае Яндекс.Станция.
P.S. Возникнут вопросы, проблемы, нюансы — пишите в комменты. Вместе постараемся решить.
P.P.S. Поскольку вся эта конструкция пользует 3 облака: eWelink-Xiaomi-Yandex иногда лэтенси (даже при хорошем интернете) достигает 5-10 сек. Это и понятно 3-облака, 3-аккаунта (Китай-Китай-РФ) хотелось бы найти прямое решение по дишману (LAN-LAN). но чудес на свете не бывает.
Как это выглядит в реале
Источник: optimusclub.ru