Fix instantiating meters referenced only by circuits (#31788)
This commit is contained in:
parent
5246b84f94
commit
0e62646cd8
1 changed files with 22 additions and 0 deletions
22
cmd/refs.go
22
cmd/refs.go
|
|
@ -29,6 +29,11 @@ func collectRefs(conf globalconfig.All) error {
|
|||
return err
|
||||
}
|
||||
|
||||
// circuits
|
||||
if err := collectCircuitRefs(conf.Circuits); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// loadpoints
|
||||
if err := collectLoadpointRefs(slices.Values(conf.Loadpoints)); err != nil {
|
||||
return err
|
||||
|
|
@ -131,3 +136,20 @@ func collectLoadpointRefs(named iter.Seq[config.Named]) error {
|
|||
|
||||
return nil
|
||||
}
|
||||
|
||||
func collectCircuitRefs(circuits []config.Named) error {
|
||||
for _, cc := range circuits {
|
||||
var refs struct {
|
||||
MeterRef string `mapstructure:"meter"` // Circuit meter reference
|
||||
Other map[string]any `mapstructure:",remain"`
|
||||
}
|
||||
|
||||
if err := util.DecodeOther(cc.Other, &refs); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
references.meter = append(references.meter, refs.MeterRef)
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue