Снова MSW: перестал показывать температуру (

Сегодня несчастливый MSW вдруг перестал показывать температуру. Все остальные данные - в норме (значит, с обменом все ок).



В 13 часов показания возобновились. Что это такое?..
И вообще, почему график температуры такой странный? Ощущение, что периодически значения пропадают, а когда есть, - скачут (“пила”).
Графики влажности и VOC выглядят нормально. А температура - совсем ненормально…
Похоже, такая же ерунда (пропадания) есть и у СО2. Вот два графика с одного MSW - СО2 и VOC

Данные передаются в MQTT при изменении. Значит значение температуры не менялось с точностью до десятой градуса.

Здравствуйте!

Вероятно, что значение практически не изменялось, поэтому не публиковалось в топик MQTT, и, соответственно, не сохранялось в архиве.

В настройках serial-устройств для выбранного порта можно настроить интервал публикации в случае, если значение не изменяется (по умолчанию значение публикуется по изменению). Например, значение параметра Unchanged value posting interval равное 600 с будет задавать публикацию данных 1 раз в 10 минут даже если они не изменились. Для этого нужно добавить данный параметр на страницу:

А затем установить нужное значение:

Чтобы эти данные также сохранялись в Истории, нужно установить соответствующим образом параметр Minimum time interval between two data points with the same value (s):

У датчика MSWv3 значения температуры выдаются с одним десятичным знаком после запятой. Поэтому на графике с крупным масштабом это может выглядеть как скачки (например 24,4 → 24,5 ->24,4 градуса).

Первоначальная тема с проблемой датчика СО2: Перестал показывать значение СО2 датчик WB-MSW v.3 zigbee - #24

Опять проблема.
Первый график: данные СО2 и VOC с того же самого датчика, в котором заменен модуль СО2. График за последнюю неделю, со значениями VOC все ок (желтая кривая), но что с СО2 (зеленая кривая)? Они просто приходят все реже и реже…

Если смотреть крупнее за последние часы, то выглядит так:

Ок, для теста включаю второй MSW, не_zigbee, в тот же RS485. То есть на одном 485 висят теперь два MSW (больше устройст на порту нет) с дефолтными настройками, zigbee версия -21 адрес (зеленая кривая), обычный - 70 адрес (желтая кривая, в 21:20 датчик был подключен к графане).
Вот график значений СО2 с этих двух датчиков (расположены физически в разных местах, до 21 адреса 15 метров, до 70, которой специально подключен после 21 в цепочке, - 40 метров):

С обычным датчиком - все приходит (почти) нормально, с зигби - версии - “как бог на душу положит”.

Похоже на то, что датчик MSW Zigbee или неправильно откалиброван, или установлен в помещении, где уровень СО2 почти не изменяется.

Если у датчика включена автокалибровка и он установлен в помещении, которое плохо проветривается (уровень CO2 никогда не достигает 400 ppm), то постепенно датчик начнет принимать окружающий воздух как 400 ppm СО2.
Или же наоборот в этом помещении всегда очень свежо и там не находятся люди. Как видно на графике, уровень CO2 только изредка повышается чуть выше значения 400.

Попробуйте проветрить помещение и откалибровать датчик вручную по инструкции.
А потом отключить автокалибровку сенсора и регулярно проветривать помещение. Для проверки работоспособности можно подышать немного на датчик и проверить, будут ли приходить данные.

Хорошо. Тогда еще один график наложу, - данные с Xiaomi ClearGrass Monitor, который расположен рядом. Там, где данные есть, - по изменению кривой хорошо видно, что MSW рядом с ClearGrass.
А там, где их с MSW нет, - их просто … нет. Хотя, разумеется, СО2 изменяется.

То есть, когда данные с MSW приходят, - они верные, с учетом калибровки. Но проблема в том, что они “не всегда” приходят!
По-моему, - я уже исключил все, кроме самого MSW.
Кстати. Вот по графику видно, что не приходят данные тогда, когда MSW считает их меньше 400… Но такого не может быть! Я калибровал его на этом же месте, не в комнате с чистым кислородом! Просто проветриванием. Получается, что он считает, что в комнате бывает меньше, чем было во время проветривания. Это нонсенс.
Особенно с учетом того, что, вообще-то, я откалибровал MSW и ClearGrass одновременно в одних условиях!

При этом, обращу внимание. ClearGrass иногда спускается до линии 420, то есть бывает, когда СО2 становится как во время калибровки. Но редко, потому что в основном в помещении почти всегда кто-то есть (люди, собаки, кошки…).И его график похож на реальность, с учетом того, что в комнате постоянный воздухообмен через вентиляцию в размере 4-5х в час.

Да, в этом и дело. То есть когда сырые показания внутри сенсора с учетом коэффициентов калибровки меньше 400, то он будет отдавать просто 400. В целом по форме графиков кривые довольно похожие. Предполагаю, что MSW автоматически перекалибровался на более высокий эталонный уровень CO2.

Попробуйте, пожалуйста, отключить автоматическую калибровку датчика MSW и еще раз откалибровать датчик вручную по инструкции.

Он как раз и был откалиброван вручную! И вопрос не только в этом.
На графике ниже видно, что еще и первая производная графика совсем другая (говорит о том, что и график на самом деле совсем иной). У ClearGrass “размах” и “крутость” гораздо больше, чем у MSW. Это уже не калибровка (простой сдвиг графика по оси y), это совершенно другая кривая… хотя и похожая.
На максимумах у датчика ClearGrass датчик MSW показывает “плато”, а где у ClearGrass ровная кривая - у MSW “волны”…

Попробую включить семидневную автокалибровку.

Еще вопрос.
У меня периодически выключают электричество. Раза два в месяц, по несколько секунд. Если у датчика 7-ми дневная калибровка, получается, что две недели я буду сидеть без данных?
В теории, если включена семидневная калибровка, пока датчик калибруется, - можно ли сделать, чтобы он выдавал данные по предыдущей запомненной калибровке?
Или в моем случае только ручная, - без вариантов?

Так и должно быть. Датчик при включении должен использовать коэффициенты последней калибровки (ручной или автоматической).

Хорошо. Но все же, если у меня выключится питание на 5 секунд на 6й день автокалибровки, после включения ведь начнется новый отсчет 604800 секунд?

Так и должно быть.

Его поведение не такое. Вот у меня была ручная автокалибровка. Он что-то показывал. Я сегодня утром включил автокалибровку, - он стал показывать просто 400, то есть “ничего”. Пока он калибруется, - он не использует значение предыдущей ручной (или авто) калибровки, он ждет новый коэффициент.
В указанной выше теме Евгений ответил - при включении автокалибровки ждите 7 дней (и этого нет в документации).

Хотелось бы, чтобы при включении автокалибровки, он вычислял значение за последние 604800 секунд суммарной работы (то есть “выкидывал” периоды отключения питания), а не за последний аптайм 604800 секунд. Он так делает, или 7 дней с момента аптайма?

Да, для процедуры автоматической калибровки начнется новый отсчет времени.

Новые значения для автоматической калибровки будут вычесляться исходя из данных, полученных за 7 дней непрерывной работы сенсора.

Попробуйте сделать так: включите автоматическую калибровку, затем проведите калибровку вручную. Датчик должен начать показывать правильные величины. По истечении 7 дней непрерывной работы датчик откалибруется автоматически.

А потом выключить автоматическую калибровку, чтобы не она не сбрасывалась? Я, честно говоря, думал что в режиме “автомат” он после каждого дня будет пересчитывать нижнее значение за последние 7 дней и перекалибровываться… Как еще понять “автоматическая калибровка”?..

Отключать не надо, если нужно, чтобы она работала.

После включения датчика он засекает период в 7 дней (в более ранних партиях 1 день). По окончании этого периода датчик принимает минимальные свои показания в течение этого период за 400 ррm. На странице документации внизу есть таблица, где указаны партии, с который стали устанавливаться датчики СО2 с периодом автокалибровки в 7 дней. До этого этот период был 1 день.

Но если автокалибровку не отключить, то каждый раз при секундном сбросе питания датчика (“моргнул свет”), я 7 дней после этого буду видеть постоянные 400?.. Оно так совсем не надо ((((

Похоже, я понял свою ошибку. Документация в этом месте невнятная, сейчас лучше, но все равно.

Я думаю, что нужно четко написать, что “ручная калибровка” - это указание датчику воспринимать ТЕКУЩЕЕ измеренное значение, как базовое. То есть “прямо в этот момент”. Я понял наоборот, что он с момента щелчка “ручная калибровка” измеряет минимальное значение в течении 20 минут (документация же…). То есть я открыл окно (физическое), щелкнул “калибровка”, и ушел ))) Ну, за 20-то минут проветрилось точно… А надо - наоборот.

Да, все правильно

Да, правильно. Я подкорректировал информацию в документации.