diff --git a/cmd/config.go b/cmd/config.go index 9b1927f37..0341d13fb 100644 --- a/cmd/config.go +++ b/cmd/config.go @@ -4,6 +4,7 @@ import ( "fmt" "net" "net/http" + "sort" "strconv" "strings" "time" @@ -21,6 +22,7 @@ import ( "github.com/evcc-io/evcc/vehicle/wrapper" "github.com/gorilla/handlers" "github.com/gorilla/mux" + "golang.org/x/exp/maps" ) type config struct { @@ -255,8 +257,14 @@ func (cp *ConfigProvider) webControl(conf networkConfig, router *mux.Router, par baseURI := conf.URI() baseAuthURI := fmt.Sprintf("%s/oauth", baseURI) + // stable map iteration + keys := maps.Keys(cp.vehicles) + sort.Strings(keys) + var id int - for _, v := range cp.vehicles { + for _, k := range keys { + v := cp.vehicles[k] + if provider, ok := v.(api.AuthProvider); ok { id += 1 diff --git a/vehicle/mercedes/identity.go b/vehicle/mercedes/identity.go index 3ee1cca72..7893932ff 100644 --- a/vehicle/mercedes/identity.go +++ b/vehicle/mercedes/identity.go @@ -112,7 +112,7 @@ func (v *Identity) LogoutHandler() http.HandlerFunc { } func (v *Identity) callbackHandler(w http.ResponseWriter, r *http.Request) { - v.log.TRACE.Println("callback request retrieved") + v.log.DEBUG.Println("callback request received") data, err := url.ParseQuery(r.URL.RawQuery) if err != nil {