From 74092ce5be0a47c00948a7a6db87eba58a6b7d39 Mon Sep 17 00:00:00 2001 From: fvanroie Date: Tue, 26 Jul 2022 23:11:44 +0200 Subject: [PATCH] Use esp_mqtt client #174 --- include/hasp_conf.h | 4 +- src/lang/en_US.h | 4 +- src/lang/es_ES.h | 4 +- src/lang/fr_FR.h | 4 +- src/lang/hu_HU.h | 4 +- src/lang/nl_NL.h | 4 +- src/lang/pt_PT.h | 4 +- src/lang/ro_RO.h | 4 +- src/mqtt/hasp_mqtt_esp.cpp | 194 +++++++++++++++------------- src/mqtt/hasp_mqtt_paho_single.cpp | 4 +- src/mqtt/hasp_mqtt_pubsubclient.cpp | 13 +- src/sys/svc/hasp_http.cpp | 31 ++--- 12 files changed, 140 insertions(+), 134 deletions(-) diff --git a/include/hasp_conf.h b/include/hasp_conf.h index ccf7acdd..61026c6a 100644 --- a/include/hasp_conf.h +++ b/include/hasp_conf.h @@ -276,8 +276,8 @@ static WiFiSpiClass WiFi; #if defined(WINDOWS) || defined(POSIX) #define USE_PAHO #else -#define USE_ESP_MQTT -//#define USE_PUBSUBCLIENT +#define HASP_USE_ESP_MQTT +//#define HASP_USE_PUBSUBCLIENT #endif #endif diff --git a/src/lang/en_US.h b/src/lang/en_US.h index c0406940..5d2484d0 100644 --- a/src/lang/en_US.h +++ b/src/lang/en_US.h @@ -180,8 +180,8 @@ #define D_INFO_SERVER "Server" #define D_INFO_USERNAME "Username" #define D_INFO_CLIENTID "Client ID" -#define D_INFO_CONNECTED "Connected" -#define D_INFO_DISCONNECTED "Disconnected" +// #define D_INFO_CONNECTED "Connected" +// #define D_INFO_DISCONNECTED "Disconnected" #define D_INFO_RECEIVED "Received" #define D_INFO_PUBLISHED "Published" #define D_INFO_FAILED "Failed" diff --git a/src/lang/es_ES.h b/src/lang/es_ES.h index ef75f967..c4823b5a 100644 --- a/src/lang/es_ES.h +++ b/src/lang/es_ES.h @@ -181,8 +181,8 @@ #define D_INFO_SERVER "Servidor" #define D_INFO_USERNAME "Nombre de usuario" #define D_INFO_CLIENTID "ID de Cliente" -#define D_INFO_CONNECTED "Connectado" -#define D_INFO_DISCONNECTED "Desconectado" +// #define D_INFO_CONNECTED "Connectado" +// #define D_INFO_DISCONNECTED "Desconectado" #define D_INFO_RECEIVED "Recivido" #define D_INFO_PUBLISHED "Publicado" #define D_INFO_FAILED "Fallado" diff --git a/src/lang/fr_FR.h b/src/lang/fr_FR.h index fcd469c3..4d6ea609 100644 --- a/src/lang/fr_FR.h +++ b/src/lang/fr_FR.h @@ -181,8 +181,8 @@ #define D_INFO_SERVER "Serveur" #define D_INFO_USERNAME "Nom d'utilisateur" #define D_INFO_CLIENTID "ID client" -#define D_INFO_CONNECTED "Connecté" -#define D_INFO_DISCONNECTED "Déconnecté" +// #define D_INFO_CONNECTED "Connecté" +// #define D_INFO_DISCONNECTED "Déconnecté" #define D_INFO_RECEIVED "Reçu" #define D_INFO_PUBLISHED "Publié" #define D_INFO_FAILED "Échec" diff --git a/src/lang/hu_HU.h b/src/lang/hu_HU.h index 4dca9d0f..3f64e993 100644 --- a/src/lang/hu_HU.h +++ b/src/lang/hu_HU.h @@ -180,8 +180,8 @@ #define D_INFO_SERVER "Szerver" #define D_INFO_USERNAME "Felhasználónév" #define D_INFO_CLIENTID "Kliens ID" -#define D_INFO_CONNECTED "Csatlakoztatva" -#define D_INFO_DISCONNECTED "Szétkapcsolva" +// #define D_INFO_CONNECTED "Csatlakoztatva" +// #define D_INFO_DISCONNECTED "Szétkapcsolva" #define D_INFO_RECEIVED "Fogadott" #define D_INFO_PUBLISHED "Küldött" #define D_INFO_FAILED "Sikertelen" diff --git a/src/lang/nl_NL.h b/src/lang/nl_NL.h index 2771e02b..f54b56c6 100644 --- a/src/lang/nl_NL.h +++ b/src/lang/nl_NL.h @@ -180,8 +180,8 @@ #define D_INFO_SERVER "Server" #define D_INFO_USERNAME "Gerbuiker" #define D_INFO_CLIENTID "Client ID" -#define D_INFO_CONNECTED "Verbonden" -#define D_INFO_DISCONNECTED "Verbroken" +// #define D_INFO_CONNECTED "Verbonden" +// #define D_INFO_DISCONNECTED "Verbroken" #define D_INFO_RECEIVED "Ontvangen" #define D_INFO_PUBLISHED "Gepubliceerd" #define D_INFO_FAILED "Mislukt" diff --git a/src/lang/pt_PT.h b/src/lang/pt_PT.h index f5d51cd4..463d3ad4 100644 --- a/src/lang/pt_PT.h +++ b/src/lang/pt_PT.h @@ -181,8 +181,8 @@ #define D_INFO_SERVER "Servidor" #define D_INFO_USERNAME "Nome do utilizador" #define D_INFO_CLIENTID "ID do Cliente" -#define D_INFO_CONNECTED "Ligado" -#define D_INFO_DISCONNECTED "Desligado" +// #define D_INFO_CONNECTED "Ligado" +// #define D_INFO_DISCONNECTED "Desligado" #define D_INFO_RECEIVED "Recebido" #define D_INFO_PUBLISHED "Publicado" #define D_INFO_FAILED "Em falha" diff --git a/src/lang/ro_RO.h b/src/lang/ro_RO.h index 123b1ac9..7e2482e4 100644 --- a/src/lang/ro_RO.h +++ b/src/lang/ro_RO.h @@ -180,8 +180,8 @@ #define D_INFO_SERVER "Server" #define D_INFO_USERNAME "Utilizatur" #define D_INFO_CLIENTID "ID Client" -#define D_INFO_CONNECTED "Conectat" -#define D_INFO_DISCONNECTED "Deconectat" +// #define D_INFO_CONNECTED "Conectat" +// #define D_INFO_DISCONNECTED "Deconectat" #define D_INFO_RECEIVED "Primite" #define D_INFO_PUBLISHED "Trimise" #define D_INFO_FAILED "Eșuate" diff --git a/src/mqtt/hasp_mqtt_esp.cpp b/src/mqtt/hasp_mqtt_esp.cpp index 835c42fb..576dfb55 100644 --- a/src/mqtt/hasp_mqtt_esp.cpp +++ b/src/mqtt/hasp_mqtt_esp.cpp @@ -4,7 +4,7 @@ #include "hasp_conf.h" #if HASP_USE_MQTT > 0 -#ifdef USE_ESP_MQTT +#ifdef HASP_USE_ESP_MQTT #include "mqtt_client.h" #include "esp_crt_bundle.h" @@ -21,6 +21,7 @@ char mqttLwtTopic[28]; char mqttNodeTopic[24]; +char mqttClientId[64]; char mqttGroupTopic[24]; bool mqttEnabled = false; bool mqttClientConnected = false; @@ -189,52 +190,9 @@ static void mqttSubscribeTo(const char* topic) } } -void mqttStart() -{ - char buffer[64]; - char mqttClientId[64]; - char lastWillPayload[8]; - // static uint8_t mqttReconnectCount = 0; - // bool mqttFirstConnect = true; - - /* Construct unique Client ID*/ - { - String mac = halGetMacAddress(3, ""); - mac.toLowerCase(); - memset(mqttClientId, 0, sizeof(mqttClientId)); - snprintf_P(mqttClientId, sizeof(mqttClientId), PSTR(D_MQTT_DEFAULT_NAME), mac.c_str()); - LOG_INFO(TAG_MQTT, mqttClientId); - } - - // Attempt to connect and set LWT and Clean Session - snprintf_P(buffer, sizeof(buffer), PSTR("%s" MQTT_TOPIC_LWT), mqttNodeTopic); // lastWillTopic - snprintf_P(lastWillPayload, sizeof(lastWillPayload), PSTR("offline")); // lastWillPayload - - // haspProgressMsg(F(D_MQTT_CONNECTING)); - // haspProgressVal(mqttReconnectCount * 5); - if(esp_mqtt_client_start(mqttClient) != ESP_OK) { - LOG_WARNING(TAG_MQTT, F(D_SERVICE_START_FAILED)); - // Retry until we give up and restart after connectTimeout seconds - // mqttReconnectCount++; - - // switch(0) { - // default: - // LOG_WARNING(TAG_MQTT, F("Unknown failure")); - // } - - // if(mqttReconnectCount > 20) { - // LOG_ERROR(TAG_MQTT, F("Retry count exceeded, rebooting...")); - // dispatch_reboot(false); - // } - return; - } else { - LOG_INFO(TAG_MQTT, F(D_SERVICE_STARTING)); - } -} - void onMqttConnect(esp_mqtt_client_handle_t client) { - LOG_INFO(TAG_MQTT, F(D_MQTT_CONNECTED), mqttServer, "mqttClientId"); + LOG_INFO(TAG_MQTT, F(D_MQTT_CONNECTED), mqttServer, mqttClientId); // Subscribe to our incoming topics char topic[64]; @@ -367,43 +325,7 @@ static esp_err_t mqtt_event_handler(esp_mqtt_event_handle_t event) void mqttSetup() { esp_crt_bundle_set(rootca_crt_bundle_start); - - strncpy(mqttLwtTopic, mqttNodeTopic, sizeof(mqttLwtTopic)); - strncat_P(mqttLwtTopic, PSTR(MQTT_TOPIC_LWT), sizeof(mqttLwtTopic)); - LOG_WARNING(TAG_MQTT, mqttLwtTopic); - - mqttEnabled = strlen(mqttServer) > 0 && mqttPort > 0; - if(mqttEnabled) { - mqtt_cfg.event_handle = mqtt_event_handler; - mqtt_cfg.buffer_size = MQTT_MAX_PACKET_SIZE; - mqtt_cfg.out_buffer_size = 512; - mqtt_cfg.reconnect_timeout_ms = 5000; - mqtt_cfg.keepalive = 15; /* seconds */ - - mqtt_cfg.protocol_ver = MQTT_PROTOCOL_V_3_1_1; - mqtt_cfg.transport = MQTT_TRANSPORT_OVER_TCP; - mqtt_cfg.host = mqttServer; - mqtt_cfg.port = mqttPort; - mqtt_cfg.username = mqttUsername; - mqtt_cfg.password = mqttPassword; - mqtt_cfg.client_id = "TestClient"; - - mqtt_cfg.lwt_msg = "offline"; - mqtt_cfg.lwt_retain = true; - mqtt_cfg.lwt_topic = mqttLwtTopic; - mqtt_cfg.lwt_qos = 1; - - // mqtt_cfg.crt_bundle_attach = esp_crt_bundle_attach; - - // test Mosquitto doesn't need a user/pwd - // // mqtt_cfg.username=(const char *)mqtt_user; - // // mqtt_cfg.password=(const char *)mqtt_pwd; - - mqttClient = esp_mqtt_client_init(&mqtt_cfg); - mqttStart(); - } else { - LOG_WARNING(TAG_MQTT, F(D_MQTT_NOT_CONFIGURED)); - } + mqttStart(); } IRAM_ATTR void mqttLoop(void) @@ -419,13 +341,101 @@ void mqttEvery5Seconds(bool networkIsConnected) // } } +void mqttStart() +{ + char buffer[64]; + char lastWillPayload[8]; + // static uint8_t mqttReconnectCount = 0; + // bool mqttFirstConnect = true; + + if(mqttClient) { + LOG_INFO(TAG_MQTT, F(D_SERVICE_STARTED)); + return; + } + + /* Construct unique Client ID*/ + { + String mac = halGetMacAddress(3, ""); + mac.toLowerCase(); + memset(mqttClientId, 0, sizeof(mqttClientId)); + snprintf_P(mqttClientId, sizeof(mqttClientId), haspDevice.get_hostname()); + size_t len = strlen(mqttClientId); + snprintf_P(mqttClientId + len, sizeof(mqttClientId) - len, PSTR("_%s"), mac.c_str()); + LOG_INFO(TAG_MQTT, mqttClientId); + } + + strncpy(mqttLwtTopic, mqttNodeTopic, sizeof(mqttLwtTopic)); + strncat_P(mqttLwtTopic, PSTR(MQTT_TOPIC_LWT), sizeof(mqttLwtTopic)); + LOG_WARNING(TAG_MQTT, mqttLwtTopic); + + if(mqttEnabled) { + mqtt_cfg.event_handle = mqtt_event_handler; + mqtt_cfg.buffer_size = MQTT_MAX_PACKET_SIZE; + mqtt_cfg.out_buffer_size = 512; + mqtt_cfg.reconnect_timeout_ms = 5000; + mqtt_cfg.keepalive = 15; /* seconds */ + + mqtt_cfg.protocol_ver = MQTT_PROTOCOL_V_3_1_1; + mqtt_cfg.transport = MQTT_TRANSPORT_OVER_TCP; + mqtt_cfg.host = mqttServer; + mqtt_cfg.port = mqttPort; + mqtt_cfg.username = mqttUsername; + mqtt_cfg.password = mqttPassword; + mqtt_cfg.client_id = mqttClientId; + + mqtt_cfg.lwt_msg = "offline"; + mqtt_cfg.lwt_retain = true; + mqtt_cfg.lwt_topic = mqttLwtTopic; + mqtt_cfg.lwt_qos = 1; + + // mqtt_cfg.crt_bundle_attach = esp_crt_bundle_attach; + + // test Mosquitto doesn't need a user/pwd + // // mqtt_cfg.username=(const char *)mqtt_user; + // // mqtt_cfg.password=(const char *)mqtt_pwd; + + mqttClient = esp_mqtt_client_init(&mqtt_cfg); + // mqttStart(); + } else { + LOG_WARNING(TAG_MQTT, F(D_MQTT_NOT_CONFIGURED)); + } + + // haspProgressMsg(F(D_MQTT_CONNECTING)); + // haspProgressVal(mqttReconnectCount * 5); + if(esp_mqtt_client_start(mqttClient) != ESP_OK) { + LOG_WARNING(TAG_MQTT, F(D_SERVICE_START_FAILED)); + // Retry until we give up and restart after connectTimeout seconds + // mqttReconnectCount++; + + // switch(0) { + // default: + // LOG_WARNING(TAG_MQTT, F("Unknown failure")); + // } + + // if(mqttReconnectCount > 20) { + // LOG_ERROR(TAG_MQTT, F("Retry count exceeded, rebooting...")); + // dispatch_reboot(false); + // } + return; + } else { + LOG_INFO(TAG_MQTT, F(D_SERVICE_STARTING)); + } +} + void mqttStop() { - if(mqttEnabled && mqttClientConnected) { + if(!mqttEnabled) { + LOG_WARNING(TAG_MQTT, F(D_SERVICE_DISABLED)); + } else if(!mqttClientConnected) { + LOG_WARNING(TAG_MQTT, F(D_SERVICE_DISCONNECTED)); + } else { LOG_TRACE(TAG_MQTT, F(D_MQTT_DISCONNECTING)); mqtt_send_lwt(false); esp_mqtt_client_stop(mqttClient); LOG_INFO(TAG_MQTT, F(D_MQTT_DISCONNECTED)); + + mqttClient = NULL; + mqttClientConnected = false; } } @@ -438,11 +448,7 @@ void mqtt_get_info(JsonDocument& doc) JsonObject info = doc.createNestedObject(F("MQTT")); info[F(D_INFO_SERVER)] = mqttServer; info[F(D_INFO_USERNAME)] = mqttUsername; - - mac = halGetMacAddress(3, ""); - mac.toLowerCase(); - snprintf_P(buffer, sizeof(buffer), PSTR("%s-%s"), haspDevice.get_hostname(), mac.c_str()); - info[F(D_INFO_CLIENTID)] = buffer; + info[F(D_INFO_CLIENTID)] = mqttClientId; // switch(mqttClient.state()) { // case MQTT_CONNECT_UNAUTHORIZED: @@ -452,10 +458,10 @@ void mqtt_get_info(JsonDocument& doc) // snprintf_P(buffer, sizeof(buffer), PSTR(D_NETWORK_CONNECTION_FAILED)); // break; // case MQTT_DISCONNECTED: - // snprintf_P(buffer, sizeof(buffer), PSTR(D_INFO_DISCONNECTED)); + // snprintf_P(buffer, sizeof(buffer), PSTR(D_SERVICE_DISCONNECTED)); // break; // case MQTT_CONNECTED: - // snprintf_P(buffer, sizeof(buffer), PSTR(D_INFO_CONNECTED)); + // snprintf_P(buffer, sizeof(buffer), PSTR(D_SERVICE_CONNECTED)); // break; // case MQTT_CONNECTION_TIMEOUT: // case MQTT_CONNECTION_LOST: @@ -464,11 +470,14 @@ void mqtt_get_info(JsonDocument& doc) // case MQTT_CONNECT_UNAVAILABLE: // case MQTT_CONNECT_BAD_CREDENTIALS: // default: - // snprintf_P(buffer, sizeof(buffer), PSTR(D_INFO_DISCONNECTED " (%d)"), mqttClient.state()); + // snprintf_P(buffer, sizeof(buffer), PSTR(D_SERVICE_DISCONNECTED " (%d)"), mqttClient.state()); // break; // } // info[F(D_INFO_STATUS)] = buffer; - info[F(D_INFO_STATUS)] = mqttClientConnected ? D_INFO_CONNECTED : D_INFO_DISCONNECTED; + info[F(D_INFO_STATUS)] = !mqttEnabled ? D_SERVICE_DISABLED + : !mqttClient ? D_SERVICE_STOPPED + : mqttClientConnected ? D_SERVICE_CONNECTED + : D_SERVICE_DISCONNECTED; info[F(D_INFO_RECEIVED)] = mqttReceiveCount; info[F(D_INFO_PUBLISHED)] = mqttPublishCount; @@ -561,6 +570,7 @@ bool mqttSetConfig(const JsonObject& settings) snprintf_P(mqttNodeTopic, sizeof(mqttNodeTopic), PSTR(MQTT_PREFIX "/%s/"), haspDevice.get_hostname()); snprintf_P(mqttGroupTopic, sizeof(mqttGroupTopic), PSTR(MQTT_PREFIX "/%s/"), mqttGroupName); + mqttEnabled = strlen(mqttServer) > 0 && mqttPort > 0; return changed; } #endif // HASP_USE_CONFIG diff --git a/src/mqtt/hasp_mqtt_paho_single.cpp b/src/mqtt/hasp_mqtt_paho_single.cpp index fdb37c31..d53f35d0 100644 --- a/src/mqtt/hasp_mqtt_paho_single.cpp +++ b/src/mqtt/hasp_mqtt_paho_single.cpp @@ -421,9 +421,9 @@ void mqtt_get_info(JsonDocument& doc) info[F(D_INFO_CLIENTID)] = haspDevice.get_hostname(); if(mqttIsConnected()) { // Check MQTT connection - info[F(D_INFO_STATUS)] = F(D_INFO_CONNECTED); + info[F(D_INFO_STATUS)] = F(D_SERVICE_CONNECTED); } else { - info[F(D_INFO_STATUS)] = F("" D_INFO_DISCONNECTED ", return code: "); + info[F(D_INFO_STATUS)] = F("" D_SERVICE_DISCONNECTED ", return code: "); // +String(mqttClient.returnCode()); } diff --git a/src/mqtt/hasp_mqtt_pubsubclient.cpp b/src/mqtt/hasp_mqtt_pubsubclient.cpp index 99c7c10d..b038eee3 100644 --- a/src/mqtt/hasp_mqtt_pubsubclient.cpp +++ b/src/mqtt/hasp_mqtt_pubsubclient.cpp @@ -4,7 +4,7 @@ #include "hasp_conf.h" #if HASP_USE_MQTT > 0 -#ifdef USE_PUBSUBCLIENT +#ifdef HASP_USE_PUBSUBCLIENT #include "PubSubClient.h" @@ -398,11 +398,6 @@ void mqtt_get_info(JsonDocument& doc) info[F(D_INFO_USERNAME)] = mqttUsername; info[F(D_INFO_CLIENTID)] = mqttClientId; - // mac = halGetMacAddress(3, ""); - // mac.toLowerCase(); - // snprintf_P(buffer, sizeof(buffer), PSTR("%s-%s"), haspDevice.get_hostname(), mac.c_str()); - // info[F(D_INFO_CLIENTID)] = buffer; - switch(mqttClient.state()) { case MQTT_CONNECT_UNAUTHORIZED: snprintf_P(buffer, sizeof(buffer), PSTR(D_NETWORK_CONNECTION_UNAUTHORIZED)); @@ -411,10 +406,10 @@ void mqtt_get_info(JsonDocument& doc) snprintf_P(buffer, sizeof(buffer), PSTR(D_NETWORK_CONNECTION_FAILED)); break; case MQTT_DISCONNECTED: - snprintf_P(buffer, sizeof(buffer), PSTR(D_INFO_DISCONNECTED)); + snprintf_P(buffer, sizeof(buffer), PSTR(D_SERVICE_DISCONNECTED)); break; case MQTT_CONNECTED: - snprintf_P(buffer, sizeof(buffer), PSTR(D_INFO_CONNECTED)); + snprintf_P(buffer, sizeof(buffer), PSTR(D_SERVICE_CONNECTED)); break; case MQTT_CONNECTION_TIMEOUT: case MQTT_CONNECTION_LOST: @@ -423,7 +418,7 @@ void mqtt_get_info(JsonDocument& doc) case MQTT_CONNECT_UNAVAILABLE: case MQTT_CONNECT_BAD_CREDENTIALS: default: - snprintf_P(buffer, sizeof(buffer), PSTR(D_INFO_DISCONNECTED " (%d)"), mqttClient.state()); + snprintf_P(buffer, sizeof(buffer), PSTR(D_SERVICE_DISCONNECTED " (%d)"), mqttClient.state()); break; } info[F(D_INFO_STATUS)] = buffer; diff --git a/src/sys/svc/hasp_http.cpp b/src/sys/svc/hasp_http.cpp index 6c7f12ad..eb368ea0 100644 --- a/src/sys/svc/hasp_http.cpp +++ b/src/sys/svc/hasp_http.cpp @@ -85,7 +85,8 @@ HTTPUpload* upload; const char MAIN_MENU_BUTTON[] PROGMEM = "" D_HTTP_MAIN_MENU ""; const char HTTP_DOCTYPE[] PROGMEM = ""; + "name=\"viewport\" content=\"width=device-width,initial-scale=1\"/>" + ""; const char HTTP_META_GO_BACK[] PROGMEM = ""; const char HTTP_STYLESHEET[] PROGMEM = ""; const char HTTP_HEADER[] PROGMEM = "%s"; @@ -1106,7 +1107,7 @@ static void webHandleMqttConfig() httpMessage += F("

