Архив рубрики: Микроконтроллеры

Обновил ESP Home, новые имена сенсоров

«Не было печали — апдейтов накачали» (с).

В последние дни занимался апдейтами ESP Home, Home Assistant и того, что с этим связано. В целом, увлекся docker’ом, поэтому в последнее время вышло пообновлять ряд домашнего софта — и развернуть новый. Если раньше версия Home Assistant у меня «замерла» на 2024-какой-то-там, которую последнюю можно было установить на pyhon-3.11 из Debian 12 (а обновлять систему я немного опасался даже после выхода Debian 13 — как оказалось, зря), а ESP Home из-за него — на 2025.9.3, то сейчас могу свободно переключаться между версиями без привязки к системе. Попутно, кстати, на какой-то комбинации версий получил в логах девайса (впервые!) сообщение «‘Home Assistant 2025.12.5′ using outdated API 1.13, update to 1.14+» (хотя при этом и все работало) — тут хотя бы ясно было, что / с чем / из-за чего не стыкуется, а не молчаливое пропадание сенсоров, как это было в прошлый раз.

Так или иначе, на сейчас у меня последние версии как ESP Home, так и Home Assistant. На части девайсов пообновлял прошивки — и в итоге поотваливались скрипты, которые забирали с них данные через REST API. Как оказалось, сменилось именование сенсоров — если раньше все приводилось в нижний регистр и пробелы заменялись на подчеркивание, то сейчас обращаться надо именно по тому имени, которое указано. Если раньше был URL вида ip/sensor/l2_voltage, то сейчас — ip/sensor/L2%20Voltage. Альтернативно — можно не кодировать пробел, но взять URL в кавычки — "ip/sensor/L2 Voltage".

Приручаем кормушку для собаки

А вот, собственно, и то, с чего началось мое близкое знакомство с внутренностями tuya-based-устройств — упомянутая ранее автоматическая кормушка для собаки. По случаю взял в ноябре 2025-го — решил, что может быть полезна в некоторых ситуациях. Выбор пал на такое:

Обошлась со скидками чуть менее 22$ (базовая цена была 25$); старая ссылка нерабочая, но на момент написания подобные варианты попадаются по ценам около 50$.

Проверил — работает. И… сразу разобрал. Как же без переделки под Home Assistant? 🙂

Читать далее Приручаем кормушку для собаки →

Исследуем TOMZN TOMPD-63SW

С этого модуля и начиналось мое знакомство с компонентом tuya в ESP Home, но что-то пошло не так, поэтому для более разностороннего опыта и начал переделывать DGC-63T. Основные моменты по работе с компонентом уже расписал в той статье, так что в этой — только описание datapoint’ов и результатов переделки.

Читать далее Исследуем TOMZN TOMPD-63SW →

Переделываем DiyGo DGC-63T. Исследуем Tuya.

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

Читать далее Переделываем DiyGo DGC-63T. Исследуем Tuya. →

(Псевдо) Проводное подключение станка и virtual shifting

В заметки.

Подергал тут как-то google-ИИ на предмет реализаций Zwift Click / Zwift Play на базе ESP32. Между делом попалась ссылка на проект на github’e под названием SHIFTR. Помимо реализации виртуального переключения передач проект примечателен тем, что реализуется и direct-подключение к zwift’у — с помощью передачи данных по локальной сети. В целом подключение получается частично проводным: ESP32 подключается к станку все равно через bluetooth, однако контроллер, во-первых, можно разместить в непосредственной близости от станка, а во-вторых, получаем модуль, не зависящий от глюков ОС и наличия нужных беспроводных модулей на основном компьютере.

Читать далее (Псевдо) Проводное подключение станка и virtual shifting →

Скользящее окно в filters у ESP Home и переполнение

Заметка между делом.

Давно уже мигрировал код модуля контроля параметров сети главного щитка на базу ESP Home. В основном все работает, но какое-то время назад добавлял «красивости» — хотелось регистрацию максимальных значений мощности по каждой из фаз, суточный объем потребленной энергии и тому подобное.

Читать далее Скользящее окно в filters у ESP Home и переполнение →

Прямая замена ESP01 на ESP32 C3

Попалось на глаза, закину в заметки:

