diff --git a/evcharger-app/i18n/qml_da.ts b/evcharger-app/i18n/qml_da.ts
index 68e84e5..572ee40 100644
--- a/evcharger-app/i18n/qml_da.ts
+++ b/evcharger-app/i18n/qml_da.ts
@@ -184,29 +184,34 @@
Antal app-forekomster:
-
+
+ Swipe left or right with three fingers to switch between app instances.
+ Stryg til venstre eller højre med tre fingre for at skifte mellem appinstanser.
+
+
+ solalaweb key:solalaweb nøgle:
-
-
+
+ Select...Vælg...
-
-
+
+ Replace...Erstat...
-
+ solalaweb cert:solalaweb certifikat:
-
+ Show solalaweb:Vis solalaweb:
@@ -979,20 +984,40 @@
Sky
-
+
+ Remote access, connection status and cloud server settings
+ Fjernadgang, forbindelsesstatus og indstillinger for cloudserver
+
+
+ OCPPOCPP
-
+
+ Connect the device to a charging management backend
+ Forbind enheden til et system til administration af opladning
+
+
+ MQTTMQTT
-
+
+ Publish status and control the device through an MQTT broker
+ Publicér status, og styr enheden via en MQTT-broker
+
+
+ API SettingsAPI-indstillinger
+
+
+ Configure local, cloud, grid and legacy API access
+ Konfigurer adgang til lokalt API, cloud-API, elnet-API og ældre API
+ ControllerPage
@@ -1005,14 +1030,33 @@
ControllerTabPage
-
+
+ Category %1
+ Kategori %1
+
+
+ ConnectedForbundet
-
+
+ %1 W
+ %1 W
+
+
+
+ Category powers — last 30 seconds
+ Kategorieffekter — seneste 30 sekunder
+
+
+
+ Power (W)
+ Effekt (W)
+
+ %0W
- %0W
+ %0W
@@ -1147,7 +1191,7 @@
Current sensors
-
+ Strømsensorer
@@ -2423,57 +2467,56 @@
InformationsTabPage
- Category %1
- Kategori %1
+ Kategori %1
-
+ InformationsInformation
-
+ IdleInaktiv
-
+ HEADERS_RECEIVEDHEADERS_RECEIVED
-
+ LOADINGINDLÆSER
-
+ %1 images%1 billeder
-
+ %1 charts%1 diagrammer
-
+ Loaded %1Indlæst %1
-
+ No information data receivedIngen informationsdata modtaget
-
+ Request started...Forespørgsel startet...
-
+ Download informationsDownload informationer
@@ -2545,6 +2588,11 @@
Numbers, dates, and times continue to use your system settings.Tal, datoer og klokkeslæt fortsætter med at bruge dine systemindstillinger.
+
+
+ Tip: Swipe left or right with two fingers anywhere in the app to cycle through languages.
+ Tip: Stryg til venstre eller højre med to fingre hvor som helst i appen for at skifte sprog.
+ LedPage
@@ -2709,10 +2757,25 @@
NamePage
-
+ NameNavn
+
+
+ Change the name used to identify this device in the app and on the network.
+ Skift det navn, der bruges til at identificere enheden i appen og på netværket.
+
+
+
+ Reset the name to the device default.
+ Nulstil navnet til enhedens standardnavn.
+
+
+
+ Reset name
+ Nulstil navn
+ NotificationsPage
@@ -3239,7 +3302,7 @@
Energy categories
-
+ Energikategorier
@@ -3502,57 +3565,57 @@
Sensors and categories
-
+ Sensorer og kategorierMeasurement
-
+ MålingMeasurement service enabled
-
+ Måletjeneste aktiveret
- Continuous raw measurement can reduce controller performance.
-
+ Temporarily disabling measurements can sometimes help with stability problems.
+ Midlertidig deaktivering af målingerne kan nogle gange hjælpe ved stabilitetsproblemer.
- Measurement update rate
-
+ Refresh rate
+ Opdateringsfrekvens
-
+ Voltage sensors
-
+ Spændingssensorer
-
+ Live voltages, phase assignment and calibration
-
+ Spændinger i realtid, fasetildeling og kalibrering
-
+ Current sensors
-
+ Strømsensorer
-
+ Live current, power, phase, direction and CT ratio
-
+ Strøm og effekt i realtid, fase, retning og strømtransformatorens omsætningsforhold
-
+ Energy categories
-
+ Energikategorier
-
+ Power, energy counters and sensor factors
-
+ Effekt, energitællere og sensorfaktorer
@@ -3805,7 +3868,7 @@
Voltage sensors
-
+ Spændingssensorer
diff --git a/evcharger-app/i18n/qml_de.ts b/evcharger-app/i18n/qml_de.ts
index 89c3400..290f004 100644
--- a/evcharger-app/i18n/qml_de.ts
+++ b/evcharger-app/i18n/qml_de.ts
@@ -196,29 +196,34 @@
Anzahl an App Instanzen:
-
+
+ Swipe left or right with three fingers to switch between app instances.
+ Mit drei Fingern nach links oder rechts wischen, um zwischen App-Instanzen zu wechseln.
+
+
+ solalaweb key:solalaweb key:
-
-
+
+ Select...Auswählen...
-
-
+
+ Replace...Ersetzen...
-
+ solalaweb cert:solalaweb cert:
-
+ Show solalaweb:Zeige solalaweb:
@@ -1041,23 +1046,28 @@
Join and manage wireless networks
-
+ WLAN-Netzwerke verbinden und verwaltenConfigure the device's Wi-Fi access point
-
+ WLAN-Zugangspunkt des Geräts konfigurierenWired network and IP settings
-
+ Kabelgebundenes Netzwerk und IP-EinstellungenCellularMobilfunk
+
+
+ Configure local, cloud, grid and legacy API access
+ Lokalen, Cloud-, Grid- und Legacy-API-Zugriff konfigurieren
+ Hotspot
@@ -1071,10 +1081,15 @@
SIM, APN and mobile network settings
-
+ SIM-, APN- und Mobilfunkeinstellungen
-
+
+ Remote access, connection status and cloud server settings
+ Fernzugriff, Verbindungsstatus und Cloud-Server-Einstellungen
+
+
+ OCPPOCPP
@@ -1084,12 +1099,22 @@
Cloud
-
+
+ Connect the device to a charging management backend
+ Gerät mit einem Lademanagement-Backend verbinden
+
+
+ MQTTMQTT
-
+
+ Publish status and control the device through an MQTT broker
+ Status veröffentlichen und das Gerät über einen MQTT-Broker steuern
+
+
+ API SettingsAPI Einstellungen
@@ -1109,14 +1134,33 @@
Geräte
-
+
+ Category %1
+ Kategorie %1
+
+
+ ConnectedVerbunden
-
+
+ %1 W
+ %1 W
+
+
+
+ Category powers — last 30 seconds
+ Kategorieleistungen — letzte 30 Sekunden
+
+
+
+ Power (W)
+ Leistung (W)
+
+ %0W
- %0W
+ %0WCategory
@@ -2602,57 +2646,52 @@
InformationsTabPage
-
- Category %1
-
-
-
-
+ InformationsInformationen
-
+ IdleInaktiv
-
+ HEADERS_RECEIVED
-
+ LOADING
-
+ %1 images
-
+ %1 charts
-
+ Loaded %1
-
+ No information data received
-
+ Request started...
-
+ Download informationsInformationen herunterladen
@@ -2724,6 +2763,11 @@
Numbers, dates, and times continue to use your system settings.Zahlen, Datumsangaben und Uhrzeiten verwenden weiterhin die Systemeinstellungen.
+
+
+ Tip: Swipe left or right with two fingers anywhere in the app to cycle through languages.
+ Tipp: Mit zwei Fingern an einer beliebigen Stelle in der App nach links oder rechts wischen, um durch die Sprachen zu wechseln.
+ LedPage
@@ -2947,10 +2991,25 @@
NamePage
-
+ NameName
+
+
+ Change the name used to identify this device in the app and on the network.
+ Den Namen ändern, mit dem dieses Gerät in der App und im Netzwerk identifiziert wird.
+
+
+
+ Reset the name to the device default.
+ Den Namen auf den Gerätestandard zurücksetzen.
+
+
+
+ Reset name
+ Name zurücksetzen
+ NavigationPage
@@ -3795,42 +3854,50 @@
Messdienst aktiviert
- Continuous raw measurement can reduce controller performance.
- Die kontinuierliche Rohdatenmessung kann die Controllerleistung verringern.
+ Die kontinuierliche Rohdatenmessung kann die Controllerleistung verringern.
+
+
+ Measurement update rate
+ Messaktualisierungsrate
+
+
+
+ Temporarily disabling measurements can sometimes help with stability problems.
+ Bei Stabilitätsproblemen kann es manchmal helfen, die Messungen vorübergehend zu deaktivieren.
- Measurement update rate
- Messaktualisierungsrate
+ Refresh rate
+ Messrate
-
+ Voltage sensorsSpannungssensoren
-
+ Live voltages, phase assignment and calibrationLive-Spannungen, Phasenzuordnung und Kalibrierung
-
+ Current sensorsStromsensoren
-
+ Live current, power, phase, direction and CT ratioLive-Strom und -Leistung, Phase, Messrichtung und Stromwandlerverhältnis
-
+ Energy categoriesEnergiekategorien
-
+ Power, energy counters and sensor factorsLeistung, Energiezähler und Sensorfaktoren
diff --git a/evcharger-app/i18n/qml_fi.ts b/evcharger-app/i18n/qml_fi.ts
index a7be92d..96603b3 100644
--- a/evcharger-app/i18n/qml_fi.ts
+++ b/evcharger-app/i18n/qml_fi.ts
@@ -184,29 +184,34 @@
Sovellusesiintymien määrä:
-
+
+ Swipe left or right with three fingers to switch between app instances.
+ Vaihda sovellusinstanssien välillä pyyhkäisemällä vasemmalle tai oikealle kolmella sormella.
+
+
+ solalaweb key:solalaweb avain:
-
-
+
+ Select...Valitse...
-
-
+
+ Replace...Korvaa...
-
+ solalaweb cert:solalaweb-sertifikaatti:
-
+ Show solalaweb:Näytä solalaweb:
@@ -979,20 +984,40 @@
Pilvi
-
+
+ Remote access, connection status and cloud server settings
+ Etäkäyttö, yhteyden tila ja pilvipalvelimen asetukset
+
+
+ OCPPOCPP
-
+
+ Connect the device to a charging management backend
+ Yhdistä laite latauksenhallintajärjestelmään
+
+
+ MQTTMQTT
-
+
+ Publish status and control the device through an MQTT broker
+ Julkaise tilatiedot ja ohjaa laitetta MQTT-välittäjän kautta
+
+
+ API SettingsAPI-asetukset
+
+
+ Configure local, cloud, grid and legacy API access
+ Määritä paikallisen, pilvi-, sähköverkko- ja vanhan API:n käyttöoikeudet
+ ControllerPage
@@ -1005,14 +1030,33 @@
ControllerTabPage
-
+
+ Category %1
+ Luokka %1
+
+
+ ConnectedYhdistetty
-
+
+ %1 W
+ %1 W
+
+
+
+ Category powers — last 30 seconds
+ Luokkien tehot — viimeiset 30 sekuntia
+
+
+
+ Power (W)
+ Teho (W)
+
+ %0W
- %0W
+ %0W
@@ -1147,7 +1191,7 @@
Current sensors
-
+ Virta-anturit
@@ -2423,57 +2467,56 @@
InformationsTabPage
- Category %1
- Luokka %1
+ Luokka %1
-
+ InformationsTiedot
-
+ IdleValmiustilassa
-
+ HEADERS_RECEIVEDHEADERS_RECEIVED
-
+ LOADINGLADATAAN
-
+ %1 images%1 kuvia
-
+ %1 charts%1-kaaviot
-
+ Loaded %1Ladattu %1
-
+ No information data receivedTietoa ei ole vastaanotettu
-
+ Request started...Pyyntö alkanut...
-
+ Download informationsLataa tiedot
@@ -2545,6 +2588,11 @@
Numbers, dates, and times continue to use your system settings.Numerot, päivämäärät ja kellonajat käyttävät edelleen järjestelmäasetuksiasi.
+
+
+ Tip: Swipe left or right with two fingers anywhere in the app to cycle through languages.
+ Vinkki: Vaihda kieltä pyyhkäisemällä kahdella sormella vasemmalle tai oikealle missä tahansa sovelluksessa.
+ LedPage
@@ -2709,10 +2757,25 @@
NamePage
-
+ NameNimi
+
+
+ Change the name used to identify this device in the app and on the network.
+ Muuta nimeä, jolla laite tunnistetaan sovelluksessa ja verkossa.
+
+
+
+ Reset the name to the device default.
+ Palauta nimi laitteen oletusnimeksi.
+
+
+
+ Reset name
+ Palauta nimi
+ NotificationsPage
@@ -3239,7 +3302,7 @@
Energy categories
-
+ Energialuokat
@@ -3502,57 +3565,57 @@
Sensors and categories
-
+ Anturit ja luokatMeasurement
-
+ MittausMeasurement service enabled
-
+ Mittauspalvelu käytössä
- Continuous raw measurement can reduce controller performance.
-
+ Temporarily disabling measurements can sometimes help with stability problems.
+ Mittausten poistaminen tilapäisesti käytöstä voi joskus auttaa vakausongelmissa.
- Measurement update rate
-
+ Refresh rate
+ Päivitystaajuus
-
+ Voltage sensors
-
+ Jänniteanturit
-
+ Live voltages, phase assignment and calibration
-
+ Reaaliaikaiset jännitteet, vaiheiden määritys ja kalibrointi
-
+ Current sensors
-
+ Virta-anturit
-
+ Live current, power, phase, direction and CT ratio
-
+ Reaaliaikainen virta ja teho, vaihe, suunta ja virtamuuntajan muuntosuhde
-
+ Energy categories
-
+ Energialuokat
-
+ Power, energy counters and sensor factors
-
+ Teho, energialaskurit ja anturikertoimet
@@ -3805,7 +3868,7 @@
Voltage sensors
-
+ Jänniteanturit
diff --git a/evcharger-app/i18n/qml_nb.ts b/evcharger-app/i18n/qml_nb.ts
index 4486923..c8c9ddc 100644
--- a/evcharger-app/i18n/qml_nb.ts
+++ b/evcharger-app/i18n/qml_nb.ts
@@ -184,29 +184,34 @@
Antall appforekomster:
-
+
+ Swipe left or right with three fingers to switch between app instances.
+ Sveip mot venstre eller høyre med tre fingre for å bytte mellom appinstanser.
+
+
+ solalaweb key:solalaweb nøkkel:
-
-
+
+ Select...Velg...
-
-
+
+ Replace...Bytt ut...
-
+ solalaweb cert:solalaweb sertifikat:
-
+ Show solalaweb:Vis solalaweb:
@@ -979,20 +984,40 @@
Sky
-
+
+ Remote access, connection status and cloud server settings
+ Fjerntilgang, tilkoblingsstatus og innstillinger for skyserver
+
+
+ OCPPOCPP
-
+
+ Connect the device to a charging management backend
+ Koble enheten til et system for ladeadministrasjon
+
+
+ MQTTMQTT
-
+
+ Publish status and control the device through an MQTT broker
+ Publiser status og styr enheten via en MQTT-broker
+
+
+ API SettingsAPI-innstillinger
+
+
+ Configure local, cloud, grid and legacy API access
+ Konfigurer tilgang til lokalt API, sky-API, strømnett-API og eldre API
+ ControllerPage
@@ -1005,14 +1030,33 @@
ControllerTabPage
-
+
+ Category %1
+ Kategori %1
+
+
+ ConnectedTilkoblet
-
+
+ %1 W
+ %1 W
+
+
+
+ Category powers — last 30 seconds
+ Kategorieffekter — siste 30 sekunder
+
+
+
+ Power (W)
+ Effekt (W)
+
+ %0W
- %0W
+ %0W
@@ -1147,7 +1191,7 @@
Current sensors
-
+ Strømsensorer
@@ -2423,57 +2467,56 @@
InformationsTabPage
- Category %1
- Kategori %1
+ Kategori %1
-
+ InformationsInformasjon
-
+ IdleInaktiv
-
+ HEADERS_RECEIVEDHEADERS_RECEIVED
-
+ LOADINGLASTER INN
-
+ %1 images%1 bilder
-
+ %1 charts%1-diagrammer
-
+ Loaded %1Lastet inn %1
-
+ No information data receivedIngen informasjonsdata mottatt
-
+ Request started...Forespørsel startet...
-
+ Download informationsLast ned informasjon
@@ -2545,6 +2588,11 @@
Numbers, dates, and times continue to use your system settings.Tall, datoer og klokkeslett fortsetter å bruke systeminnstillingene dine.
+
+
+ Tip: Swipe left or right with two fingers anywhere in the app to cycle through languages.
+ Tips: Sveip mot venstre eller høyre med to fingre hvor som helst i appen for å bytte språk.
+ LedPage
@@ -2709,10 +2757,25 @@
NamePage
-
+ NameNavn
+
+
+ Change the name used to identify this device in the app and on the network.
+ Endre navnet som brukes til å identifisere enheten i appen og på nettverket.
+
+
+
+ Reset the name to the device default.
+ Tilbakestill navnet til enhetens standardnavn.
+
+
+
+ Reset name
+ Tilbakestill navn
+ NotificationsPage
@@ -3239,7 +3302,7 @@
Energy categories
-
+ Energikategorier
@@ -3502,57 +3565,57 @@
Sensors and categories
-
+ Sensorer og kategorierMeasurement
-
+ MålingMeasurement service enabled
-
+ Måletjeneste aktivert
- Continuous raw measurement can reduce controller performance.
-
+ Temporarily disabling measurements can sometimes help with stability problems.
+ Midlertidig deaktivering av målingene kan noen ganger hjelpe ved stabilitetsproblemer.
- Measurement update rate
-
+ Refresh rate
+ Oppdateringsfrekvens
-
+ Voltage sensors
-
+ Spenningssensorer
-
+ Live voltages, phase assignment and calibration
-
+ Spenninger i sanntid, fasetildeling og kalibrering
-
+ Current sensors
-
+ Strømsensorer
-
+ Live current, power, phase, direction and CT ratio
-
+ Strøm og effekt i sanntid, fase, retning og strømtransformatorens omsetningsforhold
-
+ Energy categories
-
+ Energikategorier
-
+ Power, energy counters and sensor factors
-
+ Effekt, energimålere og sensorfaktorer
@@ -3805,7 +3868,7 @@
Voltage sensors
-
+ Spenningssensorer
diff --git a/evcharger-app/i18n/qml_sv.ts b/evcharger-app/i18n/qml_sv.ts
index c8546d7..83c9274 100644
--- a/evcharger-app/i18n/qml_sv.ts
+++ b/evcharger-app/i18n/qml_sv.ts
@@ -184,29 +184,34 @@
Antal appinstanser:
-
+
+ Swipe left or right with three fingers to switch between app instances.
+ Svep åt vänster eller höger med tre fingrar för att växla mellan appinstanser.
+
+
+ solalaweb key:solalaweb nyckel:
-
-
+
+ Select...Välj...
-
-
+
+ Replace...Ersätt...
-
+ solalaweb cert:solalaweb certifikat:
-
+ Show solalaweb:Visa solalaweb:
@@ -979,20 +984,40 @@
Moln
-
+
+ Remote access, connection status and cloud server settings
+ Fjärråtkomst, anslutningsstatus och inställningar för molnserver
+
+
+ OCPPOCPP
-
+
+ Connect the device to a charging management backend
+ Anslut enheten till ett system för laddhantering
+
+
+ MQTTMQTT
-
+
+ Publish status and control the device through an MQTT broker
+ Publicera status och styr enheten via en MQTT-broker
+
+
+ API SettingsAPI-inställningar
+
+
+ Configure local, cloud, grid and legacy API access
+ Konfigurera åtkomst till lokalt API, moln-API, elnäts-API och äldre API
+ ControllerPage
@@ -1005,14 +1030,33 @@
ControllerTabPage
-
+
+ Category %1
+ Kategori %1
+
+
+ ConnectedAnsluten
-
+
+ %1 W
+ %1 W
+
+
+
+ Category powers — last 30 seconds
+ Kategorieffekter — senaste 30 sekunderna
+
+
+
+ Power (W)
+ Effekt (W)
+
+ %0W
- %0W
+ %0W
@@ -1147,7 +1191,7 @@
Current sensors
-
+ Strömsensorer
@@ -2423,57 +2467,56 @@
InformationsTabPage
- Category %1
- Kategori %1
+ Kategori %1
-
+ InformationsInformation
-
+ IdleInaktiv
-
+ HEADERS_RECEIVEDHEADERS_RECEIVED
-
+ LOADINGLÄSER IN
-
+ %1 images%1 bilder
-
+ %1 charts%1-diagram
-
+ Loaded %1Laddade %1
-
+ No information data receivedIngen information mottagen
-
+ Request started...Begäran startade...
-
+ Download informationsLadda ner information
@@ -2545,6 +2588,11 @@
Numbers, dates, and times continue to use your system settings.Siffror, datum och tider fortsätter att använda dina systeminställningar.
+
+
+ Tip: Swipe left or right with two fingers anywhere in the app to cycle through languages.
+ Tips: Svep åt vänster eller höger med två fingrar var som helst i appen för att växla mellan språken.
+ LedPage
@@ -2709,10 +2757,25 @@
NamePage
-
+ NameNamn
+
+
+ Change the name used to identify this device in the app and on the network.
+ Ändra namnet som används för att identifiera enheten i appen och nätverket.
+
+
+
+ Reset the name to the device default.
+ Återställ namnet till enhetens standardnamn.
+
+
+
+ Reset name
+ Återställ namn
+ NotificationsPage
@@ -3239,7 +3302,7 @@
Energy categories
-
+ Energikategorier
@@ -3502,57 +3565,57 @@
Sensors and categories
-
+ Sensorer och kategorierMeasurement
-
+ MätningMeasurement service enabled
-
+ Mättjänst aktiverad
- Continuous raw measurement can reduce controller performance.
-
+ Temporarily disabling measurements can sometimes help with stability problems.
+ Att tillfälligt inaktivera mätningarna kan ibland hjälpa vid stabilitetsproblem.
- Measurement update rate
-
+ Refresh rate
+ Uppdateringsfrekvens
-
+ Voltage sensors
-
+ Spänningssensorer
-
+ Live voltages, phase assignment and calibration
-
+ Spänningar i realtid, fastilldelning och kalibrering
-
+ Current sensors
-
+ Strömsensorer
-
+ Live current, power, phase, direction and CT ratio
-
+ Ström och effekt i realtid, fas, riktning och strömtransformatorns omsättningsförhållande
-
+ Energy categories
-
+ Energikategorier
-
+ Power, energy counters and sensor factors
-
+ Effekt, energiräknare och sensorfaktorer
@@ -3805,7 +3868,7 @@
Voltage sensors
-
+ Spänningssensorer
diff --git a/evcharger-app/i18n/qml_tr.ts b/evcharger-app/i18n/qml_tr.ts
index 2624beb..def3155 100644
--- a/evcharger-app/i18n/qml_tr.ts
+++ b/evcharger-app/i18n/qml_tr.ts
@@ -184,29 +184,34 @@
Uygulama örneklerinin sayısı:
-
+
+ Swipe left or right with three fingers to switch between app instances.
+ Uygulama örnekleri arasında geçiş yapmak için üç parmağınızla sola veya sağa kaydırın.
+
+
+ solalaweb key:solalaweb anahtarı:
-
-
+
+ Select...Seç...
-
-
+
+ Replace...Değiştir...
-
+ solalaweb cert:solalaweb sertifikası:
-
+ Show solalaweb:Solalaweb'i göster:
@@ -979,20 +984,40 @@
Bulut
-
+
+ Remote access, connection status and cloud server settings
+ Uzaktan erişim, bağlantı durumu ve bulut sunucusu ayarları
+
+
+ OCPPOCPP
-
+
+ Connect the device to a charging management backend
+ Cihazı bir şarj yönetim sistemine bağlayın
+
+
+ MQTTMQTT
-
+
+ Publish status and control the device through an MQTT broker
+ Durumu yayınlayın ve cihazı bir MQTT aracısı üzerinden kontrol edin
+
+
+ API SettingsAPI Ayarları
+
+
+ Configure local, cloud, grid and legacy API access
+ Yerel, bulut, şebeke ve eski API erişimini yapılandırın
+ ControllerPage
@@ -1005,14 +1030,33 @@
ControllerTabPage
-
+
+ Category %1
+ Kategori %1
+
+
+ ConnectedBağlı
-
+
+ %1 W
+ %1 W
+
+
+
+ Category powers — last 30 seconds
+ Kategori güçleri — son 30 saniye
+
+
+
+ Power (W)
+ Güç (W)
+
+ %0W
- %0W
+ %0W
@@ -1147,7 +1191,7 @@
Current sensors
-
+ Akım sensörleri
@@ -2423,57 +2467,56 @@
InformationsTabPage
- Category %1
- Kategori %1
+ Kategori %1
-
+ InformationsBilgiler
-
+ IdleBoşta
-
+ HEADERS_RECEIVEDHEADERS_RECEIVED
-
+ LOADINGYÜKLENİYOR
-
+ %1 images%1 görselleri
-
+ %1 charts%1 çizelgeleri
-
+ Loaded %1%1 yüklendi
-
+ No information data receivedHiçbir bilgi verisi alınmadı
-
+ Request started...Talep başlatıldı...
-
+ Download informationsBilgileri indir
@@ -2545,6 +2588,11 @@
Numbers, dates, and times continue to use your system settings.Sayılar, tarihler ve saatler sistem ayarlarınızı kullanmaya devam eder.
+
+
+ Tip: Swipe left or right with two fingers anywhere in the app to cycle through languages.
+ İpucu: Diller arasında geçiş yapmak için uygulamanın herhangi bir yerinde iki parmağınızla sola veya sağa kaydırın.
+ LedPage
@@ -2709,10 +2757,25 @@
NamePage
-
+ Nameİsim
+
+
+ Change the name used to identify this device in the app and on the network.
+ Cihazı uygulamada ve ağda tanımlamak için kullanılan adı değiştirin.
+
+
+
+ Reset the name to the device default.
+ Adı cihazın varsayılan adına sıfırlayın.
+
+
+
+ Reset name
+ Adı sıfırla
+ NotificationsPage
@@ -3239,7 +3302,7 @@
Energy categories
-
+ Enerji kategorileri
@@ -3502,57 +3565,57 @@
Sensors and categories
-
+ Sensörler ve kategorilerMeasurement
-
+ ÖlçümMeasurement service enabled
-
+ Ölçüm hizmeti etkin
- Continuous raw measurement can reduce controller performance.
-
+ Temporarily disabling measurements can sometimes help with stability problems.
+ Ölçümleri geçici olarak devre dışı bırakmak bazen kararlılık sorunlarına yardımcı olabilir.
- Measurement update rate
-
+ Refresh rate
+ Yenileme hızı
-
+ Voltage sensors
-
+ Gerilim sensörleri
-
+ Live voltages, phase assignment and calibration
-
+ Anlık gerilimler, faz ataması ve kalibrasyon
-
+ Current sensors
-
+ Akım sensörleri
-
+ Live current, power, phase, direction and CT ratio
-
+ Anlık akım ve güç, faz, yön ve akım trafosu oranı
-
+ Energy categories
-
+ Enerji kategorileri
-
+ Power, energy counters and sensor factors
-
+ Güç, enerji sayaçları ve sensör faktörleri
@@ -3805,7 +3868,7 @@
Voltage sensors
-
+ Gerilim sensörleri
diff --git a/evcharger-app/qml/ApiStatusRow.qml b/evcharger-app/qml/ApiStatusRow.qml
index 6da79dd..dafe41b 100644
--- a/evcharger-app/qml/ApiStatusRow.qml
+++ b/evcharger-app/qml/ApiStatusRow.qml
@@ -9,6 +9,8 @@ RowLayout {
required property string apiKey
required property string label
property var valueFormatter: null
+ property real labelMaximumWidth: 125
+ property real labelWidthRatio: 0.42
property alias value: apiValue.value
property alias exists: apiValue.exists
@@ -29,8 +31,8 @@ RowLayout {
}
SettingsLabel {
- Layout.preferredWidth: Math.min(125, row.width * 0.42)
- Layout.maximumWidth: Math.min(125, row.width * 0.42)
+ Layout.preferredWidth: Math.min(row.labelMaximumWidth, row.width * row.labelWidthRatio)
+ Layout.maximumWidth: Math.min(row.labelMaximumWidth, row.width * row.labelWidthRatio)
text: row.label
}
diff --git a/evcharger-app/qml/AppSettingsPage.qml b/evcharger-app/qml/AppSettingsPage.qml
index 510385f..9ebc3ff 100644
--- a/evcharger-app/qml/AppSettingsPage.qml
+++ b/evcharger-app/qml/AppSettingsPage.qml
@@ -36,6 +36,14 @@ NavigationPage {
onValueModified: theSettings.numberOfAppInstances = value
from: 1
}
+
+ Text {
+ Layout.columnSpan: 2
+ Layout.fillWidth: true
+ text: qsTr("Swipe left or right with three fingers to switch between app instances.")
+ color: "gray"
+ wrapMode: Text.Wrap
+ }
}
}
diff --git a/evcharger-app/qml/ConnectionPage.qml b/evcharger-app/qml/ConnectionPage.qml
index 604b4c0..d62c92f 100644
--- a/evcharger-app/qml/ConnectionPage.qml
+++ b/evcharger-app/qml/ConnectionPage.qml
@@ -53,6 +53,7 @@ NavigationPage {
NavigationItem {
iconName: "cloud"
title: qsTr("Cloud")
+ description: qsTr("Remote access, connection status and cloud server settings")
component: Component {
CloudPage {
}
@@ -63,6 +64,7 @@ NavigationPage {
NavigationItem {
iconName: "account_tree"
title: qsTr("OCPP")
+ description: qsTr("Connect the device to a charging management backend")
component: Component {
OcppPage {
}
@@ -73,6 +75,7 @@ NavigationPage {
NavigationItem {
iconName: "device_hub"
title: qsTr("MQTT")
+ description: qsTr("Publish status and control the device through an MQTT broker")
component: Component {
MqttPage {
}
@@ -83,6 +86,7 @@ NavigationPage {
NavigationItem {
iconName: "api"
title: qsTr("API Settings")
+ description: qsTr("Configure local, cloud, grid and legacy API access")
component: Component {
ApiSettingsPage {
}
diff --git a/evcharger-app/qml/ControllerTabPage.qml b/evcharger-app/qml/ControllerTabPage.qml
index 0df6505..8dcdcee 100644
--- a/evcharger-app/qml/ControllerTabPage.qml
+++ b/evcharger-app/qml/ControllerTabPage.qml
@@ -1,6 +1,7 @@
import QtQuick
import QtQuick.Controls
import QtQuick.Layouts
+import QtCharts
import EVChargerApp
AnimatedStackView {
@@ -25,9 +26,61 @@ AnimatedStackView {
}
ScrollableTabPage {
+ id: controllerPage
+
Layout.fillWidth: true
Layout.fillHeight: true
+ function categoryName(index) {
+ const names = categoryNames.value
+ return names && names.length > index && names[index]
+ ? names[index] : qsTr("Category %1").arg(index + 1)
+ }
+
+ function appendValue(series, value, now) {
+ if (value !== null && value !== undefined && isFinite(Number(value)))
+ series.append(now, Number(value))
+
+ const cutoff = now.getTime() - 30000
+ let removeCount = 0
+ while (removeCount < series.count && series.at(removeCount).x < cutoff)
+ ++removeCount
+ if (removeCount > 0)
+ series.removePoints(0, removeCount)
+ series.visible = series.count > 0
+ }
+
+ function appendCategoryValues(values) {
+ if (!values || values.length === undefined)
+ return
+
+ const now = new Date()
+ const series = [category0, category1, category2, category3, category4, category5]
+ for (let i = 0; i < series.length; ++i)
+ appendValue(series[i], i < values.length ? values[i] : null, now)
+
+ categoryAxisX.min = new Date(now.getTime() - 30000)
+ categoryAxisX.max = now
+
+ let minY = Number.POSITIVE_INFINITY
+ let maxY = Number.NEGATIVE_INFINITY
+ for (let i = 0; i < series.length; ++i) {
+ for (let j = 0; j < series[i].count; ++j) {
+ const y = series[i].at(j).y
+ if (y < minY) minY = y
+ if (y > maxY) maxY = y
+ }
+ }
+
+ if (!isFinite(minY)) {
+ minY = 0
+ maxY = 1
+ }
+ const padding = Math.max(0.5, (maxY - minY) * 0.1)
+ categoryAxisY.min = minY - padding
+ categoryAxisY.max = maxY + padding
+ }
+
RowLayout {
Layout.fillWidth: true
@@ -75,14 +128,19 @@ AnimatedStackView {
id: categoryPowers
deviceConnection: theDeviceConnection
apiKey: "ccp"
+ onValueChanged: Qt.callLater(function() {
+ controllerPage.appendCategoryValues(categoryPowers.value)
+ })
}
Repeater {
model: categoryNames.value
Pane {
- property var power: categoryPowers.value[index]
- visible: power !== null
+ property var power: categoryPowers.value
+ && categoryPowers.value.length > index
+ ? categoryPowers.value[index] : null
+ visible: power !== null && power !== undefined
Layout.fillWidth: true
Layout.preferredWidth: gridLayout.width / 3
@@ -104,7 +162,8 @@ AnimatedStackView {
Text {
Layout.fillWidth: true
- text: power !== null ? qsTr("%0W").arg(power) : ""
+ text: power !== null && power !== undefined
+ ? qsTr("%1 W").arg(Qt.locale().toString(Number(power), "f", 2)) : ""
}
}
}
@@ -112,6 +171,33 @@ AnimatedStackView {
}
}
+ ChartView {
+ visible: categoryPowers.exists
+ title: qsTr("Category powers — last 30 seconds")
+ Layout.fillWidth: true
+ Layout.preferredHeight: 300
+ antialiasing: true
+
+ DateTimeAxis {
+ id: categoryAxisX
+ format: "hh:mm:ss"
+ tickCount: 5
+ }
+
+ ValueAxis {
+ id: categoryAxisY
+ titleText: qsTr("Power (W)")
+ tickCount: 6
+ }
+
+ LineSeries { id: category0; name: controllerPage.categoryName(0); axisX: categoryAxisX; axisY: categoryAxisY; visible: false }
+ LineSeries { id: category1; name: controllerPage.categoryName(1); axisX: categoryAxisX; axisY: categoryAxisY; visible: false }
+ LineSeries { id: category2; name: controllerPage.categoryName(2); axisX: categoryAxisX; axisY: categoryAxisY; visible: false }
+ LineSeries { id: category3; name: controllerPage.categoryName(3); axisX: categoryAxisX; axisY: categoryAxisY; visible: false }
+ LineSeries { id: category4; name: controllerPage.categoryName(4); axisX: categoryAxisX; axisY: categoryAxisY; visible: false }
+ LineSeries { id: category5; name: controllerPage.categoryName(5); axisX: categoryAxisX; axisY: categoryAxisY; visible: false }
+ }
+
Text {
Layout.fillWidth: true
diff --git a/evcharger-app/qml/InformationsTabPage.qml b/evcharger-app/qml/InformationsTabPage.qml
index bcbf2aa..ae45fdb 100644
--- a/evcharger-app/qml/InformationsTabPage.qml
+++ b/evcharger-app/qml/InformationsTabPage.qml
@@ -1,7 +1,6 @@
import QtQuick
import QtQuick.Controls
import QtQuick.Layouts
-import QtCharts
import EVChargerApp
ScrollableTabPage {
@@ -9,12 +8,6 @@ ScrollableTabPage {
property real chartCurrentTime: 0
- function categoryName(index) {
- const names = categoryNames.value
- return names && names.length > index && names[index]
- ? names[index] : qsTr("Category %1").arg(index + 1)
- }
-
function extractChartPanels(chartData) {
const result = []
if (!chartData || !chartData.panels || typeof chartData.panels !== "object")
@@ -37,129 +30,6 @@ ScrollableTabPage {
text: qsTr("Informations")
}
- ChartView {
- visible: categoryPowers.exists
-
- ApiKeyValueHelper {
- id: categoryNames
- deviceConnection: theDeviceConnection
- apiKey: "ccn"
- }
-
- ApiKeyValueHelper {
- id: categoryPowers
- deviceConnection: theDeviceConnection
- apiKey: "ccp"
- onValueChanged: {
- if (!value || value.length === undefined)
- return
-
- const t = new Date();
-
- const doit = function(category, value) {
- category.append(t, value)
- if (value)
- category.visible = true
- };
-
- doit(category0, value.length > 0 ? value[0] : 0)
- doit(category1, value.length > 1 ? value[1] : 0)
- doit(category2, value.length > 2 ? value[2] : 0)
- doit(category3, value.length > 3 ? value[3] : 0)
- doit(category4, value.length > 4 ? value[4] : 0)
-
- // --- X axis range (last 30 seconds) ---
- const now = new Date() // current time as Date
- axisX.min = new Date(now.getTime() - 30*1000) // 30 sec ago
- axisX.max = now
-
- // --- Y axis auto-range ---
- let minY = Number.POSITIVE_INFINITY
- let maxY = Number.NEGATIVE_INFINITY
-
- for (let s of [category0, category1, category2, category3, category4]) {
- if (!s.visible)
- continue
- const c = s.count
- if (c === 0) continue
-
- for (let i = 0; i < c; ++i) {
- const y = s.at(i).y
- if (y < minY) minY = y
- if (y > maxY) maxY = y
- }
- }
-
- // fallback if no data
- if (!isFinite(minY)) {
- minY = 0
- maxY = 1
- }
-
- // add 10% padding
- const d = Math.max(0.5, (maxY - minY) * 0.1)
- axisY.min = minY - d
- axisY.max = maxY + d
- }
- }
-
- title: "Category Powers 30sec"
- Layout.fillWidth: true
- Layout.preferredHeight: 300
- antialiasing: true
-
- DateTimeAxis {
- id: axisX
- format: "hh:mm:ss"
- tickCount: 5
- }
-
- ValueAxis {
- id: axisY
- tickCount: 6
- }
-
- LineSeries {
- id: category0
- name: page.categoryName(0)
- axisX: axisX
- axisY: axisY
- visible: false
- }
-
- LineSeries {
- id: category1
- name: page.categoryName(1)
- axisX: axisX
- axisY: axisY
- visible: false
- }
-
- LineSeries {
- id: category2
- name: page.categoryName(2)
- axisX: axisX
- axisY: axisY
- visible: false
- }
-
- LineSeries {
- id: category3
- name: page.categoryName(3)
- axisX: axisX
- axisY: axisY
- visible: false
- }
-
- LineSeries {
- id: category4
- name: page.categoryName(4)
- axisX: axisX
- axisY: axisY
- visible: false
- }
- }
-
Text {
id: statusText
text: qsTr("Idle")
diff --git a/evcharger-app/qml/LanguageSelector.qml b/evcharger-app/qml/LanguageSelector.qml
index dfb936e..8faab1c 100644
--- a/evcharger-app/qml/LanguageSelector.qml
+++ b/evcharger-app/qml/LanguageSelector.qml
@@ -130,4 +130,11 @@ SettingsCard {
color: App.AppTheme.sectionLabelColor
wrapMode: Text.Wrap
}
+
+ Text {
+ Layout.fillWidth: true
+ text: qsTr("Tip: Swipe left or right with two fingers anywhere in the app to cycle through languages.")
+ color: App.AppTheme.sectionLabelColor
+ wrapMode: Text.Wrap
+ }
}
diff --git a/evcharger-app/qml/NamePage.qml b/evcharger-app/qml/NamePage.qml
index 2b31546..5dc9cf0 100644
--- a/evcharger-app/qml/NamePage.qml
+++ b/evcharger-app/qml/NamePage.qml
@@ -5,7 +5,15 @@ import QtQuick.Layouts
NavigationPage {
title: qsTr("Name")
+ Text {
+ Layout.fillWidth: true
+ text: qsTr("Change the name used to identify this device in the app and on the network.")
+ color: "gray"
+ wrapMode: Text.Wrap
+ }
+
EditValueItem {
+ id: nameEditor
text: qsTr("Name")
apiKey: "fna"
fullWidth: true
@@ -14,4 +22,39 @@ NavigationPage {
property alias value: textField.text
}
}
+
+ SettingsCard {
+ visible: nameEditor.exists
+
+ SetValueHelper {
+ id: nameResetter
+ deviceConnection: theDeviceConnection
+ apiKey: "fna"
+ }
+
+ Text {
+ Layout.fillWidth: true
+ text: qsTr("Reset the name to the device default.")
+ color: "gray"
+ wrapMode: Text.Wrap
+ }
+
+ RowLayout {
+ Layout.fillWidth: true
+
+ Button {
+ text: qsTr("Reset name")
+ enabled: !nameResetter.pending
+ onClicked: nameResetter.setValue(null)
+ }
+
+ BusyIndicator {
+ visible: nameResetter.pending
+ }
+
+ RequestStatusText {
+ request: nameResetter
+ }
+ }
+ }
}
diff --git a/evcharger-app/qml/SensorsConfigurationPage.qml b/evcharger-app/qml/SensorsConfigurationPage.qml
index 34a6938..9948275 100644
--- a/evcharger-app/qml/SensorsConfigurationPage.qml
+++ b/evcharger-app/qml/SensorsConfigurationPage.qml
@@ -51,7 +51,7 @@ NavigationPage {
Text {
Layout.fillWidth: true
visible: measurementService.exists
- text: qsTr("Continuous raw measurement can reduce controller performance.")
+ text: qsTr("Temporarily disabling measurements can sometimes help with stability problems.")
color: "gray"
wrapMode: Text.Wrap
}
@@ -62,7 +62,9 @@ NavigationPage {
ApiStatusRow {
id: updateRate
apiKey: "mur"
- label: qsTr("Measurement update rate")
+ label: qsTr("Refresh rate")
+ labelMaximumWidth: 90
+ labelWidthRatio: 0.32
}
}