diff --git a/webapp/src/components/NavBar.vue b/webapp/src/components/NavBar.vue index 53995df73..0ac5ecda6 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') }}
  • @@ -184,4 +190,4 @@ export default defineComponent({ } }, }); - \ No newline at end of file + diff --git a/webapp/src/locales/de.json b/webapp/src/locales/de.json index c9dfa975b..426160492 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", @@ -284,6 +286,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", @@ -427,6 +442,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 4375137b9..4eb503166 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", @@ -284,6 +286,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", @@ -427,6 +442,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 24f0a951d..1ac818778 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", @@ -284,6 +286,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", @@ -427,6 +442,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 6cfc00ef8..bae4e3bd0 100644 --- a/webapp/src/router/index.ts +++ b/webapp/src/router/index.ts @@ -8,6 +8,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'; @@ -52,6 +54,11 @@ const router = createRouter({ name: 'NTP', component: NtpInfoView }, + { + path: '/info/modbus', + name: 'Modbus', + component: ModbusInfoView + }, { path: '/info/mqtt', name: 'MqTT', @@ -72,6 +79,11 @@ const router = createRouter({ name: 'NTP Settings', component: NtpAdminView }, + { + path: '/settings/modbus', + name: 'Modbus Settings', + component: ModbusAdminView + }, { path: '/settings/mqtt', name: 'MqTT Settings', @@ -115,4 +127,4 @@ const router = createRouter({ ] }); -export default router; \ No newline at end of file +export default router; 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 @@ + + + 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 @@ + + +