Sistema de domótica distribuido sobre Raspberry Pi 5 y VirtualBox, interconectado mediante ZeroTier con control centralizado en Home Assistant.
Arquitectura distribuida con dos instancias de Home Assistant sincronizadas via ZeroTier SDN.
Dispositivos integrados en el sistema, organizados por protocolo y función.
Red virtual SDN que conecta ambas instancias de Home Assistant sin exposición pública de puertos.
Selecciona un paso para ver la documentación completa.
Documentación técnica completa del proyecto DOMOTEC. Autor: Pedro · Versión 1.0
El proyecto DOMOTEC nace con el objetivo de desarrollar un sistema domótico centralizado utilizando Home Assistant como plataforma principal. La idea es disponer de una única interfaz capaz de controlar sensores, dispositivos, automatizaciones y paneles de visualización para supervisar el estado de una vivienda o entorno.
Durante el desarrollo se trabajó en múltiples frentes que se combinan para dar lugar al sistema completo:
Objetivo general:
Diseñar e implementar una plataforma domótica basada en Home Assistant capaz de centralizar dispositivos y automatizar tareas.
Objetivos específicos completados:
Objetivos futuros:
Home Assistant es una plataforma de automatización doméstica de código abierto orientada al control local, sin depender de servicios en la nube de terceros.
Flujo de componentes principales:
El servidor central recibe datos de sensores y ejecuta acciones automáticas. La arquitectura distribuye la lógica en tres capas diferenciadas que se comunican entre sí:
Internet conecta el sistema al exterior, permitiendo acceso remoto a través del navegador sin necesidad de exponer puertos directamente gracias a la red ZeroTier.
Proceso de puesta en marcha del entorno DOMOTEC desde cero, incluyendo la instalación del sistema operativo hasta la configuración básica de usuario.
Configuración del servidor:
Uno de los conceptos tratados fue por qué Home Assistant utiliza el puerto 8123 como interfaz web principal. Este puerto es el estándar de la plataforma para servir la interfaz de usuario.
El flujo de acceso sigue el camino: Usuario → Navegador → Puerto 8123 → Home Assistant. También se revisó el concepto de red virtual y cómo los servicios quedan aislados pero comunicados entre sí.
YAML es el lenguaje de configuración utilizado en Home Assistant para describir todos los componentes del sistema de manera declarativa y legible.
sensor: - platform: mqtt name: "Temperatura salón" state_topic: "home/salon/temperatura" unit_of_measurement: "°C"
El objetivo de esta sección es conectar dispositivos físicos al sistema para que sean representados como entidades dentro de Home Assistant y visibles en el Dashboard.
El flujo de integración sigue el camino: Dispositivo → Entidad → Dashboard
Una entidad es la representación digital de un dispositivo físico dentro de Home Assistant. Cada sensor, interruptor o bombilla conectada se convierte en una entidad con estado, historial y acciones disponibles.
Ejemplo de entity_id de sensor de movimiento:
binary_sensor.movimiento # Acceso en dashboard: # Estado | Historial | Acciones
Las automatizaciones son el núcleo funcional del sistema. Se definen mediante YAML con tres bloques principales: trigger (disparador), condition (condición) y action (acción).
trigger: - platform: state entity_id: binary_sensor.sensor_de_movimiento_crepuscular_wifi_movimiento to: "on" condition: [] action: - delay: "00:00:30" mode: single
El Dashboard es la interfaz principal de visualización y control. Su diseño busca claridad, accesibilidad y organización eficiente de la información.
Estructura básica del panel:
Mejoras visuales planificadas para aumentar la usabilidad y el atractivo del sistema. El objetivo es una mayor facilidad de uso mediante una interfaz más intuitiva.
Se valoró una integración con MySQL para mejorar el rendimiento del historial de estados. Home Assistant usa SQLite por defecto, pero para proyectos más grandes se recomienda MySQL o MariaDB.
El sistema está diseñado con escalabilidad en mente. Las siguientes expansiones están identificadas como siguientes pasos lógicos del proyecto:
delay + mode: single para evitar ejecuciones paralelas.El proyecto DOMOTEC permitió comprender el funcionamiento de Home Assistant desde la instalación inicial hasta la automatización avanzada de dispositivos.
Trabajo futuro:
DOMOTEC demuestra que es posible construir un sistema domótico profesional, centralizado y escalable utilizando herramientas de código abierto como Home Assistant, con una curva de aprendizaje razonable y resultados muy satisfactorios.