Add go-e wallbox charger integration

- charger.go: polls go-e /api/status?filter=nrg,eto every 10 s
- db.go: WriteCharger() inserts into charger hypertable
- config.go: ChargerConf with host field
- main.go: polls charger in parallel with inverter and meters
- schema.sql: charger table + charger_10m/1h/daily aggregates + policies

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-18 11:30:59 +02:00
parent 8295d1cf47
commit 62ffd06444
5 changed files with 135 additions and 16 deletions

8
db.go
View File

@@ -50,6 +50,14 @@ func (db *DB) WriteMeter(ctx context.Context, t time.Time, r MeterReading) error
return err
}
func (db *DB) WriteCharger(ctx context.Context, r ChargerReading) error {
_, err := db.pool.Exec(ctx,
`INSERT INTO charger (time, power, eto_wh) VALUES ($1, $2, $3)`,
r.Time, r.Power, r.EtoWh,
)
return err
}
func (db *DB) Close() {
db.pool.Close()
}