diff --git a/src/hasp.cpp b/src/hasp.cpp index 2e6d0da0..9344a586 100644 --- a/src/hasp.cpp +++ b/src/hasp.cpp @@ -1432,7 +1432,12 @@ void haspNewObject(const JsonObject & config) uint8_t styleid = config[F("styleid")].as(); /* Define Objects*/ - lv_obj_t * obj; + lv_obj_t * obj = FindObjFromId(parent_obj, id); + if(obj) { + warningPrintln(F("HASP: %sObject ID already exists!")); + return; + } + lv_obj_t * label; switch(objid) { /* ----- Basic Objects ------ */ @@ -1613,7 +1618,7 @@ void haspNewObject(const JsonObject & config) char msg[127]; lv_obj_type_t list; lv_obj_get_type(obj, &list); - sprintf_P(msg, PSTR("HASP: * Created %s object p[%u].b[%u]"), list.type[0], pageid, temp); + sprintf_P(msg, PSTR("HASP: * p[%u].b[%u] = %s"), pageid, temp, list.type[0]); debugPrintln(msg); /* Double-check */ diff --git a/src/hasp_dispatch.cpp b/src/hasp_dispatch.cpp index 1ae6e3fa..0e4da832 100644 --- a/src/hasp_dispatch.cpp +++ b/src/hasp_dispatch.cpp @@ -64,7 +64,9 @@ void dispatchAttribute(String & strTopic, const char * payload) } } else if(strTopic.startsWith(F("output"))) { uint8_t state = strcmp_P(payload, PSTR("ON")) == 0 ? HIGH : LOW; +#if defined(ARDUINO_ARCH_ESP8266) digitalWrite(D1, state); +#endif } else if(strTopic == F("page")) { dispatchPage(payload); @@ -78,6 +80,9 @@ void dispatchAttribute(String & strTopic, const char * payload) } else if(strTopic == F("clearpage")) { dispatchClearPage(payload); + } else if(strTopic == F("setupap")) { + haspDisplayAP(String(F("HASP-ABC123")).c_str(), String(F("haspadmin")).c_str()); + } else if(strTopic.length() == 7 && strTopic.startsWith(F("output"))) { String strTemp((char *)0); strTemp = strTopic.substring(7, strTopic.length()); diff --git a/src/hasp_mqtt.cpp b/src/hasp_mqtt.cpp index 4855a26c..42731427 100644 --- a/src/hasp_mqtt.cpp +++ b/src/hasp_mqtt.cpp @@ -238,8 +238,6 @@ void mqttCallback(char * topic, byte * payload, unsigned int length) dispatchJson((char *)payload); // Send to nextionParseJson() } else if(strTopic == F("jsonl")) { dispatchJsonl((char *)payload); - } else if(strTopic == F("setupap")) { - haspDisplayAP("HASP-ABC123", "haspadmin"); } else if(length == 0) { dispatchCommand(strTopic.c_str()); } else { // '[...]/device/command/p[1].b[4].txt' -m '"Lights On"' ==