evcc-io/provider/helper.go
andig 7a0390c434
Some checks failed
Release / call-build-workflow (push) Has been cancelled
Release / Publish Docker :release (push) Has been cancelled
Release / Github & APT (push) Has been cancelled
Release / Demo (push) Has been cancelled
Release / Hassio Addon (push) Has been cancelled
Plugins: allow returning known error values as string (#14451)
2024-06-23 22:25:09 +02:00

33 lines
724 B
Go

package provider
import (
"fmt"
"github.com/evcc-io/evcc/api"
"github.com/evcc-io/evcc/util"
)
// setFormattedValue formats a message template or returns the value formatted as %v if the message template is empty
func setFormattedValue(message, param string, v interface{}) (string, error) {
if message == "" {
return fmt.Sprintf("%v", v), nil
}
return util.ReplaceFormatted(message, map[string]interface{}{
param: v,
})
}
// knownErrors maps string responses to known error codes
func knownErrors(b []byte) error {
switch string(b) {
case "ErrAsleep":
return api.ErrAsleep
case "ErrMustRetry":
return api.ErrMustRetry
case "ErrNotAvailable":
return api.ErrNotAvailable
default:
return nil
}
}