Allow configuring modbus connection timeout (#613)

This commit is contained in:
andig 2021-01-25 17:23:42 +01:00 • committed by GitHub
parent a0cafefb6a
commit 4e5376df1c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -3,6 +3,7 @@ package meter
import (
"errors"
"fmt"
"time"
"github.com/andig/evcc/api"
"github.com/andig/evcc/util"
@ -34,6 +35,7 @@ func NewModbusFromConfig(other map[string]interface{}) (api.Meter, error) {
Model string
modbus.Settings `mapstructure:",squash"`
Power, Energy, SoC string
Timeout time.Duration
}{
Power: "Power",
}
@ -55,6 +57,11 @@ func NewModbusFromConfig(other map[string]interface{}) (api.Meter, error) {
return nil, err
}
// set non-default timeout
if cc.Timeout > 0 {
conn.Timeout(cc.Timeout)
}
conn.Logger(log.TRACE)
// prepare device