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.

Home Assistant #4: Conociendo Home Assistant

Home Assistant #4: Conociendo Home Assistant

Ahora que ya tenemos instalado vamos a empezar viendo un poco el funcionamiento del mismo, conocer la web que ofrece y los ficheros que tendremos que tocar para poder poner en marcha nuestro sistema.

Es posible que algunos de vosotros hayas probado a seguir con el tutorial después de dejarlo instalado ya que, como es normal, la curiosidad es algo que empieza justo cuando lo has instalado, no ha dado problemas y, sobretodo, quieres empezar a poner dispositivos.

He de reconocer que la primera impresión a la hora de abrir la web es un poco desmotivadora, ya que, la pantalla inicial está completamente vacía (o casi) y, de ver casas de ciencia ficción si buscamos por Google, pasamos a ver esto:

Donde, unicamente vemos si está el sol o la luna en el cielo y la meteorología muy breve. No os preocupéis, pronto empezaréis a poner aparatos y veréis, poco a poco como podéis organizar el asunto ya que posee diferentes formas de hacerlo, aunque, al principio, es recomendable añadir las cosas para verlas y poder “cacharrear” con ellas.

Vamos a ver las diferentes partes de las que consta Home Assistant:

Home

Como he mostrado antes, la imagen del Home es la que vemos al entrar, en ella tenemos varias secciones:

  1. Se trata del menú principal, si pulsamos se despliega el menú lateral donde podemos realizar todas las configuraciones y automatizaciones
  2. En este área suelen ir apareciendo los sensores que tengamos configurados y detectados por Home Assistant
  3. Aquí veremos el resto de interruptores, cámaras, etc que instalemos, se trata de un cajón desastre donde va todo, que, más adelante veremos como podemos organizar por grupos y/o pestañas.

Si Pulsamos en la lineas horizontales de la izquierda, tenemos el menú principal:

Donde tenemos:

  • Resumen: Es el Home de la web, es decir, donde aparecemos cuando la cargamos por primera vez
  • Mapa: Se trata de la ubicación que obtiene por medio de la IP o bien, porque en la configuración hayamos indicado nuestras coordenadas GPS
  • Registro: Es el registro de todos los valores y triggers (disparadores) que se han lanzado en la linea del tiempo, por ejemplo, si tuviéramos detectores de movimiento, nos indicaría a que hora y en que orden se han ido activando.

En el ejemplo que os muestro tengo una bombilla Philips-Xiaomi instalada y podéis ver a la hora que se ha encendido, así como ver la altitud del sol (yr Symbol) y cuando el sol se pone o sale (Sun).

  • Historial: Es similar al registro, aunque, en este caso vemos todos los componentes por colores y vemos de un golpe todas las activaciones y cambios que ha podido tener a lo largo del día

  • Configuración: Aquí entramos en el apartado más delicado ya que, se trata de la configuración de los dispositivos y automatizaciones (pero no de la configuración del propio Home Assistant).

Dentro de la configuración, podemos ver diferentes apartados:

  1. Home Assistant Cloud: Para mantener el proyecto, Home Assistant ofrece alojamiento en la nube para poder usarlo desde ahí
  2. General: Se trata de ajustes generales, para recargar alguna parte de la configuración, reiniciar el software, etc
  3. Customization: Cuando instalamos un dispositivo, tenemos la opción de ponerle nombre, pero, o bien por no ponerlo o bien porque el dispositivo es detectado de manera automática, aquí podemos configurar los dispositivos y cambiarles el nombre o incluso modificar algo del propio dispositivo
  4. Automation: Se trata del apartado donde configuramos las automatizaciones para que se ejecuten, aquí es donde decimos: “Si el sensor de movimiento avisa de movimiento entonces avisa por Telegram”, es solo un ejemplo.
  5. Script: Al igual que el anterior, pero, aquí solo definimos scripts o comandos que son ejecutados dentro de automations

En principio, como primera toma de contacto, creo que es suficiente, en el próximo tutorial os explicaré ya a poner en la configuración, por ejemplo, el Gateway de Xiaomi al que le extrajimos la clave para que veais que se integra de una manera sencilla, eso si, la configuración inicial ha de hacerse por ssh, por lo que os recomiendo ir cogiendo contacto con el programa que más os guste de ssh, en Windows el Putty es el que uso y en Linux la propia consola del sistema.

¿Como lo lleváis? ¿Habéis experimentado mucho?

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 #4: Conociendo Home Assistant se publicó primero en Domótica en Casa.

Home Assistant #3: Instalamos el sistema y primer arranque

Home Assistant #3: Instalamos el sistema y primer arranque

