2f7b1a0aa2
Prepare Home Assistant weather export to InfluxDB
113 lines
3.1 KiB
Markdown
113 lines
3.1 KiB
Markdown
# Home Assistant -> InfluxDB 3 -> Grafana
|
|
|
|
Ziel: Home Assistant schreibt ausgewaehlte Ecowitt- und Energiesensoren nach InfluxDB 3 Core. Grafana bleibt das Langzeit-Dashboard, Home Assistant bleibt die Automationszentrale.
|
|
|
|
## 1. InfluxDB fuer Home Assistant erreichbar machen
|
|
|
|
Der Stack haelt InfluxDB bewusst ohne Traefik-Route. Fuer Home Assistant wird nur der HTTP-Port `8181` auf einer internen LAN-Adresse veroeffentlicht.
|
|
|
|
In Komodo/Stack-Environment fuer `ops/grafana-influxdb` setzen:
|
|
|
|
```env
|
|
INFLUXDB_BIND_IP=192.168.178.X
|
|
```
|
|
|
|
`192.168.178.X` ist die LAN-IP des Docker-Hosts, auf dem `influxdb3-core` laeuft. Nicht `0.0.0.0` verwenden, wenn es nicht notwendig ist.
|
|
|
|
Danach den Stack neu deployen und von Home Assistant aus pruefen:
|
|
|
|
```bash
|
|
curl -I http://192.168.178.X:8181/health
|
|
```
|
|
|
|
## 2. Token fuer Home Assistant
|
|
|
|
Am besten einen eigenen Write-Token fuer Home Assistant verwenden. Fuer den ersten Test kann der bestehende Admin-Token funktionieren; langfristig sollte der HA-Token nur in die Datenbank `homelab` schreiben duerfen.
|
|
|
|
Den Token in Home Assistant eintragen:
|
|
|
|
```yaml
|
|
# /homeassistant/secrets.yaml
|
|
influxdb3_homeassistant_token: "apiv3_REPLACE_WITH_WRITE_TOKEN"
|
|
```
|
|
|
|
## 3. Home Assistant konfigurieren
|
|
|
|
Minimaler Startblock fuer `/homeassistant/configuration.yaml`:
|
|
|
|
```yaml
|
|
influxdb:
|
|
api_version: 2
|
|
ssl: false
|
|
host: 192.168.178.X
|
|
port: 8181
|
|
token: !secret influxdb3_homeassistant_token
|
|
organization: homelab
|
|
bucket: homelab
|
|
max_retries: 3
|
|
default_measurement: state
|
|
include:
|
|
entity_globs:
|
|
- sensor.*ecowitt*
|
|
- sensor.*gw*
|
|
- sensor.netzbezug_live
|
|
- sensor.ins_netz_live
|
|
- sensor.ins_haus_live
|
|
- sensor.pv_ueberschuss_live
|
|
- sensor.batterie_soc_live
|
|
- sensor.wallbox_leistung_live
|
|
- sensor.pv_produktion_heute
|
|
- sensor.wallbox_energie_heute
|
|
```
|
|
|
|
Die `sensor.*gw*`-Regel ist nur ein Startpunkt, weil Ecowitt-Gateways haeufig `gw...` im Entity-Namen haben. Nach dem ersten Export in Grafana pruefen und die Liste enger machen.
|
|
|
|
Nach dem Edit:
|
|
|
|
```bash
|
|
ha core check
|
|
ha core restart
|
|
```
|
|
|
|
## 4. Grafana Smoke-Test
|
|
|
|
In Grafana mit der bestehenden Datenquelle `InfluxDB 3 Core` eine SQL-Abfrage testen:
|
|
|
|
```sql
|
|
SHOW TABLES
|
|
```
|
|
|
|
Danach eine konkrete Tabelle pruefen. Home Assistant schreibt Measurements je nach Konfiguration und Entity-Typ; typische Tabellen sind `state`, `degC`, `%`, `W`, `kWh` oder aehnliche Measurement-Namen.
|
|
|
|
Beispiel fuer die ersten Werte:
|
|
|
|
```sql
|
|
SELECT *
|
|
FROM state
|
|
ORDER BY time DESC
|
|
LIMIT 20
|
|
```
|
|
|
|
## 5. Dashboard-Kandidaten
|
|
|
|
Sinnvolle Panels fuer das erste Wetter-Dashboard:
|
|
|
|
- Aussentemperatur und Luftfeuchte
|
|
- Luftdruck
|
|
- Windgeschwindigkeit und Boeen
|
|
- Regenrate und Regen heute
|
|
- UV und Solarstrahlung
|
|
- Batterielevel der Ecowitt-Sensoren
|
|
- PV-Ueberschuss vs. Wetter
|
|
- Wallbox-Leistung vs. PV-Ueberschuss
|
|
|
|
## 6. Erste Automationen
|
|
|
|
Home Assistant bleibt fuer Reaktionen zustaendig:
|
|
|
|
- Regen startet -> Dachfenster/Fenster pruefen
|
|
- Windboee ueber Grenzwert -> Markise/Rolllaeden schuetzen
|
|
- Frostwarnung -> Garten/Wasser/Auto-Hinweis
|
|
- Genug Regen heute -> Bewaesserung ueberspringen
|
|
- Ecowitt-Batterie niedrig -> ntfy/HA-Benachrichtigung
|