mirror of
https://github.com/HASwitchPlate/openHASP.git
synced 2025-07-25 20:26:41 +00:00
Unify gpio state senders
This commit is contained in:
parent
498361654a
commit
a1b6150fa2
@ -75,21 +75,38 @@ void dispatch_state_subtopic(const char* subtopic, const char* payload)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
// Format filesystem and erase EEPROM
|
void dispatch_state_eventid(const char* topic, hasp_event_t eventid)
|
||||||
bool dispatch_factory_reset()
|
|
||||||
{
|
{
|
||||||
bool formated = true;
|
char payload[32];
|
||||||
bool erased = true;
|
char eventname[8];
|
||||||
|
|
||||||
#if HASP_USE_SPIFFS > 0 || HASP_USE_LITTLEFS > 0
|
Parser::get_event_name(eventid, eventname, sizeof(eventname));
|
||||||
formated = HASP_FS.format();
|
if(eventid == HASP_EVENT_ON || eventid == HASP_EVENT_OFF) {
|
||||||
#endif
|
snprintf_P(payload, sizeof(payload), PSTR("{\"state\":\"%s\"}"), eventname);
|
||||||
|
} else {
|
||||||
|
snprintf_P(payload, sizeof(payload), PSTR("{\"event\":\"%s\"}"), eventname);
|
||||||
|
}
|
||||||
|
dispatch_state_subtopic(topic, payload);
|
||||||
|
}
|
||||||
|
|
||||||
#if HASP_USE_EEPROM > 0
|
void dispatch_state_brightness(const char* topic, hasp_event_t eventid, int32_t val)
|
||||||
erased = false;
|
{
|
||||||
#endif
|
char payload[64];
|
||||||
|
char eventname[8];
|
||||||
|
|
||||||
return formated && erased;
|
Parser::get_event_name(eventid, eventname, sizeof(eventname));
|
||||||
|
snprintf_P(payload, sizeof(payload), PSTR("{\"state\":\"%s\",\"brightness\":%d}"), eventname, val);
|
||||||
|
dispatch_state_subtopic(topic, payload);
|
||||||
|
}
|
||||||
|
|
||||||
|
void dispatch_state_val(const char* topic, hasp_event_t eventid, int32_t val)
|
||||||
|
{
|
||||||
|
char payload[64];
|
||||||
|
char eventname[8];
|
||||||
|
|
||||||
|
Parser::get_event_name(eventid, eventname, sizeof(eventname));
|
||||||
|
snprintf_P(payload, sizeof(payload), PSTR("{\"state\":\"%s\",\"val\":%d}"), eventname, val);
|
||||||
|
dispatch_state_subtopic(topic, payload);
|
||||||
}
|
}
|
||||||
|
|
||||||
void dispatch_json_error(uint8_t tag, DeserializationError& jsonError)
|
void dispatch_json_error(uint8_t tag, DeserializationError& jsonError)
|
||||||
@ -804,11 +821,8 @@ void dispatch_backlight(const char*, const char* payload)
|
|||||||
|
|
||||||
// Return the current state
|
// Return the current state
|
||||||
char topic[10];
|
char topic[10];
|
||||||
char buffer[64];
|
|
||||||
memcpy_P(topic, PSTR("backlight"), 10);
|
memcpy_P(topic, PSTR("backlight"), 10);
|
||||||
snprintf_P(buffer, sizeof(buffer), PSTR("{\"state\":\"%s\",\"brightness\":%u}"),
|
dispatch_state_brightness(topic, (hasp_event_t)haspDevice.get_backlight_power(), haspDevice.get_backlight_level());
|
||||||
haspDevice.get_backlight_power() ? "on" : "off", haspDevice.get_backlight_level());
|
|
||||||
dispatch_state_subtopic(topic, buffer);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void dispatch_web_update(const char*, const char* espOtaUrl)
|
void dispatch_web_update(const char*, const char* espOtaUrl)
|
||||||
@ -959,6 +973,23 @@ void dispatch_current_state()
|
|||||||
dispatch_send_discovery(NULL, NULL);
|
dispatch_send_discovery(NULL, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Format filesystem and erase EEPROM
|
||||||
|
bool dispatch_factory_reset()
|
||||||
|
{
|
||||||
|
bool formated = true;
|
||||||
|
bool erased = true;
|
||||||
|
|
||||||
|
#if HASP_USE_SPIFFS > 0 || HASP_USE_LITTLEFS > 0
|
||||||
|
formated = HASP_FS.format();
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if HASP_USE_EEPROM > 0
|
||||||
|
erased = false;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
return formated && erased;
|
||||||
|
}
|
||||||
|
|
||||||
void dispatch_calibrate(const char*, const char*)
|
void dispatch_calibrate(const char*, const char*)
|
||||||
{
|
{
|
||||||
guiCalibrate();
|
guiCalibrate();
|
||||||
|
@ -74,11 +74,12 @@ void dispatch_idle(const char*, const char*);
|
|||||||
void dispatch_calibrate(const char*, const char*);
|
void dispatch_calibrate(const char*, const char*);
|
||||||
void dispatch_wakeup(const char*, const char*);
|
void dispatch_wakeup(const char*, const char*);
|
||||||
|
|
||||||
void dispatch_gpio_input_event(uint8_t pin, uint8_t group, uint8_t eventid);
|
|
||||||
|
|
||||||
void dispatch_normalized_group_values(hasp_update_value_t& value);
|
void dispatch_normalized_group_values(hasp_update_value_t& value);
|
||||||
|
|
||||||
void dispatch_state_subtopic(const char* subtopic, const char* payload);
|
void dispatch_state_subtopic(const char* subtopic, const char* payload);
|
||||||
|
void dispatch_state_eventid(const char* topic, hasp_event_t eventid);
|
||||||
|
void dispatch_state_brightness(const char* topic, hasp_event_t eventid, int32_t val);
|
||||||
|
void dispatch_state_val(const char* topic, hasp_event_t eventid, int32_t val);
|
||||||
|
|
||||||
void dispatch_config(const char* topic, const char* payload);
|
void dispatch_config(const char* topic, const char* payload);
|
||||||
|
|
||||||
|
@ -245,24 +245,6 @@ static inline void event_update_group(uint8_t group, lv_obj_t* obj, bool power,
|
|||||||
dispatch_normalized_group_values(value);
|
dispatch_normalized_group_values(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if HASP_USE_GPIO > 0
|
|
||||||
void event_gpio_input(uint8_t pin, uint8_t eventid)
|
|
||||||
{
|
|
||||||
char payload[32];
|
|
||||||
char topic[10];
|
|
||||||
char eventname[8];
|
|
||||||
|
|
||||||
snprintf_P(topic, sizeof(topic), PSTR("input%d"), pin);
|
|
||||||
Parser::get_event_name(eventid, eventname, sizeof(eventname));
|
|
||||||
if(eventid == HASP_EVENT_ON || eventid == HASP_EVENT_OFF) {
|
|
||||||
snprintf_P(payload, sizeof(payload), PSTR("{\"state\":\"%s\"}"), eventname);
|
|
||||||
} else {
|
|
||||||
snprintf_P(payload, sizeof(payload), PSTR("{\"event\":\"%s\"}"), eventname);
|
|
||||||
}
|
|
||||||
dispatch_state_subtopic(topic, payload);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static void log_event(const char* name, lv_event_t event)
|
static void log_event(const char* name, lv_event_t event)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
|
@ -26,9 +26,4 @@ void msgbox_event_handler(lv_obj_t* obj, lv_event_t event);
|
|||||||
void cpicker_event_handler(lv_obj_t* obj, lv_event_t event);
|
void cpicker_event_handler(lv_obj_t* obj, lv_event_t event);
|
||||||
void calendar_event_handler(lv_obj_t* obj, lv_event_t event);
|
void calendar_event_handler(lv_obj_t* obj, lv_event_t event);
|
||||||
|
|
||||||
#if HASP_USE_GPIO > 0
|
|
||||||
// GPIO event Handler
|
|
||||||
void event_gpio_input(uint8_t pin, uint8_t eventid);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif // HASP_EVENT_H
|
#endif // HASP_EVENT_H
|
Loading…
x
Reference in New Issue
Block a user