Skip to content

Bug TimeOut Dreame F9, works intermittently #1750

@Cityloue15

Description

@Cityloue15

Describe the bug
The device responds intermittently, following a disconnection or reconnection, it responds 1 or 2 times, then nothing

Version information (please complete the following information):

  • OS: [e.g.Linux] Linux 5.10.103-v8+ Debian GNU/Linux 10 (buster) 64bits (aarch64)
  • python-miio: version 0.6.0.dev0

Device information:

  • Model: dreame.vacuum.p2008
  • Hardware version: Linux
  • Firmware version: 3.5.8_1050

image

To Reproduce
I would like the robot to respond

sudo miiocli genericmiot --ip 192.168.10.32 --token MYTOKEN info
or
sudo miiocli dreamevacuum --ip 192.168.10.32 --token MYTOKEN info

ERROR:miio.miioprotocol:Got error when receiving: timed out
ERROR:miio.click_common:Exception: No response from the device
...

Expected behavior

image

Console output
miiocli discover

INFO:miio.miioprotocol:Sending discovery to <broadcast> with timeout of 5s..
INFO:miio.miioprotocol:  IP 192.168.10.32 (ID: 18c2a073) - token: b'ffffffffffffffffffffffffffffffff'
INFO:miio.miioprotocol:  IP 192.168.10.6 (ID: 175d8e5c) - token: b'ffffffffffffffffffffffffffffffff'
INFO:miio.miioprotocol:Discovery done
INFO:miio.discovery:Discovering devices with mDNS for 5 seconds...
INFO:miio.discovery:Found a supported 'DreameVacuum' at 192.168.10.32 - token: ffffffffffffffffffffffffffffffff

sudo miiocli --debug genericmiot --ip 192.168.10.32 --token MYTOKEN info

DEBUG:miio.click_common:Unknown model, trying autodetection
DEBUG:miio.protocol:Unable to decrypt, returning raw bytes: b''
DEBUG:miio.miioprotocol:Got a response: Container:
    data = Container:
        data = b'' (total 0)
        value = b'' (total 0)
        offset1 = 32
        offset2 = 32
        length = 0
    header = Container:
        data = b'!1\x00 \x00\x00\x00\x00\x18\xc2\xa0sc\xff\th' (total 16)
        value = Container:
            length = 32
            unknown = 0
            device_id = unhexlify('18c2a073')
            ts = 2023-03-01 08:14:32
        offset1 = 0
        offset2 = 16
        length = 16
    checksum = b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff' (total 16)
DEBUG:miio.miioprotocol:Discovered 18c2a073 with ts: 2023-03-01 08:14:32, token: b'ffffffffffffffffffffffffffffffff'
DEBUG:miio.miioprotocol:192.168.10.32:54321 >>: {'id': 1, 'method': 'miIO.info', 'params': []}
DEBUG:miio.miioprotocol:Retrying with incremented id, retries left: 3
DEBUG:miio.protocol:Unable to decrypt, returning raw bytes: b''
DEBUG:miio.miioprotocol:Got a response: Container:
    data = Container:
        data = b'' (total 0)
        value = b'' (total 0)
        offset1 = 32
        offset2 = 32
        length = 0
    header = Container:
        data = b'!1\x00 \x00\x00\x00\x00\x18\xc2\xa0sc\xff\tn' (total 16)
        value = Container:
            length = 32
            unknown = 0
            device_id = unhexlify('18c2a073')
            ts = 2023-03-01 08:14:38
        offset1 = 0
        offset2 = 16
        length = 16
    checksum = b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff' (total 16)
DEBUG:miio.miioprotocol:Discovered 18c2a073 with ts: 2023-03-01 08:14:38, token: b'ffffffffffffffffffffffffffffffff'
DEBUG:miio.miioprotocol:192.168.10.32:54321 >>: {'id': 102, 'method': 'miIO.info', 'params': []}
DEBUG:miio.miioprotocol:Retrying with incremented id, retries left: 2
DEBUG:miio.protocol:Unable to decrypt, returning raw bytes: b''
DEBUG:miio.miioprotocol:Got a response: Container:
    data = Container:
        data = b'' (total 0)
        value = b'' (total 0)
        offset1 = 32
        offset2 = 32
        length = 0
    header = Container:
        data = b'!1\x00 \x00\x00\x00\x00\x18\xc2\xa0sc\xff\tt' (total 16)
        value = Container:
            length = 32
            unknown = 0
            device_id = unhexlify('18c2a073')
            ts = 2023-03-01 08:14:44
        offset1 = 0
        offset2 = 16
        length = 16
    checksum = b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff' (total 16)
DEBUG:miio.miioprotocol:Discovered 18c2a073 with ts: 2023-03-01 08:14:44, token: b'ffffffffffffffffffffffffffffffff'
DEBUG:miio.miioprotocol:192.168.10.32:54321 >>: {'id': 203, 'method': 'miIO.info', 'params': []}
DEBUG:miio.miioprotocol:Retrying with incremented id, retries left: 1
DEBUG:miio.protocol:Unable to decrypt, returning raw bytes: b''
DEBUG:miio.miioprotocol:Got a response: Container:
    data = Container:
        data = b'' (total 0)
        value = b'' (total 0)
        offset1 = 32
        offset2 = 32
        length = 0
    header = Container:
        data = b'!1\x00 \x00\x00\x00\x00\x18\xc2\xa0sc\xff\tz' (total 16)
        value = Container:
            length = 32
            unknown = 0
            device_id = unhexlify('18c2a073')
            ts = 2023-03-01 08:14:50
        offset1 = 0
        offset2 = 16
        length = 16
    checksum = b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff' (total 16)
DEBUG:miio.miioprotocol:Discovered 18c2a073 with ts: 2023-03-01 08:14:50, token: b'ffffffffffffffffffffffffffffffff'
DEBUG:miio.miioprotocol:192.168.10.32:54321 >>: {'id': 304, 'method': 'miIO.info', 'params': []}
ERROR:miio.miioprotocol:Got error when receiving: timed out
ERROR:miio.click_common:Exception: No response from the device
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/site-packages/miio/miioprotocol.py", line 194, in send
    data, addr = s.recvfrom(4096)
socket.timeout: timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.8/site-packages/miio/miioprotocol.py", line 194, in send
    data, addr = s.recvfrom(4096)
socket.timeout: timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.8/site-packages/miio/miioprotocol.py", line 194, in send
    data, addr = s.recvfrom(4096)
socket.timeout: timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.8/site-packages/miio/miioprotocol.py", line 194, in send
    data, addr = s.recvfrom(4096)
socket.timeout: timed out

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/local/lib/python3.8/site-packages/miio/click_common.py", line 54, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/click/core.py", line 1055, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python3.8/site-packages/click/core.py", line 1657, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/local/lib/python3.8/site-packages/click/core.py", line 1657, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/local/lib/python3.8/site-packages/click/core.py", line 1404, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python3.8/site-packages/click/core.py", line 760, in invoke
    return __callback(*args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/miio/click_common.py", line 306, in wrap
    result = kwargs["result"] = func(*args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/click/decorators.py", line 84, in new_func
    return ctx.invoke(f, obj, *args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/click/core.py", line 760, in invoke
    return __callback(*args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/miio/click_common.py", line 271, in command_callback
    return miio_command.call(miio_device, *args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/miio/click_common.py", line 218, in call
    return method(*args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/miio/click_common.py", line 184, in _wrap
    self._fetch_info()
  File "/usr/local/lib/python3.8/site-packages/miio/integrations/genericmiot/genericmiot.py", line 203, in _fetch_info
    info = super()._fetch_info()
  File "/usr/local/lib/python3.8/site-packages/miio/device.py", line 164, in _fetch_info
    devinfo = DeviceInfo(self.send("miIO.info"))
  File "/usr/local/lib/python3.8/site-packages/miio/device.py", line 123, in send
    return self._protocol.send(
  File "/usr/local/lib/python3.8/site-packages/miio/miioprotocol.py", line 234, in send
    return self.send(
  File "/usr/local/lib/python3.8/site-packages/miio/miioprotocol.py", line 234, in send
    return self.send(
  File "/usr/local/lib/python3.8/site-packages/miio/miioprotocol.py", line 234, in send
    return self.send(
  File "/usr/local/lib/python3.8/site-packages/miio/miioprotocol.py", line 242, in send
    raise DeviceException("No response from the device") from ex
miio.exceptions.DeviceException: No response from the device

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions