Добрый день. Скопировал ваш пример мастера выключателя, чуть подстроил под себя
defineVirtualDevice(“power_off”, {
title: “Мастер-выключатель”,
cells: {
power_off: {
type: “pushbutton”
},
}
});
var ps = new PersistentStorage(“power-storage”, { global: true });
var lights = [“wb-led_118/Channel 1”, “wb-led_118/Channel 2”, “wb-led_118/Channel 3”, “wb-led_118/Channel 4”];
var isPowerOff = true;
defineRule({
whenChanged: [“wb-gpio/A2_IN”, “power_off/power_off”],
then: function (newValue, devName, cellName) {
if (isPowerOff) {
lights.forEach(function (light) {
ps[light] = dev[light];
dev[light] = false;
});
} else {
lights.forEach(function (light) {
dev[light] = ps[light];
});
}
isPowerOff = !isPowerOff;
}
});
подскажите как сделать его от кнопки без фиксатора, и чтобы при коротком нажатии это был мастер выключатель, а при длинном функция отпуск но при коротком нажатии включалось все то что было выключено (мастер, отпуск). функция отпуск это мастер + контакт который управляет контактором (wb-mr6c_209/K6). Каналы я еще не все прописал пока экспериментирую
Добрый день.
Отслеживать длительность нажатия, если вы используете для выключателей вход A2, можно например так:
var buttonPressedTime;
defineRule("button_pressed", {
whenChanged: "wb-gpio/A2_IN",
then: function (newValue, devName, cellName) {
if (newValue) { // кнопка нажата
buttonPressedTime = Date.now();
} else { // кнопка отпущена
if (Date.now() - buttonPressedTime < 1000) { // короткое нажатие
// Логика мастер-выключателя
} else { // длинное нажатие
// Логика для длинного нажатия (например, управление контактором)
}
}
}
});
внутри каждой логики уже прописать структуру кода с использованием переменной isPowerOff и для режима “Отпуск” создать новый список отключаемых устройств с учетом устройств из сценария “Мастер”, например так:
var lights = ["wb-led_118/Channel 1", "wb-led_118/Channel 2", "wb-led_118/Channel 3", "wb-led_118/Channel 4"];
var vacationDevices = ["wb-mr6c_209/K6"];
var vacationLights = lights.concat(vacationDevices);
Максим спасибо за ответ но я ни чего не понял
Я обычный электрик с функцией копировать и вставить ну и немножко смекалки
подскажите пожалуйста куда или вместо чего мне вставить то что вы мне написали, а выходы я сам пропишу
еще один вопрос каналы все в одной строке прописывать?
Думал что умный дом трудно собрать, а оказалось что это самое легкое. Вот настроить его вообще не реально для таких как я