msgbartop
El tiempo es la música que crean los planetas
msgbarbottom

31 ene 21 Concentrador Zigbee basado en software libre: zigbee2mqtt

Llevo ya unos cuantos artículos hablando sobre mi sistema de domótica, y hasta ahora he omitido uno de los puntos centrales del mismo: el concentrador zigbee. Mi sistema de domótica es algo sui generis, ya que es un compendio de distintas piezas que he ido amalgamando con el paso del tiempo. El punto central del mismo es el estupendo software Home Assistant, junto con un servidor MQTT. Sobre este núcleo he ido añadiendo diversos dispositivos, empezando por hardware basado en NodeMCU programados por mí mismo. Empecé con ello en 2016, en Irlanda, pero realicé algunos proyectos preliminares aún antes, pero completamente desacoplados. Pero todo lo hecho ha tenido como hilo común el experimentar con diversas tecnologías.

Como parte de ese proceso de experimentación acabé introduciendo dispositivos Zigbee. Son unos elementos interesantes, y la tecnología en la que se basan ha tenido gran difusión en el ámbito de la domótica doméstica. Para transmitir la señal se basan el frecuencia de 2’4GHz, lo que provoca que en entornos saturados de redes WiFi y Bluetooth estemos añadiendo más elementos que pueden provocar perturbaciones. Sin embargo, no es ese su gran problema. El gran problema que tienen es que estos dispositivos necesitan de un aparato que realice las veces de concentrador de señales, actuando como pasarela entre los dispositivos en sí y el software de control que nos permite interactuar con ellos. Y si este concentrador fuera genérico, no sería demasiado malo, pero cada fabricante requiere que uses el suyo y nada más que el suyo, lo que implica que no es posible mezclar, por ejemplo, luces del sistema TRÅDFRI de Ikea con sensores de temperatura Xiaomi, o interruptores Silvercrest de Lidl, a menos que quieras tener que usar tres concentradores y tres aplicaciones distintas para cada componente. Un verdadero rollo.

Y es aquí donde entra nuestro amigo el software libre. Existe un magnífico proyecto de desarrollo de un concentrador multifabricante que permite precisamente eso: utilizar un solo concentrador abierto para gestionar dispositivos de diversos fabricantes. Ese es el proyecto zigbee2mqtt. La idea de partida es sencilla: escuchar las señales Zigbee de los diversos dispositivos, procesarlas, e inyectarlas en un servidor MQTT para poder ser utilizadas posteriormente como mejor convenga a tus intereses. Sencilla, pero brillante. Y en mi caso, dado que ya disponía de un Home Assistant configurado y mi servidor MQTT, algo que me venía como anillo al dedo.

Arquitectura de zigbee2mqtt

Arquitectura de zigbee2mqtt

Sin embargo, hasta ahora he hablado sólo de sofware, y para construir un concentrador que reciba señales físicas es preciso de algo de hierro. El hardware esencial es el adaptador Zigbee que recibe las señales de los dispositivos. En mi caso hago uso de un adaptador CC2531, que se conecta por USB. Es preciso programarlo con un firmware que en la propia página de zigbee2mqtt se encargan de proporcionar. Y además de eso, hace falta un dispositivo linux donde instalarlo. La respuesta más obvia es una Raspberry Pi, pero hay otras alternativas:

  • En mi caso, allá por 2016, empecé utilizando una Asus Tinker Board, que por aquel entonces ofrecía mucha más potencia que la Raspberry Pi 2 que había disponible. Una placa estupenda, con mucha potencia, y con una versión de linux, Linaro OS, basada en Debian, por lo que ofrecía todo lo que necesitaba. Sin embargo, tenía una cierta pasión por devorar tarjetas microSD, por lo que hace algunos meses acabé migrando el sistema y desconectándola.
  • Otra opción interesante, dado que las necesidades de potencia de zigbee2mqtt son ciertamente reducidas (y ni de lejos requieren hacer uso de algo como una Raspberry Pi 4), es hacer uso de una placa más modesta. En mi caso, estoy teniendo estupendos resultados con una humilde Orange Pi Zero. Eso sí, siempre que cuides de ponerle un sistema de disipación y ventilación, ya el talón de Aquiles de esta placa es su disparatado problema de sobrecalentamiento del micro. Este sistema lo tengo en uso a día de hoy en Forcarey.
  • Y otra opción, perfectamente viable, es hacer uso de una máquina virtual. Este es el caso del entorno que tengo actualmente en Santiponce. Después de desechar la Tinker Board, moví el sistema a una pequeña máquina virtual en un servidor de virtualización basado en Proxmox que tengo en casa. El punto clave en este caso era verificar que el adaptador Zigbee funcionara presentándolo desde el servidor de virtualización a la máquina virtual (ya que, claro, no es posible conectar un hardware físico a una máquina virtual sin conectar el hardware al servidor de virtualización), cosa que hasta el momento ha ido como la seda. Y en cuanto a los recursos de la máquina virtual, no se necesita nada espectacular: con 512 MB de RAM y 1 vCPU hay de sobra para mover Home Assistant, zigbee2mqtt, el servidor MQTT y alguna que otra cosa más que tengo por ahí.
