Ошибка failed to process /on request. This control is not writable

Добрый день.
Имеется zigbee реле подключенное к контролеру 7.3.4 (wb-2410)
Реле управляется с помощью виртуального выключателя описанного в wb-rules, чтобы можно было менять состояние из web и home assistant, а также, управляется напрямую через настенный выключатель.
Последнее время начались ложные выключения реле. Полез в историю и по графикам обнаружил, что сначала выключается виртуальный выключатель, затем отключается реле.


Точно знаю, что в вебку не лазил. Также проверил HA, там тоже явных признаков того, что кто-то его передернул нет.

Лезу в историю и вижу следующие ошибки:


21-01-2025 11:58:14.445 [wb-rules]	ERROR: [backend] failed to process /on request to 0xa4c13882f19f8786/state: This control is not writable
20-01-2025 12:02:01.393 [wb-rules]	ERROR: [backend] failed to process /on request to 0xa4c13882f19f8786/state: This control is not writable
18-01-2025 12:16:55.577 [wb-rules]	ERROR: [backend] failed to process /on request to 0xa4c13882f19f8786/state: This control is not writable
18-01-2025 12:05:58.252 [wb-rules]	ERROR: [backend] failed to process /on request to 0xa4c13882f19f8786/state: This control is not writable
18-01-2025 11:49:07.135 [wb-rules]	ERROR: [backend] failed to process /on request to 0xa4c13882f19f8786/state: This control is not writable

По времени вижу, что в этот мамоент как раз происходит отклбчение виртуального выклбчателя.

Вот, кстати правило wb-rules:

deviceName = 'masterSwitch'

defineVirtualDevice(deviceName, {
    title: "Мастер-выключатель",
    cells: {
        power_off: {
            type: "switch",
            title: 'Состояние',
            value: dev["0xa4c13882f19f8786/state"]
        },
    }
});

defineRule('manage0xa4c13882f19f8786',{
    whenChanged: deviceName+"/power_off",
    then: function (newValue, devName, cellName) {
          if (newValue) {
            publish("zigbee2mqtt/0xa4c13882f19f8786/set", JSON.stringify({ state: "ON" }), 2, false);
        } else {
            publish("zigbee2mqtt/0xa4c13882f19f8786/set", JSON.stringify({ state: "OFF" }), 2, false);
        }
     }
});

defineRule('manageMasterSwitch',{
    whenChanged: "0xa4c13882f19f8786/state",
    then: function (newValue, devName, cellName) {
      //dev[deviceName+"/power_off"] = newValue;
     if (newValue=="ON") {
            dev[deviceName+"/power_off"] = true;
            runShellCommand(commandOn); //отправка в телегу
        } else {
           dev[deviceName+"/power_off"] = false;
           runShellCommand(commandOff);
       
        } 
    }
});

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

Вопрос. Данная ошибка с чем вообще может быть связана? Можно ли от нее уйти? и если нет, каким образом, корректно, можно ее обработать в правилах, если избавиться от нее не удастся?

Спасибо

Изменил условие срабатывания выключателя:

      if (newValue=="ON") {
            dev[deviceName+"/power_off"] = true;
            runShellCommand(commandOn); //отправка в телегу
        } else {
          if (newValue=="OFF") {
             dev[deviceName+"/power_off"] = false;
             runShellCommand(commandOff);
          } else {
             //commandUnknown
             runShellCommand(commandUnknown);
        }
        }
      

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

Добрый день!

Рекомендую также проверить уровень сигнала и наличие помех в окружающей среде. Например, микроволновые печи, другие беспроводные устройства или электромагнитные источники могут влиять на стабильность работы.

Сейчас никто не живет в доме.
Из всех источников wif - роутер, который находится за двумя стенами и антенна контролера

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

приложен диагностический архив, доступен только сотрудникам поддержки
(224,8 КБ)
получается ошибка появляется каждый раз практически в одно и тоже время.


22-01-2025 11:58:35.328 [wb-rules]	ERROR: [backend] failed to process /on request to 0xa4c13882f19f8786/state: This control is not writable
21-01-2025 11:58:14.445 [wb-rules]	ERROR: [backend] failed to process /on request to 0xa4c13882f19f8786/state: This control is not writable
20-01-2025 12:02:01.393 [wb-rules]	ERROR: [backend] failed to process /on request to 0xa4c13882f19f8786/state: This control is not writable

Добрый день!

Рекомендую обратить внимание на следующие логи:

Jan 22 12:35:07 wirenboard-AIUQEAHK hostapd[21803]: Configuration file: /etc/hostapd.conf  
Jan 22 12:35:07 wirenboard-AIUQEAHK hostapd[21803]: Line 7: invalid key_mgmt '=WPA-PSK'  
Jan 22 12:35:07 wirenboard-AIUQEAHK hostapd[21803]: Line 9: unknown configuration item 'rsc_pairwise'  

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

Добрый день, удалось ли решить вопрос?

Скорректировал вчера конфиг, спасибо.

По сабжу, проблема пока остается. По ощущениям начала поваляться чаще. Не совсем понимаю какие 2 устройства поставить рядом - Zigbee-реле и контроллер? или контроллер и wifi-router? )

Можно ли как-то на уровне правил отловить этот момент?

Добрый день!

Всё, что работает по беспроводной связи, важно проверять, чтобы минимизировать возможные проблемы со связью.

По поводу отлова ошибок, думаю, пригодится данная статья.

Спасибо за статью.
Кажется нашел.
Ошибка появлялась всегда в момент обрыва соединения с HomeAssistant.
вот ошибка в wb-rules

Jan 21 08:58:14 wirenboard-AIUQEAHK wb-rules[1926]: ERROR: [backend] failed to process /on request to 0xa4c13882f19f8786/state: This control is not writable

а это из лога mosquitto

Jan 21 08:57:33 wirenboard-AIUQEAHK mosquitto[1709]: 1737449853: Client ha_wb has exceeded timeout, disconnecting.
Jan 21 08:58:14 wirenboard-AIUQEAHK mosquitto[1709]: 1737449894: New connection from 192.168.112.112:41724 on port 1883.
Jan 21 08:58:14 wirenboard-AIUQEAHK mosquitto[1709]: 1737449894: New bridge connected from 192.168.112.112:41724 as ha_wb (p2, c1, k60).

По видимому в момент поднятия моста из HA, происходит зачем-то запись в stats/on
Пока не могу сказать почему и как, т.к. кроме подписки на топик данное устройство нигде не фигурирует. Пока удалил подписку из HA. Ошибок за сутки не появилось.

кстати, после подписки на все ошибки сегодня вылезла

Топик /devices/wb-led_99/controls/RGB Palette/meta/error. Текст ошибки: r

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

Добрый день!

Как у вас реализован проброс устройств в Home Assistant?

В HA создается мост
вот конфиг

connection wiren-board
address 192.168.1.121:1883
bridge_attempt_unsubscribe true
cleansession true
remote_clientid ha_wb
try_private true
allow_anonymous true
#topic /devices/# both
topic /devices/0x00158d0008f32224/controls/+ both
#topic /devices/0xa4c13882f19f8786/# both
topic /devices/0xa4c1382e177d4ff0/# both
topic /devices/wb-w1/# both
topic /devices/my-virtual-device/controls/pressure/# both
topic /devices/masterSwitch/# both
topic /devices/wb-mr6c_232/# both

Добрый день!

Вы пробовали настроить интеграцию MQTT напрямую, чтобы она работала с брокером?
Настройка выполняется через веб-интерфейс в интеграциях.

Нет не пробовал.
В моем случае HA и контроллер имеют каждый свой брокер и находятся в разных сетях связанных между собой VPN, поэтому я и выбрал мост. Если можно подключить их иначе, могли бы вы поделиться ссылкой и рассказать как. Опыта работы с mqtt у меня нет, и на тот момент данный способ счел для себя единственно возможным. )

Добрый день!

При таком сценарии действительно нужен мост. Также можно создать отдельный MQTT-брокер, общий для всех устройств, и передавать данные напрямую в Home Assistant.

Это поможет исключить проблемы со связью.

Понял, спасибо большое. Подумаю над этим вариантом.