+
+
+
+
+
+
+
+
+
+
{{ name }}
+
+
+
+
+
+
-
-
-
-
-
@@ -43,6 +67,7 @@
import "@h2d2/shopicons/es/regular/powersupply";
import "@h2d2/shopicons/es/regular/sun";
import "@h2d2/shopicons/es/regular/home";
+import "@h2d2/shopicons/es/regular/arrowdropdown";
import Tooltip from "bootstrap/js/dist/tooltip";
import BatteryIcon from "./BatteryIcon.vue";
import formatter from "../../mixins/formatter";
@@ -67,8 +92,9 @@ export default {
detailsTooltip: { type: Array },
detailsClickable: { type: Boolean },
detailsInactive: { type: Boolean },
+ expanded: { type: Boolean, default: false },
},
- emits: ["details-clicked"],
+ emits: ["details-clicked", "toggle"],
data() {
return { powerTooltipInstance: null, detailsTooltipInstance: null };
},
@@ -153,6 +179,10 @@ export default {
// hide tooltip, chrome needs a timeout
setTimeout(() => this.detailsTooltipInstance?.hide(), 10);
},
+ toggle($event) {
+ $event.stopPropagation();
+ this.$emit("toggle");
+ },
},
};
@@ -163,4 +193,25 @@ export default {
.power {
min-width: 75px;
}
+.icon-placeholder {
+ width: 24px;
+ aspect-ratio: 1;
+}
+.expand-icon {
+ transition: transform var(--evcc-transition-medium) ease;
+ transform: rotate(-90deg);
+}
+.expand-icon--expanded {
+ transform: rotate(0deg);
+}
+.expandable {
+ overflow: hidden;
+ opacity: 0;
+ height: 0;
+ transition: opacity var(--evcc-transition-medium) ease-in;
+}
+.expandable--open {
+ opacity: 1;
+ height: auto;
+}
diff --git a/assets/js/settings.js b/assets/js/settings.js
index 060997a65..f6a232b5f 100644
--- a/assets/js/settings.js
+++ b/assets/js/settings.js
@@ -5,6 +5,8 @@ const SETTINGS_THEME = "settings_theme";
const SETTINGS_UNIT = "settings_unit";
const SETTINGS_HIDDEN_FEATURES = "settings_hidden_features";
const SETTINGS_ENERGYFLOW_DETAILS = "settings_energyflow_details";
+const SETTINGS_ENERGYFLOW_PV = "settings_energyflow_pv";
+const SETTINGS_ENERGYFLOW_BATTERY = "settings_energyflow_battery";
const SESSION_INFO = "session_info";
const SESSION_COLUMNS = "session_columns";
const SAVINGS_PERIOD = "savings_period";
@@ -58,6 +60,8 @@ const settings = reactive({
unit: read(SETTINGS_UNIT),
hiddenFeatures: readBool(SETTINGS_HIDDEN_FEATURES),
energyflowDetails: readBool(SETTINGS_ENERGYFLOW_DETAILS),
+ energyflowPv: readBool(SETTINGS_ENERGYFLOW_PV),
+ energyflowBattery: readBool(SETTINGS_ENERGYFLOW_BATTERY),
sessionInfo: readArray(SESSION_INFO),
sessionColumns: readArray(SESSION_COLUMNS),
savingsPeriod: read(SAVINGS_PERIOD),
@@ -72,6 +76,8 @@ watch(() => settings.theme, save(SETTINGS_THEME));
watch(() => settings.unit, save(SETTINGS_UNIT));
watch(() => settings.hiddenFeatures, saveBool(SETTINGS_HIDDEN_FEATURES));
watch(() => settings.energyflowDetails, saveBool(SETTINGS_ENERGYFLOW_DETAILS));
+watch(() => settings.energyflowPv, saveBool(SETTINGS_ENERGYFLOW_PV));
+watch(() => settings.energyflowBattery, saveBool(SETTINGS_ENERGYFLOW_BATTERY));
watch(() => settings.sessionInfo, saveArray(SESSION_INFO));
watch(() => settings.sessionColumns, saveArray(SESSION_COLUMNS));
watch(() => settings.savingsPeriod, save(SAVINGS_PERIOD));
diff --git a/i18n/de.toml b/i18n/de.toml
index bf95b4734..3f6e0ebd9 100644
--- a/i18n/de.toml
+++ b/i18n/de.toml
@@ -108,6 +108,11 @@ A = "A (nicht verbunden)"
B = "B (verbunden)"
C = "C (lädt)"
+[config.devices]
+auxMeter = "Smarter Verbraucher"
+batteryStorage = "Batterie"
+solarSystem = "PV-Anlage"
+
[config.eebus]
description = "Grundkonfiguration für die Kommunikation mit anderen EEBus-Geräten."
title = "EEBus"
diff --git a/i18n/en.toml b/i18n/en.toml
index b563fbdf5..363f0c6d3 100644
--- a/i18n/en.toml
+++ b/i18n/en.toml
@@ -108,6 +108,11 @@ A = "A (not connected)"
B = "B (connected)"
C = "C (charging)"
+[config.devices]
+auxMeter = "Smart consumer"
+batteryStorage = "Battery storage"
+solarSystem = "Solar system"
+
[config.eebus]
description = "Configuration that enables evcc to communicate with other EEBus devices."
title = "EEBus"
@@ -591,6 +596,7 @@ gridImport = "Grid use"
homePower = "Consumption"
loadpoints = "Charger| Charger | {count} chargers"
noEnergy = "No meter data"
+pv = "Solar system"
pvExport = "Grid export"
pvProduction = "Production"
selfConsumption = "Self-consumption"