python-miio icon indicating copy to clipboard operation
python-miio copied to clipboard

Bug TimeOut Dreame F9, works intermittently

Open Cityloue15 opened this issue 2 years ago • 15 comments

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

Cityloue15 avatar Mar 01 '23 08:03 Cityloue15

This is probably related to #1751 - the problem is that miiocli does not save the sequence id when exiting, and some devices will simply ignore new requests as they think they have already answered them. A simple way to test if that's the case is to wait a minute or so between requests. If that works, this will be fixed when the linked issue gets implemented.

rytilahti avatar Mar 01 '23 14:03 rytilahti

Hello and thank you for your reply, I have tried using the miiocli genericmiot and miiocli dreamevacuum commands at larger intervals, without success.

Cityloue15 avatar Mar 01 '23 15:03 Cityloue15

@rytilahti Hello, I can communicate with the robot, but I have to query it once before with "viomivacuum", then "dreamevacuum". without that, no communication

  1. Request with dreamevacuum: >Error
USER@pijeedom:~ $ sudo miiocli dreamevacuum --ip 192.168.10.32 --token MYTOKEN status
ERROR:miio.miioprotocol:Got error when receiving: timed out
Error: No response from the device
  1. Request with viomivacuum:
USER@pijeedom:~ $ sudo miiocli viomivacuum --ip 192.168.10.32 --token MYTOKEN info
WARNING:miio.device:Found an unsupported model 'dreame.vacuum.p2008' for class 'ViomiVacuum'. If this is working for you, please open an issue at https://github.com/rytilahti/python-miio/
Model: dreame.vacuum.p2008
Hardware version: Linux
Firmware version: 3.5.8_1050

3.Request with dreamevacuum: >OK

USER@pijeedom:~ $ sudo miiocli dreamevacuum --ip 192.168.10.32 --token MYTOKEN status
Battery level: 100
Brush life level: 64
Brush left time: 193
Charging state: Charging
Cleaning mode: Turbo
Device fault: NoFaults
Device status: Idle
Filter left level: 43
Filter life level: 29
Life brush main: None
Life brush side: None
Life sieve: None
Map view: None
Operating mode: Sleeping
Side cleaning brush left time: 93
Side cleaning brush life level: 46
Time zone: Europe/Paris
Timer enabled: True
Timer start time: 22:00
Timer stop time: 08:00
Voice package: FR
Volume: 9
Water flow: Low
Water box attached: False
Cleaning time: 4
Cleaning area: 2
First clean time: 1677503427
Total clean time: 232
Total clean times: 8
Total clean area: 152

Cityloue15 avatar Mar 14 '23 14:03 Cityloue15

Same issue here:

`C:\Users\yavuz\AppData\Roaming\Python\Python310\Scripts>miiocli dreamevacuum --ip 192.168.100.118 --token xxx info Running command info 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 "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\miio\miioprotocol.py", line 199, in send data, addr = s.recvfrom(4096) TimeoutError: timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\miio\miioprotocol.py", line 199, in send data, addr = s.recvfrom(4096) TimeoutError: timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\miio\miioprotocol.py", line 199, in send data, addr = s.recvfrom(4096) TimeoutError: timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\miio\miioprotocol.py", line 199, in send data, addr = s.recvfrom(4096) TimeoutError: timed out

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

Traceback (most recent call last): File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\miio\click_common.py", line 54, in call return self.main(*args, **kwargs) File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\click\core.py", line 1078, in main rv = self.invoke(ctx) File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\click\core.py", line 1688, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\click\core.py", line 1688, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\click\core.py", line 1434, in invoke return ctx.invoke(self.callback, **ctx.params) File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\click\core.py", line 783, in invoke return __callback(*args, **kwargs) File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\miio\click_common.py", line 305, in wrap result = kwargs["result"] = func(*args, **kwargs) File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\click\decorators.py", line 92, in new_func return ctx.invoke(f, obj, *args, **kwargs) File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\click\core.py", line 783, in invoke return __callback(*args, **kwargs) File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\miio\click_common.py", line 270, in command_callback return miio_command.call(miio_device, *args, **kwargs) File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\miio\click_common.py", line 218, in call return method(*args, **kwargs) File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\miio\click_common.py", line 184, in _wrap self._fetch_info() File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\miio\device.py", line 138, in _fetch_info devinfo = DeviceInfo(self.send("miIO.info")) File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\miio\device.py", line 98, in send return self._protocol.send( File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\miio\miioprotocol.py", line 239, in send return self.send( File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\miio\miioprotocol.py", line 239, in send return self.send( File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\miio\miioprotocol.py", line 239, in send return self.send( File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\miio\miioprotocol.py", line 247, in send raise DeviceException("No response from the device") from ex miio.exceptions.DeviceException: No response from the device`

