Как отследить готовность wb-mqtt-serial?

Добрый день.

Да, верно.
При перезапуске (остановке) сервис записывает в топики null а при запуске - 1

/rpc/v1/wb-mqtt-serial/port/Load (null)
/rpc/v1/wb-mqtt-serial/ports/Load (null)
/rpc/v1/wb-mqtt-serial/port/Load 1
/rpc/v1/wb-mqtt-serial/ports/Load 1

И да, Load 1 становится уже после создания топиков устройств.

Архитектурно - да.
Точнее - это не связано наприямую с правилами.
При завершении работы wb-mqtt-serial удаляет все топики своих устройств, что можно заметить в интерфейсе, устройства пропадают.
А после запуска - создает снова (значение null, пустое), затем читает из устройств актуальные значения и записывает (null->значение).
Вот как раз на изменение значения правила и срабатывают.
Если планируется именно в работе, штатно, останавливать-запускать wb-mqtt-serial то значение тех же счетчиков можно хранить в переменной.
Логика тогда примерно такая, при входе в правило проверять:
Значение null - выходим
Значение равно сохраненному - выходим.
иначе - обновляем сохраненное, выполняем правило

Как приятно видеть сразу версии.

1 лайк