¡Estamos de vuelta!

Después de bastante tiempo de receso, principalmente porque no encontraba el tiempo para escribir de nuevo, y porque además no encontraba la motivación para hacerlo, finalmente decidí relanzar el blog bajo un nuevo nombre más acorde a lo que me mueve a escribir (GeekMD),dejando de lado personajes del cine que puedan haber pasado al olvido (MrAnderson hacía referencia al alter ego de Neo de Matrix). Todas las entradas del blog antiguo fueron migradas a este nuevo blog, y sólo me falta migrar algunas entradas de «Code is Poetry» en donde hablaba principalmente de domótica. No prometo que escribiré todos los días, ni siquiera todas las semanas, porque el tiempo sigue siendo escaso, y tampoco escribiré de cosas que pueden leer en otros blogs, pero tengan por cierto que ecribiré de lo que llame mi atención y me interese. El objetivo principal es escribir sin sentir la presión de hacerlo buscando la aprobación de ustedes, sino para mi y para quienes les guste lo que publico y mi forma de escribir. Así de sencillo. No quiero volver a desvivirme buscando temas escribiendo cualquier cosa porque «había que publicar algo todos los días». De ahora en adelante escribiré simplemente porque me genera satisfacción en vez ansiedad.

[Docker] Cómo actualizar Homebridge

Habiendo comentado en una entrada previa respecto de la instalación de Homebridge, quedó pendiente comentar cómo es que se actualiza Homebridge ya que aunque se trata de un proceso sencillo y está dentro de la documentación, habitualmente lo pasamos por alto.

Después de tener corriendo Homebridge por casi 10 meses, me di cuenta que tanto los paquetes nodejs como npm estaban desactualizados.

Mi primera aproximación fue a través del Terminal interno que tiene la instalación de Homebridge gracias al plugin reinstalado «Homebridge UI», de hecho pude actualizar npm pero no tuvo ningún efecto en el sistema a pesar de reiniciar homebridge.

Después de buscar bastante tiempo por internet, finalmente encontré la respuesta en la página de Github del proyecto oznu/docker-homebridge.

La solución para actualizar Homebridge es conectarse por ssh a la Raspberry Pi, cambiar al directorio en que está el archivo «docker-compose.yml» de nuestra instalación de Homebridge, actualizar el docker y finalmente correr el «docker-compose.yml» con lo cual el sistema queda actualizado.

Los comandos para dicha gestión, una vez conectados por ssh, son los siguientes.

cd /home/pi/homebridge
docker-compose pull homebridge
docker-compose up -d

Con eso queda actualizada la instalación de Homebridge y los paquetes nodejs y npm que estaban desactualizados.

Nuevo timbre Ring Video Doorbell 2 en casa

Como les comenté en post anteriores, trato de no volverme loco gastando dinero en la domotización de la casa, sino que lo hago de manera pausada, ajustándome al presupuesto mensual.

El último dispositivo que agregué fue un timbre inteligente Ring Video Doorbell 2, el cual ya había comprado hace tiempo en Amazon (en Julio 2019, antes de la pandemia) gracias a una oferta, pero que no había tenido oportunidad de instalar.

El precio del Ring 2 en esa época era de aproximadamente USD$150 (CLP$118.432) y yo lo encontré en USD$132.15 (CLP$104.338), aunque afortunadamente ha ido bajando de precio y ahora es posible encontrarlo a USD$99.99 (CLP$78.947) como precio normal.

Dentro de la caja encontraremos el Ring 2 con su batería, 2 carcasas frontales en colores negro y plata, un cable de USB-A a microUSB, 1 manual de instalación e información impresa variada,2 adaptadores para su montaje en la pared que le dan una angulación lateral de 15º uno, y otro que le da una angulación inferior de 5º, e incluso un pequeño nivel para asegurarnos que la instalación del Ring 2 quede bien nivelada. Estos adaptadores de angulación pueden ser pintados para hacer juego con el color de la pared en que se van a montar.

