Skip to content

Commit fd65a4c

Browse files
committed
fix "obey power state" property for button
1 parent 44de9df commit fd65a4c

5 files changed

Lines changed: 11 additions & 11 deletions

File tree

data/benc.json

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
{
22
"btn_events":[
3-
{"enabled":true,"pwr":false,"btn_event":2,"lamp_event":13},
4-
{"enabled":true,"pwr":true,"btn_event":2,"lamp_event":13},
5-
{"enabled":true,"pwr":true,"btn_event":5,"lamp_event":24,"arg":1},
6-
{"enabled":true,"pwr":true,"btn_event":6,"lamp_event":31,"clicks":2},
7-
{"enabled":true,"pwr":true,"btn_event":6,"lamp_event":32,"clicks":3},
8-
{"enabled":true,"pwr":true,"btn_event":6,"lamp_event":33,"clicks":4},
9-
{"enabled":false,"pwr":false,"btn_event":3,"lamp_event":30,"arg":1}
3+
{"enabled":true,"btn_event":2,"lamp_event":13},
4+
{"enabled":true,"onpwr":true,"btn_event":2,"lamp_event":13},
5+
{"enabled":true,"onpwr":true,"btn_event":5,"lamp_event":24,"arg":1},
6+
{"enabled":true,"onpwr":true,"btn_event":6,"lamp_event":31,"clicks":2},
7+
{"enabled":true,"onpwr":true,"btn_event":6,"lamp_event":32,"clicks":3},
8+
{"enabled":true,"onpwr":true,"btn_event":6,"lamp_event":33,"clicks":4},
9+
{"enabled":false,"btn_event":3,"lamp_event":30,"arg":1}
1010
],
1111
"btn_cfg":{"enabled":false,"gpio":-1,"logicL":0,"debounce":true}
1212
}

resources/html/js/ui.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2536,7 +2536,7 @@
25362536
"type":"checkbox"
25372537
},
25382538
{
2539-
"id":"lamppwr",
2539+
"id":"onpwr",
25402540
"html":"input",
25412541
"label":"Trigger only when device is On",
25422542
"type":"checkbox"

src/bencoder.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,7 @@ void ButtonEventHandler::load(JsonVariantConst cfg){
226226

227227
for(JsonVariantConst v : array) {
228228
//LOG(printf, "Add cfg Event:%u\n", v[T_btn_event].as<int>() );
229-
_event_map.emplace_back(ButtonAction(static_cast<ESPButton::event_t>(v[T_btn_event].as<int>()), static_cast<evt::lamp_t>(v[T_lamp_event].as<int>()), v[T_clicks], v[T_arg], v[T_enabled], v[T_pwr] ));
229+
_event_map.emplace_back(ButtonAction(static_cast<ESPButton::event_t>(v[T_btn_event].as<int>()), static_cast<evt::lamp_t>(v[T_lamp_event].as<int>()), v[T_clicks], v[T_arg], v[T_enabled], v[T_onpwr] ));
230230
}
231231

232232
}

src/char_const.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -270,7 +270,7 @@ static constexpr const char* T_profile = "profile";
270270
static constexpr const char* T_profiles = "profiles";
271271
static constexpr const char* T_publish = "publish";
272272
static constexpr const char* T_publish_rate = "publish_rate";
273-
static constexpr const char* T_pwr = "pwr";
273+
static constexpr const char* T_onpwr = "onpwr"; // used for control button/encoder to respect device power on/off state
274274
static constexpr const char* T_queue = "queue";
275275
static constexpr const char* T_queues = "queues";
276276
static constexpr const char* T_repeat = "repeat";

src/interface.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -313,7 +313,7 @@ void page_button_setup(Interface *interf, JsonVariantConst data, const char* act
313313
JsonObject obj = value.as<JsonObject>();
314314
interf->json_section_begin(String("sec") + cnt, P_EMPTY, false, false, true );
315315
interf->checkbox(P_EMPTY, obj[T_enabled], "Active");
316-
interf->checkbox(P_EMPTY, obj[T_pwr], "Pwr On/Off");
316+
interf->checkbox(P_EMPTY, obj[T_onpwr], "in PwrOn mode only");
317317

318318
String s;
319319
switch (obj[T_btn_event].as<int>()){

0 commit comments

Comments
 (0)