diff --git a/core/site.go b/core/site.go index 4485fe70d..55cbf83c5 100644 --- a/core/site.go +++ b/core/site.go @@ -455,7 +455,7 @@ func (site *Site) update(lp Updater) { // TODO: use energy instead of current power for better results deltaCharged, deltaSelf := site.savings.Update(site, site.gridPower, site.pvPower, site.batteryPower, totalChargePower) if telemetry.Enabled && totalChargePower > standbyPower { - go telemetry.ChargeProgress(site.log, totalChargePower, deltaCharged, deltaSelf) + go telemetry.UpdateChargeProgress(site.log, totalChargePower, deltaCharged, deltaSelf) } } diff --git a/util/telemetry/charging.go b/util/telemetry/charging.go index 8730201c4..6608c14b6 100644 --- a/util/telemetry/charging.go +++ b/util/telemetry/charging.go @@ -24,15 +24,12 @@ func Create(token string) error { return nil } -func ChargeProgress(log *util.Logger, power, deltaCharged, deltaGreen float64) { +func UpdateChargeProgress(log *util.Logger, power, deltaCharged, deltaGreen float64) { log.DEBUG.Printf("telemetry: charge: Δ%.0f/%.0fWh @ %.0fW", deltaGreen*1e3, deltaCharged*1e3, power) - data := struct { - ChargePower float64 `json:"chargePower"` - ChargeEnergy float64 `json:"chargeEnergy"` - GreenEnergy float64 `json:"greenEnergy"` - }{ + data := ChargeProgress{ ChargePower: power, + GreenPower: power * deltaGreen / deltaCharged, ChargeEnergy: deltaCharged, GreenEnergy: deltaGreen, } diff --git a/util/telemetry/types.go b/util/telemetry/types.go new file mode 100644 index 000000000..62e429c69 --- /dev/null +++ b/util/telemetry/types.go @@ -0,0 +1,8 @@ +package telemetry + +type ChargeProgress struct { + ChargePower float64 `json:"chargePower"` + GreenPower float64 `json:"greenPower"` + ChargeEnergy float64 `json:"chargeEnergy"` + GreenEnergy float64 `json:"greenEnergy"` +}