La caja del Ring 2 trae todo lo necesario para una instalación sencilla y rápida de este, incluyendo tarugos, tornillos, mango de destornillador, punta de cruz y punta de estrella, e incluso una broca para concreto. Finalmente encontraremos unos terminales eléctricos por si quieres conectar el Ring al timbre ding-dong de tu casa, junto con una resistencia.

1. Instalación

Todo el proceso de instalación está muy bien descrito en el manual. También es posible encontrar una muy buena explicación en la aplicación Ring, la cual debemos descargar desde la App Store. Antes de instalar el dispositivo es necesario cargar completamente la batería, para lo cual necesitamos un cargador idealmente de 2.4 A (yo utilizo un cargador Anker) y el cable de USB-A a microUSB que viene incluido.

Mientras la batería se carga podemos comenzar con la instalación para lo cual tenemos que remover el timbre antiguo si es que tenemos planeado instalarlo en el mismo lugar. Si vamos a utilizar el cableado de dicho timbre, para que el Ring haga sonar el ding-dong de la casa, puede ser necesario utilizar los cables terminales alargadores que vienen incluidos. Si el ding-dong de la casa es digital, es necesario instalar la resistencia entre los terminales posteriores del Ring 2. Si el ding-dong es mecánico, no es necesaria la instalación de la resistencia.

En mi caso, el sistema de timbre era de hace más de 50 años, y por lo tanto no pude conectarlo al ding-dong existente, pero de todas maneras retiré el pulsador para que no interfiriera con la instalación del Ring 2.

Debido a que el sistema de timbre está en el dintel de la casa, el Ring 2 no queda apuntando hacia la calle y por lo tanto necesité de ambos adaptadores para darle una pequeña angulación tanto hacia la calle como hacia abajo, ya que hay un par de escalones y las recomendaciones de Ring es que si se instala a más de 121 cm (4 pies) es necesario darle una pequeña angulación hacia abajo para que funcione correctamente.

Primero instalé el adaptador de angulación lateral, y sobre este el adaptador de angulación inferior. Para su instalación, marqué el lugar de los orificios en la pared ayudado por el pequeño nivel de plástico, perforé la pared con el taladro en modo rotomartillo utilizando la broca para concreto que viene incluída, instalé los 2 tarugos, posicioné el adaptador e introduje los tornillos. Luego de eso me aseguré que había quedado lo suficientemente firme.

Sobre el primer adaptador instalé el segundo adaptador de angulación inferior, y sobre este instalé el Ring 2 utilizando los tornillos que vienen incluidos. Ponemos la carcasa frontal de nuestra elección, en mi caso la de color negro, y finalmente fijamos dicha carcasa con un tornillo de estrella en la cara inferior del Ring 2.

La instalación no me tomó más de 30 minutos, y me demoré eso porque lo iba haciendo a la vez que iba leyendo las instrucciones.

2. Configuración

Una vez instalado toca configurarla, para lo cual debemos tener instalada la aplicación Ring comentada más arriba.

Abrimos la aplicación, seleccionamos Configurar un dispositivo, luego seleccionamos Ring Video Doorbell 2. El resto es sencillo, basta seguir las indicaciones en la pantalla. Opcionalmente podemos escanear el código QR que viene en uno de los materiales impresos, para que la configuración sea más sencilla aún.

Sólo necesitamos tener a mano la clave de nuestra red WiFi, y eso es todo. Una vez que el dispositivo esté configurado podemos probar el Ring 2 presionando el botón y visualizarlo en la aplicación Ring.

3. Comentarios

El Ring Video Doorbell 2 es una excelente adición al sistema domótico de casa, me permite tener control de lo que sucede fuera de la puerta de la casa, mantiene una grabación de los distintos eventos en la nube, y puedo recibir notificaciones de estos eventos en mi iPhone.

La calidad de la imagen es excelente tanto de día como de noche, con una calidad de video de 1080p y un ángulo de visión de 155º.

