Проблемы с датчиком WB-MSW v3

Добрый день!

В недавно приобретенном MSW v3 (ревизия v4.9.1F) выявились следующие проблемы:

  1. Спустя какое-то время (час или пару часов) зависает датчик движения. Никаких ошибок и таймаутов не выдает, значения просто замирают и больше не обновляются, помогает перезагрузка по питанию. Все остальные сенсоры продолжают работать корректно. Прошивку обновил до последней 4.16.14, но это не помогло.

  2. Странные показания датчика шума. В документации сказано, что начиная с v4.9 должен стоять датчик с расширенным диапазоном 38-105 дБ, однако ни в каких условиях не удается получить 38 дБ. То, что на слух ощущается абсолютной тишиной, датчик показывает 39,5-40. Более того, другой датчик MSW v3 ревизии v4.8, который покупал еще год назад, показывает даже более низкие значения шума. Что-то неоткалибровано или мне поставили датчик старой версии? (на графике 2ой новый)

  3. Сенсор CO2 работает точно так же, как описывается в этой ветке (т.е. неточно) - период автокалибровки 1 сутки приводит к тому, что показания спустя пару дней начинают занижаться. Наглядно видно на графике по сравнению с CO2 датчиком в метеостанции Netatmo:


Вот такие углы и ровные “полки” при проветривании явно говорят о том, что перед этим показания были занижены. Т.к. концентрация меняется постепенно, то во время проветривания график должен иметь вид гиперболы, плавно приближающейся к значению 400, но не ровная “полка”. Например, вот как здесь (первые 2 дня после включения).

Кроме того, в обычной квартире, где нет активной приточки (а у меня ее нет) довольно сложно получить чистые 400ppm как на улице - для этого нужно либо устроить очень сильный сквозняк, либо проветривать несколько часов при отсутствии людей.

В общем, мое мнение - период автокалибровки 1 сутки для жилых квартир не подходит. Наверное, где-то в офисах, когда все в 19:00 уходят и всю ночь никого нет, это будет работать хорошо. Но в квартирах это не работает - 80% времени кто-то дома есть, объемы помещений существенно меньше, и даже активная приточка не панацея - т.к. обеспечивать сильный приток можно на максимальных скоростях, а это обычно неприемлемый уровень шума. А уж за неделю наверняка будет период, когда несколько часов никого не будет дома.

Если датчик нужно будет отправлять для замены - есть ли возможность заодно поменять сенсор CO2 на новый с периодом автокалибровки 7 суток (о котором шла речь в той ветке)?

Добрый день!

Проще всего тогда откалибровать по проветренному помещению и отключить автокалибровку. За год показания дрейфуют на 50-200ппм, в зависимости от экземпляра.

Датчик не умеет показывать концентрации меньше 400ppm. Оно, конечно, глаз не радует, но вреда не несёт.

Это совершенно нормальные показания датчика шума, а на картинке - прекрасное совпадение показаний. дБ - это же логарифмическая шкала, 40дБ - это очень тихо. А разница в 2дБ - это очень мало, реально диаграмма направленности и разные частотные характеристики дают заметно бОльшую разницу показаний между разными шумомерами.

А вот это уже нехорошо. Можете приложить график или журнал изменения этого параметра?

Вот тут он ровно час поработал, больше не перезагружал. Кстати, запись в регистр 120 не помогает, нужно именно по питанию выключать.

Какие-то слишком большие значения. На 1-м MSWv3 motion current редко бывает больше 1000

Датчик движения - не калибруется никак.

Давайте мы поменяем вам MSW:
Курьер привезёт новое оборудование и заберёт старое.
Для возврата напишите, пожалуйста, письмо на info@wirenboard.com.

В письме укажите:

  1. ссылку на эту тему,
  2. серийный номер устройства, его комплектацию
  3. ваш действующий телефон, адрес доставки, ФИО получателя.

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


Здесь выбрал такой же шаблон, как и для старого датчика (там меньше регистров опрашивается), они оба висят на одной шине с одинаковыми настройками - на новом сенсор движения завис спустя 6 часов. На полном шаблоне зависает спустя час. Как я понял из документации, новый датчик на другом контроллере.

Просьба провести более глубокую диагностику. Еще раз менять смысла не вижу - пока не к спеху, когда окончательно уже устраните проблему - можно будет поменять (или может это прошивкой исправится?).

На другом датчике начались такие же проблемы с зависанием параметров, только на нем зависают показания шумомера. Проблема точно началась после обновления прошивки до 4.16.14 (обновил где-то неделю назад), какая была до этого не помню, но около года все работало стабильно. Есть какие-то новости по этой проблеме? Или какое-то временное решение?

Другой датчик в комплектации температура+влажность, уровень шума, движения. серийник 4266195005

