From a4b218b89e70613c0e684b2347b78bc6e3526739 Mon Sep 17 00:00:00 2001 From: SteWers Date: Sat, 8 Jan 2022 21:46:23 +0100 Subject: [PATCH] [Solax X1] Rework inverter-mode - redesign inverter-mode implementation - enhancements to solax protocol version 1.7 - few german translation fixes --- tasmota/language/af_AF.h | 11 +++++++---- tasmota/language/bg_BG.h | 11 +++++++---- tasmota/language/cs_CZ.h | 11 +++++++---- tasmota/language/de_DE.h | 27 +++++++++++++++------------ tasmota/language/el_GR.h | 11 +++++++---- tasmota/language/en_GB.h | 17 ++++++++++------- tasmota/language/es_ES.h | 11 +++++++---- tasmota/language/fr_FR.h | 11 +++++++---- tasmota/language/fy_NL.h | 11 +++++++---- tasmota/language/he_HE.h | 11 +++++++---- tasmota/language/hu_HU.h | 11 +++++++---- tasmota/language/it_IT.h | 11 +++++++---- tasmota/language/ko_KO.h | 11 +++++++---- tasmota/language/nl_NL.h | 11 +++++++---- tasmota/language/pl_PL.h | 11 +++++++---- tasmota/language/pt_BR.h | 11 +++++++---- tasmota/language/pt_PT.h | 11 +++++++---- tasmota/language/ro_RO.h | 11 +++++++---- tasmota/language/ru_RU.h | 11 +++++++---- tasmota/language/sk_SK.h | 11 +++++++---- tasmota/language/sv_SE.h | 11 +++++++---- tasmota/language/tr_TR.h | 11 +++++++---- tasmota/language/uk_UA.h | 11 +++++++---- tasmota/language/vi_VN.h | 11 +++++++---- tasmota/language/zh_CN.h | 11 +++++++---- tasmota/language/zh_TW.h | 11 +++++++---- tasmota/xnrg_12_solaxX1.ino | 13 +++++++------ 27 files changed, 200 insertions(+), 121 deletions(-) diff --git a/tasmota/language/af_AF.h b/tasmota/language/af_AF.h index 271d10364..ed8d9ea65 100644 --- a/tasmota/language/af_AF.h +++ b/tasmota/language/af_AF.h @@ -922,10 +922,13 @@ #define D_SOLAR_POWER "Sonkrag" #define D_INVERTER_POWER "Omskakelaarkrag" #define D_STATUS "Status" -#define D_WAITING "Wag" -#define D_CHECKING "Nagaan" -#define D_WORKING "Werk" -#define D_FAILURE "Mislukking" +#define D_SOLAX_MODE_0 "Wag" +#define D_SOLAX_MODE_1 "Nagaan" +#define D_SOLAX_MODE_2 "Werk" +#define D_SOLAX_MODE_3 "Mislukking" +#define D_SOLAX_MODE_4 "Permanent Failure" // to be translated +#define D_SOLAX_MODE_5 "Software Update" // to be translated +#define D_SOLAX_MODE_6 "Selftest" // to be translated #define D_SOLAX_ERROR_0 "Geen foutkode nie" #define D_SOLAX_ERROR_1 "Netspanning verlies fout" #define D_SOLAX_ERROR_2 "Netspanning spanning fout" diff --git a/tasmota/language/bg_BG.h b/tasmota/language/bg_BG.h index eabffd0e4..03f77368b 100644 --- a/tasmota/language/bg_BG.h +++ b/tasmota/language/bg_BG.h @@ -922,10 +922,13 @@ #define D_SOLAR_POWER "Слънчева мощност" #define D_INVERTER_POWER "Мощност на инвертора" #define D_STATUS "Състояние" -#define D_WAITING "Очакване" -#define D_CHECKING "Проверка" -#define D_WORKING "Работи" -#define D_FAILURE "Грешка" +#define D_SOLAX_MODE_0 "Очакване" +#define D_SOLAX_MODE_1 "Проверка" +#define D_SOLAX_MODE_2 "Работи" +#define D_SOLAX_MODE_3 "Грешка" +#define D_SOLAX_MODE_4 "Permanent Failure" // to be translated +#define D_SOLAX_MODE_5 "Software Update" // to be translated +#define D_SOLAX_MODE_6 "Selftest" // to be translated #define D_SOLAX_ERROR_0 "Липсва код за грешка" #define D_SOLAX_ERROR_1 "Грешка - загуба на мрежата" #define D_SOLAX_ERROR_2 "Грешка - мрежово напрежение" diff --git a/tasmota/language/cs_CZ.h b/tasmota/language/cs_CZ.h index 93652d39f..e438114bf 100644 --- a/tasmota/language/cs_CZ.h +++ b/tasmota/language/cs_CZ.h @@ -922,10 +922,13 @@ #define D_SOLAR_POWER "Solar Power" #define D_INVERTER_POWER "Inverter Power" #define D_STATUS "Status" -#define D_WAITING "Waiting" -#define D_CHECKING "Checking" -#define D_WORKING "Working" -#define D_FAILURE "Failure" +#define D_SOLAX_MODE_0 "Waiting" +#define D_SOLAX_MODE_1 "Checking" +#define D_SOLAX_MODE_2 "Working" +#define D_SOLAX_MODE_3 "Failure" +#define D_SOLAX_MODE_4 "Permanent Failure" // to be translated +#define D_SOLAX_MODE_5 "Software Update" // to be translated +#define D_SOLAX_MODE_6 "Selftest" // to be translated #define D_SOLAX_ERROR_0 "No Error Code" #define D_SOLAX_ERROR_1 "Grid Lost Fault" #define D_SOLAX_ERROR_2 "Grid Voltage Fault" diff --git a/tasmota/language/de_DE.h b/tasmota/language/de_DE.h index 0b2715b37..5dc9f72dd 100644 --- a/tasmota/language/de_DE.h +++ b/tasmota/language/de_DE.h @@ -919,19 +919,22 @@ #define D_PV2_VOLTAGE "PV2 Spannung" #define D_PV2_CURRENT "PV2 Strom" #define D_PV2_POWER "PV2 Leistung" -#define D_SOLAR_POWER "solare Leistung" -#define D_INVERTER_POWER "Inverter Leistung" +#define D_SOLAR_POWER "PV Gesamtleistung" +#define D_INVERTER_POWER "Ausgangsleistung" #define D_STATUS "Status" -#define D_WAITING "warten" -#define D_CHECKING "prüfen" -#define D_WORKING "arbeitet" -#define D_FAILURE "Fehler" -#define D_SOLAX_ERROR_0 "Kein Fehler Code" -#define D_SOLAX_ERROR_1 "Fehler im Solarstromnetz" -#define D_SOLAX_ERROR_2 "Spannungsfehler im Solarstromnetz" -#define D_SOLAX_ERROR_3 "Frequenzfehler im Solarstromnetz" -#define D_SOLAX_ERROR_4 "Pv Spannungsfehler" -#define D_SOLAX_ERROR_5 "Isolationsfehler" +#define D_SOLAX_MODE_0 "warten" +#define D_SOLAX_MODE_1 "prüfen" +#define D_SOLAX_MODE_2 "arbeitet" +#define D_SOLAX_MODE_3 "Fehler" +#define D_SOLAX_MODE_4 "Dauerhafter Fehler" +#define D_SOLAX_MODE_5 "Software Update" +#define D_SOLAX_MODE_6 "Selbsttest" +#define D_SOLAX_ERROR_0 "Kein Fehler" +#define D_SOLAX_ERROR_1 "Keine Netzspannung vorhanden" +#define D_SOLAX_ERROR_2 "Netzspannung unzulässig" +#define D_SOLAX_ERROR_3 "Netzfrequenz unzulässig" +#define D_SOLAX_ERROR_4 "PV-Spannung zu hoch" +#define D_SOLAX_ERROR_5 "PV-Isolationsfehler" #define D_SOLAX_ERROR_6 "Übertemperatur" #define D_SOLAX_ERROR_7 "Lüfterfehler" #define D_SOLAX_ERROR_8 "sonstiger Fehler" diff --git a/tasmota/language/el_GR.h b/tasmota/language/el_GR.h index 3476240ff..d71dda45e 100644 --- a/tasmota/language/el_GR.h +++ b/tasmota/language/el_GR.h @@ -922,10 +922,13 @@ #define D_SOLAR_POWER "Solar Power" #define D_INVERTER_POWER "Inverter Power" #define D_STATUS "Status" -#define D_WAITING "Waiting" -#define D_CHECKING "Checking" -#define D_WORKING "Working" -#define D_FAILURE "Failure" +#define D_SOLAX_MODE_0 "Waiting" +#define D_SOLAX_MODE_1 "Checking" +#define D_SOLAX_MODE_2 "Working" +#define D_SOLAX_MODE_3 "Failure" +#define D_SOLAX_MODE_4 "Permanent Failure" // to be translated +#define D_SOLAX_MODE_5 "Software Update" // to be translated +#define D_SOLAX_MODE_6 "Selftest" // to be translated #define D_SOLAX_ERROR_0 "No Error Code" #define D_SOLAX_ERROR_1 "Grid Lost Fault" #define D_SOLAX_ERROR_2 "Grid Voltage Fault" diff --git a/tasmota/language/en_GB.h b/tasmota/language/en_GB.h index ee76acf3e..39d0457cb 100644 --- a/tasmota/language/en_GB.h +++ b/tasmota/language/en_GB.h @@ -922,16 +922,19 @@ #define D_SOLAR_POWER "Solar Power" #define D_INVERTER_POWER "Inverter Power" #define D_STATUS "Status" -#define D_WAITING "Waiting" -#define D_CHECKING "Checking" -#define D_WORKING "Working" -#define D_FAILURE "Failure" -#define D_SOLAX_ERROR_0 "No Error Code" +#define D_SOLAX_MODE_0 "Waiting" +#define D_SOLAX_MODE_1 "Checking" +#define D_SOLAX_MODE_2 "Working" +#define D_SOLAX_MODE_3 "Failure" +#define D_SOLAX_MODE_4 "Permanent Failure" +#define D_SOLAX_MODE_5 "Software Update" +#define D_SOLAX_MODE_6 "Selftest" +#define D_SOLAX_ERROR_0 "No Error" #define D_SOLAX_ERROR_1 "Grid Lost Fault" #define D_SOLAX_ERROR_2 "Grid Voltage Fault" #define D_SOLAX_ERROR_3 "Grid Frequency Fault" -#define D_SOLAX_ERROR_4 "Pv Voltage Fault" -#define D_SOLAX_ERROR_5 "Isolation Fault" +#define D_SOLAX_ERROR_4 "PV Voltage too high" +#define D_SOLAX_ERROR_5 "PV Isolation Fault" #define D_SOLAX_ERROR_6 "Over Temperature Fault" #define D_SOLAX_ERROR_7 "Fan Fault" #define D_SOLAX_ERROR_8 "Other Device Fault" diff --git a/tasmota/language/es_ES.h b/tasmota/language/es_ES.h index 25d0cd09b..ba6b95087 100644 --- a/tasmota/language/es_ES.h +++ b/tasmota/language/es_ES.h @@ -922,10 +922,13 @@ #define D_SOLAR_POWER "Potencia Solar" #define D_INVERTER_POWER "Potencia del Inversor" #define D_STATUS "Estado" -#define D_WAITING "En Espera" -#define D_CHECKING "Revisando" -#define D_WORKING "Funcionando" -#define D_FAILURE "Falla" +#define D_SOLAX_MODE_0 "En Espera" +#define D_SOLAX_MODE_1 "Revisando" +#define D_SOLAX_MODE_2 "Funcionando" +#define D_SOLAX_MODE_3 "Falla" +#define D_SOLAX_MODE_4 "Permanent Failure" // to be translated +#define D_SOLAX_MODE_5 "Software Update" // to be translated +#define D_SOLAX_MODE_6 "Selftest" // to be translated #define D_SOLAX_ERROR_0 "Sin código de Error" #define D_SOLAX_ERROR_1 "Falla por Pérdida de Red" #define D_SOLAX_ERROR_2 "Falla por Voltaje de Red" diff --git a/tasmota/language/fr_FR.h b/tasmota/language/fr_FR.h index e14c37c41..63ffb24d9 100644 --- a/tasmota/language/fr_FR.h +++ b/tasmota/language/fr_FR.h @@ -921,10 +921,13 @@ #define D_SOLAR_POWER "Puissance solaire" #define D_INVERTER_POWER "Puissance onduleur" #define D_STATUS "Statut" -#define D_WAITING "En attente" -#define D_CHECKING "En test" -#define D_WORKING "En marche" -#define D_FAILURE "Défault" +#define D_SOLAX_MODE_0 "En attente" +#define D_SOLAX_MODE_1 "En test" +#define D_SOLAX_MODE_2 "En marche" +#define D_SOLAX_MODE_3 "Défault" +#define D_SOLAX_MODE_4 "Permanent Failure" // to be translated +#define D_SOLAX_MODE_5 "Software Update" // to be translated +#define D_SOLAX_MODE_6 "Selftest" // to be translated #define D_SOLAX_ERROR_0 "Aucun code d'erreur" #define D_SOLAX_ERROR_1 "Défaut Perte de réseau" #define D_SOLAX_ERROR_2 "Défaut Tension réseau" diff --git a/tasmota/language/fy_NL.h b/tasmota/language/fy_NL.h index 7cb38ceef..7c4391321 100644 --- a/tasmota/language/fy_NL.h +++ b/tasmota/language/fy_NL.h @@ -922,10 +922,13 @@ #define D_SOLAR_POWER "Zon krêft" #define D_INVERTER_POWER "Inverter krêft" #define D_STATUS "Status" -#define D_WAITING "Wachtsje" -#define D_CHECKING "Kontrôle" -#define D_WORKING "Aktyf" -#define D_FAILURE "Ferkeard" +#define D_SOLAX_MODE_0 "Wachtsje" +#define D_SOLAX_MODE_1 "Kontrôle" +#define D_SOLAX_MODE_2 "Aktyf" +#define D_SOLAX_MODE_3 "Ferkeard" +#define D_SOLAX_MODE_4 "Permanent Failure" // to be translated +#define D_SOLAX_MODE_5 "Software Update" // to be translated +#define D_SOLAX_MODE_6 "Selftest" // to be translated #define D_SOLAX_ERROR_0 "Gjin" #define D_SOLAX_ERROR_1 "Netferbining" #define D_SOLAX_ERROR_2 "Netspanning" diff --git a/tasmota/language/he_HE.h b/tasmota/language/he_HE.h index 678eaf46b..9ac30c95b 100644 --- a/tasmota/language/he_HE.h +++ b/tasmota/language/he_HE.h @@ -922,10 +922,13 @@ #define D_SOLAR_POWER "Solar Power" #define D_INVERTER_POWER "Inverter Power" #define D_STATUS "Status" -#define D_WAITING "Waiting" -#define D_CHECKING "Checking" -#define D_WORKING "Working" -#define D_FAILURE "Failure" +#define D_SOLAX_MODE_0 "Waiting" +#define D_SOLAX_MODE_1 "Checking" +#define D_SOLAX_MODE_2 "Working" +#define D_SOLAX_MODE_3 "Failure" +#define D_SOLAX_MODE_4 "Permanent Failure" // to be translated +#define D_SOLAX_MODE_5 "Software Update" // to be translated +#define D_SOLAX_MODE_6 "Selftest" // to be translated #define D_SOLAX_ERROR_0 "No Error Code" #define D_SOLAX_ERROR_1 "Grid Lost Fault" #define D_SOLAX_ERROR_2 "Grid Voltage Fault" diff --git a/tasmota/language/hu_HU.h b/tasmota/language/hu_HU.h index a59516ad1..da6a153f0 100644 --- a/tasmota/language/hu_HU.h +++ b/tasmota/language/hu_HU.h @@ -922,10 +922,13 @@ #define D_SOLAR_POWER "Solar teljesítmény" #define D_INVERTER_POWER "Inverter teljesítmény" #define D_STATUS "Állapot" -#define D_WAITING "Várakozás" -#define D_CHECKING "Ellenőrzés" -#define D_WORKING "Folyamatban" -#define D_FAILURE "Hiba" +#define D_SOLAX_MODE_0 "Várakozás" +#define D_SOLAX_MODE_1 "Ellenőrzés" +#define D_SOLAX_MODE_2 "Folyamatban" +#define D_SOLAX_MODE_3 "Hiba" +#define D_SOLAX_MODE_4 "Permanent Failure" // to be translated +#define D_SOLAX_MODE_5 "Software Update" // to be translated +#define D_SOLAX_MODE_6 "Selftest" // to be translated #define D_SOLAX_ERROR_0 "Nincs hibakód" #define D_SOLAX_ERROR_1 "Hálózat elvesztése hiba" #define D_SOLAX_ERROR_2 "Hálózat feszültség hiba" diff --git a/tasmota/language/it_IT.h b/tasmota/language/it_IT.h index 247478aaf..e018887f4 100644 --- a/tasmota/language/it_IT.h +++ b/tasmota/language/it_IT.h @@ -922,10 +922,13 @@ #define D_SOLAR_POWER "Energia solare" #define D_INVERTER_POWER "Potenza inverter" #define D_STATUS "Stato" -#define D_WAITING "In attesa" -#define D_CHECKING "Controllo" -#define D_WORKING "Attivo" -#define D_FAILURE "Errore" +#define D_SOLAX_MODE_0 "In attesa" +#define D_SOLAX_MODE_1 "Controllo" +#define D_SOLAX_MODE_2 "Attivo" +#define D_SOLAX_MODE_3 "Errore" +#define D_SOLAX_MODE_4 "Permanent Failure" // to be translated +#define D_SOLAX_MODE_5 "Software Update" // to be translated +#define D_SOLAX_MODE_6 "Selftest" // to be translated #define D_SOLAX_ERROR_0 "Nessun codice errore" #define D_SOLAX_ERROR_1 "Griglia errore persa" #define D_SOLAX_ERROR_2 "Griglia errore tensione" diff --git a/tasmota/language/ko_KO.h b/tasmota/language/ko_KO.h index aa70e5be2..7fffd5f2a 100644 --- a/tasmota/language/ko_KO.h +++ b/tasmota/language/ko_KO.h @@ -922,10 +922,13 @@ #define D_SOLAR_POWER "Solar Power" #define D_INVERTER_POWER "Inverter Power" #define D_STATUS "Status" -#define D_WAITING "Waiting" -#define D_CHECKING "Checking" -#define D_WORKING "Working" -#define D_FAILURE "Failure" +#define D_SOLAX_MODE_0 "Waiting" +#define D_SOLAX_MODE_1 "Checking" +#define D_SOLAX_MODE_2 "Working" +#define D_SOLAX_MODE_3 "Failure" +#define D_SOLAX_MODE_4 "Permanent Failure" // to be translated +#define D_SOLAX_MODE_5 "Software Update" // to be translated +#define D_SOLAX_MODE_6 "Selftest" // to be translated #define D_SOLAX_ERROR_0 "No Error Code" #define D_SOLAX_ERROR_1 "Grid Lost Fault" #define D_SOLAX_ERROR_2 "Grid Voltage Fault" diff --git a/tasmota/language/nl_NL.h b/tasmota/language/nl_NL.h index b721251f7..37c59d587 100644 --- a/tasmota/language/nl_NL.h +++ b/tasmota/language/nl_NL.h @@ -922,10 +922,13 @@ #define D_SOLAR_POWER "Zon vermogen" #define D_INVERTER_POWER "Omvormer vermogen" #define D_STATUS "Status" -#define D_WAITING "Wacht" -#define D_CHECKING "Controle" -#define D_WORKING "Actief" -#define D_FAILURE "Fout" +#define D_SOLAX_MODE_0 "Wacht" +#define D_SOLAX_MODE_1 "Controle" +#define D_SOLAX_MODE_2 "Actief" +#define D_SOLAX_MODE_3 "Fout" +#define D_SOLAX_MODE_4 "Permanent Failure" // to be translated +#define D_SOLAX_MODE_5 "Software Update" // to be translated +#define D_SOLAX_MODE_6 "Selftest" // to be translated #define D_SOLAX_ERROR_0 "Geen" #define D_SOLAX_ERROR_1 "Netverbinding" #define D_SOLAX_ERROR_2 "Netspanning" diff --git a/tasmota/language/pl_PL.h b/tasmota/language/pl_PL.h index a9794adad..b95e509a8 100644 --- a/tasmota/language/pl_PL.h +++ b/tasmota/language/pl_PL.h @@ -922,10 +922,13 @@ #define D_SOLAR_POWER "Moc PV" #define D_INVERTER_POWER "Moc invertera" #define D_STATUS "Status" -#define D_WAITING "Oczekiwanie" -#define D_CHECKING "Sprawdzanie" -#define D_WORKING "Praca" -#define D_FAILURE "Błąd" +#define D_SOLAX_MODE_0 "Oczekiwanie" +#define D_SOLAX_MODE_1 "Sprawdzanie" +#define D_SOLAX_MODE_2 "Praca" +#define D_SOLAX_MODE_3 "Błąd" +#define D_SOLAX_MODE_4 "Permanent Failure" // to be translated +#define D_SOLAX_MODE_5 "Software Update" // to be translated +#define D_SOLAX_MODE_6 "Selftest" // to be translated #define D_SOLAX_ERROR_0 "Błąd - brak kodu" #define D_SOLAX_ERROR_1 "Błąd - utrata sieci" #define D_SOLAX_ERROR_2 "Błąd - napięcie sieci" diff --git a/tasmota/language/pt_BR.h b/tasmota/language/pt_BR.h index ab86c23a3..fcd3259f5 100644 --- a/tasmota/language/pt_BR.h +++ b/tasmota/language/pt_BR.h @@ -922,10 +922,13 @@ #define D_SOLAR_POWER "Energia Solar" #define D_INVERTER_POWER "Potência do Inversor" #define D_STATUS "Status" -#define D_WAITING "Esperando" -#define D_CHECKING "Verificando" -#define D_WORKING "Trabalhando" -#define D_FAILURE "Falha" +#define D_SOLAX_MODE_0 "Esperando" +#define D_SOLAX_MODE_1 "Verificando" +#define D_SOLAX_MODE_2 "Trabalhando" +#define D_SOLAX_MODE_3 "Falha" +#define D_SOLAX_MODE_4 "Permanent Failure" // to be translated +#define D_SOLAX_MODE_5 "Software Update" // to be translated +#define D_SOLAX_MODE_6 "Selftest" // to be translated #define D_SOLAX_ERROR_0 "Nenhum código de erro" #define D_SOLAX_ERROR_1 "Erro Grid Perdida" #define D_SOLAX_ERROR_2 "Falha na Tensão da rede" diff --git a/tasmota/language/pt_PT.h b/tasmota/language/pt_PT.h index c0556a582..8e09503e9 100644 --- a/tasmota/language/pt_PT.h +++ b/tasmota/language/pt_PT.h @@ -922,10 +922,13 @@ #define D_SOLAR_POWER "Potência Solar" #define D_INVERTER_POWER "Potência do Inversor" #define D_STATUS "Estado" -#define D_WAITING "Esperando" -#define D_CHECKING "Verificando" -#define D_WORKING "Trabalhando" -#define D_FAILURE "Falha" +#define D_SOLAX_MODE_0 "Esperando" +#define D_SOLAX_MODE_1 "Verificando" +#define D_SOLAX_MODE_2 "Trabalhando" +#define D_SOLAX_MODE_3 "Falha" +#define D_SOLAX_MODE_4 "Permanent Failure" // to be translated +#define D_SOLAX_MODE_5 "Software Update" // to be translated +#define D_SOLAX_MODE_6 "Selftest" // to be translated #define D_SOLAX_ERROR_0 "Nenhum código de erro" #define D_SOLAX_ERROR_1 "Falha devido a perda de rede" #define D_SOLAX_ERROR_2 "Falha devido a perda de tensão" diff --git a/tasmota/language/ro_RO.h b/tasmota/language/ro_RO.h index 2aea98777..8b737ffbb 100644 --- a/tasmota/language/ro_RO.h +++ b/tasmota/language/ro_RO.h @@ -922,10 +922,13 @@ #define D_SOLAR_POWER "Putere Solară" #define D_INVERTER_POWER "Invertor Putere" #define D_STATUS "Status" -#define D_WAITING "Așteptare" -#define D_CHECKING "Verificare" -#define D_WORKING "Lucrează" -#define D_FAILURE "Eroare" +#define D_SOLAX_MODE_0 "Așteptare" +#define D_SOLAX_MODE_1 "Verificare" +#define D_SOLAX_MODE_2 "Lucrează" +#define D_SOLAX_MODE_3 "Eroare" +#define D_SOLAX_MODE_4 "Permanent Failure" // to be translated +#define D_SOLAX_MODE_5 "Software Update" // to be translated +#define D_SOLAX_MODE_6 "Selftest" // to be translated #define D_SOLAX_ERROR_0 "Fără cod de eroare" #define D_SOLAX_ERROR_1 "Eroare zona" #define D_SOLAX_ERROR_2 "Eroare zona voltaj" diff --git a/tasmota/language/ru_RU.h b/tasmota/language/ru_RU.h index 44b4cda04..c38aa4359 100644 --- a/tasmota/language/ru_RU.h +++ b/tasmota/language/ru_RU.h @@ -922,10 +922,13 @@ #define D_SOLAR_POWER "Solar Power" #define D_INVERTER_POWER "Inverter Power" #define D_STATUS "Status" -#define D_WAITING "Waiting" -#define D_CHECKING "Checking" -#define D_WORKING "Working" -#define D_FAILURE "Failure" +#define D_SOLAX_MODE_0 "Waiting" +#define D_SOLAX_MODE_1 "Checking" +#define D_SOLAX_MODE_2 "Working" +#define D_SOLAX_MODE_3 "Failure" +#define D_SOLAX_MODE_4 "Permanent Failure" // to be translated +#define D_SOLAX_MODE_5 "Software Update" // to be translated +#define D_SOLAX_MODE_6 "Selftest" // to be translated #define D_SOLAX_ERROR_0 "No Error Code" #define D_SOLAX_ERROR_1 "Grid Lost Fault" #define D_SOLAX_ERROR_2 "Grid Voltage Fault" diff --git a/tasmota/language/sk_SK.h b/tasmota/language/sk_SK.h index 93b2f989e..5e3c8b7d5 100644 --- a/tasmota/language/sk_SK.h +++ b/tasmota/language/sk_SK.h @@ -922,10 +922,13 @@ #define D_SOLAR_POWER "Solar Power" #define D_INVERTER_POWER "Inverter Power" #define D_STATUS "Status" -#define D_WAITING "Waiting" -#define D_CHECKING "Checking" -#define D_WORKING "Working" -#define D_FAILURE "Failure" +#define D_SOLAX_MODE_0 "Waiting" +#define D_SOLAX_MODE_1 "Checking" +#define D_SOLAX_MODE_2 "Working" +#define D_SOLAX_MODE_3 "Failure" +#define D_SOLAX_MODE_4 "Permanent Failure" // to be translated +#define D_SOLAX_MODE_5 "Software Update" // to be translated +#define D_SOLAX_MODE_6 "Selftest" // to be translated #define D_SOLAX_ERROR_0 "No Error Code" #define D_SOLAX_ERROR_1 "Grid Lost Fault" #define D_SOLAX_ERROR_2 "Grid Voltage Fault" diff --git a/tasmota/language/sv_SE.h b/tasmota/language/sv_SE.h index 8e28f96c5..ee3547d13 100644 --- a/tasmota/language/sv_SE.h +++ b/tasmota/language/sv_SE.h @@ -922,10 +922,13 @@ #define D_SOLAR_POWER "Solar Power" #define D_INVERTER_POWER "Inverter Power" #define D_STATUS "Status" -#define D_WAITING "Waiting" -#define D_CHECKING "Checking" -#define D_WORKING "Working" -#define D_FAILURE "Failure" +#define D_SOLAX_MODE_0 "Waiting" +#define D_SOLAX_MODE_1 "Checking" +#define D_SOLAX_MODE_2 "Working" +#define D_SOLAX_MODE_3 "Failure" +#define D_SOLAX_MODE_4 "Permanent Failure" // to be translated +#define D_SOLAX_MODE_5 "Software Update" // to be translated +#define D_SOLAX_MODE_6 "Selftest" // to be translated #define D_SOLAX_ERROR_0 "No Error Code" #define D_SOLAX_ERROR_1 "Grid Lost Fault" #define D_SOLAX_ERROR_2 "Grid Voltage Fault" diff --git a/tasmota/language/tr_TR.h b/tasmota/language/tr_TR.h index aae233362..d37d2755a 100644 --- a/tasmota/language/tr_TR.h +++ b/tasmota/language/tr_TR.h @@ -922,10 +922,13 @@ #define D_SOLAR_POWER "Solar Power" #define D_INVERTER_POWER "Inverter Power" #define D_STATUS "Status" -#define D_WAITING "Waiting" -#define D_CHECKING "Checking" -#define D_WORKING "Working" -#define D_FAILURE "Failure" +#define D_SOLAX_MODE_0 "Waiting" +#define D_SOLAX_MODE_1 "Checking" +#define D_SOLAX_MODE_2 "Working" +#define D_SOLAX_MODE_3 "Failure" +#define D_SOLAX_MODE_4 "Permanent Failure" // to be translated +#define D_SOLAX_MODE_5 "Software Update" // to be translated +#define D_SOLAX_MODE_6 "Selftest" // to be translated #define D_SOLAX_ERROR_0 "No Error Code" #define D_SOLAX_ERROR_1 "Grid Lost Fault" #define D_SOLAX_ERROR_2 "Grid Voltage Fault" diff --git a/tasmota/language/uk_UA.h b/tasmota/language/uk_UA.h index 6a6d3d4cd..dcc9f168b 100644 --- a/tasmota/language/uk_UA.h +++ b/tasmota/language/uk_UA.h @@ -922,10 +922,13 @@ #define D_SOLAR_POWER "Solar Потужність" #define D_INVERTER_POWER "Inverter Потужність" #define D_STATUS "Стан" -#define D_WAITING "Очікування" -#define D_CHECKING "Перевірка" -#define D_WORKING "Працює" -#define D_FAILURE "Помилка" +#define D_SOLAX_MODE_0 "Очікування" +#define D_SOLAX_MODE_1 "Перевірка" +#define D_SOLAX_MODE_2 "Працює" +#define D_SOLAX_MODE_3 "Помилка" +#define D_SOLAX_MODE_4 "Permanent Failure" // to be translated +#define D_SOLAX_MODE_5 "Software Update" // to be translated +#define D_SOLAX_MODE_6 "Selftest" // to be translated #define D_SOLAX_ERROR_0 "Немає помилки" #define D_SOLAX_ERROR_1 "Втрата мережі" #define D_SOLAX_ERROR_2 "Напруга мережі" diff --git a/tasmota/language/vi_VN.h b/tasmota/language/vi_VN.h index 551307049..2bf694082 100644 --- a/tasmota/language/vi_VN.h +++ b/tasmota/language/vi_VN.h @@ -922,10 +922,13 @@ #define D_SOLAR_POWER "Nguồn năng lượng mặt trời" #define D_INVERTER_POWER "Nguồn Inverter" #define D_STATUS "Trạng thái" -#define D_WAITING "Đang chờ" -#define D_CHECKING "Đang kiểm tra" -#define D_WORKING "Đang làm việc" -#define D_FAILURE "Bị lỗi" +#define D_SOLAX_MODE_0 "Đang chờ" +#define D_SOLAX_MODE_1 "Đang kiểm tra" +#define D_SOLAX_MODE_2 "Đang làm việc" +#define D_SOLAX_MODE_3 "Bị lỗi" +#define D_SOLAX_MODE_4 "Permanent Failure" // to be translated +#define D_SOLAX_MODE_5 "Software Update" // to be translated +#define D_SOLAX_MODE_6 "Selftest" // to be translated #define D_SOLAX_ERROR_0 "Không có mã lỗi" #define D_SOLAX_ERROR_1 "Lỗi mất lưới điện" #define D_SOLAX_ERROR_2 "Điện áp điện lưới bị lỗi" diff --git a/tasmota/language/zh_CN.h b/tasmota/language/zh_CN.h index 40120a356..ba3c38301 100644 --- a/tasmota/language/zh_CN.h +++ b/tasmota/language/zh_CN.h @@ -922,10 +922,13 @@ #define D_SOLAR_POWER "Solar Power" #define D_INVERTER_POWER "Inverter Power" #define D_STATUS "Status" -#define D_WAITING "Waiting" -#define D_CHECKING "Checking" -#define D_WORKING "Working" -#define D_FAILURE "Failure" +#define D_SOLAX_MODE_0 "Waiting" +#define D_SOLAX_MODE_1 "Checking" +#define D_SOLAX_MODE_2 "Working" +#define D_SOLAX_MODE_3 "Failure" +#define D_SOLAX_MODE_4 "Permanent Failure" // to be translated +#define D_SOLAX_MODE_5 "Software Update" // to be translated +#define D_SOLAX_MODE_6 "Selftest" // to be translated #define D_SOLAX_ERROR_0 "No Error Code" #define D_SOLAX_ERROR_1 "Grid Lost Fault" #define D_SOLAX_ERROR_2 "Grid Voltage Fault" diff --git a/tasmota/language/zh_TW.h b/tasmota/language/zh_TW.h index 89368d38e..0fd2067a1 100644 --- a/tasmota/language/zh_TW.h +++ b/tasmota/language/zh_TW.h @@ -922,10 +922,13 @@ #define D_SOLAR_POWER "太陽能" #define D_INVERTER_POWER "Inverter Power" #define D_STATUS "狀態" -#define D_WAITING "等待中" -#define D_CHECKING "確認中" -#define D_WORKING "運作中" -#define D_FAILURE "錯誤" +#define D_SOLAX_MODE_0 "等待中" +#define D_SOLAX_MODE_1 "確認中" +#define D_SOLAX_MODE_2 "運作中" +#define D_SOLAX_MODE_3 "錯誤" +#define D_SOLAX_MODE_4 "Permanent Failure" // to be translated +#define D_SOLAX_MODE_5 "Software Update" // to be translated +#define D_SOLAX_MODE_6 "Selftest" // to be translated #define D_SOLAX_ERROR_0 "無錯誤碼" #define D_SOLAX_ERROR_1 "電網失聯(Grid Lost)錯誤" #define D_SOLAX_ERROR_2 "電網(Grid)電壓錯誤" diff --git a/tasmota/xnrg_12_solaxX1.ino b/tasmota/xnrg_12_solaxX1.ino index 534de4e47..fa925e519 100644 --- a/tasmota/xnrg_12_solaxX1.ino +++ b/tasmota/xnrg_12_solaxX1.ino @@ -83,7 +83,8 @@ union { }; } ErrCode; -const char kSolaxMode[] PROGMEM = D_WAITING "|" D_CHECKING "|" D_WORKING "|" D_FAILURE "|" D_OFF; +const char kSolaxMode[] PROGMEM = D_OFF "|" D_SOLAX_MODE_0 "|" D_SOLAX_MODE_1 "|" D_SOLAX_MODE_2 "|" D_SOLAX_MODE_3 "|" + D_SOLAX_MODE_4 "|" D_SOLAX_MODE_5 "|" D_SOLAX_MODE_6; const char kSolaxError[] PROGMEM = D_SOLAX_ERROR_0 "|" D_SOLAX_ERROR_1 "|" D_SOLAX_ERROR_2 "|" D_SOLAX_ERROR_3 "|" D_SOLAX_ERROR_4 "|" D_SOLAX_ERROR_5 "|" @@ -104,7 +105,7 @@ struct SOLAXX1 { float dc1_power = 0; float dc2_power = 0; - uint8_t status = 0; + int16_t runMode = 0; uint32_t errorCode = 0; } solaxX1; @@ -281,7 +282,7 @@ void solaxX1250MSecond(void) // Every 250 milliseconds //temporal = (float)((value[29] << 8) | value[30]) * 0.1f; // Not Used Energy.import_active[0] = (float)((value[31] << 24) | (value[32] << 16) | (value[33] << 8) | value[34]) * 0.1f; // Energy Total solaxX1.runtime_total = ((value[35] << 24) | (value[36] << 16) | (value[37] << 8) | value[38]); // Work Time Total - solaxX1.status = (uint8_t)((value[39] << 8) | value[40]); // Work mode + solaxX1.runMode = (value[39] << 8) | value[40]; // Work mode //temporal = (float)((value[41] << 8) | value[42]); // Grid voltage fault value 0.1V //temporal = (float)((value[43] << 8) | value[44]); // Gird frequency fault value 0.01Hz //temporal = (float)((value[45] << 8) | value[46]); // Dc injection fault value 1mA @@ -289,7 +290,7 @@ void solaxX1250MSecond(void) // Every 250 milliseconds //temporal = (float)((value[49] << 8) | value[50]); // Pv1 voltage fault value 0.1V //temporal = (float)((value[51] << 8) | value[52]); // Pv2 voltage fault value 0.1V //temporal = (float)((value[53] << 8) | value[54]); // GFC fault value - solaxX1.errorCode = ((value[58] << 24) | (value[57] << 16) | (value[56] << 8) | value[55]); // Error Code + solaxX1.errorCode = (value[58] << 24) | (value[57] << 16) | (value[56] << 8) | value[55]; // Error Code solaxX1.dc1_power = solaxX1.dc1_voltage * solaxX1.dc1_current; solaxX1.dc2_power = solaxX1.dc2_voltage * solaxX1.dc2_current; @@ -372,7 +373,7 @@ void solaxX1250MSecond(void) // Every 250 milliseconds solaxX1.temperature = solaxX1.dc1_voltage = solaxX1.dc2_voltage = solaxX1.dc1_current = solaxX1.dc2_current = solaxX1.dc1_power = 0; solaxX1.dc2_power = Energy.current[0] = Energy.voltage[0] = Energy.frequency[0] = Energy.active_power[0] = 0; - solaxX1.status = 4; // off(line) + solaxX1.runMode = -1; // off(line) } else { if (protocolStatus.queryOfflineSend) { protocolStatus.status = 0b00001000; // queryOffline @@ -449,7 +450,7 @@ void solaxX1Show(bool json) char runtime[33]; dtostrfd(solaxX1.runtime_total, 0, runtime); char status[33]; - GetTextIndexed(status, sizeof(status), solaxX1.status, kSolaxMode); + GetTextIndexed(status, sizeof(status), solaxX1.runMode + 1, kSolaxMode); if (json) {