mirror of
https://github.com/HASwitchPlate/openHASP.git
synced 2025-07-24 11:46:34 +00:00
Add arc and gauge properties
This commit is contained in:
parent
55c85ca571
commit
2205de607d
@ -5,9 +5,7 @@
|
||||
#if LVGL_VERSION_MAJOR != 7
|
||||
#include "../lv_components.h"
|
||||
#endif
|
||||
|
||||
#include "ArduinoLog.h"
|
||||
//#include "hasp_conf.h"
|
||||
|
||||
#include "hasp.h"
|
||||
#include "hasp_object.h"
|
||||
@ -399,6 +397,26 @@ static lv_font_t * haspPayloadToFont(const char * payload)
|
||||
}
|
||||
}
|
||||
|
||||
static void gauge_format_10(lv_obj_t * gauge, char * buf, int bufsize, int32_t value)
|
||||
{
|
||||
snprintf(buf, bufsize, PSTR("%d"), value / 10);
|
||||
}
|
||||
|
||||
static void gauge_format_100(lv_obj_t * gauge, char * buf, int bufsize, int32_t value)
|
||||
{
|
||||
snprintf(buf, bufsize, PSTR("%d"), value / 100);
|
||||
}
|
||||
|
||||
static void gauge_format_1k(lv_obj_t * gauge, char * buf, int bufsize, int32_t value)
|
||||
{
|
||||
snprintf(buf, bufsize, PSTR("%d"), value / 1000);
|
||||
}
|
||||
|
||||
static void gauge_format_10k(lv_obj_t * gauge, char * buf, int bufsize, int32_t value)
|
||||
{
|
||||
snprintf_P(buf, bufsize, PSTR("%d"), value / 10000);
|
||||
}
|
||||
|
||||
static void hasp_process_label_long_mode(lv_obj_t * obj, const char * payload, bool update)
|
||||
{
|
||||
if(update) {
|
||||
@ -564,6 +582,18 @@ static void hasp_attribute_get_part_state(lv_obj_t * obj, const char * attr_in,
|
||||
return;
|
||||
}
|
||||
|
||||
if(check_obj_type(obj, LV_HASP_ARC)) {
|
||||
if(index == 1) {
|
||||
part = LV_ARC_PART_INDIC;
|
||||
} else if(index == 2) {
|
||||
part = LV_ARC_PART_KNOB;
|
||||
} else {
|
||||
part = LV_ARC_PART_BG;
|
||||
}
|
||||
state = LV_STATE_DEFAULT;
|
||||
return;
|
||||
}
|
||||
|
||||
if(check_obj_type(obj, LV_HASP_CHECKBOX)) {
|
||||
if(index == 1) {
|
||||
part = LV_CHECKBOX_PART_BULLET;
|
||||
@ -857,8 +887,14 @@ static void hasp_process_arc_attribute(lv_obj_t * obj, const char * attr_p, uint
|
||||
return (update) ? lv_arc_set_rotation(obj, val) : hasp_out_int(obj, attr, lv_arc_get_rotation(obj));
|
||||
|
||||
case ATTR_ADJUSTABLE:
|
||||
return (update) ? lv_arc_set_adjustable(obj, val != 0)
|
||||
: hasp_out_int(obj, attr, lv_arc_get_adjustable(obj));
|
||||
if(update) {
|
||||
bool toggle = is_true(payload);
|
||||
lv_arc_set_adjustable(obj, toggle);
|
||||
lv_obj_set_event_cb(obj, toggle ? slider_event_handler : btn_event_handler);
|
||||
} else {
|
||||
hasp_out_int(obj, attr, lv_arc_get_adjustable(obj));
|
||||
}
|
||||
return;
|
||||
|
||||
case ATTR_START_ANGLE:
|
||||
return (update) ? lv_arc_set_bg_start_angle(obj, val)
|
||||
@ -876,6 +912,7 @@ static void hasp_process_arc_attribute(lv_obj_t * obj, const char * attr_p, uint
|
||||
|
||||
Log.warning(TAG_ATTR, F("Unknown property %s"), attr_p);
|
||||
}
|
||||
|
||||
static void hasp_process_gauge_attribute(lv_obj_t * obj, const char * attr_p, uint16_t attr_hash, const char * payload,
|
||||
bool update)
|
||||
{
|
||||
@ -903,6 +940,27 @@ static void hasp_process_gauge_attribute(lv_obj_t * obj, const char * attr_p, ui
|
||||
|
||||
case ATTR_LABEL_COUNT:
|
||||
return (update) ? lv_gauge_set_scale(obj, angle, line_count, val) : hasp_out_int(obj, attr, label_count);
|
||||
|
||||
case ATTR_FORMAT:
|
||||
if(update) {
|
||||
switch(val) {
|
||||
case 10:
|
||||
lv_gauge_set_formatter_cb(obj, gauge_format_10);
|
||||
break;
|
||||
case 100:
|
||||
lv_gauge_set_formatter_cb(obj, gauge_format_100);
|
||||
break;
|
||||
case 1000:
|
||||
lv_gauge_set_formatter_cb(obj, gauge_format_1k);
|
||||
break;
|
||||
case 10000:
|
||||
lv_gauge_set_formatter_cb(obj, gauge_format_10k);
|
||||
break;
|
||||
default:
|
||||
lv_gauge_set_formatter_cb(obj, NULL);
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
Log.warning(TAG_ATTR, F("Unknown property %s"), attr_p);
|
||||
|
@ -11,6 +11,7 @@
|
||||
|
||||
#include "hasp_conf.h"
|
||||
#include "hasp.h"
|
||||
#include "hasp_object.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
@ -280,6 +281,6 @@ _HASP_ATTRIBUTE(SCALE_END_LINE_WIDTH, scale_end_line_width, lv_style_int_t)
|
||||
#define ATTR_START_ANGLE1 39067
|
||||
#define ATTR_END_ANGLE1 33634
|
||||
|
||||
// Buttonmatric
|
||||
// Buttonmatrix
|
||||
#define ATTR_MAP 45628
|
||||
#endif
|
||||
|
@ -519,14 +519,15 @@ void dispatch_parse_jsonl(std::istringstream & stream)
|
||||
size_t line = 1;
|
||||
DynamicJsonDocument jsonl(4 * 128u); // max ~256 characters per line
|
||||
DeserializationError err = deserializeJson(jsonl, stream);
|
||||
stream.setTimeout(25);
|
||||
|
||||
guiStop();
|
||||
// guiStop();
|
||||
while(err == DeserializationError::Ok) {
|
||||
hasp_new_object(jsonl.as<JsonObject>(), savedPage);
|
||||
err = deserializeJson(jsonl, stream);
|
||||
line++;
|
||||
}
|
||||
guiStart();
|
||||
// guiStart();
|
||||
|
||||
/* For debugging pourposes */
|
||||
if(err == DeserializationError::EmptyInput) {
|
||||
@ -550,6 +551,7 @@ void dispatch_parse_jsonl(const char *, const char * payload)
|
||||
{
|
||||
#if HASP_USE_CONFIG > 0
|
||||
CharStream stream((char *)payload);
|
||||
// stream.setTimeout(10);
|
||||
dispatch_parse_jsonl(stream);
|
||||
#else
|
||||
std::istringstream stream((char *)payload);
|
||||
|
@ -84,72 +84,72 @@ bool hasp_find_id_from_obj(lv_obj_t * obj, uint8_t * pageid, uint8_t * objid)
|
||||
* @return true or false wether the types match
|
||||
* @note
|
||||
*/
|
||||
bool check_obj_type_str(const char * lvobjtype, lv_hasp_obj_type_t haspobjtype)
|
||||
{
|
||||
lvobjtype += 3; // skip "lv_"
|
||||
// bool check_obj_type_str(const char * lvobjtype, lv_hasp_obj_type_t haspobjtype)
|
||||
// {
|
||||
// lvobjtype += 3; // skip "lv_"
|
||||
|
||||
switch(haspobjtype) {
|
||||
case LV_HASP_BTNMATRIX:
|
||||
return (strcmp_P(lvobjtype, PSTR("btnmatrix")) == 0);
|
||||
case LV_HASP_TABLE:
|
||||
return (strcmp_P(lvobjtype, PSTR("table")) == 0);
|
||||
case LV_HASP_BUTTON:
|
||||
return (strcmp_P(lvobjtype, PSTR("btn")) == 0);
|
||||
case LV_HASP_LABEL:
|
||||
return (strcmp_P(lvobjtype, PSTR("label")) == 0);
|
||||
case LV_HASP_CHECKBOX:
|
||||
return (strcmp_P(lvobjtype, PSTR("checkbox")) == 0); // || (strcmp_P(lvobjtype, PSTR("lv_cb")) == 0);
|
||||
case LV_HASP_DDLIST:
|
||||
return (strcmp_P(lvobjtype, PSTR("dropdown")) == 0); // || (strcmp_P(lvobjtype, PSTR("lv_ddlist")) == 0);
|
||||
case LV_HASP_CPICKER:
|
||||
return (strcmp_P(lvobjtype, PSTR("cpicker")) == 0);
|
||||
case LV_HASP_PRELOADER:
|
||||
return (strcmp_P(lvobjtype, PSTR("spinner")) == 0); // || (strcmp_P(lvobjtype, PSTR("lv_preload")) == 0);
|
||||
case LV_HASP_SLIDER:
|
||||
return (strcmp_P(lvobjtype, PSTR("slider")) == 0);
|
||||
case LV_HASP_GAUGE:
|
||||
return (strcmp_P(lvobjtype, PSTR("gauge")) == 0);
|
||||
case LV_HASP_ARC:
|
||||
return (strcmp_P(lvobjtype, PSTR("arc")) == 0);
|
||||
case LV_HASP_BAR:
|
||||
return (strcmp_P(lvobjtype, PSTR("bar")) == 0);
|
||||
case LV_HASP_LMETER:
|
||||
return (strcmp_P(lvobjtype, PSTR("linemeter")) == 0); // || (strcmp_P(lvobjtype, PSTR("lv_lmeter")) == 0)
|
||||
case LV_HASP_ROLLER:
|
||||
return (strcmp_P(lvobjtype, PSTR("roller")) == 0);
|
||||
case LV_HASP_SWITCH:
|
||||
return (strcmp_P(lvobjtype, PSTR("switch")) == 0); // || (strcmp_P(lvobjtype, PSTR("lv_sw")) == 0)
|
||||
case LV_HASP_LED:
|
||||
return (strcmp_P(lvobjtype, PSTR("led")) == 0);
|
||||
case LV_HASP_IMAGE:
|
||||
return (strcmp_P(lvobjtype, PSTR("img")) == 0);
|
||||
case LV_HASP_IMGBTN:
|
||||
return (strcmp_P(lvobjtype, PSTR("imgbtn")) == 0);
|
||||
case LV_HASP_CONTAINER:
|
||||
return (strcmp_P(lvobjtype, PSTR("container")) == 0); // || (strcmp_P(lvobjtype, PSTR("lv_cont")) == 0)
|
||||
case LV_HASP_OBJECT:
|
||||
return (strcmp_P(lvobjtype, PSTR("page")) == 0); // || (strcmp_P(lvobjtype, PSTR("lv_cont")) == 0)
|
||||
case LV_HASP_PAGE:
|
||||
return (strcmp_P(lvobjtype, PSTR("obj")) == 0); // || (strcmp_P(lvobjtype, PSTR("lv_cont")) == 0)
|
||||
case LV_HASP_TABVIEW:
|
||||
return (strcmp_P(lvobjtype, PSTR("tabview")) == 0);
|
||||
case LV_HASP_TILEVIEW:
|
||||
return (strcmp_P(lvobjtype, PSTR("tileview")) == 0);
|
||||
case LV_HASP_CHART:
|
||||
return (strcmp_P(lvobjtype, PSTR("chart")) == 0);
|
||||
case LV_HASP_CANVAS:
|
||||
return (strcmp_P(lvobjtype, PSTR("canvas")) == 0);
|
||||
case LV_HASP_CALENDER:
|
||||
return (strcmp_P(lvobjtype, PSTR("calender")) == 0);
|
||||
case LV_HASP_MSGBOX:
|
||||
return (strcmp_P(lvobjtype, PSTR("msgbox")) == 0);
|
||||
case LV_HASP_WINDOW:
|
||||
return (strcmp_P(lvobjtype, PSTR("win")) == 0);
|
||||
// switch(haspobjtype) {
|
||||
// case LV_HASP_BTNMATRIX:
|
||||
// return (strcmp_P(lvobjtype, PSTR("btnmatrix")) == 0);
|
||||
// case LV_HASP_TABLE:
|
||||
// return (strcmp_P(lvobjtype, PSTR("table")) == 0);
|
||||
// case LV_HASP_BUTTON:
|
||||
// return (strcmp_P(lvobjtype, PSTR("btn")) == 0);
|
||||
// case LV_HASP_LABEL:
|
||||
// return (strcmp_P(lvobjtype, PSTR("label")) == 0);
|
||||
// case LV_HASP_CHECKBOX:
|
||||
// return (strcmp_P(lvobjtype, PSTR("checkbox")) == 0); // || (strcmp_P(lvobjtype, PSTR("lv_cb")) == 0);
|
||||
// case LV_HASP_DDLIST:
|
||||
// return (strcmp_P(lvobjtype, PSTR("dropdown")) == 0); // || (strcmp_P(lvobjtype, PSTR("lv_ddlist")) == 0);
|
||||
// case LV_HASP_CPICKER:
|
||||
// return (strcmp_P(lvobjtype, PSTR("cpicker")) == 0);
|
||||
// case LV_HASP_PRELOADER:
|
||||
// return (strcmp_P(lvobjtype, PSTR("spinner")) == 0); // || (strcmp_P(lvobjtype, PSTR("lv_preload")) == 0);
|
||||
// case LV_HASP_SLIDER:
|
||||
// return (strcmp_P(lvobjtype, PSTR("slider")) == 0);
|
||||
// case LV_HASP_GAUGE:
|
||||
// return (strcmp_P(lvobjtype, PSTR("gauge")) == 0);
|
||||
// case LV_HASP_ARC:
|
||||
// return (strcmp_P(lvobjtype, PSTR("arc")) == 0);
|
||||
// case LV_HASP_BAR:
|
||||
// return (strcmp_P(lvobjtype, PSTR("bar")) == 0);
|
||||
// case LV_HASP_LMETER:
|
||||
// return (strcmp_P(lvobjtype, PSTR("linemeter")) == 0); // || (strcmp_P(lvobjtype, PSTR("lv_lmeter")) == 0)
|
||||
// case LV_HASP_ROLLER:
|
||||
// return (strcmp_P(lvobjtype, PSTR("roller")) == 0);
|
||||
// case LV_HASP_SWITCH:
|
||||
// return (strcmp_P(lvobjtype, PSTR("switch")) == 0); // || (strcmp_P(lvobjtype, PSTR("lv_sw")) == 0)
|
||||
// case LV_HASP_LED:
|
||||
// return (strcmp_P(lvobjtype, PSTR("led")) == 0);
|
||||
// case LV_HASP_IMAGE:
|
||||
// return (strcmp_P(lvobjtype, PSTR("img")) == 0);
|
||||
// case LV_HASP_IMGBTN:
|
||||
// return (strcmp_P(lvobjtype, PSTR("imgbtn")) == 0);
|
||||
// case LV_HASP_CONTAINER:
|
||||
// return (strcmp_P(lvobjtype, PSTR("container")) == 0); // || (strcmp_P(lvobjtype, PSTR("lv_cont")) == 0)
|
||||
// case LV_HASP_OBJECT:
|
||||
// return (strcmp_P(lvobjtype, PSTR("page")) == 0); // || (strcmp_P(lvobjtype, PSTR("lv_cont")) == 0)
|
||||
// case LV_HASP_PAGE:
|
||||
// return (strcmp_P(lvobjtype, PSTR("obj")) == 0); // || (strcmp_P(lvobjtype, PSTR("lv_cont")) == 0)
|
||||
// case LV_HASP_TABVIEW:
|
||||
// return (strcmp_P(lvobjtype, PSTR("tabview")) == 0);
|
||||
// case LV_HASP_TILEVIEW:
|
||||
// return (strcmp_P(lvobjtype, PSTR("tileview")) == 0);
|
||||
// case LV_HASP_CHART:
|
||||
// return (strcmp_P(lvobjtype, PSTR("chart")) == 0);
|
||||
// case LV_HASP_CANVAS:
|
||||
// return (strcmp_P(lvobjtype, PSTR("canvas")) == 0);
|
||||
// case LV_HASP_CALENDER:
|
||||
// return (strcmp_P(lvobjtype, PSTR("calender")) == 0);
|
||||
// case LV_HASP_MSGBOX:
|
||||
// return (strcmp_P(lvobjtype, PSTR("msgbox")) == 0);
|
||||
// case LV_HASP_WINDOW:
|
||||
// return (strcmp_P(lvobjtype, PSTR("win")) == 0);
|
||||
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
// default:
|
||||
// return false;
|
||||
// }
|
||||
// }
|
||||
|
||||
/**
|
||||
* Check if an lvgl objecttype name corresponds to a given HASP object ID
|
||||
@ -178,7 +178,7 @@ void hasp_object_tree(lv_obj_t * parent, uint8_t pageid, uint16_t level)
|
||||
lv_obj_type_t list;
|
||||
lv_obj_get_type(parent, &list);
|
||||
const char * objtype = list.type[0];
|
||||
Log.verbose(TAG_HASP, F("[%d] p[%d].b[%d] %s"), level, pageid, parent->user_data, objtype);
|
||||
Log.verbose(TAG_HASP, F("[%d] p[%d].b[%d] %s"), level, pageid, parent->user_data.id, objtype);
|
||||
|
||||
lv_obj_t * child;
|
||||
child = lv_obj_get_child(parent, NULL);
|
||||
@ -427,7 +427,7 @@ static void ddlist_event_handler(lv_obj_t * obj, lv_event_t event)
|
||||
* @param obj pointer to a slider
|
||||
* @param event type of event that occured
|
||||
*/
|
||||
static void slider_event_handler(lv_obj_t * obj, lv_event_t event)
|
||||
void slider_event_handler(lv_obj_t * obj, lv_event_t event)
|
||||
{
|
||||
if(event == LV_EVENT_VALUE_CHANGED) hasp_send_obj_attribute_val(obj, lv_slider_get_value(obj));
|
||||
}
|
||||
|
@ -12,14 +12,14 @@ enum lv_hasp_obj_type_t {
|
||||
LV_HASP_OBJECT = 91,
|
||||
LV_HASP_PAGE = 92,
|
||||
|
||||
LV_HASP_LABEL = 12,
|
||||
LV_HASP_LABEL = 12,
|
||||
LV_HASP_DDLIST = 50,
|
||||
LV_HASP_ROLLER = 51,
|
||||
|
||||
LV_HASP_BUTTON = 10,
|
||||
LV_HASP_CHECKBOX = 11,
|
||||
LV_HASP_SWITCH = 40,
|
||||
LV_HASP_LED = 41,
|
||||
LV_HASP_SWITCH = 40,
|
||||
LV_HASP_LED = 41,
|
||||
|
||||
LV_HASP_SLIDER = 30,
|
||||
LV_HASP_GAUGE = 31,
|
||||
@ -36,11 +36,11 @@ enum lv_hasp_obj_type_t {
|
||||
|
||||
LV_HASP_BTNMATRIX = 1,
|
||||
LV_HASP_TABLE = 2,
|
||||
LV_HASP_CALENDER = 81,
|
||||
LV_HASP_CHART = 80,
|
||||
LV_HASP_TILEVIEW = 70,
|
||||
LV_HASP_TABVIEW = 71,
|
||||
LV_HASP_TAB = 72,
|
||||
LV_HASP_CALENDER = 81,
|
||||
LV_HASP_CHART = 80,
|
||||
LV_HASP_TILEVIEW = 70,
|
||||
LV_HASP_TABVIEW = 71,
|
||||
LV_HASP_TAB = 72,
|
||||
LV_HASP_WINDOW = 94,
|
||||
LV_HASP_MSGBOX = 93,
|
||||
};
|
||||
@ -50,7 +50,7 @@ void hasp_new_object(const JsonObject & config, uint8_t & saved_page_id);
|
||||
lv_obj_t * hasp_find_obj_from_parent_id(lv_obj_t * parent, uint8_t objid);
|
||||
// lv_obj_t * hasp_find_obj_from_page_id(uint8_t pageid, uint8_t objid);
|
||||
bool hasp_find_id_from_obj(lv_obj_t * obj, uint8_t * pageid, uint8_t * objid);
|
||||
bool check_obj_type_str(const char * lvobjtype, lv_hasp_obj_type_t haspobjtype);
|
||||
//bool check_obj_type_str(const char * lvobjtype, lv_hasp_obj_type_t haspobjtype);
|
||||
bool check_obj_type(lv_obj_t * obj, lv_hasp_obj_type_t haspobjtype);
|
||||
void hasp_object_tree(lv_obj_t * parent, uint8_t pageid, uint16_t level);
|
||||
|
||||
@ -63,6 +63,7 @@ void object_set_group_state(uint8_t groupid, uint8_t eventid, lv_obj_t * src_obj
|
||||
|
||||
void IRAM_ATTR btn_event_handler(lv_obj_t * obj, lv_event_t event);
|
||||
void IRAM_ATTR toggle_event_handler(lv_obj_t * obj, lv_event_t event);
|
||||
void slider_event_handler(lv_obj_t * obj, lv_event_t event);
|
||||
void wakeup_event_handler(lv_obj_t * obj, lv_event_t event);
|
||||
|
||||
#endif
|
@ -4,44 +4,44 @@
|
||||
#include "hasp_conf.h"
|
||||
#if HASP_USE_MQTT > 0
|
||||
|
||||
#include "PubSubClient.h"
|
||||
#include "PubSubClient.h"
|
||||
|
||||
#include "hasp_mqtt.h"
|
||||
#include "hasp_mqtt.h"
|
||||
|
||||
#if defined(ARDUINO_ARCH_ESP32)
|
||||
#include <WiFi.h>
|
||||
#if defined(ARDUINO_ARCH_ESP32)
|
||||
#include <WiFi.h>
|
||||
WiFiClient mqttNetworkClient;
|
||||
#elif defined(ARDUINO_ARCH_ESP8266)
|
||||
#include <ESP8266WiFi.h>
|
||||
#include <EEPROM.h>
|
||||
#include <Esp.h>
|
||||
#elif defined(ARDUINO_ARCH_ESP8266)
|
||||
#include <ESP8266WiFi.h>
|
||||
#include <EEPROM.h>
|
||||
#include <Esp.h>
|
||||
WiFiClient mqttNetworkClient;
|
||||
#else
|
||||
#if defined(STM32F4xx) && HASP_USE_WIFI > 0
|
||||
#else
|
||||
#if defined(STM32F4xx) && HASP_USE_WIFI > 0
|
||||
// #include <WiFi.h>
|
||||
WiFiSpiClient mqttNetworkClient;
|
||||
#else
|
||||
#if defined(W5500_MOSI) && defined(W5500_MISO) && defined(W5500_SCLK)
|
||||
#define W5500_LAN
|
||||
#include <Ethernet.h>
|
||||
#else
|
||||
#include <STM32Ethernet.h>
|
||||
#endif
|
||||
#else
|
||||
#if defined(W5500_MOSI) && defined(W5500_MISO) && defined(W5500_SCLK)
|
||||
#define W5500_LAN
|
||||
#include <Ethernet.h>
|
||||
#else
|
||||
#include <STM32Ethernet.h>
|
||||
#endif
|
||||
|
||||
EthernetClient mqttNetworkClient;
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#include "hasp_hal.h"
|
||||
#include "hasp_debug.h"
|
||||
#include "hasp_config.h"
|
||||
#include "hasp_hal.h"
|
||||
#include "hasp_debug.h"
|
||||
#include "hasp_config.h"
|
||||
|
||||
#include "../hasp/hasp_dispatch.h"
|
||||
#include "../hasp/hasp.h"
|
||||
#include "../hasp/hasp_dispatch.h"
|
||||
#include "../hasp/hasp.h"
|
||||
|
||||
#ifdef USE_CONFIG_OVERRIDE
|
||||
#include "user_config_override.h"
|
||||
#endif
|
||||
#ifdef USE_CONFIG_OVERRIDE
|
||||
#include "user_config_override.h"
|
||||
#endif
|
||||
|
||||
/*
|
||||
String mqttGetSubtopic; // MQTT subtopic for incoming commands requesting .val
|
||||
@ -65,41 +65,41 @@ char mqttNodeTopic[24];
|
||||
char mqttGroupTopic[24];
|
||||
bool mqttEnabled;
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// These defaults may be overwritten with values saved by the web interface
|
||||
#ifdef MQTT_HOST
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// These defaults may be overwritten with values saved by the web interface
|
||||
#ifdef MQTT_HOST
|
||||
char mqttServer[16] = MQTT_HOST;
|
||||
#else
|
||||
#else
|
||||
char mqttServer[16] = "";
|
||||
#endif
|
||||
#ifdef MQTT_PORT
|
||||
#endif
|
||||
#ifdef MQTT_PORT
|
||||
uint16_t mqttPort = MQTT_PORT;
|
||||
#else
|
||||
#else
|
||||
uint16_t mqttPort = 1883;
|
||||
#endif
|
||||
#ifdef MQTT_USER
|
||||
#endif
|
||||
#ifdef MQTT_USER
|
||||
char mqttUser[23] = MQTT_USER;
|
||||
#else
|
||||
#else
|
||||
char mqttUser[23] = "";
|
||||
#endif
|
||||
#ifdef MQTT_PASSW
|
||||
#endif
|
||||
#ifdef MQTT_PASSW
|
||||
char mqttPassword[32] = MQTT_PASSW;
|
||||
#else
|
||||
#else
|
||||
char mqttPassword[32] = "";
|
||||
#endif
|
||||
#ifdef MQTT_NODENAME
|
||||
#endif
|
||||
#ifdef MQTT_NODENAME
|
||||
char mqttNodeName[16] = MQTT_NODENAME;
|
||||
#else
|
||||
#else
|
||||
char mqttNodeName[16] = "";
|
||||
#endif
|
||||
#ifdef MQTT_GROUPNAME
|
||||
#endif
|
||||
#ifdef MQTT_GROUPNAME
|
||||
char mqttGroupName[16] = MQTT_GROUPNAME;
|
||||
#else
|
||||
#else
|
||||
char mqttGroupName[16] = "";
|
||||
#endif
|
||||
#ifndef MQTT_PREFIX
|
||||
#define MQTT_PREFIX "hasp"
|
||||
#endif
|
||||
#endif
|
||||
#ifndef MQTT_PREFIX
|
||||
#define MQTT_PREFIX "hasp"
|
||||
#endif
|
||||
|
||||
PubSubClient mqttClient(mqttNetworkClient);
|
||||
|
||||
@ -355,6 +355,8 @@ void mqttStart()
|
||||
mqttReconnectCount = 0;
|
||||
|
||||
haspReconnect();
|
||||
haspProgressVal(255);
|
||||
|
||||
dispatch_output_current_page();
|
||||
dispatch_output_statusupdate(NULL, NULL);
|
||||
}
|
||||
@ -410,7 +412,7 @@ void mqttStop()
|
||||
}
|
||||
}
|
||||
|
||||
#if HASP_USE_CONFIG > 0
|
||||
#if HASP_USE_CONFIG > 0
|
||||
bool mqttGetConfig(const JsonObject & settings)
|
||||
{
|
||||
bool changed = false;
|
||||
@ -495,6 +497,6 @@ bool mqttSetConfig(const JsonObject & settings)
|
||||
|
||||
return changed;
|
||||
}
|
||||
#endif // HASP_USE_CONFIG
|
||||
#endif // HASP_USE_CONFIG
|
||||
|
||||
#endif // HASP_USE_MQTT
|
||||
|
Loading…
x
Reference in New Issue
Block a user