Home Assistant #10: Instalación del broker MQTT Mosquitto

Home Assistant #10: Instalación del broker MQTT Mosquitto

Posiblemente penséis que es algo que no necesitaréis nunca, pero si tenéis idea de usar un enchufe Sonoff dentro de vuestro Home Assistant o un microcontrolador ESP8266, tarde o temprano os tocará instalar este servidor de mensajes, si queréis saber qué es MQTT, podéis conocer un poco más en nuestra página pulsando sobre el link anterior.

Instalación del broker MQTT Mosquitto

Nuestro primer pasó, será el poder añadir la lista de paquetes a nuestra Rasbian con el fin de instalarlo por medio de apt-get.

mkdir mosquitto

cd mosquitto

wget http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key

sudo apt-key add mosquitto-repo.gpg.key

De esta forma ya tenemos autorizada la clave de los repositorios y, ahora, podemos buscar el repositorio para nuestra Rasbian, si usas la última que ahora hay (Abril de 2018) la versión de debian que usas es Stretch, por lo que tendremos que seguir con esto:

cd /etc/apt/sources.list.d/

sudo wget http://repo.mosquitto.org/debian/mosquitto-stretch.list

De esta forma ahora ya tenemos los “sources” para poder actualizar la lista de paquetes y poder instalar de una forma sencilla el broker. Si habéis seguido los pasos, en la consola de vuestra Pi, deberiais tener algo así:

Ahora, actualizaremos la lista de paquetes, así como lanzaremos la instalación para que se instale de una forma sencilla así como poder actualizarlo cuando sea necesario, para ello, seguimos con esto:

sudo apt-get update

sudo apt-get install mosquitto

Nos preguntará si queremos continuar con la instalación, ya que, instalará todo lo que necesite (las dependencias) para que nuestro broker funcione sin problemas, por lo tanto, tendemos que contestar que sí. Si todo finaliza sin errores, ya tenemos Mosquitto instalado en nuestro sistema, pero, ¿como sabemos si funciona? Vamos a instalar los clientes para poder probarlo, seguimos:

sudo apt-get install mosquitto-clients

Una vez terminado, tendremos 2 programas, mosquitto_sub (para leer los mensajes) y mosquito_pub (para enviar los mensajes). Con ellos podemos probar de una forma local si todo funciona así como poder depurar cuando empezamos a trabajar con MQTT si los mensajes están o no recibiéndose. Vamos a ponerle contraseña al broker para evitar que sea usado por nadie sin control.

cd /etc/mosquitto

sudo mosquitto_passwd -c passwds domoticaencasa

Ahora pondremos nuestra contraseña domotica123 (Ojo que no vemos el cursor)

Ahora vamos a probar si nuestro mosquitto funciona como debe, para ello, tendremos que entrar con otra sesión SSH para tener abiertas a la vez 2 y así entender el funcionamiento y ver en tiempo real el funcionamiento. En la primera, lanzaremos el servicio con:

sudo service mosquitto start

mosquitto_sub -h localhost -t “testtopic” -u domoticaencasa -P domotica123 -v

En la otra sesión de ssh ejecutamos esto:

mosquitto_pub -h localhost -t “testtopic” -m “Hooooooola” -u domoticaencasa -P domotica123

Si todo ha ido bien, veremos aparecer el mensaje en la primera ventana, donde teníamos el comando mosquitto_sub de esta forma:

Ahora, si lo que queremos es que el servicio arranque siempre que arranquemos la Pi, tendremos que poner:

sudo systemctl enable mosquitto.service

Ahora ya tenemos el servicio funcionando, algo que nos facilitará la tarea para poder ampliar los dispositivos que usemos como podría ser los sonoff o los relés que podemos encontrar en eBay por poco dinero. ¿Habéis podido terminar?

Problemas en la instalación de Mosquitto MQTT en Rasbian

Esta instalación Si has tenido algún problema, aquí te mostramos posibles soluciones:

mosquitto_passwd me dice “Segmentation fault”

Parece que hay algunos problemas con las librerías ssl y mosquito, prueba con lo siguiente que nos permitirá compilar e instalar la versión 1.4.14:

cd

wget http://mosquitto.org/files/source/mosquitto-1.4.14.tar.gz

tar xavf mosquitto-1.4.14.tar.gz

cd mosquitto-1.4.14

sudo apt-get install cmake libssl1.0-dev libwebsockets-dev uuid-dev

****

En caso de darte error la linea anterior, deberás hacer esto:

sudo nano /etc/apt/sources.list.d/raspi.list

y añadir esta linea:

deb http://ftp.de.debian.org/debian stretch main

****

cmake .

make -j4

sudo make install

sudo nano /etc/init.d/mosquitto

Busca esta línea: DAEMON=/usr/sbin/mosquitto

Cámbiala por: DAEMON=/usr/local/sbin/mosquitto

