MBMD: add returnEnergy support (#30514)

This commit is contained in:
premultiply 2026-06-04 23:32:02 +02:00 • committed by GitHub
parent 380416e3e1
commit aaed8c24a3
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
24 changed files with 56 additions and 0 deletions

View file

@ -35,6 +35,7 @@ func NewMbmdFromConfig(ctx context.Context, other map[string]any) (api.Meter, er
batterySocLimits `mapstructure:",squash"`
modbus.Settings `mapstructure:",squash"`
Power, Energy, Soc string
ReturnEnergy string
Currents []string
Voltages []string
Powers []string
@ -103,6 +104,15 @@ func NewMbmdFromConfig(ctx context.Context, other map[string]any) (api.Meter, er
implement.Has(m, implement.MeterEnergy(totalEnergy))
}
// decorate return energy
if cc.ReturnEnergy != "" {
returnEnergy, err := mbmd.deviceOp(ops, cc.ReturnEnergy)
if err != nil {
return nil, fmt.Errorf("invalid measurement for returnenergy: %s", cc.ReturnEnergy)
}
implement.Has(m, implement.MeterReturnEnergy(returnEnergy))
}
// decorate soc
if cc.Soc != "" {
soc, err := mbmd.deviceOp(ops, cc.Soc)

View file

@ -24,6 +24,7 @@ render: |
{{- if ne .usage "pv" }}
power: Power
energy: Import
returnenergy: Export
currents:
- CurrentL1
- CurrentL2
@ -35,6 +36,7 @@ render: |
{{- else }}
power: -Power
energy: Export
returnenergy: Import
currents:
- -CurrentL1
- -CurrentL2

View file

@ -15,6 +15,7 @@ render: |
{{- if ne .usage "pv" }}
power: Power
energy: Import
returnenergy: Export
currents:
- CurrentL1
- CurrentL2
@ -26,6 +27,7 @@ render: |
{{- else }}
power: -Power
energy: Export
returnenergy: Import
currents:
- -CurrentL1
- -CurrentL2

View file

@ -24,6 +24,7 @@ render: |
{{- if ne .usage "pv" }}
power: Power
energy: Import
returnenergy: Export
currents:
- CurrentL1
- CurrentL2
@ -35,6 +36,7 @@ render: |
{{- else }}
power: -Power
energy: Export
returnenergy: Import
currents:
- -CurrentL1
- -CurrentL2

View file

@ -26,6 +26,7 @@ render: |
{{- if ne .usage "pv" }}
power: Power
energy: Import
returnenergy: Export
currents:
- CurrentL1
- CurrentL2
@ -37,6 +38,7 @@ render: |
{{- else }}
power: -Power
energy: Export
returnenergy: Import
currents:
- -CurrentL1
- -CurrentL2

View file

@ -30,6 +30,7 @@ render: |
{{- if ne .usage "pv" }}
power: Power
energy: Import
returnenergy: Export
currents:
- CurrentL1
- CurrentL2
@ -41,6 +42,7 @@ render: |
{{- else }}
power: -Power
energy: Export
returnenergy: Import
currents:
- -CurrentL1
- -CurrentL2

View file

@ -15,6 +15,7 @@ render: |
{{- if ne .usage "pv" }}
power: ImportPower
energy: Import
returnenergy: Export
currents:
- CurrentL1
- CurrentL2
@ -22,6 +23,7 @@ render: |
{{- else }}
power: -ExportPower
energy: Export
returnenergy: Import
currents:
- -CurrentL1
- -CurrentL2

View file

@ -21,7 +21,9 @@ render: |
{{- if ne .usage "pv" }}
power: Power
energy: Import
returnenergy: Export
{{- else }}
power: -Power
energy: Export
returnenergy: Import
{{- end }}

View file

@ -15,6 +15,7 @@ render: |
{{- if ne .usage "pv" }}
power: Power
energy: Import
returnenergy: Export
currents:
- CurrentL1
- CurrentL2
@ -26,6 +27,7 @@ render: |
{{- else }}
power: -Power
energy: Export
returnenergy: Import
currents:
- -CurrentL1
- -CurrentL2

View file

@ -15,7 +15,9 @@ render: |
{{- if ne .usage "pv" }}
power: Power
energy: Import
returnenergy: Export
{{- else }}
power: -Power
energy: Export
returnenergy: Import
{{- end }}

View file

@ -27,6 +27,7 @@ render: |
{{- if ne .usage "pv" }}
power: Power
energy: Import
returnenergy: Export
currents:
- CurrentL1
- CurrentL2
@ -38,6 +39,7 @@ render: |
{{- else }}
power: -Power
energy: Export
returnenergy: Import
currents:
- -CurrentL1
- -CurrentL2

View file

@ -15,6 +15,7 @@ render: |
{{- if ne .usage "pv" }}
power: Power
energy: Import
returnenergy: Export
currents:
- CurrentL1
- CurrentL2
@ -26,6 +27,7 @@ render: |
{{- else }}
power: -Power
energy: Export
returnenergy: Import
currents:
- -CurrentL1
- -CurrentL2

View file

@ -15,7 +15,9 @@ render: |
{{- if ne .usage "pv" }}
power: Power
energy: Import
returnenergy: Export
{{- else }}
power: -Power
energy: Export
returnenergy: Import
{{- end }}

View file

@ -15,6 +15,7 @@ render: |
{{- if ne .usage "pv" }}
power: Power
energy: Import
returnenergy: Export
currents:
- CurrentL1
- CurrentL2
@ -26,6 +27,7 @@ render: |
{{- else }}
power: -Power
energy: Export
returnenergy: Import
currents:
- -CurrentL1
- -CurrentL2

View file

@ -15,6 +15,7 @@ render: |
{{- if ne .usage "pv" }}
power: Power
energy: Import
returnenergy: Export
currents:
- CurrentL1
- CurrentL2
@ -26,6 +27,7 @@ render: |
{{- else }}
power: -Power
energy: Export
returnenergy: Import
currents:
- -CurrentL1
- -CurrentL2

View file

@ -18,6 +18,7 @@ render: |
{{- if ne .usage "pv" }}
power: Power
energy: Import
returnenergy: Export
currents:
- CurrentL1
- CurrentL2
@ -29,6 +30,7 @@ render: |
{{- else }}
power: -Power
energy: Export
returnenergy: Import
currents:
- -CurrentL1
- -CurrentL2

View file

@ -15,6 +15,7 @@ render: |
{{- if ne .usage "pv" }}
power: Power
energy: Import
returnenergy: Export
currents:
- CurrentL1
- CurrentL2
@ -26,6 +27,7 @@ render: |
{{- else }}
power: -Power
energy: Export
returnenergy: Import
currents:
- -CurrentL1
- -CurrentL2

View file

@ -18,7 +18,9 @@ render: |
{{- if ne .usage "pv" }}
power: Power
energy: Import
returnenergy: Export
{{- else }}
power: -Power
energy: Export
returnenergy: Import
{{- end }}

View file

@ -19,6 +19,7 @@ render: |
{{- if ne .usage "pv" }}
power: Power
energy: Import
returnenergy: Export
currents:
- CurrentL1
- CurrentL2
@ -30,6 +31,7 @@ render: |
{{- else }}
power: -Power
energy: Export
returnenergy: Import
currents:
- -CurrentL1
- -CurrentL2

View file

@ -18,6 +18,7 @@ render: |
{{- if ne .usage "pv" }}
power: Power
energy: Import
returnenergy: Export
currents:
- CurrentL1
- CurrentL2
@ -29,6 +30,7 @@ render: |
{{- else }}
power: -Power
energy: Export
returnenergy: Import
currents:
- -CurrentL1
- -CurrentL2

View file

@ -15,6 +15,7 @@ render: |
{{- if ne .usage "pv" }}
power: Power
energy: Import
returnenergy: Export
currents:
- CurrentL1
- CurrentL2
@ -26,6 +27,7 @@ render: |
{{- else }}
power: -Power
energy: Export
returnenergy: Import
currents:
- -CurrentL1
- -CurrentL2

View file

@ -15,6 +15,7 @@ render: |
{{- if ne .usage "pv" }}
power: Power
energy: Import
returnenergy: Export
currents:
- CurrentL1
- CurrentL2
@ -26,6 +27,7 @@ render: |
{{- else }}
power: -Power
energy: Export
returnenergy: Import
currents:
- -CurrentL1
- -CurrentL2

View file

@ -15,6 +15,7 @@ render: |
{{- if ne .usage "pv" }}
power: Power
energy: Import
returnenergy: Export
currents:
- CurrentL1
- CurrentL2
@ -26,6 +27,7 @@ render: |
{{- else }}
power: -Power
energy: Export
returnenergy: Import
currents:
- -CurrentL1
- -CurrentL2

View file

@ -15,6 +15,7 @@ render: |
{{- if ne .usage "pv" }}
power: Power
energy: Import
returnenergy: Export
currents:
- CurrentL1
- CurrentL2
@ -26,6 +27,7 @@ render: |
{{- else }}
power: -Power
energy: Export
returnenergy: Import
currents:
- -CurrentL1
- -CurrentL2