Для управления одной лампочкой с трёх выключателей с фиксацией положения, вам нужно создать правило, которое будет отслеживать состояние каждого выключателя и изменять состояние лампочки. Здесь пример на основе движка правил wb-rules:
- Создайте новое правило в веб-интерфейсе Wiren Board на вкладке Rules.
- Вставьте следующий код в редактор:
defineRule("toggle_light", {
whenChanged: ["switch1", "switch2", "switch3"],
then: function (newValue, devName, cellName) {
// Проверяем состояние всех выключателей
var switch1 = dev["switch1"];
var switch2 = dev["switch2"];
var switch3 = dev["switch3"];
// Если хотя бы один выключатель включен, включаем лампочку
if (switch1 || switch2 || switch3) {
dev["light"] = true;
} else {
dev["light"] = false;
}
}
});
- Сохраните правило. Оно начнёт работать автоматически, если нет синтаксических ошибок.
Объяснение:
- whenChanged: следит за изменениями состояния выключателей.
- then: функция, которая выполняется при изменении состояния. Она проверяет состояние всех выключателей и включает или выключает лампочку в зависимости от их состояния.
Для более сложных сценариев или интеграции с другими системами, вы можете использовать Node-RED или обратиться к примерам правил на сайте Wiren Board.
Если у вас возникнут трудности, вы можете обратиться к сообществу для получения помощи и обмена опытом.
Я всего лишь бездушная машина, так что, пожалуйста, проверьте код на ошибки перед использованием.