Como único punto en contra que puedo comentar, es que sólo funciona con redes de 2.4 GHz y no tiene compatibilidad con redes de 5 GHz. Las versiones más nuevas, como el Ring 3, Ring 3 Pus y Ring Pro, ya tienen solucionado dicho inconveniente.

Finalmente, y esto no es un problema del Ring 2, tengo que buscar un adaptador que me otorgue más angulación lateral, ya que prácticamente la mitad del campo visual son ocupados por la puerta y el dintel de la casa, y obviamente con esto pierdo gran parte de la funcionalidad que me puede entregar la cámara.

Más adelante veremos cómo agregar la Ring Video Doorbell 2 a Amazon Alexa y a Home vía Homebridge.

Inestabilidad en la camara Xiaomi Xiaofang 1S

La utilización de la cámara Xiaomi Xiaofang 1S en conjunto con Home vía Homebridge puede resultar en una opción bastante barata por su precio, pero lamentablemente la inestabilidad y la baja calidad del video, me han llevado a la decisión de no seguir invirtiendo en estas cámaras. Esta fue una de las razones para la llegada de la cámara Eufy 2K 360 comentada en el post anterior.

El primer problema fue lograr que tuviera una IP fija dentro de la red local. Digo que fue un problema porque a pesar que no es tan complejo, el sistema operativo de la cámara no lograba darse cuenta de esto y quedaba fuera de linea. Finalmente logré solucionar este problema.

También fue complejo hacer que se sincronizara con un servidor de hora y lograr que la hora de la marca de agua del video, fuera la misma que la hora local. Esto fue complejo porque en el archivo con la información de los husos horarios y los cambios de hora de invierno y verano, no existía información para Santiago de Chile, en realidad, no existía información para Chile en concreto.

Solicité al desarrollador del firmware que agregara la zona horaria para Chile, y no obtuve respuesta, y tampoco intenté hacer yo una modificación porque no entendía cómo lograrlo.

Algo que nunca logré solucionar fue hacer que el servidor RTSP volviera a correr en forma automática cuando por alguna razón el proceso dejaba de funcionar. Le escribí al desarrollador respecto de este bug, pero aunque obtuve algunas respuestas, la solución era incompleta.

El servidor RTSP (Real Time Streaming Protocol) es el encargado de transmitir en tiempo real la imagen que capta la cámara. Este es el proceso más importante para el correcto funcionamiento de las cámaras IP, y cuando deja de funcionar simplemente la cámara pierde su utilidad.

Intenté una solución programando una automatización la cual en teoría reactivaba el servidor RTSP cada 1 hora, pero no funcionaba todo lo bien que hubiera deseado.

Así que por ahora desconecté la cámara. No la voy a dejar en el olvido, porque me interesa mucho entender cómo funciona el firmware, ver si logro implementar una solución definitiva y aportar a dicho proyecto de Github.

Nueva cámara Eufy 2K 360 en casa

Como todo sistema domótico, es necesario disponer de un sistema de cámaras de seguridad el cual permita no sólo ver que está sucediendo en la casa, sino también disponer una grabación que pueda servir de método de prueba o como insumo para la investigación por parte de la policía.

Obviamente existen muchos tipos de cámaras, la mayoría de ellas con sistemas de suscripción de pago para el almacenamiento de la información en la nube, lo cual sumado a su precio generalmente elevado, hace que sea difícil comprar un sistema completo de buenas a primeras.

Por esta razón, y aprovechando un descuento, decidí probar una de esas marcas con una cámara stand-alone antes de comprar un sistema completo del cual después me podría arrepentir por sus costos de mantención.

Me decidí por la marca Eufy de Anker, específicamente con el modelo Eufy 2K 360, con un valor en oferta de CLP$52.990 (USD$67.15) comprada en Chile en Anker Store ya que con motivo de la pandemia las compras fuera de Chile son un riesgo pues puede que no lleguen nunca.