It works after cold booting the robot, but stops working after a while. Controlling the robot with the app however still works.

TheItschi avatar Jan 19 '24 10:01 TheItschi

miiocli dreamevacuum --ip 192.168.100.118 --token xxx info

And: sudo miiocli dreamevacuum --ip 192.168.100.118 --token xxx status What is the result?

Cityloue15 avatar Jan 19 '24 10:01 Cityloue15

Same result:

`C:\Users\yavuz\AppData\Roaming\Python\Python310\Scripts>miiocli dreamevacuum --ip 192.168.100.118 --token xxx status

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 "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\miio\miioprotocol.py", line 199, in send data, addr = s.recvfrom(4096) TimeoutError: timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\miio\miioprotocol.py", line 199, in send data, addr = s.recvfrom(4096) TimeoutError: timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\miio\miioprotocol.py", line 199, in send data, addr = s.recvfrom(4096) TimeoutError: timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\miio\miioprotocol.py", line 199, in send data, addr = s.recvfrom(4096) TimeoutError: timed out

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

Traceback (most recent call last): File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\miio\click_common.py", line 54, in call return self.main(*args, **kwargs) File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\click\core.py", line 1078, in main rv = self.invoke(ctx) File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\click\core.py", line 1688, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\click\core.py", line 1688, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\click\core.py", line 1434, in invoke return ctx.invoke(self.callback, **ctx.params) File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\click\core.py", line 783, in invoke return __callback(*args, **kwargs) File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\miio\click_common.py", line 305, in wrap result = kwargs["result"] = func(*args, **kwargs) File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\click\decorators.py", line 92, in new_func return ctx.invoke(f, obj, *args, **kwargs) File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\click\core.py", line 783, in invoke return __callback(*args, **kwargs) File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\miio\click_common.py", line 270, in command_callback return miio_command.call(miio_device, *args, **kwargs) File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\miio\click_common.py", line 218, in call return method(*args, **kwargs) File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\miio\click_common.py", line 184, in _wrap self._fetch_info() File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\miio\device.py", line 138, in _fetch_info devinfo = DeviceInfo(self.send("miIO.info")) File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\miio\device.py", line 98, in send return self._protocol.send( File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\miio\miioprotocol.py", line 239, in send return self.send( File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\miio\miioprotocol.py", line 239, in send return self.send( File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\miio\miioprotocol.py", line 239, in send return self.send( File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\miio\miioprotocol.py", line 247, in send raise DeviceException("No response from the device") from ex miio.exceptions.DeviceException: No response from the device`

TheItschi avatar Jan 19 '24 10:01 TheItschi

This is the result after I turned the robot off and on again:

`C:\Users\yavuz\AppData\Roaming\Python\Python310\Scripts>miiocli dreamevacuum --ip 192.168.100.118 --token xxx status

C:\Users\yavuz\AppData\Roaming\Python\Python310\Scripts>miiocli dreamevacuum --ip 192.168.100.118 --token xxx info Running command info Model: dreame.vacuum.p2036 Hardware version: Linux Firmware version: 3.5.8_1021 Supported using: DreameVacuum Command: miiocli dreamevacuum --ip 192.168.100.118 --token xxx Supported by genericmiot: True`

TheItschi avatar Jan 19 '24 11:01 TheItschi

Ok, it works now try, before the info command, the status command

miiocli dreamevacuum --ip 192.168.100.118 --token xxx info && miiocli dreamevacuum --ip 192.168.100.118 --token xxx status

The status info should appear. It's weird, but I think it works, don't you?

Cityloue15 avatar Jan 19 '24 11:01 Cityloue15

No, doesn't help. For me looks like the robot goes into kind of sleep mode and ignores requests. However the app is cumming trough.

TheItschi avatar Jan 19 '24 11:01 TheItschi

What is the result ? with time out 5 min sudo miiocli dreamevacuum --ip 192.168.100.118 --token xxx info && sudo miiocli dreamevacuum --ip 192.168.100.118 --token xxx status

Cityloue15 avatar Jan 19 '24 11:01 Cityloue15

