mirror of
https://github.com/HASwitchPlate/openHASP.git
synced 2025-07-28 13:46:36 +00:00
Only send tag if it is defined #195
This commit is contained in:
parent
587f38839c
commit
b2cf43c2f5
@ -1322,10 +1322,15 @@ static hasp_attribute_type_t attribute_common_tag(lv_obj_t* obj, uint16_t attr_h
|
|||||||
{
|
{
|
||||||
switch(attr_hash) {
|
switch(attr_hash) {
|
||||||
case ATTR_TAG:
|
case ATTR_TAG:
|
||||||
if(update)
|
if(update) {
|
||||||
my_obj_set_tag(obj, payload);
|
my_obj_set_tag(obj, payload);
|
||||||
else
|
} else {
|
||||||
*text = (char*)my_obj_get_tag(obj);
|
if(my_obj_get_tag(obj)) {
|
||||||
|
*text = (char*)my_obj_get_tag(obj);
|
||||||
|
} else {
|
||||||
|
strcpy_P(*text, "null"); // TODO : Literal String
|
||||||
|
}
|
||||||
|
}
|
||||||
break; // attribute_found
|
break; // attribute_found
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
@ -37,11 +37,7 @@ void my_obj_set_tag(lv_obj_t* obj, const char* tag)
|
|||||||
// the tag data is stored as SERIALIZED JSON data
|
// the tag data is stored as SERIALIZED JSON data
|
||||||
const char* my_obj_get_tag(lv_obj_t* obj)
|
const char* my_obj_get_tag(lv_obj_t* obj)
|
||||||
{
|
{
|
||||||
if(obj->user_data.tag) {
|
return (char*)obj->user_data.tag;
|
||||||
return (char*)obj->user_data.tag;
|
|
||||||
} else {
|
|
||||||
return "null";
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
lv_label_align_t my_textarea_get_text_align(lv_obj_t* ta)
|
lv_label_align_t my_textarea_get_text_align(lv_obj_t* ta)
|
||||||
|
@ -225,17 +225,12 @@ static void event_object_val_event(lv_obj_t* obj, uint8_t eventid, int16_t val)
|
|||||||
{
|
{
|
||||||
char data[512];
|
char data[512];
|
||||||
{
|
{
|
||||||
// StaticJsonDocument<96> doc; // allocate on stack
|
|
||||||
|
|
||||||
char eventname[8];
|
char eventname[8];
|
||||||
Parser::get_event_name(eventid, eventname, sizeof(eventname));
|
Parser::get_event_name(eventid, eventname, sizeof(eventname));
|
||||||
// doc["event"] = eventname;
|
if(const char* tag = my_obj_get_tag(obj))
|
||||||
// doc["val"] = val;
|
snprintf_P(data, sizeof(data), PSTR("{\"event\":\"%s\",\"val\":%d,\"tag\":%s}"), eventname, val, tag);
|
||||||
|
else
|
||||||
// if(obj->user_data.tag) doc["tag"] = serialized((const char*)obj->user_data.tag);
|
snprintf_P(data, sizeof(data), PSTR("{\"event\":\"%s\",\"val\":%d}"), eventname, val);
|
||||||
// serializeJson(doc, data);
|
|
||||||
const char* tag = my_obj_get_tag(obj);
|
|
||||||
snprintf_P(data, sizeof(data), PSTR("{\"event\":\"%s\",\"val\":%d,\"tag\":%s}"), eventname, val, tag);
|
|
||||||
}
|
}
|
||||||
event_send_object_data(obj, data);
|
event_send_object_data(obj, data);
|
||||||
}
|
}
|
||||||
@ -244,13 +239,16 @@ static void event_object_val_event(lv_obj_t* obj, uint8_t eventid, int16_t val)
|
|||||||
static void event_object_selection_changed(lv_obj_t* obj, uint8_t eventid, int16_t val, const char* text)
|
static void event_object_selection_changed(lv_obj_t* obj, uint8_t eventid, int16_t val, const char* text)
|
||||||
{
|
{
|
||||||
char data[512];
|
char data[512];
|
||||||
char eventname[8];
|
{
|
||||||
const char* tag = my_obj_get_tag(obj);
|
char eventname[8];
|
||||||
|
Parser::get_event_name(eventid, eventname, sizeof(eventname));
|
||||||
Parser::get_event_name(eventid, eventname, sizeof(eventname));
|
|
||||||
snprintf_P(data, sizeof(data), PSTR("{\"event\":\"%s\",\"val\":%d,\"text\":\"%s\",\"tag\":%s}"), eventname, val,
|
|
||||||
text, tag);
|
|
||||||
|
|
||||||
|
if(const char* tag = my_obj_get_tag(obj))
|
||||||
|
snprintf_P(data, sizeof(data), PSTR("{\"event\":\"%s\",\"val\":%d,\"text\":\"%s\",\"tag\":%s}"), eventname,
|
||||||
|
val, text, tag);
|
||||||
|
else
|
||||||
|
snprintf_P(data, sizeof(data), PSTR("{\"event\":\"%s\",\"val\":%d,\"text\":\"%s\"}"), eventname, val, text);
|
||||||
|
}
|
||||||
event_send_object_data(obj, data);
|
event_send_object_data(obj, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -376,12 +374,19 @@ void textarea_event_handler(lv_obj_t* obj, lv_event_t event)
|
|||||||
uint8_t hasp_event_id;
|
uint8_t hasp_event_id;
|
||||||
if(!translate_event(obj, event, hasp_event_id)) return;
|
if(!translate_event(obj, event, hasp_event_id)) return;
|
||||||
|
|
||||||
char data[512];
|
char data[1024];
|
||||||
char eventname[8];
|
{
|
||||||
Parser::get_event_name(hasp_event_id, eventname, sizeof(eventname));
|
char eventname[8];
|
||||||
|
Parser::get_event_name(hasp_event_id, eventname, sizeof(eventname));
|
||||||
|
|
||||||
|
if(const char* tag = my_obj_get_tag(obj))
|
||||||
|
snprintf_P(data, sizeof(data), PSTR("{\"event\":\"%s\",\"text\":\"%s\",\"tag\":%s}"), eventname,
|
||||||
|
lv_textarea_get_text(obj), tag);
|
||||||
|
else
|
||||||
|
snprintf_P(data, sizeof(data), PSTR("{\"event\":\"%s\",\"text\":\"%s\"}"), eventname,
|
||||||
|
lv_textarea_get_text(obj));
|
||||||
|
}
|
||||||
|
|
||||||
snprintf_P(data, sizeof(data), PSTR("{\"event\":\"%s\",\"text\":\"%s\"}"), eventname,
|
|
||||||
lv_textarea_get_text(obj));
|
|
||||||
event_send_object_data(obj, data);
|
event_send_object_data(obj, data);
|
||||||
} else if(event == LV_EVENT_FOCUSED) {
|
} else if(event == LV_EVENT_FOCUSED) {
|
||||||
lv_textarea_set_cursor_hidden(obj, false);
|
lv_textarea_set_cursor_hidden(obj, false);
|
||||||
@ -476,10 +481,15 @@ void generic_event_handler(lv_obj_t* obj, lv_event_t event)
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
char data[512];
|
char data[512];
|
||||||
char eventname[8];
|
{
|
||||||
Parser::get_event_name(last_value_sent, eventname, sizeof(eventname));
|
char eventname[8];
|
||||||
const char* tag = my_obj_get_tag(obj);
|
Parser::get_event_name(last_value_sent, eventname, sizeof(eventname));
|
||||||
snprintf_P(data, sizeof(data), PSTR("{\"event\":\"%s\",\"tag\":%s}"), eventname, tag);
|
|
||||||
|
if(const char* tag = my_obj_get_tag(obj))
|
||||||
|
snprintf_P(data, sizeof(data), PSTR("{\"event\":\"%s\",\"tag\":%s}"), eventname, tag);
|
||||||
|
else
|
||||||
|
snprintf_P(data, sizeof(data), PSTR("{\"event\":\"%s\"}"), eventname);
|
||||||
|
}
|
||||||
event_send_object_data(obj, data);
|
event_send_object_data(obj, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -733,17 +743,23 @@ void cpicker_event_handler(lv_obj_t* obj, lv_event_t event)
|
|||||||
if(hasp_event_id == HASP_EVENT_CHANGED && last_color_sent.full == color.full) return; // same value as before
|
if(hasp_event_id == HASP_EVENT_CHANGED && last_color_sent.full == color.full) return; // same value as before
|
||||||
|
|
||||||
char data[512];
|
char data[512];
|
||||||
char eventname[8];
|
{
|
||||||
Parser::get_event_name(hasp_event_id, eventname, sizeof(eventname));
|
char eventname[8];
|
||||||
const char* tag = my_obj_get_tag(obj);
|
Parser::get_event_name(hasp_event_id, eventname, sizeof(eventname));
|
||||||
|
|
||||||
lv_color32_t c32;
|
lv_color32_t c32;
|
||||||
c32.full = lv_color_to32(color);
|
c32.full = lv_color_to32(color);
|
||||||
last_color_sent = color;
|
last_color_sent = color;
|
||||||
|
|
||||||
snprintf_P(data, sizeof(data),
|
if(const char* tag = my_obj_get_tag(obj))
|
||||||
PSTR("{\"event\":\"%s\",\"color\":\"#%02x%02x%02x\",\"r\":%d,\"g\":%d,\"b\":%d,\"tag\":%s}"), eventname,
|
snprintf_P(data, sizeof(data),
|
||||||
c32.ch.red, c32.ch.green, c32.ch.blue, c32.ch.red, c32.ch.green, c32.ch.blue, tag);
|
PSTR("{\"event\":\"%s\",\"color\":\"#%02x%02x%02x\",\"r\":%d,\"g\":%d,\"b\":%d,\"tag\":%s}"),
|
||||||
|
eventname, c32.ch.red, c32.ch.green, c32.ch.blue, c32.ch.red, c32.ch.green, c32.ch.blue, tag);
|
||||||
|
else
|
||||||
|
snprintf_P(data, sizeof(data),
|
||||||
|
PSTR("{\"event\":\"%s\",\"color\":\"#%02x%02x%02x\",\"r\":%d,\"g\":%d,\"b\":%d}"), eventname,
|
||||||
|
c32.ch.red, c32.ch.green, c32.ch.blue, c32.ch.red, c32.ch.green, c32.ch.blue);
|
||||||
|
}
|
||||||
event_send_object_data(obj, data);
|
event_send_object_data(obj, data);
|
||||||
|
|
||||||
// event_update_group(obj->user_data.groupid, obj, val, min, max);
|
// event_update_group(obj->user_data.groupid, obj, val, min, max);
|
||||||
@ -770,13 +786,21 @@ void calendar_event_handler(lv_obj_t* obj, lv_event_t event)
|
|||||||
if(hasp_event_id == HASP_EVENT_CHANGED && last_value_sent == val) return; // same value as before
|
if(hasp_event_id == HASP_EVENT_CHANGED && last_value_sent == val) return; // same value as before
|
||||||
|
|
||||||
char data[512];
|
char data[512];
|
||||||
char eventname[8];
|
{
|
||||||
Parser::get_event_name(hasp_event_id, eventname, sizeof(eventname));
|
char eventname[8];
|
||||||
|
Parser::get_event_name(hasp_event_id, eventname, sizeof(eventname));
|
||||||
|
|
||||||
last_value_sent = val;
|
last_value_sent = val;
|
||||||
|
|
||||||
snprintf_P(data, sizeof(data), PSTR("{\"event\":\"%s\",\"val\":\"%d\",\"text\":\"%04d-%02d-%02dT00:00:00Z\"}"),
|
if(const char* tag = my_obj_get_tag(obj))
|
||||||
eventname, date->day, date->year, date->month, date->day);
|
snprintf_P(data, sizeof(data),
|
||||||
|
PSTR("{\"event\":\"%s\",\"val\":\"%d\",\"text\":\"%04d-%02d-%02dT00:00:00Z\",\"tag\":%s}"),
|
||||||
|
eventname, date->day, date->year, date->month, date->day, tag);
|
||||||
|
else
|
||||||
|
snprintf_P(data, sizeof(data),
|
||||||
|
PSTR("{\"event\":\"%s\",\"val\":\"%d\",\"text\":\"%04d-%02d-%02dT00:00:00Z\"}"), eventname,
|
||||||
|
date->day, date->year, date->month, date->day);
|
||||||
|
}
|
||||||
event_send_object_data(obj, data);
|
event_send_object_data(obj, data);
|
||||||
|
|
||||||
// event_update_group(obj->user_data.groupid, obj, val, min, max);
|
// event_update_group(obj->user_data.groupid, obj, val, min, max);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user