diff --git a/anthemav/protocol.py b/anthemav/protocol.py index 0ccd180..4def38c 100755 --- a/anthemav/protocol.py +++ b/anthemav/protocol.py @@ -100,6 +100,7 @@ def __init__(self, update_callback=None, loop=None, connection_lost_callback=Non self._input_numbers = {} self._poweron_refresh_successful = False self.transport = None + self._resend_action = {} for key in LOOKUP: setattr(self, '_'+key, '') @@ -165,9 +166,13 @@ def connection_made(self, transport): self.command('ECH1') self.refresh_core() + if self._resend_action: + for k, v in self._resend_action.items(): + self._set_boolean(k, v) def data_received(self, data): """Called when asyncio.Protocol detects received data from network.""" + self._resend_action = {} self.buffer += data.decode() self.log.debug('Received %d bytes from AVR: %s', len(self.buffer), self.buffer) self._assemble_buffer() @@ -503,6 +508,7 @@ def _get_boolean(self, key): return False def _set_boolean(self, key, value): + self._resend_action = {key: value} if value is True: self.command(key+'1') else: