Skip to content

Repository files navigation

Custom firmware for Tuya Switch models

  • _TZ3000_kqvb5akv

Repository tuya_mini_relay_zrd


Автор не несет никакой ответственности, если вы, воспользовавшись этим проектом, превратите свой умный switch в полоумный.

Если у вас другая сигнатура, лучше не заливать, не проверив на совпадение используемого модуля и GPIO.

Зачем.

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

Что получилось.

About


Вкладка Exposes

  • State - выводит текущее состояние реле.
  • Power-on behavior - настраивает в какой режим переходит реле при подаче питания.
  • Switch actions - настраивате, какую команду выполнять при нажатии на выносную клавишу.
  • Switch type - настраивает тип клавиши: toggle - звонковая, momentary - обычная перекидная, multifunction - множественные нажатия, от 1 до 5, удержание и отпускание. Выбор multifunction автоматически приводит к отвязыванию клавиши от реле.
  • Operation mode - настраивает управление реле с клавиши или отключает управление (отвязывание клавиши).
  • Power - выводит текущее значение мощности.
  • Voltage - выводит текущее значение напряжения.
  • AC frequency - выводит текущее значение частоты.
  • Current - выводит текущее значение силы тока.
  • Energy - выводит текущее значение накопленной энергии.
  • Energy reset - сбросить на 0 текущее значение накопленной энергии.
  • Protect control - включение контроля перегрузки по напряжению, току или мощности.
  • Automatic restart - включение нагрузки после устранения перегрузки (если до перегрузки реле было включено). Работает только для напряжения.
  • Voltage min - минимально допустимое напряжение. Если напряжение становится ниже этого параметра и Protect control включен, то нагрузка отключается. Если установлено в 0, то ограничение отключено.
  • Voltage max - максимально допустимое напряжение. Если напряжение становится выше этого параметра и Protect control включен, то нагрузка отключается. Если установлено в 0, то ограничение отключено.
  • Current max - максимально допустимый ток. Если ток становится выше этого параметра и Protect control включен, то нагрузка отключается. Максимальное значени 16А. Если установлено в 0, то ограничение отключено.
  • Power max - максимально допустимая мощность. Если мощность становится выше этого параметра и Protect control включен, то нагрузка отключается. Максимальное значени 3600W. Если установлено в 0, то ограничение отключено.
  • Time reload - время в секундах от 5 до 60 через которое произойдет попытка повторого включения после перегрузки по напряжени. Включение происходит только в том случае, если напряжение находится в пределах, между Voltage min и Voltage max.
  • Action - выводит действие клавиши в режиме multifunction.
    • hold - удержание,
    • single - одиночное нажатие,
    • double - двойное нажатие,
    • triple - тройное нажатие,
    • quadruple - четверное нажатие,
    • quintuple - пятерное нажатие,
    • release - отпустили клавишу, приходит после hold.

Вкладка Reporting

Настройка репортинга.

Репортинг кластера OnOff и кастомного атрибута лучше не трогать.

Репортинг остальных параметров можно настроить в соответствии с вашими желаниями.


Реле поддерживает прямой биндинг. Причем не важно, отвязана клавиша или нет.


Немного про запись накопленной энергии. Были жалобы, что такие реле часто просто так мрут. Считывание параметров сети происходит раз в секунду. Есть подозрение, что накопленную энергию они сохраняют в одно и тоже место. В этой прошивке применен другой метод. С адреса 0x96000 по адрес 0xFC000 находится неиспользуемое пространство (Reserved Area. см. drv_nv.h для прошивок без бутлоадера). Размер этой области составляет 0x66000 (417792 байт). Запись происходит каждый раз в новое место с шагом 256 байт. Итого мы имеем 1632 сегмента для записи. Запись происходит по кругу. Запись осуществляется по изменению параметра накопленной энергии, но не чаще 1 раза в минуту. Для визуального контроля за частотой записи, каждый раз при записи зажигается светодиод.


Подключение к сети происходит при длительном удержании кнопки на самом реле. Или при переключении клавиши не менее 10 раз подряд.


Как обновить.

Сначала нужно скопировать два конвертора из репозитория tuya_mini_relay_orig.js и ts0001_power-sld.js в папку zigbee2mqtt/external_converters.

Далее нужно добавить локальное хранилище обновлений.

Создаем директорию images в директории z2m и кладем туда файл 1141-d3a3-1111114b-tuya_mini_relay_zrd.zigbee.

Копируем в директорию z2m файл local_ota_index.json

В конфиг z2m configuration.yaml добавляем локальное хранилище

ota:
  zigbee_ota_override_index_location: local_ota_index.json

Далее перегружаем z2m. И видим у нас новое устройство.

Далее идем в раздел OTA. И видим там свое устройство. Жмем проверить обновления.

Жмем на появившуюся красную кнопку. И обновляемся.

Если все не так, как описано, значит вы что-то сделали не по инструкции (не положили файл куда нужно, не перегрузили z2m) или сигнатуры вашего switch'а нет в списке поддерживаемых устройств.

Warning

Внимание!!! Если в процессе вы обнаружите на каких-то устройствах Туя, которые возможно у вас есть еще в системе, новое обновление, то обновлять ничего не нужно!!! Иначе вы зальете в это устройство прошивку от реле и получите кирпич!!! Если же процесс обновления по ошибке уже начался, то просто обесточьте это устройство!!!

Далее ждем окончания.

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

Удаляем верхнюю копию реле, она нам больше не понадобится.


Защита от перегрузок

Защиту можно выставить по трем параметрам - напряжению, току и мощности. Защита включается глобально через Protect control. Если какой-то параметр контролировать не нужно, его необходимо выставить в 0 и контроль над этим параметром отключится. Защита отключит реле при действии перегрузки более 5 секунд. Параметр Automatic restart служит для автоматического включения нагрузки после отключения из-за перегрузки по напряжению, если до отключения реле было включено. Параметр Time reload регулирует время, через которое после устранения перегрузки по напряжению, нагрузка подлючится обратно.

Warning

Внимание!!! Будьте аккуратны с параметром Automatic restart. Допустим напряжение в сети упало до близкого к параметру Voltage min. При включении большой нагрузки напряжение просядет еще больше. Сработает защита, нагрузка снимется, напряжение опять немного поднимется. Реле включится, подсоединит нагрузку, напряжение опять просядет и снова сработает защита. И так может продолжаться достаточно долго, пока напряжение в сети не придет в норму.


Отдельная благодарность Виктору за разъяснение, как сделать более универсальную прошивку - pvvx


Связаться со мной можно в Telegram.

Если захотите отблагодарить автора, то это можно сделать через ЮMoney


История версий

  • 1.0.01
    • Начало.
  • 1.0.02
    • Добавлены Actions для клавиши.
  • 1.0.03
    • Изменена обработка записи накопленной энергии.
  • 1.0.04
    • Изменена структура прошивки. Прошивка собрана без bootloader'а.
  • 1.0.05
    • Добвлен контроль перегрузки по напряжению, току и мощности.
  • 1.0.06
    • Изменено время действия перегрузки. Сейчас это составляет 5 секунд.
  • 1.0.07
    • Добавлены делители и множители для частоты, напряжения, тока, мощности и энергии.

Наверх

About

tuya_mini_relay_zrd

Topics

Resources

Stars

71 stars

Watchers

4 watching

Forks

Releases

Packages

Contributors

Languages