Skip to content

Commit

Permalink
chore: rename modbus meter to mbmd (evcc-io#11665)
Browse files Browse the repository at this point in the history
  • Loading branch information
andig committed Jan 15, 2024
1 parent a2e72e7 commit 5a70b21
Show file tree
Hide file tree
Showing 23 changed files with 239 additions and 239 deletions.
2 changes: 1 addition & 1 deletion evcc.dist.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ modbusproxy:
# for documentation see https://docs.evcc.io/docs/devices/meters
meters:
- name: grid
type: modbus
type: mbmd
model: sdm # SDM630
uri: rs485.fritz.box:23
rtu: true # rs485 device connected using ethernet adapter
Expand Down
26 changes: 13 additions & 13 deletions meter/modbus.go → meter/mbmd.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ import (
"github.com/volkszaehler/mbmd/meters/sunspec"
)

// Modbus is an api.Meter implementation with configurable getters and setters.
type Modbus struct {
// ModbusMbmd is an api.Meter implementation with configurable getters and setters.
type ModbusMbmd struct {
conn *modbus.Connection
device meters.Device
opPower modbus.Operation
Expand All @@ -23,13 +23,13 @@ type Modbus struct {
}

func init() {
registry.Add("modbus", NewModbusFromConfig)
registry.Add("mbmd", NewModbusMbmdFromConfig)
}

//go:generate go run ../cmd/tools/decorate.go -f decorateModbus -b api.Meter -t "api.MeterEnergy,TotalEnergy,func() (float64, error)" -t "api.PhaseCurrents,Currents,func() (float64, float64, float64, error)" -t "api.PhaseVoltages,Voltages,func() (float64, float64, float64, error)" -t "api.PhasePowers,Powers,func() (float64, float64, float64, error)" -t "api.Battery,Soc,func() (float64, error)" -t "api.BatteryCapacity,Capacity,func() float64"
//go:generate go run ../cmd/tools/decorate.go -f decorateModbusMbmd -b api.Meter -t "api.MeterEnergy,TotalEnergy,func() (float64, error)" -t "api.PhaseCurrents,Currents,func() (float64, float64, float64, error)" -t "api.PhaseVoltages,Voltages,func() (float64, float64, float64, error)" -t "api.PhasePowers,Powers,func() (float64, float64, float64, error)" -t "api.Battery,Soc,func() (float64, error)" -t "api.BatteryCapacity,Capacity,func() float64"

// NewModbusFromConfig creates api.Meter from config
func NewModbusFromConfig(other map[string]interface{}) (api.Meter, error) {
// NewModbusMbmdFromConfig creates api.Meter from config
func NewModbusMbmdFromConfig(other map[string]interface{}) (api.Meter, error) {
cc := struct {
Model string
capacity `mapstructure:",squash"`
Expand Down Expand Up @@ -91,7 +91,7 @@ func NewModbusFromConfig(other map[string]interface{}) (api.Meter, error) {
return nil, err
}

m := &Modbus{
m := &ModbusMbmd{
conn: conn,
device: device,
}
Expand Down Expand Up @@ -138,10 +138,10 @@ func NewModbusFromConfig(other map[string]interface{}) (api.Meter, error) {
soc = m.soc
}

return decorateModbus(m, totalEnergy, currentsG, voltagesG, powersG, soc, cc.capacity.Decorator()), nil
return decorateModbusMbmd(m, totalEnergy, currentsG, voltagesG, powersG, soc, cc.capacity.Decorator()), nil
}

func (m *Modbus) buildPhaseProviders(readings []string) (func() (float64, float64, float64, error), error) {
func (m *ModbusMbmd) buildPhaseProviders(readings []string) (func() (float64, float64, float64, error), error) {
var res func() (float64, float64, float64, error)
if len(readings) > 0 {
if len(readings) != 3 {
Expand Down Expand Up @@ -170,7 +170,7 @@ func (m *Modbus) buildPhaseProviders(readings []string) (func() (float64, float6
}

// floatGetter executes configured modbus read operation and implements func() (float64, error)
func (m *Modbus) floatGetter(op modbus.Operation) (float64, error) {
func (m *ModbusMbmd) floatGetter(op modbus.Operation) (float64, error) {
var res meters.MeasurementResult
var err error

Expand Down Expand Up @@ -201,16 +201,16 @@ func (m *Modbus) floatGetter(op modbus.Operation) (float64, error) {
}

// CurrentPower implements the api.Meter interface
func (m *Modbus) CurrentPower() (float64, error) {
func (m *ModbusMbmd) CurrentPower() (float64, error) {
return m.floatGetter(m.opPower)
}

// totalEnergy implements the api.MeterEnergy interface
func (m *Modbus) totalEnergy() (float64, error) {
func (m *ModbusMbmd) totalEnergy() (float64, error) {
return m.floatGetter(m.opEnergy)
}

// soc implements the api.Battery interface
func (m *Modbus) soc() (float64, error) {
func (m *ModbusMbmd) soc() (float64, error) {
return m.floatGetter(m.opSoc)
}
Loading

0 comments on commit 5a70b21

Please sign in to comment.