mirror of
https://github.com/HASwitchPlate/openHASP.git
synced 2025-07-25 20:26:41 +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);
|
||||
}
|
||||
}
|
||||
|
@ -12,6 +12,8 @@
|
||||
#include "hasp/hasp.h"
|
||||
#include "hasp/hasp_dispatch.h"
|
||||
#include "hal/hasp_hal.h"
|
||||
#include "dev/device.h"
|
||||
|
||||
#include "hasp_mqtt.h"
|
||||
#include "hasp_mqtt_ha.h"
|
||||
|
||||
@ -20,7 +22,7 @@
|
||||
#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;
|
||||
@ -47,14 +49,14 @@ 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);
|
||||
|
||||
@ -66,7 +68,7 @@ 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);
|
||||
}
|
||||
|
||||
|
@ -84,7 +84,7 @@ bool mqttHAautodiscover = true;
|
||||
char mqttServer[16] = MQTT_HOST;
|
||||
char mqttUser[23] = MQTT_USER;
|
||||
char mqttPassword[32] = MQTT_PASSW;
|
||||
char mqttNodeName[16] = MQTT_NODENAME;
|
||||
// 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;
|
||||
|
@ -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)
|
||||
@ -170,10 +170,10 @@ 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)
|
||||
@ -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];
|
||||
@ -309,7 +309,7 @@ void webHandleRoot()
|
||||
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();
|
||||
@ -353,11 +353,11 @@ void httpHandleReboot()
|
||||
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();
|
||||
@ -392,7 +392,7 @@ void webHandleScreenshot()
|
||||
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();
|
||||
@ -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();
|
||||
@ -486,7 +486,7 @@ void webHandleInfo()
|
||||
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();
|
||||
@ -792,11 +792,11 @@ void webUpdateReboot()
|
||||
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();
|
||||
@ -1043,7 +1043,7 @@ void webHandleConfig()
|
||||
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();
|
||||
@ -1101,7 +1101,7 @@ void webHandleMqttConfig()
|
||||
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();
|
||||
@ -1153,7 +1153,7 @@ void webHandleGuiConfig()
|
||||
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();
|
||||
@ -1248,7 +1248,7 @@ void webHandleWifiConfig()
|
||||
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();
|
||||
@ -1371,7 +1371,7 @@ void webHandleGpioConfig()
|
||||
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();
|
||||
@ -1487,7 +1487,7 @@ void webHandleGpioOptions()
|
||||
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'>");
|
||||
@ -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();
|
||||
@ -1586,7 +1586,7 @@ void webHandleDebugConfig()
|
||||
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();
|
||||
@ -1653,7 +1653,7 @@ void webHandleHaspConfig()
|
||||
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();
|
||||
@ -1784,7 +1784,7 @@ void webHandleFirmware()
|
||||
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();
|
||||
@ -1813,13 +1813,13 @@ void httpHandleEspFirmware()
|
||||
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();
|
||||
}
|
||||
@ -1849,7 +1849,7 @@ void httpHandleResetConfig()
|
||||
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();
|
||||
|
Loading…
x
Reference in New Issue
Block a user