Ahora que tenemos la Raspberry Pi preparada para poder empezar con la instalación, es hora de empezar nuestro primer contacto con Home Assistant, algo que, como veréis, es bastante sencillo, aunque nos llevará un rato de comandos y, dependiendo de la Raspberry que usemos, mas o menos tiempo de instalación.

Para aquellos que no sabéis exactamente lo que vamos a hacer, os comentaré que en el post anterior, lo que hicisteis fue instalar Linux en una Raspberry Pi, en concreto la variante Raspbian, totalmente preparada para funcionar tal cual en nuestras Raspberrys, y, una vez tenemos instalado el sistema, instalaremos un programa llamado Home Assistant, que es el que os he comentado desde el principio y que se será el encargado de poder coordinar todos los aparatos que conectemos, sean o no de la misma marca.

Instalación de Home Assistant en Raspbian

  • Lo primero que tenemos que saber es la ip que nuestro router le ha asignado a la Raspberry, eso lo podemos hacer, una vez que la hemos ejecutado, o bien mirando en el router o bien en la propia Raspberry con un cable hdmi y un teclado entrado con el usuario “pi” y la contraseña “raspbian” y lanzamos el comando:
    ifconfig
  • Si hemos sacado la ip para conectarnos de manera remota, tendremos que conectar por ssh, ya sea usando el putty en windows o bien desde Linux como es mi caso, si lo hacéis desde linux, el comando es:
    ssh ip_de_la_raspberry -l piDonde cambiamos ip_de_la_raspberry por la ip de nuestra Raspberry, la cual, tendrá la forma de 192.168… en la mayoría de casos
  • Una vez dentro, comienza la instalación, yo he seguido el tutorial de Home Assistant que hay aqui, aunque, os lo pongo aquí:

sudo apt-get update

sudo apt-get upgrade -y

De esta forma tenemos el sistema actualizado

sudo apt-get install python3 python3-venv python3-pip

Instalamos las dependencias iniciales de python. Ahora vamos a crear un usuario en el sistema llamado homeassistant

sudo useradd -rm homeassistant

Ahora vamos a crear el directorio donde se instalará el Home Assistant

cd /srv

sudo mkdir homeassistant

sudo chown homeassistant:homeassistant homeassistant

Ahora vamos a crear un entorno virtual con el usuario homeassistant donde se ejecutará el software

sudo su -s /bin/bash homeassistant

cd /srv/homeassistant

python3 -m venv .

source bin/activate

Veremos que donde escribimos, ha aparecido delante (homeassistant), por lo que ahora podemos lanzar la instalación:

pip3 install homeassistant

Con esto, ya estaría instalado, para poder lanzarlo por primera vez lanzamos el comando:

hass

Veremos como empiezan a salir numerosos mensajes, no os precupeis, es información para que si algo falla, veáis donde ocurre. Para ver nuestro nuevo Home Assistant, esperando unos segundos o minutos, dependiendo de la Raspberry Pi que estemos usando, podemos poner en un navegador la ip de nuestra Raspberry (la misma que hemos visto con ifconfig y que hemos usado para entrar por ssh) con :8123 detrás, es decir, si vuestra Raspberry estuviera en la 192.168.1.105, tendríais que poner en el navegador de vuestro movil o PC 192.168.1.105:8123 y debería salir algo como esto:

Antes de terminar, supongo que querréis que se ejecute siempre que la Raspberry se encienda, de manera automática, por lo que os voy a explicar como hacer para poder hacer un servicio que arranque solo. Si habéis seguido la guía usando Raspbian, tendreis que crear el fichero de arranque de esta forma:

sudo nano -w /etc/systemd/system/home-assistant@homeassistant.service

Os aparecerá una ventana de un editor en la que tendréis que pegar el texto siguiente sin cambiar nada:

[Unit]
Description=Home Assistant
After=network-online.target

[Service]
Type=simple
User=%i
ExecStart=/srv/homeassistant/bin/hass -c “/home/homeassistant/.homeassistant”

[Install]
WantedBy=multi-user.target

Debería quedar algo así:

Una vez terminado, pulsamos CONTROL y la X, nos pedirá salvar, le damos a la Y y ya estaría salvado. Ahora toca ponerlo en el arranque, para ello lanzamos:

sudo systemctl –system daemon-reload (NOTA: son 2 guiones delante de system)

sudo systemctl enable home-assistant@homeassistant

Ya estaría, ahora si quisieramos arrancarlo habría que lanzar:

sudo systemctl start home-assistant@homeassistant

De esta manera ya tendríamos nuestro Home Assistant, listo para empezar a ver lo que podemos hacer con él. Ahora empieza lo divertido.

¿Habéis podido instalarlo?

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 #3: Instalamos el sistema y primer arranque se publicó primero en Domótica en Casa.