From ff013b8546165bbb10bfaa22d743cbeeadd0e605 Mon Sep 17 00:00:00 2001 From: 0xFEEDC0DE64 Date: Mon, 16 Sep 2024 20:28:44 +0200 Subject: [PATCH] Restructuring of the whole project into subfolders --- CMakeLists.txt | 237 +-- i18n/qml_de.ts | 1690 ++++++++--------- AboutPage.qml => qml/AboutPage.qml | 0 AccessPage.qml => qml/AccessPage.qml | 0 .../AddDeviceScreen.qml | 0 .../AnimatedStackLayout.qml | 0 .../AnimatedStackView.qml | 0 .../ApiKeyValueItem.qml | 0 .../ApiSettingsPage.qml | 0 AppInstance.qml => qml/AppInstance.qml | 0 .../AppSettingsPage.qml | 0 .../BaseNavigationPage.qml | 0 CablePage.qml => qml/CablePage.qml | 0 CarPage.qml => qml/CarPage.qml | 0 CellularPage.qml => qml/CellularPage.qml | 0 CenteredDialog.qml => qml/CenteredDialog.qml | 0 ChargerTabPage.qml => qml/ChargerTabPage.qml | 0 .../ChargingConfigurationPage.qml | 0 .../ChargingSpeedPage.qml | 0 CloudPage.qml => qml/CloudPage.qml | 0 CloudUrlsModel.qml => qml/CloudUrlsModel.qml | 0 .../ConfirmingOnOffSwitch.qml | 0 .../ConnectingScreen.qml | 0 ConnectionPage.qml => qml/ConnectionPage.qml | 0 Constants.qml => qml/Constants.qml | 0 ControllerPage.qml => qml/ControllerPage.qml | 0 .../ControllerTabPage.qml | 0 .../CurrentLevelsPage.qml | 0 DailyTripPage.qml => qml/DailyTripPage.qml | 0 .../DateAndTimePage.qml | 0 .../DeviceHeaderBar.qml | 0 .../DeviceListScreen.qml | 0 DeviceScreen.qml => qml/DeviceScreen.qml | 0 .../DisplaySettingsPage.qml | 0 DoubleSpinBox.qml => qml/DoubleSpinBox.qml | 0 EVChargerApp.qml => qml/EVChargerApp.qml | 0 EcoTabPage.qml => qml/EcoTabPage.qml | 0 EditValueItem.qml => qml/EditValueItem.qml | 0 EthernetPage.qml => qml/EthernetPage.qml | 0 FirmwarePage.qml => qml/FirmwarePage.qml | 0 .../FlexibleEnergyTariffPage.qml | 0 .../GeneralOnOffSwitch.qml | 0 GeneralPage.qml => qml/GeneralPage.qml | 0 GridPage.qml => qml/GridPage.qml | 0 .../GroundCheckPage.qml | 0 .../HardwareInformationPage.qml | 0 HotspotPage.qml => qml/HotspotPage.qml | 0 .../InformationsTabPage.qml | 0 KwhLimitPage.qml => qml/KwhLimitPage.qml | 0 LedPage.qml => qml/LedPage.qml | 0 LicensesPage.qml => qml/LicensesPage.qml | 0 .../LoadBalancingPage.qml | 0 .../LogicModeButton.qml | 0 MainScreen.qml => qml/MainScreen.qml | 0 MqttPage.qml => qml/MqttPage.qml | 0 NamePage.qml => qml/NamePage.qml | 0 NavigationItem.qml => qml/NavigationItem.qml | 0 NavigationPage.qml => qml/NavigationPage.qml | 0 .../NotificationsPage.qml | 0 OcppPage.qml => qml/OcppPage.qml | 0 PasswordPage.qml => qml/PasswordPage.qml | 0 PvSurplusPage.qml => qml/PvSurplusPage.qml | 0 RebootPage.qml => qml/RebootPage.qml | 0 .../RequestStatusText.qml | 0 .../SchedulerDayPage.qml | 0 SchedulerPage.qml => qml/SchedulerPage.qml | 0 .../ScrollableTabPage.qml | 0 SecurityPage.qml => qml/SecurityPage.qml | 0 .../SelectLogicModeItem.qml | 0 .../SelectPhaseSwitchModeItem.qml | 0 .../SensorsConfigurationPage.qml | 0 .../SetPriceLimitPage.qml | 0 SetValueHelper.qml => qml/SetValueHelper.qml | 0 .../SettingsTabPage.qml | 0 .../SimpleNavigationItem.qml | 0 .../StartStopButton.qml | 0 .../SwitchLanguagePage.qml | 0 .../TimeComponentLabel.qml | 0 TimePicker.qml => qml/TimePicker.qml | 0 .../TimePickerDialog.qml | 0 .../TimePickerLabel.qml | 0 .../VerticalTabButton.qml | 0 WhiteBox.qml => qml/WhiteBox.qml | 0 .../WhiteCheckDelegate.qml | 0 .../WhiteItemDelegate.qml | 0 .../WhiteSwipeDelegate.qml | 0 WiFiErrorsPage.qml => qml/WiFiErrorsPage.qml | 0 WiFiPage.qml => qml/WiFiPage.qml | 0 WiFiScanPage.qml => qml/WiFiScanPage.qml | 0 {icons => qml/icons}/Alarm.svg | 0 {icons => qml/icons}/Charger.svg | 0 {icons => qml/icons}/ChargerV3.svg | 0 {icons => qml/icons}/ChargerV4.svg | 0 {icons => qml/icons}/Charts.svg | 0 {icons => qml/icons}/Controller.svg | 0 {icons => qml/icons}/EcoModeFilled.svg | 0 {images => qml/images}/controller.png | Bin {images => qml/images}/geminiFix.png | Bin {images => qml/images}/geminiFlex.png | Bin {images => qml/images}/homeFix.png | Bin {images => qml/images}/homePlus.png | Bin {images => qml/images}/phoenix.png | Bin {images => qml/images}/wattpilot.png | Bin .../material-icons}/add.svg | 0 .../material-icons}/grid_guides.svg | 0 .../material-icons}/settings.svg | 0 qmldir => qml/qmldir | 0 .../ui-icons}/MaterialIcons-Regular.ttf | Bin .../ui-icons}/material-design-icons.LICENSE | 0 .../apikeyvaluehelper.cpp | 0 .../apikeyvaluehelper.h | 0 appsettings.cpp => src/appsettings.cpp | 0 appsettings.h => src/appsettings.h | 0 .../deviceconnection.cpp | 0 deviceconnection.h => src/deviceconnection.h | 0 devicesmodel.cpp => src/devicesmodel.cpp | 0 devicesmodel.h => src/devicesmodel.h | 0 main.cpp => src/main.cpp | 0 .../sendmessagehelper.cpp | 0 .../sendmessagehelper.h | 0 120 files changed, 966 insertions(+), 961 deletions(-) rename AboutPage.qml => qml/AboutPage.qml (100%) rename AccessPage.qml => qml/AccessPage.qml (100%) rename AddDeviceScreen.qml => qml/AddDeviceScreen.qml (100%) rename AnimatedStackLayout.qml => qml/AnimatedStackLayout.qml (100%) rename AnimatedStackView.qml => qml/AnimatedStackView.qml (100%) rename ApiKeyValueItem.qml => qml/ApiKeyValueItem.qml (100%) rename ApiSettingsPage.qml => qml/ApiSettingsPage.qml (100%) rename AppInstance.qml => qml/AppInstance.qml (100%) rename AppSettingsPage.qml => qml/AppSettingsPage.qml (100%) rename BaseNavigationPage.qml => qml/BaseNavigationPage.qml (100%) rename CablePage.qml => qml/CablePage.qml (100%) rename CarPage.qml => qml/CarPage.qml (100%) rename CellularPage.qml => qml/CellularPage.qml (100%) rename CenteredDialog.qml => qml/CenteredDialog.qml (100%) rename ChargerTabPage.qml => qml/ChargerTabPage.qml (100%) rename ChargingConfigurationPage.qml => qml/ChargingConfigurationPage.qml (100%) rename ChargingSpeedPage.qml => qml/ChargingSpeedPage.qml (100%) rename CloudPage.qml => qml/CloudPage.qml (100%) rename CloudUrlsModel.qml => qml/CloudUrlsModel.qml (100%) rename ConfirmingOnOffSwitch.qml => qml/ConfirmingOnOffSwitch.qml (100%) rename ConnectingScreen.qml => qml/ConnectingScreen.qml (100%) rename ConnectionPage.qml => qml/ConnectionPage.qml (100%) rename Constants.qml => qml/Constants.qml (100%) rename ControllerPage.qml => qml/ControllerPage.qml (100%) rename ControllerTabPage.qml => qml/ControllerTabPage.qml (100%) rename CurrentLevelsPage.qml => qml/CurrentLevelsPage.qml (100%) rename DailyTripPage.qml => qml/DailyTripPage.qml (100%) rename DateAndTimePage.qml => qml/DateAndTimePage.qml (100%) rename DeviceHeaderBar.qml => qml/DeviceHeaderBar.qml (100%) rename DeviceListScreen.qml => qml/DeviceListScreen.qml (100%) rename DeviceScreen.qml => qml/DeviceScreen.qml (100%) rename DisplaySettingsPage.qml => qml/DisplaySettingsPage.qml (100%) rename DoubleSpinBox.qml => qml/DoubleSpinBox.qml (100%) rename EVChargerApp.qml => qml/EVChargerApp.qml (100%) rename EcoTabPage.qml => qml/EcoTabPage.qml (100%) rename EditValueItem.qml => qml/EditValueItem.qml (100%) rename EthernetPage.qml => qml/EthernetPage.qml (100%) rename FirmwarePage.qml => qml/FirmwarePage.qml (100%) rename FlexibleEnergyTariffPage.qml => qml/FlexibleEnergyTariffPage.qml (100%) rename GeneralOnOffSwitch.qml => qml/GeneralOnOffSwitch.qml (100%) rename GeneralPage.qml => qml/GeneralPage.qml (100%) rename GridPage.qml => qml/GridPage.qml (100%) rename GroundCheckPage.qml => qml/GroundCheckPage.qml (100%) rename HardwareInformationPage.qml => qml/HardwareInformationPage.qml (100%) rename HotspotPage.qml => qml/HotspotPage.qml (100%) rename InformationsTabPage.qml => qml/InformationsTabPage.qml (100%) rename KwhLimitPage.qml => qml/KwhLimitPage.qml (100%) rename LedPage.qml => qml/LedPage.qml (100%) rename LicensesPage.qml => qml/LicensesPage.qml (100%) rename LoadBalancingPage.qml => qml/LoadBalancingPage.qml (100%) rename LogicModeButton.qml => qml/LogicModeButton.qml (100%) rename MainScreen.qml => qml/MainScreen.qml (100%) rename MqttPage.qml => qml/MqttPage.qml (100%) rename NamePage.qml => qml/NamePage.qml (100%) rename NavigationItem.qml => qml/NavigationItem.qml (100%) rename NavigationPage.qml => qml/NavigationPage.qml (100%) rename NotificationsPage.qml => qml/NotificationsPage.qml (100%) rename OcppPage.qml => qml/OcppPage.qml (100%) rename PasswordPage.qml => qml/PasswordPage.qml (100%) rename PvSurplusPage.qml => qml/PvSurplusPage.qml (100%) rename RebootPage.qml => qml/RebootPage.qml (100%) rename RequestStatusText.qml => qml/RequestStatusText.qml (100%) rename SchedulerDayPage.qml => qml/SchedulerDayPage.qml (100%) rename SchedulerPage.qml => qml/SchedulerPage.qml (100%) rename ScrollableTabPage.qml => qml/ScrollableTabPage.qml (100%) rename SecurityPage.qml => qml/SecurityPage.qml (100%) rename SelectLogicModeItem.qml => qml/SelectLogicModeItem.qml (100%) rename SelectPhaseSwitchModeItem.qml => qml/SelectPhaseSwitchModeItem.qml (100%) rename SensorsConfigurationPage.qml => qml/SensorsConfigurationPage.qml (100%) rename SetPriceLimitPage.qml => qml/SetPriceLimitPage.qml (100%) rename SetValueHelper.qml => qml/SetValueHelper.qml (100%) rename SettingsTabPage.qml => qml/SettingsTabPage.qml (100%) rename SimpleNavigationItem.qml => qml/SimpleNavigationItem.qml (100%) rename StartStopButton.qml => qml/StartStopButton.qml (100%) rename SwitchLanguagePage.qml => qml/SwitchLanguagePage.qml (100%) rename TimeComponentLabel.qml => qml/TimeComponentLabel.qml (100%) rename TimePicker.qml => qml/TimePicker.qml (100%) rename TimePickerDialog.qml => qml/TimePickerDialog.qml (100%) rename TimePickerLabel.qml => qml/TimePickerLabel.qml (100%) rename VerticalTabButton.qml => qml/VerticalTabButton.qml (100%) rename WhiteBox.qml => qml/WhiteBox.qml (100%) rename WhiteCheckDelegate.qml => qml/WhiteCheckDelegate.qml (100%) rename WhiteItemDelegate.qml => qml/WhiteItemDelegate.qml (100%) rename WhiteSwipeDelegate.qml => qml/WhiteSwipeDelegate.qml (100%) rename WiFiErrorsPage.qml => qml/WiFiErrorsPage.qml (100%) rename WiFiPage.qml => qml/WiFiPage.qml (100%) rename WiFiScanPage.qml => qml/WiFiScanPage.qml (100%) rename {icons => qml/icons}/Alarm.svg (100%) rename {icons => qml/icons}/Charger.svg (100%) rename {icons => qml/icons}/ChargerV3.svg (100%) rename {icons => qml/icons}/ChargerV4.svg (100%) rename {icons => qml/icons}/Charts.svg (100%) rename {icons => qml/icons}/Controller.svg (100%) rename {icons => qml/icons}/EcoModeFilled.svg (100%) rename {images => qml/images}/controller.png (100%) rename {images => qml/images}/geminiFix.png (100%) rename {images => qml/images}/geminiFlex.png (100%) rename {images => qml/images}/homeFix.png (100%) rename {images => qml/images}/homePlus.png (100%) rename {images => qml/images}/phoenix.png (100%) rename {images => qml/images}/wattpilot.png (100%) rename {material-icons => qml/material-icons}/add.svg (100%) rename {material-icons => qml/material-icons}/grid_guides.svg (100%) rename {material-icons => qml/material-icons}/settings.svg (100%) rename qmldir => qml/qmldir (100%) rename {ui-icons => qml/ui-icons}/MaterialIcons-Regular.ttf (100%) rename {ui-icons => qml/ui-icons}/material-design-icons.LICENSE (100%) rename apikeyvaluehelper.cpp => src/apikeyvaluehelper.cpp (100%) rename apikeyvaluehelper.h => src/apikeyvaluehelper.h (100%) rename appsettings.cpp => src/appsettings.cpp (100%) rename appsettings.h => src/appsettings.h (100%) rename deviceconnection.cpp => src/deviceconnection.cpp (100%) rename deviceconnection.h => src/deviceconnection.h (100%) rename devicesmodel.cpp => src/devicesmodel.cpp (100%) rename devicesmodel.h => src/devicesmodel.h (100%) rename main.cpp => src/main.cpp (100%) rename sendmessagehelper.cpp => src/sendmessagehelper.cpp (100%) rename sendmessagehelper.h => src/sendmessagehelper.h (100%) diff --git a/CMakeLists.txt b/CMakeLists.txt index ff5ac2f..3987720 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -20,17 +20,22 @@ find_package(Qt6 REQUIRED COMPONENTS Core Gui Widgets Quick WebSockets LinguistT qt_standard_project_setup(REQUIRES 6.6 I18N_TRANSLATED_LANGUAGES de) qt_add_executable(evcharger-app WIN32 MACOSX_BUNDLE - apikeyvaluehelper.cpp - apikeyvaluehelper.h - appsettings.cpp - appsettings.h - deviceconnection.cpp - deviceconnection.h - devicesmodel.cpp - devicesmodel.h - main.cpp - sendmessagehelper.cpp - sendmessagehelper.h + src/apikeyvaluehelper.cpp + src/apikeyvaluehelper.h + src/appsettings.cpp + src/appsettings.h + src/deviceconnection.cpp + src/deviceconnection.h + src/devicesmodel.cpp + src/devicesmodel.h + src/main.cpp + src/sendmessagehelper.cpp + src/sendmessagehelper.h +) + +target_include_directories(evcharger-app + PRIVATE + src ) qt6_add_translations(evcharger-app @@ -50,112 +55,112 @@ qt_add_qml_module(evcharger-app URI EVChargerApp VERSION 1.0 QML_FILES - AboutPage.qml - AccessPage.qml - AddDeviceScreen.qml - AnimatedStackLayout.qml - AnimatedStackView.qml - ApiKeyValueItem.qml - ApiSettingsPage.qml - AppInstance.qml - AppSettingsPage.qml - BaseNavigationPage.qml - CablePage.qml - CarPage.qml - CellularPage.qml - CenteredDialog.qml - ChargerTabPage.qml - ChargingConfigurationPage.qml - ChargingSpeedPage.qml - CloudPage.qml - CloudUrlsModel.qml - ConfirmingOnOffSwitch.qml - ConnectingScreen.qml - ConnectionPage.qml - Constants.qml - ControllerPage.qml - ControllerTabPage.qml - CurrentLevelsPage.qml - DailyTripPage.qml - DateAndTimePage.qml - DeviceHeaderBar.qml - DeviceListScreen.qml - DeviceScreen.qml - DisplaySettingsPage.qml - DoubleSpinBox.qml - EcoTabPage.qml - EditValueItem.qml - EthernetPage.qml - EVChargerApp.qml - FirmwarePage.qml - FlexibleEnergyTariffPage.qml - GeneralOnOffSwitch.qml - GeneralPage.qml - GridPage.qml - GroundCheckPage.qml - HardwareInformationPage.qml - HotspotPage.qml - InformationsTabPage.qml - KwhLimitPage.qml - LedPage.qml - LicensesPage.qml - LoadBalancingPage.qml - LogicModeButton.qml - MainScreen.qml - MqttPage.qml - NamePage.qml - NavigationItem.qml - NavigationPage.qml - NotificationsPage.qml - OcppPage.qml - PasswordPage.qml - PvSurplusPage.qml - RebootPage.qml - RequestStatusText.qml - SchedulerDayPage.qml - SchedulerPage.qml - ScrollableTabPage.qml - SecurityPage.qml - SelectLogicModeItem.qml - SelectPhaseSwitchModeItem.qml - SensorsConfigurationPage.qml - SetPriceLimitPage.qml - SettingsTabPage.qml - SetValueHelper.qml - SimpleNavigationItem.qml - StartStopButton.qml - SwitchLanguagePage.qml - TimeComponentLabel.qml - TimePickerDialog.qml - TimePickerLabel.qml - TimePicker.qml - VerticalTabButton.qml - WhiteBox.qml - WhiteCheckDelegate.qml - WhiteItemDelegate.qml - WhiteSwipeDelegate.qml - WiFiErrorsPage.qml - WiFiPage.qml - WiFiScanPage.qml + qml/AboutPage.qml + qml/AccessPage.qml + qml/AddDeviceScreen.qml + qml/AnimatedStackLayout.qml + qml/AnimatedStackView.qml + qml/ApiKeyValueItem.qml + qml/ApiSettingsPage.qml + qml/AppInstance.qml + qml/AppSettingsPage.qml + qml/BaseNavigationPage.qml + qml/CablePage.qml + qml/CarPage.qml + qml/CellularPage.qml + qml/CenteredDialog.qml + qml/ChargerTabPage.qml + qml/ChargingConfigurationPage.qml + qml/ChargingSpeedPage.qml + qml/CloudPage.qml + qml/CloudUrlsModel.qml + qml/ConfirmingOnOffSwitch.qml + qml/ConnectingScreen.qml + qml/ConnectionPage.qml + qml/Constants.qml + qml/ControllerPage.qml + qml/ControllerTabPage.qml + qml/CurrentLevelsPage.qml + qml/DailyTripPage.qml + qml/DateAndTimePage.qml + qml/DeviceHeaderBar.qml + qml/DeviceListScreen.qml + qml/DeviceScreen.qml + qml/DisplaySettingsPage.qml + qml/DoubleSpinBox.qml + qml/EcoTabPage.qml + qml/EditValueItem.qml + qml/EthernetPage.qml + qml/EVChargerApp.qml + qml/FirmwarePage.qml + qml/FlexibleEnergyTariffPage.qml + qml/GeneralOnOffSwitch.qml + qml/GeneralPage.qml + qml/GridPage.qml + qml/GroundCheckPage.qml + qml/HardwareInformationPage.qml + qml/HotspotPage.qml + qml/InformationsTabPage.qml + qml/KwhLimitPage.qml + qml/LedPage.qml + qml/LicensesPage.qml + qml/LoadBalancingPage.qml + qml/LogicModeButton.qml + qml/MainScreen.qml + qml/MqttPage.qml + qml/NamePage.qml + qml/NavigationItem.qml + qml/NavigationPage.qml + qml/NotificationsPage.qml + qml/OcppPage.qml + qml/PasswordPage.qml + qml/PvSurplusPage.qml + qml/RebootPage.qml + qml/RequestStatusText.qml + qml/SchedulerDayPage.qml + qml/SchedulerPage.qml + qml/ScrollableTabPage.qml + qml/SecurityPage.qml + qml/SelectLogicModeItem.qml + qml/SelectPhaseSwitchModeItem.qml + qml/SensorsConfigurationPage.qml + qml/SetPriceLimitPage.qml + qml/SettingsTabPage.qml + qml/SetValueHelper.qml + qml/SimpleNavigationItem.qml + qml/StartStopButton.qml + qml/SwitchLanguagePage.qml + qml/TimeComponentLabel.qml + qml/TimePickerDialog.qml + qml/TimePickerLabel.qml + qml/TimePicker.qml + qml/VerticalTabButton.qml + qml/WhiteBox.qml + qml/WhiteCheckDelegate.qml + qml/WhiteItemDelegate.qml + qml/WhiteSwipeDelegate.qml + qml/WiFiErrorsPage.qml + qml/WiFiPage.qml + qml/WiFiScanPage.qml RESOURCES - icons/Charger.svg - icons/ChargerV3.svg - icons/ChargerV4.svg - icons/Controller.svg - icons/Alarm.svg - icons/EcoModeFilled.svg - icons/Charts.svg - images/controller.png - images/geminiFlex.png - images/homeFix.png - images/homePlus.png - images/wattpilot.png - images/phoenix.png - images/geminiFix.png - material-icons/add.svg - material-icons/grid_guides.svg - material-icons/settings.svg - ui-icons/MaterialIcons-Regular.ttf + qml/icons/Charger.svg + qml/icons/ChargerV3.svg + qml/icons/ChargerV4.svg + qml/icons/Controller.svg + qml/icons/Alarm.svg + qml/icons/EcoModeFilled.svg + qml/icons/Charts.svg + qml/images/controller.png + qml/images/geminiFlex.png + qml/images/homeFix.png + qml/images/homePlus.png + qml/images/wattpilot.png + qml/images/phoenix.png + qml/images/geminiFix.png + qml/material-icons/add.svg + qml/material-icons/grid_guides.svg + qml/material-icons/settings.svg + qml/ui-icons/MaterialIcons-Regular.ttf ) set_source_files_properties(Constants.qml PROPERTIES QT_QML_SINGLETON_TYPE TRUE) diff --git a/i18n/qml_de.ts b/i18n/qml_de.ts index 30faba1..dbb0c32 100644 --- a/i18n/qml_de.ts +++ b/i18n/qml_de.ts @@ -4,26 +4,26 @@ AboutPage - - + + About Über - - + + Firmware Firmware - - + + Hardware information Hardwareinformationen - - + + Licenses Lizenzen @@ -31,8 +31,8 @@ AccessPage - - + + Access Zugangskontrolle @@ -40,40 +40,40 @@ AddDeviceScreen - - + + Setup or add device Gerät hinzufügen oder einrichten - - + + Add via local connection or AP: Über lokale Verbindung oder AP einrichten: - - + + Local url Lokale url - - - - + + + + Connect Verbinden - - + + Add via cloud: Über Cloud einrichten: - - + + Cloud Serial Cloud Seriennr. @@ -85,8 +85,8 @@ ApiSettingsPage - - + + API Settings API Einstellungen @@ -99,88 +99,88 @@ Wenn "Cloud Verbindung aktivieren" deaktiviert ist, sind Funktionen wie flexible Energietarife, Zeitsynchronisierung und App-Verbindung über das Internet nicht möglich. - - + + Allow access to local HTTP-Api v2 Zugriff auf die lokale HTTP-API v2 zulassen - - - - - - - - + + + + + + + + API documentation API-Dokumentation - - + + https://github.com/goecharger/go-eCharger-API-v2/blob/main/http-en.md https://github.com/goecharger/go-eCharger-API-v2/blob/main/http-de.md - - + + Generate token Token erzeugen - - + + OK! token: %0 OK! token: %0 - - + + Clear API token API-Token entfernen - - + + Enable cloud API Cloud HTTP API aktivieren - - - - + + + + API key: %0 API key: %0 - - + + https://github.com/goecharger/go-eCharger-API-v2/blob/main/cloudapi-en.md https://github.com/goecharger/go-eCharger-API-v2/blob/main/cloudapi-de.md - - + + Enable grid API Netzbetreiber-API aktiviert - - + + https://github.com/goecharger/go-eCharger-API-v2/blob/main/gridapi-en.md https://github.com/goecharger/go-eCharger-API-v2/blob/main/gridapi-de.md - - + + Allow access to legacy HTTP-Api v1 Zugriff auf lokale HTTP-API v1 zulassen - - + + https://github.com/goecharger/go-eCharger-API-v1/blob/master/go-eCharger%20API%20v1%20EN.md https://github.com/goecharger/go-eCharger-API-v1/blob/master/go-eCharger%20API%20v1%20DE.md @@ -188,48 +188,48 @@ AppSettingsPage - - + + App Settings App Einstellungen - - + + Number of app instances: Anzahl an App Instanzen: - - + + solalaweb key: solalaweb key: - - - - + + + + Select... Auswählen... - - - - + + + + Replace... Ersetzen... - - + + solalaweb cert: solalaweb cert: - - + + Show solalaweb: Zeige solalaweb: @@ -237,8 +237,8 @@ BaseNavigationPage - - + + Back Zurück @@ -246,8 +246,8 @@ CablePage - - + + Cable Kabel @@ -255,8 +255,8 @@ CarPage - - + + Car Auto @@ -264,98 +264,98 @@ CellularPage - - + + Cellular Mobilfunk - - + + Are you sure? Sind Sie sicher? - - + + Disabling Cellular could make your device unreachable from the cloud! Wenn die Mobilfunkverbindung ausgeschaltet wird, kann Ihr Gerät unerreichbar werden, wenn die App über Mobilfunk verbunden ist! - - + + APN APN - - + + PIN PIN - - + + Username Benutzername - - + + Password Passwort - - + + Show technical details of LTE modem Technische Informationen des LTE Modems anzeigen - - + + Initialization status: Initialisierungsstatus: - - + + IMEI: IMEI: - - + + IMSI: IMSI: - - + + Pin status: Pin Status: - - + + Operator name: Netzbetreibername: - - + + Signal quality: Signalstärke: - - + + Current system mode: Aktuelle Verbindungsart: - - + + IP Address: IP Adresse: @@ -367,192 +367,192 @@ Geräte - - + + Internal error Interner Fehler - - + + No car connected Kein Auto angeschlossen - - + + Car is charging Auto wird geladen - - + + Connecting to your car... Verbinde mit Auto... - - + + Charging completed Ladevorgang abgeschlossen - - + + Unknown error %0 Unbekannter Fehler %0 - - + + Plug in the cable to start charging your car Stecke das Kabel ein, um dein Auto aufzuladen - - + + Duration: %0 Dauer: %0 - - + + Speed: %0 Geschwindigkeit: %0 - - + + Amount: %0 Menge: %0 - - + + Charger is connecting to your car, it usually takes a few seconds Der Charger stellt die Verbindung zu deinem Auto her, das dauert in der Regel ein paar Sekunden - - + + Let's go-e :) Let's go-e :) - - + + (api key doesnt exist) (api key existiert nicht) - - + + (api key is null) (api key is null) - - + + (api key is not an object) (api key ist kein Objekt) - - + + (api key does not contain a type) (api key beinhaltet keinen Typ) - - + + (api key has unknown type %0) (api key hat unbekannten Typ %0) - - + + %0 %1 %2 %0 %1 %2 - - - - - - + + + + + + %0 A %0 A - - + + %0 kWh %0 kWh - - + + Price limit Preisgrenze - - + + %0 ct/kWh %0 ct/kWh - - + + By %0 with %1 Bis %0 mit %1 - - + + %0 km %0 km - - + + Charging speed Ladegeschwindigkeit - - + + %0 & %1 %0 & %1 - - + + %0 Ampere %0 Ampere - - + + Automatic phase selection Automatische Phasenwahl - - + + 1-phase 1-phasig - - + + 3-phase 3-phasig - - + + Unknown phase selection (%0) Unbekannte Phasen Selektion (%0) @@ -569,8 +569,8 @@ Start - - + + Daily trip Daily trip @@ -578,62 +578,62 @@ ChargingConfigurationPage - - + + Charging configuration Konfiguration des Ladevorgangs - - + + Charging Speed Ladegeschwindigkeit - - + + kWh Limit kWh Limit - - + + Daily Trip Daily Trip - - + + Flexible energy tariff Flexibler Energietarif - - + + PV Surplus PV-Überschuss - - + + Load Balancing Lastmanagement - - + + Scheduler Ladetimer - - + + Current Levels Strompegel - - + + Car Auto @@ -641,8 +641,8 @@ ChargingSpeedPage - - + + Charging Speed Ladegeschwindigkeit @@ -650,62 +650,62 @@ CloudPage - - + + Cloud Cloud - - + + Enable cloud connection Cloud Verbindung aktivieren - - + + Are you sure? Sind Sie sicher? - - + + Disabling could connection could make your device unreachable from other places than home! Wenn die Cloud-Verbindung ausgeschaltet wird, kann Ihr Gerät unerreichbar werden, wenn Sie sich nicht zuhause im Heimnetzwerk befinden! - - + + Features like flexible energy tariffs, time sync and app connection are unavilable when "Enable cloud connection" is disabled Wenn "Cloud Verbindung aktivieren" deaktiviert ist, sind Funktionen wie flexible Energietarife, Zeitsynchronisierung und App-Verbindung über das Internet nicht möglich - - + + Trying to connect: Versuche zu verbinden: - - + + Is connected: Ist verbunden: - - + + Hello received: Hallo empfangen: - - + + Queue size cloud: Cloud Warteschlagengröße: - - + + Last error: Letzer Fehler: @@ -713,32 +713,32 @@ CloudUrlsModel - - + + V2 V2 - - + + Wattpilot Wattpilot - - + + go-eCharger go-eCharger - - + + go-eController go-eController - - + + Solalaweb Solalaweb @@ -746,20 +746,20 @@ ConfirmingOnOffSwitch - - + + On An - - + + Off Aus - - + + Unknown Unbekannt @@ -767,14 +767,14 @@ ConnectingScreen - - + + Trying to reach device... Versuche Gerät zu erreichen... - - + + Cancel Abbrechen @@ -782,56 +782,56 @@ ConnectionPage - - + + Connection Verbindung - - + + Wi-Fi WLAN - - + + Cellular Mobilfunk - - + + Hotspot Hotspot - - + + Ethernet Ethernet - - + + OCPP OCPP - - + + Cloud Cloud - - + + MQTT MQTT - - + + API Settings API Einstellungen @@ -839,8 +839,8 @@ ControllerPage - - + + Controller Controller @@ -852,14 +852,14 @@ Geräte - - + + Connected Verbunden - - + + Category Kategorie @@ -867,8 +867,8 @@ CurrentLevelsPage - - + + Current Levels Strompegel @@ -876,8 +876,8 @@ DailyTripPage - - + + Daily Trip Daily Trip @@ -885,8 +885,8 @@ DateAndTimePage - - + + Date and time Datum und Uhrzeit @@ -894,212 +894,212 @@ DeviceConnection - + Connecting to %0 Verbinde zu %0 - + Received something that is not a json object! - + Received something that does not contain a type! - + Received something with a non-string type! - + Received hello without serial! - + Received hello with a non-string serial! - + Received hello with a non-bool secured! - + Received hello without manufacturer! - + Received hello with a non-string manufacturer! - + Received hello without friendly_name! - + Received hello with a non-string friendly_name! - + Received hello without devicetype! - + Could not parse solalaweb certificate! - + Could not parse solalaweb key! - + Received hello with a non-string devicetype! - + Received authRequired without token1! - + Received authRequired with a non-string token1! - + Received authRequired without token2! - + Received authRequired with a non-string token2! - + Received fullStatus with a non-bool partial! - + Received fullStatus without a status! - + Received fullStatus with a non-object status! - + Received partial fullStatus - + Received last fullStatus - + Received deltaStatus without a status! - + Received deltaStatus with a non-object status! - + Received message type %0 %1 - + Received message with a non-string requestId! - + Sending %0 - + Connected! Verbunden! - + Disconnected! Verbindung verloren! - + Reconnecting to %0 Verbinde wieder zu %0 - + state changed: %0 - + could not parse received json: %0 at offset %1 - + unknown binary message type %0 received - + error occured: %0 - + ssl peer verify error - + ssl errors - + ssl alert sent level=%0 type=%1 description=%2 - + ssl alert received level=%0 type=%1 description=%2 - + ssl handshake interrupted on error - + unknown response type %0 @@ -1107,8 +1107,8 @@ DeviceHeaderBar - - + + Devices Geräte @@ -1132,62 +1132,62 @@ Cloud Seriennr. - - + + Device list Geräteliste - - + + App Settings App Einstellungen - - + + My devices Meine Geräte - - + + Found devices Im Netzwerk verfügbare Geräte - - + + Delete Löschen - - + + Serial Number %0 Seriennummer %0 - - + + Local Lokal - - + + Cloud Cloud - - + + Solala Solala - - + + Add or setup device Gerät hinzufügen oder einrichten @@ -1208,14 +1208,14 @@ Meine Geräte: - - + + Manufacturer: Hersteller: - - + + Device Type: Gerätetyp: @@ -1224,14 +1224,14 @@ Anzeigename: - - + + Host Name: Host Name: - - + + Ip: Ip: @@ -1251,38 +1251,38 @@ DeviceScreen - - + + Password required Passwort erforderlich - - + + Password: Passwort: - - + + Password Passwort - - + + Authentication impossible! Authentifizierung unmöglich! - - + + To use this password remotely a password has to be setup first. This can be done over the AccessPoint. Um dieses Gerät aus der Ferne nutzen zu können, müssen Sie erst ein Passwort einrichten. Dies kann über den AccessPoint gemacht werden. - - + + Connection disturbed Verbindung schwer gestört @@ -1290,8 +1290,8 @@ DevicesModel - - + + Device %0 Gerät %0 @@ -1299,8 +1299,8 @@ DisplaySettingsPage - - + + Display settings Display @@ -1308,8 +1308,8 @@ EVChargerApp - - + + EVcharger App EVcharger App @@ -1317,46 +1317,46 @@ EcoTabPage - - + + Eco Eco - - - - + + + + Flexible energy tariff Flexibler Energietarif - - + + PV Surplus PV-Überschuss - - + + About eco Über Eco - - + + We offer to charge your car during periods of low electricity price, If you have an electricity contract based on flexible energy tariffs. Du kannst dein Auto in Zeiten niedriger Strompreise aufladen, sofern du einen Stromvertrag mit flexiblen Tarifen hast. - - + + PV surplus energy PV-Überschuss - - + + By connecting a PV system and a controller to your charger, you can charge your EV particularly cheaply and use clean energy at the same time. Wenn du eine PV-Anlage und einen Controller an deinen Charger anschließt, kannst du dein Elektroauto besonders günstig aufladen und gleichzeitig grüne Energie nutzen. @@ -1364,8 +1364,8 @@ EthernetPage - - + + Ethernet Ethernet @@ -1373,68 +1373,68 @@ FirmwarePage - - + + Firmware Firmware - - + + Update: Update: - - + + Start Start - - + + Abort Abbrechen - - + + Switch partition Partition tauschen - - + + Update status: Update status: - - + + Update progress: Update Fortschritt: - - + + Update message: Update Meldung: - - + + Recommended version: Empfohlene Version: - - + + Running version: Ausgeführte Version: - - + + Details: Details: @@ -1442,28 +1442,28 @@ FlexibleEnergyTariffPage - - + + Flexible energy tariff Flexibler Energietarif - - - - + + + + Charge with flexible energy tariff Laden mit flexiblen Stromtarif - - + + Price limit Preisgrenze - - + + %0 ct/kWh %0 ct/kWh @@ -1478,20 +1478,20 @@ GeneralOnOffSwitch - - + + On An - - + + Off Aus - - + + Unknown Unbekannt @@ -1499,56 +1499,56 @@ GeneralPage - - + + General Allgemein - - + + Name Name - - + + Switch Language Sprache ändern - - + + Notifications Benachrichtigungen - - + + Date and time Datum und Uhrzeit - - + + LED LED - - + + Controller Controller - - + + Display settings Display - - + + Reboot Neustart @@ -1556,8 +1556,8 @@ GridPage - - + + Grid Netz @@ -1565,8 +1565,8 @@ GroundCheckPage - - + + Ground check Erdungsprüfung @@ -1574,26 +1574,26 @@ HardwareInformationPage - - + + Hardware information Hardwareinformationen - - + + Serial Number: Seriennummer: - - + + Variant: Variante: - - + + RSSI: RSSI: @@ -1601,32 +1601,32 @@ HotspotPage - - + + Hotspot Hotspot - - + + Disable AP when online AP ausschalten wenn online - - + + SSID SSID - - + + Password Passwort - - + + Channel Kanal @@ -1634,8 +1634,8 @@ KwhLimitPage - - + + kWh Limit kWh Limit @@ -1643,8 +1643,8 @@ LedPage - - + + LED LED @@ -1652,8 +1652,8 @@ LicensesPage - - + + Licenses Lizenzen @@ -1661,8 +1661,8 @@ LoadBalancingPage - - + + Load Balancing Lastmanagement @@ -1670,62 +1670,62 @@ MainScreen - - + + %0 ago vor %0 - - + + in %0 in %0 - - - - + + + + Charger Charger - - - - + + + + Eco Eco - - - - + + + + Controller Controller - - - - - - - - + + + + + + + + Infromations Informationen - - - - - - - - + + + + + + + + Settings Einstellungen @@ -1733,104 +1733,104 @@ MqttPage - - + + MQTT MQTT - - + + Broker url Broker url - - + + API documentation API-Dokumentation - - + + https://github.com/goecharger/go-eCharger-API-v2/blob/main/mqtt-en.md https://github.com/goecharger/go-eCharger-API-v2/blob/main/mqtt-de.md - - + + Trying to connect: Versuche zu verbinden: - - + + Is connected: Ist verbunden: - - + + Connected since: Verbunden seit: - - + + Command Counter: Befehlszähler: - - + + Last error: Letzer Fehler: - - + + Last error age: Alter des letzten Fehlers: - - + + Use global CA store Verwende den global CA Store - - + + Skip cert commonName check commonName Überprüfung überspringen - - + + Skip server cert verification Server Zertifikat Überprüfung überspringen - - + + MQTT readonly MQTT nur-lesend - - + + Topic prefix Topic prefix - - + + Homeassistant autodiscover Homeassistant autodiscover - - + + Homeassistant topic prefix Homeassistant topic prefix @@ -1838,10 +1838,10 @@ NamePage - - - - + + + + Name Name @@ -1856,8 +1856,8 @@ NotificationsPage - - + + Notifications Benachrichtigungen @@ -1865,206 +1865,206 @@ OcppPage - - + + OCPP OCPP - - + + Backend url Backend url - - + + API documentation API-Dokumentation - - + + https://github.com/goecharger/go-eCharger-API-v2/blob/main/ocpp-en.md https://github.com/goecharger/go-eCharger-API-v2/blob/main/ocpp-de.md - - + + Trying to connect: Versuche zu verbinden: - - + + Is connected: Ist verbunden: - - + + Connected since: Verbunden seit: - - + + Is accepted: Ist akzeptiert: - - + + Accepted since: Akzeptiert seit: - - + + Last error: Letzer Fehler: - - + + Last error age: Alter des letzten Fehlers: - - + + Chargepoint status: Chargepoint Status: - - + + Available - - + + Preparing - - + + Charging - - + + SuspendedEVSE - - + + SuspendedEV - - + + Finishing - - + + Reserved - - + + Unavailable - - + + Faulted - - + + Use global CA store Verwende den global CA Store - - + + Skip cert commonName check commonName Überprüfung überspringen - - + + Skip server cert verification Server Zertifikat Überprüfung überspringen - - + + Heartbeat interval: Heartbeat Intervall: - - + + MeterValues sample interval: MeterValues Sample Intervall: - - + + Clock aligned data interval: Clock Aligned Data Intervall: - - + + Dummy card id Dummy Karten-ID - - + + Rotate phases on charger Phasen am Charger rotieren - - + + Allow Offline Tx For UnknownId - - + + Local Authorize Offline - - + + Local Auth List Enabled - - + + Accept time from backend - - + + Set as inoperable Als Unverfügbar setzen @@ -2072,8 +2072,8 @@ PasswordPage - - + + Password Passwort @@ -2081,14 +2081,14 @@ PvSurplusPage - - + + PV Surplus PV-Überschuss - - + + Charging with PV surplus Laden mit PV-Überschuss @@ -2096,8 +2096,8 @@ RebootPage - - + + Reboot Neustart @@ -2112,14 +2112,14 @@ SchedulerDayPage - - + + Scheduler day Ladetimer Tag - - + + 24 Hour 24 Stunden @@ -2127,80 +2127,80 @@ SchedulerPage - - + + Scheduler Ladetimer - - + + About Schedule Über den Ladetimer - - + + Customize your charging routine on workdays, Saturdays, and Sundays. Define specific time slots for charging or blocking to perfectly align with your weekly schedule. Schedule can only start charging if all other functions like eco or access settings allow charging. Passe deine Laderoutine an Werktagen, Samstagen und Sonntagen an. Lege bestimmte Zeitfenster für das Aufladen oder Blockieren fest, um deinen Wochenplan perfekt abzustimmen. Der Ladevorgang kann nur gestartet werden, wenn alle anderen Funktionen wie Eco Modus oder Zugangskontrolle das Laden zulassen. - - + + Charging schedule Laden erlauben - - + + go-e Charger will exclusively charge your car during the time slots you set, and won't charge for the rest of the time. go-e Charger wird das Fahrzeug ausschließlich in den von dir eingestellten Zeitfenstern aufladen und in der restlichen Zeit nicht laden. - - + + Blocking schedule Laden blockieren - - + + go-e Charger will block charging your car during the time slots you set, but it will charge your car for the rest of the time. go-e Charger wird das Aufladen deines Fahrzeugs während des von dir eingestellten Zeitfensters verhindern. In der restlichen Zeit kann dein Auto geladen werden. - - + + Workdays Wochentags - - + + Create workdays schedule Wochentags-Ladetimer erstellen - - + + Saturdays Samstags - - + + Create saturdays schedule Samstags-Ladetimer erstellen - - + + Sundays Sonntags - - + + Create sundays schedule Sonntags-Ladetimer erstellen @@ -2228,38 +2228,38 @@ SecurityPage - - + + Security Sicherheit - - + + Cable Kabel - - + + Access Zugangskontrolle - - + + Password Passwort - - + + Grid Netz - - + + Ground check Erdungsprüfung @@ -2267,38 +2267,38 @@ SelectLogicModeItem - - + + Eco Eco - - + + Eco-friendly & cost effective Nachhaltig & Wirtschaftlich - - + + Basic Basic - - + + Basic charging Einfaches Laden - - + + Daily trip Daily trip - - + + Specific energy and time Energie zur bestimmten Zeit @@ -2306,26 +2306,26 @@ SelectPhaseSwitchModeItem - - + + Phase switching Phasen wechseln - - + + Automatic Automatisch - - + + 1-Phase 1-phasig - - + + 3-Phase 3-phasig @@ -2333,7 +2333,7 @@ SendMessageHelper - + No device connection set! @@ -2341,8 +2341,8 @@ SensorsConfigurationPage - - + + Sensors Configuration Sensorkonfiguration @@ -2350,26 +2350,26 @@ SetPriceLimitPage - - + + Set price limit Preisgrenze festlegen - - + + Set a proper price limit for charging, so charging starts when the electricity price is below this limit. Also, you can see the charging forecast chart below based on the limit that you define. Lege eine angemessene Preisgrenze für das Laden fest, sodass das Laden beginnt, wenn der Strompreis unter dieser Grenze liegt. Außerdem siehst du unten ein Diagramm mit der Ladeprognose, die auf dem von dir festgelegten Grenzwert basiert. - - + + Price limit Preisgrenze - - + + %0 ct/kWh %0 ct/kWh @@ -2377,194 +2377,194 @@ SettingsTabPage - - + + Settings Einstellungen - - + + Charging configuration Konfiguration des Ladevorgangs - - + + Charging Speed Ladegeschwindigkeit - - + + kWh Limit kWh Limit - - + + Daily Trip Daily Trip - - + + Flexible energy tariff Flexibler Energietarif - - + + PV Surplus PV-Überschuss - - + + Cable Kabel - - + + Access Zugangskontrolle - - + + Password Passwort - - + + Grid Netz - - + + Ground check Erdungsprüfung - - + + Sensors Sensoren - - + + Categories Kategorien - - + + Wi-Fi WLAN - - + + Cellular Mobilfunk - - + + Hotspot Hotspot - - + + Ethernet Ethernet - - + + OCPP OCPP - - + + Cloud Cloud - - + + MQTT MQTT - - + + API Settings API Einstellungen - - + + Name Name - - + + Switch Language Sprache ändern - - + + Notifications Benachrichtigungen - - + + Date and time Datum und Uhrzeit - - + + LED LED - - + + Controller Controller - - + + Display settings Display - - + + Firmware Firmware - - + + Hardware information Hardwareinformationen - - + + Licenses Lizenzen @@ -2573,8 +2573,8 @@ Ladegeschwindigkeit • kWh Limit • Daily Trip • Flexibler Energietraif • PV Überschussladen - - + + Security Sicherheit @@ -2583,8 +2583,8 @@ Kabel • Zugangskontrolle • Passwort • Netz • Erdungsprüfung - - + + Sensors Configuration Sensorkonfiguration @@ -2593,8 +2593,8 @@ Sensoren • Kategorien - - + + Connection Verbindung @@ -2603,8 +2603,8 @@ WLAN • Hotspot • OCPP • API Einstellungen - - + + General Allgemein @@ -2613,8 +2613,8 @@ Name • Sprache ändern • Benachrichtigungen • Datum und Uhrzeit • LED • Controller - - + + About Über @@ -2626,14 +2626,14 @@ StartStopButton - - + + Stop Stop - - + + Start Start @@ -2641,8 +2641,8 @@ SwitchLanguagePage - - + + Switch Language Sprache ändern @@ -2650,14 +2650,14 @@ TimePickerLabel - - + + AM AM - - + + PM PM @@ -2665,32 +2665,32 @@ WiFiErrorsPage - - + + Wi-Fi Errors WLAN Probleme - - + + Timestamp: Zeitpunkt: - - + + SSID: SSID: - - + + BSSID: BSSID: - - + + Reason: Grund: @@ -2717,56 +2717,56 @@ WiFiPage - - + + Wi-Fi WLAN - - + + Are you sure? Sind Sie sicher? - - + + Disabling Wi-Fi could make your device unreachable from your local homenetwork or the cloud! Wenn die WLAN-Verbindung ausgeschaltet wird, kann Ihr Gerät im Heimnetzwerk und über die Cloud unerreichbar werden! - - + + Status: Status: - - + + (%0) Wi-Fi Scan (%0) Wi-Fi Scan - - + + (%0) Wi-Fi Errors (%0) WLAN Probleme - - + + Min RSSI Min RSSI - - + + Pmf capable Pmf fähig - - + + Pmf required Pmf erforderlich @@ -2774,128 +2774,128 @@ WiFiScanPage - - + + Wi-Fi Scan Result WLAN Scan Result - - + + SSID: SSID: - - + + Authmode: Authentifizierungsart: - - + + OPEN - - + + WEP - - + + WPA_PSK - - + + WPA2_PSK - - + + WPA_WPA2_PSK - - + + WPA2_ENTERPRISE - - + + WPA3_PSK - - + + WPA2_WPA3_PSK - - + + WAPI_PSK - - + + OWE - - + + WPA3_ENT_192 - - + + WPA3_EXT_PSK - - + + WPA3_EXT_PSK_MIXED_MODE - - + + Pairwise cipher: Paarweise Cipher: - - + + Group cipher: Gruppen Cipher: - - + + RSSI: RSSI: - - + + Channel: Kanal: - - + + BSSID: BSSID: diff --git a/AboutPage.qml b/qml/AboutPage.qml similarity index 100% rename from AboutPage.qml rename to qml/AboutPage.qml diff --git a/AccessPage.qml b/qml/AccessPage.qml similarity index 100% rename from AccessPage.qml rename to qml/AccessPage.qml diff --git a/AddDeviceScreen.qml b/qml/AddDeviceScreen.qml similarity index 100% rename from AddDeviceScreen.qml rename to qml/AddDeviceScreen.qml diff --git a/AnimatedStackLayout.qml b/qml/AnimatedStackLayout.qml similarity index 100% rename from AnimatedStackLayout.qml rename to qml/AnimatedStackLayout.qml diff --git a/AnimatedStackView.qml b/qml/AnimatedStackView.qml similarity index 100% rename from AnimatedStackView.qml rename to qml/AnimatedStackView.qml diff --git a/ApiKeyValueItem.qml b/qml/ApiKeyValueItem.qml similarity index 100% rename from ApiKeyValueItem.qml rename to qml/ApiKeyValueItem.qml diff --git a/ApiSettingsPage.qml b/qml/ApiSettingsPage.qml similarity index 100% rename from ApiSettingsPage.qml rename to qml/ApiSettingsPage.qml diff --git a/AppInstance.qml b/qml/AppInstance.qml similarity index 100% rename from AppInstance.qml rename to qml/AppInstance.qml diff --git a/AppSettingsPage.qml b/qml/AppSettingsPage.qml similarity index 100% rename from AppSettingsPage.qml rename to qml/AppSettingsPage.qml diff --git a/BaseNavigationPage.qml b/qml/BaseNavigationPage.qml similarity index 100% rename from BaseNavigationPage.qml rename to qml/BaseNavigationPage.qml diff --git a/CablePage.qml b/qml/CablePage.qml similarity index 100% rename from CablePage.qml rename to qml/CablePage.qml diff --git a/CarPage.qml b/qml/CarPage.qml similarity index 100% rename from CarPage.qml rename to qml/CarPage.qml diff --git a/CellularPage.qml b/qml/CellularPage.qml similarity index 100% rename from CellularPage.qml rename to qml/CellularPage.qml diff --git a/CenteredDialog.qml b/qml/CenteredDialog.qml similarity index 100% rename from CenteredDialog.qml rename to qml/CenteredDialog.qml diff --git a/ChargerTabPage.qml b/qml/ChargerTabPage.qml similarity index 100% rename from ChargerTabPage.qml rename to qml/ChargerTabPage.qml diff --git a/ChargingConfigurationPage.qml b/qml/ChargingConfigurationPage.qml similarity index 100% rename from ChargingConfigurationPage.qml rename to qml/ChargingConfigurationPage.qml diff --git a/ChargingSpeedPage.qml b/qml/ChargingSpeedPage.qml similarity index 100% rename from ChargingSpeedPage.qml rename to qml/ChargingSpeedPage.qml diff --git a/CloudPage.qml b/qml/CloudPage.qml similarity index 100% rename from CloudPage.qml rename to qml/CloudPage.qml diff --git a/CloudUrlsModel.qml b/qml/CloudUrlsModel.qml similarity index 100% rename from CloudUrlsModel.qml rename to qml/CloudUrlsModel.qml diff --git a/ConfirmingOnOffSwitch.qml b/qml/ConfirmingOnOffSwitch.qml similarity index 100% rename from ConfirmingOnOffSwitch.qml rename to qml/ConfirmingOnOffSwitch.qml diff --git a/ConnectingScreen.qml b/qml/ConnectingScreen.qml similarity index 100% rename from ConnectingScreen.qml rename to qml/ConnectingScreen.qml diff --git a/ConnectionPage.qml b/qml/ConnectionPage.qml similarity index 100% rename from ConnectionPage.qml rename to qml/ConnectionPage.qml diff --git a/Constants.qml b/qml/Constants.qml similarity index 100% rename from Constants.qml rename to qml/Constants.qml diff --git a/ControllerPage.qml b/qml/ControllerPage.qml similarity index 100% rename from ControllerPage.qml rename to qml/ControllerPage.qml diff --git a/ControllerTabPage.qml b/qml/ControllerTabPage.qml similarity index 100% rename from ControllerTabPage.qml rename to qml/ControllerTabPage.qml diff --git a/CurrentLevelsPage.qml b/qml/CurrentLevelsPage.qml similarity index 100% rename from CurrentLevelsPage.qml rename to qml/CurrentLevelsPage.qml diff --git a/DailyTripPage.qml b/qml/DailyTripPage.qml similarity index 100% rename from DailyTripPage.qml rename to qml/DailyTripPage.qml diff --git a/DateAndTimePage.qml b/qml/DateAndTimePage.qml similarity index 100% rename from DateAndTimePage.qml rename to qml/DateAndTimePage.qml diff --git a/DeviceHeaderBar.qml b/qml/DeviceHeaderBar.qml similarity index 100% rename from DeviceHeaderBar.qml rename to qml/DeviceHeaderBar.qml diff --git a/DeviceListScreen.qml b/qml/DeviceListScreen.qml similarity index 100% rename from DeviceListScreen.qml rename to qml/DeviceListScreen.qml diff --git a/DeviceScreen.qml b/qml/DeviceScreen.qml similarity index 100% rename from DeviceScreen.qml rename to qml/DeviceScreen.qml diff --git a/DisplaySettingsPage.qml b/qml/DisplaySettingsPage.qml similarity index 100% rename from DisplaySettingsPage.qml rename to qml/DisplaySettingsPage.qml diff --git a/DoubleSpinBox.qml b/qml/DoubleSpinBox.qml similarity index 100% rename from DoubleSpinBox.qml rename to qml/DoubleSpinBox.qml diff --git a/EVChargerApp.qml b/qml/EVChargerApp.qml similarity index 100% rename from EVChargerApp.qml rename to qml/EVChargerApp.qml diff --git a/EcoTabPage.qml b/qml/EcoTabPage.qml similarity index 100% rename from EcoTabPage.qml rename to qml/EcoTabPage.qml diff --git a/EditValueItem.qml b/qml/EditValueItem.qml similarity index 100% rename from EditValueItem.qml rename to qml/EditValueItem.qml diff --git a/EthernetPage.qml b/qml/EthernetPage.qml similarity index 100% rename from EthernetPage.qml rename to qml/EthernetPage.qml diff --git a/FirmwarePage.qml b/qml/FirmwarePage.qml similarity index 100% rename from FirmwarePage.qml rename to qml/FirmwarePage.qml diff --git a/FlexibleEnergyTariffPage.qml b/qml/FlexibleEnergyTariffPage.qml similarity index 100% rename from FlexibleEnergyTariffPage.qml rename to qml/FlexibleEnergyTariffPage.qml diff --git a/GeneralOnOffSwitch.qml b/qml/GeneralOnOffSwitch.qml similarity index 100% rename from GeneralOnOffSwitch.qml rename to qml/GeneralOnOffSwitch.qml diff --git a/GeneralPage.qml b/qml/GeneralPage.qml similarity index 100% rename from GeneralPage.qml rename to qml/GeneralPage.qml diff --git a/GridPage.qml b/qml/GridPage.qml similarity index 100% rename from GridPage.qml rename to qml/GridPage.qml diff --git a/GroundCheckPage.qml b/qml/GroundCheckPage.qml similarity index 100% rename from GroundCheckPage.qml rename to qml/GroundCheckPage.qml diff --git a/HardwareInformationPage.qml b/qml/HardwareInformationPage.qml similarity index 100% rename from HardwareInformationPage.qml rename to qml/HardwareInformationPage.qml diff --git a/HotspotPage.qml b/qml/HotspotPage.qml similarity index 100% rename from HotspotPage.qml rename to qml/HotspotPage.qml diff --git a/InformationsTabPage.qml b/qml/InformationsTabPage.qml similarity index 100% rename from InformationsTabPage.qml rename to qml/InformationsTabPage.qml diff --git a/KwhLimitPage.qml b/qml/KwhLimitPage.qml similarity index 100% rename from KwhLimitPage.qml rename to qml/KwhLimitPage.qml diff --git a/LedPage.qml b/qml/LedPage.qml similarity index 100% rename from LedPage.qml rename to qml/LedPage.qml diff --git a/LicensesPage.qml b/qml/LicensesPage.qml similarity index 100% rename from LicensesPage.qml rename to qml/LicensesPage.qml diff --git a/LoadBalancingPage.qml b/qml/LoadBalancingPage.qml similarity index 100% rename from LoadBalancingPage.qml rename to qml/LoadBalancingPage.qml diff --git a/LogicModeButton.qml b/qml/LogicModeButton.qml similarity index 100% rename from LogicModeButton.qml rename to qml/LogicModeButton.qml diff --git a/MainScreen.qml b/qml/MainScreen.qml similarity index 100% rename from MainScreen.qml rename to qml/MainScreen.qml diff --git a/MqttPage.qml b/qml/MqttPage.qml similarity index 100% rename from MqttPage.qml rename to qml/MqttPage.qml diff --git a/NamePage.qml b/qml/NamePage.qml similarity index 100% rename from NamePage.qml rename to qml/NamePage.qml diff --git a/NavigationItem.qml b/qml/NavigationItem.qml similarity index 100% rename from NavigationItem.qml rename to qml/NavigationItem.qml diff --git a/NavigationPage.qml b/qml/NavigationPage.qml similarity index 100% rename from NavigationPage.qml rename to qml/NavigationPage.qml diff --git a/NotificationsPage.qml b/qml/NotificationsPage.qml similarity index 100% rename from NotificationsPage.qml rename to qml/NotificationsPage.qml diff --git a/OcppPage.qml b/qml/OcppPage.qml similarity index 100% rename from OcppPage.qml rename to qml/OcppPage.qml diff --git a/PasswordPage.qml b/qml/PasswordPage.qml similarity index 100% rename from PasswordPage.qml rename to qml/PasswordPage.qml diff --git a/PvSurplusPage.qml b/qml/PvSurplusPage.qml similarity index 100% rename from PvSurplusPage.qml rename to qml/PvSurplusPage.qml diff --git a/RebootPage.qml b/qml/RebootPage.qml similarity index 100% rename from RebootPage.qml rename to qml/RebootPage.qml diff --git a/RequestStatusText.qml b/qml/RequestStatusText.qml similarity index 100% rename from RequestStatusText.qml rename to qml/RequestStatusText.qml diff --git a/SchedulerDayPage.qml b/qml/SchedulerDayPage.qml similarity index 100% rename from SchedulerDayPage.qml rename to qml/SchedulerDayPage.qml diff --git a/SchedulerPage.qml b/qml/SchedulerPage.qml similarity index 100% rename from SchedulerPage.qml rename to qml/SchedulerPage.qml diff --git a/ScrollableTabPage.qml b/qml/ScrollableTabPage.qml similarity index 100% rename from ScrollableTabPage.qml rename to qml/ScrollableTabPage.qml diff --git a/SecurityPage.qml b/qml/SecurityPage.qml similarity index 100% rename from SecurityPage.qml rename to qml/SecurityPage.qml diff --git a/SelectLogicModeItem.qml b/qml/SelectLogicModeItem.qml similarity index 100% rename from SelectLogicModeItem.qml rename to qml/SelectLogicModeItem.qml diff --git a/SelectPhaseSwitchModeItem.qml b/qml/SelectPhaseSwitchModeItem.qml similarity index 100% rename from SelectPhaseSwitchModeItem.qml rename to qml/SelectPhaseSwitchModeItem.qml diff --git a/SensorsConfigurationPage.qml b/qml/SensorsConfigurationPage.qml similarity index 100% rename from SensorsConfigurationPage.qml rename to qml/SensorsConfigurationPage.qml diff --git a/SetPriceLimitPage.qml b/qml/SetPriceLimitPage.qml similarity index 100% rename from SetPriceLimitPage.qml rename to qml/SetPriceLimitPage.qml diff --git a/SetValueHelper.qml b/qml/SetValueHelper.qml similarity index 100% rename from SetValueHelper.qml rename to qml/SetValueHelper.qml diff --git a/SettingsTabPage.qml b/qml/SettingsTabPage.qml similarity index 100% rename from SettingsTabPage.qml rename to qml/SettingsTabPage.qml diff --git a/SimpleNavigationItem.qml b/qml/SimpleNavigationItem.qml similarity index 100% rename from SimpleNavigationItem.qml rename to qml/SimpleNavigationItem.qml diff --git a/StartStopButton.qml b/qml/StartStopButton.qml similarity index 100% rename from StartStopButton.qml rename to qml/StartStopButton.qml diff --git a/SwitchLanguagePage.qml b/qml/SwitchLanguagePage.qml similarity index 100% rename from SwitchLanguagePage.qml rename to qml/SwitchLanguagePage.qml diff --git a/TimeComponentLabel.qml b/qml/TimeComponentLabel.qml similarity index 100% rename from TimeComponentLabel.qml rename to qml/TimeComponentLabel.qml diff --git a/TimePicker.qml b/qml/TimePicker.qml similarity index 100% rename from TimePicker.qml rename to qml/TimePicker.qml diff --git a/TimePickerDialog.qml b/qml/TimePickerDialog.qml similarity index 100% rename from TimePickerDialog.qml rename to qml/TimePickerDialog.qml diff --git a/TimePickerLabel.qml b/qml/TimePickerLabel.qml similarity index 100% rename from TimePickerLabel.qml rename to qml/TimePickerLabel.qml diff --git a/VerticalTabButton.qml b/qml/VerticalTabButton.qml similarity index 100% rename from VerticalTabButton.qml rename to qml/VerticalTabButton.qml diff --git a/WhiteBox.qml b/qml/WhiteBox.qml similarity index 100% rename from WhiteBox.qml rename to qml/WhiteBox.qml diff --git a/WhiteCheckDelegate.qml b/qml/WhiteCheckDelegate.qml similarity index 100% rename from WhiteCheckDelegate.qml rename to qml/WhiteCheckDelegate.qml diff --git a/WhiteItemDelegate.qml b/qml/WhiteItemDelegate.qml similarity index 100% rename from WhiteItemDelegate.qml rename to qml/WhiteItemDelegate.qml diff --git a/WhiteSwipeDelegate.qml b/qml/WhiteSwipeDelegate.qml similarity index 100% rename from WhiteSwipeDelegate.qml rename to qml/WhiteSwipeDelegate.qml diff --git a/WiFiErrorsPage.qml b/qml/WiFiErrorsPage.qml similarity index 100% rename from WiFiErrorsPage.qml rename to qml/WiFiErrorsPage.qml diff --git a/WiFiPage.qml b/qml/WiFiPage.qml similarity index 100% rename from WiFiPage.qml rename to qml/WiFiPage.qml diff --git a/WiFiScanPage.qml b/qml/WiFiScanPage.qml similarity index 100% rename from WiFiScanPage.qml rename to qml/WiFiScanPage.qml diff --git a/icons/Alarm.svg b/qml/icons/Alarm.svg similarity index 100% rename from icons/Alarm.svg rename to qml/icons/Alarm.svg diff --git a/icons/Charger.svg b/qml/icons/Charger.svg similarity index 100% rename from icons/Charger.svg rename to qml/icons/Charger.svg diff --git a/icons/ChargerV3.svg b/qml/icons/ChargerV3.svg similarity index 100% rename from icons/ChargerV3.svg rename to qml/icons/ChargerV3.svg diff --git a/icons/ChargerV4.svg b/qml/icons/ChargerV4.svg similarity index 100% rename from icons/ChargerV4.svg rename to qml/icons/ChargerV4.svg diff --git a/icons/Charts.svg b/qml/icons/Charts.svg similarity index 100% rename from icons/Charts.svg rename to qml/icons/Charts.svg diff --git a/icons/Controller.svg b/qml/icons/Controller.svg similarity index 100% rename from icons/Controller.svg rename to qml/icons/Controller.svg diff --git a/icons/EcoModeFilled.svg b/qml/icons/EcoModeFilled.svg similarity index 100% rename from icons/EcoModeFilled.svg rename to qml/icons/EcoModeFilled.svg diff --git a/images/controller.png b/qml/images/controller.png similarity index 100% rename from images/controller.png rename to qml/images/controller.png diff --git a/images/geminiFix.png b/qml/images/geminiFix.png similarity index 100% rename from images/geminiFix.png rename to qml/images/geminiFix.png diff --git a/images/geminiFlex.png b/qml/images/geminiFlex.png similarity index 100% rename from images/geminiFlex.png rename to qml/images/geminiFlex.png diff --git a/images/homeFix.png b/qml/images/homeFix.png similarity index 100% rename from images/homeFix.png rename to qml/images/homeFix.png diff --git a/images/homePlus.png b/qml/images/homePlus.png similarity index 100% rename from images/homePlus.png rename to qml/images/homePlus.png diff --git a/images/phoenix.png b/qml/images/phoenix.png similarity index 100% rename from images/phoenix.png rename to qml/images/phoenix.png diff --git a/images/wattpilot.png b/qml/images/wattpilot.png similarity index 100% rename from images/wattpilot.png rename to qml/images/wattpilot.png diff --git a/material-icons/add.svg b/qml/material-icons/add.svg similarity index 100% rename from material-icons/add.svg rename to qml/material-icons/add.svg diff --git a/material-icons/grid_guides.svg b/qml/material-icons/grid_guides.svg similarity index 100% rename from material-icons/grid_guides.svg rename to qml/material-icons/grid_guides.svg diff --git a/material-icons/settings.svg b/qml/material-icons/settings.svg similarity index 100% rename from material-icons/settings.svg rename to qml/material-icons/settings.svg diff --git a/qmldir b/qml/qmldir similarity index 100% rename from qmldir rename to qml/qmldir diff --git a/ui-icons/MaterialIcons-Regular.ttf b/qml/ui-icons/MaterialIcons-Regular.ttf similarity index 100% rename from ui-icons/MaterialIcons-Regular.ttf rename to qml/ui-icons/MaterialIcons-Regular.ttf diff --git a/ui-icons/material-design-icons.LICENSE b/qml/ui-icons/material-design-icons.LICENSE similarity index 100% rename from ui-icons/material-design-icons.LICENSE rename to qml/ui-icons/material-design-icons.LICENSE diff --git a/apikeyvaluehelper.cpp b/src/apikeyvaluehelper.cpp similarity index 100% rename from apikeyvaluehelper.cpp rename to src/apikeyvaluehelper.cpp diff --git a/apikeyvaluehelper.h b/src/apikeyvaluehelper.h similarity index 100% rename from apikeyvaluehelper.h rename to src/apikeyvaluehelper.h diff --git a/appsettings.cpp b/src/appsettings.cpp similarity index 100% rename from appsettings.cpp rename to src/appsettings.cpp diff --git a/appsettings.h b/src/appsettings.h similarity index 100% rename from appsettings.h rename to src/appsettings.h diff --git a/deviceconnection.cpp b/src/deviceconnection.cpp similarity index 100% rename from deviceconnection.cpp rename to src/deviceconnection.cpp diff --git a/deviceconnection.h b/src/deviceconnection.h similarity index 100% rename from deviceconnection.h rename to src/deviceconnection.h diff --git a/devicesmodel.cpp b/src/devicesmodel.cpp similarity index 100% rename from devicesmodel.cpp rename to src/devicesmodel.cpp diff --git a/devicesmodel.h b/src/devicesmodel.h similarity index 100% rename from devicesmodel.h rename to src/devicesmodel.h diff --git a/main.cpp b/src/main.cpp similarity index 100% rename from main.cpp rename to src/main.cpp diff --git a/sendmessagehelper.cpp b/src/sendmessagehelper.cpp similarity index 100% rename from sendmessagehelper.cpp rename to src/sendmessagehelper.cpp diff --git a/sendmessagehelper.h b/src/sendmessagehelper.h similarity index 100% rename from sendmessagehelper.h rename to src/sendmessagehelper.h