From 33d9c3bddba1744eee9a7716f47f6bc3b375c36d Mon Sep 17 00:00:00 2001 From: andig Date: Mon, 15 Jun 2026 09:55:30 +0200 Subject: [PATCH] EEBus: treat unavailable measurement data as not available (#30874) --- meter/eebus.go | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/meter/eebus.go b/meter/eebus.go index 383951c7b..f06a6ec0e 100644 --- a/meter/eebus.go +++ b/meter/eebus.go @@ -154,8 +154,10 @@ func eebusReadValue[T any](uc eebusapi.UseCaseBaseInterface, entity spineapi.Ent res, err := update(entity) if err != nil { - // announced but not provided - if errors.Is(err, eebusapi.ErrDataNotAvailable) { + // scenario announced but no usable value yet + if errors.Is(err, eebusapi.ErrDataNotAvailable) || + errors.Is(err, eebusapi.ErrMetadataNotAvailable) || + errors.Is(err, eebusapi.ErrDataInvalid) { err = api.ErrNotAvailable } return zero, err @@ -188,10 +190,6 @@ func (c *EEBus) readPhases(scenario uint, update func(entity spineapi.EntityRemo res, err := eebusReadValue(c.mm, c.maEntity, scenario, update) if err != nil { - // announced but not provided - if errors.Is(err, eebusapi.ErrDataNotAvailable) { - err = api.ErrNotAvailable - } return 0, 0, 0, err }