Датчик температуры в датчике WB-MSW v.3 143 (прошивка 4.31.4, WB wb-2401) показал единожды значение 263 Градуса. Стоит он дома, в зале, играет роль термостата. С чего так может быть? Я бы и не заметил, если бы не приглядывал за температурой и включением котла во вкладке История. Но я и не всегда интересуюсь историей, потому не могу сказать, как часто он такое выдает. Судя по таблице, после того как он выдал аномалию в градусах, исчезли показания температуры на 8 минут в никуда, но например напряжение он выдавал исправно (см таблицу ниже). Диагностический архив создал, готов отправить.
в это время в телегу пришло от рулис “Ошибки в устройствах Modbus” (за основу взято с Примеры правил — Wiren Board Обработка ошибок в работе с serial-устройствами)
Создано правило (рулис), за основу кода взято Примеры правил — Wiren Board - Обработка ошибок в работе с serial-устройствами, с отсылкой в телеграмм. Так вот телега шлет о том, что иногда WB-MSW v.3 или v.4 (прошивка 4.31.4, WB wb-2401) выдают ошибки. (к слову сказать WB-MSW ни разу не настраивались на ROM и RAM). Если просто заглянуть в каналы MQTT, то там все хорошо и все ок, все зеленым. Но раз рулис видит ошибки, то он их вышлет. Как реагировать на это?
В любой момент я как человек (не рулис) вижу, что датчики исправно работают, все каналы MQTT в состоянии ок! Если бы не рулис и не знал бы, что возникают ошибки))) Код рулиса выслал в след ответе.
Темы я объединил, поскольку проблема одна и та же.
Опишите подробнее, какое оборудование и как подключено? Какие версии прошивки и аппаратной ревизии у устройств? Приложите электрическую схему подключения. Так же для диагностики проблемы пришлите, пожалуйста, архив с диагностической информацией контроллера. Создание архива описано в документации.
Отправил Вам в личку: диагностический файл, устройства и прошивки (со сканирования). Все на одной шине, витая пара, проложено по рекомендуемой вами схеме RS-485:Физическое подключение — Wiren Board. Питание 24В 36Вт (с запасом мощности, делал расчет падения напряжения на кабеле - по ссылке выше).
В логах вижу ошибки вида: Serial protocol error: malformed response: invalid crc, но они не частые, что в общем не страшно. Что касается неиспользуемых каналов — можете отключить их опрос.
По неверному показанию температуры — такое наблюдалось только один раз?
Еще желательно включить отладочные сообщения для serial — так будет понятнее из-за чего возникают ошибки.
Что касается неиспользуемых каналов - отключу.
По неверному показанию температуры - увидел один раз.
Отладочные сообщения для serial устройств включены.
Возможно эти темы тоже можно связать (WB-M1W2 v2 обновление до 4.32.2, отвалились DS18B20), ну вот снова ни с того, ни с сего отвалились датчики температуры (поможет только физическое отключение/вкл):
Мне кажется, совсем не факт, что 236 гр. приехали от датчика. Не воспринимайте значения, которые вы видите на графике, как реально поступившие - там проводится обработка, вычисляются средние, максимальные и минимальные значения для интервалов. Это может быть ошибка wb-mqtt-db. Там у вас максимальное значение вообще выше 1400 гр. (вершина голубого треугольника).
Я всегда делаю обработку сырых значений, поступающих от датчиков. И если пришедшее значение выходит за границы возможного диапазона, не обрабатываю его и пишу сообщение в лог.
Ну это же не нормально?) Или это норм?) А как Вы “делаю обработку сырых значений, поступающих от датчиков. И если пришедшее значение выходит за границы возможного диапазона, не обрабатываю его и пишу сообщение в лог.”?
Не нормально. Но надо постараться эту ситуацию повторить. Для этого я бы написал правило, которое при публикации значения выше (условно) 100 гр. писало бы в лог. Потом, если на истории будут подобные всплески, посмотрел бы лог. Если в логе пусто (нет сообщений о температуре выше 100) - проблема в wb-mqtt-db - общаемся с техподдержкой про wb-mqtt-db. Если сообщения есть - проблема с датчиком - общаемся с техподдержкой про датчик.
Если это датчик комнатной температуры, то я понимаю, что значения могут быть в диапазоне 0…50 гр.С. Если приходит значение вне диапазона - пишу в лог, но в правилах это значение не обрабатываю, оно точно “дефектное”. Можно в этот момент взвести таймер, и если за заданное время не пришло нормального значения - поднимать тревогу.
Ошибки вполне могут быть, те же помехи искажают сигнал. Но данные от датчиков идут постоянно, и даже если 9 из 10 пакетов с ошибками, корректные данные все равно поступают, и с ними можно работать. Это я к тому, что не надо из-за каждого error=r переживать. Но если ошибок много - стоит проверить, насколько правильно выполнена линия RS-485.
А много это сколько? Исходя из Вашего опыта? Мой друг к WB по Modbus подключил 2 устройства и его по этому рулис засыпало ошибками. Вы не могли бы на тестовом оборудовании этот рулис прикрутить (в телегу слать) и понаблюдать, пожалуйста. Может это какая-то массовая штука и нужен другой подход к этому…
Вот с реального дома, на котором более 10 Modbus модулей. Сами видите, что ошибки проскакивают регулярно. Такую картину я считаю не идеальной, конечно, но вполне допустимой.