GPIO не совсем соответствуют (а чего было не сделать 1 в 1?) и цена не особо гуманна — 3-4$ — при том, что сегодня покупал «чистый» ESP32 C3 по 1,7$. Но мало ли, в каких-то случаях может быть полезно.

Прокачиваем «реле всего». ESP32-мод.

Как уже писал раньше, ресурсов у BL7231 в TOMZN TOB9-VAP для реализации всех фич откровенно не хватало, а в новых еще и неподдерживаемый пока BL7238… В общем, решил поискать, есть ли ESP32-замена для модуля CBU, как это было для какого-то другого умного модуля и ESP02. Гугло-ИИ выдал, что надо смотреть в сторону ESP8685-WROOM-06. Таки да, есть, продаются — правда, цена сопоставима уже со стоимостью модуля целиком. Даже если взять много таких сразу — все равно это порядка 4$, что уже немного «кусается». Решил примерять обычный ESP32 C3:

Вполне влазит. Можно попробовать переделать один из лежащих разобранным модулей на BL7238.

Читать далее Прокачиваем «реле всего». ESP32-мод. →

Порт «реле всего» на Sonoff S60TPF

Получил первую партию розеток, перешил, попутно решил портировать наработки с TOMZN’а, а заодно кое-что исправить.

Конфиг ESP Home для Sonoff S60

Исправления:

  • Нашел ошибку: даже при выключенной защите (VAP) и при взведенном алерте не было возможности включить реле.
  • Сделал обходной путь для подсчета и сохранения общей энергии, теперь это делается независимо от внутреннего счетчика.
  • Добавил кнопку для сброса общей энергии.
  • Задал дефолтные значения для лимитов VAP.
  • Немного причесал код: активно использовал substitute, теперь базовые переменные задаются в самом начале конфига.

Для прошивки изобразил такое:

Фактически, одним движением паяются 3 пина, крокодил просто цепляется за плату реле.

Модуль управления люстрой

Короткая заметка. Захотелось реализовать управление светом на кухне. Штатно — 2+3 лампы; реализовал управление каждой в отдельности на базе мелких SSR на 5V + ESP32 C3 + БП под это дело. Планировалось разместить все в штатной распред. коробке люстры, на деле промахнулся с габаритами (клеммники для подключения ламп упирались в стенки распред. коробки); потом решил, что и так ничего — плату все равно не видно из-за плафона. Решил даже не обрезать ее и просто подвесил ее на пластиковом дюбеле вместо штатной крышки.

Сделал управление касанием, применив touch-сенсор. В качестве самого сенсора — металлическая деталь в нижней части люстры. Изнутри в нее вставлен короткий провод, подпаянный к площадке на сенсоре.

Также впервые применил select.

Особенности:

  • Металлическая часть соприкасается с таким же металлическим каркасом люстры, в итоге тот начал работать как одна большая антенна и появились ложные срабатывания. Пришлось чуть рассверлить посадочное место, проложить изоляционные шайбы с двух сторон, а на шток надеть отрезок трубки. После этого все стало нормально.
  • SSR включены между питанием и GPIO. Из 5 реле попалось одно, которое неустойчиво удерживало включенное состояние при уровнях 3,3В — лампа мерцала, пока что-то где-то не прогревалось и не менялся порог срабатывания. Исправил тем, что пересадил плюс реле на 5В через диод (сначала два, но оказалось недостаточно). В итоге, с одной стороны, ток в закрытом состоянии с шины +5В не такой, чтобы как-то влиял на ESP32, с другой — теперь для реле уровни достаточные, чтобы то четко срабатывало.
  • Выключатели пока оставил штатные. В итоге один размыкает питание целиком, второй подключил через детектор наличия фазы и им можно управлять люстрой. Буду ли менять все на кнопку без фиксации — пока не решил.

Управление: короткие нажатия сенсора — добавление или убавление числа ламп. По достижению максимального или минимального количества идет смена направления переключения. Удерживание до одной секунды — смена направления переключения. Длительное (1-5 секунд) — включение или выключение всех ламп (если светится одна-две — включаем все. Если светится больше — все  выключаем. Т.е., резкий переход в противоположное состояние). Переключения выключателя на стене аналогично коротким касаниям сенсора.

Из автоматизаций — приглушаю свет при воздушных тревогах и включаю обратно при снятии тревоги; приглушаю на время тренировки в Zwift’е и возвращаю обратно — после.

Конфиг ESP Home