" D_HTTP_MQTT_SETTINGS "

"); // Form - httpMessage += F("
"); + httpMessage += F("
"); // Node Name httpMessage += @@ -1150,7 +1151,7 @@ static void webHandleMqttConfig() httpMessage += F("
"); add_form_button(httpMessage, F(D_BACK_ICON D_HTTP_CONFIGURATION), F("/config")); - httpMessage += ""; + // httpMessage += ""; webSendHeader(haspDevice.get_hostname(), httpMessage.length(), 0); webServer.sendContent(httpMessage); @@ -1173,7 +1174,7 @@ static void webHandleGuiConfig() httpMessage += F("

" D_HTTP_GUI_SETTINGS "

"); // Form - httpMessage += F("
"); + httpMessage += F("
"); // Short Idle httpMessage += F("
"); @@ -1246,7 +1247,7 @@ static void webHandleGuiConfig() add_form_button(httpMessage, F(D_HTTP_ANTIBURN), F("/config/gui?brn=1")); add_form_button(httpMessage, F(D_BACK_ICON D_HTTP_CONFIGURATION), F("/config")); - httpMessage += F(""); + // httpMessage += F(""); webSendHeader(haspDevice.get_hostname(), httpMessage.length(), 0); webServer.sendContent(httpMessage); @@ -1274,7 +1275,7 @@ static void webHandleWifiConfig() httpMessage += F("

