From 1400a15076a6fd54274fe6d8db51b7fc66798708 Mon Sep 17 00:00:00 2001 From: Staars Date: Fri, 29 Mar 2019 09:42:50 +0100 Subject: [PATCH] always check for vars_events and mems_events --- sonoff/xdrv_10_rules.ino | 34 ++++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/sonoff/xdrv_10_rules.ino b/sonoff/xdrv_10_rules.ino index 2a93ee86f..d8c0cd5c0 100644 --- a/sonoff/xdrv_10_rules.ino +++ b/sonoff/xdrv_10_rules.ino @@ -486,23 +486,25 @@ void RulesEvery50ms(void) event_data[0] ='\0'; } } - else if (vars_event) { - for (uint8_t i = 0; i < MAX_RULE_VARS-1; i++) { - if (bitRead(vars_event, i)) { - bitClear(vars_event, i); - snprintf_P(json_event, sizeof(json_event), PSTR("{\"Var%d\":{\"State\":%s}}"), i+1, vars[i]); - RulesProcessEvent(json_event); - break; + else if (vars_event || mems_event){ + if (vars_event) { + for (uint8_t i = 0; i < MAX_RULE_VARS-1; i++) { + if (bitRead(vars_event, i)) { + bitClear(vars_event, i); + snprintf_P(json_event, sizeof(json_event), PSTR("{\"Var%d\":{\"State\":%s}}"), i+1, vars[i]); + RulesProcessEvent(json_event); + break; + } } } - } - else if (mems_event) { - for (uint8_t i = 0; i < MAX_RULE_MEMS-1; i++) { - if (bitRead(mems_event, i)) { - bitClear(mems_event, i); - snprintf_P(json_event, sizeof(json_event), PSTR("{\"Mem%d\":{\"State\":%s}}"), i+1, Settings.mems[i]); - RulesProcessEvent(json_event); - break; + if (mems_event) { + for (uint8_t i = 0; i < MAX_RULE_MEMS-1; i++) { + if (bitRead(mems_event, i)) { + bitClear(mems_event, i); + snprintf_P(json_event, sizeof(json_event), PSTR("{\"Mem%d\":{\"State\":%s}}"), i+1, Settings.mems[i]); + RulesProcessEvent(json_event); + break; + } } } } @@ -1275,4 +1277,4 @@ bool Xdrv10(uint8_t function) return result; } -#endif // USE_RULES +#endif // USE_RULES \ No newline at end of file