- Цена: $15.29
- Поддержка огромного количества различной периферии
- Прошивка собирается на основе конфигурационных файлов, в ней будет то, что нужно для конкретного устройства
- Возможность организации внутренней логики работы через конфигурационный файл, особенно это полезно для устройств, подобных герою этой статьи, выключатель будет работать даже если управляющий сервер недоступен
- Устройство, после прошивки, будет работать с Home Assistant используя его родной API, использовать брокер MQTT необходимости нет
- Подключиться физически к контроллеру с помощью USB-TTL преобразователя и загрузить прошивку.
- Так как в устройство изначально залита прошивка на основе Tuya, то можно воспользоваться помощью утилиты github.com/ct-Open-Source/tuya-convert для перепрошивки по воздуху.
- Устройство-хост под управлением Linux с Wi-Fi адаптером. На этом устройстве будут непосредственно запускаться скрипты tuya-convert. В этом качестве могут выступать ноутбук, Raspberry Pi, возможно другие одноплатники. Так же можно попробовать запустить образ в Docker под Windows.
- Дополнительное устройство с Wi-Fi, способное подключиться к точке доступа, которую поднимет устройство-хост. В данной роли может выступать любой смартфон.
Данный обзор будет небольшим дополнением к недавнему обзору mysku.ru/blog/aliexpress/77690.html
Вкратце до ката — встраиваемый сенсорный выключатель на две линии (существуют также на одну и на три), для работы не требуется нулевая линия, достаточно только фазного провода (с условиями, могут быть исключения), построен на популярном чипе ESP8266/TYWE3S — следовательно прошивка заменяема, что мы и сделаем в этом обзоре. Так же есть возможность управлять при помощи беспроводного пульта на 433 МГц (в комплекте нет).
Так как автор предыдущего обзора подробно описал характеристики и внешний вид выключателя, описал его возможности при работе на стандартной прошивке, то я свои фотографии и краткое резюме уберу под спойлер.
Внешний вид довольно стандартен для выключателей такого типа — белый пластиковый корпус (возможно исполнение в черном цвете) и прозрачная стеклянная панель сверху, с покрашенной в цвет корпуса стороной, прилегающей к корпусу. Оставлены прозрачные колечки для индикации места расположения сенсора и режима работы.
Три контакта — фаза на вход и две отходящих линии на светильники. Контактные колодки похожи на латунные, но магнитятся. Качество корпуса удовлетворительное, в одном месте были какие-то сопли на пластике, удалились пальцем.
Для того, что бы получить доступ к электронике выключателя, а также для установки выключателя в стандартную коробку в стене, необходимо снять верхнюю панель. Это делается при помощи шлицевой отвертки, которой поддевают панель за две прорези на нижней грани выключателя.
После этого взору открывается плата с сенсорными элементами, закрытыми стеклянными пластинками, под которыми находятся индикаторные светодиоды красного и синего цветов.
Данная плата содержит «умную» часть и соединяется с силовой частью с помощью шестиконтактного разъема. Также один уголок платы приклеен к корпусу на двухсторонний скотч. С обратной стороны находится припаянная плата TYWE3S и прочие электронные компоненты.
В нише корпуса расположена силовая часть. Для ее извлечения нужно открутить три черных самореза, которые держат плату. Также желательно выкрутить винты клемм.
Управление нагрузкой выполнено с помощью симисторов, фото силовой части со всех сторон.
После прошивки (о которой ниже в основной части) выключатель был установлен на место обычного и закреплен на стене. Индикация красным цветом обозначает что канал включен, синим — выключен.
Для начала я хотел бы описать свою мотивацию при покупке данного устройства, а также кратко рассказать о системе автоматизации своего жилища, которую я с переменным успехом, не спеша, пытаюсь строить уже несколько лет.
Итак, основным мотивом к покупке послужила простота замены обычного выключателя и возможность замены прошивки контроллера на альтернативную. Выключатель устанавливается в существующую коробку и не требует для своей работы нулевого проводника (в большинстве случаев). Дома у меня установлен сервер, на котором в Docker крутится Home Assistant, соответственно для замены родной прошивки выключателя я использовал замечательный проект с открытым исходным кодом от австрийского товарища Otto Winter под названием ESPHome. Прошивку я хочу заменить, поскольку не очень доверяю китайским облакам, и дома у меня все дистанционно управляемые устройства имеют прошивку, позволяющую управлять ими исключительно локально. При необходимости управлять чем-либо, находясь вне зоны действия домашней сети, я использую подключение к ней через VPN.
Все плюсы и минусы ESPHome расписывать нет смысла, пробегусь по основным:
Далее нам необходимо написать конфигурационный файл для нашего выключателя и скомпилировать прошивку для первой загрузки. ESPHome позволяет перепрошивать устройства, работающие на его основе, по воздуху — OTA, так что обычно я пишу «рыбу» конфига, в котором указываю параметры для соединения с моей Wi-Fi сетью, загружаю такую «нулевую» прошивку одним из двух методов, про которые я расскажу ниже, а потом уже правлю конфигурацию по усмотрению заливая ее через OTA. Однако в этот раз все было проще — на сайте товарища kvvhost (который кстати неоднократно делал здесь обзоры на подобные устройства) в комментариях к одной из статей, были найдены готовые конфигурации для одно-, двух- и трехкнопочных выключателей, которые просто сразу заработали (по крайней мере для моего варианта с двухкнопочным выключателем). Я выложу их здесь в отформатированном виде, так как в комментариях у них слетела разметка, а это важно для конфигов в формате YAML, которые использует 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 файл, который необходимо каким-либо образом залить в устройство. В данном случае у нас два варианта:
В первом варианте отталкивает необходимость паяться к мелким контактам, так как никакой гребенки для перепрошивки на плату не выведено. Но на всякий случай, вот распиновка:
Во втором варианте (которым я и воспользовался) нам необходимо следующее:
У меня есть 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 светильников соответственно. При подключении выключателя комплектный конденсатор я не устанавливал, работает все без него, лампы горят в полный накал, мерцаний, заметных глазу, нет.
После первой установки наблюдался неприятный эффект — самопроизвольное срабатывание сенсорного датчика одного из каналов, при этом отрабатывала внутренняя логика и свет включался и выключался. Какой-либо зависимости от внешних условий я не заметил, просто в случайное время происходило множественное срабатывание сенсорной кнопки и свет мигал несколько раз. Все это происходило только на одном из двух каналов. После снятия верхней панели и протирки спиртом сенсоров (я их заляпал пока разбирал-прошивал-собирал устройство) ложные срабатывания вроде как ушли, но буду еще наблюдать.
На этом все, кота у нас нет, так что поддержать традицию нечем.