Home Assistant y zigbee2mqtt en Proxmox

Home Assistant y zigbee2mqtt en Proxmox

Una vez determinada qué opción para componer el concentrador, el resto es sencillo: ya hemos hablado del primer paso, que es cargar el firmware en el CC2531. El segundo es desplegar el software zigbee2mqtt en el concentrador. El proceso es bastante sencillo, ya que se trada de una aplicación Node.jsm y se instala tan sólo haciendo uso de un comando npm, una vez preparado el entorno para que pueda ejecutar este tipo de aplicaciones.

Procesos de zigbee2mqtt en Orange Pi Zero

Procesos de zigbee2mqtt en Orange Pi Zero

Por último, para tener el concentrador listo, hay que integrarlo con un servidor MQTT, que se hace mediante un fichero de configuración. Y a partir de ahí, tan sólo es cuestión de sacarle partido. Y es aquí donde entra de nuevo Home Assistant: zigbee2mqtt tiene una integración excelente con este sistema de domótica, siendo posible integrarlo con Home Assistant, y hacer que el proceso de descubrimiento en éste de los dispositivos registrados en zigbee2mqtt sea automático.

Pero he dejado lo mejor de todo para el final. Comentaba que el problema de utilizar concentradores de fabricante es que cada uno soporta solo y exclusivamente sus propios dispositivos. ¿Cuántos dispositivos soporta zigbee2mqtt? Literalmente cientos. A día de hoy, 1217 dispositivos de 189 fabricantes distintos. Y es una lista que no para de crecer. Hace algunas semanas han sido añadidos los Silvercrest de Lidl de los que escribí recientemente, solucionando el problema de que el botón físico de los interruptores no era reconocido dentro de las acciones: ahora sí lo reconoce.

¿Qué cuál es mi configuración? Bueno, a día de hoy es pelín compleja, pero tiene su gracia. Estrictamente hablando, hago uso de dos concentradores zigbee2mqtt, uno en Santiponce, y otro en Forcarey, que reportan a mi servidor MQTT, ubicado en Santiponce. Y manejo los dispositivos desde un único Home Assistant, también ubicado en Sevilla. Cada zigbee2mqtt escribe en el servidor MQTT bajo un topic diferenciado, ya que la cantidad de dispositivos es pelín larga ya. En Santiponce hago uso de:

  • Una luz Ikea TRÅDFRI, que fue la que lo empezó todo, ubicada en el salón. Es la luz que permite variar la calidez de la luz y la intensidad de la misma.
  • Su correspondiente mando, que no está integrado directamente con la luz, sino que se comunica con ella de manera independiente a través de zigbee2mqtt. Esto permite reconocer las acciones del mando en Home Assistant, y llegado el caso permitiría que el mando administrara dispositivos de terceros.
  • Una luz Müller Licht Tint de Aldi, de varios colores.
  • …y su mando a distancia. En este caso la integración no es tan limpia como en el del mando de Ikea, pero funciona bien.
  • Un cubo Aqara, que utilizo no sólo para controlar la luz Ikea del salón, sino para realizar acciones sobre la pérgola del patio. Y esto nos lleva a otra ventaja de utilizar zigbee2mqtt: que se puede interactuar sobre dispositivos que no son Zigbee. En mi caso, sobre un NodeMCU programado por mí mismo, a través de topic MQTT.
  • Tres sensores de apertura de puertas y ventanas Aqara MCCGQ11LM, que reportar la apertura de las mismas mediantes mensajes de Telegran y WhatsApp.
  • Un router CC2530 para mejorar la comunicación de los dispositivos Zigbee con el controlador. Y es que, aunque los dispositivos Zigbee pueden construir una red de tipo Mesh para llegar al concentrador, las comunicación con éste se veía perjudicada por la cantidad de señales en la banda de 2’4GHz y las distancias existentes en el caso de la casa de Santiponce. El uso de este concentrador mejoró de manera ostensible el comportamiento del sistema.
Diagrama de dispositivos de Santiponce

Diagrama de dispositivos de Santiponce