Здравствуйте! Пока анализируем проблему. Как временное решение - записать в датчик более старую прошивку. Изначально в датчике с серийным номером 4266195005 была прошивка версии 4.12.0. Прошивка довольно старая, но если все работало, то можно использовать ее. Или попробуйте версию поновее, например, 4.16.7.

Добрый день!
Есть ли прогресс? Попробовал прошивку 4.16.17 - и в нем проблема с зависанием сенсора движения все еще проявляется.

В датчике без CO2 и VOC я откатился на прошивку 4.16.7 и там все хорошо.
Но в другом датчике с CO2 старые прошивки не подходят, т.к. там еще не исправлен баг с регистром 120 (не работает перезагрузка). Это все нужно для нормальной калибровки сенсора CO2 (подробно обсуждается здесь ).

В общем, если резюмировать, что на данный момент в прошивке 4.16.17 не так:

  1. Зависает сенсор движения спустя час-два работы (нужен для определения длительного отсутствия людей и включения калибровки, а также других задач автоматизации).
  2. Не срабатывает повторное включение калибровки путем записи 1 в регистр 95, помогает перезагрузка путем записи 1 в регистр 120 (пофиксили в 4.16.17).

Таким образом, не подходят ни старые прошивки, ни новые и я сих пор не могу полноценно использовать WB-MSW v3.

p.s. еще вспомнил:
3) После обновления прошивки сбрасывается содержимое ИК-банков и нужно все программировать заново. Так должно быть или нет? Не то, чтобы это серьезная проблема, но если так и должно быть - стоит описать это в документации чтобы не возникало неожиданностей, типа - обновилась прошивка и все слетело.

Да, должно быть.
Оно описано.
Советую сохранить команды в файлы:

По поводу датчика движения, MSW с каким номером?

Номер чего? Серийник? 4270653718

Важно! предлагаемая к тестированию версия - еще не переведена в стабильные!
Советую попробовать 4.16.18
В ней проблема с замиранием должна быть исправлена.

Попробовал 4.16.18 - нет, очень сырая прошивка. Проблема с замиранием действительно исправлена, но перестал работать сенсор VOC (значение постоянно отображается красным), не работают светодиоды. Возможно, еще что-то, все не проверял.

Да, работа идет, скоро будет исправление.

это у нас не воспроизвелось, опишите пожалуйста подробнее.

При включении Led red или Led green на 4.16.18 светодиоды не моргали, с любыми значениями периода и длительности импульса. На 4.16.17 все в порядке. Может, имеет значение шаблон устройства? У меня сейчас вот такой конфиг:

{
    "device_type": "WB-MSW v.3 (no spaces) bedroom",
    "device": {
        "name": "WB-MSW v.3",
        "id": "wb-msw-v3",
        "max_read_registers": 0,
        "channels": [
            {
                "name": "temperature",
                "reg_type": "input",
                "address": 0,
                "type": "temperature",
                "format": "s16",
                "scale": 0.1,
                "error_value": "0x7FFF",
                "poll_interval": 1000
            },
            {
                "name": "humidity",
                "reg_type": "input",
                "address": 1,
                "type": "rel_humidity",
                "scale": 0.1,
                "error_value": "0xFFFF",
                "poll_interval": 1000
            },
            {
                "name": "voc",
                "reg_type": "input",
                "address": 11,
                "type": "concentration",
                "scale": 1,
                "error_value": "0xFFFF",
                "poll_interval": 1000
            },
            {
                "name": "co2",
                "reg_type": "holding",
                "address": 8,
                "type": "concentration",
                "error_value": "0xFFFF",
                "poll_interval": 1000
            },
            {
                "name": "co2_calibration",
                "reg_type": "holding",
                "address": 95,
                "type": "switch"
            },
            {
                "name": "sound_level",
                "reg_type": "input",
                "address": 3,
                "scale": 0.01,
                "type": "sound_level",
                "poll_interval": 1000
            },
            {
                "name": "illuminance",
                "reg_type": "input",
                "address": 9,
                "type": "lux",
                "format": "u32",
                "scale": 0.01,
                "error_value": "0xFFFFFFFF",
                "poll_interval": 1000
            },
            {
                "name": "motion_max",
                "type": "value",
                "reg_type": "input",
                "address": "280"
            },
            {
                "name": "motion_current",
                "type": "value",
                "reg_type": "input",
                "address": "283"
            },
            {
                "name": "buzzer",
                "type": "switch",
                "reg_type": "coil",
                "address": 0
            },
            {
                "name": "led_red",
                "type": "switch",
                "reg_type": "coil",
                "address": 10
            },
            {
                "name": "led_green",
                "type": "switch",
                "reg_type": "coil",
                "address": 11
            },
            {
                "name": "led_period_s",
                "reg_type": "holding",
                "address": 97,
                "type": "range",
                "max": 10
            },
            {
                "name": "led_glow_duration_ms",
                "reg_type": "holding",
                "address": 98,
                "type": "range",
                "max": 50
            },
            {
                "name": "learn_to_ram",
                "reg_type": "coil",
                "address": 5001,
                "type": "switch"
            },
            {
                "name": "play_from_ram",
                "reg_type": "coil",
                "address": 5002,
                "type": "pushbutton"
            },
            {
                "name": "learn_to_rom1",
                "reg_type": "coil",
                "address": 5300,
                "type": "switch"
            },
            {
                "name": "learn_to_rom2",
                "reg_type": "coil",
                "address": 5301,
                "type": "switch"
            },
            {
                "name": "learn_to_rom3",
                "reg_type": "coil",
                "address": 5302,
                "type": "switch"
            },
            {
                "name": "learn_to_rom4",
                "reg_type": "coil",
                "address": 5303,
                "type": "switch"
            },
            {
                "name": "learn_to_rom5",
                "reg_type": "coil",
                "address": 5304,
                "type": "switch"
            },
            {
                "name": "learn_to_rom6",
                "reg_type": "coil",
                "address": 5305,
                "type": "switch"
            },
            {
                "name": "learn_to_rom7",
                "reg_type": "coil",
                "address": 5306,
                "type": "switch"
            },
            {
                "name": "play_from_rom1",
                "reg_type": "coil",
                "address": 5100,
                "type": "pushbutton"
            },
            {
                "name": "play_from_rom2",
                "reg_type": "coil",
                "address": 5101,
                "type": "pushbutton"
            },
            {
                "name": "play_from_rom3",
                "reg_type": "coil",
                "address": 5102,
                "type": "pushbutton"
            },
            {
                "name": "play_from_rom4",
                "reg_type": "coil",
                "address": 5103,
                "type": "pushbutton"
            },
            {
                "name": "play_from_rom5",
                "reg_type": "coil",
                "address": 5104,
                "type": "pushbutton"
            },
            {
                "name": "play_from_rom6",
                "reg_type": "coil",
                "address": 5105,
                "type": "pushbutton"
            },
            {
                "name": "play_from_rom7",
                "reg_type": "coil",
                "address": 5106,
                "type": "pushbutton"
            },
            {
                "name": "reset_all_rom",
                "reg_type": "coil",
                "address": 5000,
                "type": "pushbutton"
            },
            {
                "name": "input_voltage",
                "reg_type": "input",
                "address": 121,
                "scale": 0.001,
                "type": "voltage",
                "poll_interval": 1000
            },
            {
                "name": "reboot",
                "reg_type": "holding",
                "address": 120,
                "type": "pushbutton"
            },
            {
                "name": "serial",
                "type": "text",
                "reg_type": "holding",
                "address": 270,
                "format": "u32",
                "poll_interval": 5000
            }
        ]
    }
}

На шине 3 устройства, вот кусок из конфига wb-mqtt-serial.conf:

        {
            "path": "/dev/ttyMOD1",
            "devices": [

                {
                    "slave_id": 28,
                    "device_type": "WB-M1W2 (no spaces)",
                    "name": "Temperature01",
                    "id": "temperature01",
                    "poll_interval": 1000
                },
                {
                    "slave_id": 89,
                    "device_type": "WB-MSW v.3 (no spaces) hall",
                    "name": "Climate01 WB-MSW v3",
                    "id": "climate01"
                },
                {
                    "slave_id": 87,
                    "device_type": "WB-MSW v.3 (no spaces) bedroom",
                    "name": "Climate02 WB-MSW v3",
                    "id": "climate02"
                }
            ],
            "baud_rate": 9600,
            "parity": "N",
            "data_bits": 8,
            "stop_bits": 2,
            "poll_interval": 10,
            "enabled": true
        },

Здравствуйте!
Значения адресов, типов регистров и типов каналов для включения светодиодов и периода мигания в вашем шаблоне правильные. Не должно быть из-за шаблона.
В таких случаях можно использовать утилиту modbus_client для записи отдельных параметров, а затем считывания их для контроля.

В какой-то из последних прошивок начались странные скачки влажности. На прерыдущих прошивках такого не было. Сейчас стоит 4.16.17

Здравствуйте! В новых релизах появилась возможность в шаблоне в веб-интерфейсе включать диагностическую информацию. Если у вас новая версия шаблона, то включите, пожалуйста, всю диагностику, как на скриншотах ниже:

и покажите, пожалуйста, скриншот окна из Devices в включенной диагностикой сразу и после того, как опять будут скачки.

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