" D_HTTP_WIFI_SETTINGS "

"); // Form - httpMessage += F("
"); + httpMessage += F("
"); // Wifi SSID httpMessage += F("
"); @@ -1304,7 +1305,7 @@ static void webHandleWifiConfig() } #endif // HASP_USE_WIFI - httpMessage += F(""); + // httpMessage += F(""); webSendHeader(haspDevice.get_hostname(), httpMessage.length(), 0); webServer.sendContent(httpMessage); @@ -1328,7 +1329,7 @@ static void webHandleHttpConfig() httpMessage += F("

" D_HTTP_HTTP_SETTINGS "

"); // Form - httpMessage += F("
"); + httpMessage += F("
"); // Username httpMessage += F("
"); @@ -1347,7 +1348,7 @@ static void webHandleHttpConfig() httpMessage += F("
"); httpMessage += F("" D_HTTP_CONFIGURATION ""); - httpMessage += F(""); + // httpMessage += F(""); webSendHeader(haspDevice.get_hostname(), httpMessage.length(), 0); webServer.sendContent(httpMessage); @@ -1725,7 +1726,7 @@ static void webHandleDebugConfig() httpMessage += F("

" D_HTTP_DEBUG_SETTINGS "

"); // Form - httpMessage += F("
"); + httpMessage += F("
"); // Baudrate httpMessage += F("
"); @@ -1791,7 +1792,7 @@ static void webHandleDebugConfig() // ******************************************************************* add_form_button(httpMessage, F(D_BACK_ICON D_HTTP_CONFIGURATION), F("/config")); - httpMessage += F(""); + // httpMessage += F(""); webSendHeader(haspDevice.get_hostname(), httpMessage.length(), 0); webServer.sendContent(httpMessage); @@ -1834,7 +1835,7 @@ static void webHandleHaspConfig() #endif // Form - httpMessage += F("
"); + httpMessage += F("
"); // Theme httpMessage += F("
"); @@ -1908,7 +1909,7 @@ static void webHandleHaspConfig() httpMessage += F("
"); httpMessage += FPSTR(MAIN_MENU_BUTTON); - httpMessage += F(""); + // httpMessage += F(""); webSendHeader(haspDevice.get_hostname(), httpMessage.length(), 0); webServer.sendContent(httpMessage); @@ -1999,7 +2000,7 @@ static void webHandleFirmware() httpMessage += F("

" D_HTTP_FIRMWARE_UPGRADE "

"); // Form - httpMessage += F("
"); + httpMessage += F("
"); // File httpMessage += @@ -2038,7 +2039,7 @@ static void webHandleFirmware() httpMessage += F("
"); httpMessage += FPSTR(MAIN_MENU_BUTTON); - httpMessage += ""; + // httpMessage += ""; webSendHeader(haspDevice.get_hostname(), httpMessage.length(), 0); webServer.sendContent(httpMessage);