Time controlled light

This doesn't do what you want...

(hours >= LightStartHr && minutes >= LightStartMin)

At 7:30 this will evaluate to true and then evaluate to false at 8:00. So every half hour the expression will change value.