Modbus: streamline tcp configuration (#2783)

This commit is contained in:
andig 2022-03-05 12:15:44 +01:00 • committed by GitHub
parent 72ff52f7b4
commit d18d895a08
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 20 additions and 24 deletions

View file

@ -58,7 +58,7 @@ func init() {
// NewAlfenFromConfig creates a Alfen charger from generic config
func NewAlfenFromConfig(other map[string]interface{}) (api.Charger, error) {
cc := modbus.Settings{
cc := modbus.TcpSettings{
ID: 1,
}

View file

@ -50,7 +50,7 @@ func init() {
// NewAmtronFromConfig creates a Mennekes Amtron charger from generic config
func NewAmtronFromConfig(other map[string]interface{}) (api.Charger, error) {
cc := modbus.Settings{
cc := modbus.TcpSettings{
ID: 0xff,
}

View file

@ -28,10 +28,7 @@ func init() {
// NewCfosPowerBrainFromConfig creates a cFos charger from generic config
func NewCfosPowerBrainFromConfig(other map[string]interface{}) (api.Charger, error) {
cc := struct {
URI string
ID uint8
}{
cc := modbus.TcpSettings{
ID: 1,
}

View file

@ -56,10 +56,7 @@ func init() {
// NewInnogyFromConfig creates a Innogy charger from generic config
func NewInnogyFromConfig(other map[string]interface{}) (api.Charger, error) {
cc := struct {
URI string
ID uint8
}{
cc := modbus.TcpSettings{
ID: 1,
}

View file

@ -60,10 +60,7 @@ func init() {
// NewVestelFromConfig creates a Vestel charger from generic config
func NewVestelFromConfig(other map[string]interface{}) (api.Charger, error) {
cc := struct {
URI string
ID uint8
}{
cc := modbus.TcpSettings{
ID: 255,
}
@ -75,8 +72,8 @@ func NewVestelFromConfig(other map[string]interface{}) (api.Charger, error) {
}
// NewVestel creates a Vestel charger
func NewVestel(uri string, slaveID uint8) (*Vestel, error) {
conn, err := modbus.NewConnection(uri, "", "", 0, modbus.Tcp, slaveID)
func NewVestel(uri string, id uint8) (*Vestel, error) {
conn, err := modbus.NewConnection(uri, "", "", 0, modbus.Tcp, id)
if err != nil {
return nil, err
}

View file

@ -85,7 +85,7 @@ func init() {
// NewWebastoLiveFromConfig creates a WebastoLive charger from generic config
func NewWebastoLiveFromConfig(other map[string]interface{}) (api.Charger, error) {
cc := modbus.Settings{
cc := modbus.TcpSettings{
ID: 255,
}
@ -93,12 +93,12 @@ func NewWebastoLiveFromConfig(other map[string]interface{}) (api.Charger, error)
return nil, err
}
return NewWebastoLive(cc.URI, cc.Device, cc.Comset, cc.Baudrate, modbus.ProtocolFromRTU(cc.RTU), cc.ID)
return NewWebastoLive(cc.URI, cc.ID)
}
// NewWebastoLive creates WebastoLive charger
func NewWebastoLive(uri, device, comset string, baudrate int, proto modbus.Protocol, slaveID uint8) (api.Charger, error) {
conn, err := modbus.NewConnection(uri, device, comset, baudrate, proto, slaveID)
func NewWebastoLive(uri string, id uint8) (api.Charger, error) {
conn, err := modbus.NewConnection(uri, "", "", 0, modbus.Tcp, id)
if err != nil {
return nil, err
}

View file

@ -28,10 +28,9 @@ func init() {
// NewCfosPowerBrainFromConfig creates a cFos meter from generic config
func NewCfosPowerBrainFromConfig(other map[string]interface{}) (api.Meter, error) {
cc := struct {
URI string
ID uint8
}{}
cc := modbus.TcpSettings{
ID: 1,
}
if err := util.DecodeOther(other, &cc); err != nil {
return nil, err

View file

@ -24,6 +24,12 @@ const (
CoilOn uint16 = 0xFF00
)
// Settings contains the ModBus TCP settings
type TcpSettings struct {
URI string
ID uint8
}
// Settings contains the ModBus settings
type Settings struct {
ID uint8