diff --git a/api/error.go b/api/error.go index 77b674311..97c17f81a 100644 --- a/api/error.go +++ b/api/error.go @@ -8,6 +8,9 @@ var ErrNotAvailable = errors.New("not available") // ErrMustRetry indicates that a rate-limited operation should be retried var ErrMustRetry = errors.New("must retry") +// ErrSponsorRequired indicates that a sponsor token is required +var ErrSponsorRequired = errors.New("sponsorship required, see https://github.com/andig/evcc#sponsorship") + // ErrTimeout is the error returned when a timeout happened. // Modeled after context.DeadlineError var ErrTimeout error = errTimeoutError{} diff --git a/charger/abl.go b/charger/abl.go index 8f0b0334f..5cd36b721 100644 --- a/charger/abl.go +++ b/charger/abl.go @@ -2,7 +2,6 @@ package charger import ( "encoding/binary" - "errors" "fmt" "github.com/andig/evcc/api" @@ -59,7 +58,7 @@ func NewABLeMH(uri, device, comset string, baudrate int, slaveID uint8) (api.Cha } if !sponsor.IsAuthorized() { - return nil, errors.New("abl requires evcc sponsorship, register at https://cloud.evcc.io") + return nil, api.ErrSponsorRequired } log := util.NewLogger("abl") diff --git a/charger/easee.go b/charger/easee.go index 2dc569b52..9a1cfb5a9 100644 --- a/charger/easee.go +++ b/charger/easee.go @@ -1,7 +1,6 @@ package charger import ( - "errors" "fmt" "net/http" "time" @@ -58,7 +57,7 @@ func NewEasee(user, password, charger string, circuit int, cache time.Duration) log := util.NewLogger("easee") if !sponsor.IsAuthorized() { - return nil, errors.New("easee requires evcc sponsorship, register at https://cloud.evcc.io") + return nil, api.ErrSponsorRequired } c := &Easee{ diff --git a/charger/heidelberg-ec.go b/charger/heidelberg-ec.go index 28ff68706..3deb56c47 100644 --- a/charger/heidelberg-ec.go +++ b/charger/heidelberg-ec.go @@ -2,7 +2,6 @@ package charger import ( "encoding/binary" - "errors" "fmt" "github.com/andig/evcc/api" @@ -58,7 +57,7 @@ func NewHeidelbergEC(uri, device, comset string, baudrate int, slaveID uint8) (a } if !sponsor.IsAuthorized() { - return nil, errors.New("heidelberg requires evcc sponsorship, register at https://cloud.evcc.io") + return nil, api.ErrSponsorRequired } log := util.NewLogger("hec") diff --git a/vehicle/tronity.go b/vehicle/tronity.go index 24adcf803..891732357 100644 --- a/vehicle/tronity.go +++ b/vehicle/tronity.go @@ -53,7 +53,7 @@ func NewTronityFromConfig(other map[string]interface{}) (api.Vehicle, error) { } if !sponsor.IsAuthorized() { - return nil, errors.New("tronity requires evcc sponsorship, register at https://cloud.evcc.io") + return nil, api.ErrSponsorRequired } // authenticated http client with logging injected to the tronity client