From b6aff6a41a8f1c6e441b34ba417aa5c6841c1bf5 Mon Sep 17 00:00:00 2001 From: Adrian Scillato Date: Sat, 22 Jan 2022 21:22:23 -0300 Subject: [PATCH] Added %color% variable to rules --- tasmota/xdrv_10_rules.ino | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/tasmota/xdrv_10_rules.ino b/tasmota/xdrv_10_rules.ino index a2d238146..cad3281b6 100644 --- a/tasmota/xdrv_10_rules.ino +++ b/tasmota/xdrv_10_rules.ino @@ -471,6 +471,12 @@ bool RulesRuleMatch(uint8_t rule_set, String &event, String &rule, bool stop_all rule_param = String(SunMinutes(1)); } #endif // USE_TIMERS and USE_SUNRISE +#if defined(USE_LIGHT) + char scolor[LIGHT_COLOR_SIZE]; + if (rule_param.startsWith(F("%COLOR%"))) { + rule_param = LightGetColor(scolor); + } +#endif // #ifdef USE_ZIGBEE // if (rule_param.startsWith(F("%ZBDEVICE%"))) { // snprintf_P(stemp, sizeof(stemp), PSTR("0x%04X"), Z_GetLastDevice()); @@ -772,6 +778,10 @@ bool RuleSetProcess(uint8_t rule_set, String &event_saved) RulesVarReplace(commands, F("%SUNRISE%"), String(SunMinutes(0))); RulesVarReplace(commands, F("%SUNSET%"), String(SunMinutes(1))); #endif // USE_TIMERS and USE_SUNRISE +#if defined(USE_LIGHT) + char scolor[LIGHT_COLOR_SIZE]; + RulesVarReplace(commands, F("%COLOR%"), LightGetColor(scolor)); +#endif #ifdef USE_ZIGBEE snprintf_P(stemp, sizeof(stemp), PSTR("0x%04X"), Z_GetLastDevice()); RulesVarReplace(commands, F("%ZBDEVICE%"), String(stemp));