…y en el caso de Forcarey:

  • Los mismos sensores de apertura de puertas y ventanas Aqara MCCGQ11LM que comentaba antes.
  • Varios interruptores Lidl HG06337 para controlar los radiadores eléctricos del piso.
  • Otro Aqara Cube para controlar las luces del salón, que he domotizado mediante unos Sonoff Mini con software Tasmota.
  • Sensores de temperatura, humedad y presión atmosférica Aqara WSDCGQ11LM, que permitirán automatizar el encendido de los radiadores en función de las condiciones de las habitaciones.
Diagrama de dispositivos de Forcarey

Diagrama de dispositivos de Forcarey

No está mal, ¿no?

VN:F [1.9.20_1166]
Rating: 10.0/10 (2 votes cast)

Etiquetas: , , , , , , , , , , , , , , , ,

22 ene 21 Etapa ciclista: Cerdedo – Monte Seixo – Mirador de las Tres Rías (17/01/2021)

El 17 de enero realicé una nueva etapa en las cercanías de Forcarey: se trató de una nueva subida al Parque Eólico de la Sierra de Cando, pero por una pista distinta, y saliendo desde Cercedo. Bajé desde Forcarey a Cerdedo en coche, y aparqué en la travesía de la Nacional que atraviesa el pueblo. Empecé a rodar a las 9:32h, con -1.5ºC y una humedad del copetín, a una altitud de 371 msnm. La mañana iba a estar fresquita, pero no iba a tardar mucho en entrar en calor. Tras una primera bajada hasta cruzar el Río do Castro, y pasar a su margen derecha. Y tras la bajada, la inevitable y criminal subida, con rampas superiores al 14%, hasta la aldea de Meilide, a 421 msnm. Desde allí la pendiente afloja bastante, pero se ve reemplazada por una subida constante, por carretera, de unos 4 kms. hasta encontrar un primer falso llano. Y con carretera helada.

IMG_20210117_100516631

Tras un poco de descanso, se llega a la aldea de Cavadosa, donde se encuentra la primera sorpresa del día: las cascadas, en el mismo casco urbano de la misma. Existe una senda que se puede seguir, arroyo arriba, para ver más cascadas, pero en mi caso, y dado que iba a tener subida sobrada a lo largo del día, decidí quedarme en la primera, que ya valía mucho la pena.

IMG_20210117_101647400

Una vez pasada la cascada, se vuelve a retomar el ascenso, siempre por carreteras secundarias, para llegar, 1’2 kms. después, a la aldea de Cima de Vila, a 624 msnm. Mal nombre, ya que -lejos de ser la cima- no es sino el punto inicial del ascenso a Monte Seixo.

IMG_20210117_123519339

Un muy duro ascenso, una vez cruzas un paso canadiense, por pista de tierra con rampas del 18%, que dura algo más de 3 kms. hasta llegar a la Capilla de Santa Mariña. Por el camino hay una nevera, que no pude visitar, al haber una partida de caza en la zona que imposibilitaba salirse de la pista.

IMG_20210117_105634509
IMG_20210117_110043537

Una subida tremenda, tanto por la belleza como por la dureza de la misma, a 931 msnm.

IMG_20210117_111504862

La zona tiene unas vistas estupendas, y pese a lo frío de la mañana, en la que aún se podía encontrar hielo de las pasadas nevadas, permitía contemplar unas vistas estupendas del entorno, y de la propia capilla.

IMG_20210117_111349604_HDR
IMG_20210117_111630_1
IMG_20210117_111739903

Desde la capilla tenía un par de alternativas: dirigirme hacia el noreste, camino de Portalén, y bajar por la aldea Carballás, o bien dirigirme al suroeste, alcanzar el Mirador de las Tres Rías, y descender del monte por la vertiente de La Lama. La presencia de la partida de caza en las cercanías de Portalén me hizo decidirme por esta segunda opción. Y no puedo menos que alegrarme de ello.

Decidido el rumbo a tomar, seguí por la pista del parque eólico, que no ofrece dificultad alguna para ubicar el camino correcto. Se empieza con una divertida bajada de unos 800 metros, para luego volver a ascender otro tanto. Llegué en primer lugar a una agrupación de piedras muy llamativa: dados los antecendentes de la zona, bien podría ser algún tipo de túmulo celta, o bien piedras sobrantes de la construcción de la pista del parque. En cualquier caso, llamaba la atención.

IMG_20210117_113142990

Pasado el grupo de piedras, se sigue en ascenso, para llegar poco tiempo después al desvío al Mirador de las Tres Rías, donde se puede divisar, en un día claro, las rías de Vigo, Pontevedra y Arosa. En mi caso, se divisaban bien las dos primeras, e incluso llegaba a atisbarse entre la bruma el Puente de Rande. En cuanto a la de Arosa, por desgracia estaba algo cubiera de nubes, por lo que su visibilidad no era buena. Aun así, era una vista espectacular. Y no era para menos, ya que se trataba de la cota máxima de la etapa, a 965 msnm.

