Добрый день.
Получилось воспроизвести данную проблему.
Использую WB-M1W2 и два DS18B20 (в гильзе, приобретенные не в Wiren Board).
Менее чем через 2 суток один датчик отвалился и восстановился после переподачи питания на модуль.
Отдал данный вопрос на проработку разработчикам.
На данный момент можете вернуть прошивку на предыдущую версию по инструкции из документации.
И у меня отвалился:
Как долго разработчики исправляют ошибку (по Вашему опыту)? Ошибка же может быть и в обновлении загрузчика, а его откатить можно? Если в течение недели поправят, то терпит)! Повторюсь - падают любые датчики в тч купленные в WB, удлиненные и не удлиненные по непонятной логике)!
Лично Вам большое спасибо, что поверили и вели меня по этому вопросу (подсказывали мне как и что делать) до, скажем так - логического состояния)!!!
Написал вот такой rules, true состояния с датчика приходит, а если датчик упал то false не приходит. Приходит только ошибка в meta/error (а они иногда и просто так выходят см WB-MSW v.3 Датчик температура 236 градусов - #18 от пользователя dust). Как подправить код, чтобы узнавать, что датчик отвалился?
function sendTelegram(message) {
var token = "ххх";
var chat_id = 123456789;
var command = 'curl -s -X POST https://api.telegram.org/bot{}/sendMessage -d chat_id={} -d text="{}"'.format(token, chat_id, message);
runShellCommand(command);
}
defineRule({
whenChanged: [
"wb-m1w2_50/External Sensor 1 OK",
"wb-m1w2_50/External Sensor 2 OK",
"wb-m1w2_38/External Sensor 1 OK",
"wb-m1w2_38/External Sensor 2 OK",
"wb-m1w2_47/External Sensor 1 OK",
"wb-m1w2_47/External Sensor 2 OK",
"wb-m1w2_79/External Sensor 1 OK",
"wb-m1w2_79/External Sensor 2 OK",
"wb-m1w2_141/External Sensor 1 OK",
"wb-m1w2_141/External Sensor 2 OK"
],
then: function(newValue, devName, cellName) {
var message = devName + "/" + cellName + ": "
message += newValue ? "Работает" : "Не работает"
sendTelegram(message);
}
});
Добрый день.
Немного не понял в чем вопрос. Правило вроде рабочее. При отваливании датчика приходит “Не работает”, при восстановлении приходит “Работает”.
К сожалению, по срокам не подскажу. Смотря какая загруженность и с каким приоритетом падает задача.
Когда датчик работает - придет сообщение (работает), единожды (при перегрузки рулис), а вот когда датчик “отваливается” (false), код - не работает, сообщение не приходит… Не видит код то, что датчик отвалился. Не будет ли у Вас возможности загрузить себе этот код и проверить?
Столкнулись с такой же проблемой. датчики отваливаются по такой же схеме, как выше. сейчас вариант только откатить прошивку?
возможность дернуть питания wb-m1w2 нету, но после загрузки новой прошивки загрузчика - датчики ожили - 1 день наблюдаю - пока живут.
Надо определиться, где ошибка в коде. Если просто логгировать состояние в функции sendTelegram(message)
, то все отрабатывает как надо. Посмотрите корректно ли вы реализовали отправку телеграм-сообщений в самой функции sendTelegram(message)
.
Речь о какой версии прошивки? У меня воспроизвелось с версией 4.32.2, но механизм воспроизведения не ясен, т.е. просто ждать, что не продуктивно в решении проблемы.
прошивка когда датчики отвалились была 4.32.2
а вот версия загрузчика была старая. после обновления версии загрузчика датчики пока живут - варианта два - либо есть какая-то проблема между связки версии загрузчик и прошивки, либо установка новой версии загрузчика перезагрузило модуль без сброса питания и датчики могут опять отвалиться
со сценарием воспроизведения не подскажу. сейчас таких два модуля установлены, к каждому подключено по 2 датчика DS18B20 (брали все одним заказом)
датчик может отвалиться один, второй работать, или оба отвалиться (одновременно или нет - не подскажу)
Вопрос взят в работу со стороны отдела прошивок. Сложность заключается в том, что пока не понятен механизм стабильного воспроизведения проблемы. Будут разбираться.
неделя прошла, ничего не отваливалось.
Сегодня обновил загрузчик на 5 устройствах Update: 1.3.0 → 1.4.0. На момент описания проблемы его (загрузчика 1.4.0.) не было. Буду наблюдать!
PS Правда обновление проходит только со второго раза. Одну и туже команду даю (wb-mcu-fw-updater update-bl -a141 /dev/ttyRS485-1). При первой команде выходит: Flashing bootloader to (/dev/ttyRS485-1 141; response_timeout: 0.20s) has failed! При второй (повторяю - точно такой же) - прошивка садится.
Один сегодня уже отвалился…
Данной проблемой сейчас занимаются разработчики. О ее решении постараюсь вас оперативно уведомить.
Добрый день.
@vova02, @Sander
Появилась прошивка с потенциальным багфиксом проблемы. Можете обновить прошивку командой:
wb-mcu-fw-updater update-fw -a 110 /dev/ttyRS485-1 --branch bugfix-72628-sensors-fail
Укажите адрес своего устройства и номер порта. Как обновитесь, сообщите, понаблюдаем появится ли снова проблема.
Спасибо большое Михаил! Обновил пока один, с номером 50, который отвалился недавно. Остальные после перепрошивки загрузчика (пока работают), наблюдаю! По мере того, как будут отваливаться другие - буду обновлять и их. Пока хочется понять логику отваливаливания (если она есть).
root@wirenboard-XXXXX:~# wb-mcu-fw-updater update-fw -a50 /dev/ttyRS485-1 --branch bugfix-72628-sensors-fail
2024-03-15 09:10:41,109 Will find serial port settings for (/dev/ttyRS485-1 : 50; response_timeout: 0.20)...
2024-03-15 09:10:48,333 Has found serial port settings: {'baudrate': 115200, 'parity': 'N', 'stopbits': 2}
2024-03-15 09:10:49,070
2024-03-15 09:10:49,070 Flashing device: "m1w2G21" branch: "bugfix-72628-sensors-fail" version: "release" is requested.
2024-03-15 09:10:49,071 Stability cannot be guaranteed. Flash at your own risk? [Y/N]
Y
2024-03-15 09:10:55,001 Confirmed update: 4.32.2 -> 4.32.2
2024-03-15 09:10:58,508 Flashing /var/lib/wb-mcu-fw-updater/fw/m1w2G21__4.32.2_bugfix-72628-sensors-fail_3ec529b.wbfw
100%|#################################################################################|214/214
2024-03-15 09:11:24,009 Done
Хорошо. Тогда наблюдаем за данным модулем.
Насколько я знаю, пока что не найден однозначный механизм воспроизведения проблемы, поэтому пока нет ответа на данный вопрос.