У одного из наших товарищей @Indig0_prophecy, были сенсорные выключатели для управления шторами под EweLink. Проблема с этими выключателями в том, что они то недокручивают шторы, то перекручивают, и настройке это не поддается. Ну и сложно интегрировать это дело в Home assistant. Он предложил мне эти выключатели для опытов. Возможно ли их перешить на EspHome?
Сначала сделаю небольшой обзор этих выключателей.
Ну что ж, подключим USB-UART переходник к подписанным дорожкам, и пробуем прошить. ЕСП входит в режим прошивки и стартует, но постоянно отваливается на середине прошивки где то. Это происходит потому, что второй контроллер Nuvoton постоянно шлет посылки в COM порт. Для того, чтобы этот контроллер не мешал, замыкаем площадку RES1 на землю и тормозим контроллер. Дальше дело пошло. Стал пробовать залить интеграцию Tuya MCU. Но эта интеграция ничего не увидела, что естественно, протоколы у Tuya и Ewelink разные. Попробовал интеграцию UART устройств. Нашел, что скорость обмена 19200, и посылки представляют из себя текстовые AT команды. Но что-то ничего не получилось. Пробовал и Tasmota - там нашел библиотеку, переделанную от диммера KingArt. Нифига не работает нормально. В процессе этих мытарств дошла мысль, что даже если получится что-то, но время открытия и закрытия зашито в контроллере Nuvoton и, соответственно, это изменить никак не получится. Обсудив с хозяином выключателей, решил выковырять контроллер Nuvoton. Контроллер, который отвечает за сенсорные кнопки, выдает постоянно высокий уровень, а при касании сенсора - низкий. Очень удобно использовать GPIO0 GPIO2. Тем более они рядом.
Дальше накидал прошивку. Использовал компонент Time based cover. Мне кажется, что он лучше всего подходит. Время открытия и закрытия можно точно подобрать. Сделал бинарные сенсоры на кнопки, и два свича для управления реле. Обнаружился небольшой косяк. Если, допустим, нажать открытие и сразу же нажать закрытие, включенными получаются оба реле. Поэтому в свичах включил interlock, чтоб исключить эту ситуацию. GPIO0 на среднем сенсоре. Если перешивать по проводу, то нужно коснуться середины.
esphome: name: cover platform: ESP8266 board: esp8285 logger: baud_rate: 0 #disable logging over uart wifi: ssid: "WiFi" password: "Password" ap: ssid: "Captive" password: "1234567890" captive_portal: web_server: status_led: pin: GPIO13 # Enable Home Assistant API api: password: "1" ota: password: "1" cover: - platform: time_based name: "Time-Based Cover" id: cover_1 open_action: - switch.turn_on: open_cover_switch open_duration: 30sec #время открытия close_action: - switch.turn_on: close_cover_switch close_duration: 30sec #время закрытия stop_action: - switch.turn_off: open_cover_switch - switch.turn_off: close_cover_switch switch: - platform: gpio pin: GPIO12 id: open_cover_switch #реле открытия interlock: [close_cover_switch] - platform: gpio pin: GPIO14 id: close_cover_switch #реле закрытия interlock: [open_cover_switch] binary_sensor: #сенсорные кнопки - platform: gpio pin: number: GPIO4 inverted: true id: open_1 on_press: then: - cover.open: cover_1 - platform: gpio pin: number: GPIO0 inverted: true id: stop_1 on_press: then: - cover.stop: cover_1 - platform: gpio pin: number: GPIO2 inverted: true id: close_1 on_press: then: - cover.close: cover_1
Побаловался по-разному с выключателем, работает четко. Никаких проблем. В НА залетел сразу, веб морда тоже работает. Решил побаловаться с подсветкой. Светодиоды подключены так, что при подаче высокого уровня горит синий светодиод, при подаче низкого - красный. Подключил к выходам транзисторных ключей. Ключи по схеме открытого коллектора. Соответственно, для включения реле они замыкают на землю. Подсветка клавиш заработала. Соответственно, пока реле включено - горит красным, потом - синим. Средний сенсор подключил на 3.3 вольт. Только синий получается. В таком варианте единственная проблема - этой подсветкой никак нельзя управлять. В общем вдохнул новую жизнь в выключатели. Теперь можно все гибко регулировать. Сейчас отправлю выключатели обратно хозяину, думаю, позже в комментах он отпишется.
Ильмир, гигантское спасибо за проделанную работу!!! Как придут и поставлю на место - обязательно сниму видео работы из ХА и вживую.
Спасибо что есть такие люди как ты.