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

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


Здесь выбрал такой же шаблон, как и для старого датчика (там меньше регистров опрашивается), они оба висят на одной шине с одинаковыми настройками - на новом сенсор движения завис спустя 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-х месяцев…

Добрый день!

так же как и автор темы наблюдаю проблему с датчиком движения, точнее показания с датчика замерли.
помимо датчика движения также установлены СО2 и VOC.
серийный номер 4270631172. прошивка 4.16.17

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

Прошивка обновлена в репозитории до 4.16.18 - можно обновляться.

обновил прошивку, наблюдаю.