diff --git a/code/espurna/button.ino b/code/espurna/button.ino index 999a7a43..36c1e7e9 100644 --- a/code/espurna/button.ino +++ b/code/espurna/button.ino @@ -92,6 +92,16 @@ void buttonEvent(unsigned int id, unsigned char event) { relayToggle(_buttons[id].relayID - 1); } } + if (action == BUTTON_MODE_ON) { + if (_buttons[id].relayID > 0) { + relayStatus(_buttons[id].relayID - 1, true); + } + } + if (action == BUTTON_MODE_OFF) { + if (_buttons[id].relayID > 0) { + relayStatus(_buttons[id].relayID - 1, false); + } + } if (action == BUTTON_MODE_AP) createAP(); if (action == BUTTON_MODE_RESET) { customReset(CUSTOM_RESET_HARDWARE); diff --git a/code/espurna/config/general.h b/code/espurna/config/general.h index 2a1c9a95..d1ad0705 100644 --- a/code/espurna/config/general.h +++ b/code/espurna/config/general.h @@ -100,6 +100,7 @@ PROGMEM const char* const custom_reset_string[] = { #define BUTTON_EVENT_NONE 0 #define BUTTON_EVENT_PRESSED 1 +#define BUTTON_EVENT_RELEASED 2 #define BUTTON_EVENT_CLICK 2 #define BUTTON_EVENT_DBLCLICK 3 #define BUTTON_EVENT_LNGCLICK 4 @@ -107,10 +108,12 @@ PROGMEM const char* const custom_reset_string[] = { #define BUTTON_MODE_NONE 0 #define BUTTON_MODE_TOGGLE 1 -#define BUTTON_MODE_AP 2 -#define BUTTON_MODE_RESET 3 -#define BUTTON_MODE_PULSE 4 -#define BUTTON_MODE_FACTORY 5 +#define BUTTON_MODE_ON 2 +#define BUTTON_MODE_OFF 3 +#define BUTTON_MODE_AP 4 +#define BUTTON_MODE_RESET 5 +#define BUTTON_MODE_PULSE 6 +#define BUTTON_MODE_FACTORY 7 //-------------------------------------------------------------------------------- // RELAY