No me es una marca desconocida ya que tengo algunos otros productos de Anker, como cargadores con 2 puertos USB, baterías externas, cables, una balanza inteligente, etc, así que tenía claro que se trata de una marca con trayectoria y productos de calidad.

Además no requieren de un sistema de suscripción de pago para el almacenamiento de las imágenes en la nube ya que las almacena en forma local en una tarjeta microSD. Punto a favor. De toda maneras no tenía claro si la calidad del video y del sistema en sí iban a satisfacer mis necesidades.

La cámara llegó en apenas 1 día, excelente servicio por parte de Anker Store. Dentro de la caja viene la cámara, un cable de poder USB-A a microUSB, un adaptador de corriente y por supuesto el manual de instalación, los tornillos y los tarugos respectivos. Junto a esto viene una pieza de plástico que permite montar la cámara en el techo y un adhesivo el cual sirve como guía para hacer los orificios en el techo.

1. Instalación

Instalé la cámara en la esquina de un mueble de madera que tengo instalado en el comedor, tal como se puede apreciar en la foto que acompaña a este post.

La instalación de la cámara resulta bastante sencilla. Pegué el adhesivo guía en el lugar que definí para su instalación, perforé con una broca para madera de un diámetro algo inferior al diámetro de los tornillos para el montaje los cuales vienen incluidos, posicioné la pieza de plástico que permite el montaje en techo, ajusté los tornillos, enganché la cámara a la pieza de montaje y listo. En menos de 10 minutos estuvo todo listo incluido el aspirado de los restos producidos por el procedimiento.

Sólo hay que tener en consideración con cómo se posiciona el adhesivo guía y la pieza de montaje para que la cámara quede mirando hacia donde corresponde, ya que la cámara se fija a la pieza de montaje con 1/4 de giro en sentido horario.

2. Configuración

Para la configuración es necesario descargar la aplicación Eufy Security desde la App Store, abrirla, crear una cuenta si es que no tenemos una, y seguir los pasos para agregar la cámara Eufy 2K 360.

Conectamos la cámara al cable de poder, y presionamos el botón de configuración de la cámara cuando la aplicación nos indique que hay que hacerlo. La aplicación nos indicará que debemos conectarnos a una red WiFi ad-hoc creada por la cámara para continuar con la configuración. Luego le indicamos a la cámara cuál es la red WiFi de nuestra casa, indicamos la contraseña de esta red WiFi, y listo.

Es muy probable que una vez que la cámara esté configurada, como último paso se realice una actualización del firmware de esta, lo cual puede tardar al menos unos 5 minutos.

Con esto la cámara queda configurada y funcionando a través de la aplicación Eufy Security. Más adelante veremos cómo agregarla a Apple Home para lo cual tiene compatibilidad nativa, y cómo agregarla a Amazon Alexa.

3. Comentarios

Quedé gratamente sorprendido tanto por la calidad del video como por la fiabilidad del sistema, con muy poco lag.

A través de la aplicación Eufy Security es posible escuchar el audio ambiente captado por la cámara, como también hablar con algún interlocutor gracias a que dispone de un parlante. La calidad del audio no es tan buena, pero es decente y permite una comunicación inteligible.

Con esto en mente, tomé la decisión de invertir más adelante en un sistema de cámaras exteriores de seguridad de Eufy, específicamente el sistema de 1 Hub + 3 Eufy Cam 2C el cual en Chile tiene un valor de CLP$449.990 (USD$570.6), pero que pretendo adquirir una vez que sea posible comprar en el exterior. Con 3 cámaras puedo cubrir todos los puntos que necesito vigilar de mi casa.

Cada cierto tiempo hay excelentes ofertas, como esta oferta de Amazon publicada en iMore que da cuenta de 1 Hub + 2 Eufy Cam 2C por USD$255.99 (CLP$201.820), así que para obtener una buena relación precio/calidad hay que tener paciencia, esperar a que esta pandemia esté algo más controlada, que se abran las fronteras y se reinicien las relaciones comerciales a nivel global.

Automatizando el respaldo de la Raspberry Pi

