Добрый день.
Имеется 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 реле, из-за этого статус меняется и выклбчается выклбчатель.
Вопрос. Данная ошибка с чем вообще может быть связана? Можно ли от нее уйти? и если нет, каким образом, корректно, можно ее обработать в правилах, если избавиться от нее не удастся?
Спасибо