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

Artículos Relacionados

Poner un banner al arrancar Raspberry con el usuario

Campos

Instalar Zigbee2Mqtt

Campos

Instalar y configurar MQTT en Domoticz de Raspberry

Campos

Deja un comentario

* Al utilizar este formulario, usted acepta el almacenamiento y el manejo de sus datos en este sitio web.

 

Este sitio web utiliza cookies para mejorar su experiencia. Asumiremos que está de acuerdo con esto, pero puede optar por no participar si lo desea. Aceptar Leer mas