(false);
+const openSocDialog = () => {
+ socInputVisible.value = true;
+};
+
const name = computed(() => mqttStore.chargePointName(props.chargePointId));
// Typecast to string is better here because the store method returns a union type which
// would need to be repeated in child component ChargePointPowerData
@@ -261,7 +247,7 @@ const showSocTargetSlider = computed(() => {
// we have a energy based target
return true;
}
- if (vehicleSocType.value !== undefined) {
+ if (vehicleSocType.value) {
// we have a soc module defined
return true;
}
diff --git a/packages/modules/web_themes/koala/source/src/components/SliderDouble.vue b/packages/modules/web_themes/koala/source/src/components/SliderDouble.vue
index 881a0065c9..6b79d14251 100644
--- a/packages/modules/web_themes/koala/source/src/components/SliderDouble.vue
+++ b/packages/modules/web_themes/koala/source/src/components/SliderDouble.vue
@@ -21,7 +21,7 @@
v-model="target"
:min="0"
:max="100"
- color="light-green-5"
+ color="light-green-13"
inner-track-color="blue-grey-2"
class="target-slider"
track-size="1.5em"
@@ -41,7 +41,24 @@
? formatEnergy(currentValue)
: currentValue + '%'
}}
-
+
+ SoC eingeben
+
+
+ SoC aktualisieren
+
@@ -96,6 +113,19 @@ const props = defineProps({
required: false,
default: undefined,
},
+ vehicleSocType: {
+ type: String,
+ required: false,
+ default: undefined,
+ },
+ onEditSoc: {
+ type: Function,
+ required: false,
+ },
+ onRefreshSoc: {
+ type: Function,
+ required: false,
+ },
});
const target = computed({
diff --git a/packages/modules/web_themes/koala/source/src/components/VehicleCard.vue b/packages/modules/web_themes/koala/source/src/components/VehicleCard.vue
index 3c2c547de5..26f2909da8 100644
--- a/packages/modules/web_themes/koala/source/src/components/VehicleCard.vue
+++ b/packages/modules/web_themes/koala/source/src/components/VehicleCard.vue
@@ -17,35 +17,16 @@
-
-
-
-
- SoC eingeben
-
-
- SoC aktualisieren
-
-
-
-
+
@@ -78,6 +59,9 @@ const props = defineProps<{
const mqttStore = useMqttStore();
const $q = useQuasar();
const socInputVisible = ref(false);
+const openSocDialog = () => {
+ socInputVisible.value = true;
+};
const vehicle = computed(() => {
return mqttStore.vehicleList.find((v) => v.id === props.vehicleId);
@@ -87,8 +71,8 @@ const vehicleInfo = computed(() => {
return mqttStore.vehicleInfo(props.vehicleId);
});
-const vehicleSocModuleType = computed(() => {
- return mqttStore.vehicleSocModule(props.vehicleId)?.type;
+const vehicleSocType = computed(() => {
+ return mqttStore.vehicleSocType(props.vehicleId);
});
const vehicleSocValue = computed(() => {
diff --git a/packages/modules/web_themes/koala/source/src/stores/mqtt-store-model.ts b/packages/modules/web_themes/koala/source/src/stores/mqtt-store-model.ts
index 6ba34d471b..24b1471f8f 100644
--- a/packages/modules/web_themes/koala/source/src/stores/mqtt-store-model.ts
+++ b/packages/modules/web_themes/koala/source/src/stores/mqtt-store-model.ts
@@ -129,14 +129,6 @@ export interface VehicleInfo {
manufacturer: string;
model: string;
}
-
-export interface VehicleSocModuleConfig {
- name?: string;
- type: string | null;
- official?: boolean;
- configuration: object;
-}
-
export interface ScheduledChargingPlan {
id: number;
name: string;
diff --git a/packages/modules/web_themes/koala/source/src/stores/mqtt-store.ts b/packages/modules/web_themes/koala/source/src/stores/mqtt-store.ts
index 08ff6712bf..dbc1041905 100644
--- a/packages/modules/web_themes/koala/source/src/stores/mqtt-store.ts
+++ b/packages/modules/web_themes/koala/source/src/stores/mqtt-store.ts
@@ -16,7 +16,6 @@ import type {
ChargePointConnectedVehicleInfo,
Vehicle,
VehicleInfo,
- VehicleSocModuleConfig,
ScheduledChargingPlan,
ChargePointConnectedVehicleSoc,
GraphDataPoint,
@@ -874,13 +873,13 @@ export const useMqttStore = defineStore('mqtt', () => {
/**
* trigger a force SOC update for the connected vehicle
+ * @param chargePointId charge point id
+ * @returns void
*/
const chargePointConnectedVehicleForceSocUpdate = (chargePointId: number) => {
const vehicleId = chargePointConnectedVehicleInfo(chargePointId).value?.id;
if (vehicleId !== undefined) {
- const topic = `openWB/vehicle/${vehicleId}/get/force_soc_update`;
- console.log(topic);
- sendTopicToBroker(topic, 1);
+ vehicleForceSocUpdate(vehicleId);
}
};
@@ -1766,10 +1765,7 @@ export const useMqttStore = defineStore('mqtt', () => {
const vehicleId =
chargePointConnectedVehicleInfo(chargePointId).value?.id;
if (vehicleId === undefined) return undefined;
- const socConfig = getValue.value(
- `openWB/vehicle/${vehicleId}/soc_module/config`,
- ) as { type: string } | null;
- return socConfig?.type;
+ return vehicleSocType.value(vehicleId);
});
};
@@ -2050,16 +2046,16 @@ export const useMqttStore = defineStore('mqtt', () => {
});
/**
- * Get vehicle SoC module configuration identified by the vehicle id
+ * Get vehicle SoC type identified by the vehicle id
* @param vehicleId vehicle id
- * @returns vehicleSocModule
+ * @returns string | null | undefined
*/
- const vehicleSocModule = computed(() => {
+ const vehicleSocType = computed(() => {
return (vehicleId: number) => {
- const socModule = getValue.value(
+ const socConfig = getValue.value(
`openWB/vehicle/${vehicleId}/soc_module/config`,
- ) as VehicleSocModuleConfig;
- return socModule;
+ ) as { type: string } | null;
+ return socConfig?.type;
};
});
@@ -2113,11 +2109,12 @@ export const useMqttStore = defineStore('mqtt', () => {
/**
* trigger a force SOC update for the vehicle by vehicle id
+ * @param vehicleId vehicle id
+ * @returns void
*/
const vehicleForceSocUpdate = (vehicleId: number) => {
if (vehicleId !== undefined) {
- const topic = `openWB/set/vehicle/${vehicleId}/get/force_soc_update`;
- console.log(topic);
+ const topic = `openWB/vehicle/${vehicleId}/get/force_soc_update`;
sendTopicToBroker(topic, 1);
}
};
@@ -2895,7 +2892,7 @@ export const useMqttStore = defineStore('mqtt', () => {
chargePointConnectedVehicleConfig,
vehicleInfo,
vehicleConnectionState,
- vehicleSocModule,
+ vehicleSocType,
vehicleSocValue,
vehicleSocManualValue,
vehicleForceSocUpdate,