rytilahti / python-miio

Python library & console tool for controlling Xiaomi smart appliances
https://python-miio.readthedocs.io
GNU General Public License v3.0
3.64k stars 550 forks source link

Bug TimeOut Dreame F9, works intermittently #1750

Open Cityloue15 opened 1 year ago

Cityloue15 commented 1 year ago

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):

Device information:

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
rytilahti commented 1 year ago

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.

Cityloue15 commented 1 year ago

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

Cityloue15 commented 1 year ago

@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
  2. 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
TheItschi commented 8 months ago

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.

Cityloue15 commented 8 months ago

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?

TheItschi commented 8 months ago

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 commented 8 months ago

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`

Cityloue15 commented 8 months ago

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?

TheItschi commented 8 months ago

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.

Cityloue15 commented 8 months ago

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

TheItschi commented 8 months ago

`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`

Cityloue15 commented 8 months ago

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.

TheItschi commented 8 months ago

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.

Cityloue15 commented 8 months ago

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

TheItschi commented 8 months ago

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