Поведение датчиков wb-msw3 и wb-m1w2 всё ещё не понятно. Сам грешил на шину, но решил провести эксперимент:
На днях взял один из проблемных датчиков на стендовый контроллер. Повесил только его на rs-485-1. длина провода пол метра. Настроена максимальная скорость, быстрый модбас.
Поведение всё такое же. разрывы в показаниях. График из истории прилагаю
Диагностический архив прилагаю. diag_output_AOO5F5MZ_2024-09-30-14.26.15.zip (508,8 КБ)
Повторю: на msw-v4 такого поведения не наблюдаю. там абсолютно стабильно показания через равные промежутки времени.
Данные перерывы влияют на адекватность поведения контроллера отопления (периодически считает что датчик отвалился) и на spruthub.
по предыдущей теме был совет:
“Очень важно подписаться на топик температуры, где проявляется проблема (с фиксацией времени)”
Подскажите - раздел история с графиками - это же и есть подписка на mqtt топик с фиксацией времени? или графики на что-то другое подписываются?
ещё добавлю наблюдение:
сделал график с показаниями температуры, влажности, освещенности.
Наблюдаю: показания влажности (оранжевый) и освещенности (зелёный) передаются стабильно через равные промежутки времени.
Температуры (синий) - передаются нестабильно
Добрый день.
Обратите внимание на то что для устройства 245 есть ошибки шины. Не настолько часто чтобы это имело значение но при одном устройстве на шине - но есть.
Судя по изменениям температуры - работает верно.
По ошибке на шине - любопытно. Шина состоит из одного устройства на куске хорошей витой пары 0,5м. Условия обычные - не цех.
Как понимать периодические задержки в показаниях?
А как настроено для группы к которой принадлежит датчик в сервисе истории “промежутки”? Я не вижу для него отдельных записей. Иными словами - что, какое событие должно инициировать записи?
каналы в настройках history были выбраны “all”
В нём параметр Минимальный интервал записи значений (с) - 120. Вижу, что показания всех сенсоров кроме температуры записываются каждые 2 минуты.
Тут же нашёл Минимальный интервал записи, если значение не изменилось (с). было 1200. это 20 минут. Но иногда показания не записываются больше часа.
Сейчас выставил тоже 120. Понаблюдаю
Вижу забавную тенденцию: когда в офисе никого нет (это с 06:00 29.09.2024 до 07:30 30.09.2024) - показания передаются не стабильно. Как только в офис приходят люди ( с 07:30 30.09.2024 до 19:57 2024) показания поступают постоянно. Вчера в 19:57 я положил датчик в коробку, показания опять стали передаваться с перерывами. Утром в 08:00 вынул из коробки - показания стали передаваться постоянно.
В настройках "Минимальный интервал записи, если значение не изменилось (с) " вчера поставил 120.
Есть ощущение что измерения температуры делаются постоянно когда начинает работать какой-то другой датчик.
Сейчас на обед положил датчик в тёмную коробку - понаблюдаю с 12 до13
Моя теория о зависимости показаний датчика температуры от показаний других датчиков не подтвердилась.
Прошу подсказать, почему ещё я могу наблюдать такие разные графики днём и ночью?
// Минимальный период записи опорных точек в базу по одному каналу в секундах.
// Опорные точки пишутся, если были получены сообщения с неизменившимися данными.
"min_unchanged_interval" : 3600,
В период времени когда значение не меняется - оно и не публикуется, Соответственно для записи нет оснований. Но вот если драйвер например перезапустить - то он именно опубликует вновь прочитанное из устройства значение в топик. И если с предыдущей публикации прошло больше настроенного времени - то появится запрись в базе.
Почему этот параметр "Минимальный интервал записи, если значение не изменилось (с) " в настройках сервиса история не влияет на
“min_unchanged_interval”?
2 вопрос: Другие сервисы берут данные из этой базы?
Если бы менялся - то при установке значения 120 у меня бы не было неравномерной записи показаний
Не конфиг, а данные другими сервисами берутся из db?
Расскажу предысторию проблемы, описанную в предыдущей теме:
Есть у Вас сервис: Шлюз MQTT - SmartWeb. Оборудование постороннее, но интеграция поддерживается только командой wirenboard.
С помощью этой интеграции показания датчиков температуры передаются в контроллер отопления SmartWeb.
В итоге наблюдаю проблему: На всех датчиках MSW-v3 и M1W2, которые у меня есть, и на которых показания передаются неравномерно (а повторюсь, эта проблема только на MSW-V3 и M1W2. на MSW-V4 её нет) - контроллер SmartWeb постоянно ругается на отвал датчиков. При отвале датчиков наблюдаю неправильное поведение термостатов, созданных на базе Smartweb. SmartWeb говорит что они отношения к интеграции не имеют. Но проблема имеет место.
ПОВТОРЮСЬ. Проблемы на датчиках MSW-v4 нет вообще. я и в графиках вижу постоянный период показаний и SmartWeb ведёт себя как и ожидается
wb-mqtt-serial опрашивает устройства и публикует значения в топики. Если значение при опросе не изменились, то публикации не происходит (по умолчанию). Далее (Node-RED) получает сообщения через MQTT. Соответственно, значения 23.5, как я понимаю, и не публиковалось, т.к. serial таких значений не считывал, а после 23.4 считал 23.6. А по кривой роста температуры из графика это как раз и видно.
В вашем случае вы можете сделать следующее:
в “Настройках” - “Конфигурационные файлы” - в свойствах “Настройки драйвера serial-устройств” активируйте пункт “Интервал публикации неизменившихся значений” и установите подходящий вам интервал.