Git Product home page Git Product logo

domoticz-mirobot-plugin's People

Contributors

condorello avatar mrin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

domoticz-mirobot-plugin's Issues

Debug false makes errors

Hello,

When I put the Debug mode on "false", then I got errors on logs :

2020-02-28 09:11:25.569 Error: Xiaomi S50 hardware (6) thread seems to have ended unexpectedly

gen 2 compatibility

Hi,

Does this plugin manage at least the same function as gen 1 robot with a gen 2 robot ? or is it totally incompatible ?

Couldn't find an answer in any forum (and the question was asked multiple time), so I open this issue until someone can finally answer this question.

Thanks.

Problem after installation

A lot of errors in domoticz log after installation. Cares on utils page shows 0%

2017-11-07 23:31:15.118 (Odkurzacz) Calling message handler 'onHeartbeat'. 2017-11-07 23:31:15.119 (Odkurzacz) Sending 8 bytes of data:. 2017-11-07 23:31:15.119 (Odkurzacz) 91 a6 73 74 61 74 75 73 .. .. .. .. .. .. .. .. .. .. .. .. ��status 2017-11-07 23:31:15.921 (Odkurzacz) Received 88 bytes of data:. 2017-11-07 23:31:15.921 (Odkurzacz) 87 a7 62 61 74 74 65 72 79 64 a5 65 72 72 6f 72 c0 aa 63 6c ��batteryd�error��cl 2017-11-07 23:31:15.921 (Odkurzacz) 65 61 6e 5f 61 72 65 61 cb 40 26 f5 c2 8f 5c 28 f6 aa 73 74 ean_area�@&��\(��st 2017-11-07 23:31:15.921 (Odkurzacz) 61 74 65 5f 63 6f 64 65 08 ad 63 6c 65 61 6e 5f 73 65 63 6f ate_code.�clean_seco 2017-11-07 23:31:15.921 (Odkurzacz) 6e 64 73 cd 03 73 a9 66 61 6e 5f 6c 65 76 65 6c 3c a3 63 6d nds�.s�fan_level<�cm 2017-11-07 23:31:15.921 (Odkurzacz) 64 a6 73 74 61 74 75 73 .. .. .. .. .. .. .. .. .. .. .. .. d�status **2017-11-07 23:31:15.922 (Odkurzacz) Calling message handler 'onMessage'. 2017-11-07 23:31:15.922 Error: (Odkurzacz) 'onMessage' failed 'TypeError':'onMessage() takes 2 positional arguments but 4 were given'.** 2017-11-07 23:31:30.094 (Odkurzacz) Calling message handler 'onHeartbeat'. 2017-11-07 23:31:30.095 (Odkurzacz) Sending 8 bytes of data:. 2017-11-07 23:31:30.095 (Odkurzacz) 91 a6 73 74 61 74 75 73 .. .. .. .. .. .. .. .. .. .. .. .. ��status 2017-11-07 23:31:30.195 (Odkurzacz) Received 88 bytes of data:. 2017-11-07 23:31:30.196 (Odkurzacz) 87 a7 62 61 74 74 65 72 79 64 a5 65 72 72 6f 72 c0 aa 63 6c ��batteryd�error��cl 2017-11-07 23:31:30.196 (Odkurzacz) 65 61 6e 5f 61 72 65 61 cb 40 26 f5 c2 8f 5c 28 f6 aa 73 74 ean_area�@&��\(��st 2017-11-07 23:31:30.196 (Odkurzacz) 61 74 65 5f 63 6f 64 65 08 ad 63 6c 65 61 6e 5f 73 65 63 6f ate_code.�clean_seco 2017-11-07 23:31:30.196 (Odkurzacz) 6e 64 73 cd 03 73 a9 66 61 6e 5f 6c 65 76 65 6c 3c a3 63 6d nds�.s�fan_level<�cm 2017-11-07 23:31:30.196 (Odkurzacz) 64 a6 73 74 61 74 75 73 .. .. .. .. .. .. .. .. .. .. .. .. d�status **2017-11-07 23:31:30.197 (Odkurzacz) Calling message handler 'onMessage'. 2017-11-07 23:31:30.197 Error: (Odkurzacz) 'onMessage' failed 'TypeError':'onMessage() takes 2 positional arguments but 4 were given'.** 2017-11-07 23:31:45.123 (Odkurzacz) Calling message handler 'onHeartbeat'. 2017-11-07 23:31:45.123 (Odkurzacz) Sending 8 bytes of data:. 2017-11-07 23:31:45.123 (Odkurzacz) 91 a6 73 74 61 74 75 73 .. .. .. .. .. .. .. .. .. .. .. .. ��status

Not working with Roborock S6

It can sometimes pick up the Status that it is cleaning, but controls, battery, and care devices do not work. I'm sure it is because this is a newer device and I'm not the best coder! Thanks for your time and effort on this plugin.

Python version

Hello,

I just reinstalled my Domoticz on Raspbian and I got errors with Xiaomi plugins :

2020-02-23 11:48:16.318 Error: (xiaomi-mi-robot-vacuum) failed to load 'plugin.py', Python Path used was '/home/pi/domoticz/plugins/xiaomi-mirobot/:/usr/lib/python37.zip:/usr/lib/python3.7:/usr/lib/python3.7/lib-dynload:/usr/local/lib/python3.7/dist-packages:/usr/lib/python3/dist-packages:/usr/lib/python3.7/dist-packages'.
2020-02-23 11:48:16.318 Error: (Xiaomi S50) Module Import failed, exception: 'AttributeError'
2020-02-23 11:48:16.318 Error: (Xiaomi S50) Error Line details not available.
2020-02-23 11:49:27.544 Error: Xiaomi S50 hardware (6) thread seems to have ended unexpectedly

How can I make it works again ?

Add compatibility with latest miio integration

Hello,
It would help the community if you could integrate this model into this repository.
This submodel is integrated in latest python-miio:
Vacuum xiaomi mop 2 pro+ (dreame.vacuum.p2041o);
Thank you!

Statusupdate control device

I would like to start the robot based on absence of family members and previous clean date. To realize that I need to track the previous cleaning date with a global parameter in Domoticz. In case the control device is set to 'Clean' (level 10) the previous cleaning date has to be updated. I defined a dzvents script on = { devices = { <device id> } } However, the event is not triggered when selecting 'Clean' (level 10), because the device value doesn't change at all: this value is always 'Off', no matter which level is chosen. Does anyone has an idea which trigger I can use to recognize a level change of the control device to start the dzvents script?

Script problem after uptdate python

Hello,

I have update python 3.5 to 3.7, i follow again the instruction for install it and i have this error :

(.env) root@srv-askey:/opt/domoticz/plugins/xiaomi-mirobot# ./miio_server.py 192.168.1.42 "******************************************" --host 127.0.0.1 --port 22222
Traceback (most recent call last):
File "./miio_server.py", line 17, in
from miio import Vacuum, DeviceException
File "/usr/local/lib/python3.7/site-packages/miio/init.py", line 2, in
from miio.airconditioningcompanion import (
File "/usr/local/lib/python3.7/site-packages/miio/airconditioningcompanion.py", line 8, in
from .device import Device, DeviceException
File "/usr/local/lib/python3.7/site-packages/miio/device.py", line 14, in
from .protocol import Message
File "/usr/local/lib/python3.7/site-packages/miio/protocol.py", line 206, in
Const(0x2131, Int16ub),
File "/usr/local/lib/python3.7/site-packages/construct/core.py", line 1930, in init
super(Const, self).init(subcon)
File "/usr/local/lib/python3.7/site-packages/construct/core.py", line 288, in init
raise TypeError("subcon should be a Construct field")
TypeError: subcon should be a Construct field

Regards

No devices created in domoticz V4.9700

Hi,

I have the insallation done.
test.py runs

pi@raspberrypi:~/domoticz/plugins/xiaomi-mirobot $ ./test.py test: python modules path: ././.env/lib/python3.5/site-packages test: trying connect to 127.0.0.1:22222 test: sent request to server [status] test: reading response... test: got server reply {'clean_seconds': 1522, 'fan_level': 90, 'state_code': 8, 'battery': ror': None, 'clean_area': 22.99, 'cmd': 'status'}

Hardware is added

2018-12-22 11:15:50.751 Status: (Stoffie) Started. 2018-12-22 11:15:51.394 Status: (Stoffie) Entering work loop. 2018-12-22 11:15:51.394 Status: (Stoffie) Initialized version 0.1.3, author 'mrin' 2018-12-22 11:16:53.953 (Stoffie) Processing 'onMessageCallback' message 2018-12-22 11:16:53.953 (Stoffie) Calling message handler 'onMessage'. 2018-12-22 11:16:53.953 (Stoffie) Got: {'battery': 100, 'fan_level': 90, 'cmd': 'status', 'clean_seconds': 1522, 'state_code': 8, 'error': None, 'clean_area': 22.99} 2018-12-22 11:17:08.858 (Stoffie) Pushing 'onHeartbeatCallback' on to queue 2018-12-22 11:17:08.895 (Stoffie) Processing 'onHeartbeatCallback' message 2018-12-22 11:17:08.895 (Stoffie) Calling message handler 'onHeartbeat'. 2018-12-22 11:17:08.896 (Stoffie) Pushing 'WriteDirective' on to queue 2018-12-22 11:17:08.896 (Stoffie) Processing 'WriteDirective' message 2018-12-22 11:17:08.896 (Stoffie) Sending 8 bytes of data 2018-12-22 11:17:08.896 (Stoffie) 91 a6 73 74 61 74 75 73 .. .. .. .. .. .. .. .. .. .. .. .. ��status 2018-12-22 11:17:08.926 (Stoffie) Pushing 'ReadEvent' on to queue 2018-12-22 11:17:08.946 (Stoffie) Processing 'ReadEvent' message 2018-12-22 11:17:08.946 (Stoffie) Received 88 bytes of data 2018-12-22 11:17:08.946 (Stoffie) 87 a7 62 61 74 74 65 72 79 64 a5 65 72 72 6f 72 c0 aa 63 6c ��batteryd�error��cl 2018-12-22 11:17:08.946 (Stoffie) 65 61 6e 5f 61 72 65 61 cb 40 36 fd 70 a3 d7 0a 3d aa 73 74 ean_area�@6�p��.=�st 2018-12-22 11:17:08.946 (Stoffie) 61 74 65 5f 63 6f 64 65 08 a3 63 6d 64 a6 73 74 61 74 75 73 ate_code.�cmd�status 2018-12-22 11:17:08.946 (Stoffie) ad 63 6c 65 61 6e 5f 73 65 63 6f 6e 64 73 cd 05 f2 a9 66 61 �clean_seconds�.�fa 2018-12-22 11:17:08.946 (Stoffie) 6e 5f 6c 65 76 65 6c 5a .. .. .. .. .. .. .. .. .. .. .. .. n_levelZ 2018-12-22 11:17:08.947 (Stoffie) Pushing 'onMessageCallback' on to queue 2018-12-22 11:17:08.947 (Stoffie) Processing 'onMessageCallback' message 2018-12-22 11:17:08.947 (Stoffie) Calling message handler 'onMessage'. 2018-12-22 11:17:08.947 (Stoffie) Got: {'battery': 100, 'fan_level': 90, 'cmd': 'status', 'clean_seconds': 1522, 'state_code': 8, 'error': None, 'clean_area': 22.99} 2018-12-22 11:17:23.860 (Stoffie) Pushing 'onHeartbeatCallback' on to queue 2018-12-22 11:17:23.884 (Stoffie) Processing 'onHeartbeatCallback' message 2018-12-22 11:17:23.884 (Stoffie) Calling message handler 'onHeartbeat'. 2018-12-22 11:17:23.885 (Stoffie) Pushing 'WriteDirective' on to queue 2018-12-22 11:17:23.885 (Stoffie) Processing 'WriteDirective' message 2018-12-22 11:17:23.885 (Stoffie) Sending 8 bytes of data 2018-12-22 11:17:23.885 (Stoffie) 91 a6 73 74 61 74 75 73 .. .. .. .. .. .. .. .. .. .. .. .. ��status 2018-12-22 11:17:23.916 (Stoffie) Pushing 'ReadEvent' on to queue 2018-12-22 11:17:23.935 (Stoffie) Processing 'ReadEvent' message 2018-12-22 11:17:23.935 (Stoffie) Received 88 bytes of data 2018-12-22 11:17:23.935 (Stoffie) 87 a7 62 61 74 74 65 72 79 64 a5 65 72 72 6f 72 c0 aa 63 6c ��batteryd�error��cl 2018-12-22 11:17:23.936 (Stoffie) 65 61 6e 5f 61 72 65 61 cb 40 36 fd 70 a3 d7 0a 3d aa 73 74 ean_area�@6�p��.=�st 2018-12-22 11:17:23.936 (Stoffie) 61 74 65 5f 63 6f 64 65 08 a3 63 6d 64 a6 73 74 61 74 75 73 ate_code.�cmd�status 2018-12-22 11:17:23.936 (Stoffie) ad 63 6c 65 61 6e 5f 73 65 63 6f 6e 64 73 cd 05 f2 a9 66 61 �clean_seconds�.�fa 2018-12-22 11:17:23.936 (Stoffie) 6e 5f 6c 65 76 65 6c 5a .. .. .. .. .. .. .. .. .. .. .. .. n_levelZ 2018-12-22 11:17:23.936 (Stoffie) Pushing 'onMessageCallback' on to queue 2018-12-22 11:17:23.936 (Stoffie) Processing 'onMessageCallback' message 2018-12-22 11:17:23.936 (Stoffie) Calling message handler 'onMessage'. 2018-12-22 11:17:23.936 (Stoffie) Got: {'battery': 100, 'fan_level': 90, 'cmd': 'status', 'clean_seconds': 1522, 'state_code': 8, 'error': None, 'clean_area': 22.99} 2018-12-22 11:17:38.863 (Stoffie) Pushing 'onHeartbeatCallback' on to queue 2018-12-22 11:17:38.913 (Stoffie) Processing 'onHeartbeatCallback' message 2018-12-22 11:17:38.913 (Stoffie) Calling message handler 'onHeartbeat'. 2018-12-22 11:17:38.913 (Stoffie) Pushing 'WriteDirective' on to queue 2018-12-22 11:17:38.913 (Stoffie) Processing 'WriteDirective' message 2018-12-22 11:17:38.913 (Stoffie) Sending 8 bytes of data 2018-12-22 11:17:38.913 (Stoffie) 91 a6 73 74 61 74 75 73 .. .. .. .. .. .. .. .. .. .. .. .. ��status 2018-12-22 11:17:38.950 (Stoffie) Pushing 'ReadEvent' on to queue 2018-12-22 11:17:38.964 (Stoffie) Processing 'ReadEvent' message 2018-12-22 11:17:38.964 (Stoffie) Received 88 bytes of data 2018-12-22 11:17:38.964 (Stoffie) 87 a7 62 61 74 74 65 72 79 64 a5 65 72 72 6f 72 c0 aa 63 6c ��batteryd�error��cl 2018-12-22 11:17:38.964 (Stoffie) 65 61 6e 5f 61 72 65 61 cb 40 36 fd 70 a3 d7 0a 3d aa 73 74 ean_area�@6�p��.=�st 2018-12-22 11:17:38.964 (Stoffie) 61 74 65 5f 63 6f 64 65 08 a3 63 6d 64 a6 73 74 61 74 75 73 ate_code.�cmd�status 2018-12-22 11:17:38.964 (Stoffie) ad 63 6c 65 61 6e 5f 73 65 63 6f 6e 64 73 cd 05 f2 a9 66 61 �clean_seconds�.�fa 2018-12-22 11:17:38.964 (Stoffie) 6e 5f 6c 65 76 65 6c 5a .. .. .. .. .. .. .. .. .. .. .. .. n_levelZ 2018-12-22 11:17:38.964 (Stoffie) Pushing 'onMessageCallback' on to queue 2018-12-22 11:17:38.964 (Stoffie) Processing 'onMessageCallback' message 2018-12-22 11:17:38.964 (Stoffie) Calling message handler 'onMessage'. 2018-12-22 11:17:38.965 (Stoffie) Got: {'battery': 100, 'fan_level': 90, 'cmd': 'status', 'clean_seconds': 1522, 'state_code': 8, 'error': None, 'clean_area': 22.99} 2018-12-22 11:17:53.865 (Stoffie) Pushing 'onHeartbeatCallback' on to queue 2018-12-22 11:17:53.892 (Stoffie) Processing 'onHeartbeatCallback' message 2018-12-22 11:17:53.893 (Stoffie) Calling message handler 'onHeartbeat'. 2018-12-22 11:17:53.893 (Stoffie) Pushing 'WriteDirective' on to queue 2018-12-22 11:17:53.893 (Stoffie) Processing 'WriteDirective' message 2018-12-22 11:17:53.893 (Stoffie) Sending 8 bytes of data 2018-12-22 11:17:53.893 (Stoffie) 91 a6 73 74 61 74 75 73 .. .. .. .. .. .. .. .. .. .. .. .. ��status 2018-12-22 11:17:53.923 (Stoffie) Pushing 'ReadEvent' on to queue 2018-12-22 11:17:53.944 (Stoffie) Processing 'ReadEvent' message 2018-12-22 11:17:53.944 (Stoffie) Received 88 bytes of data 2018-12-22 11:17:53.944 (Stoffie) 87 a7 62 61 74 74 65 72 79 64 a5 65 72 72 6f 72 c0 aa 63 6c ��batteryd�error��cl 2018-12-22 11:17:53.944 (Stoffie) 65 61 6e 5f 61 72 65 61 cb 40 36 fd 70 a3 d7 0a 3d aa 73 74 ean_area�@6�p��.=�st 2018-12-22 11:17:53.944 (Stoffie) 61 74 65 5f 63 6f 64 65 08 a3 63 6d 64 a6 73 74 61 74 75 73 ate_code.�cmd�status 2018-12-22 11:17:53.944 (Stoffie) ad 63 6c 65 61 6e 5f 73 65 63 6f 6e 64 73 cd 05 f2 a9 66 61 �clean_seconds�.�fa 2018-12-22 11:17:53.944 (Stoffie) 6e 5f 6c 65 76 65 6c 5a .. .. .. .. .. .. .. .. .. .. .. .. n_levelZ 2018-12-22 11:17:53.944 (Stoffie) Pushing 'onMessageCallback' on to queue 2018-12-22 11:17:53.944 (Stoffie) Processing 'onMessageCallback' message 2018-12-22 11:17:53.944 (Stoffie) Calling message handler 'onMessage'. 2018-12-22 11:17:53.945 (Stoffie) Got: {'battery': 100, 'fan_level': 90, 'cmd': 'status', 'clean_seconds': 1522, 'state_code': 8, 'error': None, 'clean_area': 22.99} 2018-12-22 11:18:08.868 (Stoffie) Pushing 'onHeartbeatCallback' on to queue 2018-12-22 11:18:08.872 (Stoffie) Processing 'onHeartbeatCallback' message 2018-12-22 11:18:08.873 (Stoffie) Calling message handler 'onHeartbeat'. 2018-12-22 11:18:08.873 (Stoffie) Pushing 'WriteDirective' on to queue

TypeError("subcon should be a Construct field")

I have this problem in new debian install :

tontze@T610:~/domoticz/plugins/xiaomi-mirobot$ sudo ./miio_server.py 192.168.1.24 xxxxxxxxxxxxxxxxxxxxxxxxxxxx --host 127.0.0.1 --port 22222 Traceback (most recent call last): File "/home/tontze/domoticz/plugins/xiaomi-mirobot/./miio_server.py", line 17, in <module> from miio import Vacuum, DeviceException File "/home/tontze/domoticz/plugins/xiaomi-mirobot/././.env/lib/python3.9/site-packages/miio/__init__.py", line 2, in <module> from miio.protocol import Message, Utils File "/home/tontze/domoticz/plugins/xiaomi-mirobot/././.env/lib/python3.9/site-packages/miio/protocol.py", line 155, in <module> Const(Int16ub, 0x2131), File "/home/tontze/domoticz/plugins/xiaomi-mirobot/././.env/lib/python3.9/site-packages/construct/core.py", line 2537, in __init__ super(Const, self).__init__(subcon) File "/home/tontze/domoticz/plugins/xiaomi-mirobot/././.env/lib/python3.9/site-packages/construct/core.py", line 673, in __init__ raise TypeError("subcon should be a Construct field") TypeError: subcon should be a Construct field

Debian 11 bullseye
construct-2.10.61

Поправка к ридми

А как же сделать тест.пай исполняемым?)
Run server and test script: sudo service miio_server start sudo chmod +x test.py sudo ./test.py

Upgrading Ubuntu

I was running the plugin fine on Ubuntu 16.04.
I upgraded to 17.10 due to needing a higher version of Python for another app.
I went through the setup process again as I believe Python is now 3.6.
When I run the test.py I get the following:
domoticz@Domoticz~/domoticz/plugins/xiaomi-mirobot$ sudo ./test.py
test python modules path: ././.env/lib/python3.6/site-packages
test python modules path: ././.env/lib/python3.5/site-packages
test trying connect to 127.0.0.1:22222
Traceback (most recent call last)
File "./test.py", line 22, in
client = socket.create_connection((args.host, args.port))
File "/usr/lib/python3.6/socket.py", line 724, in create_connection
raise err
File "/usr/lib/python3.6/socket.py", line 713, in create_connection
sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused
domoticz@Domoticz:~/domoticz/plugins/xiaomi-mirobot$

Is someone able to assist?

error installing

Hi,

i try to install it since a couple of day and always i got sale errors.

  1. When i try to install gevent, msgpack and greenlet i have wheel errors => i try to change versions it seems install is ok but it don't work when i try to launch test.py i got issue
    test: python modules path: /home/tg76/domoticz/plugins/xiaomi-mirobot/././.env/lib/python3.9/site-packages test: trying connect to 127.0.0.1:22222 Traceback (most recent call last): File "/home/tg76/domoticz/plugins/xiaomi-mirobot/./test.py", line 22, in <module> client = socket.create_connection((args.host, args.port)) File "/usr/lib/python3.9/socket.py", line 843, in create_connection raise err File "/usr/lib/python3.9/socket.py", line 831, in create_connection sock.connect(sa) ConnectionRefusedError: [Errno 111] Connection refused

is somebody can help me to install it. python 3.9 is the problem?

rpi 4 64bits bullseye
python 3.9

thanks a lot

Locks

Hello,

In Domoticz logs, I see every second these messages :
2022-07-21 00:23:15.892 (Xiaomi S50) Acquiring lock for 'Xiaomi S50'
2022-07-21 00:23:15.892 (Xiaomi S50) Releasing lock for 'Xiaomi S50'

What does it means and how to get ride of it ?

pip3 install gevent msgpack-python python-miio==0.3.1 runs into issues

I followed the installation instructions but the command ' pip3 install gevent msgpack-python python-miio==0.3.1' starts fine, but ends up in an error. Platform: Linux-5.10.63-v7l+-armv7l-with-debian-10.11 with Python: 3.7.3 and pip 21.3.1.

I am on the latest pip version and installed the latest Rust toolchain as recommended in the detailed output. I don't understand what's going wrong and how I can solve this.

Collecting gevent Using cached gevent-21.12.0-cp37-cp37m-linux_armv7l.whl Collecting msgpack-python Using cached https://www.piwheels.org/simple/msgpack-python/msgpack_python-0.5.6-cp37-cp37m-linux_armv7l.whl (339 kB) Collecting python-miio==0.3.1 Using cached https://www.piwheels.org/simple/python-miio/python_miio-0.3.1-py3-none-any.whl (45 kB) Collecting attrs Using cached https://www.piwheels.org/simple/attrs/attrs-21.2.0-py2.py3-none-any.whl (53 kB) Collecting cryptography Using cached cryptography-36.0.1.tar.gz (572 kB) Installing build dependencies ... done Getting requirements to build wheel ... done Preparing metadata (pyproject.toml) ... done Collecting pretty-cron Using cached https://www.piwheels.org/simple/pretty-cron/pretty_cron-1.2.0-py2.py3-none-any.whl (4.8 kB) Collecting typing Using cached https://www.piwheels.org/simple/typing/typing-3.7.4.3-py3-none-any.whl (28 kB) Collecting click Using cached https://www.piwheels.org/simple/click/click-8.0.3-py3-none-any.whl (97 kB) Collecting pytz Using cached https://www.piwheels.org/simple/pytz/pytz-2021.3-py3-none-any.whl (511 kB) Collecting zeroconf Using cached https://www.piwheels.org/simple/zeroconf/zeroconf-0.37.0-py3-none-any.whl (97 kB) Collecting pycrypto Using cached https://www.piwheels.org/simple/pycrypto/pycrypto-2.6.1-cp37-cp37m-linux_armv7l.whl (525 kB) Collecting construct Using cached https://www.piwheels.org/simple/construct/construct-2.10.67-py3-none-any.whl (59 kB) Collecting android-backup Using cached https://www.piwheels.org/simple/android-backup/android_backup-0.2.0-py3-none-any.whl (8.6 kB) Collecting zope.event Using cached https://www.piwheels.org/simple/zope-event/zope.event-4.5.0-py2.py3-none-any.whl (6.8 kB) Requirement already satisfied: setuptools in ./.env/lib/python3.7/site-packages (from gevent) (58.3.0) Collecting greenlet<2.0,>=1.1.0 Using cached https://www.piwheels.org/simple/greenlet/greenlet-1.1.2-cp37-cp37m-linux_armv7l.whl (161 kB) Collecting zope.interface Using cached https://www.piwheels.org/simple/zope-interface/zope.interface-5.4.0-cp37-cp37m-linux_armv7l.whl (240 kB) Collecting importlib-metadata Using cached importlib_metadata-4.9.0-py3-none-any.whl (17 kB) Collecting cffi>=1.12 Using cached https://www.piwheels.org/simple/cffi/cffi-1.15.0-cp37-cp37m-linux_armv7l.whl (346 kB) Collecting ifaddr>=0.1.7 Using cached https://www.piwheels.org/simple/ifaddr/ifaddr-0.1.7-py2.py3-none-any.whl (10 kB) Collecting pycparser Using cached https://www.piwheels.org/simple/pycparser/pycparser-2.21-py2.py3-none-any.whl (119 kB) Collecting typing-extensions>=3.6.4 Using cached https://www.piwheels.org/simple/typing-extensions/typing_extensions-4.0.1-py3-none-any.whl (22 kB) Collecting zipp>=0.5 Using cached https://www.piwheels.org/simple/zipp/zipp-3.6.0-py3-none-any.whl (5.3 kB) Building wheels for collected packages: cryptography Building wheel for cryptography (pyproject.toml) ... error ERROR: Command errored out with exit status 1: command: /home/pi/domoticz/plugins/xiaomi-mirobot/.env/bin/python /home/pi/domoticz/plugins/xiaomi-mirobot/.env/lib/python3.7/site-packages/pip/_vendor/pep517/in_process/_in_process.py build_wheel /tmp/tmp5n3g4sjv cwd: /tmp/pip-install-nkw_vt3q/cryptography_16f3025983c54acd9319c9b6cf1f2499

In red the detailed output is listed:
`Complete output (168 lines):
running bdist_wheel
running build
running build_py
creating build
creating build/lib.linux-armv7l-3.7
creating build/lib.linux-armv7l-3.7/cryptography
copying src/cryptography/exceptions.py -> build/lib.linux-armv7l-3.7/cryptography
copying src/cryptography/fernet.py -> build/lib.linux-armv7l-3.7/cryptography
copying src/cryptography/utils.py -> build/lib.linux-armv7l-3.7/cryptography
copying src/cryptography/init.py -> build/lib.linux-armv7l-3.7/cryptography
copying src/cryptography/about.py -> build/lib.linux-armv7l-3.7/cryptography
creating build/lib.linux-armv7l-3.7/cryptography/x509
copying src/cryptography/x509/oid.py -> build/lib.linux-armv7l-3.7/cryptography/x509
copying src/cryptography/x509/ocsp.py -> build/lib.linux-armv7l-3.7/cryptography/x509
copying src/cryptography/x509/certificate_transparency.py -> build/lib.linux-armv7l-3.7/cryptography/x509
copying src/cryptography/x509/base.py -> build/lib.linux-armv7l-3.7/cryptography/x509
copying src/cryptography/x509/name.py -> build/lib.linux-armv7l-3.7/cryptography/x509
copying src/cryptography/x509/general_name.py -> build/lib.linux-armv7l-3.7/cryptography/x509
copying src/cryptography/x509/extensions.py -> build/lib.linux-armv7l-3.7/cryptography/x509
copying src/cryptography/x509/init.py -> build/lib.linux-armv7l-3.7/cryptography/x509
creating build/lib.linux-armv7l-3.7/cryptography/hazmat
copying src/cryptography/hazmat/_oid.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat
copying src/cryptography/hazmat/init.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat
creating build/lib.linux-armv7l-3.7/cryptography/hazmat/bindings
copying src/cryptography/hazmat/bindings/init.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/bindings
creating build/lib.linux-armv7l-3.7/cryptography/hazmat/backends
copying src/cryptography/hazmat/backends/interfaces.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends
copying src/cryptography/hazmat/backends/init.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends
creating build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/poly1305.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/hashes.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/_serialization.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/keywrap.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/_cipheralgorithm.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/hmac.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/padding.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/_asymmetric.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/cmac.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/init.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/constant_time.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
creating build/lib.linux-armv7l-3.7/cryptography/hazmat/bindings/openssl
copying src/cryptography/hazmat/bindings/openssl/binding.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/bindings/openssl
copying src/cryptography/hazmat/bindings/openssl/init.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/bindings/openssl
copying src/cryptography/hazmat/bindings/openssl/_conditional.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/bindings/openssl
creating build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/x448.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/dh.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/decode_asn1.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/ciphers.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/aead.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/dsa.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/x509.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/ed448.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/poly1305.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/hashes.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/ec.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/hmac.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/encode_asn1.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/backend.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/rsa.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/cmac.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/x25519.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/utils.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/init.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/ed25519.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
creating build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/x448.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/dh.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/dsa.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/ed448.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/ec.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/padding.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/rsa.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/types.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/x25519.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/utils.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/init.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/ed25519.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
creating build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/twofactor
copying src/cryptography/hazmat/primitives/twofactor/totp.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/twofactor
copying src/cryptography/hazmat/primitives/twofactor/hotp.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/twofactor
copying src/cryptography/hazmat/primitives/twofactor/init.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/twofactor
creating build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/serialization
copying src/cryptography/hazmat/primitives/serialization/pkcs7.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/serialization
copying src/cryptography/hazmat/primitives/serialization/base.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/serialization
copying src/cryptography/hazmat/primitives/serialization/pkcs12.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/serialization
copying src/cryptography/hazmat/primitives/serialization/init.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/serialization
copying src/cryptography/hazmat/primitives/serialization/ssh.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/serialization
creating build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/ciphers
copying src/cryptography/hazmat/primitives/ciphers/modes.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/ciphers
copying src/cryptography/hazmat/primitives/ciphers/aead.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/ciphers
copying src/cryptography/hazmat/primitives/ciphers/base.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/ciphers
copying src/cryptography/hazmat/primitives/ciphers/algorithms.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/ciphers
copying src/cryptography/hazmat/primitives/ciphers/init.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/ciphers
creating build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/scrypt.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/concatkdf.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/pbkdf2.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/hkdf.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/kbkdf.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/init.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/x963kdf.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/kdf
running egg_info
writing src/cryptography.egg-info/PKG-INFO
writing dependency_links to src/cryptography.egg-info/dependency_links.txt
writing requirements to src/cryptography.egg-info/requires.txt
writing top-level names to src/cryptography.egg-info/top_level.txt
reading manifest file 'src/cryptography.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
no previously-included directories found matching 'docs/_build'
warning: no previously-included files found matching 'vectors'
warning: no previously-included files matching '' found under directory 'vectors'
warning: no previously-included files matching '
' found under directory '.github'
warning: no previously-included files found matching 'release.py'
warning: no previously-included files found matching '.coveragerc'
warning: no previously-included files found matching 'codecov.yml'
warning: no previously-included files found matching '.readthedocs.yml'
warning: no previously-included files found matching 'dev-requirements.txt'
warning: no previously-included files found matching 'tox.ini'
warning: no previously-included files found matching 'mypy.ini'
warning: no previously-included files matching '' found under directory '.zuul.d'
warning: no previously-included files matching '
' found under directory '.zuul.playbooks'
adding license file 'LICENSE'
adding license file 'LICENSE.APACHE'
adding license file 'LICENSE.BSD'
adding license file 'LICENSE.PSF'
writing manifest file 'src/cryptography.egg-info/SOURCES.txt'
copying src/cryptography/py.typed -> build/lib.linux-armv7l-3.7/cryptography
creating build/lib.linux-armv7l-3.7/cryptography/hazmat/bindings/_rust
copying src/cryptography/hazmat/bindings/_rust/init.pyi -> build/lib.linux-armv7l-3.7/cryptography/hazmat/bindings/_rust
copying src/cryptography/hazmat/bindings/_rust/asn1.pyi -> build/lib.linux-armv7l-3.7/cryptography/hazmat/bindings/_rust
copying src/cryptography/hazmat/bindings/_rust/ocsp.pyi -> build/lib.linux-armv7l-3.7/cryptography/hazmat/bindings/_rust
copying src/cryptography/hazmat/bindings/_rust/x509.pyi -> build/lib.linux-armv7l-3.7/cryptography/hazmat/bindings/_rust
running build_ext
running build_rust

  =============================DEBUG ASSISTANCE=============================
  If you are seeing a compilation error please try the following steps to
  successfully install cryptography:
  1) Upgrade to the latest pip and try again. This will fix errors for most
     users. See: https://pip.pypa.io/en/stable/installing/#upgrading-pip
  2) Read https://cryptography.io/en/latest/installation/ for specific
     instructions for your platform.
  3) Check our frequently asked questions for more information:
     https://cryptography.io/en/latest/faq/
  4) Ensure you have a recent Rust toolchain installed:
     https://cryptography.io/en/latest/installation/#rust

  Python: 3.7.3
  platform: Linux-5.10.63-v7l+-armv7l-with-debian-10.11
  pip: n/a
  setuptools: 59.6.0
  setuptools_rust: 1.1.2
  =============================DEBUG ASSISTANCE=============================

error: can't find Rust compiler

If you are using an outdated pip version, it is possible a prebuilt wheel is available for this package but pip is not able to install from it. Installing from the wheel would avoid the need for a Rust compiler.

To update pip, run:

  pip install --upgrade pip

and then retry package installation.

If you did intend to build this package from source, try installing a Rust compiler from your system package manager and ensure it is on the PATH during installation. Alternatively, rustup (available at https://rustup.rs) is the recommended way to download and update the Rust compiler toolchain.

This package requires Rust >=1.41.0.

ERROR: Failed building wheel for cryptography
Failed to build cryptography
ERROR: Could not build wheels for cryptography, which is required to install pyproject.toml-based projects`

Issues trying to install python-mirobot

When trying to issue this command pip3 install python-mirobo -t .vendors

I get lots of issues. I posted it in an attached file to not clutter the post.

I run domoticz on a raspberry pi 2 with raspbian jessie (is it the problem?!).

Thx for your help.
pbm-pythonmirobot.txt

Problem with the documentation

Hello,
I setup the plugin following the documentation. It works without any issue.

But after rebooting the Pi, the switch appears in red in domoticz.

I try to troubleshoot, and i think i do something wrong with env.

Do we have to deactivate the env in the installation instruction after pip3 install -r pip_req.txt ?

I rerun manually ./test.py, and i failed (service not started?)
i try to run these command again :
cd xiaomi-mirobot
virtualenv -p python3 .env
source .env/bin/activate

and then:

pip3 install -r pip_req.txt

and then i was able to start the service and run the test.py

What did i do wrong ?

To start the service, 2 solutions :
1 - run as system service
2 - run manually

my question : is it possible start the service trhought a script and not as service ?

Thanks for your help

Stopped working after Ubuntu upgrade

Noobs here....
But after updating my ubuntu version, it all stopped working:
Traceback (most recent call last): File "./miio_server.py", line 9, in <module> from gevent import monkey File "././.env/lib/python3.6/site-packages/gevent/__init__.py", line 86, in <module> from gevent._hub_local import get_hub File "././.env/lib/python3.6/site-packages/gevent/_hub_local.py", line 101, in <module> import_c_accel(globals(), 'gevent.__hub_local') File "././.env/lib/python3.6/site-packages/gevent/_util.py", line 148, in import_c_accel mod = importlib.import_module(cname) File "/usr/lib/python3.8/importlib/__init__.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) ModuleNotFoundError: No module named 'gevent._gevent_c_hub_local'

Can anyone point me in the right direction? I see python 3.6 mentioned, but my current system has 3.8.5?

Implement Zones?

Will there be an update that implements the new "Go" and "Zone" Function?

Calling message handler 'onHeartbeat'.

Hye,
Don't know what title to give to this issue threzad so I just copy/paste the error message.

Python is intalled, token is found, but it's not working, find below the log from domoticz:
2017-09-25 09:48:08.357 (nono) Poll: {"exception": ""} 2017-09-25 09:48:08.357 Error: (nono) Response mirobo-wrapper exception: 2017-09-25 09:48:08.358 PluginSystem: Starting I/O service thread. 2017-09-25 09:48:08.359 (nono) Calling message handler 'onHeartbeat'. 2017-09-25 09:48:30.964 (nono) Poll: {"exception": ""}

My xiaomi robot is workinf fine through the mi home app and is called "nono".

Thanks for your help

Issues after installing

I had an issue running the plugin once installed.
The log showed :

2017-10-19 10:40:00.351 Error: (Vacuum) Call mirobo-wrapper exception: Command '['/usr/bin/python3', '/media/sda1/domoticz/plugins/xiaomi-mirobot/mirobo-wrapper.py', '192.168.0.16', '56774932776f7a5a516c6f35326f6947', 'status']' returned non-zero exit status 1

I then tried to launch the wrapper from command line, which leaded to :

Traceback (most recent call last):
  File "/media/sda1/domoticz/plugins/xiaomi-mirobot/mirobo-wrapper.py", line 6, in <module>
    import mirobo
  File "/media/sda1/domoticz/plugins/xiaomi-mirobot/./.vendors/mirobo/__init__.py", line 2, in <module>
    from mirobo.protocol import Message, Utils
  File "/media/sda1/domoticz/plugins/xiaomi-mirobot/./.vendors/mirobo/protocol.py", line 18, in <module>
    from cryptography.hazmat.primitives import padding
  File "/media/sda1/domoticz/plugins/xiaomi-mirobot/./.vendors/cryptography/hazmat/primitives/padding.py", line 13, in <module>
    from cryptography.hazmat.bindings._padding import lib
ImportError: No module named '_cffi_backend'

So, I googled a bit, and found that I have to install python cffi module :

sudo pip3 install cffi

Waited a bit, then everything ran fine !

no data transmission from robot after reset wifi (and token)

Hi, the plugin worked for a long lont time perfectly, and recently I had to reset the wifi of the roborock, I retrieved and change the token in the server.sh script. it is the good token because it works with flolevac or with a command like that: "sudo mirobo --ip 192.168.0.23 --token "thenewtoken start"

but when i put it in domoticz i don't have any error in the log, (execpt 'onDeviceModified' not callable, ignored) but I cannot use the swich command, or i don't have the infos about battery, or other stuffs about the robot. (by the way it's the same devices on domoticz even after create a new hardware)

when i use test.py, it tries to connect to ther server, but with no answer from the device... I don't know why, only the token had change...

edit: maybe it is because of a new update for the robot, that blocks the info from the server... I tried to downgrade with flolevac but I cannot do it anymore... ^^

Installation broken on raspbian Buster

During installation there are lots of errors when using Rpi4 and Buster.

After this:
Building wheels for collected packages: gevent, msgpack-python, greenlet
Building wheel for gevent (setup.py) ... \

End result is crash and burn. Installation does not work.

Domoticz hang when domoticz-mirobot-plugin enabled

Hi,
I observe issue with domoticz-mirobot-plugin. When i enable this, my domoticz instance hangs.

How can i investigate this? Is there any logs for plugin itself? Using debug option save log in "domoticz log", which i loose when its hang ;(

Running plugin in console - works fine.

BR,
Krzysztof

Hardware thread ends unexpectedly

The Xiaomi Mi robot vacuum plugin crashes if I change the plugin setting in the Hardware tab (to turn debug mode on or off). The plugin then stops with the error message:

2020-04-10 10:24:26.425 Error: S5 hardware (15) thread seems to have ended unexpectedly

In debug mode, the log then shows:

2020-04-10 12:25:40.482 (S5) Pushing 'DisconnectDirective' on to queue
2020-04-10 12:25:40.491 (S5) Processing 'DisconnectDirective' message
2020-04-10 12:25:40.491 (S5) Disconnect directive received for '127.0.0.1:22222'.
2020-04-10 12:25:40.491 (S5) Handling TCP disconnect, socket (127.0.0.1:22222) is connected
2020-04-10 12:25:40.491 (S5) Queued asynchronous read aborted (127.0.0.1:22222), [125] Operation canceled.
2020-04-10 12:25:40.491 (S5) Pushing 'DisconnectedEvent' on to queue
2020-04-10 12:25:40.541 (S5) Processing 'DisconnectedEvent' message
2020-04-10 12:25:40.541 (S5) Disconnect event received for '127.0.0.1:22222'.
2020-04-10 12:25:40.541 (S5) Pushing 'onDisconnectCallback' on to queue
2020-04-10 12:25:40.541 (S5) Pushing 'onStopCallback' on to queue
2020-04-10 12:25:40.541 (S5) Processing 'onDisconnectCallback' message
2020-04-10 12:25:40.541 (S5) Calling message handler 'onDisconnect'.
2020-04-10 12:25:40.541 (S5) MIIOServer disconnected
2020-04-10 12:25:40.541 (S5) Processing 'onStopCallback' message
2020-04-10 12:25:40.541 (S5) Calling message handler 'onStop'.
2020-04-10 12:25:40.482 Status: (S5) Stop directive received.
2020-04-10 12:25:40.482 Status: (S5) Exiting work loop.
2020-04-10 12:25:40.582 Status: (S5) Stopping threads.
2020-04-10 12:25:40.582 Status: (S5) Stopped.
2020-04-10 12:25:40.582 Status: (S5) Started.
2020-04-10 12:25:40.691 Error: (xiaomi-mi-robot-vacuum) failed to load 'plugin.py', Python Path used was '/home/pi/domoticz/plugins/xiaomi-mirobot/:/usr/lib/python37.zip:/usr/lib/python3.7:/usr/lib/python3.7/lib-dynload:/usr/local/lib/python3.7/dist-packages:/usr/lib/python3/dist-packages:/usr/lib/python3.7/dist-packages'.
2020-04-10 12:25:40.691 Error: (S5) Module Import failed, exception: 'AttributeError'
2020-04-10 12:25:40.691 Error: (S5) Error Line details not available.

These last 3 lines indicate that plugin.py failed to load. I checked: plugin.py is indeed in the right folder and the attributes allow execution:

pi@smarthome:~/domoticz/plugins/xiaomi-mirobot $ ls -l
total 60
-rwxr-xr-x 1 pi   pi    9694 Apr  7 15:12 icons.zip
-rwxr-xr-x 1 pi   pi    5846 Apr  7 15:12 miio_server.py
-rwxr-xr-x 1 pi   pi    1755 Apr  7 15:18 miio_server.sh
-rw-r--r-- 1 pi   pi     343 Apr  7 15:12 pip_req.txt
-rwxr-xr-x 1 pi   pi   15493 Apr  7 15:12 plugin.py
drwxr-x--- 2 root root  4096 Apr  7 15:27 __pycache__
-rwxr-xr-x 1 pi   pi    5594 Apr  7 15:12 README.md
-rwxr-xr-x 1 pi   pi    1065 Apr  7 15:12 test.py

The only way to reset the plugin is to reboot the RPi.

Problem with installation

Hello I would likae to instal this addon in to my rpi, however i have problem:

pi@raspberrypi:~/domoticz/scripts/bash/xiaomi-mirobot $ sudo ln -s /home/pi/domoticz/plugins/xiaomi-mirobot/miio_server.sh /etc/init.d/miio_server
ln: failed to create symbolic link '/etc/init.d/miio_server': File exists

pi@raspberrypi:~/domoticz/scripts/bash/xiaomi-mirobot $ sudo update-rc.d miio_server defaults
update-rc.d: error: unable to read /etc/init.d/miio_server

systemctl style startup script ?

Hello ! I have aproblem with this old style startup scrip, it just wont run :/ Has someone done it using systemctl ?

● miio_server.service - LSB: MIIO Server Loaded: loaded (/etc/init.d/miio_server; generated) Active: failed (Result: exit-code) since Sun 2021-03-14 12:34:37 EET; 19s ago Docs: man:systemd-sysv-generator(8) Process: 541 ExecStart=/etc/init.d/miio_server start (code=exited, status=203/EXEC) CPU: 2ms
I have quad checked all the paths, and i just dont find anything wrong with this. Manually executed serer start works as it should.

Im running debian 11

Support for consumables status

Hi,

I know that the python miio plugin do support consumables status report.

It would be nice to have some status report in domoticz too, so we could put notification on consumable low level !

create_connection error since manual Buster update

Hi,
I had to update manually my Raspberry pi to Buster with the last domoticz update.. Since this, my Roborock plugin is not working anymore.
Error I get:
(.env) pi@raspberrypi:~/domoticz/plugins/xiaomi-mirobot $ sudo ./test.py test: python modules path: ././.env/lib/python3.7/site-packages test: trying connect to 127.0.0.1:22222 Traceback (most recent call last): File "./test.py", line 22, in <module> client = socket.create_connection((args.host, args.port)) File "/usr/lib/python3.7/socket.py", line 727, in create_connection raise err File "/usr/lib/python3.7/socket.py", line 716, in create_connection sock.connect(sa) ConnectionRefusedError: [Errno 111] Connection refused
I've tried to uninstall and re-install python, pip, plugin etc.. I always get this error.

Cannot start the plugins (S50)

Hello,

Please find hereunder the logs in Domoticz after plugin installation:

2019-03-07 23:22:35.160 Error: (xiaomi-mi-robot-vacuum) failed to load 'plugin.py', Python Path used was '/usr/local/domoticz/var/plugins/xiaomi-mirobot/:/volume1/@appstore/py3k/usr/local/lib/python35.zip:/volume1/@appstore/py3k/usr/local/lib/python3.5/:/volume1/@appstore/py3k/usr/local/lib/python3.5/plat-linux:/volume1/@appstore/py3k/usr/local/lib/python3.5/lib-dynload'. 2019-03-07 23:22:35.247 Error: (Martine) Module Import failed, exception: 'ImportError' 2019-03-07 23:22:35.247 Error: (Martine) Module Import failed: ' Name: msgpack' 2019-03-07 23:22:35.247 Error: (Martine) Error Line details not available.

the plugin.py is chmod +x. The installation has been performed on Synology. Domoticz is 4.97.

Thanks for your help on that point

Status

Is It possible to use status data in events? Now It can recognize "On" and "Off" only.
I want to send messages to my telegram-channel when vacuum staring cleaning, going home etc..

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.