From a021e1ab24a88e06b905c734fc31ecc351e72bfd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patrick=20K=C3=BChnel?= Date: Sun, 26 Jan 2025 11:48:01 +0100 Subject: [PATCH] fix(TeslaFleetApiService): do not send commands if fleet telemetry is not connected but should be --- .../Server/Services/TeslaFleetApiService.cs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/TeslaSolarCharger/Server/Services/TeslaFleetApiService.cs b/TeslaSolarCharger/Server/Services/TeslaFleetApiService.cs index 1a711dc0f..0760c95ea 100644 --- a/TeslaSolarCharger/Server/Services/TeslaFleetApiService.cs +++ b/TeslaSolarCharger/Server/Services/TeslaFleetApiService.cs @@ -827,6 +827,18 @@ private async Task WakeUpCarIfNeeded(int carId) private async Task?> SendCommandToTeslaApi(string vin, DtoFleetApiRequest fleetApiRequest, int? intParam = null) where T : class { logger.LogTrace("{method}({vin}, {@fleetApiRequest}, {intParam})", nameof(SendCommandToTeslaApi), vin, fleetApiRequest, intParam); + var fleetTelemetryEnabled = await teslaSolarChargerContext.Cars + .Where(c => c.Vin == vin) + .Select(c => c.UseFleetTelemetry) + .FirstAsync(); + if (fleetTelemetryEnabled) + { + if(!fleetTelemetryWebSocketService.IsClientConnected(vin)) + { + logger.LogError("Do not send command to car {vin} as Fleet Telemetry is enabled but client is not connected", vin); + return null; + } + } if (await tokenHelper.GetBackendTokenState(true) != TokenState.UpToDate) { //Do not show base api not licensed error if not connected to backend