mrin / domoticz-mirobot-plugin Goto Github PK
View Code? Open in Web Editor NEWXiaomi Mi Robot Vacuum plugin for Domoticz
Xiaomi Mi Robot Vacuum plugin for Domoticz
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
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.
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
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.
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 ?
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!
Fan level don't work - only balanced work after switch button.
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?
help please adapt the script for openwrt
something is broken with the last upgrade of domoticz : the switches are undefined
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
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
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
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?
Hi,
i try to install it since a couple of day and always i got sale errors.
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
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 ?
Would it be as simple as running multiple instances of miio_server.py, with different ports and configured for different vacuum IP addressses and tokens?
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.
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`
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
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
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
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?
Will there be an update that implements the new "Go" and "Zone" Function?
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
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 !
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... ^^
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.
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
Is there plan to implement mopping mode in this plugin?
Thanks
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.
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
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
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 !
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.
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
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..
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.