{{ $t('battery.' + key) }} |
diff --git a/webapp/src/locales/de.json b/webapp/src/locales/de.json
index 8514e2488..ac0714002 100644
--- a/webapp/src/locales/de.json
+++ b/webapp/src/locales/de.json
@@ -31,6 +31,7 @@
"Yes": "Ja",
"No": "Nein",
"VerboseLogging": "Ausführliche Protokollierung",
+ "Seconds": "Sekunden",
"Loading": "Lade...",
"Reload": "Aktualisieren",
"Cancel": "Abbrechen",
@@ -519,8 +520,7 @@
"EnableVedirect": "Aktiviere VE.Direct",
"VedirectParameter": "VE.Direct Parameter",
"VerboseLogging": "@:base.VerboseLogging",
- "UpdatesOnly": "Werte nur bei Änderung an MQTT broker senden",
- "Save": "@:dtuadmin.Save"
+ "UpdatesOnly": "Werte nur bei Änderung an MQTT broker senden"
},
"powermeteradmin":{
"PowerMeterSettings": "Stromzähler Einstellungen",
@@ -541,7 +541,6 @@
"SDM": "SDM-Stromzähler Konfiguration",
"sdmbaudrate": "Baudrate",
"sdmaddress": "Modbus Adresse",
- "Save": "@:dtuadmin.Save",
"HTTP": "HTTP(S) + JSON - Allgemeine Konfiguration",
"httpIndividualRequests": "Individuelle HTTP requests pro Phase",
"httpUrlDescription": "Die URL muss mit http:// oder https:// beginnen. Manche Zeichen wie Leerzeichen und = müssen mit URL-Kodierung kodiert werden (%xx). Achtung: Ein Überprüfung von SSL Server Zertifikaten ist nicht implementiert (MITM-Attacken sind möglich)! Beispiele gibt es unten.",
@@ -596,8 +595,7 @@
"VoltageLoadCorrectionInfo": "Hinweis: Wenn Leistung von der Batterie abgegeben wird, bricht normalerweise die Spannung etwas ein. Damit nicht vorzeitig der Wechelrichter ausgeschaltet wird sobald der \"Stop\"-Schwellenwert erreicht wird, wird der hier angegebene Korrekturfaktor mit einberechnet. Korrigierte Spannung = DC Spannung + (Aktuelle Leistung (W) * Korrekturfaktor).",
"InverterRestart": "Wechselrichter Neustart",
"InverterRestartHour": "Stunde für Neustart",
- "InverterRestartHint": "Neustart des Wechselrichter einmal täglich um die \"Tagesertrag\" Werte wieder auf Null zu setzen.",
- "Save": "@:dtuadmin.Save"
+ "InverterRestartHint": "Neustart des Wechselrichter einmal täglich um die \"Tagesertrag\" Werte wieder auf Null zu setzen."
},
"batteryadmin": {
"BatterySettings": "Batterie Einstellungen",
@@ -607,14 +605,16 @@
"Provider": "Datenanbieter",
"ProviderPylontechCan": "Pylontech per CAN-Bus",
"ProviderJkBmsSerial": "Jikong (JK) BMS per serieller Verbindung",
+ "ProviderMqtt": "State of Charge (SoC) Wert aus MQTT Broker",
"ProviderVictron": "Victron SmartShunt per VE.Direct Schnittstelle",
+ "MqttConfiguration": "MQTT Einstellungen",
+ "MqttTopic": "SoC-Wert Topic",
"JkBmsConfiguration": "JK BMS Einstellungen",
"JkBmsInterface": "Schnittstellentyp",
"JkBmsInterfaceUart": "TTL-UART an der MCU",
"JkBmsInterfaceTransceiver": "RS-485 Transceiver an der MCU",
"PollingInterval": "Abfrageintervall",
- "Seconds": "@:dtuadmin.Seconds",
- "Save": "@:dtuadmin.Save"
+ "Seconds": "@:base.Seconds"
},
"inverteradmin": {
"InverterSettings": "Wechselrichter Einstellungen",
@@ -800,14 +800,13 @@
"enableVoltageLimitHint": "Die automatische Leistungssteuerung wird deaktiviert wenn die Ausgangsspannung über diesem Wert liegt und wenn gleichzeitig die Ausgangsleistung unter die minimale Leistung fällt.\nDie automatische Leistungssteuerung wird re-aktiveiert wenn die Batteriespannung unter diesen Wert fällt.",
"lowerPowerLimit": "Minimale Leistung",
"upperPowerLimit": "Maximale Leistung",
- "Seconds": "@:dtuadmin.Seconds",
- "Save": "@:dtuadmin.Save"
+ "Seconds": "@:base.Seconds"
},
"battery": {
"battery": "Batterie",
"DataAge": "letzte Aktualisierung: ",
"Seconds": "vor {val} Sekunden",
- "Status": "Status",
+ "status": "Status",
"Property": "Eigenschaft",
"yes": "@:base.Yes",
"no": "@:base.No",
@@ -825,9 +824,15 @@
"dischargeCurrentLimitation": "Entladestromlimit",
"chargeEnabled": "Laden ermöglicht",
"dischargeEnabled": "Entladen ermöglicht",
- "balancingActive": "Ausgleichen aktiv",
"chargeImmediately": "Sofortiges Laden angefordert",
+ "cells": "Zellen",
+ "batOneTemp": "Batterietemperatur 1",
+ "batTwoTemp": "Batterietemperatur 2",
+ "cellMinVoltage": "Kleinste Zellspannung",
"cellAvgVoltage": "Durchschnittliche Zellspannung",
+ "cellMaxVoltage": "Höchste Zellspannung",
+ "cellDiffVoltage": "Zellspannungsdifferenz",
+ "balancingActive": "Ausgleichen aktiv",
"issues": "Meldungen",
"noIssues": "Keine Meldungen",
"issueName": "Bezeichnung",
diff --git a/webapp/src/locales/en.json b/webapp/src/locales/en.json
index 0347aec83..c819fea44 100644
--- a/webapp/src/locales/en.json
+++ b/webapp/src/locales/en.json
@@ -31,6 +31,7 @@
"Yes": "Yes",
"No": "No",
"VerboseLogging": "Verbose Logging",
+ "Seconds": "Seconds",
"Loading": "Loading...",
"Reload": "Reload",
"Cancel": "Cancel",
@@ -521,8 +522,7 @@
"EnableVedirect": "Enable VE.Direct",
"VedirectParameter": "VE.Direct Parameter",
"VerboseLogging": "@:base.VerboseLogging",
- "UpdatesOnly": "Publish values to MQTT only when they change",
- "Save": "@:dtuadmin.Save"
+ "UpdatesOnly": "Publish values to MQTT only when they change"
},
"powermeteradmin":{
"PowerMeterSettings": "Power Meter Settings",
@@ -543,7 +543,6 @@
"SDM": "SDM-Power Meter Parameter",
"sdmbaudrate": "Baudrate",
"sdmaddress": "Modbus Address",
- "Save": "@:dtuadmin.Save",
"HTTP": "HTTP(S) + Json - General configuration",
"httpIndividualRequests": "Individual HTTP requests per phase",
"httpPhase": "HTTP(S) + Json configuration - Phase {phaseNumber}",
@@ -605,8 +604,7 @@
"VoltageLoadCorrectionInfo": "Hint: When the power output is higher, the voltage is usually decreasing. In order to not stop the inverter too early (Stop treshold), a power factor can be specified here to correct this. Corrected voltage = DC Voltage + (Current power * correction factor).",
"InverterRestart": "Inverter Restart",
"InverterRestartHour": "Restart Hour",
- "InverterRestartHint": "Restart the Inverter once a day to reset the \"YieldDay\" values.",
- "Save": "@:dtuadmin.Save"
+ "InverterRestartHint": "Restart the Inverter once a day to reset the \"YieldDay\" values."
},
"batteryadmin": {
"BatterySettings": "Battery Settings",
@@ -616,14 +614,16 @@
"Provider": "Data Provider",
"ProviderPylontechCan": "Pylontech using CAN bus",
"ProviderJkBmsSerial": "Jikong (JK) BMS using serial connection",
+ "ProviderMqtt": "State of Charge (SoC) value from MQTT broker",
"ProviderVictron": "Victron SmartShunt using VE.Direct interface",
+ "MqttConfiguration": "MQTT Settings",
+ "MqttTopic": "SoC value topic",
"JkBmsConfiguration": "JK BMS Settings",
"JkBmsInterface": "Interface Type",
"JkBmsInterfaceUart": "TTL-UART on MCU",
"JkBmsInterfaceTransceiver": "RS-485 Transceiver on MCU",
"PollingInterval": "Polling Interval",
- "Seconds": "@:dtuadmin.Seconds",
- "Save": "@:dtuadmin.Save"
+ "Seconds": "@:base.Seconds"
},
"inverteradmin": {
"InverterSettings": "Inverter Settings",
@@ -810,14 +810,13 @@
"enableVoltageLimitHint": "Automatic power control is disabled if the output voltage is higher then this value and if the output power drops below the minimum output power limit (set below).\nAutomatic power control is re-enabled if the battery voltage drops below the value set in this field.",
"lowerPowerLimit": "Minimum output power",
"upperPowerLimit": "Maximum output power",
- "Seconds": "@:dtuadmin.Seconds",
- "Save": "@:dtuadmin.Save"
+ "Seconds": "@:base.Seconds"
},
"battery": {
"battery": "Battery",
"DataAge": "Data Age: ",
"Seconds": " {val} seconds",
- "Status": "Status",
+ "status": "Status",
"Property": "Property",
"yes": "@:base.Yes",
"no": "@:base.No",
@@ -835,9 +834,15 @@
"dischargeCurrentLimitation": "Discharge current limit",
"chargeEnabled": "Charging possible",
"dischargeEnabled": "Discharging possible",
- "balancingActive": "Balancing active",
"chargeImmediately": "Immediate charging requested",
+ "cells": "Cells",
+ "batOneTemp": "Battery temperature 1",
+ "batTwoTemp": "Battery temperature 2",
+ "cellMinVoltage": "Minimum cell voltage",
"cellAvgVoltage": "Average cell voltage",
+ "cellMaxVoltage": "Maximum cell voltage",
+ "cellDiffVoltage": "Cell voltage difference",
+ "balancingActive": "Balancing active",
"issues": "Issues",
"noIssues": "No Issues",
"issueName": "Name",
diff --git a/webapp/src/locales/fr.json b/webapp/src/locales/fr.json
index 3d0c5343b..8f1e88efa 100644
--- a/webapp/src/locales/fr.json
+++ b/webapp/src/locales/fr.json
@@ -31,6 +31,7 @@
"Yes": "Oui",
"No": "Non",
"VerboseLogging": "Journalisation Détaillée",
+ "Seconds": "Secondes",
"Loading": "Chargement...",
"Reload": "Reload",
"Cancel": "Annuler",
@@ -467,7 +468,6 @@
"ApTimeout": "Délai d'attente du point d'accès",
"ApTimeoutHint": "Durée pendant laquelle le point d'accès reste ouvert. Une valeur de 0 signifie infini.",
"Minutes": "minutes",
- "Save": "@:dtuadmin.Save",
"EnableMdns": "Activer mDNS",
"MdnsSettings": "mDNS Settings"
},
@@ -512,8 +512,7 @@
"HassPrefixTopicHint": "Le préfixe de découverte du sujet",
"HassRetain": "Activer du maintien",
"HassExpire": "Activer l'expiration",
- "HassIndividual": "Panneaux individuels",
- "Save": "@:dtuadmin.Save"
+ "HassIndividual": "Panneaux individuels"
},
"vedirectadmin": {
"VedirectSettings": "VE.Direct Settings",
@@ -521,8 +520,7 @@
"EnableVedirect": "Enable VE.Direct",
"VedirectParameter": "VE.Direct Parameter",
"VerboseLogging": "@:base.VerboseLogging",
- "UpdatesOnly": "Publish values to MQTT only when they change",
- "Save": "@:dtuadmin.Save"
+ "UpdatesOnly": "Publish values to MQTT only when they change"
},
"batteryadmin": {
"BatterySettings": "Battery Settings",
@@ -532,14 +530,16 @@
"Provider": "Data Provider",
"ProviderPylontechCan": "Pylontech using CAN bus",
"ProviderJkBmsSerial": "Jikong (JK) BMS using serial connection",
+ "ProviderMqtt": "State of Charge (SoC) value from MQTT broker",
"ProviderVictron": "Victron SmartShunt using VE.Direct interface",
+ "MqttConfiguration": "MQTT Settings",
+ "MqttTopic": "SoC value topic",
"JkBmsConfiguration": "JK BMS Settings",
"JkBmsInterface": "Interface Type",
"JkBmsInterfaceUart": "TTL-UART on MCU",
"JkBmsInterfaceTransceiver": "RS-485 Transceiver on MCU",
"PollingInterval": "Polling Interval",
- "Seconds": "@:dtuadmin.Seconds",
- "Save": "@:dtuadmin.Save"
+ "Seconds": "@:base.Seconds"
},
"inverteradmin": {
"InverterSettings": "Paramètres des onduleurs",
@@ -648,8 +648,7 @@
"BatterySocInfo": "Hint: The battery SoC (State of Charge) values can only be used if the battery communication interface is enabled. If the battery has not reported any SoC updates in the last minute, the voltage thresholds will be used as fallback.",
"InverterIsBehindPowerMeter": "Inverter is behind Power meter",
"Battery": "DC / Battery",
- "VoltageLoadCorrectionInfo": "Hint: When the power output is higher, the voltage is usually decreasing. In order to not stop the inverter too early (Stop treshold), a power factor can be specified here to correct this. Corrected voltage = DC Voltage + (Current power * correction factor).",
- "Save": "@:dtuadmin.Save"
+ "VoltageLoadCorrectionInfo": "Hint: When the power output is higher, the voltage is usually decreasing. In order to not stop the inverter too early (Stop treshold), a power factor can be specified here to correct this. Corrected voltage = DC Voltage + (Current power * correction factor)."
},
"login": {
"Login": "Connexion",
@@ -768,14 +767,13 @@
"enableVoltageLimitHint": "Automatic power control is disabled if the output voltage is higher then this value and if the output power drops below the minimum output power limit (set below).\nAutomatic power control is re-enabled if the battery voltage drops below the value set in this field.",
"lowerPowerLimit": "Minimum output power",
"upperPowerLimit": "Maximum output power",
- "Seconds": "@:dtuadmin.Seconds",
- "Save": "@:dtuadmin.Save"
+ "Seconds": "@:base.Seconds"
},
"battery": {
"battery": "Battery",
"DataAge": "Data Age: ",
"Seconds": " {val} seconds",
- "Status": "Status",
+ "status": "Status",
"Property": "Property",
"yes": "@:base.Yes",
"no": "@:base.No",
@@ -793,9 +791,15 @@
"dischargeCurrentLimitation": "Discharge current limit",
"chargeEnabled": "Charging possible",
"dischargeEnabled": "Discharging possible",
- "balancingActive": "Balancing active",
"chargeImmediately": "Immediate charging requested",
+ "cells": "Cells",
+ "batOneTemp": "Battery temperature 1",
+ "batTwoTemp": "Battery temperature 2",
+ "cellMinVoltage": "Minimum cell voltage",
"cellAvgVoltage": "Average cell voltage",
+ "cellMaxVoltage": "Maximum cell voltage",
+ "cellDiffVoltage": "Cell voltage difference",
+ "balancingActive": "Balancing active",
"issues": "Issues",
"noIssues": "No Issues",
"issueName": "Name",
diff --git a/webapp/src/types/BatteryConfig.ts b/webapp/src/types/BatteryConfig.ts
index 8bd05000a..fc83e84d9 100644
--- a/webapp/src/types/BatteryConfig.ts
+++ b/webapp/src/types/BatteryConfig.ts
@@ -4,4 +4,5 @@ export interface BatteryConfig {
provider: number;
jkbms_interface: number;
jkbms_polling_interval: number;
+ mqtt_topic: string;
}
diff --git a/webapp/src/types/BatteryDataStatus.ts b/webapp/src/types/BatteryDataStatus.ts
index 612f35cf0..c9167d3c3 100644
--- a/webapp/src/types/BatteryDataStatus.ts
+++ b/webapp/src/types/BatteryDataStatus.ts
@@ -1,8 +1,10 @@
import type { ValueObject } from '@/types/LiveDataStatus';
+type BatteryData = (ValueObject | string)[];
+
export interface Battery {
manufacturer: string;
data_age: number;
- values: (ValueObject | string)[];
+ values: BatteryData[];
issues: number[];
}
\ No newline at end of file
diff --git a/webapp/src/views/AcChargerAdminView.vue b/webapp/src/views/AcChargerAdminView.vue
index 09527d58d..44f7f8b97 100644
--- a/webapp/src/views/AcChargerAdminView.vue
+++ b/webapp/src/views/AcChargerAdminView.vue
@@ -56,7 +56,7 @@
+ aria-describedby="lowerPowerLimitDescription" min="50" max="3000" required/>
W
@@ -73,7 +73,7 @@
-
+
+
+
+
+
+
+
+
+ URL examples:@@ -213,6 +213,7 @@ import { defineComponent } from 'vue'; import BasePage from '@/components/BasePage.vue'; import BootstrapAlert from "@/components/BootstrapAlert.vue"; import CardElement from '@/components/CardElement.vue'; +import FormFooter from '@/components/FormFooter.vue'; import InputElement from '@/components/InputElement.vue'; import { handleResponse, authHeader } from '@/utils/authentication'; import type { PowerMeterHttpPhaseConfig, PowerMeterConfig } from "@/types/PowerMeterConfig"; @@ -222,6 +223,7 @@ export default defineComponent({ BasePage, BootstrapAlert, CardElement, + FormFooter, InputElement }, data() { diff --git a/webapp/src/views/VedirectAdminView.vue b/webapp/src/views/VedirectAdminView.vue index 02aa48b8b..f235e8fa3 100644 --- a/webapp/src/views/VedirectAdminView.vue +++ b/webapp/src/views/VedirectAdminView.vue @@ -23,7 +23,7 @@ type="checkbox" wide/> - + |
---|