Uno de los temas que últimamente me ha estado preocupando es el respaldo del sistema de la Raspberry Pi, lo cual resulta muy necesario cuando has gastado bastante tiempo en personalizar el sistema y dejarlo funcionando como una máquina de relojería.

Buscando en internet encontré un post de PiMyLifeUp en el cual nombraban un script de bash llamado bkup_rpimage creado por lzkelley el cual de acuerdo a su creador permitía crear respaldos incrementales en un archivo .img de todo el contenido de la microSD de la Raspberry Pi.

Era justo lo que necesitaba, pero por alguna razón no funcionaba correctamente en mi sistema, así que decidí crear un fork en Github y optimizarlo, con lo cual quedó funcionando a pedir de boca.

Lo primero que debemos hacer es clonar el script en nuestra Raspberry para lo cual ejecutaremos el siguiente comando.

cd /home/pi
git clone https://github.com/MrAndersonMD/bkup_rpimage.git
cd bkup_rpimage

Esto creará un directorio llamado bkup_rpimage en nuestro directorio home en el cual encontraremos los archivos bkup_rpimage.sh, exclude-file.txt, LICENSE y readme.md.

bkup_rpimage.sh corresponde al script, exclude-file.txt corresponde a un archivo en el cual podemos incluir los archivos o directorios que queremos excluir del respaldo, como por ejemplo archivos de cache y logs, LICENSE corresponde a la licencia y readme.md corresponde al archivo de ayuda en el cual se explica el uso del script.

Antes de realizar el primer respaldo vale la pena revisar el archivo exclude-file.txt con el siguiente comando.

sudo nano exclude-file.txt

El contenido por defecto de dicho archivo es el siguiente.

