diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 58177ee55..7f07058ff 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -68,6 +68,7 @@ The attached binaries can also be downloaded from http://ota.tasmota.com/tasmota - Command ``SetOption118 1`` to move ZbReceived from JSON message and into the subtopic replacing "SENSOR" default [#10353](https://github.com/arendst/Tasmota/issues/10353) - Command ``SetOption119 1`` to remove the device addr from json payload, can be used with zb_topic_fname where the addr is already known from the topic [#10355](https://github.com/arendst/Tasmota/issues/10355) - Zigbee command ``SetOption120 1`` or ``ZbEndpointTopic 1`` to add the zigbee endpoint as suffix in topic when using ``SetOption89 1`` +- Zigbee command ``ZbScan`` to do an energy scan on each radio channel - Commands ``ChannelRemap``, ``MultiPWM``, ``AlexaCTRange``, ``PowerOnFade``, ``PWMCT``, ``WhiteBlend`` and ``VirtualCT`` as synonyms for ``SetOption37, 68, 82, 91, 92, 105`` and ``106`` - Commands ``ZbNameKey``, ``ZbDeviceTopic``, ``ZbNoPrefix``, ``ZbEndpointSuffix``, ``ZbNoAutoBind`` and ``ZbNameTopic`` as synonyms for ``SetOption83, 89, 100, 101, 110`` and ``112`` - Commands ``ZbNoAutoBind``, ``ZbReceivedTopic`` and ``ZbOmitDevice`` as synonyms for ``SetOption116, 118`` and ``119`` diff --git a/tasmota/language/af_AF.h b/tasmota/language/af_AF.h index f6c636511..b32713949 100644 --- a/tasmota/language/af_AF.h +++ b/tasmota/language/af_AF.h @@ -100,6 +100,7 @@ #define D_FALSE "Onwaar" #define D_FILE "Lêer" #define D_FLOW_RATE "Vloeitempo" +#define D_FRAGMENTATION "frag." // Lower case abbreviated version of fragmentation used in "memory fragmentation" #define D_FREE_MEMORY "Vrye geheue" #define D_PSR_MAX_MEMORY "PS-RAM geheue" #define D_PSR_FREE_MEMORY "PS-RAM vrye geheue" diff --git a/tasmota/language/bg_BG.h b/tasmota/language/bg_BG.h index 30e64a2ea..b5a450bd7 100644 --- a/tasmota/language/bg_BG.h +++ b/tasmota/language/bg_BG.h @@ -100,6 +100,7 @@ #define D_FALSE "Невярно" #define D_FILE "Файл" #define D_FLOW_RATE "Дебит" +#define D_FRAGMENTATION "frag." // Lower case abbreviated version of fragmentation used in "memory fragmentation" #define D_FREE_MEMORY "Свободна памет" #define D_PSR_MAX_MEMORY "PS-RAM Memory" #define D_PSR_FREE_MEMORY "PS-RAM free Memory" diff --git a/tasmota/language/cs_CZ.h b/tasmota/language/cs_CZ.h index 005f7d1b6..6449196c5 100644 --- a/tasmota/language/cs_CZ.h +++ b/tasmota/language/cs_CZ.h @@ -100,6 +100,7 @@ #define D_FALSE "Nepravda" #define D_FILE "Soubor" #define D_FLOW_RATE "Flow rate" +#define D_FRAGMENTATION "frag." // Lower case abbreviated version of fragmentation used in "memory fragmentation" #define D_FREE_MEMORY "Volná paměť" #define D_PSR_MAX_MEMORY "PS-RAM Memory" #define D_PSR_FREE_MEMORY "PS-RAM free Memory" diff --git a/tasmota/language/de_DE.h b/tasmota/language/de_DE.h index 50a022b6a..1af8a09ac 100644 --- a/tasmota/language/de_DE.h +++ b/tasmota/language/de_DE.h @@ -100,6 +100,7 @@ #define D_FALSE "falsch" #define D_FILE "Datei" #define D_FLOW_RATE "Durchflussmenge" +#define D_FRAGMENTATION "frag." // Lower case abbreviated version of fragmentation used in "memory fragmentation" #define D_FREE_MEMORY "Freier Arbeitsspeicher" #define D_PSR_MAX_MEMORY "PS-RAM Speicher" #define D_PSR_FREE_MEMORY "PS-RAM freier Speicher" diff --git a/tasmota/language/el_GR.h b/tasmota/language/el_GR.h index c064a5492..0409a9696 100644 --- a/tasmota/language/el_GR.h +++ b/tasmota/language/el_GR.h @@ -100,6 +100,7 @@ #define D_FALSE "Ψευδές" #define D_FILE "Αρχείο" #define D_FLOW_RATE "Flow rate" +#define D_FRAGMENTATION "frag." // Lower case abbreviated version of fragmentation used in "memory fragmentation" #define D_FREE_MEMORY "Ελεύθερη μνήμη" #define D_PSR_MAX_MEMORY "PS-RAM Memory" #define D_PSR_FREE_MEMORY "PS-RAM free Memory" diff --git a/tasmota/language/en_GB.h b/tasmota/language/en_GB.h index bd3eac4c0..2cde1ccdf 100644 --- a/tasmota/language/en_GB.h +++ b/tasmota/language/en_GB.h @@ -100,6 +100,7 @@ #define D_FALSE "False" #define D_FILE "File" #define D_FLOW_RATE "Flow rate" +#define D_FRAGMENTATION "frag." // Lower case abbreviated version of fragmentation used in "memory fragmentation" #define D_FREE_MEMORY "Free Memory" #define D_PSR_MAX_MEMORY "PS-RAM Memory" #define D_PSR_FREE_MEMORY "PS-RAM free Memory" diff --git a/tasmota/language/es_ES.h b/tasmota/language/es_ES.h index 63805281d..0147a88f5 100644 --- a/tasmota/language/es_ES.h +++ b/tasmota/language/es_ES.h @@ -100,6 +100,7 @@ #define D_FALSE "Falso" #define D_FILE "Archivo" #define D_FLOW_RATE "Caudal" +#define D_FRAGMENTATION "frag." // Lower case abbreviated version of fragmentation used in "memory fragmentation" #define D_FREE_MEMORY "Memoria Libre" #define D_PSR_MAX_MEMORY "Memoria PS-RAM" #define D_PSR_FREE_MEMORY "Memoria PS-RAM libre" diff --git a/tasmota/language/fr_FR.h b/tasmota/language/fr_FR.h index ece5afba4..2d2a8aaba 100644 --- a/tasmota/language/fr_FR.h +++ b/tasmota/language/fr_FR.h @@ -96,6 +96,7 @@ #define D_FALSE "Faux" #define D_FILE "Fichier" #define D_FLOW_RATE "Débit" +#define D_FRAGMENTATION "frag." // Lower case abbreviated version of fragmentation used in "memory fragmentation" #define D_FREE_MEMORY "Mémoire libre" #define D_PSR_MAX_MEMORY "Mémoire PS-RAM" #define D_PSR_FREE_MEMORY "Mémoire PS-RAM libre" diff --git a/tasmota/language/he_HE.h b/tasmota/language/he_HE.h index dd5a2777d..11b2e385e 100644 --- a/tasmota/language/he_HE.h +++ b/tasmota/language/he_HE.h @@ -100,6 +100,7 @@ #define D_FALSE "שגוי" #define D_FILE "קובץ" #define D_FLOW_RATE "Flow rate" +#define D_FRAGMENTATION "frag." // Lower case abbreviated version of fragmentation used in "memory fragmentation" #define D_FREE_MEMORY "זכרון פנוי" #define D_PSR_MAX_MEMORY "PS-RAM Memory" #define D_PSR_FREE_MEMORY "PS-RAM free Memory" diff --git a/tasmota/language/hu_HU.h b/tasmota/language/hu_HU.h index 83105a3df..f7b862d96 100644 --- a/tasmota/language/hu_HU.h +++ b/tasmota/language/hu_HU.h @@ -100,6 +100,7 @@ #define D_FALSE "Hamis" #define D_FILE "Fájl" #define D_FLOW_RATE "Flow rate" +#define D_FRAGMENTATION "frag." // Lower case abbreviated version of fragmentation used in "memory fragmentation" #define D_FREE_MEMORY "Szabad memória" #define D_PSR_MAX_MEMORY "PS-RAM Memory" #define D_PSR_FREE_MEMORY "PS-RAM free Memory" diff --git a/tasmota/language/it_IT.h b/tasmota/language/it_IT.h index 7d4c8a956..35df71e9e 100644 --- a/tasmota/language/it_IT.h +++ b/tasmota/language/it_IT.h @@ -100,6 +100,7 @@ #define D_FALSE "Falso" #define D_FILE "File" #define D_FLOW_RATE "Flusso dati" +#define D_FRAGMENTATION "frag." // Lower case abbreviated version of fragmentation used in "memory fragmentation" #define D_FREE_MEMORY "Memoria libera" #define D_PSR_MAX_MEMORY "PS-RAM - Memoria" #define D_PSR_FREE_MEMORY "PS-RAM - Memoria libera" diff --git a/tasmota/language/ko_KO.h b/tasmota/language/ko_KO.h index 149650839..22d0b17e1 100644 --- a/tasmota/language/ko_KO.h +++ b/tasmota/language/ko_KO.h @@ -100,6 +100,7 @@ #define D_FALSE "거짓" #define D_FILE "파일" #define D_FLOW_RATE "Flow rate" +#define D_FRAGMENTATION "frag." // Lower case abbreviated version of fragmentation used in "memory fragmentation" #define D_FREE_MEMORY "남은 메모리" #define D_PSR_MAX_MEMORY "PS-RAM Memory" #define D_PSR_FREE_MEMORY "PS-RAM free Memory" diff --git a/tasmota/language/nl_NL.h b/tasmota/language/nl_NL.h index 8b9972032..0e75df9f4 100644 --- a/tasmota/language/nl_NL.h +++ b/tasmota/language/nl_NL.h @@ -100,6 +100,7 @@ #define D_FALSE "Onwaar" #define D_FILE "Bestand" #define D_FLOW_RATE "Debiet" +#define D_FRAGMENTATION "frag." // Lower case abbreviated version of fragmentation used in "memory fragmentation" #define D_FREE_MEMORY "Vrij geheugen" #define D_PSR_MAX_MEMORY "PS-RAM Memory" #define D_PSR_FREE_MEMORY "PS-RAM free Memory" diff --git a/tasmota/language/pl_PL.h b/tasmota/language/pl_PL.h index 262e26480..9a7c2cd03 100644 --- a/tasmota/language/pl_PL.h +++ b/tasmota/language/pl_PL.h @@ -100,6 +100,7 @@ #define D_FALSE "Fałsz" #define D_FILE "Plik" #define D_FLOW_RATE "Przepływ" +#define D_FRAGMENTATION "frag." // Lower case abbreviated version of fragmentation used in "memory fragmentation" #define D_FREE_MEMORY "Wolna pamięć" #define D_PSR_MAX_MEMORY "Pamięć PS-RAM" #define D_PSR_FREE_MEMORY "Wolna pamięć PS-RAM" diff --git a/tasmota/language/pt_BR.h b/tasmota/language/pt_BR.h index 3b91baee5..84aef8ede 100644 --- a/tasmota/language/pt_BR.h +++ b/tasmota/language/pt_BR.h @@ -100,6 +100,7 @@ #define D_FALSE "Falso" #define D_FILE "Arquivo" #define D_FLOW_RATE "Quociente de vazão" +#define D_FRAGMENTATION "frag." // Lower case abbreviated version of fragmentation used in "memory fragmentation" #define D_FREE_MEMORY "Memória livre" #define D_PSR_MAX_MEMORY "PS-RAM Memory" #define D_PSR_FREE_MEMORY "PS-RAM free Memory" diff --git a/tasmota/language/pt_PT.h b/tasmota/language/pt_PT.h index 2ac491443..a02bb9a67 100644 --- a/tasmota/language/pt_PT.h +++ b/tasmota/language/pt_PT.h @@ -100,6 +100,7 @@ #define D_FALSE "Falso" #define D_FILE "Ficheiro" #define D_FLOW_RATE "Taxa de Fluxo" +#define D_FRAGMENTATION "frag." // Lower case abbreviated version of fragmentation used in "memory fragmentation" #define D_FREE_MEMORY "Memoria Livre" #define D_PSR_MAX_MEMORY "PS-RAM Memory" #define D_PSR_FREE_MEMORY "PS-RAM free Memory" diff --git a/tasmota/language/ro_RO.h b/tasmota/language/ro_RO.h index 15cf67ee6..9a1ed142a 100644 --- a/tasmota/language/ro_RO.h +++ b/tasmota/language/ro_RO.h @@ -100,6 +100,7 @@ #define D_FALSE "Fals" #define D_FILE "Fișier" #define D_FLOW_RATE "Debit" +#define D_FRAGMENTATION "frag." // Lower case abbreviated version of fragmentation used in "memory fragmentation" #define D_FREE_MEMORY "Memorie Liberă" #define D_PSR_MAX_MEMORY "PS-RAM Memory" #define D_PSR_FREE_MEMORY "PS-RAM free Memory" diff --git a/tasmota/language/ru_RU.h b/tasmota/language/ru_RU.h index 2cb1d295d..a2029c118 100644 --- a/tasmota/language/ru_RU.h +++ b/tasmota/language/ru_RU.h @@ -100,6 +100,7 @@ #define D_FALSE "Ложно" #define D_FILE "Файл" #define D_FLOW_RATE "Flow rate" +#define D_FRAGMENTATION "frag." // Lower case abbreviated version of fragmentation used in "memory fragmentation" #define D_FREE_MEMORY "Свободная память" #define D_PSR_MAX_MEMORY "PS-RAM Memory" #define D_PSR_FREE_MEMORY "PS-RAM free Memory" diff --git a/tasmota/language/sk_SK.h b/tasmota/language/sk_SK.h index 8086cf69f..a7e2f2f9a 100644 --- a/tasmota/language/sk_SK.h +++ b/tasmota/language/sk_SK.h @@ -100,6 +100,7 @@ #define D_FALLBACK_TOPIC "Záložný topic" #define D_FALSE "Nepravda" #define D_FILE "Súbor" +#define D_FRAGMENTATION "frag." // Lower case abbreviated version of fragmentation used in "memory fragmentation" #define D_FREE_MEMORY "Voľná pamäť" #define D_PSR_MAX_MEMORY "PS-RAM Memory" #define D_PSR_FREE_MEMORY "PS-RAM free Memory" diff --git a/tasmota/language/sv_SE.h b/tasmota/language/sv_SE.h index 83c26b3ca..32708fe6a 100644 --- a/tasmota/language/sv_SE.h +++ b/tasmota/language/sv_SE.h @@ -100,6 +100,7 @@ #define D_FALSE "Falskt" #define D_FILE "Fil" #define D_FLOW_RATE "Flow rate" +#define D_FRAGMENTATION "frag." // Lower case abbreviated version of fragmentation used in "memory fragmentation" #define D_FREE_MEMORY "Ledigt minne" #define D_PSR_MAX_MEMORY "PS-RAM Memory" #define D_PSR_FREE_MEMORY "PS-RAM free Memory" diff --git a/tasmota/language/tr_TR.h b/tasmota/language/tr_TR.h index 6179ae17a..b45a886e3 100644 --- a/tasmota/language/tr_TR.h +++ b/tasmota/language/tr_TR.h @@ -100,6 +100,7 @@ #define D_FALSE "False" #define D_FILE "Dosya" #define D_FLOW_RATE "Flow rate" +#define D_FRAGMENTATION "frag." // Lower case abbreviated version of fragmentation used in "memory fragmentation" #define D_FREE_MEMORY "Boş Hafıza" #define D_PSR_MAX_MEMORY "PS-RAM Memory" #define D_PSR_FREE_MEMORY "PS-RAM free Memory" diff --git a/tasmota/language/uk_UA.h b/tasmota/language/uk_UA.h index 929f2df42..8fb58deed 100644 --- a/tasmota/language/uk_UA.h +++ b/tasmota/language/uk_UA.h @@ -100,6 +100,7 @@ #define D_FALSE "Ні" #define D_FILE "Файл" #define D_FLOW_RATE "Потік" +#define D_FRAGMENTATION "frag." // Lower case abbreviated version of fragmentation used in "memory fragmentation" #define D_FREE_MEMORY "Вільна память" #define D_PSR_MAX_MEMORY "PS-RAM Memory" #define D_PSR_FREE_MEMORY "PS-RAM free Memory" diff --git a/tasmota/language/vi_VN.h b/tasmota/language/vi_VN.h index 94c953f0c..1bc4ffe71 100644 --- a/tasmota/language/vi_VN.h +++ b/tasmota/language/vi_VN.h @@ -100,6 +100,7 @@ #define D_FALSE "Sai" #define D_FILE "Tệp" #define D_FLOW_RATE "Tốc độ dòng" +#define D_FRAGMENTATION "frag." // Lower case abbreviated version of fragmentation used in "memory fragmentation" #define D_FREE_MEMORY "Bộ nhớ trống" #define D_PSR_MAX_MEMORY "Bộ nhớ PS-RAM" #define D_PSR_FREE_MEMORY "Bộ nhớ PS-RAM trống" diff --git a/tasmota/language/zh_CN.h b/tasmota/language/zh_CN.h index 999227a0d..bc929c300 100644 --- a/tasmota/language/zh_CN.h +++ b/tasmota/language/zh_CN.h @@ -100,6 +100,7 @@ #define D_FALSE "False" #define D_FILE "文件:" #define D_FLOW_RATE "Flow rate" +#define D_FRAGMENTATION "frag." // Lower case abbreviated version of fragmentation used in "memory fragmentation" #define D_FREE_MEMORY "空闲内存" #define D_PSR_MAX_MEMORY "PS-RAM Memory" #define D_PSR_FREE_MEMORY "PS-RAM free Memory" diff --git a/tasmota/language/zh_TW.h b/tasmota/language/zh_TW.h index 6d4ced015..51c8d50f8 100644 --- a/tasmota/language/zh_TW.h +++ b/tasmota/language/zh_TW.h @@ -100,6 +100,7 @@ #define D_FALSE "假" #define D_FILE "檔案:" #define D_FLOW_RATE "流量" +#define D_FRAGMENTATION "frag." // Lower case abbreviated version of fragmentation used in "memory fragmentation" #define D_FREE_MEMORY "可用的記憶體" #define D_PSR_MAX_MEMORY "偽靜態隨機存取記憶體(PS-RAM)容量" #define D_PSR_FREE_MEMORY "偽靜態隨機存取記憶體(PS-RAM)可用空間" diff --git a/tasmota/xdrv_01_webserver.ino b/tasmota/xdrv_01_webserver.ino index 12ee2d6cd..ed9efb562 100644 --- a/tasmota/xdrv_01_webserver.ino +++ b/tasmota/xdrv_01_webserver.ino @@ -2180,7 +2180,7 @@ void HandleInformation(void) WSContentSend_P(PSTR("}1" D_FREE_PROGRAM_SPACE "}2%d kB"), ESP.getFreeSketchSpace() / 1024); #ifdef ESP32 int32_t freeMaxMem = 100 - (int32_t)(ESP_getMaxAllocHeap() * 100 / ESP_getFreeHeap()); - WSContentSend_P(PSTR("}1" D_FREE_MEMORY "}2%1_f kB (frag. %d%%)"), &freeMem, freeMaxMem); + WSContentSend_P(PSTR("}1" D_FREE_MEMORY "}2%1_f kB (" D_FRAGMENTATION " %d%%)"), &freeMem, freeMaxMem); if (psramFound()) { WSContentSend_P(PSTR("}1" D_PSR_MAX_MEMORY "}2%d kB"), ESP.getPsramSize() / 1024); WSContentSend_P(PSTR("}1" D_PSR_FREE_MEMORY "}2%d kB"), ESP.getFreePsram() / 1024);