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 }