Saltar a contenido

ESPHome

Dashboard y compilador de firmware para dispositivos ESP8266/ESP32.

Resumen

ESPHome permite editar la configuración YAML, compilar el firmware y actualizarlo por OTA en los dispositivos ESP. Corre en k3s y solo es accesible desde la LAN, protegido por Authentik. Home Assistant sigue conectándose directamente a los dispositivos por su API nativa; no pasa por este dashboard.

Estado

Campo Valor
Estado Operativo
Argo CD Application esphome
Namespace esphome

Despliegue

Campo Valor
Método Manifests propios
Chart / imagen ghcr.io/esphome/esphome:2026.10.1
Origen clusters/luka/apps/esphome/, clusters/luka/config/esphome/
Config en el repo clusters/luka/config/esphome/ y blueprint de Authentik

Red

Campo Valor
Service esphome (ClusterIP)
IP —
Puertos 80 → 6052
URL interna https://esphome.local.gorkarevilla.com
URL externa — (solo LAN)
TLS wildcard cert-manager *.local.gorkarevilla.com

Acceso y usuarios

  • Usuarios/roles: Authentik forward-auth, grupo admins.
  • Sin auth propia: el dashboard no usa Basic; la frontera es Authentik.
  • Break-glass: kubectl -n esphome port-forward deploy/esphome 6052:6052 (queda sin auth; solo desde la LAN/SSH).
  • Credenciales: WiFi/API keys en secrets.yaml del PVC. Nunca en claro aquí.

Configuración

  • 1 réplica (0 durante la migración; 1 tras el PR 1b), strategy: Recreate, nodo kyrie.
  • args: ["dashboard", "/config"], TZ=Europe/Madrid.
  • Sin privileged ni hostNetwork.
  • use_address en los 3 YAML: gobot-ball → 192.168.50.209, termostato-knob → 192.168.50.213, toldo → 192.168.50.210.
  • El autodescubrimiento mDNS no funciona desde la red de pods; por eso las IPs fijas.
  • Requests 250m/512Mi; limits 2 CPU/2Gi.

Almacenamiento

  • PVC esphome-config, 8Gi, ReadWriteOnce, storageClassName: longhorn, protegido del prune (Prune=false,Delete=false).
  • Contiene YAMLs, secrets.yaml, .git y estado del dashboard. .esphome se regenera tras el primer build.

Dependencias

  • Depende de: Traefik, Authentik, Longhorn, cert-manager.
  • Usado por: Homepage (enlace), Uptime Kuma (monitor).

Backup y recuperación

  • Sin backup automático. YAMLs y secrets.yaml viven en el PVC; se recomienda copia manual de secrets.yaml en Vaultwarden. Restore: runbook legacy/migrar-servicio.md.

Monitorización

  • No expone métricas Prometheus nativas; no hay ServiceMonitor.
  • Uptime Kuma monitoriza http://esphome.esphome.svc.cluster.local/ (se actualiza en el PR 1b).

Referencias

Notas / TODO

  • NetworkPolicy para limitar el acceso al Service a Traefik (mejora futura).
  • Home Assistant se migrará en Fase 4; el dashboard no depende de ella.
  • Al añadir un ESP nuevo: reserva DHCP y añade use_address.
  • termostato-knob-despacho.yaml falla esphome config con 2026.10.1 por el esquema LVGL (indicator.value / end_angle); es un problema preexistente del YAML, no de la migración. Pendiente de corregir.