• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

TLSR8251 + LCD + термометр = LYWSD03MMC XIAOMI Bluetooth термометр

pvvx

Активный участник сообщества
2,5ГБ записи на SSD за сутки всё равно как-то многовато для такой примитивной системы.
Сегодня месяц (23 октября - 23 ноября) как установлен новый SSD и ровно 200 ГБ записей без учета "усиления записи":
Данные, отправленные на запись хостом: 1700647601682.png

Коэффициент Усиления Записи = Данные, записанные на флэш-память / Данные, отправленные на запись хостом

На eMMS записей ~13 ГБ.
 

cool2000

Member
Зачем тогда вообще используете HA?
120 дней это чтобы можно было быстро посмотреть графики в HA. Всё что дольше 120 дней, хранится в VictoriaMetrics.
Датчики и исполнители сами могут работать и без HA. Тем более это гораздо надежнее.
Могут, наверное, и будет точно надёжнее, но какая есть альтернатива, чтобы можно было легко добавлять устройства, настраивать сценарии и т.д.?
К примеру координатор Zigbee2BLE потребляет всего около 5 мА 3В.
А для установки только z2m нужно от пары сотен мегабайт RAM, производительность в несколько ГГц у CPU, диск SSD, не дешевый адаптер Zigbee, роутер на сеть, жрущий ещё Амперы ...
Координатор у меня типа такого с внешней антенной. Потребляет не сильно больше. z2m не использую, достаточно znp.
 

cool2000

Member
pvvx написал(а):
Включение/выключение света и прочие выключатели должны отрабатывать за не менее 200 мс.
Есть пару таких связок Zigbee датчик движения - свет, не знаю, как точно замерить время реакции, но в 0,5сек HA точно укладывается.
pvvx написал(а):
Вопрос - как в HA заставить держать температуру в +-0.1С
В HA держать температуру с такой точностью, наверное, никак. Для управления отоплением, вполне справляется.
 

pvvx

Активный участник сообщества
Этот патч можно где-то увидеть? Нашёл только, как настроить интервал изменения для отправки значения сенсора .
 

pvvx

Активный участник сообщества
Ещё ZHA не умеет ни читать, ни записывать атрибуты. Может, но только некоторые...
В ZHA подход напоминает программу ребенка в Arduino. Всё задано жестко.
А z2m жрет ресурсы как второй HA.
Как итог - Zigbee в Home Assistant это полный бардак и не настроен к пользователю. При этом BLE в HA более лоялен и в десятки раз проще для обычного обывателя.
 

cool2000

Member
А z2m жрет ресурсы как второй HA.
Z2M: в добавление к Python ещё JS, в печку такое. Python не блещет производительностью, но как могло вообще в голову придти написать обработчик ZigBee на javascript. То, что спокойно помещается в мегабайт RAM (Z3Gateway от Silabs) теперь отжирает полгига RAM и ресурсы CPU.
ZHA-ZNP+Tuya у меня поначалу спокойно крутился на однопроцессорном beaglebone с 512MB RAM.

А как Bluetooth Low Energy Monitor отобразить 2 знака после запятой? Сами данные пишутся и на графиках отображаются с 2-мя знаками, но почему-то в dashboard отображаются с одним.
 

pvvx

Активный участник сообщества
Этот патч можно где-то увидеть? Нашёл только, как настроить интервал изменения для отправки значения сенсора .
У Telink в коде к Zigbee, существует такой комментарий:
C:
/**
 *  @brief  If minInterval is 0, then there is no minimum limit;
 *          if maxInterval is 0xffff, then the configuration info for that attribute need not be maintained;
 *          if minInterval is 0xffff and maxInterval is 0, than back to default reporting configuration, reportable change field set to 0.
 */
Но не вижу нигде использование таких значений настроек по умолчанию...
 

cool2000

Member
pvvx написал(а):
Но не вижу нигде использование таких значений настроек по умолчанию...
"config": (REPORT_CONFIG_MIN_INT, REPORT_CONFIG_MAX_INT, 50),
Будет ли достаточно поменять значения?
REPORT_CONFIG_MIN = 10 (в const.py - 30) и 10 вместо 50 (диапазон изменения значения, требующий передачу)

Для одного из термометров (TZE200_bjawzodf TS0601) патч не помог. Не вижу ничего сязанного с округлением в zhaquirks/tuya/ts0601_sensor.py...
 

pvvx

Активный участник сообщества
Z2M: в добавление к Python ещё JS, в печку такое. Python не блещет производительностью, но как могло вообще в голову придти написать обработчик ZigBee на javascript. То, что спокойно помещается в мегабайт RAM (Z3Gateway от Silabs) теперь отжирает полгига RAM и ресурсы CPU.
ZHA-ZNP+Tuya у меня поначалу спокойно крутился на однопроцессорном beaglebone с 512MB RAM.
Какие ещё ресурсы у тупого TLSR825x ?
Не вижу никаких проблем для настройки координатора Zigbee использовать js.
Калякал как-то просто набор тестов для Zigbee2BLE - координатора Zigbee с управлением по протоколу HCI через соединение BLE, и ретрансляцией датчика в рекламу BLE.
Zigbee2ble.html - все функции как у ZHA и более (но не раскрашено).

