Сенсорный выключатель Girier: перепрошивка и эксплуатация в системе домашней автоматики

  • Цена: $15.29
  • Данный обзор будет небольшим дополнением к недавнему обзору mysku.ru/blog/aliexpress/77690.html

    Вкратце до ката — встраиваемый сенсорный выключатель на две линии (существуют также на одну и на три), для работы не требуется нулевая линия, достаточно только фазного провода (с условиями, могут быть исключения), построен на популярном чипе ESP8266/TYWE3S — следовательно прошивка заменяема, что мы и сделаем в этом обзоре. Так же есть возможность управлять при помощи беспроводного пульта на 433 МГц (в комплекте нет).

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

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

    1

    2

    3

    5

    Внешний вид довольно стандартен для выключателей такого типа — белый пластиковый корпус (возможно исполнение в черном цвете) и прозрачная стеклянная панель сверху, с покрашенной в цвет корпуса стороной, прилегающей к корпусу. Оставлены прозрачные колечки для индикации места расположения сенсора и режима работы.

    4

    7

    Три контакта — фаза на вход и две отходящих линии на светильники. Контактные колодки похожи на латунные, но магнитятся. Качество корпуса удовлетворительное, в одном месте были какие-то сопли на пластике, удалились пальцем.

    6

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

    8

    После этого взору открывается плата с сенсорными элементами, закрытыми стеклянными пластинками, под которыми находятся индикаторные светодиоды красного и синего цветов.

    9

    Данная плата содержит «умную» часть и соединяется с силовой частью с помощью шестиконтактного разъема. Также один уголок платы приклеен к корпусу на двухсторонний скотч. С обратной стороны находится припаянная плата TYWE3S и прочие электронные компоненты.

    10

    11

    12

    В нише корпуса расположена силовая часть. Для ее извлечения нужно открутить три черных самореза, которые держат плату. Также желательно выкрутить винты клемм.

    13

    Управление нагрузкой выполнено с помощью симисторов, фото силовой части со всех сторон.

    14

    15

    16

    17

    После прошивки (о которой ниже в основной части) выключатель был установлен на место обычного и закреплен на стене. Индикация красным цветом обозначает что канал включен, синим — выключен.

    19

    20

    21

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

    Итак, основным мотивом к покупке послужила простота замены обычного выключателя и возможность замены прошивки контроллера на альтернативную. Выключатель устанавливается в существующую коробку и не требует для своей работы нулевого проводника (в большинстве случаев). Дома у меня установлен сервер, на котором в 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, поэтому все манипуляции я делаю через веб интерфейс.

    Compile menu

    Compilation complete

    Для того, что-бы скачать скомпилированную прошивку, нужно нажать на «DOWNLOAD BINARY» внизу окна. После этого у нас на руках готовый .bin файл, который необходимо каким-либо образом залить в устройство. В данном случае у нас два варианта:

    • Подключиться физически к контроллеру с помощью USB-TTL преобразователя и загрузить прошивку.
    • Так как в устройство изначально залита прошивка на основе Tuya, то можно воспользоваться помощью утилиты github.com/ct-Open-Source/tuya-convert для перепрошивки по воздуху.

    В первом варианте отталкивает необходимость паяться к мелким контактам, так как никакой гребенки для перепрошивки на плату не выведено. Но на всякий случай, вот распиновка:

    Pinout

    Во втором варианте (которым я и воспользовался) нам необходимо следующее:

    • Устройство-хост под управлением 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 к средней ноге стабилизатора питания (если я правильно понимаю что это стабилизатор питания). Примерно так.

    18

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

    Home Assistant Integration View

    В интерфейсе можно настроить карточку управления, что бы она отображалась примерно так:

    Home Assistant Lovelace Interface View

    Пару слов о том, как физически подключен выключатель.

    В комнате на потолке расположены 9 светильников с обычными светодиодными лампами GX53 по 7 ватт каждая, разделенные на две группы по 4 и 5 светильников соответственно. При подключении выключателя комплектный конденсатор я не устанавливал, работает все без него, лампы горят в полный накал, мерцаний, заметных глазу, нет.

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

    На этом все, кота у нас нет, так что поддержать традицию нечем.

Оцените статью