Home Assistant es la plataforma de domótica open source más popular. Corre en local (sin depender de servidores externos), soporta más de 3.000 integraciones y permite automatizar prácticamente cualquier dispositivo del hogar. En este artículo instalamos Home Assistant y creamos las primeras automatizaciones.
Instalación
Opción 1: Home Assistant OS (recomendado para Raspberry Pi)
Descarga la imagen para tu hardware desde https://www.home-assistant.io/installation/ y escríbela en la tarjeta SD:
dd if=haos_rpi4-64-12.x.img of=/dev/sdX bs=4M status=progress
Tras arrancar, accede a http://homeassistant.local:8123 y sigue el asistente de configuración inicial.
Opción 2: Home Assistant Container (Docker)
version: '3.8'
services:
homeassistant:
image: ghcr.io/home-assistant/home-assistant:stable
restart: unless-stopped
network_mode: host # necesario para descubrimiento automático de dispositivos
privileged: true
volumes:
- ./config:/config
- /etc/localtime:/etc/localtime:ro
environment:
TZ: Europe/Madrid
docker compose up -d
Conceptos clave
- Integración: conector para un dispositivo o servicio (Philips Hue, Google, MQTT, etc.)
- Entidad: un elemento concreto (bombilla de salón, sensor de temperatura del dormitorio)
- Automatización: regla «si A, entonces B» (si son las 22:00, apaga las luces del salón)
- Script: secuencia de acciones reutilizable
- Panel (Dashboard): vista personalizada con widgets (Lovelace)
Añadir dispositivos
La mayoría se añaden automáticamente por descubrimiento:
- Configuración → Dispositivos e integraciones → si hay dispositivos detectados, aparecerán para confirmar.
- Para añadir manualmente: + Añadir integración → busca el nombre del fabricante o protocolo.
Integraciones más comunes
mqtt:
broker: 192.168.1.100
port: 1883
sensor:
- platform: rest
resource: http://192.168.1.1/api/status
name: Router temperatura
value_template: "{{ value_json.temp }}"
unit_of_measurement: "°C"
scan_interval: 60
Crear automatizaciones
Desde la interfaz gráfica
Configuración → Automatizaciones y escenas → + Crear automatización:
Ejemplo: Encender luces al atardecer
- Disparador: Sol → Puesta de sol → Desplazamiento: -30 minutos
- Condición: (ninguna)
- Acción: Dispositivo → selecciona el grupo de luces → Encender
En YAML (más potente)
alias: "Luces bienvenida"
alias: "Puerta abierta demasiado tiempo"
alias: "Goodbye mode"
trigger:
- platform: device
device_id: abc123 # ID del móvil con app HA
domain: device_tracker
type: enters
zone: zone.home
condition:
- condition: sun
after: sunset
action:
- service: light.turn_on
target:
area_id: salon
data:
brightness_pct: 60
color_temp_kelvin: 3000
trigger:
- platform: state
entity_id: binary_sensor.puerta_entrada
to: "on"
for:
minutes: 10
action:
- service: notify.mobile_app_mi_movil
data:
title: "⚠️ Puerta abierta"
message: "La puerta lleva más de 10 minutos abierta"
trigger:
- platform: state
entity_id: group.all_persons
to: "not_home"
action:
- service: homeassistant.turn_off
target:
entity_id: all
- service: climate.set_hvac_mode
target:
entity_id: climate.salon
data:
hvac_mode: "off"
Dashboard personalizado (Lovelace)
views:
- title: Principal
cards:
- type: thermostat
entity: climate.salon
- type: entities
title: Luces
entities:
- light.salon
- light.cocina
- light.dormitorio
- type: history-graph
title: Temperatura hoy
entities:
- entity: sensor.temperatura_salon
hours_to_show: 24
- type: map
title: Ubicaciones
entities:
- device_tracker.mi_movil
- device_tracker.movil_pareja
Add-ons útiles (solo HA OS / Supervised)
Desde Configuración → Add-ons:
- File editor: editar archivos de configuración desde el navegador
- Mosquitto broker: servidor MQTT integrado para dispositivos IoT
- Zigbee2MQTT: soporte para dispositivos Zigbee (bombillas, sensores, enchufes)
- Node-RED: automatizaciones visuales con flujos
- Grafana: dashboards de historial de métricas
- DuckDNS + Let’s Encrypt: acceso remoto seguro con HTTPS
Home Assistant es el sistema de domótica más completo si valoras la privacidad y el control. Al correr todo localmente, sin suscripciones cloud, funciona incluso sin internet y tus datos no salen de casa. La curva de aprendizaje es real pero la comunidad es enorme: prácticamente cualquier caso de uso tiene documentación, blueprints y código de ejemplo disponible.