PLEG for wattage variables

TurnSecondFloorBathroomLightOn
!SecondFloorBathroomLightOn and SecondFloorBathroomMotionTripped and (!SecondFloorBathroomLightOn; SecondFloorBathroomMotionTripped > 10)

KeepSecondFloorBathroomLightOn
(SecondFloorBathroomLightOn and SecondFloorBathroomMotionTripped and (SecondFloorBathroomLightOn; SecondFloorBathroomMotionTripped)) or TurnSecondFloorBathroomLightOn or (SecondFloorBathroomLightOn and SecondFloorBathroomFanWatts < 4 and (SecondFloorBathroomLightOn; SecondFloorBathroomFanWatts < 4))

TurnSecondFloorBathroomLightOff
SecondFloorBathroomLightOn and !TimerSecondFloorBathroom and (SecondFloorBathroomLightOn; !TimerSecondFloorBathroom) and SecondFloorBathroomFanWatts < 4

I have a humidity sensing fan that uses .75W when not in use, about 1.5W when in normal use, and 5W when it’s clearing the room from a shower.

I want the light to turn on when motion start and then stay on as long as motion is happening or if the fan is going full blast.

Seems like my logic isn’t perfect… It looks like KeepSecondFloorBathroomLightOn should change < to >.

Maybe I just need a second set of eyes on this.

A status report (in PDF format) is preferred.
Can you describe the scenario that is not working.

Code in question:

KeepSecondFloorBathroomLightOn (SecondFloorBathroomLightOn and SecondFloorBathroomMotionTripped and (SecondFloorBathroomLightOn; SecondFloorBathroomMotionTripped)) or TurnSecondFloorBathroomLightOn or (SecondFloorBathroomLightOn and SecondFloorBathroomFanWatts < 4 and (SecondFloorBathroomLightOn; SecondFloorBathroomFanWatts < 4))

Basically I want to turn this:

KeepSecondFloorBathroomLightOn (SecondFloorBathroomLightOn and SecondFloorBathroomMotionTripped and (SecondFloorBathroomLightOn; SecondFloorBathroomMotionTripped)) or TurnSecondFloorBathroomLightOn

into also keeping the light on if the fan watts are > 4.

So would I just do:

KeepSecondFloorBathroomLightOn (SecondFloorBathroomLightOn and SecondFloorBathroomMotionTripped and (SecondFloorBathroomLightOn; SecondFloorBathroomMotionTripped)) or TurnSecondFloorBathroomLightOn or (SecondFloorBathroomLightOn and SecondFloorBathroomFanWatts > 4 and (SecondFloorBathroomLightOn; SecondFloorBathroomFanWatts > 4))

Or do I have a logic issue?