mirror of
https://github.com/HASwitchPlate/openHASP.git
synced 2025-07-23 11:16:45 +00:00
Use esp_mqtt client #174
This commit is contained in:
parent
b91efeaac3
commit
74092ce5be
@ -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
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -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
|
||||
|
@ -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("<font color='red'><b>" D_INFO_DISCONNECTED "</b></font>, return code: ");
|
||||
info[F(D_INFO_STATUS)] = F("<font color='red'><b>" D_SERVICE_DISCONNECTED "</b></font>, return code: ");
|
||||
// +String(mqttClient.returnCode());
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
|
@ -85,7 +85,8 @@ HTTPUpload* upload;
|
||||
const char MAIN_MENU_BUTTON[] PROGMEM = "<a href='/'>" D_HTTP_MAIN_MENU "</a>";
|
||||
|
||||
const char HTTP_DOCTYPE[] PROGMEM = "<!DOCTYPE html><html lang=\"en\"><head><meta charset='utf-8'><meta "
|
||||
"name=\"viewport\" content=\"width=device-width,initial-scale=1\"/>";
|
||||
"name=\"viewport\" content=\"width=device-width,initial-scale=1\"/>"
|
||||
"<meta http-equiv=\"Content-Security-Policy\" content=\"default-src 'self';img-src 'self' data:;style-src 'self' data:;\">";
|
||||
const char HTTP_META_GO_BACK[] PROGMEM = "<meta http-equiv='refresh' content='%d;url=/'/>";
|
||||
const char HTTP_STYLESHEET[] PROGMEM = "<link rel=\"stylesheet\" href=\"/%s.css\">";
|
||||
const char HTTP_HEADER[] PROGMEM = "<title>%s</title>";
|
||||
@ -1106,7 +1107,7 @@ static void webHandleMqttConfig()
|
||||
httpMessage += F("<h2>" D_HTTP_MQTT_SETTINGS "</h2>");
|
||||
|
||||
// Form
|
||||
httpMessage += F("<div class='container'><form method='POST' action='/config'>");
|
||||
httpMessage += F("<div class='container'><form method='POST' action='/config' id='mqtt'>");
|
||||
|
||||
// Node Name
|
||||
httpMessage +=
|
||||
@ -1150,7 +1151,7 @@ static void webHandleMqttConfig()
|
||||
httpMessage += F("</form></div>");
|
||||
|
||||
add_form_button(httpMessage, F(D_BACK_ICON D_HTTP_CONFIGURATION), F("/config"));
|
||||
httpMessage += "<script>filler(\"GET\", \"/api/config/mqtt/\")</script>";
|
||||
// httpMessage += "<script>filler(\"GET\", \"/api/config/mqtt/\")</script>";
|
||||
|
||||
webSendHeader(haspDevice.get_hostname(), httpMessage.length(), 0);
|
||||
webServer.sendContent(httpMessage);
|
||||
@ -1173,7 +1174,7 @@ static void webHandleGuiConfig()
|
||||
httpMessage += F("<h2>" D_HTTP_GUI_SETTINGS "</h2>");
|
||||
|
||||
// Form
|
||||
httpMessage += F("<div class='container'><form method='POST' action='/config'>");
|
||||
httpMessage += F("<div class='container'><form method='POST' action='/config' id='gui'>");
|
||||
|
||||
// Short Idle
|
||||
httpMessage += F("<div class='row'><div class='col-25'><label for='idle1'>Short Idle</label></div>");
|
||||
@ -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("<script>filler(\"GET\",\"/api/config/gui/\")</script>");
|
||||
// httpMessage += F("<script>filler(\"GET\",\"/api/config/gui/\")</script>");
|
||||
|
||||
webSendHeader(haspDevice.get_hostname(), httpMessage.length(), 0);
|
||||
webServer.sendContent(httpMessage);
|
||||
@ -1274,7 +1275,7 @@ static void webHandleWifiConfig()
|
||||
httpMessage += F("<h2>" D_HTTP_WIFI_SETTINGS "</h2>");
|
||||
|
||||
// Form
|
||||
httpMessage += F("<div class='container'><form method='POST' action='/config'>");
|
||||
httpMessage += F("<div class='container'><form method='POST' action='/config' id='wifi'>");
|
||||
|
||||
// Wifi SSID
|
||||
httpMessage += F("<div class='row'><div class='col-25 required'><label for='ssid'>SSID</label></div>");
|
||||
@ -1304,7 +1305,7 @@ static void webHandleWifiConfig()
|
||||
}
|
||||
#endif // HASP_USE_WIFI
|
||||
|
||||
httpMessage += F("<script>filler(\"GET\",\"/api/config/wifi/\")</script>");
|
||||
// httpMessage += F("<script>filler(\"GET\",\"/api/config/wifi/\")</script>");
|
||||
|
||||
webSendHeader(haspDevice.get_hostname(), httpMessage.length(), 0);
|
||||
webServer.sendContent(httpMessage);
|
||||
@ -1328,7 +1329,7 @@ static void webHandleHttpConfig()
|
||||
httpMessage += F("<h2>" D_HTTP_HTTP_SETTINGS "</h2>");
|
||||
|
||||
// Form
|
||||
httpMessage += F("<div class='container'><form method='POST' action='/config'>");
|
||||
httpMessage += F("<div class='container'><form method='POST' action='/config' id='http'>");
|
||||
|
||||
// Username
|
||||
httpMessage += F("<div class='row'><div class='col-25'><label for='user'>Username</label></div>");
|
||||
@ -1347,7 +1348,7 @@ static void webHandleHttpConfig()
|
||||
httpMessage += F("</form></div>");
|
||||
|
||||
httpMessage += F("<a href='/config'>" D_HTTP_CONFIGURATION "</a>");
|
||||
httpMessage += F("<script>filler(\"GET\",\"/api/config/http/\")</script>");
|
||||
// httpMessage += F("<script>filler(\"GET\",\"/api/config/http/\")</script>");
|
||||
|
||||
webSendHeader(haspDevice.get_hostname(), httpMessage.length(), 0);
|
||||
webServer.sendContent(httpMessage);
|
||||
@ -1725,7 +1726,7 @@ static void webHandleDebugConfig()
|
||||
httpMessage += F("<h2>" D_HTTP_DEBUG_SETTINGS "</h2>");
|
||||
|
||||
// Form
|
||||
httpMessage += F("<div class='container'><form method='POST' action='/config'>");
|
||||
httpMessage += F("<div class='container'><form method='POST' action='/config' id='debug'>");
|
||||
|
||||
// Baudrate
|
||||
httpMessage += F("<div class='row'><div class='col-25'><label for='baud'>Serial Port</label></div>");
|
||||
@ -1791,7 +1792,7 @@ static void webHandleDebugConfig()
|
||||
// *******************************************************************
|
||||
|
||||
add_form_button(httpMessage, F(D_BACK_ICON D_HTTP_CONFIGURATION), F("/config"));
|
||||
httpMessage += F("<script>filler(\"GET\",\"/api/config/debug/\")</script>");
|
||||
// httpMessage += F("<script>filler(\"GET\",\"/api/config/debug/\")</script>");
|
||||
|
||||
webSendHeader(haspDevice.get_hostname(), httpMessage.length(), 0);
|
||||
webServer.sendContent(httpMessage);
|
||||
@ -1834,7 +1835,7 @@ static void webHandleHaspConfig()
|
||||
#endif
|
||||
|
||||
// Form
|
||||
httpMessage += F("<div class='container'><form method='POST' action='/'>");
|
||||
httpMessage += F("<div class='container'><form method='POST' action='/' id='hasp'>");
|
||||
|
||||
// Theme
|
||||
httpMessage += F("<div class='row'><div class='col-25'><label for='theme'>UI Theme</label></div>");
|
||||
@ -1908,7 +1909,7 @@ static void webHandleHaspConfig()
|
||||
httpMessage += F("</form></div>");
|
||||
|
||||
httpMessage += FPSTR(MAIN_MENU_BUTTON);
|
||||
httpMessage += F("<script>filler(\"GET\",\"/api/config/hasp/\")</script>");
|
||||
// httpMessage += F("<script>filler(\"GET\",\"/api/config/hasp/\")</script>");
|
||||
|
||||
webSendHeader(haspDevice.get_hostname(), httpMessage.length(), 0);
|
||||
webServer.sendContent(httpMessage);
|
||||
@ -1999,7 +2000,7 @@ static void webHandleFirmware()
|
||||
httpMessage += F("<h2>" D_HTTP_FIRMWARE_UPGRADE "</h2>");
|
||||
|
||||
// Form
|
||||
httpMessage += F("<div class='container'><form method='POST' action='/update' enctype='multipart/form-data'>");
|
||||
httpMessage += F("<div class='container'><form method='POST' action='/update' enctype='multipart/form-data' id='ota'>");
|
||||
|
||||
// File
|
||||
httpMessage +=
|
||||
@ -2038,7 +2039,7 @@ static void webHandleFirmware()
|
||||
httpMessage += F("</form></div>");
|
||||
|
||||
httpMessage += FPSTR(MAIN_MENU_BUTTON);
|
||||
httpMessage += "<script>filler(\"GET\", \"/api/config/ota/\")</script>";
|
||||
// httpMessage += "<script>filler(\"GET\", \"/api/config/ota/\")</script>";
|
||||
|
||||
webSendHeader(haspDevice.get_hostname(), httpMessage.length(), 0);
|
||||
webServer.sendContent(httpMessage);
|
||||
|
Loading…
x
Reference in New Issue
Block a user