mirror of
https://github.com/HASwitchPlate/openHASP.git
synced 2025-07-24 11:46:34 +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
|
||||
}
|
||||
|
||||
// Format filesystem and erase EEPROM
|
||||
bool dispatch_factory_reset()
|
||||
void dispatch_state_eventid(const char* topic, hasp_event_t eventid)
|
||||
{
|
||||
bool formated = true;
|
||||
bool erased = true;
|
||||
char payload[32];
|
||||
char eventname[8];
|
||||
|
||||
#if HASP_USE_SPIFFS > 0 || HASP_USE_LITTLEFS > 0
|
||||
formated = HASP_FS.format();
|
||||
#endif
|
||||
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);
|
||||
}
|
||||
|
||||
#if HASP_USE_EEPROM > 0
|
||||
erased = false;
|
||||
#endif
|
||||
void dispatch_state_brightness(const char* topic, hasp_event_t eventid, int32_t val)
|
||||
{
|
||||
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)
|
||||
@ -804,11 +821,8 @@ void dispatch_backlight(const char*, const char* payload)
|
||||
|
||||
// Return the current state
|
||||
char topic[10];
|
||||
char buffer[64];
|
||||
memcpy_P(topic, PSTR("backlight"), 10);
|
||||
snprintf_P(buffer, sizeof(buffer), PSTR("{\"state\":\"%s\",\"brightness\":%u}"),
|
||||
haspDevice.get_backlight_power() ? "on" : "off", haspDevice.get_backlight_level());
|
||||
dispatch_state_subtopic(topic, buffer);
|
||||
dispatch_state_brightness(topic, (hasp_event_t)haspDevice.get_backlight_power(), haspDevice.get_backlight_level());
|
||||
}
|
||||
|
||||
void dispatch_web_update(const char*, const char* espOtaUrl)
|
||||
@ -959,6 +973,23 @@ void dispatch_current_state()
|
||||
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*)
|
||||
{
|
||||
guiCalibrate();
|
||||
|
@ -74,11 +74,12 @@ void dispatch_idle(const char*, const char*);
|
||||
void dispatch_calibrate(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_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);
|
||||
|
||||
|
@ -245,24 +245,6 @@ static inline void event_update_group(uint8_t group, lv_obj_t* obj, bool power,
|
||||
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)
|
||||
{
|
||||
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 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
|
Loading…
x
Reference in New Issue
Block a user