diff --git a/webapp/src/components/NavBar.vue b/webapp/src/components/NavBar.vue
index e6eb58f27..18f437bed 100644
--- a/webapp/src/components/NavBar.vue
+++ b/webapp/src/components/NavBar.vue
@@ -33,6 +33,9 @@
{{ $t('menu.NTPSettings') }}
+
+ {{ $t('menu.ModbusSettings') }}
+
{{ $t('menu.MQTTSettings') }}
@@ -79,6 +82,9 @@
{{ $t('menu.NTP') }}
+
+ {{ $t('menu.Modbus') }}
+
{{ $t('menu.MQTT') }}
diff --git a/webapp/src/locales/de.json b/webapp/src/locales/de.json
index ad184d1ce..85e600d37 100644
--- a/webapp/src/locales/de.json
+++ b/webapp/src/locales/de.json
@@ -4,6 +4,7 @@
"Settings": "Einstellungen",
"NetworkSettings": "Netzwerk",
"NTPSettings": "NTP",
+ "ModbusSettings": "Modbus",
"MQTTSettings": "MQTT",
"InverterSettings": "Wechselrichter",
"SecuritySettings": "Sicherheit",
@@ -16,6 +17,7 @@
"System": "System",
"Network": "Netzwerk",
"NTP": "NTP",
+ "Modbus": "Modbus",
"MQTT": "MQTT",
"Console": "Konsole",
"About": "Über",
@@ -287,6 +289,19 @@
"Day": "Tag",
"Night": "Nacht"
},
+ "modbusinfo": {
+ "ModbusInformation": "Modbus-Informationen",
+ "TCPSummary": "Konfigurationszusammenfassung Modbus TCP",
+ "ServerSummary": "Informationen zu den Modbus Servern",
+ "Status": "@:mqttinfo.Status",
+ "Enabled": "@:mqttinfo.Enabled",
+ "Disabled": "@:mqttinfo.Disabled",
+ "Server": "@:mqttinfo.Server",
+ "IpAddress": "@:interfacenetworkinfo.IpAddress",
+ "Port": "@:mqttinfo.Port",
+ "IDDTUPro": "ID für DTUPro Datensatz",
+ "IDTotal": "ID für OpenDTU Zusammenfassung aller angemeldeter Inverter (SunSpec)"
+ },
"mqttinfo": {
"MqttInformation": "MQTT-Informationen",
"ConfigurationSummary": "@:ntpinfo.ConfigurationSummary",
@@ -430,6 +445,11 @@
"EnableMdns": "mDNS aktivieren",
"MdnsSettings": "mDNS-Einstellungen"
},
+ "modbusadmin": {
+ "ModbusSettings": "Modbus-Einstellungen",
+ "ModbusConfiguration": "Modbus-Konfiguration",
+ "EnableModbusTCP": "Modbus TCP aktivieren"
+ },
"mqttadmin": {
"MqttSettings": "MQTT-Einstellungen",
"MqttConfiguration": "MQTT-Konfiguration",
diff --git a/webapp/src/locales/en.json b/webapp/src/locales/en.json
index 4179227ae..d25ae0bb3 100644
--- a/webapp/src/locales/en.json
+++ b/webapp/src/locales/en.json
@@ -4,6 +4,7 @@
"Settings": "Settings",
"NetworkSettings": "Network Settings",
"NTPSettings": "NTP Settings",
+ "ModbusSettings": "Modbus Settings",
"MQTTSettings": "MQTT Settings",
"InverterSettings": "Inverter Settings",
"SecuritySettings": "Security Settings",
@@ -16,6 +17,7 @@
"System": "System",
"Network": "Network",
"NTP": "NTP",
+ "Modbus": "Modbus",
"MQTT": "MQTT",
"Console": "Console",
"About": "About",
@@ -287,6 +289,19 @@
"Day": "Day",
"Night": "Night"
},
+ "modbusinfo": {
+ "ModbusInformation": "Modbus Information",
+ "TCPSummary": "Configuration Summary Modbus TCP",
+ "ServerSummary": "Modbus Server Information",
+ "Status": "@:mqttinfo.Status",
+ "Enabled": "@:mqttinfo.Enabled",
+ "Disabled": "@:mqttinfo.Disabled",
+ "Server": "@:mqttinfo.Server",
+ "IpAddress": "@:interfacenetworkinfo.IpAddress",
+ "Port": "@:mqttinfo.Port",
+ "IDDTUPro": "ID for DTUPro dataset",
+ "IDTotal": "ID for OpenDTU aggregation of all registered inverters (SunSpec)"
+ },
"mqttinfo": {
"MqttInformation": "MQTT Information",
"ConfigurationSummary": "@:ntpinfo.ConfigurationSummary",
@@ -430,6 +445,11 @@
"EnableMdns": "Enable mDNS",
"MdnsSettings": "mDNS Settings"
},
+ "modbusadmin": {
+ "ModbusSettings": "Modbus Settings",
+ "ModbusConfiguration": "Modbus Configuration",
+ "EnableModbusTCP": "Enable Modbus TCP"
+ },
"mqttadmin": {
"MqttSettings": "MQTT Settings",
"MqttConfiguration": "MQTT Configuration",
diff --git a/webapp/src/locales/fr.json b/webapp/src/locales/fr.json
index c60a552af..41e36dae1 100644
--- a/webapp/src/locales/fr.json
+++ b/webapp/src/locales/fr.json
@@ -4,6 +4,7 @@
"Settings": "Paramètres",
"NetworkSettings": "Réseau",
"NTPSettings": "Heure locale",
+ "ModbusSettings": "Modbus",
"MQTTSettings": "MQTT",
"InverterSettings": "Onduleurs",
"SecuritySettings": "Sécurité",
@@ -16,6 +17,7 @@
"System": "Système",
"Network": "Réseau",
"NTP": "NTP",
+ "Modbus": "Modbus",
"MQTT": "MQTT",
"Console": "Console",
"About": "A propos",
@@ -287,6 +289,19 @@
"Day": "Jour",
"Night": "Nuit"
},
+ "modbusinfo": {
+ "ModbusInformation": "Informations sur le Modbus",
+ "TCPSummary": "Résumé de la configuration Modbus TCP",
+ "ServerSummary": "Informations sur le serveur Modbus",
+ "Status": "@:mqttinfo.Status",
+ "Enabled": "@:mqttinfo.Enabled",
+ "Disabled": "@:mqttinfo.Disabled",
+ "Server": "@:mqttinfo.Server",
+ "IpAddress": "@:interfacenetworkinfo.IpAddress",
+ "Port": "@:mqttinfo.Port",
+ "IDDTUPro": "ID pour l'ensemble de données DTUPro",
+ "IDTotal": "ID pour l'agrégation OpenDTU de tous les onduleurs enregistrés (SunSpec)"
+ },
"mqttinfo": {
"MqttInformation": "MQTT Information",
"ConfigurationSummary": "@:ntpinfo.ConfigurationSummary",
@@ -430,6 +445,11 @@
"EnableMdns": "Activer mDNS",
"MdnsSettings": "mDNS Settings"
},
+ "modbusadmin": {
+ "ModbusSettings": "Paramètres Modbus",
+ "ModbusConfiguration": "Configuration du système Modbus",
+ "EnableModbusTCP": "Activer le Modbus TCP"
+ },
"mqttadmin": {
"MqttSettings": "Paramètres MQTT",
"MqttConfiguration": "Configuration du système MQTT",
diff --git a/webapp/src/router/index.ts b/webapp/src/router/index.ts
index 8fd3cfe83..9c48238a5 100644
--- a/webapp/src/router/index.ts
+++ b/webapp/src/router/index.ts
@@ -9,6 +9,8 @@ import HomeView from '@/views/HomeView.vue';
import InverterAdminView from '@/views/InverterAdminView.vue';
import LoginView from '@/views/LoginView.vue';
import MaintenanceRebootView from '@/views/MaintenanceRebootView.vue';
+import ModbusAdminView from '@/views/ModbusAdminView.vue';
+import ModbusInfoView from '@/views/ModbusInfoView.vue';
import MqttAdminView from '@/views/MqttAdminView.vue';
import MqttInfoView from '@/views/MqttInfoView.vue';
import NetworkAdminView from '@/views/NetworkAdminView.vue';
@@ -58,6 +60,11 @@ const router = createRouter({
name: 'NTP',
component: NtpInfoView
},
+ {
+ path: '/info/modbus',
+ name: 'Modbus',
+ component: ModbusInfoView
+ },
{
path: '/info/mqtt',
name: 'MqTT',
@@ -78,6 +85,11 @@ const router = createRouter({
name: 'NTP Settings',
component: NtpAdminView
},
+ {
+ path: '/settings/modbus',
+ name: 'Modbus Settings',
+ component: ModbusAdminView
+ },
{
path: '/settings/mqtt',
name: 'MqTT Settings',
diff --git a/webapp/src/types/ModbusConfig.ts b/webapp/src/types/ModbusConfig.ts
new file mode 100644
index 000000000..90530fd13
--- /dev/null
+++ b/webapp/src/types/ModbusConfig.ts
@@ -0,0 +1,3 @@
+export interface ModbusConfig {
+ modbus_tcp_enabled: boolean;
+}
diff --git a/webapp/src/types/ModbusStatus.ts b/webapp/src/types/ModbusStatus.ts
new file mode 100644
index 000000000..012a9fda9
--- /dev/null
+++ b/webapp/src/types/ModbusStatus.ts
@@ -0,0 +1,8 @@
+export interface ModbusStatus {
+ modbus_tcp_enabled: boolean;
+ modbus_hostname: string;
+ modbus_port: number;
+ modbus_ip: string;
+ modbus_id_dtupro: number;
+ modbus_id_total: number;
+}
diff --git a/webapp/src/views/ModbusAdminView.vue b/webapp/src/views/ModbusAdminView.vue
new file mode 100644
index 000000000..e4e385ca3
--- /dev/null
+++ b/webapp/src/views/ModbusAdminView.vue
@@ -0,0 +1,87 @@
+
+
+
+ {{ alertMessage }}
+
+
+
+
+
+
+
diff --git a/webapp/src/views/ModbusInfoView.vue b/webapp/src/views/ModbusInfoView.vue
new file mode 100644
index 000000000..d819f0a08
--- /dev/null
+++ b/webapp/src/views/ModbusInfoView.vue
@@ -0,0 +1,84 @@
+
+
+
+
+
+
+
+ {{ $t('modbusinfo.Status') }} |
+
+
+ |
+
+
+ {{ $t('modbusinfo.Server') }} |
+ {{ modbusDataList.modbus_hostname }} |
+
+
+ {{ $t('modbusinfo.IpAddress') }} |
+ {{ modbusDataList.modbus_ip }} |
+
+
+ {{ $t('modbusinfo.Port') }} |
+ {{ modbusDataList.modbus_port }} |
+
+
+
+
+
+
+
+
+
+
+ {{ $t('modbusinfo.IDDTUPro') }} |
+ {{ modbusDataList.modbus_id_dtupro }} |
+
+
+ {{ $t('modbusinfo.IDTotal') }} |
+ {{ modbusDataList.modbus_id_total }} |
+
+
+
+
+
+
+
+
+
+