Vehicle: deprecate default charge mode in config (#31893)

This commit is contained in:
Michael Geers 2026-07-18 10:40:10 +02:00 • committed by GitHub
parent 70ad1751de
commit 199365288a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 56 additions and 4 deletions

View file

@ -500,6 +500,10 @@ func configureVehicles(static []config.Named, names ...string) error {
return fmt.Errorf("cannot create vehicle '%s': %w", cc.Name, err)
}
if _, ok := instance.OnIdentified().GetMode(); ok {
log.WARN.Printf("vehicle '%s': default charge 'mode' is deprecated, please configure via UI (charging plan > arrival)", cc.Name)
}
mu.Lock()
defer mu.Unlock()
devs1 = append(devs1, config.NewStaticDevice(cc, instance))
@ -525,6 +529,16 @@ func configureVehicles(static []config.Named, names ...string) error {
return nil
}
// migrate deprecated mode property to vehicle mode setting
if mode, ok := cc.Other["mode"].(string); ok && mode != "" {
key := fmt.Sprintf("vehicle.%s.%s", cc.Name, keys.Mode)
if _, err := settings.String(key); err != nil {
if _, err := api.ChargeModeString(mode); err == nil {
settings.SetString(key, mode)
}
}
}
instance, err := vehicleInstance(cc)
if err != nil {
return fmt.Errorf("cannot create vehicle '%s': %w", cc.Name, err)