IMG_20210117_114007398
IMG_20210117_114346232
IMG_20210117_114110275

Una vez dejado atrás el mirador, empieza una estupenda bajada. Pasados tres aerogeneradores se acaba la pista del parque eólico, y se baja por un antiguo camino que es una delicia para realizar descenso. No pude menos que alegrarme de la presencia de la partida de caza, que posibilitó que conociera este espectacular descenso, en el que pude encontrar hasta caballos salvajes. Y algún que otro caballo de vapor, en un sitio donde no pensarías en encontrarlo. :mrgreen:

La bajada termina en las cercanías de la aldea de Barbeira. Desde allí hay que recorrer unos 6 kms. de carretera secundaria, con abundantes subidas y bajadas, hasta volver a alcanzar A Cima de Vila y desde allí, una bajada casi constante que nos devuelve a Meilide, pasando por Cavadosa, Abelaindo y la propia Meilide. Por último, se vuelve a bajar hasta el puente sobre el río do Castro, para finalizar en subida en Cercedo, para totalizar 33’2 kms de trepidante etapa.

Datos de la etapa

  • Distancia: 33’266km
  • Distancia (según el GPS): 33’26 km
  • Altitud ascendida: 930 m
  • Tiempo de etapa: 2:44:24
  • Tiempo desde el inicio de la etapa: 3:23:49
  • Calorías consumidas: 1519 kcal

VN:F [1.9.20_1166]
Rating: 10.0/10 (1 vote cast)

Etiquetas: , , , , , ,

14 ene 21 Etapa ciclista: Puentes del Lérez – Castro de Loureiro – A Mámoa – Puente Gomail (10/01/2021)

El día 10 de enero, ya de vuelta en Forcarey, hice una nueva etapa ciclista por el entorno. En esta ocasión opté por retomar un tramo de la Ruta de los Puentes del Lérez que no había podido completar en ocasiones anteriores. En concreto, el tramo entre A Ponte y el Campamento Juvenil Pontemaril, para luego ascender hasta el Castro de Loureiro.

IMG_20210110_100217412

La primera parte del recorrido fue espectacularmente buena. Como hacía algunas jornadas que no llovía, los campos se encontraban menos embarrados, por lo que era más sencillo seguir el trazado del PR-G 113. Se empieza en un área recreativa en las cercanías de A Ponte, que ha sido recientemente reconstruida, y se puede seguir el sendero sin mucha dificultad junto al río.

IMG_20210110_100347213_HDR
IMG_20210110_100543732

No se tarda demasiado en llegar a la zona de Pontemaril, donde el camino, que recupera la cobertura de piedra, bordea el río siguiendo un meandro de éste.

IMG_20210110_101809114

Sin embargo, al poco el trazado del camino ha sido devorado por el río, por lo que es preciso tomar un pequeño sendero junto a éste.

IMG_20210110_102154432

Al poco, se llega a una pista que cruza el río por un vado. Para otras ocasiones se quedará el cruzar el cauce, pero en esta ocasión opté por seguir por el mismo lado del río, camino de Castro Loureiro.

Tras dejar atrás el castro, tomé una carretera a mano izquierda, para llegar al Puente de Crego, y posteriormente, a Duas Igrexas. Desde allí continué por carretera hasta As Rabadeiras, donde pude encontrar unos restos de nieve de la nevada de la semana anterior en una zona de umbría. Pasado As Rabadeiras, se llega a la carretera que vuelve hasta Forcarey. En mi caso, la seguí hasta Las Casetas, para allí girar a mano derecha en la carretera de La Estrada. Seguí por la misma hasta llegar a la salida de A Mámoa, a donde me encaminé. Llegados a este punto pude ver indicaciones del Camino de la Geira Romana y Ruta de los Arrieros.

IMG_20210110_112116370

Desde allí seguí por la ruta de los Arrieros, bajando hasta el Puente de Gomail.

Por último, salí por Cachafeiro, para volver hasta Forcarey, para completar un total de 22 km.

Datos de la etapa

  • Distancia: 22’014km
  • Distancia (según el GPS): 22’00 km
  • Altitud ascendida: 445 m
  • Tiempo de etapa: 1:45:57
  • Tiempo desde el inicio de la etapa: 2:08:18
  • Calorías consumidas: 966 kcal

VN:F [1.9.20_1166]
Rating: 9.7/10 (3 votes cast)

Etiquetas: , , , , , ,