| @@ -3,6 +3,36 @@ import time | |||||
| import datetime | import datetime | ||||
| import pifacedigitalio as p | import pifacedigitalio as p | ||||
| TREE = """ | |||||
| * , | |||||
| _/^\_ | |||||
| < > | |||||
| * /.-.\ * | |||||
| * `/&\` * | |||||
| ,@.*;@, | |||||
| /_o.I %_\ * | |||||
| * (`'--:o(_@; | |||||
| /`;--.,__ `') * | |||||
| ;@`o % O,*`'`&\ * | |||||
| * (`'--)_@ ;o %'()\ * | |||||
| /`;--._`''--._O'@; | |||||
| /&*,()~o`;-.,_ `""`) | |||||
| * /`,@ ;+& () o*`;-';\ * | |||||
| (`""--.,_0 +% @' &()\ * | |||||
| /-.,_ ``''--....-'`) * | |||||
| * /@%;o`:;'--,.__ __.'\ | |||||
| ;*,&(); @ % &^;~`"`o;@(); * | |||||
| /(); o^~; & ().o@*&`;&%O\ | |||||
| jgs `"="==""==,,,.,="=="==="` | |||||
| __.----.(\-''#####---...___...-----._ | |||||
| '` \)_`'''''` | |||||
| .--' ') | |||||
| o( )_- | |||||
| `'''` ` | |||||
| """ | |||||
| START = datetime.time(17, 0, 0) | |||||
| END = datetime.time(23, 59, 0) | |||||
| def timestamp(): | def timestamp(): | ||||
| return datetime.datetime.now() | return datetime.datetime.now() | ||||
| @@ -22,23 +52,36 @@ def turn_off(): | |||||
| def check_connectivity(): | def check_connectivity(): | ||||
| """ Flick the switch """ | """ Flick the switch """ | ||||
| for i in range(10): | |||||
| print("Checking connectivity:") | |||||
| for i in range(2): | |||||
| turn_on() | turn_on() | ||||
| time.sleep(.3) | |||||
| time.sleep(2) | |||||
| turn_off() | turn_off() | ||||
| time.sleep(.3) | |||||
| time.sleep(2) | |||||
| # Turn on if we are in the correct interval | |||||
| now = datetime.datetime.now().time() | |||||
| if START <= now <= END: | |||||
| turn_on() | |||||
| if __name__ == "__main__": | if __name__ == "__main__": | ||||
| # Connect to PiFace | # Connect to PiFace | ||||
| print(TREE) | |||||
| p.init() | p.init() | ||||
| # Check connectivity | # Check connectivity | ||||
| check_connectivity() | check_connectivity() | ||||
| # Message | |||||
| print() | |||||
| print("Starting scheduler:") | |||||
| print("Xmas enabled between {} and {}.".format(START.strftime("%H:%M"), END.strftime("%H:%M"))) | |||||
| # Set up the schedule | # Set up the schedule | ||||
| schedule.every().day.at("17:00").do(turn_on) | |||||
| schedule.every().day.at("23:59").do(turn_off) | |||||
| schedule.every().day.at(START.strftime("%H:%M")).do(turn_on) | |||||
| schedule.every().day.at(END.strftime("%H:%M")).do(turn_off) | |||||
| # Run the event loop | # Run the event loop | ||||
| while(True): | while(True): | ||||