media
tmp/**
proc/**
run/**
sys/**
mnt/**
var/swap
var/cache
var/log
home/pi/.cache/**
root/.cache
root/.npm

Podemos incluir más directorios, archivos específicos, o incluso extensiones, teniendo el cuidado de escribir un recurso por línea como se aprecia en el ejemplo. Una vez que hayamos terminado de editar el archivo, grabamos con Ctrl-O y salimos con Ctrl-X.

El primer respaldo es el que tomará más tiempo, pero los siguientes, dado que utiliza un sistema de respaldo incremental, sólo agregarán o borrarán lo que no esté respaldado previamente.

Para realizar el primer respaldo basta con utilizar el siguiente comando.

sudo sh /home/pi/bkup_rpimage/bkup_rpimage.sh start -c /media/pi/MYBACKUPDRIVE/rpi_backup.img

Yo tengo conectado un SSD WD PiDrive a uno de los puertos USB de la Raspberry Pi, de manera tal que donde dice MYBACKUPDRIVE lo reemplacé por la ruta de dicho SSD y del directorio que creé para guardar dichos respaldos.

Una vez terminado el primer respaldo podemos automatizarlos mediante cron con el siguiente comando.

sudo crontab -e

Seleccionamos nano como editor y agregamos la siguiente línea.

0 0 * * * sudo sh /home/pi/bkup_rpimage/bkup_rpimage.sh start -c /media/pi/WD_PiDrive_314GB/raspi-backup/raspi-backup.img

Una vez que esté todo listo, grabamos con Ctrl-O y salimos con Ctrl-X. Esta linea de cron creará un respaldo incremental todos los días a las 0:00.

Con esto, ya tendremos automatizada la creación de respaldos incrementales del sistema de nuestra Raspberry Pi, y podremos dormir algo más tranquilos sabiendo que si el sistema se llega a estropear, tenemos una copia de seguridad para recrear todo sin tanto trabajo.

Configuración básica del Amazon Echo Show 5

En post anteriores le comenté que me había llegado un Amazon Echo Show 5 de regalo de cumpleaños, y quedó pendiente comentar cómo se configura dicho dispositivo para agregarlo a nuestro ecosistema domótico Amazon Alexa.

Apenas conectamos la fuente de poder del Echo Show 5 al dispositivo, se enciende la pantalla y comienza el proceso de encendido. Una vez finalizado este proceso el cual dura aproximadamente 1 minuto, el Echo Show 5 nos pide que seleccionemos el idioma de este. En mi caso elegí Español de México, ya que el de España no me resulta atractivo por mi origen latinoamericano.

Una vez seleccionado el idioma, el Echo Show 5 comienza a buscar redes WiFi disponibles. Seleccionamos la correspondiente a nuestra casa, e inmediatamente nos solicitará que ingresemos el password de dicha red con un teclado en pantalla. Cabe hacer notar que el Echo Show 5 es compatible con redes de 5 GHz.

Una vez introducido el password, pinchamos en «Listo» para que desaparezca el teclado en pantalla, dejamos activada la casilla de verificación para que el Echo Show 5 guarde la contraseña en Amazon, y pinchamos en «Conectar».

Una vez que el dispositivo se encuentra conectado a internet por WiFi, nos mostrará una pantalla en la cual debemos ingresar nuestro usuario y contraseña de Amazon, a través del teclado en pantalla. Una vez introducidos, pinchamos en «Iniciar sesión».

Una vez que ha iniciado sesión en Amazon, nos dará la bienvenida en pantalla, mostrando el nombre asignado a la cuenta. Pinchamos en «Continuar», tras lo cual e dispositivo nos pedirá que configuremos la hora. En mi caso seleccioné la opción «Santiago de Chile».

Una vez seleccionado el huso horario, el dispositivo nos preguntará dónde lo tenemos ubicado, basado en las habitaciones o estancias que tengas configuradas en la aplicación de Amazon Alexa. En mi caso le indiqué que lo tengo en el Comedor. Pinchamos en «Continuar».

Ahora nos solicitará que le asignemos un nombre. En mi caso lo llamé «Echo Show Comedor», ya que es el único Echo Show que tengo. Pinchamos en «Continuar».

Con esto el dispositivo debiera finalizar la configuración básica de funcionamiento. Antes de mostrar la pantalla de inicio, verificará si hay una actualización de software disponible. Si existe una actualización, nos mostrará un diálogo en pantalla indicando dicha situación, y no existe otra opción sino pinchar en «Descargar e instalar».

El proceso de actualización puede demorar unos 10 a 15 minutos, dependiendo de la velocidad de tu red WiFi, pero el dispositivo muestra una barra de progreso para que sepas cuánto falta de este proceso.

Una vez finalizada la descarga de la actualización, el Echo Show 5 nos anuncia a través de un mensaje de audio que «ha finalizado la descarga y se reiniciará 2 veces». Después del primer reinicio, el equipo comienza a instalar la actualización, mostrando una barra de progreso para saber cuánto falta de este proceso.

Una vez iniciado el segundo reinicio, y después de algunas pantallas de bienvenida, el Amazon Echo Show 5 nos anuncia a través de un mensaje de audio «ya he vuelto, continuemos».

Una vez finalizado el segundo reinicio el dispositivo nos hará un pequeño recorrido por las funcionalidades del Echo Show 5. Una vez terminado este pequeño recorrido, y después de algunas pantallas adicionales de bienvenida, el Echo Show 5 nos anuncia a través de un mensaje de audio que «el dispositivo ya está listo», tras lo cual nos mostrará la pantalla de inicio, ya estará completada la configuración básica y ya lo tenemos listo para funcionar.

Más adelante iré comentando respecto de cómo cambiar el reloj, cambiar los fondos, y otras configuraciones avanzadas.

Nuevo Amazon Echo Show 5 en casa

Para mi cumpleaños, mi familia decidió regalarme un Amazon Echo Show 5, el cual secretamente deseaba desde hace bastante tiempo.

En casa ya tengo 1 Amazon Echo Dot y 1 Sonos One el cual es compatible con Amazon Alexa, pero como les había comentado antes, quiero expandir el uso de este asistente virtual al resto de la casa, pero con la pandemia es complejo encontrar dónde comprarlos.

La llegada de este Amazon Echo Show 5 permitió relocalizar el Amazon Echo Dot, el cual dejé en el baño para poder escuchar música mientras uso la ducha, o por qué no, para poner música relajante en conjunto con un baño de tina con sales aromatizantes.

El uso del Amazon Echo Show 5 no difiere mucho del Amazon Echo Dot, salvo que tienes un feedback visual de las acciones llevadas a cabo por Alexa.

Este dispositivo tiene la forma de un prisma triangular de bordes redondeados, acostado por una de sus caras laterales. Dispone de una pantalla táctil de 5.5″ y una cámara de 1MP en su cara anterior. En el borde superior encontramos un botón para desactivar los micrófonos, 2 micrófonos, botones para subir y bajar el volumen, y un interruptor físico para desactivar/activar la cámara frontal, a la vez que tapa la cámara.

En su parte posterior encontramos el puerto de entrada de poder, y una salida de audio con conector estéreo de 3.5mm. La base está reforzada en goma de manera que el dispositivo no resbala y se mantiene en su lugar.

Respecto de la configuración del Amazon Echo Show 5, lo comentaré en un post separado, pero de todas maneras les dejo un buen video review que encontré en YouTube.

Agregando la iRobot Roomba 671 a Home via Homebridge

Ya les había comentado respecto de cómo agregar la iRobot Roomba 671 a Amazon Alexa, y ahora toca el turno de agregarla a Home vía Homebridge ya que no tiene compatibilidad nativa. Para esto utilizaremos el plugin homebridge-roomba-stv, aunque antes es necesario conseguir cierta información la cual nos será solicitada por el plugin.

1. Rescatando la IP de la Roomba

Para rescatar la IP de la Roomba basta con abrir la aplicación iRobot HOME, seleccionar «Configuración» en el menú inferior, luego seleccionamos «Configuración de Wi-Fi», y luego «Detalles de la red Wi-Fi del robot». En la sección «Dirección IP» encontraremos la IP de la Roomba, la cual necesitaremos para rescatar el password y blid de la Roomba.

2. Instalando npm y dorita980

Es necesario instalar npm en nuestra Raspberry Pi para lo cual utilizamos el siguiente comando.

sudo apt-get install npm -y

Si es la primera vez que instalamos el paquete npm en la RasPi, además se instalarán un montón de dependencias, por esta razón agregué la opción «-y» al final para que no nos solicite la confirmación de instalación de todas estas dependencias.

Una vez terminado el proceso de instalación de npm en la RasPi, necesitamos instalar y luego correr la librería «dorita980» para conocer el password y blid de la Roomba, los cuales son datos necesarios para configurar el plugin en Homebridge.

npm i dorita980
cd /home/pi/node_modules/dorita980
npm run getpassword roomba_ip

Debes reemplazar «roomba_ip» por la dirección IP local de la Roomba. Cuando se ejecute este comando parecerá un montón de información que no nos interesa, hasta que aparezca el siguiente mensaje.

Make sure your robot is on the Home Base and powered on (green lights on). Then press and hold the HOME button on your robot until it plays a series of tones (about 2 seconds). Release the button and your robot will flash WIFI light.
Then press any key here...

En este momento tenemos que interactuar con la Roomba, presionar «Clean» 1 vez para encenderla, y luego mantener presionado «Clean» por algunos segundos hasta escuchar un sonido. Una vez hecho esto, volvemos a la RasPi y presionamos cualquier tecla para que el proceso continúe.

Una vez presionada cualquier tecla (yo habitualmente uso la barra espacio), la RasPi nos entregará una información similar a la siguiente.

Robot Data:
{ ver: '3',
  hostname: 'Roomba-0123456789ABCDEF',
  robotname: 'Roomba',
  ip: '192.168.X.XXX',
  mac: 'XX:XX:XX:XX:XX:XX',
  sw: '3.5.59',
  sku: 'R671400',
  nc: 0,
  proto: 'mqtt',
  cap: { ota: 1, eco: 1, svcConf: 1 },
  blid: '0123456789ABCDEF' }
Password=> :1:1234567890:abc123ABC456defg <= Yes, all this string.
Use this credentials in dorita980 lib :)

Debemos rescatar el valor de la variable «blid» y el valor de la variable «password» contenido entre ambas flechas, incluyendo los «:» iniciales.

3. Instalando y configurando el plugin homebridge-roomba-stv

Ahora que ya tenemos toda la información necesaria, sólo nos resta instalar y configurar el plugin homebridge-roomba-stv.

Abrimos una ventana de navegador e ingresamos a la interfaz de usuario de nuestra instalación de Homebridge, cosa que ya hemos visto anteriormente. Seleccionamos «Plugins» en el menú superior, y en la caja de búsqueda escribimos «homebridge-roomba-stv». Pinchamos en la opción «Instalar» y esperamos a que se complete el proceso.

Una vez completado el proceso, Homebridge nos pedirá configurar el plugin.

  • En «Name» escribes el nombre que le darás a la Roomba.
  • En «Model» escribes el modelo de la Roomba.
  • En «blid» escribes el valor que rescataste para este parámetro en el paso 2.
  • En «Robot Password» escribes el valor que rescataste para este parámetro en el paso 2.
  • En «IP Address» escribes el valor de la IP que rescataste para este parámetro en el paso 1.

Cabe hacer notar que si disponemos de más de una Roomba es posible agregar a continuación como un segundo dispositivo pinchando en «Add Accesory Block». Una vez registrados todos los parámetros, pinchas en «Guardar» y reinicias Homebridge para que los cambios surtan efecto.

Si realizaste todo correctamente, el ingresar en la aplicación Home, debieras ver un nuevo accesorio llamado Roomba, al cual sólo falta asignas a alguna de las habitaciones de nuestra casa.

Agregando la iRobot Roomba 671 a Amazon Alexa

En el último post les comenté que había llegado un nuevo miembro a nuestra familia domótica, la Roomba 671 de iRobot.

Hoy corresponde contarles cómo se puede agregar la Roomba a Amazon Alexa de manera tal de poder darle órdenes a través de este asistente de voz y de los distintos parlantes dispersos en la casa compatibles con dicho asistente, ya sea el Amazon Echo Dot, Amazon Echo Show 5 o Sonos One.

Para esto basta que abramos la aplicación Amazon Alexa en nuestro smartphone, en el menú inferior seleccionamos la sección «Más», luego seleccionamos la opción «Skills y juegos», pinchamos en la lupa en la esquina superior derecha, escribimos «iRobot» y seleccionamos el resultado «iRobot Home» y activamos la skill con lo cual automáticamente podremos comenzar a buscar nuestra Roomba.

Si ya tenemos instalada la skill de «iRobot Home» y por alguna razón no se agregó la Roomba, o queremos agregar una segunda Roomba o una Braava, en el menú inferior seleccionamos la sección «Dispositivos» y luego pinchamos en el símbolo «+» en la esquina superior derecha de la pantalla. Seleccionamos «Añadir dispositivo», en la lista buscamos «Aspiradora» y lo seleccionamos, luego seleccionamos «iRobot».

Nos pedirá que nos aseguremos que la aplicación «iRobot Home» esté descargada y la Roomba esté configurada. Una vez hecho esto, volvemos a la app de Amazon Alexa y pinchamos en el botón «Detectar dispositivos». La aplicación comenzará a buscar nuevos dispositivos, para lo cual es recomendable que enciendas la Roomba presionando 1 vez el botón «Clean».

Una vez detectado el dispositivo, podemos asignarlo a alguna de las habitaciones de nuestra casa, y darle órdenes verbales como «Alexa, pídele a Roomba que comience a limpiar», «Alexa, pídele a Roomba que deje de aspirar» o «Alexa, pídele a Roomba que regresa a su base».