X-Git-Url: https://git.ralfj.de/saartuer.git/blobdiff_plain/8b136f42bf0c83f8aee52c315f7dbebc371cce1b..344d58d13b3ec1d7fb26d13de114d6e8afbe3218:/tuerd diff --git a/tuerd b/tuerd index c3a5a43..92c4122 100755 --- a/tuerd +++ b/tuerd @@ -1,13 +1,36 @@ #!/usr/bin/python3 import RPi.GPIO as GPIO import statemachine, actor, pins, tysock, waker +from libtuer import logger +import argparse + +# Parse arguments +parser = argparse.ArgumentParser(description='Run a door') +parser.add_argument("-d", "--debug", + action="store_true", dest="debug", + help="Don't send emails") +parser.add_argument("-f", "--fallback", + action="store_true", dest="fallback", + help="Fallback mode for unfunctional hardware: Depend on less sensor input") +args = parser.parse_args() +if args.debug: + import libtuer + libtuer.mailAddress = [] +if args.fallback: + logger.info("Starting in fallback mode") +else: + # to avoid exceptions or getting None + args.fallback = False + +# Not let's go! +logger.info("Starting up...") # initialize GPIO stuff GPIO.setmode(GPIO.BOARD) # bring 'em all up the_actor = actor.Actor() -the_machine = statemachine.StateMachine(the_actor) +the_machine = statemachine.StateMachine(the_actor, args.fallback) the_socket = tysock.TySocket(the_machine) the_pins = pins.PinsWatcher(the_machine) the_waker = waker.Waker(the_machine) @@ -17,12 +40,12 @@ try: the_socket.accept() except KeyboardInterrupt: # this is what we waited for! + logger.info("Got SIGINT, terminating...") pass # bring 'em all down the_waker.stop() the_pins.stop() -the_socket.stop() the_machine.stop() the_actor.stop()