Files
homelab-infra/smart-home
Micha 76b9ffa140 feat: add lan-only host bind for ecowitt http push
Ecowitt GW3000 kann kein HTTPS und pusht per HTTP an den HA-Webhook.
HA bekommt einen LAN-only Host-Bind 192.168.178.58:8123 (nicht WAN),
analog zur dokumentierten InfluxDB-8181-Ausnahme. Kein Traefik-Umbau
des globalen HTTP-Redirects noetig, da Ecowitt rein im LAN pusht.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-13 10:02:46 +02:00
..

Smart Home Runtime Stack

Runtime-Zustand fuer Home Assistant auf Kallilabcore. Dieser Ordner gehoert zu homelab-infra, weil Komodo den Stack deployt und Renovate die Images pflegt.

Dienste

  • homeassistant: Home Assistant Container, erreichbar ueber Traefik unter https://home.kaleschke.info
  • smarthome-mosquitto: interner MQTT-Broker fuer Home Assistant, spaeter Zigbee2MQTT und ESPHome

Abhaengigkeiten

  • frontend_net existiert bereits und wird von Traefik genutzt.
  • smarthome_net wird durch diesen Stack angelegt und ist internal: true.
  • Das Fachrepo smart-home-kalli muss auf dem Unraid-Host unter /mnt/user/services/smart-home-kalli liegen. Nur ausgewählte YAML-Dateien werden read-only nach /config gemountet; .storage bleibt in /mnt/user/appdata/homeassistant.
  • Vor dem ersten Start muessen diese Dateien hostseitig angelegt werden:
    • /mnt/user/appdata/homeassistant/secrets.yaml
    • /mnt/user/appdata/homeassistant/trusted_proxies.yaml
    • /mnt/user/appdata/mosquitto/config/passwordfile
    • /mnt/user/appdata/mosquitto/config/aclfile

Das detaillierte Host-Bootstrap-Runbook liegt unter docs/runbooks/smart-home-bootstrap.md.

MQTT Bootstrap

Beispiel fuer den initialen Home-Assistant-MQTT-User auf dem Unraid-Host:

mkdir -p /mnt/user/appdata/mosquitto/config
docker run --rm -it \
  -v /mnt/user/appdata/mosquitto/config:/mosquitto/external_config \
  eclipse-mosquitto:2.0.22 \
  mosquitto_passwd -c /mosquitto/external_config/passwordfile homeassistant
cat > /mnt/user/appdata/mosquitto/config/aclfile <<'EOF'
user homeassistant
topic readwrite #
EOF

LAN-Port 1883 bleibt in Phase 1 geschlossen. Eine Portfreigabe fuer externe MQTT-Clients wird erst in der ESPHome-Phase mit ACLs und per-Device-Usern ergaenzt.

Ecowitt

Ecowitt wird nicht in Phase 1 exponiert. Wegen des globalen Traefik HTTP-zu-HTTPS-Redirects bleibt die Ingress-Entscheidung offen:

  1. Traefik-HTTP-Ausnahme nur fuer den Ecowitt-Webhook, falls der globale EntryPoint-Redirect gezielt abloesbar ist.
  2. Dokumentierter LAN-only Host-Port 8123 als Fallback, wenn Option 1 den bestehenden Traefik-Standard zu stark verbiegt.