X-Git-Url: https://git.ralfj.de/saartuer.git/blobdiff_plain/986e711c18a3960baa5dda8b9919372e6a387909..73cd08c855a77bc0df90d6e94f6d75d42d6f5e5e:/statemachine.py?ds=sidebyside diff --git a/statemachine.py b/statemachine.py index e6a2757..dd9dc54 100644 --- a/statemachine.py +++ b/statemachine.py @@ -86,6 +86,7 @@ class StateMachine(): CMD_LOCK = 5 CMD_FALLBACK_ON = 6 CMD_FALLBACK_OFF = 7 + CMD_STATUS = 8 class State(): def __init__(self, state_machine, nervlist = None): @@ -110,6 +111,9 @@ class StateMachine(): return StateMachine.StateFallback(self.state_machine) def handle_cmd_fallback_off_event(self,arg): arg("412 Precondition Failed: Not in fallback mode!") + def handle_cmd_status_event(self,arg): + # TODO use a proper JSON lib + arg('200 okay: {state:\"%s\"}' % self.__class__.__name__) def on_leave(self): pass def pins(self): @@ -135,6 +139,8 @@ class StateMachine(): return self.handle_cmd_fallback_on_event(arg) elif ev == StateMachine.CMD_FALLBACK_OFF: return self.handle_cmd_fallback_off_event(arg) + elif ev == StateMachine.CMD_STATUS: + return self.handle_cmd_status_event(arg) else: raise Exception("Unknown command number: %d" % ev)