De esta forma compilaremos e instalaremos la versión 1.4.14.

IMPORTANTE: Con el fin de ayudaros de una forma más directa, he creado un grupo en Telegram donde podemos ayudarnos todos así como evitar que os quedéis atascados, si tenéis telegram podéis pulsar aquí para uniros y si no lo tenéis, os recomiendo que os lo instaléis ya que lo usaremos en el tutorial para notificarnos.

La entrada Home Assistant #10: Instalación del broker MQTT Mosquitto se publicó primero en Domótica en Casa.

Home Assistant se actualiza a la nueva versión 0.66

Home Assistant se actualiza a la nueva versión 0.66

Después de un tiempo y varias revisiones sobre la versión 0.65 debido a diversos problemas notificados por los usuarios de este conocido software de automatización, parece que tenemos una nueva versión que, como es habitual, incluye nuevos dispositivos a integrar así como corrección de errores.

Si nos fijamos en los nuevo componentes, tenemos:

  • BMW Connected drive: Nos permite la importación de datos desde nuestro vehículo BMW
  • Footboot Air Quality Monitor: Nos deja integrar y recoger los datos que arrojan sobre la calidad del aire desde estos dispositos de la marca Footboot
  • HomeMatic Lock: Nos permite usar los cierres de seguridad.
  • Homematic IP: Interfaz para poder comunicarnos con la nube de la anterior marca
  • HomeMatic sensor: Integra el resto de sensores que la marca posee
  • IFTTT Alarm Control Panel: Nos permite integrar dispositivos que tengan soporte para IFTTT pero no tengan una API abierta de comunicaciones.
  • Samsung SyncThru Printer: Podemos ver los datos actuales de nuestra impresora Samsung
  • Stride: Ahora podemos mandar notificaciones desde Home Assistant hasta la plataforma stride.
  • Trafikverket WeatherStation: Recopilación de datos meteorológicos de esta web sueca
  • VeSync Switch: Podremos usar estos interruptores inteligentes
  • ZigBee Home Automation Fan: Podremos integrar estos ventiladores ZigBee, por medio de un gateway zigbee

Tenemos una nueva figura en el software, “Cover Group” con el que podremos integrar diferentes entities dentro de un mismo grupo, aunque no sean del mismo tipo, eso si, se recomienda agrupar por tipo, para permitir ciertos comandos de una forma común. De esta forma podemos tener todo lo que queramos agrupar, sea del mismo tipo o no, unificado en un mismo ente.

Como veis, el desarrollo de Home Assistant es muy rápido y, esto, tan solo se trata de las actualizaciones oficiales, pero, si miráis en el foro de Home Assistant, podréis ver multitud de componentes creados por la gente, que, no han entrado de forma oficial, pero que funcionan a la perfección.

¿Que os gustaría poder controlar con Home Assistant?

La entrada Home Assistant se actualiza a la nueva versión 0.66 se publicó primero en Domótica en Casa.

Home Assistant #9: Notificaciones en Telegram

Home Assistant #9: Notificaciones en Telegram

Una de las cosas más necesarias, sobretodo cuando se trata de tener una casa inteligente es el hecho de que el sistema nos avise de todo lo que necesitemos estar al tanto, por ejemplo, si algo se ha quedado encendido o abierto cuando nos vamos de casa o bien de alguna anomalía cuando no estamos en ella.

Existen multitud de componentes destinados a esta función como podemos ver en la sección notifications de la web de Home Asisstant, entre los que figuran algunos como son Twitter, Telegram, Kodi, Jabber, Facebook messenger, notificaciones push, etc, es decir que, de una forma u otra, podemos recibir en nuestro dispositivo más usado el aviso para, estar informados o bien, para poder decidir qué hacer, por ejemplo, en el caso de saltar la alarma.

Entre las diferentes formas de notificación, tenemos la posibilidad de mandar por Telegram, un sistema de mensajería que, para aquellos que no lo conozcáis, es un estilo a Whatsapp, solo que, en mi opinión, es mucho mejor en todos los aspectos, entre ellos, con la existencia de los “bots”, es decir, robots con los que podemos interactuar y, en nuestro caso, haremos que sea “la voz” de nuestra casa.

Si ya tenéis Telegram, podéis seguir la guía, pero, para aquellos que no, os recomiendo que busquéis en vuestra tienda de aplicaciones, como Play Store o App Store, para descargarlo y ponerlo en marcha, al igual que se hace en Whatsapp. Una vez que tengáis Telegram en funcionamiento, podemos seguir para crear nuestro bot, el cual, será el que nos informará y más adelante podrá recibir órdenes para poder hacer cosas en casa desde Telegram.

Como crear un bot de Telegram

  • Buscamos el usuario BotFather, que es, como el nombre indica, el padre de todos los bot (además de hacer guiño a la película del Padrino, The GodFather)

  • Ponemos /start y podemos empezar a ver la lista de comandos que necesitaremos, aunque, si queremos ver la lista completa, después de /start, podemos poner / y nos aparecerá la lista completa de los comandos que queremos

  • Escribimos /newbot para que empecemos la creación
  • Para el nombre, escribimos lo que queramos, ya que es el nombre mostrado, no el nombre de usuario, en mi caso he puesto GizchinaHA
  • Posteriormente nos pide el nombre de usuario, y, en este lugar si que Telegram obliga a que acabe en la palabtra “bot”, sea en mayúsculas o minúsculas, en mi caso he puesto GizchinaHABot

  • Ya tenemos nuestro bot y, como veis, botfather nos da una clave (token) para poder hacer uso del bot por web. Si os gusta este tema, os recomiendo buscar información sobre los bots porque tienen mucho potencial.

Obtener nuestro ID de chat para integrar nuestro bot en Home Assistant

Para poder integrar en nuestra instalación necesitamos tan solo un dato, nuestro ID de conversación para que nuestro bot sepa a quien hablar, para eso, buscamos al bot IDBot:

En el, pondremos /start y posteriormente el comando /getid y os contestará un número:

Con ese número apuntado, ya podemos configurar nuestro Home Assistant para comunicarse con nosotros desde Telegram

Integrando Telegram en Home Assistant

Home Assistant tiene diferentes maneras de usar Telegram ya que, el propio Telegram permite varias maneras de interactuar con los bots, nosotros vamos a usar la llamada “Telegram Polling” para poder mandar mensajes a nuestro usuario en Telegram. Para ello, abriremos la configuración y añadiremos lo siguiente:

telegram_bot:
  - platform: polling
    api_key: ABCDEFGHJKLMNOPQRSTUVXYZ
    allowed_chat_ids:
      - CHAT_ID_1
      - CHAT_ID_2
      - CHAT_ID_3

