diff --git a/tasmota/language/af_AF.h b/tasmota/language/af_AF.h index d90ee06c7..eb8ef8734 100644 --- a/tasmota/language/af_AF.h +++ b/tasmota/language/af_AF.h @@ -275,6 +275,7 @@ #define D_INFORMATION "Inligting" #define D_FIRMWARE_UPGRADE "Firmware-opgradering" #define D_MANAGEMENT "Consoles" +#define D_GPIO_VIEWER "GPIO Viewer" #define D_CONSOLE "Konsole" #define D_CONFIRM_RESTART "Bevestig weer te begin" diff --git a/tasmota/language/bg_BG.h b/tasmota/language/bg_BG.h index bffd921e2..8d02d6967 100644 --- a/tasmota/language/bg_BG.h +++ b/tasmota/language/bg_BG.h @@ -275,6 +275,7 @@ #define D_INFORMATION "Информация" #define D_FIRMWARE_UPGRADE "Обновяване на софтуера" #define D_MANAGEMENT "Терминали" +#define D_GPIO_VIEWER "GPIO Viewer" #define D_CONSOLE "Терминал" #define D_CONFIRM_RESTART "Потвърдете рестартиране" diff --git a/tasmota/language/ca_AD.h b/tasmota/language/ca_AD.h index 834481513..51477766f 100644 --- a/tasmota/language/ca_AD.h +++ b/tasmota/language/ca_AD.h @@ -275,6 +275,7 @@ #define D_INFORMATION "Informació" #define D_FIRMWARE_UPGRADE "Actualització de programari" #define D_MANAGEMENT "Consoles" +#define D_GPIO_VIEWER "GPIO Viewer" #define D_CONSOLE "Consola" #define D_CONFIRM_RESTART "Confirma el Reinici" diff --git a/tasmota/language/cs_CZ.h b/tasmota/language/cs_CZ.h index 9a8197a40..e62539927 100644 --- a/tasmota/language/cs_CZ.h +++ b/tasmota/language/cs_CZ.h @@ -275,6 +275,7 @@ #define D_INFORMATION "Informace" #define D_FIRMWARE_UPGRADE "Aktualizace firmware" #define D_MANAGEMENT "Consoles" +#define D_GPIO_VIEWER "GPIO Viewer" #define D_CONSOLE "Konzole" #define D_CONFIRM_RESTART "Potvrzení restartu" diff --git a/tasmota/language/de_DE.h b/tasmota/language/de_DE.h index c3bfe2dd7..c4a3ce265 100644 --- a/tasmota/language/de_DE.h +++ b/tasmota/language/de_DE.h @@ -275,6 +275,7 @@ #define D_INFORMATION "Informationen" #define D_FIRMWARE_UPGRADE "Firmware Update" #define D_MANAGEMENT "Konsolen" +#define D_GPIO_VIEWER "GPIO Viewer" #define D_CONSOLE "Konsole" #define D_CONFIRM_RESTART "Wirklich neustarten?" diff --git a/tasmota/language/el_GR.h b/tasmota/language/el_GR.h index 1edf65357..7efd379ca 100644 --- a/tasmota/language/el_GR.h +++ b/tasmota/language/el_GR.h @@ -275,6 +275,7 @@ #define D_INFORMATION "Πληροφορίες" #define D_FIRMWARE_UPGRADE "Αναβάθμιση" #define D_MANAGEMENT "Διαχείριση" +#define D_GPIO_VIEWER "GPIO Viewer" #define D_CONSOLE "Κονσόλα" #define D_CONFIRM_RESTART "Επιβεβαίωση επανεκκίνησης" diff --git a/tasmota/language/en_GB.h b/tasmota/language/en_GB.h index 139316d74..3f8d89854 100644 --- a/tasmota/language/en_GB.h +++ b/tasmota/language/en_GB.h @@ -275,6 +275,7 @@ #define D_INFORMATION "Information" #define D_FIRMWARE_UPGRADE "Firmware Upgrade" #define D_MANAGEMENT "Consoles" +#define D_GPIO_VIEWER "GPIO Viewer" #define D_CONSOLE "Console" #define D_CONFIRM_RESTART "Confirm Restart" diff --git a/tasmota/language/es_ES.h b/tasmota/language/es_ES.h index 8c0ed3475..9e6c0ed8d 100644 --- a/tasmota/language/es_ES.h +++ b/tasmota/language/es_ES.h @@ -275,6 +275,7 @@ #define D_INFORMATION "Información" #define D_FIRMWARE_UPGRADE "Actualizar Firmware" #define D_MANAGEMENT "Consolas" +#define D_GPIO_VIEWER "GPIO Viewer" #define D_CONSOLE "Consola" #define D_CONFIRM_RESTART "Confirmar Reinicio" diff --git a/tasmota/language/fr_FR.h b/tasmota/language/fr_FR.h index 0e89c0560..70515fb04 100644 --- a/tasmota/language/fr_FR.h +++ b/tasmota/language/fr_FR.h @@ -275,6 +275,7 @@ #define D_INFORMATION "Informations" #define D_FIRMWARE_UPGRADE "Mise à jour du Firmware" #define D_MANAGEMENT "Consoles" +#define D_GPIO_VIEWER "GPIO Viewer" #define D_CONSOLE "Console" #define D_CONFIRM_RESTART "Confirmer le redémarrage" diff --git a/tasmota/language/fy_NL.h b/tasmota/language/fy_NL.h index 436782c93..9d6d146be 100644 --- a/tasmota/language/fy_NL.h +++ b/tasmota/language/fy_NL.h @@ -275,6 +275,7 @@ #define D_INFORMATION "Ynformaasje" #define D_FIRMWARE_UPGRADE "Opwurdearje" #define D_MANAGEMENT "Consoles" +#define D_GPIO_VIEWER "GPIO Viewer" #define D_CONSOLE "Konsole" #define D_CONFIRM_RESTART "Befestigje opnij starte" diff --git a/tasmota/language/he_HE.h b/tasmota/language/he_HE.h index d489b2f64..23ca7488e 100644 --- a/tasmota/language/he_HE.h +++ b/tasmota/language/he_HE.h @@ -275,6 +275,7 @@ #define D_INFORMATION "מידע" #define D_FIRMWARE_UPGRADE "שדרוג קושחה" #define D_MANAGEMENT "Consoles" +#define D_GPIO_VIEWER "GPIO Viewer" #define D_CONSOLE "קונסול" #define D_CONFIRM_RESTART "אישור הפעלה מחדש" diff --git a/tasmota/language/hu_HU.h b/tasmota/language/hu_HU.h index a9715ef10..b12b037cd 100644 --- a/tasmota/language/hu_HU.h +++ b/tasmota/language/hu_HU.h @@ -275,6 +275,7 @@ #define D_INFORMATION "Információ" #define D_FIRMWARE_UPGRADE "Firmware frissítés" #define D_MANAGEMENT "Consoles" +#define D_GPIO_VIEWER "GPIO Viewer" #define D_CONSOLE "Konzol" #define D_CONFIRM_RESTART "Biztosan újraindítsam a modult?" diff --git a/tasmota/language/it_IT.h b/tasmota/language/it_IT.h index 29a012781..6f2c978a2 100644 --- a/tasmota/language/it_IT.h +++ b/tasmota/language/it_IT.h @@ -275,6 +275,7 @@ #define D_INFORMATION "Informazioni" #define D_FIRMWARE_UPGRADE "Aggiorna firmware" #define D_MANAGEMENT "Console" +#define D_GPIO_VIEWER "GPIO Viewer" #define D_CONSOLE "Console" #define D_CONFIRM_RESTART "Conferma riavvio" diff --git a/tasmota/language/ko_KO.h b/tasmota/language/ko_KO.h index 8fe87643b..07d0aa583 100644 --- a/tasmota/language/ko_KO.h +++ b/tasmota/language/ko_KO.h @@ -275,6 +275,7 @@ #define D_INFORMATION "정보" #define D_FIRMWARE_UPGRADE "펌웨어 업그레이드" #define D_MANAGEMENT "Consoles" +#define D_GPIO_VIEWER "GPIO Viewer" #define D_CONSOLE "콘솔" #define D_CONFIRM_RESTART "재시작" diff --git a/tasmota/language/nl_NL.h b/tasmota/language/nl_NL.h index 1ad5fa61f..fa6b80c59 100644 --- a/tasmota/language/nl_NL.h +++ b/tasmota/language/nl_NL.h @@ -275,6 +275,7 @@ #define D_INFORMATION "Informatie" #define D_FIRMWARE_UPGRADE "Opwaarderen" #define D_MANAGEMENT "Consoles" +#define D_GPIO_VIEWER "GPIO Viewer" #define D_CONSOLE "Console" #define D_CONFIRM_RESTART "Bevestig herstart" diff --git a/tasmota/language/pl_PL.h b/tasmota/language/pl_PL.h index 7693b986d..b6d6f9fe7 100644 --- a/tasmota/language/pl_PL.h +++ b/tasmota/language/pl_PL.h @@ -275,6 +275,7 @@ #define D_INFORMATION "Informacje" #define D_FIRMWARE_UPGRADE "Aktualizacja oprogramowania" #define D_MANAGEMENT "Konsole" +#define D_GPIO_VIEWER "GPIO Viewer" #define D_CONSOLE "Konsola" #define D_CONFIRM_RESTART "Potwierdź restart" diff --git a/tasmota/language/pt_BR.h b/tasmota/language/pt_BR.h index 0ee9a4433..e8c9c8fd4 100644 --- a/tasmota/language/pt_BR.h +++ b/tasmota/language/pt_BR.h @@ -275,6 +275,7 @@ #define D_INFORMATION "Informação" #define D_FIRMWARE_UPGRADE "Atualização de firmware" #define D_MANAGEMENT "Consoles" +#define D_GPIO_VIEWER "GPIO Viewer" #define D_CONSOLE "Console" #define D_CONFIRM_RESTART "Confirmar o reinicio" diff --git a/tasmota/language/pt_PT.h b/tasmota/language/pt_PT.h index e94a640f2..6dff9cfba 100644 --- a/tasmota/language/pt_PT.h +++ b/tasmota/language/pt_PT.h @@ -275,6 +275,7 @@ #define D_INFORMATION "Informação" #define D_FIRMWARE_UPGRADE "Atualização de Firmware" #define D_MANAGEMENT "Consoles" +#define D_GPIO_VIEWER "GPIO Viewer" #define D_CONSOLE "Consola" #define D_CONFIRM_RESTART "Confirmar o reinício" diff --git a/tasmota/language/ro_RO.h b/tasmota/language/ro_RO.h index b90c3a960..33ab21b5c 100644 --- a/tasmota/language/ro_RO.h +++ b/tasmota/language/ro_RO.h @@ -275,6 +275,7 @@ #define D_INFORMATION "Informație" #define D_FIRMWARE_UPGRADE "Actualizare Firmware" #define D_MANAGEMENT "Consoles" +#define D_GPIO_VIEWER "GPIO Viewer" #define D_CONSOLE "Consolă" #define D_CONFIRM_RESTART "Confirmare Restart" diff --git a/tasmota/language/ru_RU.h b/tasmota/language/ru_RU.h index 82f01ca3f..4e4a729e7 100644 --- a/tasmota/language/ru_RU.h +++ b/tasmota/language/ru_RU.h @@ -276,6 +276,7 @@ #define D_INFORMATION "Информация" #define D_FIRMWARE_UPGRADE "Обновление прошивки" #define D_MANAGEMENT "Управление" +#define D_GPIO_VIEWER "GPIO Viewer" #define D_CONSOLE "Консоль" #define D_CONFIRM_RESTART "Перезагрузить устройство?" diff --git a/tasmota/language/sk_SK.h b/tasmota/language/sk_SK.h index 5ea1875bd..c20680d07 100644 --- a/tasmota/language/sk_SK.h +++ b/tasmota/language/sk_SK.h @@ -275,6 +275,7 @@ #define D_INFORMATION "Informácie" #define D_FIRMWARE_UPGRADE "Aktualizácia firmware" #define D_MANAGEMENT "Consoles" +#define D_GPIO_VIEWER "GPIO Viewer" #define D_CONSOLE "Konzola" #define D_CONFIRM_RESTART "Potvrdenie reštartu" diff --git a/tasmota/language/sv_SE.h b/tasmota/language/sv_SE.h index 99d27f132..0fc002329 100644 --- a/tasmota/language/sv_SE.h +++ b/tasmota/language/sv_SE.h @@ -275,6 +275,7 @@ #define D_INFORMATION "Information" #define D_FIRMWARE_UPGRADE "Uppgradera firmware" #define D_MANAGEMENT "Consoles" +#define D_GPIO_VIEWER "GPIO Viewer" #define D_CONSOLE "Konsol" #define D_CONFIRM_RESTART "Bekräfta omstart" diff --git a/tasmota/language/tr_TR.h b/tasmota/language/tr_TR.h index 3377a17f6..caddd0fde 100644 --- a/tasmota/language/tr_TR.h +++ b/tasmota/language/tr_TR.h @@ -275,6 +275,7 @@ #define D_INFORMATION "Bilgi" #define D_FIRMWARE_UPGRADE "Cihaz yazılımını Güncelle" #define D_MANAGEMENT "Consoles" +#define D_GPIO_VIEWER "GPIO Viewer" #define D_CONSOLE "Konsol" #define D_CONFIRM_RESTART "Yeniden Başlatmayı Onayla" diff --git a/tasmota/language/uk_UA.h b/tasmota/language/uk_UA.h index d8b33392d..95e6fd6be 100644 --- a/tasmota/language/uk_UA.h +++ b/tasmota/language/uk_UA.h @@ -275,6 +275,7 @@ #define D_INFORMATION "Інформація" #define D_FIRMWARE_UPGRADE "Оновлення прошивки" #define D_MANAGEMENT "Consoles" +#define D_GPIO_VIEWER "GPIO Viewer" #define D_CONSOLE "Консоль" #define D_CONFIRM_RESTART "Підтвердити перезавантаження" diff --git a/tasmota/language/vi_VN.h b/tasmota/language/vi_VN.h index 990f558a0..a2eae6e99 100644 --- a/tasmota/language/vi_VN.h +++ b/tasmota/language/vi_VN.h @@ -275,6 +275,7 @@ #define D_INFORMATION "Thông tin" #define D_FIRMWARE_UPGRADE "Nâng cấp Firmware" #define D_MANAGEMENT "Consoles" +#define D_GPIO_VIEWER "GPIO Viewer" #define D_CONSOLE "Dòng Lệnh" #define D_CONFIRM_RESTART "Xác nhận khởi động lại" diff --git a/tasmota/language/zh_CN.h b/tasmota/language/zh_CN.h index dc0a6ec4c..af408878a 100644 --- a/tasmota/language/zh_CN.h +++ b/tasmota/language/zh_CN.h @@ -275,6 +275,7 @@ #define D_INFORMATION "信息" #define D_FIRMWARE_UPGRADE "固件升级" #define D_MANAGEMENT "控制台" +#define D_GPIO_VIEWER "GPIO Viewer" #define D_CONSOLE "控制台" #define D_CONFIRM_RESTART "确认重启" diff --git a/tasmota/language/zh_TW.h b/tasmota/language/zh_TW.h index 992838e00..f9ed358f4 100644 --- a/tasmota/language/zh_TW.h +++ b/tasmota/language/zh_TW.h @@ -275,6 +275,7 @@ #define D_INFORMATION "資訊" #define D_FIRMWARE_UPGRADE "韌體升級" #define D_MANAGEMENT "Consoles" +#define D_GPIO_VIEWER "GPIO Viewer" #define D_CONSOLE "控制台" #define D_CONFIRM_RESTART "確認重新啟動" diff --git a/tasmota/tasmota_xdrv_driver/xdrv_121_gpioviewer.ino b/tasmota/tasmota_xdrv_driver/xdrv_121_gpioviewer.ino index 0420b88ab..8402ea149 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_121_gpioviewer.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_121_gpioviewer.ino @@ -38,7 +38,7 @@ const char HTTP_GV_PAGE[] PROGMEM = "var ip='%s';" // WiFi.localIP().toString().c_str() "var source=new EventSource('http://%s:" STR(GV_PORT) "/events');" // WiFi.localIP().toString().c_str() "var sampling_interval='" STR(GV_SAMPLING_INTERVAL) "';" - "var freeSketchSpace='%s';" // GVFormatBytes(ESP_getFreeSketchSpace()).c_str() + "var freeSketchSpace='%d KB';" // ESP_getFreeSketchSpace() / 1024 "" "" "" @@ -63,6 +63,9 @@ const char HTTP_GV_EVENT[] PROGMEM = "Cache-Control: no-cache\n" "Access-Control-Allow-Origin: *\n\n"; +const char HTTP_BTN_MENU_GV[] PROGMEM = + "

