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.
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.