diff --git a/packages/modules/display_themes/cards/source/public/icons/owbBattery40.svg b/packages/modules/display_themes/cards/source/public/icons/owbBattery40.svg new file mode 100644 index 0000000000..fad5527591 --- /dev/null +++ b/packages/modules/display_themes/cards/source/public/icons/owbBattery40.svg @@ -0,0 +1,13 @@ + + + + + diff --git a/packages/modules/display_themes/cards/source/src/App.vue b/packages/modules/display_themes/cards/source/src/App.vue index 3a1efb2390..1433979f83 100644 --- a/packages/modules/display_themes/cards/source/src/App.vue +++ b/packages/modules/display_themes/cards/source/src/App.vue @@ -54,6 +54,7 @@ export default { "openWB/counter/+/get/power", "openWB/counter/get/hierarchy", "openWB/counter/set/home_consumption", + "openWB/general/chargemode_config/pv_charging/bat_mode", "openWB/optional/et/provider", "openWB/optional/et/get/prices", "openWB/optional/int_display/theme", diff --git a/packages/modules/display_themes/cards/source/src/components/Battery/BatteryModeModal.vue b/packages/modules/display_themes/cards/source/src/components/Battery/BatteryModeModal.vue new file mode 100644 index 0000000000..d1bfb9f81e --- /dev/null +++ b/packages/modules/display_themes/cards/source/src/components/Battery/BatteryModeModal.vue @@ -0,0 +1,75 @@ + + + diff --git a/packages/modules/display_themes/cards/source/src/components/ChargePoints/ChargeModeModal.vue b/packages/modules/display_themes/cards/source/src/components/ChargePoints/ChargeModeModal.vue index 0035905721..d78420dabc 100644 --- a/packages/modules/display_themes/cards/source/src/components/ChargePoints/ChargeModeModal.vue +++ b/packages/modules/display_themes/cards/source/src/components/ChargePoints/ChargeModeModal.vue @@ -4,7 +4,7 @@ import { useMqttStore } from "@/stores/mqtt.js"; export default { name: "ChargeModeModal", props: { - modelValue: { required: true, type: Boolean, default: false }, + modelValue: { required: true, type: Boolean }, chargePointId: { type: Number, required: true, @@ -138,11 +138,3 @@ export default { - - diff --git a/packages/modules/display_themes/cards/source/src/components/ChargePoints/ManualSocInput.vue b/packages/modules/display_themes/cards/source/src/components/ChargePoints/ManualSocInput.vue index ee36a455c8..100786a062 100644 --- a/packages/modules/display_themes/cards/source/src/components/ChargePoints/ManualSocInput.vue +++ b/packages/modules/display_themes/cards/source/src/components/ChargePoints/ManualSocInput.vue @@ -11,8 +11,8 @@ export default { NumberPad, }, props: { - modelValue: { required: true, type: Boolean, default: false }, - vehicleId: { required: true, type: Number, default: 0 }, + modelValue: { required: true, type: Boolean }, + vehicleId: { required: true, type: Number }, }, emits: ["update:modelValue"], data() { diff --git a/packages/modules/display_themes/cards/source/src/components/ChargePoints/SimpleChargePointCard.vue b/packages/modules/display_themes/cards/source/src/components/ChargePoints/SimpleChargePointCard.vue index 8c88374470..952fd8ed1a 100644 --- a/packages/modules/display_themes/cards/source/src/components/ChargePoints/SimpleChargePointCard.vue +++ b/packages/modules/display_themes/cards/source/src/components/ChargePoints/SimpleChargePointCard.vue @@ -289,12 +289,6 @@ export default { cursor: pointer; } -.large-button { - height: 3.75rem; - font-size: 1.5rem; - padding: 0.75rem 1.5rem; -} - .button-group-wrapper { display: flex; flex-direction: column; diff --git a/packages/modules/display_themes/cards/source/src/components/ChargePoints/VehicleSelectModal.vue b/packages/modules/display_themes/cards/source/src/components/ChargePoints/VehicleSelectModal.vue index 0cee34cee8..e1f18abd4a 100644 --- a/packages/modules/display_themes/cards/source/src/components/ChargePoints/VehicleSelectModal.vue +++ b/packages/modules/display_themes/cards/source/src/components/ChargePoints/VehicleSelectModal.vue @@ -4,7 +4,7 @@ import { useMqttStore } from "@/stores/mqtt.js"; export default { name: "VehicleSelectModal", props: { - modelValue: { required: true, type: Boolean, default: false }, + modelValue: { required: true, type: Boolean }, chargePointId: { type: Number, required: true, @@ -94,10 +94,4 @@ export default { max-height: 72vh; overflow-y: scroll; } - -.large-button { - height: 3.5rem; - font-size: 1.5rem; - padding: 0.75rem 1.5rem; -} diff --git a/packages/modules/display_themes/cards/source/src/components/Dashboard/FlowCard.vue b/packages/modules/display_themes/cards/source/src/components/Dashboard/FlowCard.vue index e9bd936a92..3b4a03aa9b 100644 --- a/packages/modules/display_themes/cards/source/src/components/Dashboard/FlowCard.vue +++ b/packages/modules/display_themes/cards/source/src/components/Dashboard/FlowCard.vue @@ -2,12 +2,14 @@ import { useMqttStore } from "@/stores/mqtt.js"; import DashboardCard from "@/components/DashboardCard.vue"; import ChargeModeModal from "../ChargePoints/ChargeModeModal.vue"; +import BatteryModeModal from "../Battery/BatteryModeModal.vue"; export default { name: "DashboardFlowCard", components: { DashboardCard, ChargeModeModal, + BatteryModeModal, }, props: { changesLocked: { required: false, type: Boolean, default: false }, @@ -27,6 +29,7 @@ export default { numColumns: 3, }, modalChargeModeSettingsVisible: false, + modalBatteryModeSettingsVisible: false, modalChargePointId: 0, }; }, @@ -232,6 +235,15 @@ export default { chargePoint3Discharging() { return this.chargePoint3Power.value < 0; }, + batteryModeIcon() { + const mode = this.mqttStore.getBatteryMode; + switch (mode) { + case "ev_mode": return "icons/owbVehicle.svg"; + case "bat_mode": return "icons/owbBattery.svg"; + case "min_soc_bat_mode": return "icons/owbBattery40.svg"; + default: return "---"; + } + }, svgComponents() { var components = []; // add grid component @@ -314,6 +326,9 @@ export default { label: ["Speicher", this.absoluteValue(this.batteryPower).textValue], soc: this.batterySoc, icon: "icons/owbBattery.svg", + clicked: () => { + this.selectBatteryMode(); + }, }); } // charge point and vehicle components @@ -491,6 +506,7 @@ export default { // hide all modals if lock is kicking in if (oldValue !== true && newValue === true) { this.modalChargeModeSettingsVisible = false; + this.modalBatteryModeSettingsVisible = false; } }, }, @@ -569,6 +585,11 @@ export default { this.modalChargeModeSettingsVisible = true; } }, + selectBatteryMode() { + if (!this.changesLocked) { + this.modalBatteryModeSettingsVisible = true; + } + }, }, }; @@ -578,6 +599,9 @@ export default { v-model="modalChargeModeSettingsVisible" :charge-point-id="modalChargePointId" /> +