Данный обзор будет небольшим дополнением к недавнему обзору
mySKU.me/blog/aliexpress/77690.html
Вкратце до ката — встраиваемый сенсорный выключатель на две линии (существуют также на одну и на три), для работы не требуется нулевая линия, достаточно только фазного провода (с условиями, могут быть исключения), построен на популярном чипе ESP8266/TYWE3S — следовательно прошивка заменяема, что мы и сделаем в этом обзоре. Так же есть возможность управлять при помощи беспроводного пульта на 433 МГц (в комплекте нет).
Так как автор предыдущего обзора подробно описал характеристики и внешний вид выключателя, описал его возможности при работе на стандартной прошивке, то я свои фотографии и краткое резюме уберу под спойлер.
Краткое резюме
Хоть выключатель и позиционируется магазином под брендом «Girier», ни на нем, ни на коробке нет никаких упоминаний об этом.
Внешний вид довольно стандартен для выключателей такого типа — белый пластиковый корпус (возможно исполнение в черном цвете) и прозрачная стеклянная панель сверху, с покрашенной в цвет корпуса стороной, прилегающей к корпусу. Оставлены прозрачные колечки для индикации места расположения сенсора и режима работы.
Три контакта — фаза на вход и две отходящих линии на светильники. Контактные колодки похожи на латунные, но магнитятся. Качество корпуса удовлетворительное, в одном месте были какие-то сопли на пластике, удалились пальцем.
Для того, что бы получить доступ к электронике выключателя, а также для установки выключателя в стандартную коробку в стене, необходимо снять верхнюю панель. Это делается при помощи шлицевой отвертки, которой поддевают панель за две прорези на нижней грани выключателя.
После этого взору открывается плата с сенсорными элементами, закрытыми стеклянными пластинками, под которыми находятся индикаторные светодиоды красного и синего цветов.
Данная плата содержит «умную» часть и соединяется с силовой частью с помощью шестиконтактного разъема. Также один уголок платы приклеен к корпусу на двухсторонний скотч. С обратной стороны находится припаянная плата TYWE3S и прочие электронные компоненты.
В нише корпуса расположена силовая часть. Для ее извлечения нужно открутить три черных самореза, которые держат плату. Также желательно выкрутить винты клемм.
Управление нагрузкой выполнено с помощью симисторов, фото силовой части со всех сторон.
После прошивки (о которой ниже в основной части) выключатель был установлен на место обычного и закреплен на стене. Индикация красным цветом обозначает что канал включен, синим — выключен.
Для начала я хотел бы описать свою мотивацию при покупке данного устройства, а также кратко рассказать о системе автоматизации своего жилища, которую я с переменным успехом, не спеша, пытаюсь строить уже несколько лет.
Итак, основным мотивом к покупке послужила простота замены обычного выключателя и возможность замены прошивки контроллера на альтернативную. Выключатель устанавливается в существующую коробку и не требует для своей работы нулевого проводника (в большинстве случаев). Дома у меня установлен сервер, на котором в Docker крутится Home Assistant, соответственно для замены родной прошивки выключателя я использовал замечательный проект с открытым исходным кодом от австрийского товарища Otto Winter под названием
ESPHome. Прошивку я хочу заменить, поскольку не очень доверяю китайским облакам, и дома у меня все дистанционно управляемые устройства имеют прошивку, позволяющую управлять ими исключительно локально. При необходимости управлять чем-либо, находясь вне зоны действия домашней сети, я использую подключение к ней через VPN.
Все плюсы и минусы ESPHome расписывать нет смысла, пробегусь по основным:
- Поддержка огромного количества различной периферии
- Прошивка собирается на основе конфигурационных файлов, в ней будет то, что нужно для конкретного устройства
- Возможность организации внутренней логики работы через конфигурационный файл, особенно это полезно для устройств, подобных герою этой статьи, выключатель будет работать даже если управляющий сервер недоступен
- Устройство, после прошивки, будет работать с Home Assistant используя его родной API, использовать брокер MQTT необходимости нет
Далее нам необходимо написать конфигурационный файл для нашего выключателя и скомпилировать прошивку для первой загрузки. ESPHome позволяет перепрошивать устройства, работающие на его основе, по воздуху — OTA, так что обычно я пишу «рыбу» конфига, в котором указываю параметры для соединения с моей Wi-Fi сетью, загружаю такую «нулевую» прошивку одним из двух методов, про которые я расскажу ниже, а потом уже правлю конфигурацию по усмотрению заливая ее через OTA. Однако в этот раз все было проще — на сайте товарища
kvvhost (который кстати неоднократно делал здесь обзоры на подобные устройства) в комментариях к одной из статей, были найдены готовые конфигурации для одно-, двух- и трехкнопочных выключателей, которые просто сразу заработали (по крайней мере для моего варианта с двухкнопочным выключателем). Я выложу их здесь в отформатированном виде, так как в комментариях у них слетела разметка, а это важно для конфигов в формате YAML, которые использует ESPHome.
Конфигурации
Конфигурация ESPHome для однокнопочного выключателя:
esphome:
name: koridor_mt_1g
platform: ESP8266
board: esp_wroom_02
wifi:
ssid: 'ssid'
password: 'supersecret'
# Enable logging
logger:
# Enable Home Assistant API
api:
ota:
status_led:
pin: GPIO16
output:
- platform: gpio
pin: 15
id: koridor_mt_1g_relay
light:
- platform: binary
name: 'light_koridor_mt_1g_relay'
id: light_koridor_mt_1g_relay
output: koridor_mt_1g_relay
restore_mode: ALWAYS_OFF
binary_sensor:
- platform: gpio
pin: 5
filters:
- invert:
- delayed_on: 20ms
name: koridor_mt_1g_button
id: koridor_mt_1g_button
on_release:
then:
- light.toggle: light_koridor_mt_1g_relay
Кофигурация ESPHome для двухкнопочного выключателя:
esphome:
name: parents_room_switch
platform: ESP8266
board: esp_wroom_02
wifi:
ssid: 'ssid'
password: 'secretpass'
# Enable logging
logger:
# Enable Home Assistant API
api:
ota:
status_led:
pin: GPIO16
output:
- platform: gpio
pin: 4
id: relay1
- platform: gpio
pin: 13
id: relay2
light:
- platform: binary
name: 'light_parents_room_relay1'
id: light_parents_room_relay1
output: relay1
restore_mode: ALWAYS_OFF
- platform: binary
name: 'light_parents_room_relay2'
id: light_parents_room_relay2
output: relay2
restore_mode: ALWAYS_OFF
binary_sensor:
- platform: gpio
pin: 14
filters:
- invert:
- delayed_on: 20ms
name: parents_room_button1
id: parents_room_button1
on_release:
then:
- light.toggle: light_parents_room_relay1
- platform: gpio
pin: 12
filters:
- invert:
- delayed_on: 20ms
name: parents_room_button2
id: parents_room_button2
on_release:
then:
- light.toggle: light_parents_room_relay2
Конфигурация ESPHome для трехкнопочного выключателя:
esphome:
name: zal_mt_3g
platform: ESP8266
board: esp_wroom_02
wifi:
ssid: 'ssid'
password: 'megapass'
# Enable logging
logger:
# Enable Home Assistant API
api:
ota:
status_led:
pin: GPIO16
output:
- platform: gpio
pin: 4
id: zal_mt_3g_relay1
- platform: gpio
pin: 15
id: zal_mt_3g_relay2
- platform: gpio
pin: 13
id: zal_mt_3g_relay3
light:
- platform: binary
name: 'light_zal_mt_3g_relay1'
id: light_zal_mt_3g_relay1
output: zal_mt_3g_relay1
restore_mode: ALWAYS_OFF
- platform: binary
name: 'light_zal_mt_3g_relay2'
id: light_zal_mt_3g_relay2
output: zal_mt_3g_relay2
restore_mode: ALWAYS_OFF
- platform: binary
name: 'light_zal_mt_3g_relay3'
id: light_zal_mt_3g_relay3
output: zal_mt_3g_relay3
restore_mode: ALWAYS_OFF
binary_sensor:
- platform: gpio
pin: 14
filters:
- invert:
- delayed_on: 20ms
name: zal_mt_3g_button1
id: zal_mt_3g_button1
on_release:
then:
- light.toggle: light_zal_mt_3g_relay1
- platform: gpio
pin: 5
filters:
- invert:
- delayed_on: 20ms
name: zal_mt_3g_button2
id: zal_mt_3g_button2
on_release:
then:
- light.toggle: light_zal_mt_3g_relay2
- platform: gpio
pin: 12
filters:
- invert:
- delayed_on: 20ms
name: zal_mt_3g_button3
id: zal_mt_3g_button3
on_release:
then:
- light.toggle: light_zal_mt_3g_relay3
Далее, после того, как мы сформировали конфиг, нам необходимо скомпилировать саму прошивку. Это делается либо через интерфейс, либо из командной строки. У меня ESPHome запущен на сервере в Docker, поэтому все манипуляции я делаю через веб интерфейс.
Для того, что-бы скачать скомпилированную прошивку, нужно нажать на «DOWNLOAD BINARY» внизу окна. После этого у нас на руках готовый .bin файл, который необходимо каким-либо образом залить в устройство. В данном случае у нас два варианта:
- Подключиться физически к контроллеру с помощью USB-TTL преобразователя и загрузить прошивку.
- Так как в устройство изначально залита прошивка на основе Tuya, то можно воспользоваться помощью утилиты github.com/ct-Open-Source/tuya-convert для перепрошивки по воздуху.
В первом варианте отталкивает необходимость паяться к мелким контактам, так как никакой гребенки для перепрошивки на плату не выведено. Но на всякий случай, вот распиновка:
Во втором варианте (которым я и воспользовался) нам необходимо следующее:
- Устройство-хост под управлением Linux с Wi-Fi адаптером. На этом устройстве будут непосредственно запускаться скрипты tuya-convert. В этом качестве могут выступать ноутбук, Raspberry Pi, возможно другие одноплатники. Так же можно попробовать запустить образ в Docker под Windows.
- Дополнительное устройство с Wi-Fi, способное подключиться к точке доступа, которую поднимет устройство-хост. В данной роли может выступать любой смартфон.
У меня есть Raspberry Pi 3 и карточка с установленным на ней Raspbian, так что я напишу про такой вариант.
Перед началом, вам необходимо каким-либо образом подать питание на устройство, я прошивал плату с контроллером в снятом виде, подавая питание от преобразователя 3.3В, теоретически можно установить собранный выключатель на место и подключить его к силовой сети, думаю в этом плане разницы нет.
Прежде всего, если вы подключаетесь к Raspberry не напрямую, а по ssh, то нужно это делать через Ethernet, так как в процессе перепрошивки будет подниматься точка доступа, и если вы соединяетесь по Wi-Fi, то это соединение будет разорвано, и продолжить работу скриптов будет невозможно.
Далее все нужно делать по инструкции с гитхаба:
git clone https://github.com/ct-Open-Source/tuya-convert
cd tuya-convert
./install_prereq.sh
После установки всех зависимостей, в каталог /files/ нужно положить .bin файл прошивки, скомпилированный нами ранее. В этом каталоге уже будут лежать готовые бинарники прошивок Tasmota и ESPurna для экспериментов.
Следующим шагом станет запуск непосредственно процесса подготовки и прошивки командой
./start_flash.sh
и следовать инструкциям на экране.
В частности, запустить на устройстве режим сопряжения, для этого необходимо прикоснуться и подержать палец на левой сенсорной кнопке в течении пяти секунд. После этого динамик устройства издаст «пик» и индикаторы будут мигать синим цветом.
Так же необходимо подключиться смартфоном к открытой сети «vtrust-flash», которую создаст Raspberry. Просто подключиться и оставить подключенной, ничего делать на смартфоне более не нужно.
После этого в консоли, где работают скрипты, нужно нажать Enter. Произойдет магия, скрипты создадут резервную копию родной прошивки, и будет предложено выбрать какую из прошивок, расположенных в папке /files/ вы хотите загрузить на устройство. Выбираем нашу, ранее скомпилированную, и все готово.
Для прошивки, что-бы не паять провода к плате для подачи питания, можно подвести GND к нижнему среднему пину в гребенке на плате с контроллером, а VCC к средней ноге стабилизатора питания (если я правильно понимаю что это стабилизатор питания). Примерно так.
После удачной прошивки мы получаем готовое к употреблению устройство, которое можно добавлять через интеграции в Home Assistant и начинать им пользоваться.
В интерфейсе можно настроить карточку управления, что бы она отображалась примерно так:
Пару слов о том, как физически подключен выключатель.
В комнате на потолке расположены 9 светильников с обычными светодиодными лампами GX53 по 7 ватт каждая, разделенные на две группы по 4 и 5 светильников соответственно. При подключении выключателя комплектный конденсатор я не устанавливал, работает все без него, лампы горят в полный накал, мерцаний, заметных глазу, нет.
После первой установки наблюдался неприятный эффект — самопроизвольное срабатывание сенсорного датчика одного из каналов, при этом отрабатывала внутренняя логика и свет включался и выключался. Какой-либо зависимости от внешних условий я не заметил, просто в случайное время происходило множественное срабатывание сенсорной кнопки и свет мигал несколько раз. Все это происходило только на одном из двух каналов. После снятия верхней панели и протирки спиртом сенсоров (я их заляпал пока разбирал-прошивал-собирал устройство) ложные срабатывания вроде как ушли, но буду еще наблюдать.
UPD 17.01.2020
После наблюдения за поведением выключателя, замечу, что периодические самопроизвольные переключения по одному каналу остались. В комментариях рассказали, что подобное для таких выключателей случается и предположили, что это связано с тем, что выключатель ловит сигналы 433 МГц и реагирует на них. По предложению из комментариев из схемы с микроконтроллером был выпаян кварц, после чего самопроизвольные переключения прекратились, но также, очевидно, пропала возможность управлять выключателем при помощи пультов 433 МГц. Так что если вам критична возможность управления выключателем при помощи беспроводного пульта, то вы должны принимать решение о покупке на основании этой информации.
На этом все, кота у нас нет, так что поддержать традицию нечем.
Наоборот хорошо что все описано и автор объясняет.
Под чудесами подразумевается периодическое моргание ламп в выключенном состоянии.
Просто пару суток, скажем, работает, потом смотришь — синим в режиме ожидания уже не горит, из приложения пропал. Если снова зарегистрировать, то опять какое-то время работает. Но конкретно этот выключатель, думаю, брак.
А то, что он отпадает от китайского облака — вот для этого я и перепрошивал для работы локально =)
То есть, я предполагаю, что за время между нажал-бип-подключил к аппу может случиться и привязка к случайно пролетевшему сигналу. Правда, это должно быть заметно. Потому что если привязка к пульту случилась, то вроде бы выключатель издает писк и выходит из режима привязки к пульту/облаку, и все приходится начинать сначала.
Китайцы, к моему сожалению, не догадались разделить эти режимы и не сделали управление привязанными пультами через апп (
Сам за такое не возьмусь, не потяну
a.aliexpress.ru/_cAgvF
Готовый макет корпуса уже есть: www.thingiverse.com/thing:3231225
Платы для механической поддержки и разворота, чтобы шить сверху сделал недавно.
Классная штука получилась.
Спасибо за идею!
Опросил друзей. У одного есть дома аквариум. Решили с ним, что какие-то элементы можно использовать там, но у него все настроено на обычный таймер.
Кто нибудь может привести реально полезные сценарии использования «умного дома»?
Вроде штука интересная, а зачем мне это надо не могу придумать.
Из реальных кейсов, которые я сделал и планирую:
Автоматическое управление вытяжкой в ванной по уровню влажности
Автоматическое управление увлажнителем в детской комнате
Выключение/включение света во всей квартире при определении что дома никого нет/кто-то пришел
Но в любом случае эти кейсы скорей надуманные причины, да, признаю, мне просто нравится с этим возиться =)
Upd а если уедешь в командировку и на жену упадёт глюк умного дома то она этому врятли обрадуется)
P.S. Речь естественно про поломку/выключение самой системы управления, а не ее элементов. Отдельный включатель конечно может сломаться, как и обычный. Но это вызовет неисправность только одной цепи, а не всей системы.
Если не интересно разбираться, то смысла нет
Все эти штучки-дрючки нужны для контроля всего что есть в доме. Включение устройств/отслеживание расхода/автоматизация чего-то
Если в голове нет мысли, когда сидишь на стуле/диване, как бы включить свет здесь, а выключить там, не вставая (а лучше чтобы он сам тут включился, там выключился когда надо) — то тоже смысла нет. Про свет — пример, так можно всё сюда включить.
2. Реагирование на инциденты: протечка, охранка, пожохрана с оповещением владельца и некими действиями.
3. Автоматизация рутинных месячных задач, подача показаний воды, света.
4. Отопление, кондиционирование, вентиляция.
5. Позиционирование, вход/выход из зоны, оповещение. Особенно актуально семьям с детьми.
7. Развлечения (кино, музыка и т.д.)
6. Just for fun
Вариантов масса, нужно понять и для себя решить что мне нужно.
Я думаю пункт Отопление, кондиционирование, вентиляция больше всего принесет экономии, если есть на чем автоматизировать. Видел у парня настроено понижение заданной температуры в доме, если все ушли из дома (допустим на работу).
А секьюрити система или система оповещения при опасности это второе важное применение. Потоп, движение, если никого нет дома, дым, угарный газ и т.д. Ну и действия на эти опасности тоже интересно: закрыть входной кран воды, выключить вентиляцию при пожаре, включить вентиляцию при угарном газе.
Ну и третье -это мониторинг воздуха: влажность, СО2, пыль и действия при отклонениях: включить увлажнитель, включить вентиляцию.
1. Управление светом как с выключателей, так и из приложения в телефоне, позволяет включать/выключать свет в любой точке квартиры из любой точки, по расписанию (на всякий случай в 1.00 срабатывает команда «ВЫключить весь свет»), возле входной двери клавиша в виде выключателя, которая выключает весь свет в квартире. Имитация присутствия людей в квартире. Сцены освещения одной кнопкой (пока одна — «просмотр телевизора»)
2. Включение обогрева ванной по расписанию: обогреватель работает не круглосуточно, а только когда нужно.
3. Работа бойлера только в ночное время, по ночному тарифу.
4. «Проходные выключатели» на пультах в виде обычных настенных выключателей.
В планах увязать работу ПВУ с датчиками температуры/влажности, открытия окон.
Организовать «искусственный рассвет».
Добавить пульты (просто многокнопочные пульты, чтобы лежали на журнальном столике, прикроватных тумбочках и пр.) для дублирования команд из приложения.
Установить управляемые Термоголовки на радиаторы.
Все работает без облаков на локальном сервере domoticz. Управление из вне квартиры через VPN.
Насчет ESP8266 лично у меня есть опасения, он не славится своей стабильностью
Есп8266 очень не терпит плохую разводку (все gpio желательно притянуть в питанию резисторами 10ком) и очень требователен к питанию. А точнее к его качеству. Вот когда люди цепляют питание ьез нормальной стабилизации и емкостей на входе, подтягивают только gpio 0,2,15 и пару служебных пинов, прошивают кривыми прошивками и оставляют все на длинных проводах висеть где-то, начинается нестабильная работа. Ну а по памяти о куче багов в первых SDK списывают на глючность esp в целом, типа ну а что вы хотели? Это же китайский арм проц с вайфаем в виде модуля пол ключ за полтора бакса
Вход микроконтроллера подключен к буферу на транзисторах. Когда на входе логический плюс открывается транзистор подключенный к плюсу, а подключенный к земле при этом закрывается. И наоборот. Но при висящем в воздухе плавающем входе может возникнуть ситуация что приоткроются оба транзистора и от плюса к минусу потечет паразитный ток, то есть возрастет потребление.
Чтобы этого избежать, для неиспользуемых выводов можно:
1. Оставить вывод в воздухе, но включить внутренние подтяжки, перевести на выход.
2. Оставить с плавающим входом и подсоединить к земле или питанию. Резисторы тут не требуются.
Так же утечки могут быть, например, при внутренней подтяжке к плюсу, а сам вывод при этом подсоединен к земле. Это уже тема другого разговора.
Вообще просто переводим неиспользуемые на выход на 0 и все и не нужно снаружи никуда подключать. Не скажу про все МК, но что я знаю ни в каких режимах работы не сбрасывают состояние выводов.
знаю точно что у esp8266 возможны глюки если не подтянуть все свободные пины к земле, когда делал свои поделия изучал этот вопрос
Ну и все, что осталось к 3.3
Пробуете запуститься. Если запустился в правильном режиме, все сделано правильно. Нет-смотрим уровни по гпио 0,2,15
На некоторых модулях есть выводы, к которым подключена внутренняя spi флешка, их лучше не трогать. Они, например. Присуствуют на esp-12F с торца
Один из серьездных глюков есп по хардварной части-не всегда адекватно ребутится пином ресета. У меня бывало, что в бутлуп уходил с большим объемом нескончаемого мусора в юарт. Так что, если хотите извне включать/выключать esp, лучше использовать p-канальный мосфет и коммутировать питание. Вот и весь мой рецепт, которым я руководствуюсь.
Цель-чтобы не было ни одного висящего в воздухе пина.
Тогда же, 3 года назад, начинал писать на Arduino IDE, глюков софтовых было вагон и маленькая тележка, перешел на Unofficial SDK, все супер стало. Но сейчас видимо и ардино жизнеспособно под есп, так как, насколько я знаю, тот же Tasmota и ESP-Home написано в Arduino IDE, хотя могу ошибаться.
esp8266.ru почитайте. И их форум в особенности
Извините за возможные опечатки, пишу с телефона из метро
сенсорные кнопки не удобны
сам жду такой выключатель aliexpress.ru/item/4000298926256.html?spm=a2g0s.9042311.0.0.568133ed9oT6k1
работает без ноля, zigbee, клавишный
a.aliexpress.ru/_cgfKP
Может кто в курсе, есть ли способ интегрировать этот выключатель в готовую систему УД на Mi Home (шлюз zigbee) + Domoticz. Или обязательно нужен «tuya zigbee hub»?
У Сяоми есть практически такой же, только с
перламутровыми пуговицамиквадратным подрозетником. У меня даже есть один такой. Вот только стены долбить, страсть как неохота.Пока это, к сожалению, только планы, но к выключателям при ремонте сразу заводится как силовой провод, так и витая пара.
В любом случае даже если не делать автоматику, можно обычные импульсные реле на DIN-рейку повесить. Себе же планирую поставить симисторное управление, чтобы не клацали релешки.
Плюс заказал на Таобао бра
В них выкинул комплектные блоки питания, и поставил MeanWell драйверы и общий блок питания на 24В в щитке. Таким образом получил возможность диммировать бра и не переживать за китайские блоки питания.
Чтобы девайс увиделся по mqtt нужно в консоли дать команду «SetOptions19 1» тогда в списке устройств НА появится и реле и кнопка.
Кнопка на Sonoff Basic R2 тоже локально переключает реле.
Теперь если что — можно просто перетащить контейнер в докере с рухнувшей системы либо воспользоваться snapshot которая делает бекап не прерывая работы живой системы.
Как я понял есть две версии СЕ и IO которые ставятся различными скриптами. У меня нормально заработала только первая.
Далее в докер ставится контейнер hassio, который подтягивает за собой супервизора (он ставится под конкретную аппаратную платформу) и dns резольвера.
После запуска homessistant и первичной настройки все его аддоны ставятся также в отдельные контейнеры докера.
Управление удобно делать еще один контейнер: portainer.
Машинка Renegade на RK3328 c гигом памяти DDR4 крутит все довольно шустро, но холодный старт системы минуты две три.
Контейнер с hassio на экспорте весит 1,7гига а полный snapshot — всего 17Мб.
Сейчас курю как все логи на БД перевести.
Теперь можно пойти дальше и докеровские контейнеры превратить в pod от kubernetes и поднять кластер серверов с kuber'ом ;)))
Больше паяльником нравится махать и собирать всякие шняги интересные умные.
Но в общем случае да, руками поднимать ничего не надо, после запуска скрипта прошивки нужно лишь следовать указаниям в терминале.