Merge pull request #14572 from ascillato/patch-1

Add %color% variable to rules
This commit is contained in:
Theo Arends 2022-01-23 16:46:58 +01:00 committed by GitHub
commit 6b4dca6bc7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 10 additions and 0 deletions

View File

@ -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));