• Skip to main content
  • Skip to secondary menu
  • Skip to primary sidebar
El Blog de Jorge de la Cruz

El Blog de Jorge de la Cruz

El Blog de Jorge de la Cruz - Todas las novedades sobre VMware, Veeam, InfluxData, Grafana, Zimbra, etc.

  • Home
  • VMware
    • VMworld
    • VMware vSphere 6.7
    • VMware vSphere 6.5
  • Veeam
    • Resumen Contenido 2021
    • Veeam v11
      • Continuous Data Protection (CDP
      • Ransomware Protection
      • Archive Tier
      • Mejoras en Instant Recovery
      • Veeam Agent for Mac
      • Veeam Backup for AHV v2.1
    • Veeam Backup for Microsoft Office 365
      • 1 – Razones para proteger nuestra información en Microsoft Office 365
      • 2 – Componentes lógicos de Veeam Backup for Microsoft Office 365 2.0
      • 3 – Instalación paso a paso de Veeam Backup for Microsoft Office 365 v2.0
      • 4 – Configuración inicial de Veeam Backup for Microsoft Office 365 v2.0
      • 5 – Creando trabajos de copia en Veeam Backup for Microsoft Office 365 v2.0
      • 6 – Restaurando elementos en Veeam Backup for Microsoft Office 365 v2.0
    • Veeam Backup for AWS
      • Veeam: Veeam anuncia Veeam Backup for AWS Free Edition
      • Veeam: Cómo Desplegar Veeam Backup for AWS – paso a paso
      • Veeam: Vistazo en profundidad al nuevo Veeam Backup for AWS – Creación de Políticas de Backup y Restauración
      • Veeam: Cómo conectar nuestro Veeam Backup & Replication a Veeam Backup for AWS
    • Veaam ONE
      • En busca del Dashboard perfecto: Veeam ONE – Parte I – Introducción a Veeam ONE
      • En busca del Dashboard perfecto: Veeam ONE – Parte II – Descarga e Instalación de Veeam ONE
      • En busca del Dashboard perfecto: Veeam ONE – Parte III – Añadir una Infraestructura de VMware vSphere a Veeam ONE
      • En busca del Dashboard perfecto: Veeam ONE – Parte IV – Añadir una Infraestructura de Veeam Backup and Replication a Veeam ONE
      • En busca del Dashboard perfecto: Veeam ONE – Parte V – Realizando troubleshooting de vSphere usando Veeam ONE Monitor
      • En busca del Dashboard perfecto: Veeam ONE – Parte VI – Realizando troubleshooting de Veeam Backup and Replication usando Veeam ONE Monitor
      • En busca del Dashboard perfecto: Veeam ONE – Parte VII – Vistazo profundo a los Dashboards en Veeam ONE Reporter
      • En busca del Dashboard perfecto: Veeam ONE – Parte VIII – Vistazo profundo a Reportes en Veeam ONE Reporter
      • En busca del Dashboard perfecto: Veeam ONE – Parte IX – Chargeback para crear reportes de coste de nuestra Infraestructura
    • Veeam Availability Console
      • 1 – Teoría e información útil sobre el producto
      • 2 – Instalación de Veeam Availability Console
      • 3 – Configuración y conexión con VBR Server
      • 4 – Administración centralizada de Veeam Backup Agents
      • 5 – Backup de Agentes a diferentes destinos, SMB, Repositorio Veeam o Cloud Connect
      • 6 – Reportes de Backup de Veeam Agent y Veeam Backup and Replication
      • 7 – Manejando la Facturación de Veeam Agents, Backup and Replication y Cloud Connect
    • Backup y restore de cargas de trabajo a Microsoft Azure
      • 1 – Introducción
      • 2 – Conectividad entre nuestro Datacenter y Microsoft Azure
      • 3 – Desplegar Veeam Backup and Replication en Microsoft Azure
      • 4 – Configuración en nuestro Datacenter para backup a Microsoft Azure
      • 5 – Restaurando a Microsoft Azure, desde Microsoft Azure
      • 6 – Migrar cargas de trabajo desde Microsoft Azure hacía nuestro Datacenter
    • Veeam v9.5 Update 4
      • Veeam Cloud Tier
        • Cómo controlar el ancho de banda en Veeam Cloud Tier
      • Secure Restore y Staged Restore
      • Mejoras en Veeam Agent Management
      • Veeam Community Edition
      • Actualizar Veeam Enterprise Manager y Veeam Backup and Replication a la última versión
      • VeeamONE con Intelligent Diagnostics, Remediation actions, Business View 2.0 y Application Monitoring
    • VeeamON 2022
      • Novedades en Veeam ONE v12
    • VeeamON 2021
      • VBO v6 – Self-Service y Backup Copy Glacier-Azure Archive
    • VeeamON 2020
      • Veeam Backup for AWS v2.0
    • VeeamON 2019
      • Veeam Availability Orchestrator v2.0 – ¡novedades!
    • VeeamON 2017
      • Sesiones recomendadas
      • Día I – Veeam Availability Suite v10 – ¡novedades!
      • Día II – Veeam Azure PN (Powered Network), Scale-out Archive Tier y mucho más
    • VeeamON 2015
      • VeeamON 2015 volverá a Las Vegas en el único Evento sobre Disponibilidad en el Data Center
      • Completo resumen, keynotes e imágenes
      • vBrownBag – Jorge de la Cruz – Stop sending postcards to your customers
  • Zextras
  • PRTG
  • Office 365
    • Microsoft – Añadiendo nuestro dominio a Office 365, configuración de DNS y migración de actual Mailbox
    • Veeam: Usando Microsoft Office 365 para nuestras notificaciones por correo electrónico
    • PRTG: Usando Microsoft Office 365 para nuestras notificaciones por correo electrónico
  • Zimbra
    • Instalación
      • Instalando Zimbra 8.7.6 sobre Ubuntu 14.04 LTS – ¡con Chat y Drive!
      • Amazon Lightsail para instalar Zimbra Collaboration 8.7.1, Parte II
      • Amazon Lightsail para instalar Zimbra Collaboration 8.7.1, Parte I
      • Instalando Zimbra 8.7.x con un solo comando, incluye Chat y Drive
  • Linux
    • InfluxDB, Grafana y Telegraf
      • 1 – Instalación y configuración de los components
      • 2 – Instalar agente en Linux
      • 3 – Integración con PRTG
      • 4 – Instalar agente Telegraf en Nodos remotos Windows
      • 5 – Activar inputs específicos, Red, MySQL/MariaDB, Nginx
      • 6 – Monitorizando Veeam
    • Ansible y Zabbix
      • 1 – Inicio
      • 2 – Instalación de Ansible e integración con Active Directory
      • 3 – Configuración de AutoDiscovery en Zabbix
      • 4 – Instalación del agente de Zabbix en Windows
      • 5 – Instalación del agente de Zabbix en Linux y Auto Remove en Zabbix
    • Jenkins
      • 1 – Inicio
      • 2 – Instalación de Jenkins en Ubuntu
      • 3 – Instalando nuestro primer plugin
      • 4 – Sincronización NTP de Linux
      • 5 – Añadir un Slave Windows a Jenkins
      • 6 – Ejecutar tareas en Linux
      • 7 – Ejecutar tareas en Windows
    • Kubernetes
      • 1 – Introducción a Kubernetes
      • 2 – Instalación paso a paso
      • 3 – RollingUpdate con Kubernetes
      • 4 – Dashboard
      • 5 – Volúmenes NFS
      • 6 – Registry
      • 7 – Traefik
      • 8 – Systemd con Traefik y Proxy de Kubernetes
      • 9 – Heapster Influx Grafana
      • 10 – Labels de Kubernetes
      • 11 – API: Swagger
      • 12 – API: Creando nuestro primer POD
  • Contribuidores
    • Acerca de Jorge
    • Acerca de Oscar Mas
      • Clúster SQL
        • 1 – Introducción
        • 2 – Preparación de los equipos virtuales
        • 3 – Instalación del Clúster de Microsoft
        • 4 – Instalación de SQL Server para Clúster de Microsoft
        • 5 – Configuración de nuestro Clúster de SQL
        • 6 – Monitorización de Clúster de SQL con Zabbix
        • 7 – Actualizando clúster de SQL

En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXXVIII (Monitorizando Temperatura y Humedad con Xiaomi Mijia)

7 March, 2022 - Escrito en: opensource

Saludos amigos, se que son tiempos muy convulsos, y la verdad es que lo que menos apetece es ponerse a escribir, o siquiera a leer blogs. A su vez, hacer estos pequeños proyectos aunque sea en pocos ratos, hace que todo se pueda llevar un poco mejor y olvider por apenas unos minutos en cómo está todo.

Hacía mucho tiempo que tenía ganas de monitorizar la diferente temperatura y humedad de las diferentes habitaciones de mi casa, los que tengáis niños, o incluso problemas respiratorios, etc. Me entedenreís, a su vez, lo que no quería era una solución muy cara, ni tampoco una solución que tuviera un sistema centralizado que tengas que hacer query de la API a un servicio en Cloud (esto es personal claro, pero evitar la obsolescencia programada, o cierre de servicios está en nuestra mano)

Una vez que terminemos todos los pasos, tendríais que tener un resultado similar a lo siguiente:

Vistazo rápido a Xiaomi Mijia

Como siempre, Xiaomi lo tiene todo, pero vamos seguro hay otros productos similares. Me decanté por el Xiaomi Mijia 2, que es realmente compacto, funciona con una sola pila que dura meses si no años, y emite por bluetooth, ¡más sencillo imposible!

Este aparato cuando lo compre costaba unos 12 Euros, pero en eBay y en otros lugares están algo más económicos, quiero decir, estamos hablando de un precio muy asequible para las 3 o 4 habitaciones que queramos monitorizar realmente.

Estos aparatos, y otros similares de Xiaomi pueden controlarse y ver estadísticas con Xiaomi Home, pero no se guardan estadísticas ni nada, ya que tienes que estar cerca de ellos, y el historial es máximo unos minutos, además de necesitar cuenta con Xiaomi, etc, etc.

Con lo que, por supuesto usando una Raspberry Pi, o cualquier otro aparato Linux que tenga Bluetooth, he creado un simple script que lee la información de los dispositivos que tiene alcance y lo mete a InfluxDB, y luego lo mostramos de manera sencilla en Grafana, nada complicado, espero que os sirva.

Topología con todos los componentes lógicos

Esta entrada es similar a las anteriores ya que en este caso, usaremos una combinación de un shell script para recolectar las métricas de Xiaomi Mijia usando Bluettoth y se lo enviamos a InfluxDB. El diseño sería algo similar a esto:

Como podemos ver, el shell script hace varias cosas, como desactivar y activar el bluetooth en la RPi, y preguntar a los aparatos por la temperatura, luego enviará todos los datos a InfluxDB, desde donde podremos verlos cómodamente con Grafana.

Descrubiendo las direcciones de bluettoth de los Xiaomi Mijia

¡Viene una pegatina por detrás de cada equipo! Pero bueno, imaginemos que ya los hemos puesto con la pegatina en la pared y no nos acordamos, desde nuestro Linux con bluetooth lanzaremos lo siguiente:

hcitool lescan

Esto nos devolverá los equipos emitiendo bluetooth cerca de nuestra RPi, buscar los que sean similares a esto:

LE Scan ...
A4:C1:38:D4:B7:7F (unknown)
A4:C1:38:DF:A0:16 LYWSD03MMC
A4:C1:38:D4:B7:7F LYWSD03MMC

Y añadirlos al array, junto a una descripción en el array llamado device.

Descargar, y configurar el script the xiaomi_temperature.sh

Tenemos casi todo listo, tenemos un último paso, el guión que hará que todo esto funcione, descargaremos la última versión del repositorio Github:

  • https://raw.githubusercontent.com/jorgedlcruz/xiaomi-mijia-grafana/main/xiaomi_temperature.sh

Este script de shell, puede ser descargado y ejecutado desde cualquier Linux que tenga bluetooth, en mi caso una RPi. Tendremos que editar los parámetros de configuración:

# Endpoint URL for InfluxDB
InfluxDBURL="http://YOURINFLUXSERVERIP" #Your InfluxDB Server, http://FQDN or https://FQDN if using SSL
InfluxDBPort="8086" #Default Port
InfluxDBBucket="telegraf" # InfluxDB bucket name (not ID)
InfluxDBToken="TOKEN" # InfluxDB access token with read/write privileges for the bucket
InfluxDBOrg="ORG NAME" # InfluxDB organisation name (not ID)

# Xiaomi Bluetooth Addresses
declare -a array=("A4:C1:38:D4:B7:7F" "A4:C1:38:CD:9B:92" "A4:C1:38:DF:A0:16" "A4:C1:38:30:12:65")
declare -a device=("Master\ Bedroom" "Living\ Room" "Office\ Room" "Kids\ Bedroom")

Fijaros bien en el array donde pongo las MAC Address de los Bluetooth. Además si queremos añadir una descricpión a la habitación, y tiene espacios, tendremos que usar la contrabarra, como yo tengo, eso o usar una sola palabra HABITACION_CHICOS, SALONDEESTAR, etc.

Una vez que los cambios estén hechos, haz el script ejecutable con chmod:

chmod +x xiaomi_temperature.sh

Lo ejecutamos, y la salida del comando debe ser algo parecido a la siguiente, sin errores:

./bt1.sh
Writing xiaomi_temphum to InfluxDB
HTTP/2 204 
x-influxdb-build: OSS
x-influxdb-version: 2.1.1
date: Sat, 05 Mar 2022 16:47:53 GMT

The reading failed for A4:C1:38:CD:9B:92

Si vemos the reading failed, lo más seguro es que la RPi no tenga rango a ese Xiaomi Mijia, o al menos no siempre, puede ser intermitente, podemos omitir el error y ver cómo se comporta después de 24 horas.

Si todo está bien, por favor, ahora agrega este script a tu crontab, como por ejemplo cada 5 minutos, no creo que nuestros Dashboards se actualicen más a menudo, pero bueno bajarlo si así es:

*/5 * * * * /home/oper/xiaomi_temperature.sh >> /var/log/xiaomi_temperature.log 2>&1

Estamos listos para irnos al siguiente paso.

Grafana Dashboards

He creado un Dashboard desde cero seleccionando las mejores solicitudes a la base de datos, terminando los colores, pensando en los gráficos y en cómo mostrarlos, y todo está automatizado para que se ajuste a nuestro entorno sin ningún problema y sin tener que editar nada manualmente. El Dashboard se puede encontrar aquí, una vez importado, puedes usar los menús desplegables superiores para seleccionar entre dispositivos, etc:

  • https://grafana.com/grafana/dashboards/15853

Importar el Dashboard de Grafana de manera sencilla

Para que no tengas que perder horas configurando un nuevo Dashboard, e ingiriendo y depurando lo que quieras, ya he creado un maravilloso Dashboards con todo lo que necesitas para monitorizar nuestro entorno de una forma muy sencilla, se verá como la imagen que te mostré arriba. Selecciona el nombre que quieras e introduce el ID: 15853, que es el ID único del Dashboard, o la URL:

  • https://grafana.com/grafana/dashboards/15853

Con los menús de arriba, podremos movernos entre dispositivos, etc.:

Espero que os guste, y me gustaría dejaros la serie completa aquí, para que empecéis a jugar con los plugins que os he ido contando todos estos años:

  • En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte I (Instalando InfluxDB, Telegraf y Grafana)
  • En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte II (Instalar agente Telegraf en Nodos remotos Linux)
  • En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte III Integración con PRTG
  • En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte IV (Instalar agente Telegraf en Nodos remotos Windows)
  • En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte V (Activar inputs específicos, Red, MySQL/MariaDB, Nginx)
  • En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte VI (Monitorizando Veeam)
  • En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte VII (Monitorizar vSphere)
  • En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte VIII (Monitorizando Veeam con Enterprise Manager)
  • En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte IX (Monitorizando Zimbra Collaboration)
  • En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte X (Grafana Plugins)
  • En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XI
  • En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XII – Plugin nativo de Telegraf para vSphere
  • En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XIII – Veeam Backup for Microsoft Office 365
  • En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XIV – Veeam Availability Console
  • En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XV – Monitorización IPMI de nuestros Hosts ESXi
  • En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XVI – Rendimiento y seguridad avanzada de Veeam Backup for Microsoft Office 365
  • En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XVII – Mostrando los Dashboards en dos monitores usando Raspberry Pi 4
  • En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XVIII – Monitorizar temperatura y estado de Raspberry Pi 4
  • En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XIX (Monitorizando Veeam con Enterprise Manager) Shell Script
  • En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XX (Monitorizando Certificados SSL x.509)
  • En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXI (Monitorizando HTTP Responses)
  • En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXII (Monitorizando Cloudflare con Mapa)
  • En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXIII (Monitorizando WordPress con Jetpack RESTful API)
  • En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXIV (Monitorizando de Veeam for Microsoft Azure)
  • En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXV (Monitorizando Consumo Eléctrico)
  • En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXVI (Monitorizando Veeam Backup for Nutanix)
  • En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXVII (Monitorizando ReFS y XFS (block-cloning y reflink)
  • En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXVIII (Monitorizando HPE StoreOnce)
  • En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXIX (Monitorizando PiHole)
  • En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXX (Monitorizando Veeam Backup for AWS)
  • En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXXI (Monitorizando Unifi Protect)
  • En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXXII (Monitorizando Veeam ONE – experimental)
  • En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXXIII (Monitorizando NetApp ONTAP)
  • En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXXIV (Monitorizando Goldshell Miners – JSONv2)
  • Looking for the Perfect Dashboard: InfluxDB, Telegraf, and Grafana – Part XXXV (GPU Monitoring)
  • En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXXVI (Monitorizando Runecast)
  • Looking for the Perfect Dashboard: InfluxDB, Telegraf, and Grafana – Part XXXVII (Monitoring Veeam Backup for Google Cloud Platform)
  • En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXXVIII (Monitorizando Temperatura y Humedad con Xiaomi Mijia)

Filed Under: opensource Tagged With: grafana bluetooth, grafana humedad, grafana temperatura, grafana xiaomi

Reader Interactions

Trackbacks

  1. Grafana: Novedades en Grafana v9.2, nuevo panel Canvas, o lo que es igual a añadir nuestras propias imágenes - El Blog de Jorge de la Cruz says:
    17 October, 2022 at 22:31

    […] En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXXVIII (Monitorizando Tempe… […]

    Reply

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Primary Sidebar

  • Email
  • GitHub
  • LinkedIn
  • RSS
  • Twitter
  • YouTube

Gold Partners

Silver Partners

Libros Gratuitos

Cloud por vExperts
VMware por vExperts

VMware vExpert

Puesto 16 en Top vBlog

Calendario de Posts

March 2022
M T W T F S S
 123456
78910111213
14151617181920
21222324252627
28293031  
« Feb   Apr »

Disclaimer

Todas las opiniones expresadas en este sitio son las mías propias y no representan las opiniones de ninguna compañía con la que haya trabajado, esté trabajando o vaya a estar trabajando.

Copyright © 2026 · El Blog de Jorge de la Cruz