if (gg('MotionSensorTualet.status')==0)
$objects=array('Tualetvv');
foreach($objects as $o) {
clearTimeOut("lightOffTimer");
SetTimeOut("lightOffTimer","callMethod($o.'.turnoff');",60*25);
}
Ммм.. А зачем так СТРАННО делать?! В чём смысл делать массив из одного элемента и считывать его в цикле? Ну и вишенка на торте - первый if вообще ничего не делает
if (gg('MotionSensorTualet.status')==0){
$objects=array('Tualetvv');
foreach($objects as $o) {
clearTimeOut("lightOffTimer");
SetTimeOut("lightOffTimer","callMethod($o.'.turnoff');",60*25);
}}
Без массива почему то не работает, ( ну так на всякий,,,,, выключатель соноф с родной прошивкой)
В простых устройствах настроил (добавил) датчик движения. привязал свойства к объекту. при обнаружении движения датчиком на простом устройстве происходит соответствующая индикация. Через закладку "связанные устройства" настроил действие "Включить на время (Включить другое устройство на некоторое время по событию)" включение освещения на 15 сек.
по факту движения освещение включается. если движений не обнаруживается, что через 15 сек освещение отключается и тут же включается снова на 15 сек.
Как изменить настройки, чтоб включение происходило только если произошло изменение свойств Motion01.status в значение = 1 и не происходило повторного включения после истечения заданных 15 сек.
Как я понял (может я не прав) первое включение происходит т.к. произошло изменение свойств Motion01.status в значение = 1. а повторное включение происходит из за изменения свойств Motion01.status в значение = 0 (или любое другое, отличное от предыдущего).
zeleneew писал(а): Чт мар 12, 2020 10:20 pm
В простых устройствах настроил (добавил) датчик движения. привязал свойства к объекту. при обнаружении движения датчиком на простом устройстве происходит соответствующая индикация. Через закладку "связанные устройства" настроил действие "Включить на время (Включить другое устройство на некоторое время по событию)" включение освещения на 15 сек.
по факту движения освещение включается. если движений не обнаруживается, что через 15 сек освещение отключается и тут же включается снова на 15 сек.
Как изменить настройки, чтоб включение происходило только если произошло изменение свойств Motion01.status в значение = 1 и не происходило повторного включения после истечения заданных 15 сек.
Как я понял (может я не прав) первое включение происходит т.к. произошло изменение свойств Motion01.status в значение = 1. а повторное включение происходит из за изменения свойств Motion01.status в значение = 0 (или любое другое, отличное от предыдущего).
Не уверен, но предварительно помогает решение по замене в SMotions в методе motionDetected кода:
zeleneew писал(а): Чт мар 12, 2020 10:20 pm
В простых устройствах ....... включение освещения на 15 сек.
по факту движения освещение включается. если движений не обнаруживается, что через 15 сек освещение отключается и тут же включается снова на 15 сек.
У меня несколько таких ПУ связанных с датчиками движения , но впервые с таким сталкиваюсь. У меня все работает четко вкл и выкл. по таймеру(от 60 сек до 90 сек.) без повторных включений. Попробуйте протестируйте со временем более 15 сек.- ну хотя бы 30 сек. и более? Или ПУ криво стоит .
У меня такая беда в ПУ второй раз Термостат не управляет тенами на температуру включения и выключения , т.е. теряет связь со связанными устройствами , помогает только новое создание с нуля УД. (так как я не знаю где и как копать)
Mini AMD A6 1450 Quad-core.Ubuntu Server 18.04 (64-bit). MegaD. Zigbee2mqtt+SLS DIN Mini. Broadlink.
//если стоит статус 1 в обьекте (управления светом при движении )
//то включим свет если солнце село и время до 23,30
if ((timeBetween((gg('ThisComputer.SunSetTime')),'23:30')){
callMethod('contKUH.turnon');
}
//запустим таймер (15 мин), по истечении которого свет будет выключен
clearTimeOut("lightOffTimerbig");
SetTimeOut("lightOffTimerbig","callMethod('contKUH.turnOff');",60*15);
как то так
Raspberry 3, AMS 16, arduinka 2560, Orange pi Zero, Broadlink RM3, Xiaomi Mi Robot Vacuum SKV4000GL