Donde ABCDEFGHJKLMNOPQRSTUVXYZ lo cambiais por el token que os dio el botfather de vuestro bot y CHAT_ID_1, 2, 3…. lo cambiais por vuestro ID de chat (en el caso de solo querer notificar a 1 usuario, podéis borrar CHAT_ID_2, CHAT_ID_3, sin problema, pero, si queréis notificar a, por ejemplo, vuestra pareja, tendréis que poner cada ID de chat en cada linea.

Con ese paso ya tendréis dado de alta el bot y enumerados los usuarios a los que puede comunicarse, ahora, quedaría crear el notificador en si, que sería como el canal por el que mandaría el mensaje. Si queréis mandar notificaciones a más de un usuario, tendréis que poner uno por cada:

notify:
  - name: TelegramDeEdu
    platform: telegram
    chat_id: CHAT_ID_1

En este ejemplo, tendréis que poner el nombre que queráis, en mi caso lo identifico como que es mi Telegram, para saber que notificaciones mando a mi usuario y, ahí vuelvo a poner mi ID de chat (el que hemos obtenido con el bot), pero no el token.

Ahora, solo nos queda reiniciar y esperar que todo esté correcto, si algo falla, recordad mirar el log

Ejemplo de uso de la notificación por Telegram de Home Assistant

Una vez que ya está configurado, necesitamos probarlo, para ello, podemos crear una pequeña automatización para poder notificarnos cuando un dispositivo entra o sale de casa. Por ejemplo, voy a hacer el ejemplo que tengo de cuando mi móvil sale de casa y notifica que me he ido. Lo primero que haríamos sería ir a Configuración y Automations, una vez dentro, le damos al botón + de añadir y empezamos la configuración:

  • La primera parte es la de poner el nombre que queramos.

  • Después, elegimos el dispositivo que queremos controlar, en este caso, cuando mostramos cómo detectar dispositivos en Home Assistant, vimos que en el fichero known_devices podemos asignar nombre, por lo que aquí, lo usaremos, en mi caso, el dispositivo “device_tracker.edu” es mi movil, y, el trigger, será cuando pase de “home” (estoy conectado a la red de casa) a not_home (no me detecta en la red de casa.

  • En conditions, no necesitamos nada ahora, pero, por ejemplo, podríamos poner que solo notifique a ciertas horas o lo que queramos
  • Como Action, tendremos que poner en el service el que hemos configurado como telegram, tal y como hemos visto en el ejemplo.

De esta forma, empezaremos, si todo ha ido bien, a recibir mensajes a través de nuestro bot en Telegram de esta forma:

Estos mensajes mostrados, son reales de la configuración que tengo en casa, en la que detecto si se ha abierto la puerta y avisa, así como para notificar cuando has dejado la casa. Por lo que podéis combinarlo con todos los dispositivos que tengamos, sensores de movimiento, puerta, etc.

Espero que os haya gustado, ¡pronto más!

IMPORTANTE: Con el fin de ayudaros de una forma más directa, he creado un grupo en Telegram donde podemos ayudarnos todos así como evitar que os quedéis atascados, si tenéis telegram podéis pulsar aquí para uniros y si no lo tenéis, os recomiendo que os lo instaléis ya que lo usaremos en el tutorial para notificarnos.

La entrada Home Assistant #9: Notificaciones en Telegram se publicó primero en Domótica en Casa.

Home Assistant #8: Detección de dispositivos en casa

Home Assistant #8: Detección de dispositivos en casa

Después de un pequeño tiempo de parón, vamos a detectar y poder aprovechar los dispositivos de la casa, para lo que necesitemos, como, podría ser el hecho de hacer que nuestra casa se comporte de una forma cuando estamos y otra cuando no.

Este apartado, Home Assistant lo llama “Presence detection” y tenemos multitud de formas de hacerlo, unas más precisas que otras pero también, algunas más intrusivas que otras, sobretodo cuando vivimos con familia en casa y queremos controlar esos dispositivos.

En mi caso, he querido configurar Home Assistant para detectar los móviles de las personas que están en casa para poder notificar de ciertos eventos cuando hay gente en casa y hacer otros (principalmente funcionar como alarma) cuando no hay nadie en casa. Para esto, he probado diferentes maneras y, os voy a explicar la mejor que he conseguido poner y que, funciona bastante bien, aunque, con sus fallos.

Lo primero que tenemos que hacer, es determinar si alguno de los componentes específicos de los routers, encaja con nuestro router, en mi caso, tengo un router flasheado con dd-wrt, una versión gratuita y libre para los routers y que, permite en el Home Assistant ser usado como control, si ninguno de los componentes encaja, tendremos que usar el “genérico” por medio de nmap. Si es tu caso y no tienes un router de los mencionados en el listado, vamos a poner el nmap a funcionar de la siguiente forma:

  • Lo primero que tenemos que hacer es conectarnos por ssh ya que necesitaremos instalar un software
  • Ejecutamos:

sudo apt-get install net-tools nmap

  • Una vez que termina la instalación, insertaremos en nuestro fichero de configuración (configuration.yaml) esto:
device_tracker:
  - platform: nmap_tracker
    hosts: 192.168.1.0/24

Suponiendo que nuestras IPs internas son del tipo 192.168.1…. si nuestra subred cambia (eso lo podemos comprobar viendo la ip que asignamos a nuestra Raspberry Pi en la instalación.

  • Ya con todo cambiado, solo nos queda salvar la configuración y reiniciamos Home Assistant.
  • Una vez que arranca el sistema de nuevo, si entramos a la web vemos como en la parte superior, donde están los circulos con los sensores como el del sol, aparecen todos los dispositivos que tenemos en nuestra red
  • Volvemos a conectar a nuestra Raspberry Pi por ssh
  • Vamos al directorio donde tenemos toda la configuración y vemos que se ha creado un fichero nuevo llamado known_hosts.yaml en el que si lo editamos con nano, podemos ver contenido lleno de todos los equipos que se han encontrado en la red, como por ejemplo:

chromecast:
hide_if_away: false
icon:
mac: zz:xx:63:zz:zz:xx
name: chromecast
picture:
track: false
vendor: Google, Inc.

  • Supongamos que este Chromecast es uno de los dispositivos que queréis controlar, como podría ser vuestro móvil. Para poder seguirlo tendremos que poner:

chromecast:
hide_if_away: false
icon:
mac: zz:xx:63:zz:zz:xx
name: MiNombre
picture: /local/mifoto.jpg
track: true
vendor: Google, Inc.

  • Si vemos los cambios, hemos cambiado el nombre en “name” para que aparezca nuestro nombre o el nombre del dispositivo que queremos seguir, hemos puesto a true el valor de “track” y, por último hemos puesto /local/mifoto.jpg para poder personalizar la foto mostrada por el dispositivo. Para poder hacer eso, en el directorio de la configuración de home assistant, crearemos una carpeta llamada www con el comando:

mkdir www

  • Por último pondremos el fichero con la foto llamado “mifoto.jpg” dentro para que Home Assistant lo muestre.
  • El resto de dispositivos del fichero “known_hosts.yaml” podremos poner a false el valor de “track” para evitar que nos aparezca y, una vez que tengamos la red controlada, podemos añadir a la configuración:

– platform: nmap_tracker
hosts: 192.168.1.0/24
interval_seconds: 10
consider_home: 360
scan_options: ” –privileged -sP –host-timeout 10s ”
new_device_defaults:
track_new_devices: False
hide_if_away: True

De esta manera conseguimos evitar algunos errores de posibles desconexiones por ahorro energético de nuestros teléfonos, así como no meter nuevos dispositivos a ser controlados de forma automática.

Una vez que tenemos esto configurado, podemos jugar con la presencia de estos dispositivos, ya que, estarán con el estado “home” cuando estén detectados o “not_home” cuando se encuentran fuera de la LAN, por lo que podemos usarlos para o bien lanzar algún trigger en una automatización (por ejemplo, el dispositivo entra o se va) o, hacer que sean la condición para que se ejecute algo, por ejemplo si está o no en casa.

Espero que os siga ayudando los tutoriales, ¡muy pronto más!

IMPORTANTE: Con el fin de ayudaros de una forma más directa, he creado un grupo en Telegram donde podemos ayudarnos todos así como evitar que os quedéis atascados, si tenéis telegram podéis pulsar aquí para uniros y si no lo tenéis, os recomiendo que os lo instaléis ya que lo usaremos en el tutorial para notificarnos.

La entrada Home Assistant #8: Detección de dispositivos en casa se publicó primero en Domótica en Casa.

Home Assistant #7: Primera automatización

Home Assistant #7: Primera automatización

Si habéis seguido los tutoriales que llevamos, entiendo que estaréis ansiosos por crear vuestra primera automatización para entender el funcionamiento y hasta donde podemos llegar con nuestro nuevo sistema Home Assistant.

Quizá, algunos ya estéis experimentando por ver el funcionamiento del mismo, pero, para aquellos que estáis esperando a ser guiados, vamos a probar la primera automatización, que, si tenemos el gateway enlazado con Home Assistant, tenemos la oportunidad de hacer uso de la luz y, con Home Assistant, podemos automatizar cuando encenderla.

Supongamos que queremos encender la luz del gateway cuando se pone el sol. Uno de los sensores que vienen por defecto en Home Assistant es el estado del sol, pudiendo controlar desde la altura en la que está en el cielo como la hora de la puesta o la salida del mismo. El sensor del que os hablo, luce así:

Y, el interruptor para encender o apagar el gateway es:

Si además pulsamos en el icono de la bombilla, veremos que podemos configurar tanto la intensidad de la luz como el color de la luz.

Ahora vamos a trabajar en nuestra primera automatización, tendremos que ir al menú (las tres lineas horizontales arriba al a izquierda), Configuración y pulsamos en Automation. Ahí iremos viendo todas las automatizaciones que creemos, y que, para crear una nueva, pulsaremos el botón circular naranja con un +.

1 – El primer paso es ponerle un nombre a nuestra automatización, será el que mostrará en el Home cuando entramos.

2 – Triggers. Pulsamos en Add Trigger para poder establecer la condición que hará que nuestro sistema lance la acción que le definamos posteriormente. En nuestro caso, queremos que cuando el sol se ponga, se lance la automatización, para ello, tendremos que poner:

Buscamos en Type “Sun” y marcamos “Sunset” para la puesta (“Sunrise” es la salida del sol). El Offset que veis puesto es para decir que en realidad salte 2 horas más tarde de la puesta del sol, ya que, lo que queremos es que la luz sea necesaria y, hasta no pasar un hora o así, la puesta del sol, no nos encontramos en una situación de oscuridad.

Las “Conditions” son similares a los triggers, salvo que no hacen saltar la acción en si, sino que sirven para forzar a que se debe cumplir una condición para que se ejecute la acción. Es decir, si tenemos un trigger y una condición, primero ha de cumplirse el trigger y, si también se cumple la condición, ejecutamos la acción, sin embargo, si se cumple la condición, pero no el trigger, no se lanza (tampoco lo haría si se cumple el trigger pero no la condición).

3 – Action. Aquí definimos lo que queremos que haga nuestra automatización, en nuestro caso encender el gateway, que, para ello, pulsaremos Add Action y lo rellenamos así:

Esto dejaría la luz eternamente encendida, pero, podemos evitarlo ya que, podemos enlazar diferentes acciones, por lo que vamos a añadir un retraso (delay) de 30 segundos y, después de que Home Assistant espere 30 segundos, apague la luz:

Ya solo nos quedaría salvarlo pulsando en el botón naranja con el disco y podemos regresar al “Home” pulsando sobre Resumen en el menú lateral que tenemos.

No debemos asustarnos por el hecho de no tener claro que cosas tenemos disponibles, ya que, cuando desplegamos el menú cuando lo editamos y veremos todo lo que podemos elegir para poder funcionar:

Para poder probar la automatización, podemos sentarnos a esperar a que se ponga el sol o bien forzar el lanzamiento, para ello, en el Home, buscamos nuestra automatización y pulsamos en el icono que tiene tres lineas horizontales con un símbolo de Play.

Y, una vez dentro, podemos comprobar, cuando pase el tiempo, si realmente se está lanzando la automatización a diario, ya que, se muestra arriba una linea del tiempo en la que se pone en rojo cuando es ejecutado. Si quisiéramos lanzar de manera manual, deberíamos pulsar sobre “Trigger” para que se ejecute y, una vez hecho esto, podemos observar nuestro gateway para ver si se enciende y, si pusimos delay y apagado, si se apaga.

Después de esto, ya tenemos lo que queríamos, nuestra primera automatización y, os aseguro que una vez le cojáis el tranquillo vereis lo que permite hacer este sistema.

¿Os ha funcionado?

IMPORTANTE: Con el fin de ayudaros de una forma más directa, he creado un grupo en Telegram donde podemos ayudarnos todos así como evitar que os quedéis atascados, si tenéis telegram podéis pulsar aquí para uniros y si no lo tenéis, os recomiendo que os lo instaléis ya que lo usaremos en el tutorial para notificarnos.

La entrada Home Assistant #7: Primera automatización se publicó primero en Domótica en Casa.

Home Assistant #6: ¿Te falla Home Assistant? Te enseñamos a depurarlo

Home Assistant #6: ¿Te falla Home Assistant? Te enseñamos a depurarlo

Los primeros pasos dentro de Home Assistant pueden ser frustrantes, por una parte, entramos en un software del que seguramente no hemos visto nada antes y, por otro lado, usan un lenguaje para la configuración (yaml) bastante sensible a un caracter mal puesto, por eso, es importante saber detectar donde está nuestro problema.

Home Assistant, por suerte, posee un sistema de “log” o de depuración en el que podemos ver los mensajes que genera, tanto el software como los componentes que tenemos instalados, por lo que, para arrancar un Home Assistant, podemos empezar queriendo una información detallada y, una vez controlada esa parte, mostrar solo la información necesaria de los componentes que queramos controlar.

Activar la depuración o log en Home Assistant

Si entramos a la configuración (fichero configuration.yaml) veremos un apartado llamado “logger:” en el que debajo no tiene nada puesto, si lo que queremos es poder ver toda la información, que, inicialmente es recomendable ya que veremos cuando se queda parado o el error que da, debemos poner:

De esta manera, toda la información será escrita, en el mismo directorio de la configuración, en un fichero home-assistant.log, y, para poder verlo, tan solo necesitaríamos abrir otra sesión de ssh para en una ejecutar:

tail -f homeassistant.log

En la otra sesión de ssh podréis en ese momento lanzar o reiniciar el servicio de homeassistant y veréis como empieza a aparecer toda la información y, si os está dando fallo, podréis descubrir donde lo hace.

Existe una manera de configuración más especifica, pudiendo decir que muestre, por ejemplo, toda la información de todos los componentes, y, de algunos en concreto, solo mostrar si el mensaje es de un nivel en concreto:

En este ejemplo, mostraría todo de todos, menos del “device_tracker” y “camera”, que solo enseñaría los critical. Otra posibilidad es hacer lo contrario, es decir, mostrar solo lo critical de todos, menos de otros componentes, que mostraría aquellos mensajes del nivel que le digamos (y de los inferiores):

Ejemplos obtenidos en la web oficial de Home Assistant.

Espero que os pueda ayudar a seguir adelante con vuestra instalación. ¿Como la lleváis? ¿Os habéis atascado?

IMPORTANTE: Con el fin de ayudaros de una forma más directa, he creado un grupo en Telegram donde podemos ayudarnos todos así como evitar que os quedéis atascados, si tenéis telegram podéis pulsar aquí para uniros y si no lo tenéis, os recomiendo que os lo instaléis ya que lo usaremos en el tutorial para notificarnos.

La entrada Home Assistant #6: ¿Te falla Home Assistant? Te enseñamos a depurarlo se publicó primero en Domótica en Casa.

Zigate: Cómo usar los Xiaomi Aqara sin su gateway

Zigate: Cómo usar los Xiaomi Aqara sin su gateway

Como habréis podido comprobar estos días, la automatización es un tema que me ha estado interesando estos días y, es por ello que he creado unos tutoriales en los que intentaré, a aquellos que quieran iniciarse en el tema, poder poner en marca un sistema automatizado en casa sin pagar una gran cantidad de dinero.

Para ello, en el tutorial, he empezado a explicar como instalar en una Raspberry Pi el software Home Assistant, para, en breve, poder empezar a usar los diferentes componentes que podemos usar con este gran software, y, como no podía ser menos en la web, Xiaomi con sus productos Aqara no podían faltar.

Para que entendáis un poco el tema, aquellos que no conocéis estos productos, se tratan de una serie de productos para poder controlar nuestra casa y poder automatizar muchas cosas, por ejemplo, tenemos sensores de movimiento, sensores de puertas/ventanas, pulsadores, interruptores, bombillas, etc, algunos de ellos, como la bombilla de Phillips, funcionan de manera independiente, pero, la mayoría de ellos, son de un tamaño muy reducido y, para poder interconectarlo con la App Mi Home, es necesario un gateway (pasarela) que hace de enlace inalámbrica.

Xiaomi hace uso de una tecnología llamada Zigbee, un protocolo de comunicación como podría ser la WiFi o el Bluetooth, pero, pensado para estas cosas y con un consumo muy muy reducido, algo que lo hace perfecto para poder tener aparatos meses con una pila de botón sin tener que cablear nuestra casa, ¿donde está el problema? Pues que Xiaomi no ha querido que sus dispositivos salgan de su ecosistema, son mucho más económicos, pero quieren que toda la tecnología pase por su App, haciendo que muchos, duden de lo que por ahí se comparte hacia los servidores Chinos. Xiaomi hace uso de Zigbee sin regirse al standard y, por tanto, no podemos conectarlos a otros dispositivos.

Existe mucha información en internet en la que se pone en duda si mandan más información de la debida como podéis leer aquí si tenéis tiempo y ganas de leer un trabajo enorme investigando la aplicación de las Yeelight. Pero, ¿y si me da igual la privacidad? Esa información la tiene la NSA, Google, Microsoft y otros muchos, puede ser, pero hay otra ventaja, no dependemos de quedarnos sin conexión contra los servidores Chinos, algo, que ocurre con relativa frecuencia, y, otra cosa que hay que añadir, a mi, y no he sido el único, me costó añadir el gateway de casa porque no se conectaba a ninguno de los 2 routers que tengo, ni el de la conexión a internet ni un modelo de doble banda que tengo para dar la WiFi a toda la casa.

Cabe decir, que los aparatos de Xiaomi están muy bien hechos y, respecto a la competencia, sus precios pueden rondar en la mitad, algo importante cuando tenemos que comprar muchos sensores. He podido leer, que usando el Smartthings de Samsung la gente había podido usarlos de manera independiente, pero, en mi caso, la idea era poder dar una alternativa libre que permita, como en los tutoriales que estoy creando, poder hacer uso de ellos de una manera totalmente transparente y, hoy, he podido descubrir que ya se pueden empezar a usar, aunque, se encuentran en una fase temprana de pruebas, aunque, funcional.

Requisitos para poder usar los Xiaomi Aqara sin su gateway

  • Necesitaremos, como es obvio un gateway, el ZiGate, es algo más caro, pero nos permite hacer uso de aparatos de multitud de marcas en un mismo gateway

  • Como es lógico, el uso será a través de una plataforma como Home Assistant, que, intentaré comprar para poder hacer las pruebas
  • De momento, la implementación de Home Assistant ha empezado hace unos días, pero, ya es posible usar algún dispositivo y, por lo importante que sería el avance, es muy posible que se pueda llegar a tener todos los dispositivos totalmente funcionales en breve. En este hilo podéis seguir el tema.
  • Para aquellos que quieran aventurarse a probar, ya es posible, aunque, requiere del dongle USB y de conocimientos tanto de python como de Home Assistant, pero este es el componente para Home Assistant para usar los Xiaomi Aqara sin su gateway.

Es muy probable que en breve, este componente pase a estar en la rama estable de Home Assistant, pero, ya que estamos con el tutorial, intentaré conseguir un ZiGate para empezar con las pruebas y, si el funcionamiento es bueno, prepararé la guía para poder ponerlo en casa y no tener que comprar el gateway ni depender de la conexión a internet.

¿os gusta la idea de no depender del gateway?

La entrada Zigate: Cómo usar los Xiaomi Aqara sin su gateway se publicó primero en Domótica en Casa.

Puesta en marcha del Xiaomi Gateway y extracción de la clave para Home Assistant

Puesta en marcha del Xiaomi Gateway y extracción de la clave para Home Assistant

Sin duda, la gama de productos de Xiaomi para la domótica, es una de las más interesantes, tanto por la variedad de productos, como la relación calidad-precio que ofrecen.

La mayoría de los aparatos de Xiaomi usan una tecnología llamada Zigbee, una conectividad de muy bajo consumo similar a WiFi o Bluetooth (sin querer entrar en el lado técnico) y es por ello que es necesario un enlace entre estos aparatos y Home Assistant (en con la propia nube de Xiaomi). De momento, el gateway es obligatorio, pero, como expliqué hace poco, pronto podremos usar los sensores de Xiaomi sin usar su gateway.

Como de momento queremos empezar a usar dispositivos Xiaomi sin complicar mucho, el primer paso que tenemos que realizar es la instalación del gateway de Xiaomi para poder ir empezando a emparejar dispositivos “hijos” dentro de la aplicación MiHome.

Para poder hacer uso en Home Assistant de dicho gateway, tendremos que habilitar la comunicación LAN para que nuestro Home Assistant, pueda comunicarse y ver tanto el gateway como todos los accesorios que enlacemos a él.

Instalación del Gateway de Xiaomi y extracción de la clave para Home Assistant

IMPORTANTE si tenéis problemas para conectar el gateway de Xiaomi con la WiFi

Cabe decir que la primera vez que intenté instalar el gateway tuve muchos problemas para conectar con alguno de los 2 routers que usaba, ya que, aunque estuviera el gateway a 30 cm, no conectaba. Como consejo si tenéis problemas con la conexión, una forma para superarlos es compartir con nuestro móvil la conexión a internet y desde otro, realizar la puesta en marcha del gateway para poder permitir que se actualice el firmware, una vez actualizado, podemos volver a pulsar durante 5 segundos hasta que aparezca de nuevo la luz amarilla y volver a probar con nuestro router una vez en la última versión.

Una vez que hemos obtenido nuestro código, lo apuntamos y lo usaremos en nuestra instalación de Home Assistant para poder empezar a hacer uso de nuestros sensores y poco a poco empezar a generar las automatizaciones.

Para poder comprobar que todo va bien, podemos probar desde la app de Xiaomi (MiHome) a encender, apagar y cambiar el color de la luz de nuestro gateway.





¿Habéis tenido algún problema?

IMPORTANTE: Con el fin de ayudaros de una forma más directa, he creado un grupo en Telegram donde podemos ayudarnos todos así como evitar que os quedéis atascados, si tenéis telegram podéis pulsar aquí para uniros y si no lo tenéis, os recomiendo que os lo instaléis ya que lo usaremos en el tutorial para notificarnos.

La entrada Puesta en marcha del Xiaomi Gateway y extracción de la clave para Home Assistant se publicó primero en Domótica en Casa.

Home Assistant #5: Enlazamos nuestro Xiaomi Gateway

Home Assistant #5: Enlazamos nuestro Xiaomi Gateway

Bueno, ya era hora de conectar nuestro primer dispositivo, en este caso, vamos a enlazar uno de los que si vamos a usar productos Xiaomi será el más importante, el Gateway de Xiaomi.

NOTA: Para poder seguir adelante, es necesario que tengáis vuestra Key, que, es extraída en nuestro tutorial para poner en marcha y extraer la clave de un Gateway de Xiaomi, una vez que la tengáis, podemos seguir adelante.

Ahora, conectaremos con nuestro sistema por medio de ssh ya que será necesario modificar el fichero de configuración para que detecte, en este caso el gateway. Una vez dentro, podemos ir al directorio de configuración con:

cd /home/homeassistant/.homeassistant

Ahora que estamos dentro, tendremos que editar el fichero de configuración configuration.yaml con el comando:

nano configuration.yaml

Es muy importante que tengáis cuidado con el fichero, a todos los niveles, ya que, si nos dejamos un espacio sin poner o un espacio (o caracter) de más, nuestro Home Assistant no arrancará. Por defecto, el fichero viene configurado con la ubicación y nada más, por lo que nos tocará configurar diferentes aspectos (son opcionales pero recomendados):

Es recomendable, por ejemplo, añadir en el apartado http: la “api_password” para que la web nos pida una contraseña, pero recordad de dar los 2 espacios necesarios para que no de error. Si bajáis por el fichero de configuración veréis diferentes apartados, todos ellos, empiezan sin ningún espacio delante y acaban en dos puntos, todo lo que queramos incluir dentro de cada apartado, tendrá que ir con 2 espacios.

Para poder incluir nuestro Xiaomi Gateway, tan solo tendremos que bajar e incluir este texto:

La primera linea iría pegada a la izquierda, las 2 siguientes van con 2 espacios por delante y la última, la de la key, va con 2 espacios más. En donde xxx123xxx123 tendréis que sustituirlo por vuestra propia key para que sea reconocida en la LAN. Una vez hecho esto, salvaremos los cambios en el fichero, pulsamos CONTROL + X, y nos preguntará si queremos salvar, pulsamos la “y” para confirmar y ya. Ahora, solo queda reiniciar Home Assistant con:

sudo systemctl restart home-assistant@homeassistant

Y, tras un rato, si nos aparece este sensor en la parte superior, es que está detectada:

Ahora ya, podemos ir añadiendo los diferentes sensores de Xiaomi a nuestro Gateway (si es que no lo estaban ya) para poder ir usándolos, si teníais más sensores ya asociados al gateway en este reinicio os aparecerán todos, pero si no, cada uno que añadáis, necesitaréis reiniciar Home Assistant para que los detecte.

¿Os ha funcionado? ¿No os ha arrancado? Entrad al grupo de Telegram y os ayudamos 🙂

IMPORTANTE: Con el fin de ayudaros de una forma más directa, he creado un grupo en Telegram donde podemos ayudarnos todos así como evitar que os quedéis atascados, si tenéis telegram podéis pulsar aquí para uniros y si no lo tenéis, os recomiendo que os lo instaléis ya que lo usaremos en el tutorial para notificarnos.

La entrada Home Assistant #5: Enlazamos nuestro Xiaomi Gateway se publicó primero en Domótica en Casa.