MerossIot: A timeout occurred while waiting for the ACK

👋 Hiya - I’ve started getting timeouts when trying to read the status of either of my MSS310’s. This appears to happen on any of the .get_<thing>() methods.

Has been happening for at least the last day or two.

Here’s a reproducible set of Python commands:

❯ python3
Python 3.7.7 (default, Mar 10 2020, 15:43:33)
[Clang 11.0.0 (clang-1100.0.33.17)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from meross_iot.cloud.devices.power_plugs import GenericPlug
>>> from meross_iot.manager import MerossManager
>>> EMAIL="<redacted>"
>>> PASSWORD="<redacted>"
>>> manager = MerossManager.from_email_and_password(meross_email=EMAIL, meross_password=PASSWORD)
>>> manager.start()
>>> manager.get_devices_by_kind(GenericPlug)
[<meross_iot.cloud.devices.power_plugs.GenericPlug object at 0x10b20e510>, <meross_iot.cloud.devices.power_plugs.GenericPlug object at 0x10b20ead0>, <meross_iot.cloud.devices.power_plugs.GenericPlug object at 0x10b20e4d0>, <meross_iot.cloud.devices.power_plugs.GenericPlug object at 0x10b20e1d0>]
>>> shelf = manager.get_devices_by_kind(GenericPlug)[0]
<meross_iot.cloud.devices.power_plugs.GenericPlug object at 0x10b20e510>
>>> shelf.name
'Living room shelf'
>>> shelf.get_electricity()
# ... snip
meross_iot.cloud.exceptions.CommandTimeoutException.CommandTimeoutException: A timeout occurred while waiting for the ACK: 10
>>> shelf.get_status()
# ... snip
meross_iot.cloud.exceptions.CommandTimeoutException.CommandTimeoutException: A timeout occurred while waiting for the ACK: 10
>>> manager.stop()
Click to view the full error stack
>>> shelf.get_status()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/danhughes/src/github.com/dan1elhughes/casa/services/service.meross/venv/lib/python3.7/site-packages/meross_iot/cloud/devices/power_plugs.py", line 134, in get_status
    self._state = self._get_status_impl()
  File "/Users/danhughes/src/github.com/dan1elhughes/casa/services/service.meross/venv/lib/python3.7/site-packages/meross_iot/cloud/devices/power_plugs.py", line 88, in _get_status_impl
    data = self.get_sys_data()['all']
  File "/Users/danhughes/src/github.com/dan1elhughes/casa/services/service.meross/venv/lib/python3.7/site-packages/meross_iot/cloud/device.py", line 119, in get_sys_data
    return self.execute_command("GET", ALL, {}, online_check=False)
  File "/Users/danhughes/src/github.com/dan1elhughes/casa/services/service.meross/venv/lib/python3.7/site-packages/meross_iot/cloud/device.py", line 116, in execute_command
    return self.__cloud_client.execute_cmd(self.uuid, command, namespace, payload, callback=callback, timeout=timeout)
  File "/Users/danhughes/src/github.com/dan1elhughes/casa/services/service.meross/venv/lib/python3.7/site-packages/meross_iot/cloud/client.py", line 294, in execute_cmd
    raise CommandTimeoutException("A timeout occurred while waiting for the ACK: %d" % timeout)
meross_iot.cloud.exceptions.CommandTimeoutException.CommandTimeoutException: A timeout occurred while waiting for the ACK: 10

Happy to share any more details or run any commands to help debug. Thanks 🙏

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Comments: 16 (6 by maintainers)

Most upvoted comments

Alright. Given the enthusiasm that this library has generated around, I’ve decided to completely rewrite the framework. I’m sorry for the delay that this will cause, but the new version will hopefully solve most of the major problems arose with current version.

Hi guys and thanks for the support. I’ve got a MSS310 HW version 2.0 and I will test it in the next days. I’ll keep you posted.

Hi guys, just use the latest version of the library 4.0 and make sure you always invalidate the login token shutting down the Manager instance once you are done as explained here.

That confirms the thesis. New Meross 310 does not answer as expected to previous messages, so the API fails. I’ve contacted the Meross Engineering team, but they did not answer. Thus, the only way I can fix this is by getting my hands on a new MSS310 and study the network communication with the APP.

Stay tuned, Alberto

Could you share the firmware version and hardware version of your MSS310? HW rev 2.0 seems not to be compatible with this library. I need to get hands on them…