"; + enum GVPinTypes { digitalPin = 0, PWMPin = 1, @@ -80,18 +83,6 @@ struct { bool active; } GV; -String GVFormatBytes(size_t bytes) { - if (bytes < 1024) { - return String(bytes) + " B"; - } - else if (bytes < (1024 * 1024)) { - return String(bytes / 1024.0, 2) + " KB"; - } - else { - return String(bytes / 1024.0 / 1024.0, 2) + " MB"; - } -} - int GVReadGPIO(int gpioNum, uint32_t *originalValue, uint32_t *pintype) { uint32_t pin_type = GetPin(gpioNum) / 32; /* @@ -184,7 +175,6 @@ void GVMonitorTask(void) { hasChanges = true; } } - jsonMessage += "}"; if (hasChanges) { @@ -194,7 +184,9 @@ void GVMonitorTask(void) { uint32_t heap = ESP_getFreeHeap(); if (heap != GV.freeHeap) { GV.freeHeap = heap; - GVEventSend(GVFormatBytes(GV.freeHeap).c_str(), "free_heap", millis()); + char temp[20]; + snprintf_P(temp, sizeof(temp), PSTR("%d KB"), heap / 1024); + GVEventSend(temp, "free_heap", millis()); } #ifdef ESP32 @@ -202,8 +194,12 @@ void GVMonitorTask(void) { uint32_t psram = ESP.getFreePsram(); if (psram != GV.freePSRAM) { GV.freePSRAM = psram; - GVEventSend(GVFormatBytes(GV.freePSRAM).c_str(), "free_psram", millis()); + char temp[20]; + snprintf_P(temp, sizeof(temp), PSTR("%d KB"), psram / 1024); + GVEventSend(temp, "free_psram", millis()); } + } else { + GVEventSend("No PSRAM", "free_psram", millis()); } #endif // ESP32 } @@ -237,7 +233,7 @@ void GVHandleRoot(void) { char* content = ext_snprintf_malloc_P(HTTP_GV_PAGE, WiFi.localIP().toString().c_str(), WiFi.localIP().toString().c_str(), - GVFormatBytes(ESP_getFreeSketchSpace()).c_str()); + ESP_getFreeSketchSpace() / 1024); if (content == nullptr) { return; } // Avoid crash GV.WebServer->send_P(200, "text/html", content); @@ -267,6 +263,15 @@ bool Xdrv121(uint32_t function) { case FUNC_EVERY_100_MSECOND: if (GV.sse_ready) { GVMonitorTask(); } break; +#ifdef USE_WEBSERVER + case FUNC_WEB_ADD_MANAGEMENT_BUTTON: + if (XdrvMailbox.index) { + XdrvMailbox.index++; + } else { + WSContentSend_P(HTTP_BTN_MENU_GV, WiFi.localIP().toString().c_str()); + } + break; +#endif // USE_WEBSERVER case FUNC_ACTIVE: result = true; break;