Не зависимо от того какое устройство, нулевые значения не отображаются. Пробовал менять настройки wb-mqtt-db.conf, но безрезультатно, прикладываю скрины:
Здравствуйте, попробуйте закрыть датчик освещенности на время или снять напряжение со входа устройства которое его мерит. Проблема проявляется когда значение контрола становится нулевым и не обновляется, и судя по всему проблема проявляется только на физических устройствах, например вирт устройства отображают нули корректно, прикладываю скрин
Как видно по этому графику, нулевое значение записывается каждый час, как и указано в настройках истории данных mqtt.
На физических устройствах это так не работает, прикладываю еще скринов с ваших устройств, в первом случае освещенность с датчика МСВ в4, во втором напряжение на входе реле МРВМ2
По первой таблице хорошо видно, что 0 не записывался более 12 часов, хотя на освещенность есть даже отдельная настройка в истории данных (см. скрины в первом сообщении).
Более того, я использую этот параметр для проверки есть ли освещенность ночью и все работает корректно, значение точно становится нулевым.
Даже если предположить, что 0 не публикуется, то на моем скрине с графиком освещенности из прошлого сообщения, должно было записываться последнее полученное значение каждый час (если я все правильно понимаю), а там явно виден провал в 12 часов по таблице, т.е. 12 часов не было никаких записей в историй, пока параметр не стал больше 0.
У вас получилось воспроизвести это с одним из устройств?
Кажется нашел ошибку у себя, не был активирован пункт с публикованием неизменившихся значений в настройках драйвера сериал устройств, неочевидно конечно, с условием того что в настройках истории данных есть некий интервал записи неизменившихся значений…если вас не затруднит, пожалуйста, объясните в чем разница между ними
Нет. Драйвер не публикует неизменившееся значение. То есть оно не меняется - не публикуется.
Сервис истории, соответственно, не имеет никаких таймеров, он реагирует только на публикацию драйвером. Если драйвер публикует значение, пусть то же самое, неизменное - но публикует и с момента последней записи в истории прошло больше или равно чем “Минимальный интервал записи, если значение не изменилось (с)” - только тогда запишется.
Это и не нужно для работы, лишняя нагрузка на контроллер просто.