diff --git a/src/dev/device.h b/src/dev/device.h index bb68fd42..ac2524a3 100644 --- a/src/dev/device.h +++ b/src/dev/device.h @@ -26,6 +26,8 @@ class BaseDevice { { return ""; } + virtual void set_hostname(const char*) + {} virtual const char* get_core_version() { return ""; diff --git a/src/dev/esp32/esp32.cpp b/src/dev/esp32/esp32.cpp index 2dbdd88d..36129a85 100644 --- a/src/dev/esp32/esp32.cpp +++ b/src/dev/esp32/esp32.cpp @@ -25,7 +25,11 @@ void Esp32Device::reboot() const char* Esp32Device::get_hostname() { - return hostname.c_str(); + return _hostname.c_str(); +} +void Esp32Device::set_hostname(const char* hostname) +{ + _hostname = hostname; } const char* Esp32Device::get_core_version() { @@ -38,7 +42,7 @@ const char* Esp32Device::get_display_driver() void Esp32Device::set_backlight_pin(uint8_t pin) { - Esp32Device::backlight_pin = pin; + Esp32Device::_backlight_pin = pin; /* Setup Backlight Control Pin */ if(pin != (uint8_t)-1) { @@ -53,33 +57,33 @@ void Esp32Device::set_backlight_pin(uint8_t pin) void Esp32Device::set_backlight_level(uint8_t level) { - backlight_level = level >= 0 ? level : 0; - backlight_level = backlight_level <= 100 ? backlight_level : 100; + _backlight_level = level >= 0 ? level : 0; + _backlight_level = _backlight_level <= 100 ? _backlight_level : 100; update_backlight(); } uint8_t Esp32Device::get_backlight_level() { - return backlight_level; + return _backlight_level; } void Esp32Device::set_backlight_power(bool power) { - backlight_power = power; + _backlight_power = power; update_backlight(); } bool Esp32Device::get_backlight_power() { - return backlight_power != 0; + return _backlight_power != 0; } void Esp32Device::update_backlight() { - if(backlight_pin == (uint8_t)-1) return; + if(_backlight_pin == (uint8_t)-1) return; - uint32_t duty = backlight_power ? map(backlight_level, 0, 100, 0, 4095) : 0; + uint32_t duty = _backlight_power ? map(_backlight_level, 0, 100, 0, 4095) : 0; ledcWrite(BACKLIGHT_CHANNEL, duty); // ledChannel and value } diff --git a/src/dev/esp32/esp32.h b/src/dev/esp32/esp32.h index db5605ab..d7627047 100644 --- a/src/dev/esp32/esp32.h +++ b/src/dev/esp32/esp32.h @@ -13,9 +13,17 @@ namespace dev { class Esp32Device : public BaseDevice { public: + Esp32Device() + { + _hostname = "plate"; + _backlight_pin = TFT_BCKL; + _backlight_power = 1; + _backlight_level = 100; + } void reboot() override; const char* get_hostname(); + void set_hostname(const char*); const char* get_core_version(); const char* get_display_driver(); @@ -31,11 +39,11 @@ class Esp32Device : public BaseDevice { uint16_t get_cpu_frequency() override; private: - std::string hostname; + std::string _hostname; - uint8_t backlight_pin; - uint8_t backlight_level; - uint8_t backlight_power; + uint8_t _backlight_pin; + uint8_t _backlight_level; + uint8_t _backlight_power; void update_backlight(); }; diff --git a/src/dev/esp8266/esp8266.cpp b/src/dev/esp8266/esp8266.cpp index 95aa5795..95a9c08a 100644 --- a/src/dev/esp8266/esp8266.cpp +++ b/src/dev/esp8266/esp8266.cpp @@ -17,9 +17,18 @@ void Esp8266Device::reboot() ESP.restart(); } +const char* Esp8266Device::get_hostname() +{ + return _hostname.c_str(); +} +void Esp8266Device::set_hostname(const char* hostname) +{ + _hostname = hostname; +} + void Esp8266Device::set_backlight_pin(uint8_t pin) { - Esp8266Device::backlight_pin = pin; + _backlight_pin = pin; /* Setup Backlight Control Pin */ if(pin >= 0) { LOG_VERBOSE(TAG_GUI, F("Backlight : Pin %d"), pin); @@ -30,33 +39,33 @@ void Esp8266Device::set_backlight_pin(uint8_t pin) void Esp8266Device::set_backlight_level(uint8_t level) { - backlight_level = level >= 0 ? level : 0; - backlight_level = backlight_level <= 100 ? backlight_level : 100; + _backlight_level = level >= 0 ? level : 0; + _backlight_level = _backlight_level <= 100 ? backlight_level : 100; update_backlight(); } uint8_t Esp8266Device::get_backlight_level() { - return backlight_level; + return _backlight_level; } void Esp8266Device::set_backlight_power(bool power) { - backlight_power = power; + _backlight_power = power; update_backlight(); } bool Esp8266Device::get_backlight_power() { - return backlight_power != 0; + return _backlight_power != 0; } void Esp8266Device::update_backlight() { - if(backlight_pin == -1) return; + if(_backlight_pin == -1) return; - analogWrite(backlight_pin, backlight_power ? map(backlight_level, 0, 100, 0, 1023) : 0); + analogWrite(backlight_pin, _backlight_power ? map(_backlight_level, 0, 100, 0, 1023) : 0); } size_t Esp8266Device::get_free_max_block() diff --git a/src/dev/esp8266/esp8266.h b/src/dev/esp8266/esp8266.h index c96641fc..4ef5421c 100644 --- a/src/dev/esp8266/esp8266.h +++ b/src/dev/esp8266/esp8266.h @@ -14,30 +14,38 @@ namespace dev { class Esp8266Device : public BaseDevice { public: + Esp8266Device() + { + hostname = "plate"; + backlight_pin = TFT_BCKL; + backlight_power = 1; + backlight_level = 100; + } + void reboot() override; + const char* get_hostname(); + void set_hostname(const char*); + const char* get_core_version(); + const char* get_display_driver(); + void set_backlight_pin(uint8_t pin) override; - void set_backlight_level(uint8_t val) override; - uint8_t get_backlight_level() override; - void set_backlight_power(bool power) override; - bool get_backlight_power() override; size_t get_free_max_block() override; - size_t get_free_heap() override; - uint8_t get_heap_fragmentation() override; - uint16_t get_cpu_frequency() override; private: - uint8_t backlight_pin; - uint8_t backlight_level; - uint8_t backlight_power; + std::string _hostname; + + uint8_t _backlight_pin; + uint8_t _backlight_level; + uint8_t _backlight_power; void update_backlight(); }; diff --git a/src/dev/win32/hasp_win32.cpp b/src/dev/win32/hasp_win32.cpp index 9447de8b..31ca7dd5 100644 --- a/src/dev/win32/hasp_win32.cpp +++ b/src/dev/win32/hasp_win32.cpp @@ -15,7 +15,11 @@ void Win32Device::reboot() const char* Win32Device::get_hostname() { - return "winhasp"; + return _hostname.c_str(); +} +void Win32Device::set_hostname(const char* hostname) +{ + _hostname = hostname; } const char* Win32Device::get_core_version() { @@ -23,40 +27,40 @@ const char* Win32Device::get_core_version() } const char* Win32Device::get_display_driver() { - return "test"; + return "SDL2"; } void Win32Device::set_backlight_pin(uint8_t pin) { - Win32Device::backlight_pin = pin; + Win32Device::_backlight_pin = pin; } void Win32Device::set_backlight_level(uint8_t level) { - backlight_level = level >= 0 ? level : 0; - backlight_level = backlight_level <= 100 ? backlight_level : 100; + _backlight_level = level >= 0 ? level : 0; + _backlight_level = _backlight_level <= 100 ? _backlight_level : 100; update_backlight(); } uint8_t Win32Device::get_backlight_level() { - return backlight_level; + return _backlight_level; } void Win32Device::set_backlight_power(bool power) { - backlight_power = power; + _backlight_power = power; update_backlight(); } bool Win32Device::get_backlight_power() { - return backlight_power != 0; + return _backlight_power != 0; } void Win32Device::update_backlight() { - if(backlight_pin == -1) return; + if(_backlight_pin == -1) return; } size_t Win32Device::get_free_max_block() diff --git a/src/dev/win32/hasp_win32.h b/src/dev/win32/hasp_win32.h index 2d739e9a..3e742e6e 100644 --- a/src/dev/win32/hasp_win32.h +++ b/src/dev/win32/hasp_win32.h @@ -5,6 +5,7 @@ #define HASP_DEVICE_WINDOWS_H #include +#include #include "Windows.h" #include "hasp_conf.h" @@ -17,11 +18,20 @@ namespace dev { class Win32Device : public BaseDevice { public: + Win32Device() + { + _hostname = "winplate"; + _backlight_pin = -1; + _backlight_power = 1; + _backlight_level = 100; + } + void reboot() override; - const char* get_hostname() override; - const char* get_core_version() override; - const char* get_display_driver() override; + const char* get_hostname(); + void set_hostname(const char*); + const char* get_core_version(); + const char* get_display_driver(); void set_backlight_pin(uint8_t pin); void set_backlight_level(uint8_t val); @@ -35,9 +45,11 @@ class Win32Device : public BaseDevice { uint16_t get_cpu_frequency(); private: - uint8_t backlight_pin; - uint8_t backlight_level; - uint8_t backlight_power; + std::string _hostname; + + uint8_t _backlight_pin; + uint8_t _backlight_level; + uint8_t _backlight_power; void update_backlight(); }; diff --git a/src/hasp/hasp_dispatch.cpp b/src/hasp/hasp_dispatch.cpp index 3ca31c20..7c920419 100644 --- a/src/hasp/hasp_dispatch.cpp +++ b/src/hasp/hasp_dispatch.cpp @@ -1026,7 +1026,7 @@ void dispatchLoop() void dispatchEverySecond() { if(dispatch_setings.teleperiod > 0 && (millis() - dispatchLastMillis) >= dispatch_setings.teleperiod * 1000) { - dispatchLastMillis = millis(); + dispatchLastMillis += dispatch_setings.teleperiod * 1000; dispatch_output_statusupdate(NULL, NULL); } } diff --git a/src/mqtt/hasp_mqtt_ha.cpp b/src/mqtt/hasp_mqtt_ha.cpp index 1bab42f0..5e1855a4 100644 --- a/src/mqtt/hasp_mqtt_ha.cpp +++ b/src/mqtt/hasp_mqtt_ha.cpp @@ -5,22 +5,24 @@ #include "hasp_conf.h" #ifndef WINDOWS - #if HASP_USE_MQTT > 0 +#if HASP_USE_MQTT > 0 - #include "PubSubClient.h" +#include "PubSubClient.h" - #include "hasp/hasp.h" - #include "hasp/hasp_dispatch.h" - #include "hal/hasp_hal.h" - #include "hasp_mqtt.h" - #include "hasp_mqtt_ha.h" +#include "hasp/hasp.h" +#include "hasp/hasp_dispatch.h" +#include "hal/hasp_hal.h" +#include "dev/device.h" - #define RETAINED true - #define HASP_MAC_ADDRESS halGetMacAddress(0, "").c_str() - #define HASP_MAC_ADDRESS_STR halGetMacAddress(0, "") +#include "hasp_mqtt.h" +#include "hasp_mqtt_ha.h" + +#define RETAINED true +#define HASP_MAC_ADDRESS halGetMacAddress(0, "").c_str() +#define HASP_MAC_ADDRESS_STR halGetMacAddress(0, "") extern PubSubClient mqttClient; -extern char mqttNodeName[16]; +// extern char mqttNodeName[16]; extern char mqttNodeTopic[24]; extern char mqttGroupTopic[24]; extern bool mqttEnabled; @@ -34,7 +36,7 @@ const char FP_MQTT_HA_NAME[] PROGMEM = "name"; const char FP_MQTT_HA_MODEL[] PROGMEM = "mdl"; const char FP_MQTT_HA_MANUFACTURER[] PROGMEM = "mf"; -void mqtt_ha_send_json(char * topic, JsonDocument & doc) +void mqtt_ha_send_json(char* topic, JsonDocument& doc) { LOG_VERBOSE(TAG_MQTT_PUB, topic); mqttClient.beginPublish(topic, measureJson(doc), RETAINED); @@ -43,18 +45,18 @@ void mqtt_ha_send_json(char * topic, JsonDocument & doc) } // adds the device identifiers to the HA MQTT auto-discovery message -void mqtt_ha_add_device_ids(JsonDocument & doc) +void mqtt_ha_add_device_ids(JsonDocument& doc) { JsonObject device = doc.createNestedObject(FPSTR(FP_MQTT_HA_DEVICE)); JsonArray ids = device.createNestedArray(FPSTR(FP_MQTT_HA_IDENTIFIERS)); - ids.add(mqttNodeName); + ids.add(haspDevice.get_hostname()); ids.add(HASP_MAC_ADDRESS_STR); char buffer[32]; haspGetVersion(buffer, sizeof(buffer)); device[F("sw")] = buffer; - device[FPSTR(FP_MQTT_HA_NAME)] = mqttNodeName; + device[FPSTR(FP_MQTT_HA_NAME)] = haspDevice.get_hostname(); device[FPSTR(FP_MQTT_HA_MODEL)] = F(PIOENV); device[FPSTR(FP_MQTT_HA_MANUFACTURER)] = F(D_MANUFACTURER); @@ -62,11 +64,11 @@ void mqtt_ha_add_device_ids(JsonDocument & doc) } // adds the name and unique_id to the HA MQTT auto-discovery message -void mqtt_ha_add_unique_id(JsonDocument & doc, char * item) +void mqtt_ha_add_unique_id(JsonDocument& doc, char* item) { char buffer[64]; - snprintf_P(buffer, sizeof(buffer), PSTR("HASP %s %s"), mqttNodeName, item); + snprintf_P(buffer, sizeof(buffer), PSTR("HASP %s %s"), haspDevice.get_hostname(), item); doc[FPSTR(FP_MQTT_HA_NAME)] = buffer; snprintf_P(buffer, sizeof(buffer), PSTR("hasp_%s-%s"), HASP_MAC_ADDRESS, item); @@ -90,28 +92,28 @@ void mqtt_ha_register_button(uint8_t page, uint8_t id) doc[F("pl")] = buffer; doc[F("type")] = "button_short_press"; snprintf_P(buffer, sizeof(buffer), PSTR("%s/device_automation/%s/" HASP_OBJECT_NOTATION "_%s/config"), - discovery_prefix, mqttNodeName, page, id, "short_press"); + discovery_prefix, haspDevice.get_hostname(), page, id, "short_press"); mqtt_ha_send_json(buffer, doc); dispatch_get_event_name(HASP_EVENT_SHORT, buffer, sizeof(buffer)); doc[F("pl")] = buffer; doc[F("type")] = "button_short_release"; snprintf_P(buffer, sizeof(buffer), PSTR("%s/device_automation/%s/" HASP_OBJECT_NOTATION "_%s/config"), - discovery_prefix, mqttNodeName, page, id, "short_release"); + discovery_prefix, haspDevice.get_hostname(), page, id, "short_release"); mqtt_ha_send_json(buffer, doc); dispatch_get_event_name(HASP_EVENT_LONG, buffer, sizeof(buffer)); doc[F("pl")] = buffer; doc[F("type")] = "button_long_press"; snprintf_P(buffer, sizeof(buffer), PSTR("%s/device_automation/%s/" HASP_OBJECT_NOTATION "_%s/config"), - discovery_prefix, mqttNodeName, page, id, "long_press"); + discovery_prefix, haspDevice.get_hostname(), page, id, "long_press"); mqtt_ha_send_json(buffer, doc); dispatch_get_event_name(HASP_EVENT_UP, buffer, sizeof(buffer)); doc[F("pl")] = buffer; doc[F("type")] = "button_long_release"; snprintf_P(buffer, sizeof(buffer), PSTR("%s/device_automation/%s/" HASP_OBJECT_NOTATION "_%s/config"), - discovery_prefix, mqttNodeName, page, id, "long_release"); + discovery_prefix, haspDevice.get_hostname(), page, id, "long_release"); mqtt_ha_send_json(buffer, doc); } @@ -131,7 +133,7 @@ void mqtt_ha_register_switch(uint8_t page, uint8_t id) doc[F("type")] = F("button_short_release"); snprintf_P(buffer, sizeof(buffer), PSTR("%s/device_automation/%s/" HASP_OBJECT_NOTATION "_%s/config"), - discovery_prefix, mqttNodeName, page, id, "short"); + discovery_prefix, haspDevice.get_hostname(), page, id, "short"); mqtt_ha_send_json(buffer, doc); } @@ -149,7 +151,8 @@ void mqtt_ha_register_connectivity() mqtt_ha_add_unique_id(doc, item); char buffer[128]; - snprintf_P(buffer, sizeof(buffer), PSTR("%s/binary_sensor/%s/%s/config"), discovery_prefix, mqttNodeName, item); + snprintf_P(buffer, sizeof(buffer), PSTR("%s/binary_sensor/%s/%s/config"), discovery_prefix, + haspDevice.get_hostname(), item); mqtt_ha_send_json(buffer, doc); } @@ -174,7 +177,8 @@ void mqtt_ha_register_backlight() // doc[F("pl_off")] = F("OFF"); char buffer[128]; - snprintf_P(buffer, sizeof(buffer), PSTR("%s/light/%s/%s/config"), discovery_prefix, mqttNodeName, item); + snprintf_P(buffer, sizeof(buffer), PSTR("%s/light/%s/%s/config"), discovery_prefix, haspDevice.get_hostname(), + item); mqtt_ha_send_json(buffer, doc); } @@ -205,7 +209,8 @@ void mqtt_ha_register_moodlight() // doc[F("rgb_command_template")] = F("{{ '%02x%02x%02x0000'| format(red, green, blue) }}"); char buffer[128]; - snprintf_P(buffer, sizeof(buffer), PSTR("%s/light/%s/%s/config"), discovery_prefix, mqttNodeName, item); + snprintf_P(buffer, sizeof(buffer), PSTR("%s/light/%s/%s/config"), discovery_prefix, haspDevice.get_hostname(), + item); mqtt_ha_send_json(buffer, doc); } @@ -221,7 +226,8 @@ void mqtt_ha_register_idle() mqtt_ha_add_unique_id(doc, item); char buffer[128]; - snprintf_P(buffer, sizeof(buffer), PSTR("%s/sensor/%s/%s/config"), discovery_prefix, mqttNodeName, item); + snprintf_P(buffer, sizeof(buffer), PSTR("%s/sensor/%s/%s/config"), discovery_prefix, haspDevice.get_hostname(), + item); mqtt_ha_send_json(buffer, doc); } @@ -237,7 +243,8 @@ void mqtt_ha_register_activepage() mqtt_ha_add_unique_id(doc, item); char buffer[128]; - snprintf_P(buffer, sizeof(buffer), PSTR("%s/number/%s/%s/config"), discovery_prefix, mqttNodeName, item); + snprintf_P(buffer, sizeof(buffer), PSTR("%s/number/%s/%s/config"), discovery_prefix, haspDevice.get_hostname(), + item); mqtt_ha_send_json(buffer, doc); } @@ -252,7 +259,7 @@ void mqtt_ha_register_auto_discovery() mqtt_ha_register_idle(); mqtt_ha_register_connectivity(); } - #endif +#endif #endif /* diff --git a/src/mqtt/hasp_mqtt_pubsubclient.cpp b/src/mqtt/hasp_mqtt_pubsubclient.cpp index f8fbde27..e96cb92d 100644 --- a/src/mqtt/hasp_mqtt_pubsubclient.cpp +++ b/src/mqtt/hasp_mqtt_pubsubclient.cpp @@ -81,10 +81,10 @@ bool mqttHAautodiscover = true; #define LWT_TOPIC "LWT" -char mqttServer[16] = MQTT_HOST; -char mqttUser[23] = MQTT_USER; -char mqttPassword[32] = MQTT_PASSW; -char mqttNodeName[16] = MQTT_NODENAME; +char mqttServer[16] = MQTT_HOST; +char mqttUser[23] = MQTT_USER; +char mqttPassword[32] = MQTT_PASSW; +// char mqttNodeName[16] = MQTT_NODENAME; char mqttGroupName[16] = MQTT_GROUPNAME; uint16_t mqttPort = MQTT_PORT; PubSubClient mqttClient(mqttNetworkClient); @@ -368,8 +368,8 @@ bool mqttGetConfig(const JsonObject& settings) { bool changed = false; - if(strcmp(mqttNodeName, settings[FPSTR(FP_CONFIG_NAME)].as().c_str()) != 0) changed = true; - settings[FPSTR(FP_CONFIG_NAME)] = mqttNodeName; + if(strcmp(haspDevice.get_hostname(), settings[FPSTR(FP_CONFIG_NAME)].as().c_str()) != 0) changed = true; + settings[FPSTR(FP_CONFIG_NAME)] = haspDevice.get_hostname(); if(strcmp(mqttGroupName, settings[FPSTR(FP_CONFIG_GROUP)].as().c_str()) != 0) changed = true; settings[FPSTR(FP_CONFIG_GROUP)] = mqttGroupName; @@ -406,14 +406,17 @@ bool mqttSetConfig(const JsonObject& settings) changed |= configSet(mqttPort, settings[FPSTR(FP_CONFIG_PORT)], F("mqttPort")); if(!settings[FPSTR(FP_CONFIG_NAME)].isNull()) { - changed |= strcmp(mqttNodeName, settings[FPSTR(FP_CONFIG_NAME)]) != 0; - strncpy(mqttNodeName, settings[FPSTR(FP_CONFIG_NAME)], sizeof(mqttNodeName)); + changed |= strcmp(haspDevice.get_hostname(), settings[FPSTR(FP_CONFIG_NAME)]) != 0; + // strncpy(mqttNodeName, settings[FPSTR(FP_CONFIG_NAME)], sizeof(mqttNodeName)); + haspDevice.set_hostname(settings[FPSTR(FP_CONFIG_NAME)].as()); } // Prefill node name - if(strlen(mqttNodeName) == 0) { + if(strlen(haspDevice.get_hostname()) == 0) { + char mqttNodeName[64]; String mac = halGetMacAddress(3, ""); mac.toLowerCase(); snprintf_P(mqttNodeName, sizeof(mqttNodeName), PSTR(D_MQTT_DEFAULT_NAME), mac.c_str()); + haspDevice.set_hostname(mqttNodeName); changed = true; } @@ -443,7 +446,7 @@ bool mqttSetConfig(const JsonObject& settings) strncpy(mqttPassword, settings[FPSTR(FP_CONFIG_PASS)], sizeof(mqttPassword)); } - snprintf_P(mqttNodeTopic, sizeof(mqttNodeTopic), PSTR(MQTT_PREFIX "/%s/"), mqttNodeName); + snprintf_P(mqttNodeTopic, sizeof(mqttNodeTopic), PSTR(MQTT_PREFIX "/%s/"), haspDevice.get_hostname()); snprintf_P(mqttGroupTopic, sizeof(mqttGroupTopic), PSTR(MQTT_PREFIX "/%s/"), mqttGroupName); return changed; diff --git a/src/sys/svc/hasp_http.cpp b/src/sys/svc/hasp_http.cpp index f4751797..878654d8 100644 --- a/src/sys/svc/hasp_http.cpp +++ b/src/sys/svc/hasp_http.cpp @@ -63,7 +63,7 @@ ESP8266WebServer webServer(80); WebServer webServer(80); #endif // ESP32 -HTTPUpload * upload; +HTTPUpload* upload; static const char HTTP_MENU_BUTTON[] PROGMEM = "

"; @@ -113,11 +113,11 @@ const char HTTP_FOOTER[] PROGMEM = " by Francis Van Roie"; // // Default link to compiled Nextion firmware images // String lcdFirmwareUrl = "http://haswitchplate.com/update/HASwitchPlate.tft"; -#if HASP_USE_MQTT > 0 -extern char mqttNodeName[16]; -#else -char mqttNodeName[3] = "na"; -#endif +// #if HASP_USE_MQTT > 0 +// extern char mqttNodeName[16]; +// #else +// char mqttNodeName[3] = "na"; +// #endif //////////////////////////////////////////////////////////////////////////////////////////////////// String getOption(int value, String label, bool selected) @@ -136,14 +136,14 @@ String getOption(String value, String label, bool selected) return buffer; } -static void add_gpio_select_option(String & str, uint8_t gpio, uint8_t bcklpin) +static void add_gpio_select_option(String& str, uint8_t gpio, uint8_t bcklpin) { char buffer[10]; snprintf_P(buffer, sizeof(buffer), PSTR("GPIO %d"), gpio); str += getOption(gpio, buffer, bcklpin == gpio); } -static void add_button(String & str, const __FlashStringHelper * label, const __FlashStringHelper * extra) +static void add_button(String& str, const __FlashStringHelper* label, const __FlashStringHelper* extra) { str += F("

"); - webSendPage(httpGetNodename(), httpMessage.length(), false); + webSendPage(haspDevice.get_hostname(), httpMessage.length(), false); webServer.sendContent(httpMessage); } // httpMessage.clear(); @@ -350,14 +350,14 @@ void httpHandleReboot() if(!httpIsAuthenticated(F("reboot"))) return; { - String httpMessage((char *)0); + String httpMessage((char*)0); httpMessage.reserve(HTTP_PAGE_SIZE); httpMessage += F("

"); - httpMessage += httpGetNodename(); + httpMessage += haspDevice.get_hostname(); httpMessage += F("


"); httpMessage = F(D_DISPATCH_REBOOT); - webSendPage(httpGetNodename(), httpMessage.length(), true); + webSendPage(haspDevice.get_hostname(), httpMessage.length(), true); webServer.sendContent(httpMessage); } // httpMessage.clear(); @@ -381,7 +381,7 @@ void webHandleScreenshot() } if(webServer.hasArg(F("q"))) { - lv_disp_t * disp = lv_disp_get_default(); + lv_disp_t* disp = lv_disp_get_default(); webServer.setContentLength(122 + disp->driver.hor_res * disp->driver.ver_res * sizeof(lv_color_t)); webServer.send_P(200, PSTR("image/bmp"), ""); guiTakeScreenshot(); @@ -389,10 +389,10 @@ void webHandleScreenshot() } else { { - String httpMessage((char *)0); + String httpMessage((char*)0); httpMessage.reserve(HTTP_PAGE_SIZE); httpMessage += F("

"); - httpMessage += httpGetNodename(); + httpMessage += haspDevice.get_hostname(); httpMessage += F("


"); httpMessage += @@ -413,7 +413,7 @@ void webHandleScreenshot() "

"); httpMessage += FPSTR(MAIN_MENU_BUTTON); - webSendPage(httpGetNodename(), httpMessage.length(), false); + webSendPage(haspDevice.get_hostname(), httpMessage.length(), false); webServer.sendContent(httpMessage); } // httpMessage.clear(); @@ -428,7 +428,7 @@ void webHandleAbout() if(!httpIsAuthenticated(F("about"))) return; { - String httpMessage((char *)0); + String httpMessage((char*)0); httpMessage.reserve(HTTP_PAGE_SIZE); httpMessage += F("

HASP OpenHardware edition

Copyright© 2020 Francis Van Roie "); @@ -469,7 +469,7 @@ void webHandleAbout() httpMessage += FPSTR(MAIN_MENU_BUTTON); - webSendPage(httpGetNodename(), httpMessage.length(), false); + webSendPage(haspDevice.get_hostname(), httpMessage.length(), false); webServer.sendContent(httpMessage); } // httpMessage.clear(); @@ -483,10 +483,10 @@ void webHandleInfo() { char size_buf[32]; - String httpMessage((char *)0); + String httpMessage((char*)0); httpMessage.reserve(HTTP_PAGE_SIZE); httpMessage += F("

"); - httpMessage += httpGetNodename(); + httpMessage += haspDevice.get_hostname(); httpMessage += F("


"); /* HASP Stats */ @@ -638,7 +638,7 @@ void webHandleInfo() char mqttClientId[64]; String mac = halGetMacAddress(3, ""); mac.toLowerCase(); - snprintf_P(mqttClientId, sizeof(mqttClientId), PSTR("%s-%s"), mqttNodeName, mac.c_str()); + snprintf_P(mqttClientId, sizeof(mqttClientId), PSTR("%s-%s"), haspDevice.get_hostname(), mac.c_str()); httpMessage += mqttClientId; } @@ -677,7 +677,7 @@ void webHandleInfo() httpMessage += FPSTR(MAIN_MENU_BUTTON); - webSendPage(httpGetNodename(), httpMessage.length(), false); + webSendPage(haspDevice.get_hostname(), httpMessage.length(), false); webServer.sendContent(httpMessage); } // httpMessage.clear(); @@ -714,7 +714,7 @@ void webHandleInfo() // return F("text/plain"); // } -static String getContentType(const String & path) +static String getContentType(const String& path) { char buff[sizeof(mime::mimeTable[0].mimeType)]; // Check all entries but last one for match, return if found @@ -772,9 +772,9 @@ void webUploadProgress() static inline void webUpdatePrintError() { #if defined(ARDUINO_ARCH_ESP8266) - String output((char *)0); + String output((char*)0); output.reserve(128); - StringStream stream((String &)output); + StringStream stream((String&)output); Update.printError(stream); // ESP8266 only has printError() LOG_ERROR(TAG_HTTP, output.c_str()); haspProgressMsg(output.c_str()); @@ -789,14 +789,14 @@ void webUpdateReboot() LOG_INFO(TAG_HTTP, F("Update Success: %u bytes received. Rebooting..."), upload->totalSize); { - String httpMessage((char *)0); + String httpMessage((char*)0); httpMessage.reserve(HTTP_PAGE_SIZE); httpMessage += F("

"); - httpMessage += httpGetNodename(); + httpMessage += haspDevice.get_hostname(); httpMessage += F("


"); httpMessage += F("Upload complete. Rebooting device, please wait..."); - webSendPage(httpGetNodename(), httpMessage.length(), true); + webSendPage(haspDevice.get_hostname(), httpMessage.length(), true); webServer.sendContent(httpMessage); } // httpMessage.clear(); @@ -875,7 +875,7 @@ void handleFileUpload() if(upload->status == UPLOAD_FILE_START) { if(!httpIsAuthenticated(F("fileupload"))) return; LOG_INFO(TAG_HTTP, F("Total size: %s"), webServer.headerName(0).c_str()); - String filename((char *)0); + String filename((char*)0); filename.reserve(128); filename = upload->filename; if(!filename.startsWith("/")) { @@ -1040,10 +1040,10 @@ void webHandleConfig() #endif { - String httpMessage((char *)0); + String httpMessage((char*)0); httpMessage.reserve(HTTP_PAGE_SIZE); httpMessage += F("

"); - httpMessage += httpGetNodename(); + httpMessage += haspDevice.get_hostname(); httpMessage += F("


"); #if HASP_USE_WIFI > 0 @@ -1080,7 +1080,7 @@ void webHandleConfig() httpMessage += FPSTR(MAIN_MENU_BUTTON); - webSendPage(httpGetNodename(), httpMessage.length(), false); + webSendPage(haspDevice.get_hostname(), httpMessage.length(), false); webServer.sendContent(httpMessage); } // httpMessage.clear(); @@ -1098,10 +1098,10 @@ void webHandleMqttConfig() { // char buffer[128]; - String httpMessage((char *)0); + String httpMessage((char*)0); httpMessage.reserve(HTTP_PAGE_SIZE); httpMessage += F("

"); - httpMessage += httpGetNodename(); + httpMessage += haspDevice.get_hostname(); httpMessage += F("


"); httpMessage += F("
"); @@ -1133,7 +1133,7 @@ void webHandleMqttConfig() // D_HTTP_CONFIGURATION // "

"); - webSendPage(httpGetNodename(), httpMessage.length(), false); + webSendPage(haspDevice.get_hostname(), httpMessage.length(), false); webServer.sendContent(httpMessage); } // httpMessage.clear(); @@ -1150,10 +1150,10 @@ void webHandleGuiConfig() StaticJsonDocument<256> settings; guiGetConfig(settings.to()); - String httpMessage((char *)0); + String httpMessage((char*)0); httpMessage.reserve(HTTP_PAGE_SIZE); httpMessage += F("

"); - httpMessage += httpGetNodename(); + httpMessage += haspDevice.get_hostname(); httpMessage += F("


"); httpMessage += F("
"); @@ -1228,7 +1228,7 @@ void webHandleGuiConfig() // D_HTTP_CONFIGURATION // "

"); - webSendPage(httpGetNodename(), httpMessage.length(), false); + webSendPage(haspDevice.get_hostname(), httpMessage.length(), false); webServer.sendContent(httpMessage); } webSendFooter(); @@ -1245,10 +1245,10 @@ void webHandleWifiConfig() StaticJsonDocument<256> settings; wifiGetConfig(settings.to()); - String httpMessage((char *)0); + String httpMessage((char*)0); httpMessage.reserve(HTTP_PAGE_SIZE); httpMessage += F("

"); - httpMessage += httpGetNodename(); + httpMessage += haspDevice.get_hostname(); httpMessage += F("


"); httpMessage += F("
"); @@ -1272,7 +1272,7 @@ void webHandleWifiConfig() } #endif - webSendPage(httpGetNodename(), httpMessage.length(), false); + webSendPage(haspDevice.get_hostname(), httpMessage.length(), false); webServer.sendContent(httpMessage); #if defined(STM32F4xx) httpMessage = ""; @@ -1296,7 +1296,7 @@ void webHandleHttpConfig() // String httpMessage((char *)0); // httpMessage.reserve(HTTP_PAGE_SIZE); // httpMessage += F("

"); - // httpMessage += httpGetNodename(); + // httpMessage += haspDevice.get_hostname(); // httpMessage += F("


"); // httpMessage += F(""); @@ -1328,14 +1328,14 @@ void webHandleHttpConfig() "

" "

"), - httpGetNodename(), settings[FPSTR(FP_CONFIG_USER)].as().c_str(), + haspDevice.get_hostname(), settings[FPSTR(FP_CONFIG_USER)].as().c_str(), settings[FPSTR(FP_CONFIG_PASS)].as().c_str()); // if(settings[FPSTR(FP_CONFIG_PASS)].as() != "") { // httpMessage += F(D_PASSWORD_MASK); // } - webSendPage(httpGetNodename(), len, false); + webSendPage(haspDevice.get_hostname(), len, false); webServer.sendContent(httpMessage); } // httpMessage.clear(); @@ -1368,10 +1368,10 @@ void webHandleGpioConfig() } { - String httpMessage((char *)0); + String httpMessage((char*)0); httpMessage.reserve(HTTP_PAGE_SIZE); httpMessage += F("

"); - httpMessage += httpGetNodename(); + httpMessage += haspDevice.get_hostname(); httpMessage += F("


"); httpMessage += F("
"); @@ -1466,7 +1466,7 @@ void webHandleGpioConfig() // D_HTTP_CONFIGURATION // "

"); - webSendPage(httpGetNodename(), httpMessage.length(), false); + webSendPage(haspDevice.get_hostname(), httpMessage.length(), false); webServer.sendContent(httpMessage); } // httpMessage.clear(); @@ -1484,10 +1484,10 @@ void webHandleGpioOptions() uint8_t config_id = webServer.arg(F("id")).toInt(); - String httpMessage((char *)0); + String httpMessage((char*)0); httpMessage.reserve(HTTP_PAGE_SIZE); httpMessage += F("

"); - httpMessage += httpGetNodename(); + httpMessage += haspDevice.get_hostname(); httpMessage += F("


"); httpMessage += F("
"); @@ -1542,7 +1542,7 @@ void webHandleGpioOptions() httpMessage += F("

Group "D_HTTP_CONFIGURATION"

"); httpMessage += FPSTR(MAIN_MENU_BUTTON); - webSendPage(httpGetNodename(), httpMessage.length(), false); + webSendPage(haspDevice.get_hostname(), httpMessage.length(), false); webServer.sendContent(httpMessage); } // httpMessage.clear(); @@ -1759,7 +1759,7 @@ void httpHandleNotFound() // LOG_TRACE(TAG_HTTP,F("Sending 404 to client connected from: %s"), String(webServer.client().remoteIP()).c_str()); #endif - String httpMessage((char *)0); + String httpMessage((char*)0); httpMessage.reserve(HTTP_PAGE_SIZE); httpMessage += F("File Not Found\n\nURI: "); @@ -1781,10 +1781,10 @@ void webHandleFirmware() if(!httpIsAuthenticated(F("firmware"))) return; { - String httpMessage((char *)0); + String httpMessage((char*)0); httpMessage.reserve(HTTP_PAGE_SIZE); httpMessage += F("

"); - httpMessage += httpGetNodename(); + httpMessage += haspDevice.get_hostname(); httpMessage += F("


"); httpMessage += F("

"); - httpMessage += httpGetNodename(); + httpMessage += haspDevice.get_hostname(); httpMessage += F("
"); httpMessage += F("

ESP update

Updating ESP firmware from: "); httpMessage += webServer.arg("espFirmware"); - webSendPage(httpGetNodename(), httpMessage.length(), true); + webSendPage(haspDevice.get_hostname(), httpMessage.length(), true); webServer.sendContent(httpMessage); // httpMessage.clear(); } @@ -1846,10 +1846,10 @@ void httpHandleResetConfig() bool resetConfirmed = webServer.arg(F("confirm")) == F("yes"); { - String httpMessage((char *)0); + String httpMessage((char*)0); httpMessage.reserve(HTTP_PAGE_SIZE); httpMessage += F("

"); - httpMessage += httpGetNodename(); + httpMessage += haspDevice.get_hostname(); httpMessage += F("


"); if(resetConfirmed) { // User has confirmed, so reset everything @@ -1877,7 +1877,7 @@ void httpHandleResetConfig() // "

"); } - webSendPage(httpGetNodename(), httpMessage.length(), resetConfirmed); + webSendPage(haspDevice.get_hostname(), httpMessage.length(), resetConfirmed); webServer.sendContent(httpMessage); } // httpMessage.clear(); @@ -1928,8 +1928,8 @@ void httpSetup() // httpSetConfig(settings); // ask server to track these headers - const char * headerkeys[] = {"Content-Length"}; // "Authentication" - size_t headerkeyssize = sizeof(headerkeys) / sizeof(char *); + const char* headerkeys[] = {"Content-Length"}; // "Authentication" + size_t headerkeyssize = sizeof(headerkeys) / sizeof(char*); webServer.collectHeaders(headerkeys, headerkeyssize); // Shared pages @@ -2050,7 +2050,7 @@ void httpEvery5Seconds() //////////////////////////////////////////////////////////////////////////////////////////////////// #if HASP_USE_CONFIG > 0 -bool httpGetConfig(const JsonObject & settings) +bool httpGetConfig(const JsonObject& settings) { bool changed = false; @@ -2077,7 +2077,7 @@ bool httpGetConfig(const JsonObject & settings) * * @param[in] settings JsonObject with the config settings. **/ -bool httpSetConfig(const JsonObject & settings) +bool httpSetConfig(const JsonObject& settings) { configOutput(settings, TAG_HTTP); bool changed = false; @@ -2098,7 +2098,7 @@ bool httpSetConfig(const JsonObject & settings) } #endif // HASP_USE_CONFIG -size_t httpClientWrite(const uint8_t * buf, size_t size) +size_t httpClientWrite(const uint8_t* buf, size_t size) { /***** Sending 16Kb at once freezes on STM32 EthernetClient *****/ size_t bytes_sent = 0;