From 0d9835d010a2d43e4e9bc3d968cf54c2874caaff Mon Sep 17 00:00:00 2001 From: Michael Geers Date: Sun, 9 Apr 2023 11:22:17 +0200 Subject: [PATCH] Add climating status to UI (#7221) --- assets/js/components/Loadpoint.vue | 1 - assets/js/components/Vehicle.vue | 1 + assets/js/components/VehicleStatus.test.js | 16 ++++++++++++++++ assets/js/components/VehicleStatus.vue | 5 +++++ i18n/de.toml | 1 + i18n/en.toml | 1 + 6 files changed, 24 insertions(+), 1 deletion(-) diff --git a/assets/js/components/Loadpoint.vue b/assets/js/components/Loadpoint.vue index dd837bc9d..b3f8f8452 100644 --- a/assets/js/components/Loadpoint.vue +++ b/assets/js/components/Loadpoint.vue @@ -179,7 +179,6 @@ export default { // details chargePower: Number, chargedEnergy: Number, - // chargeDuration: Number, climaterActive: Boolean, chargeRemainingDuration: Number, diff --git a/assets/js/components/Vehicle.vue b/assets/js/components/Vehicle.vue index 9ad757867..265899662 100644 --- a/assets/js/components/Vehicle.vue +++ b/assets/js/components/Vehicle.vue @@ -113,6 +113,7 @@ export default { guardAction: String, guardRemainingInterpolated: Number, vehicles: Array, + climaterActive: Boolean, smartCostLimit: Number, smartCostUnit: String, tariffGrid: Number, diff --git a/assets/js/components/VehicleStatus.test.js b/assets/js/components/VehicleStatus.test.js index 57b150c08..d4eb1190a 100644 --- a/assets/js/components/VehicleStatus.test.js +++ b/assets/js/components/VehicleStatus.test.js @@ -57,6 +57,22 @@ describe("target charge", () => { }); }); +describe("climating", () => { + test("show climating status", () => { + expectStatus( + { connected: true, enabled: true, climaterActive: true, charging: true }, + "climating" + ); + expectStatus( + { connected: true, enabled: true, climaterActive: true, charging: false }, + "climating" + ); + }); + test("only show climating if enabled", () => { + expectStatus({ connected: true, enabled: false, climaterActive: true }, "connected"); + }); +}); + describe("timer", () => { test("show pv enable timer if not enabled yet and timer exists", () => { expectStatus( diff --git a/assets/js/components/VehicleStatus.vue b/assets/js/components/VehicleStatus.vue index 614825d97..4755cc0fd 100644 --- a/assets/js/components/VehicleStatus.vue +++ b/assets/js/components/VehicleStatus.vue @@ -25,6 +25,7 @@ export default { guardAction: String, guardRemainingInterpolated: Number, targetChargeDisabled: Boolean, + climaterActive: Boolean, smartCostLimit: Number, smartCostUnit: String, tariffGrid: Number, @@ -92,6 +93,10 @@ export default { }); } + if (this.enabled && this.climaterActive) { + return t("climating"); + } + if (this.enabled && !this.charging) { if (this.vehicleTargetSoc > 0 && this.vehicleSoc >= this.vehicleTargetSoc - 1) { return t("vehicleTargetReached", { soc: this.vehicleTargetSoc }); diff --git a/i18n/de.toml b/i18n/de.toml index b466212bb..ba78660a4 100644 --- a/i18n/de.toml +++ b/i18n/de.toml @@ -200,6 +200,7 @@ vehicleTarget = "Fahrzeuglimit: {soc}%" charging = "Ladevorgang aktiv…" cheapEnergyCharging = "Günstige Energie verfügbar. Ladevorgang aktiv…" cleanEnergyCharging = "Saubere Energie verfügbar. Ladevorgang aktiv…" +climating = "Vorklimatisierung erkannt." connected = "Verbunden." disconnected = "Nicht verbunden." guard = "Starte in {remaining}…" diff --git a/i18n/en.toml b/i18n/en.toml index b471b9b4a..f96b424dd 100644 --- a/i18n/en.toml +++ b/i18n/en.toml @@ -200,6 +200,7 @@ vehicleTarget = "Vehicle limit: {soc}%" charging = "Charging…" cheapEnergyCharging = "Cheap energy available. Charging…" cleanEnergyCharging = "Clean energy available. Charging…" +climating = "Pre-conditioning detected." connected = "Connected." disconnected = "Disconnected." guard = "Starting in {remaining}…"