diff --git a/controller/state/changer.py b/controller/state/changer.py index 956b1f9..550f41e 100644 --- a/controller/state/changer.py +++ b/controller/state/changer.py @@ -24,14 +24,20 @@ class Changer(object): 'closed': self.close_in_valve } + def safe_remote_state(key): + if key in ['out_valve', 'in_valve']: + return self.remote_state.get(key, 'closed') + else + return self.remote_state.get(key,''); + def process_change(self): self.validate_states() - out_valve_change = self.out_valve_states.get(self.remote_state['out_valve'], None ) + out_valve_change = self.out_valve_states.get(self.safe_remote_state('out_valve'), None ) if out_valve_change is not None: out_valve_change() - in_valve_change = self.in_valve_states.get(self.remote_state['in_valve'], None ) + in_valve_change = self.in_valve_states.get(self.safe_remote_state('in_valve'), None ) if in_valve_change is not None: in_valve_change()