diff --git a/custom_components/ecovacs/sucksbumper.py b/custom_components/ecovacs/sucksbumper.py index ea2bb44..23c237e 100644 --- a/custom_components/ecovacs/sucksbumper.py +++ b/custom_components/ecovacs/sucksbumper.py @@ -949,6 +949,9 @@ class EcoVacsXMPP(ClientXMPP): self.register_handler(Callback("general", MatchXPath('{jabber:client}iq/{com:ctl}query/{com:ctl}'), self._handle_ctl)) + self.register_handler(Callback("Ping", + MatchXPath('{jabber:client}iq/{urn:xmpp:ping}ping/{urn:xmpp:ping}'), + self._handle_ping)) self.ready_flag.set() def subscribe_to_ctls(self, function): @@ -1174,6 +1177,10 @@ class EcoVacsXMPP(ClientXMPP): _LOGGER.debug("*** sending ping ***") q.send() + def _handle_ping(self, iq) + _LOGGER.debug("Pinged by %s", iq['from']) + iq.reply().send() + def connect_and_wait_until_ready(self): self.connect(self.server_address) self.process()