`C:\Users\yavuz\AppData\Roaming\Python\Python310\Scripts>miiocli dreamevacuum --ip 192.168.100.118 --token xxx status

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 "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\miio\miioprotocol.py", line 199, in send data, addr = s.recvfrom(4096) TimeoutError: timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\miio\miioprotocol.py", line 199, in send data, addr = s.recvfrom(4096) TimeoutError: timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\miio\miioprotocol.py", line 199, in send data, addr = s.recvfrom(4096) TimeoutError: timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\miio\miioprotocol.py", line 199, in send data, addr = s.recvfrom(4096) TimeoutError: timed out

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

Traceback (most recent call last): File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\miio\click_common.py", line 54, in call return self.main(*args, **kwargs) File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\click\core.py", line 1078, in main rv = self.invoke(ctx) File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\click\core.py", line 1688, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\click\core.py", line 1688, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\click\core.py", line 1434, in invoke return ctx.invoke(self.callback, **ctx.params) File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\click\core.py", line 783, in invoke return __callback(*args, **kwargs) File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\miio\click_common.py", line 305, in wrap result = kwargs["result"] = func(*args, **kwargs) File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\click\decorators.py", line 92, in new_func return ctx.invoke(f, obj, *args, **kwargs) File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\click\core.py", line 783, in invoke return __callback(*args, **kwargs) File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\miio\click_common.py", line 270, in command_callback return miio_command.call(miio_device, *args, **kwargs) File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\miio\click_common.py", line 218, in call return method(*args, **kwargs) File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\miio\click_common.py", line 184, in _wrap self._fetch_info() File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\miio\device.py", line 138, in _fetch_info devinfo = DeviceInfo(self.send("miIO.info")) File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\miio\device.py", line 98, in send return self._protocol.send( File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\miio\miioprotocol.py", line 239, in send return self.send( File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\miio\miioprotocol.py", line 239, in send return self.send( File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\miio\miioprotocol.py", line 239, in send return self.send( File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\miio\miioprotocol.py", line 247, in send raise DeviceException("No response from the device") from ex miio.exceptions.DeviceException: No response from the device

C:\Users\yavuz\AppData\Roaming\Python\Python310\Scripts>miiocli dreamevacuum --ip 192.168.100.118 --token xxx info Running command info 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 "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\miio\miioprotocol.py", line 199, in send data, addr = s.recvfrom(4096) TimeoutError: timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\miio\miioprotocol.py", line 199, in send data, addr = s.recvfrom(4096) TimeoutError: timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\miio\miioprotocol.py", line 199, in send data, addr = s.recvfrom(4096) TimeoutError: timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\miio\miioprotocol.py", line 199, in send data, addr = s.recvfrom(4096) TimeoutError: timed out

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

Traceback (most recent call last): File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\miio\click_common.py", line 54, in call return self.main(*args, **kwargs) File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\click\core.py", line 1078, in main rv = self.invoke(ctx) File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\click\core.py", line 1688, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\click\core.py", line 1688, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\click\core.py", line 1434, in invoke return ctx.invoke(self.callback, **ctx.params) File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\click\core.py", line 783, in invoke return __callback(*args, **kwargs) File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\miio\click_common.py", line 305, in wrap result = kwargs["result"] = func(*args, **kwargs) File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\click\decorators.py", line 92, in new_func return ctx.invoke(f, obj, *args, **kwargs) File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\click\core.py", line 783, in invoke return __callback(*args, **kwargs) File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\miio\click_common.py", line 270, in command_callback return miio_command.call(miio_device, *args, **kwargs) File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\miio\click_common.py", line 218, in call return method(*args, **kwargs) File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\miio\click_common.py", line 184, in _wrap self._fetch_info() File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\miio\device.py", line 138, in _fetch_info devinfo = DeviceInfo(self.send("miIO.info")) File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\miio\device.py", line 98, in send return self._protocol.send( File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\miio\miioprotocol.py", line 239, in send return self.send( File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\miio\miioprotocol.py", line 239, in send return self.send( File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\miio\miioprotocol.py", line 239, in send return self.send( File "C:\Users\yavuz\AppData\Roaming\Python\Python310\site-packages\miio\miioprotocol.py", line 247, in send raise DeviceException("No response from the device") from ex miio.exceptions.DeviceException: No response from the device`

TheItschi avatar Jan 19 '24 11:01 TheItschi

No, wait 5 min and sudo miiocli dreamevacuum --ip 192.168.100.118 --token xxx info && sudo miiocli dreamevacuum --ip 192.168.100.118 --token xxx status not miiocli dreamevacuum --ip 192.168.100.118 --token xxx info and miiocli dreamevacuum --ip 192.168.100.118 --token xxx status one command only, This way, you can (normally) send orders and receive information, but only every 5 minutes, which for me is not a problem on a daily basis.

Cityloue15 avatar Jan 19 '24 11:01 Cityloue15

That make no difference. Still "No response from the device". Again, it looks like if the robot is at the charging station for a while, it's not answering anymore.

TheItschi avatar Jan 19 '24 11:01 TheItschi

Did you copy the entire code? with the "&&".

Cityloue15 avatar Jan 19 '24 13:01 Cityloue15

Hm, according to a hint in the discussions I changed retry_count in device.py to 20. Now it takes quite long but works.

TheItschi avatar Jan 19 '24 19:01 TheItschi