From 5738399a49ffb1430f51150d4e1134939342683b Mon Sep 17 00:00:00 2001 From: Michael Geers Date: Fri, 13 Feb 2026 12:57:51 +0100 Subject: [PATCH] Fix grid charging when tariff setup failed (#27384) --- tariff/tariffs.go | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/tariff/tariffs.go b/tariff/tariffs.go index b5a801735..3f88a1994 100644 --- a/tariff/tariffs.go +++ b/tariff/tariffs.go @@ -45,6 +45,11 @@ func Rates(t api.Tariff) api.Rates { } func (t *Tariffs) Get(u api.TariffUsage) api.Tariff { + // ensure tariff is not a wrapper + exists := func(t api.Tariff) bool { + return t != nil && t.Type() != 0 + } + switch u { case api.TariffUsageCo2: return t.Co2 @@ -58,15 +63,15 @@ func (t *Tariffs) Get(u api.TariffUsage) api.Tariff { // TODO solar case api.TariffUsagePlanner: switch { - case t.Planner != nil: + case exists(t.Planner): // prio 0: manually set planner tariff return t.Planner - case t.Grid != nil && t.Grid.Type() == api.TariffTypePriceForecast: + case exists(t.Grid) && t.Grid.Type() == api.TariffTypePriceForecast: // prio 1: grid tariff with forecast return t.Grid - case t.Co2 != nil: + case exists(t.Co2): // prio 2: co2 tariff return t.Co2