mirror of
https://github.com/HASwitchPlate/openHASP.git
synced 2025-07-24 11:46:34 +00:00
Add set_hostname to device class
This commit is contained in:
parent
06cba2ea8e
commit
e8850d99fe
@ -26,6 +26,8 @@ class BaseDevice {
|
||||
{
|
||||
return "";
|
||||
}
|
||||
virtual void set_hostname(const char*)
|
||||
{}
|
||||
virtual const char* get_core_version()
|
||||
{
|
||||
return "";
|
||||
|
@ -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
|
||||
}
|
||||
|
||||
|
@ -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();
|
||||
};
|
||||
|
@ -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()
|
||||
|
@ -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();
|
||||
};
|
||||
|
@ -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()
|
||||
|
@ -5,6 +5,7 @@
|
||||
#define HASP_DEVICE_WINDOWS_H
|
||||
|
||||
#include <cstdint>
|
||||
#include <string>
|
||||
#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();
|
||||
};
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
@ -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
|
||||
|
||||
/*
|
||||
|
@ -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<String>().c_str()) != 0) changed = true;
|
||||
settings[FPSTR(FP_CONFIG_NAME)] = mqttNodeName;
|
||||
if(strcmp(haspDevice.get_hostname(), settings[FPSTR(FP_CONFIG_NAME)].as<String>().c_str()) != 0) changed = true;
|
||||
settings[FPSTR(FP_CONFIG_NAME)] = haspDevice.get_hostname();
|
||||
|
||||
if(strcmp(mqttGroupName, settings[FPSTR(FP_CONFIG_GROUP)].as<String>().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<const char*>());
|
||||
}
|
||||
// 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;
|
||||
|
@ -63,7 +63,7 @@ ESP8266WebServer webServer(80);
|
||||
WebServer webServer(80);
|
||||
#endif // ESP32
|
||||
|
||||
HTTPUpload * upload;
|
||||
HTTPUpload* upload;
|
||||
|
||||
static const char HTTP_MENU_BUTTON[] PROGMEM =
|
||||
"<p><form method='get' action='%s'><button type='submit'>%s</button></form></p>";
|
||||
@ -113,11 +113,11 @@ const char HTTP_FOOTER[] PROGMEM = " by Francis Van Roie</div></body></html>";
|
||||
// // 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("<button type='submit' ");
|
||||
str += extra;
|
||||
@ -152,13 +152,13 @@ static void add_button(String & str, const __FlashStringHelper * label, const __
|
||||
str += F("</button>");
|
||||
}
|
||||
|
||||
static void close_form(String & str)
|
||||
static void close_form(String& str)
|
||||
{
|
||||
str += F("</form></p>");
|
||||
}
|
||||
|
||||
static void add_form_button(String & str, const __FlashStringHelper * label, const __FlashStringHelper * action,
|
||||
const __FlashStringHelper * extra)
|
||||
static void add_form_button(String& str, const __FlashStringHelper* label, const __FlashStringHelper* action,
|
||||
const __FlashStringHelper* extra)
|
||||
{
|
||||
str += F("<p><form method='get' action='");
|
||||
str += action;
|
||||
@ -170,13 +170,13 @@ static void add_form_button(String & str, const __FlashStringHelper * label, con
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
void webHandleHaspConfig();
|
||||
|
||||
static inline char * httpGetNodename()
|
||||
{
|
||||
return mqttNodeName;
|
||||
}
|
||||
// static inline char* haspDevice.get_hostname()
|
||||
// {
|
||||
// return mqttNodeName;
|
||||
// }
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
bool httpIsAuthenticated(const __FlashStringHelper * fstr_page)
|
||||
bool httpIsAuthenticated(const __FlashStringHelper* fstr_page)
|
||||
{
|
||||
if(http_config.password[0] != '\0') { // Request HTTP auth if httpPassword is set
|
||||
if(!webServer.authenticate(http_config.user, http_config.password)) {
|
||||
@ -212,7 +212,7 @@ void webSendFooter()
|
||||
#endif
|
||||
}
|
||||
|
||||
void webSendPage(char * nodename, uint32_t httpdatalength, bool gohome = false)
|
||||
void webSendPage(const char* nodename, uint32_t httpdatalength, bool gohome = false)
|
||||
{
|
||||
{
|
||||
char buffer[64];
|
||||
@ -306,10 +306,10 @@ void webHandleRoot()
|
||||
|
||||
saveConfig();
|
||||
{
|
||||
String httpMessage((char *)0);
|
||||
String httpMessage((char*)0);
|
||||
httpMessage.reserve(HTTP_PAGE_SIZE);
|
||||
httpMessage += F("<h1>");
|
||||
httpMessage += httpGetNodename();
|
||||
httpMessage += haspDevice.get_hostname();
|
||||
httpMessage += F("</h1><hr>");
|
||||
|
||||
httpMessage += F("<p><form method='get' action='/config/hasp'><button type='submit'>" D_HTTP_HASP_DESIGN
|
||||
@ -337,7 +337,7 @@ void webHandleRoot()
|
||||
httpMessage += F("<p><form method='get' action='reboot'><button class='red' type='submit'>" D_HTTP_REBOOT
|
||||
"</button></form></p>");
|
||||
|
||||
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("<h1>");
|
||||
httpMessage += httpGetNodename();
|
||||
httpMessage += haspDevice.get_hostname();
|
||||
httpMessage += F("</h1><hr>");
|
||||
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("<h1>");
|
||||
httpMessage += httpGetNodename();
|
||||
httpMessage += haspDevice.get_hostname();
|
||||
httpMessage += F("</h1><hr>");
|
||||
|
||||
httpMessage +=
|
||||
@ -413,7 +413,7 @@ void webHandleScreenshot()
|
||||
"</button></form></p>");
|
||||
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("<p><h3>HASP OpenHardware edition</h3>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("<h1>");
|
||||
httpMessage += httpGetNodename();
|
||||
httpMessage += haspDevice.get_hostname();
|
||||
httpMessage += F("</h1><hr>");
|
||||
|
||||
/* 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("<h1>");
|
||||
httpMessage += httpGetNodename();
|
||||
httpMessage += haspDevice.get_hostname();
|
||||
httpMessage += F("</h1><hr>");
|
||||
httpMessage += F("<b>Upload complete. Rebooting device, please wait...</b>");
|
||||
|
||||
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("<h1>");
|
||||
httpMessage += httpGetNodename();
|
||||
httpMessage += haspDevice.get_hostname();
|
||||
httpMessage += F("</h1><hr>");
|
||||
|
||||
#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("<h1>");
|
||||
httpMessage += httpGetNodename();
|
||||
httpMessage += haspDevice.get_hostname();
|
||||
httpMessage += F("</h1><hr>");
|
||||
|
||||
httpMessage += F("<form method='POST' action='/config'>");
|
||||
@ -1133,7 +1133,7 @@ void webHandleMqttConfig()
|
||||
// D_HTTP_CONFIGURATION
|
||||
// "</button></form></p>");
|
||||
|
||||
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<JsonObject>());
|
||||
|
||||
String httpMessage((char *)0);
|
||||
String httpMessage((char*)0);
|
||||
httpMessage.reserve(HTTP_PAGE_SIZE);
|
||||
httpMessage += F("<h1>");
|
||||
httpMessage += httpGetNodename();
|
||||
httpMessage += haspDevice.get_hostname();
|
||||
httpMessage += F("</h1><hr>");
|
||||
|
||||
httpMessage += F("<form method='POST' action='/config'>");
|
||||
@ -1228,7 +1228,7 @@ void webHandleGuiConfig()
|
||||
// D_HTTP_CONFIGURATION
|
||||
// "</button></form></p>");
|
||||
|
||||
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<JsonObject>());
|
||||
|
||||
String httpMessage((char *)0);
|
||||
String httpMessage((char*)0);
|
||||
httpMessage.reserve(HTTP_PAGE_SIZE);
|
||||
httpMessage += F("<h1>");
|
||||
httpMessage += httpGetNodename();
|
||||
httpMessage += haspDevice.get_hostname();
|
||||
httpMessage += F("</h1><hr>");
|
||||
|
||||
httpMessage += F("<form method='POST' action='/config'>");
|
||||
@ -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("<h1>");
|
||||
// httpMessage += httpGetNodename();
|
||||
// httpMessage += haspDevice.get_hostname();
|
||||
// httpMessage += F("</h1><hr>");
|
||||
|
||||
// httpMessage += F("<form method='POST' action='/config'>");
|
||||
@ -1328,14 +1328,14 @@ void webHandleHttpConfig()
|
||||
"<p><button type='submit' name='save' value='http'>" D_HTTP_SAVE_SETTINGS "</button></p></form>"
|
||||
"<p><form method='get' action='/config'><button type='submit'>↩ " D_HTTP_CONFIGURATION
|
||||
"</button></form></p>"),
|
||||
httpGetNodename(), settings[FPSTR(FP_CONFIG_USER)].as<String>().c_str(),
|
||||
haspDevice.get_hostname(), settings[FPSTR(FP_CONFIG_USER)].as<String>().c_str(),
|
||||
settings[FPSTR(FP_CONFIG_PASS)].as<String>().c_str());
|
||||
|
||||
// if(settings[FPSTR(FP_CONFIG_PASS)].as<String>() != "") {
|
||||
// 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("<h1>");
|
||||
httpMessage += httpGetNodename();
|
||||
httpMessage += haspDevice.get_hostname();
|
||||
httpMessage += F("</h1><hr>");
|
||||
|
||||
httpMessage += F("<form method='POST' action='/config'>");
|
||||
@ -1466,7 +1466,7 @@ void webHandleGpioConfig()
|
||||
// D_HTTP_CONFIGURATION
|
||||
// "</button></form></p>");
|
||||
|
||||
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("<h1>");
|
||||
httpMessage += httpGetNodename();
|
||||
httpMessage += haspDevice.get_hostname();
|
||||
httpMessage += F("</h1><hr>");
|
||||
|
||||
httpMessage += F("<form method='GET' action='/config/gpio'>");
|
||||
@ -1542,7 +1542,7 @@ void webHandleGpioOptions()
|
||||
|
||||
httpMessage += F("<p><b>Group</b> <select id='group' name='group'>");
|
||||
httpMessage += getOption(0, F("None"), conf.group == 0);
|
||||
String group((char *)0);
|
||||
String group((char*)0);
|
||||
group.reserve(10);
|
||||
for(int i = 1; i < 15; i++) {
|
||||
group = F("Group ");
|
||||
@ -1565,7 +1565,7 @@ void webHandleGpioOptions()
|
||||
httpMessage += PSTR("<p><form method='get' action='/config/gpio'><button type='submit'>↩ " D_HTTP_BACK
|
||||
"</button></form></p>");
|
||||
|
||||
webSendPage(httpGetNodename(), httpMessage.length(), false);
|
||||
webSendPage(haspDevice.get_hostname(), httpMessage.length(), false);
|
||||
webServer.sendContent(httpMessage);
|
||||
}
|
||||
webSendFooter();
|
||||
@ -1583,10 +1583,10 @@ void webHandleDebugConfig()
|
||||
debugGetConfig(settings.to<JsonObject>());
|
||||
|
||||
{
|
||||
String httpMessage((char *)0);
|
||||
String httpMessage((char*)0);
|
||||
httpMessage.reserve(HTTP_PAGE_SIZE);
|
||||
httpMessage += F("<h1>");
|
||||
httpMessage += httpGetNodename();
|
||||
httpMessage += haspDevice.get_hostname();
|
||||
httpMessage += F("</h1><hr>");
|
||||
|
||||
httpMessage += F("<form method='POST' action='/config'>");
|
||||
@ -1634,7 +1634,7 @@ void webHandleDebugConfig()
|
||||
// D_HTTP_CONFIGURATION
|
||||
// "</button></form></p>");
|
||||
|
||||
webSendPage(httpGetNodename(), httpMessage.length(), false);
|
||||
webSendPage(haspDevice.get_hostname(), httpMessage.length(), false);
|
||||
webServer.sendContent(httpMessage);
|
||||
}
|
||||
// httpMessage.clear();
|
||||
@ -1650,10 +1650,10 @@ void webHandleHaspConfig()
|
||||
haspGetConfig(settings.to<JsonObject>());
|
||||
|
||||
{
|
||||
String httpMessage((char *)0);
|
||||
String httpMessage((char*)0);
|
||||
httpMessage.reserve(HTTP_PAGE_SIZE);
|
||||
httpMessage += F("<h1>");
|
||||
httpMessage += httpGetNodename();
|
||||
httpMessage += haspDevice.get_hostname();
|
||||
httpMessage += F("</h1><hr>");
|
||||
|
||||
httpMessage += F("<p><form action='/edit' method='post' enctype='multipart/form-data'><input type='file' "
|
||||
@ -1737,7 +1737,7 @@ void webHandleHaspConfig()
|
||||
// type='submit'>"D_HTTP_CONFIGURATION"</button></form></p>");
|
||||
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("<h1>");
|
||||
httpMessage += httpGetNodename();
|
||||
httpMessage += haspDevice.get_hostname();
|
||||
httpMessage += F("</h1><hr>");
|
||||
|
||||
httpMessage += F("<p><form action='/update' method='post' enctype='multipart/form-data'><input type='file' "
|
||||
@ -1797,7 +1797,7 @@ void webHandleFirmware()
|
||||
|
||||
httpMessage += FPSTR(MAIN_MENU_BUTTON);
|
||||
|
||||
webSendPage(httpGetNodename(), httpMessage.length(), false);
|
||||
webSendPage(haspDevice.get_hostname(), httpMessage.length(), false);
|
||||
webServer.sendContent(httpMessage);
|
||||
}
|
||||
// httpMessage.clear();
|
||||
@ -1810,16 +1810,16 @@ void httpHandleEspFirmware()
|
||||
if(!httpIsAuthenticated(F("espfirmware"))) return;
|
||||
|
||||
{
|
||||
String httpMessage((char *)0);
|
||||
String httpMessage((char*)0);
|
||||
httpMessage.reserve(HTTP_PAGE_SIZE);
|
||||
httpMessage += F("<h1>");
|
||||
httpMessage += httpGetNodename();
|
||||
httpMessage += haspDevice.get_hostname();
|
||||
httpMessage += F("</h1><hr>");
|
||||
|
||||
httpMessage += F("<p><b>ESP update</b></p>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("<h1>");
|
||||
httpMessage += httpGetNodename();
|
||||
httpMessage += haspDevice.get_hostname();
|
||||
httpMessage += F("</h1><hr>");
|
||||
|
||||
if(resetConfirmed) { // User has confirmed, so reset everything
|
||||
@ -1877,7 +1877,7 @@ void httpHandleResetConfig()
|
||||
// "</button></form></p>");
|
||||
}
|
||||
|
||||
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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user