Если ребенку, дошкольнику объяснить что и почем в Zigbee, то он накалякает программу лучше.
"config": (REPORT_CONFIG_MIN_INT, REPORT_CONFIG_MAX_INT, 50),
Будет ли достаточно поменять значения:
REPORT_CONFIG_MIN = 10 (в const.py - 30) и 10 вместо 50 (диапазон изменения значения, требующий передачу)
Менее 30 секунд для HA ставить бесполезно. Для Zigbee усреднения за период не работает. Только для BLE.
Типовой сброс данных в HA вроде 60 сек.
 

pvvx

Активный участник сообщества
Для одного из термометров (TZE200_bjawzodf TS0601) патч не помог. Не вижу ничего сязанного с округлением в zhaquirks/tuya/ts0601_sensor.py...
Это Tuya - там свои, китайские, тараканы в датчике. Обычно - никаких настроек Zigbee 3.0, никаких правил Zigbee, что-то шлют кому попало и когда захотят...
 

pvvx

Активный участник сообщества
В данные датчики TS0601 TZE200, TS0601 TZE204 китайцы поставили второй MCU. Им одного TLSR8258 c 1МБ flash не хватило и сами датчики влажности и температуры обслуживает этот дополнительный MCU, а связь с большим - через UART. Потребляют много, а толку мало...
 

cool2000

Member
Какие ещё ресурсы у тупого TLSR825x ?
Z3Gateway от Silabs это и есть Z2M, написанный на C. Разбирает данные от координатора и отправляет в mqtt, и в обратную сторону. Заточен исключительно под Silabs. Я его запускал на Zigbee роутере с 32MB RAM. Там же и брокер крутился.
pvvx написал(а):
Типовой сброс данных в HA вроде 60 сек.
Вроде такие значения
Код:
REPORT_CONFIG_MAX_INT = 900
REPORT_CONFIG_MIN_INT = 30
По идее REPORT_CONFIG_MIN_INT как раз ограничивает частоту следования при быстром изменении параметра. Дианазон изменения тоже задаётся. Например,
" config": (10 REPORT_CONFIG_MAX_INT, 10),
Датчик должен присылать данные не реже 10 сек при изменении параметра на большую величину, для температуры +- 0.1 градус.
 

cool2000

Member
Термометр TZE200_bjawzodf TS0601 с экраном, вот такой.
В данные датчики TS0601 TZE200, TS0601 TZE204 китайцы поставили второй MCU
И даже специальный протокол TuyaMCU изобрели. На польском сайте "электорода" обсуждается. Хотя передача этих параметры стандартизирована в BLE/ZigBee.
Самое смешное что этот TuyaMCU протокол отличается для ZigBee и WiFi/BLE устройств, т.е. тупо поменять модуль не получится.
 

pvvx

Активный участник сообщества
Z3Gateway от Silabs это и есть Z2M, написанный на C. Разбирает данные от координатора и отправляет в mqtt, и в обратную сторону. Заточен исключительно под Silabs. Я его запускал на Zigbee роутере с 32MB RAM. Там же и брокер крутился.

Вроде такие значения
Код:
REPORT_CONFIG_MAX_INT = 900
REPORT_CONFIG_MIN_INT = 30
По идее REPORT_CONFIG_MIN_INT как раз ограничивает частоту следования при быстром изменении параметра. Дианазон изменения тоже задаётся. Например,
" config": (10 REPORT_CONFIG_MAX_INT, 10),
Датчик должен присылать данные не реже 10 сек при изменении параметра на большую величину, для температуры +- 0.1 градус.
Это ни о чем не говорит в HA. Там своя жизнь - периоды передачи данных датчиков по самой системе :)
В BLE устанавливается в интерфейсе. Всё что чаще - будет усреднено за период.
В Zigbee - каша в коде, без доступа пользователя....
 

pvvx

Активный участник сообщества
Термометр TZE200_bjawzodf TS0601 с экраном, вот такой.
И даже специальный протокол TuyaMCU изобрели. На польском сайте "электорода" обсуждается. Хотя передача этих параметры стандартизирована в BLE/ZigBee.
Самое смешное что этот TuyaMCU протокол отличается для ZigBee и WiFi/BLE устройств, т.е. тупо поменять модуль не получится.
Перепрограммировать в BLE или Zigbee 3.0. Для TS0201 уже готово...
 

pvvx

Активный участник сообщества
Хотя передача этих параметры стандартизирована в BLE/ZigBee.
Ошибка - с BLE у Tuya всё по стандарту. Только никому нет дела до расшифровки рекламных сообщений от них.
Всё там правильно - в фрейме с кодом производителя передается номер устройства, с другим кодом данные...
В UUID при соединении всё в порядке, кроме тупых писанин китайских палаточных производителей в имени устройства. Им лень было менять типовое имя в SDK. Видимо спешили продать и не заменили. И все под одним именем :)
 
Сверху Снизу