You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

64 lines
1.3 KiB

var isolat = (room, light, pir, lightCtl) => {
const endDur = 120 * 1000;
let pirStates = [false, false];
let endT = 0;
let getT = ()=>new Date().valueOf();
let LightSetter = function(ind, val){
pirStates[ind] = val;
console.log(pirStates);
if(pirStates.every((t)=>t)) {
light.on();
endT = getT();
return;
}
if(endDur + endT < getT()){
light.off();
return;
}
}
setInterval(()=>{
if(endDur + endT < getT()){
light.off();
}
}, 1000);
pir.forEach((item, ind)=>{
item.on('peopleIn', ()=>{
LightSetter(ind, true);
});
item.on('peopleOut', ()=>{
LightSetter(ind, false);
});
});
/* reg */
/*
pir.forEach((item)=>{
item.on('peopleIn', ()=>{
if(!room.num){
light.on();
}
});
item.on('peopleOut', ()=>{
if(!room.num && room.LastActTime + lightCtl.NoPeopleDelayTime < new Date().valueOf()){
if(!pir.some((items)=>{
return items.state;
})){
light.off();
}
}
});
});
*/
}
exports.isolat = isolat;