Hi All, I want to post this query as I'm not entirely sure how to tackle the best solution for this project. Consider an internal powder room (no windows as it is in the middle of the house) with a Multisensor PEIRL installed. The sensor target light is set to max, and is used to turn lights on automatically and turn off after 15min of inactivity. The way the PEIRL has been setup is that it pulses a group "powder room sensor" for 1 second. A PAC then turns on the lights and starts a timer, lights are either turned on full, or to a variable defined level during the night (so someone going to toilet at night doesn't get blinded). The fan is turned on after a predetermined time also in case the "user" forgets :p . Problem occurs when the person leaving the powder room turns off the lights - they "usually" turn right back on, then the person has to turn the light off again (always turns off then). We've setup the PAC logic so that once powder room goes off, then the powder room disable is pulsed on for 10 seconds. I assume that the PEIRL is activating whilst the person is exiting the room, and so even when the light is turned off, the one second pulse given to "powder room sensor" is enough to get it ove the delay of the PAC disabling the sensor for 10 seconds. Has Any one tackled this better than I? Many thanks in advance! code: [FONT="Courier New"][SIZE="2"]once ((GetLightingState("Powder Room") = OFF ) and (TimerTime(PowderRmTimer) <> -1)) then begin TimerStop(PowderRmTimer); SetLightingState("Powder Room Sensor", OFF); PulseCBusLevel("Local Network", "Lighting", "Powder Room Sensor Disable", 100%, "0s", "0:00:10", 0%); end; once (GetLightingState("Powder Room Sensor") = ON ) then begin SetLightingLevel("Powder Room", GetLightingLevel("Night Light Level"), "1s"); TimerStart(PowderRmTimer); end; once TimerTime(PowderRmTimer) >= "0:15:00" then begin TimerStop(PowderRmTimer); SetLightingLevel("Powder Room", 0%, "5s"); end;[/SIZE][/FONT]