Xiaomi Robot Vacuum para Domoticz

¿Porque lo instalo?

Lo instalo para asi ver el estado del Robot dentro de mis sistemas domoticos.

En este caso explicare como me lie la manta a la cabeza y de una forma facil consegui que esto funcionara, entonces vamos al lio.

Requisitos

Se necesitan los siguientes pasos para una instalacion limpia con el sistema domotico Domoticz.

  • Tenemos que descubrir el Token.
  • Instalar el plugin para Domoticz.
  • Instalar MiRobo.

Descubrir Tokens Xiaomi

Todo lo que digan no sirve de nada, lo mejor y muy fácil.
He probado varias soluciones, en red, Linux, Backups, etc… 2 días perdidos y en el grupo de telegram me comentaron que instalara un MiHome inferior a la 5.0.29, un tal benito_kamela
Se necesita:
Ordenador con MiToolkit.1.6b.
Para esto, he utilizado Java 8.0.310.
Requisitos es no tener más versiones de java, solo la 8 que sea.
Móvil con MiHome 5.0.12.

Entonces, instalamos MiHome y configuramos el dispositivo.

Despues en el ordenador instalamos MiToolkit y ya nos dara el Token.

P.D. algun dia si es necesario subire fotos y esas cosas…. de momento como son mis apuntes….

Instalar Plugin

Antes del plugin de instalación, comprobar que python3. python3-dev, pip3 está instalado:

sudo apt-get install python3 python3-dev python3-pip

Asegúrarse de tener instalados los encabezados libffi y openssl:

sudo apt-get install libffi-dev libssl-dev

También, actualizar setuptools e instalar virtualenv:

sudo pip3 install -U setuptools.
sudo pip3 install -U virtualenv.

Luego ir a la carpeta de complementos y al repositorio de clones:

cd domoticz/plugins
git clone https://github.com/mrin/domoticz-mirobot-plugin.git xiaomi-mirobot
cd xiaomi-mirobot
virtualenv -p python3 .env
source .env/bin/activate

# y tambien:

Sudo pip3 install -r pip_req.txt
# o sudo pip3 install gevent msgpack-python python-miio==0.3.1

Editar miio_server.sh por vi o nano:

nano miio_server.sh

Escribir lo siguiente exceptuando «192.168.1.12 476e6b70343055483230644c53707a12» que hay que poner la ip y el token sacado antes

# 1. Check and update absolute path to miio_server.py
# 2. Update IP and TOKEN for robot
# 3. Optional. Change MIIO server host-port bindings if need it
# file miio_server.sh
DAEMON_USER=root
DAEMON=/home/pi/domoticz/plugins/xiaomi-mirobot/miio_server.py
DAEMON_ARGS="192.168.1.12 476e6b70343055483230644c53707a12"
DAEMON_ARGS="$DAEMON_ARGS --host 127.0.0.1 --port 22222"

2. Compruebe la ruta a python3 “which python3”. Por defecto es “/usr/bin/python3”. Si su ruta es diferente a la predeterminada, actualice “miio_server.py” escribiendo en la primera línea con:

#!/usr/bin/python3

Para ejecutar como servicio del sistema:

sudo chmod +x miio_server.py
sudo chmod +x miio_server.sh
# check your path here:
sudo ln -s /home/pi/domoticz/plugins/xiaomi-mirobot/miio_server.sh /etc/init.d/miio_server
# add to startup
sudo update-rc.d miio_server defaults
sudo systemctl daemon-reload
# if you want to remove from startup
sudo update-rc.d -f miio_server remove

Ejecutar script de prueba y servidor:

sudo service miio_server start
sudo chmod +x test.py
sudo ./test.py
# to stop miio server service
sudo service miio_server stop

También se puede ejecutar MIIO Server de forma manual y ver el resultado del registro:

sudo ./miio_server.py 192.168.1.12 476e6b70343055483230644c53707a12 --host 127.0.0.1 --port 22222
# then you can run test
sudo ./test.py

Si el servidor y la prueba están bien, es hora de reiniciar Domoticz:

sudo service domoticz.sh restart

Instalar MiRobo

Esto es para hacer comprobaciones, y se instala de forma facil

sudo pip3 install python-mirobo

En caso de que obtenga un error similar al de ImportError: No module named ‘packaging’la instalación, debe actualizar las herramientas pip y setup:

sudo pip3 install -U pip setuptools
sudo apt-get install python-construct
mirobo --ip 192.168.1.12 --token 476e6b70343055483230644c53707a12

Errores conocidos

Traceback (most recent call last):
File «./test.py», line 22, in <module>
client = socket.create_connection((args.host, args.port))
File «/usr/lib/python3.4/socket.py», line 509, in create_connection
raise err
File «/usr/lib/python3.4/socket.py», line 500, in create_connection
sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused

En el proximo post configuraremos una WebCam USB

Best Choice for Your

Princess

20% Off

New Born Essentials

Id neque nunc in tortor nec posuere proin.

25% OFF
New Arrivals

Hot Toys

Subscribe to Our Newsletter

Don't Miss Out!

Get the latest on sales, special offer, new releases and more…

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *