Thanks to visit codestin.com
Credit goes to github.com

Skip to content

slacky1965/ts0201_tz3000_zed

Repository files navigation

Альтернативные версии на различные датчики Zigbee можно еще посмотреть у pvvx.

Custom firmware for Tuya sensor models

  • TS0201 _TZ3000_xr3htd96
  • TS0201 _TZ3000_fllyghyj
  • TS0201 _TZ3000_0s1izerx

Прошивка для этих датчиков имеет в имени число 0x15

  • TS0201 _TZ3000_dowj6gyi

Прошивка для этих датчиков имеет в имени число 0x21

  • TS0201 Zbeacon

Прошивка для этих датчиков имеет в имени число 0x22

  • ZG-227Z HOBEIAN

Прошивка для этих датчиков имеет в имени число 0x23

  • TH01 Zbeacon

Прошивка для этих датчиков имеет в имени число 0x24

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

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

Проверялся в zigbee2mqtt и HomEd.

Зачем.

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

Ну и еще. Оригинальная прошивка не умеет показывать температуру, ниже -20 градусов. А сам сенсор CHT8305 умеет до -40.

А потом в зоне внимания стали появляться другие датчики и проект несколько раздулся :))

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

About

Exposes

Reporting

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

Сначала подключаем к zigbee2mqtt один внешний конвертор. Он активирует OTA в zigbee2mqtt для датчика с прошивкой от Tuya. Конвертор ts0201_tz3000_orig.js кладем в директорию external_converters, которую нужно создать в корне zigbee2mqtt (корнем нужно считать ту директорию, где лежит конфигурационный файл configuration.yaml от zigbee2mqtt).

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

Создаем директорию images в директории zigbee2mqtt и кладем туда файл 1141-d3a3-1111114b-ts0201_tz3000_0x15_zed.zigbee для - TS0201 _TZ3000_xr3htd96, TS0201 _TZ3000_fllyghyj, TS0201 _TZ3000_0s1izerx. И копируем в директорию zigbee2mqtt файл _TZ3000_xr3htd96/local_ota_index.json

Для TS0201 _TZ3000_dowj6gyi кладем другой файл 1141-d3a3-1111114b-ts0201_tz3000_0x21_zed.zigbee и копируем в директорию zigbee2mqtt файл _TZ3000_dowj6gyi/local_ota_index.json

Для TS0201 Zbeacon кладем другой файл 1286-0202-1111114b-ts0201_tz3000_0x22_zed.zigbee и копируем в директорию zigbee2mqtt файл Zbeacon/local_ota_index.json

Для ZG-227Z HOBEIAN ничего никуда класть не нужно. У этого датчика в оригинальной прошивке не реализована OTA. К сожалению его можно прошить только по проводам через USB-UART адаптер. Как это сделать читать тут.

Для TH01 Zbeacon кладем другой файл 1286-0202-1111114b-ts0201_tz3000_0x24_zed.zigbee и копируем в директорию zigbee2mqtt файл TH01_Zbeacon/local_ota_index.json

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

ota:
  zigbee_ota_override_index_location: local_ota_index.json

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

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

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

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

Warning

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

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

После обновления нужно удалить устройство из zigbee2mqtt. Перегрузить zigbee2mqtt. Разрешить сопряжение. Зажать кнопку на 5 секунд, пока светодиод не начнет моргать и отпустить. Начнется сопряжение.

Все, датчик готов к работе.

