SMA EM: use export register for energy (#23711)
This commit is contained in:
parent
4deb41ca42
commit
09d4d7aa9e
1 changed files with 5 additions and 2 deletions
|
|
@ -109,6 +109,9 @@ var _ api.MeterEnergy = (*SMA)(nil)
|
|||
// TotalEnergy implements the api.MeterEnergy interface
|
||||
func (sm *SMA) TotalEnergy() (float64, error) {
|
||||
values, err := sm.device.Values()
|
||||
if sm.scale < 0 {
|
||||
return sma.AsFloat(values[sunny.ActiveEnergyMinus]) / 3600000, err
|
||||
}
|
||||
return sma.AsFloat(values[sunny.ActiveEnergyPlus]) / 3600000, err
|
||||
}
|
||||
|
||||
|
|
@ -130,7 +133,7 @@ func (sm *SMA) Currents() (float64, float64, float64, error) {
|
|||
res[i] = util.SignFromPower(sma.AsFloat(values[id]), powers[i])
|
||||
}
|
||||
|
||||
return res[0], res[1], res[2], err
|
||||
return sm.scale * res[0], sm.scale * res[1], sm.scale * res[2], err
|
||||
}
|
||||
|
||||
var _ api.PhaseVoltages = (*SMA)(nil)
|
||||
|
|
@ -161,7 +164,7 @@ func (sm *SMA) Powers() (float64, float64, float64, error) {
|
|||
res[i] -= sma.AsFloat(values[id])
|
||||
}
|
||||
|
||||
return res[0], res[1], res[2], err
|
||||
return sm.scale * res[0], sm.scale * res[1], sm.scale * res[2], err
|
||||
}
|
||||
|
||||
// soc implements the api.Battery interface
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue