Support to code_arm_required
Only shows the alarm PIN keyboard if a code is required for arming (or when disarming).
This commit is contained in:
@@ -530,6 +530,7 @@ api:
|
||||
state: string
|
||||
supported_features: int
|
||||
code_format: string
|
||||
code_arm_required: bool
|
||||
entity: string
|
||||
mui_alarm: string[] #std::vector<std::string> #std::map
|
||||
then:
|
||||
@@ -549,6 +550,7 @@ api:
|
||||
ESP_LOGD("service.alarm_settings", "state: %s", state.c_str());
|
||||
ESP_LOGD("service.alarm_settings", "supported_features: %i", supported_features);
|
||||
ESP_LOGD("service.alarm_settings", "code_format: %s", code_format.c_str());
|
||||
ESP_LOGD("service.alarm_settings", "code_arm_required: %i", (code_arm_required) ? 1 : 0);
|
||||
ESP_LOGD("service.alarm_settings", "entity: %s", entity.c_str());
|
||||
}
|
||||
|
||||
@@ -558,6 +560,7 @@ api:
|
||||
id(update_alarm_icon)->execute("icon_state", state.c_str());
|
||||
id(disp1).set_component_text_printf("page_label", "%s", page_title.c_str());
|
||||
id(disp1).set_component_text_printf("code_format", "%s", code_format.c_str());
|
||||
if (code_arm_required) id(disp1).set_component_text_printf("code_arm_req", "1"); else id(disp1).set_component_text_printf("code_arm_req", "0");
|
||||
id(disp1).set_component_text_printf("entity", "%s", entity.c_str());
|
||||
|
||||
// Alarm page - Button's icons
|
||||
@@ -1033,8 +1036,9 @@ text_sensor:
|
||||
else if (domain == "alarm")
|
||||
{
|
||||
std::string code_format = doc["code_format"];
|
||||
std::string code_arm_req = doc["code_arm_req"];
|
||||
std::string title = doc["mui"];
|
||||
if (code_format=="number")
|
||||
if (code_format=="number" and (key=="disarm" or code_arm_req=="1"))
|
||||
{
|
||||
id(disp1).send_command_printf("page keyb_num");
|
||||
id(disp1).set_component_value("keyb_num.page_id", 23); //Calling from Alarm page
|
||||
|
||||
Reference in New Issue
Block a user