Параметры устройства.

  • Battery - емкость батарейки в %.
  • Voltage - напряжение батарейки в mV.
  • Temperature - диапозон от -40 до +125 °C.
  • Humidity - диапазон от 0 до 100 %.
  • Temperature offset - калибровка температуры от -5 до +5 °C с шагом 0,1.
  • Humidity offset - калибровка влажности от -10 до + 10 % с шагом 1.
  • Read interval - интервал чтения сенсора. От 5 до 600 секунд с шагом 1. По умолчанию этот период задан в 10 секунд. Используется, если репортинг температуры или влажности установлен более 600 секунд. Эти параметры также влияют на то время, которое модуль "спит", т.е. находится в режиме экономии батареи. Время считывания сенсора берется из настроек репортинга, если он не первышает 600 секунд. Если превышает, то из Read interval.
  • Enabling repeat command - активирование повторения команд при активации Enabling temperature control и (или) Enabling humidity control.
  • Enabling temperature control - активирование управления удаленным устройством по температуре.
  • High temperature - высокая граница температуры - при переходе этой границы в большую сторону будет послана команда на включение удаленного устройства.
  • Low temperature - низкая граница температуры - при переходе этой границы в меньшую сторону будет послана команда на выключение удаленного устройства.
  • Enabling humidity control - активирование управления удаленным устройством по влажности.
  • High humidity - высокая граница влажности - при переходе этой границы в большу сторону будет послана команда на включение удаленного устройства.
  • Low humidity - низкая граница влажности - при переходе этой границы в меньшую сторону будет послана команда на выключение удаленного устройства.
  • Temperature actions - настраивает, какую именно команду мы шлем при управлении удаленным устройством по температуре. Если этот параметр установлен в heat, то при увеличении и достижении High temperature температуры высылается колманда off, а при уменьшении и достижении Low temperature температуры высылается команда on. Таким образом мы получаем режим работы нагревателя. Если же параметр Temperature actions установлен в cool, то команды меняются местами. Таким образом мы получаем режим работы охладителя.
  • Humidity actions - настраивает, какую именно команду мы шлем при управлении удаленным устройством по влажносте. Если этот параметр установлен в wet, то при увеличении и достижении High humidity влажности высылается колманда off, а при уменьшении и достижении Low humidity влажности высылается команда on. Таким образом мы получаем режим работы осушителя. Если же параметр Humidity actions установлен в dry, то команды меняются местами. Таким образом мы получаем режим работы увлажнителя.

Немного про настройку прямого биндинга для управления каким-либо устройством.

Для управление внешним устройством напрямую нужно сперва настроить биндинг. Это делается во вкладке Bind в zigbee2mqtt. Выбираем Эндпоинт 1 для температуры, затем выбираем устройство, которым хотим управлять, отмечаем кластер OnOff. Затем нажимаем кнопку на самом датчике, чтобы его разбудить и после жмем Bind в интерфейсе zigbee2mqtt. Система оповестит об успешном соединении или об ошибке.

Далее выбираем Эндпоинт 2 для влажности и повторяем процедуру.

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

Warning

Внимание!!! Если биндинг настроен на группы. Если температура и влажность забинжены на разные группы, но в этих группах есть одно и тоже устройство, могут быть сюрпризы по зацикливанию включения и выключения! В этом случае рекомендуется не включать повтор команд Enabling repeat command.

Потребление

При настройке по умолчанию Read interval 10 секунд двух батареек ААА должно хватить минимум на 2 года.

При настройке Read interval 60 секунд двух батареек ААА должно хватить лет на 8 (не забываем менять MinInterval в отчетах температуры и влажности на такое же значение).

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

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

P.S. Датчик покупался по ссылке вот из этого проекта в октябре 2024, но сейчас продавец в Россию не отправляет. И спасибо Виктору за предоставленную информацию по этому датчику. Второй датчик покупался вот тут (за это отдельное спасибо Олегу).

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

  • 1.0.01
    • Начало.
  • 1.0.02
    • Выявлены и устранены баги с передачей влажности и высокой температуры.
  • 1.0.03
    • Откорректирована принудительная передача репортов при нажатии на кнопку.
    • Устранены баги с отчетами (SDK не идеальна).
    • Добавлены в Output Cluster List кластеры температуры, влажности и батарейки.
  • 1.0.04
    • Добавлены репорты ВСЕХ значений по нажатию кнопки.
    • Изменена структура прошивки, теперь не нужно обновлять оригинальное устройство два раза.
    • Добавлены раздельные каналы управления сторонними устройствами. Отдельно по температуре, отдельно по влажности.
    • Добавлено повторение команды на сторонние устройства, если температура или влажность не изменяются.
  • 1.0.05
    • Добавлена дополнительная проверка при включении контроля по температуре и(или) влажности. И команда On или Off отправляется сразу, в зависимости от значения этих параметров.
  • 1.0.06
    • Добавлен датчик TS0201 _TZ3000_dowj6gyi.
    • Включен watch dog.
  • 1.0.07
    • Добавлен датчик TS0201 Zbeacon.
    • Добавлен датчик ZG-227Z HOBEIAN.
  • 1.0.08
    • Добавлена проверка биндинга. Сделано для правильной работы команд OnOff, когда оба параметра (и влажность, и температура), забинжены на одно исполнительное устройство.
    • Добавлена возможность включать и отключать повтор команд.
    • Изменен выбор периода чтения сенсора.
    • Добавлен датчик TH01 Zbeacon.

Наверх

About

Tuya Temperature and Relative Humidity sensor with custom firmware

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published