Всем здрасте!
Прошивка 2024.04.16d1 принесла нам, среди прочего, несколько новых функций, которые мы так долго ждали:
- у каждого устройства теперь есть состояние online, которое позволит контролировать их доступность, не прибегая как шаманствам в LUA (почти)
- теперь время шлюза можно задать вручную из LUA. Полагаю, это потребуется для автономных шлюзов - без интернета
- теперь в Info главной страницы веб-интерфейса выводятся дополнительные данные по MCU и RAM
MCU и RAM Info
Теперь отображается тип MCU и фрагментация памяти.
Online
Теперь устройство регулярно опрашивается шлюзом и при недоступности состояние online меняется на false. Поэтому, для важных устройств теперь можно, не прибегая к скриптам, сразу назначить действие при их отвале посредством правил SimpleBind. Например так будет отправлено сообщение в Telegram.
Раньше я использовал такое шаманство с LUA
Система контроля неплохо управляется. Период опроса устройств задается в меню Zigbee -> Config. Причем раздельно для роутеров и конечных устройств
- Routers global timeout: период опроса роутеров (по умолчанию 10 минут)
- EndDevices global timeout: период опроса конечных устройств (по умолчанию 25 часов)
Также, новое состояние может передаваться в MQTT:
- Add online to payload: включить отправку состояния online в MQTT
Если глобальные таймауты для некоторых устройств не подходят, то для каждого такого устройства можно период опроса настроить отдельно функцией LUA
zigbee.setTimeout(device, timeout)
Здесь:
- device: STR, FriendlyName, ieeeAddr или nwkAddr устройства
- timeout: INT, тамаут опроса в секундах
Например, для устройства с адресом 0xA4C138D8A539DB0F, сделаем таймаут 30 секунд:
Данная настройка не сохраняется после перезагрузки, поэтому не забудете добавить такую строчку в ваш init.lua для каждого устройства, требующего отличный от глобального таймаут.
Настройка времени шлюза из LUA
Теперь время можно установить вручную. Например, если имеются трудности с синхронизацией его из сети. Для этого добавлена функция
os.setTime(unixtime)
Здесь unixtime - это время в формате unixtime - количество секунд, прошедших с 1 января 1970 года. В сети полно конвертеров для получения времени в этом формате. Например такой
Пока, пока!
----------
Листинги скриптов
Поддержать канал
Заказать обучение