chore: simplify

This commit is contained in:
andig 2023-10-18 23:04:41 +02:00
parent c171d37dff
commit 387ce26d6b
2 changed files with 22 additions and 23 deletions

View file

@ -126,8 +126,7 @@ func (nrg *NRGKickBLE) connect() (*device.Device1, error) {
return nil, fmt.Errorf("find device: %s", err)
}
err = ble.Connect(dev, nrg.agent, nrg.device)
if err != nil {
if err := ble.Connect(dev, nrg.agent, nrg.device); err != nil {
return nil, err
}
@ -249,7 +248,7 @@ func (nrg *NRGKickBLE) Enabled() (bool, error) {
// Enable implements the api.Charger interface
func (nrg *NRGKickBLE) Enable(enable bool) error {
res := ble.Info{}
var res ble.Info
if err := nrg.read(ble.InfoService, &res); err != nil {
return err
}
@ -276,7 +275,7 @@ func (nrg *NRGKickBLE) Enable(enable bool) error {
// MaxCurrent implements the api.Charger interface
func (nrg *NRGKickBLE) MaxCurrent(current int64) error {
res := ble.Info{}
var res ble.Info
if err := nrg.read(ble.InfoService, &res); err != nil {
return err
}
@ -293,7 +292,7 @@ var _ api.Meter = (*NRGKickBLE)(nil)
// CurrentPower implements the api.Meter interface
func (nrg *NRGKickBLE) CurrentPower() (float64, error) {
res := ble.Power{}
var res ble.Power
if err := nrg.read(ble.PowerService, &res); err != nil {
return 0, err
}
@ -307,7 +306,7 @@ var _ api.MeterEnergy = (*NRGKickBLE)(nil)
// TotalEnergy implements the api.MeterEnergy interface
func (nrg *NRGKickBLE) TotalEnergy() (float64, error) {
res := ble.Energy{}
var res ble.Energy
if err := nrg.read(ble.EnergyService, &res); err != nil {
return 0, err
}
@ -321,7 +320,7 @@ var _ api.PhaseCurrents = (*NRGKickBLE)(nil)
// Currents implements the api.PhaseCurrents interface
func (nrg *NRGKickBLE) Currents() (float64, float64, float64, error) {
res := ble.VoltageCurrent{}
var res ble.VoltageCurrent
if err := nrg.read(ble.VoltageCurrentService, &res); err != nil {
return 0, 0, 0, err
}

View file

@ -87,27 +87,27 @@ func (nrg *NRGKickConnect) apiURL(api string) string {
func (nrg *NRGKickConnect) putJSON(url string, data interface{}) error {
req, err := request.New(http.MethodPut, url, request.MarshalJSON(data), request.JSONEncoding)
if err != nil {
return err
}
if err == nil {
var res struct {
Message string
}
var res struct {
Message string
}
if err = nrg.DoJSON(req, &res); err != nil {
if err == io.EOF {
err = nil
} else if res.Message != "" {
return errors.New(res.Message)
}
}
if err == nil {
nrg.settingsG.Reset()
nrg.measurementsG.Reset()
if err := nrg.DoJSON(req, &res); err != nil {
switch {
case res.Message != "":
return errors.New(res.Message)
case err != io.EOF:
return err
}
}
return err
nrg.settingsG.Reset()
nrg.measurementsG.Reset()
return nil
}
// Status implements the api.Charger interface