Fix SMA reporting negativ 0 value (#126)
This commit is contained in:
parent
bb0a7e6964
commit
a44f4242fa
3 changed files with 11 additions and 2 deletions
|
|
@ -109,7 +109,10 @@ func (sm *SMA) receive() {
|
|||
sm.updated = time.Now()
|
||||
}
|
||||
} else if power, ok := msg.Values[sma.ExportPower]; ok {
|
||||
sm.power = -power
|
||||
sm.power = 0
|
||||
if power > 0 {
|
||||
sm.power = -power
|
||||
}
|
||||
sm.updated = time.Now()
|
||||
} else if power, ok := msg.Values[sma.ImportPower]; ok {
|
||||
sm.power = power
|
||||
|
|
|
|||
|
|
@ -157,6 +157,8 @@ func (l *Listener) processMessage(src *net.UDPAddr, b []byte) (Telegram, error)
|
|||
Values: obisValues,
|
||||
}
|
||||
|
||||
// l.log.TRACE.Printf("recv %v", msg.Values)
|
||||
|
||||
return msg, nil
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -4,6 +4,8 @@ import (
|
|||
"net"
|
||||
"reflect"
|
||||
"testing"
|
||||
|
||||
"github.com/andig/evcc/util"
|
||||
)
|
||||
|
||||
func TestListenerProcessMessage(t *testing.T) {
|
||||
|
|
@ -186,7 +188,9 @@ func TestListenerProcessMessage(t *testing.T) {
|
|||
}
|
||||
for _, tc := range tests {
|
||||
t.Run(tc.name, func(t *testing.T) {
|
||||
l := &Listener{}
|
||||
l := &Listener{
|
||||
log: util.NewLogger("sma "),
|
||||
}
|
||||
|
||||
buffer := tc.response
|
||||
read := len(buffer)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue