From 43d4221cf94000c35050ea5a56bac8ccd1375146 Mon Sep 17 00:00:00 2001 From: andig Date: Mon, 17 Oct 2022 10:13:44 +0200 Subject: [PATCH] Mqtt: support settting guest vehicle by using negative value --- core/loadpoint_api.go | 2 +- server/mqtt.go | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/core/loadpoint_api.go b/core/loadpoint_api.go index 2d789d285..766992569 100644 --- a/core/loadpoint_api.go +++ b/core/loadpoint_api.go @@ -31,7 +31,7 @@ func (lp *LoadPoint) SetMode(mode api.ChargeMode) { defer lp.Unlock() if _, err := api.ChargeModeString(mode.String()); err != nil { - lp.log.WARN.Printf("invalid charge mode: %s", string(mode)) + lp.log.ERROR.Printf("invalid charge mode: %s", string(mode)) return } diff --git a/server/mqtt.go b/server/mqtt.go index 0f0870890..7319c4f9d 100644 --- a/server/mqtt.go +++ b/server/mqtt.go @@ -116,9 +116,12 @@ func (m *MQTT) listenSetters(topic string, site site.API, lp loadpoint.API) { }) m.Handler.ListenSetter(topic+"/vehicle/set", func(payload string) { if vehicle, err := strconv.Atoi(payload); err == nil { - vehicles := site.GetVehicles() - if vehicle < len(vehicles) { - lp.SetVehicle(vehicles[vehicle]) + if vehicle >= 0 { + if vehicles := site.GetVehicles(); vehicle < len(vehicles) { + lp.SetVehicle(vehicles[vehicle]) + } + } else { + lp.SetVehicle(nil) } } })