From bcc9432214961fdd8dd4f8ab6daa44f6516bd6cb Mon Sep 17 00:00:00 2001 From: Adrian Scillato <35405447+ascillato@users.noreply.github.com> Date: Mon, 1 Oct 2018 13:13:47 -0300 Subject: [PATCH] Added Dimmer Trigger for Rules For example rule on Dimmer#state<30 do ... endon rule on Dimmer#boot<10 do ... endon --- sonoff/xdrv_10_rules.ino | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/sonoff/xdrv_10_rules.ino b/sonoff/xdrv_10_rules.ino index b13dfc771..54fcb3f08 100644 --- a/sonoff/xdrv_10_rules.ino +++ b/sonoff/xdrv_10_rules.ino @@ -83,6 +83,7 @@ unsigned long rules_timer[MAX_RULE_TIMERS] = { 0 }; uint8_t rules_quota = 0; long rules_new_power = -1; long rules_old_power = -1; +long rules_old_dimm = -1; uint32_t rules_triggers[MAX_RULE_SETS] = { 0 }; uint16_t rules_last_minute = 60; @@ -398,6 +399,16 @@ void RulesEvery50ms() } rules_old_power = rules_new_power; } + else if (rules_old_dimm != Settings.light_dimmer) { + if (rules_old_dimm != -1) { + snprintf_P(json_event, sizeof(json_event), PSTR("{\"Dimmer\":{\"State\":%d}}"), Settings.light_dimmer); + } else { + // Boot time DIMMER VALUE + snprintf_P(json_event, sizeof(json_event), PSTR("{\"Dimmer\":{\"Boot\":%d}}"), Settings.light_dimmer); + } + RulesProcessEvent(json_event); + rules_old_dimm = Settings.light_dimmer; + } else if (event_data[0]) { char *event; char *parameter;