/** устройства dev["wb-mr6c_29"]["K1"] //ванна (временно) dev["wb-mr6c_29"]["K2"] //свет К2 dev["wb-mr6c_29"]["K3"] //туалет (временно) dev["wb-mr6c_29"]["K4"] //свет К3 dev["wb-mr6c_29"]["K5"] //свет К1 (временно) dev["wb-mr6c_29"]["K6"] //кладовка dev["wb-mr6c_30"]["K1"] //кухня эркер (LED) dev["wb-mr6c_30"]["K2"] //кухня над раковиной dev["wb-mr6c_30"]["K3"] //кухня над столом dev["wb-mr6c_30"]["K4"] //гостинная над диваном dev["wb-mr6c_30"]["K5"] //коридор-на входе (временно, гостинная у экрана проктора) dev["wb-mr6c_30"]["K6"] //коридор (временно, целевое гостинная бра) */ //выключатель с фиксацией на входе defineRule("sw_ko_go_ku_vhod", { whenChanged: "wb-gpio/EXT1_IN14", then: function (newValue, devName, cellName) { dev["wb-mr6c_30"]["K1"] = newValue; //dev["wb-mr6c_30"]["K2"] = newValue; dev["wb-mr6c_30"]["K3"] = newValue; dev["wb-mr6c_30"]["K4"] = newValue; dev["wb-mr6c_30"]["K5"] = newValue; dev["wb-mr6c_30"]["K6"] = newValue; } }); ActionButtons.onButtonPress( "wb-gpio/EXT1_IN11", { singlePress: { func: switch_ku_go_lightByCycle, prop: [] }, doublePress: { func: switchRelay, prop: ["wb-mr6c_30", "K2"] }, longPress: { func: switchRelay, prop: ["group_lights_switches", "part_kitchen_and_living_room"] } }, 300, 1000 ); //*====================test================================= defineRule("sw_ko_go_ku_vhod2", { whenChanged: "wb-gpio/EXT1_IN13", then: function (newValue, devName, cellName) { dev["wb-mr6c_30"]["K1"] = newValue; //dev["wb-mr6c_30"]["K2"] = newValue; dev["wb-mr6c_30"]["K3"] = newValue; dev["wb-mr6c_30"]["K4"] = newValue; //dev["wb-mr6c_30"]["K5"] = newValue; dev["wb-mr6c_30"]["K6"] = newValue; } }); defineRule("sw_go_ku3", { whenChanged: "wb-gpio/EXT1_IN12", then: function (newValue, devName, cellName) { if (newValue) { dev["wb-mr6c_30"]["K1"] = !dev["wb-mr6c_30"]["K1"]; //dev["wb-mr6c_30"]["K2"] = newValue; dev["wb-mr6c_30"]["K3"] = newValue; dev["wb-mr6c_30"]["K4"] = newValue; //dev["wb-mr6c_30"]["K5"] = newValue; dev["wb-mr6c_30"]["K6"] = newValue; } } }); defineRule("sw_go_ku3", { whenChanged: "wb-gpio/EXT1_IN10", then: function (newValue, devName, cellName) { if (newValue) { dev["group_lights_switches"]["kitchen_and_living_room"] = !dev["group_lights_switches"]["kitchen_and_living_room"]; } } }); //*====================end of test================================= /****************** *Пример ActionButtons.onButtonPress( "wb-gpio/EXT1_IN11", { singlePress: { func: switchRelay, prop: ["wb-mr6c_30", "K1"] }, doublePress: { func: switchDimmerRGB, prop: ["wb-mr6c_10", "K2", "wb-mrgbw-d_24"] }, longPress: { func: setRandomRGB, prop: ["wb-mr6c_30", "K1", "wb-mrgbw-d_24"] } }, 300, 1000 ); */ //--------------------------- Helper Functions --------------------------- function switchRelay(device, control) { dev[device][control] = !dev[device + "/" + control]; } function switch_ku_go_lightByCycle() { if (dev["wb-mr6c_30"]["K1"]) { //кухня эркер (LED) if (dev["wb-mr6c_30"]["K3"]) { //кухня над столом if (dev["wb-mr6c_30"]["K4"]) { //гостинная над диваном dev["wb-mr6c_30"]["K1"] = false; dev["wb-mr6c_30"]["K3"] = false; dev["wb-mr6c_30"]["K4"] = false; } else { dev["wb-mr6c_30"]["K4"] = true; } } else { dev["wb-mr6c_30"]["K3"] = true; } } else { dev["wb-mr6c_30"]["K1"] = true; } } function switchDimmerRGB(relayDevice, relayControl, dimmerDevice) { dev[relayDevice][relayControl] = true; if (dev[dimmerDevice + "/RGB"] !== "0;0;0") { dev[dimmerDevice]["RGB"] = "0;0;0"; } else { dev[dimmerDevice]["RGB"] = dev[relayDevice + "/RGB"]; } } function setRandomRGB(relayDevice, relayControl, dimmerDevice) { dev[relayDevice][relayControl] = true; dev[relayDevice + "/RGB"] = "" + Math.floor(Math.random() * 255) + ";" + Math.floor(Math.random() * 255) + ";" + Math.floor(Math.random() * 255); dev[dimmerDevice]["RGB"] = dev[relayDevice + "/RGB"]; }