diff --git a/nspanel_blueprint.yaml b/nspanel_blueprint.yaml index b5d1257..0fd440f 100644 --- a/nspanel_blueprint.yaml +++ b/nspanel_blueprint.yaml @@ -7657,6 +7657,7 @@ action: friendly_name: '{{ state_attr(alarm_entity, "friendly_name") }}' supported_features: '{{ state_attr(alarm_entity, "supported_features") | int(0) }}' code_format: '{{ state_attr(alarm_entity, "code_format") }}' + code_arm_required: '{{ state_attr(alarm_entity, "code_arm_required") }}' - condition: '{{ alarm.supported_features > 0 }}' - service: '{{ nextion.command.alarm_settings }}' data: @@ -7664,6 +7665,7 @@ action: state: '{{ alarm.state }}' supported_features: '{{ alarm.supported_features }}' code_format: '{{ alarm.code_format if alarm.code_format else "none" }}' + code_arm_required: '{{ alarm.code_arm_required if alarm.code_arm_required else false }}' entity: '{{ alarm_entity }}' mui_alarm: '{{ dict.values(mui[language].alarm) | list }}' continue_on_error: true diff --git a/nspanel_esphome.yaml b/nspanel_esphome.yaml index b432b9d..925062a 100644 --- a/nspanel_esphome.yaml +++ b/nspanel_esphome.yaml @@ -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::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 diff --git a/nspanel_eu.HMI b/nspanel_eu.HMI index 75ea33d..5cc418f 100644 Binary files a/nspanel_eu.HMI and b/nspanel_eu.HMI differ diff --git a/nspanel_eu.tft b/nspanel_eu.tft index eef85ae..0065052 100644 Binary files a/nspanel_eu.tft and b/nspanel_eu.tft differ diff --git a/nspanel_eu_code/alarm.txt b/nspanel_eu_code/alarm.txt index 2f43ecd..cb1f7b9 100644 --- a/nspanel_eu_code/alarm.txt +++ b/nspanel_eu_code/alarm.txt @@ -81,6 +81,13 @@ Variable (string) entity Text : Max. Text Size: 100 +Variable (string) code_arm_req + Attributes + ID : 32 + Scope : local + Text : + Max. Text Size: 1 + Text page_label Attributes ID : 1 @@ -305,7 +312,7 @@ Hotspot bt_home bt_home_icon.pco=0 Touch Release Event - lastclick.txt="{\"domain\": \"alarm\", \"key\": \"home\", \"value\": \"click\", \"entity\": \""+entity.txt+"\", \"mui\": \""+bt_home_text.txt+"\", \"code_format\": \""+code_format.txt+"\"}" + lastclick.txt="{\"domain\": \"alarm\", \"key\": \"home\", \"value\": \"click\", \"entity\": \""+entity.txt+"\", \"mui\": \""+bt_home_text.txt+"\", \"code_format\": \""+code_format.txt+"\", \"code_arm_req\": \""+code_arm_req.txt+"\"}" printh 92 prints "localevent",0 printh 00 @@ -329,7 +336,7 @@ Hotspot bt_away bt_away_icon.pco=0 Touch Release Event - lastclick.txt="{\"domain\": \"alarm\", \"key\": \"away\", \"value\": \"click\", \"entity\": \""+entity.txt+"\", \"mui\": \""+bt_away_text.txt+"\", \"code_format\": \""+code_format.txt+"\"}" + lastclick.txt="{\"domain\": \"alarm\", \"key\": \"away\", \"value\": \"click\", \"entity\": \""+entity.txt+"\", \"mui\": \""+bt_away_text.txt+"\", \"code_format\": \""+code_format.txt+"\", \"code_arm_req\": \""+code_arm_req.txt+"\"}" printh 92 prints "localevent",0 printh 00 @@ -353,7 +360,7 @@ Hotspot bt_night bt_night_icon.pco=0 Touch Release Event - lastclick.txt="{\"domain\": \"alarm\", \"key\": \"night\", \"value\": \"click\", \"entity\": \""+entity.txt+"\", \"mui\": \""+bt_night_text.txt+"\", \"code_format\": \""+code_format.txt+"\"}" + lastclick.txt="{\"domain\": \"alarm\", \"key\": \"night\", \"value\": \"click\", \"entity\": \""+entity.txt+"\", \"mui\": \""+bt_night_text.txt+"\", \"code_format\": \""+code_format.txt+"\", \"code_arm_req\": \""+code_arm_req.txt+"\"}" printh 92 prints "localevent",0 printh 00 @@ -377,7 +384,7 @@ Hotspot bt_vacat bt_vacat_icon.pco=0 Touch Release Event - lastclick.txt="{\"domain\": \"alarm\", \"key\": \"vacation\", \"value\": \"click\", \"entity\": \""+entity.txt+"\", \"mui\": \""+bt_vacat_text.txt+"\", \"code_format\": \""+code_format.txt+"\"}" + lastclick.txt="{\"domain\": \"alarm\", \"key\": \"vacation\", \"value\": \"click\", \"entity\": \""+entity.txt+"\", \"mui\": \""+bt_vacat_text.txt+"\", \"code_format\": \""+code_format.txt+"\", \"code_arm_req\": \""+code_arm_req.txt+"\"}" printh 92 prints "localevent",0 printh 00 @@ -401,7 +408,7 @@ Hotspot bt_bypass bt_bypass_icon.pco=0 Touch Release Event - lastclick.txt="{\"domain\": \"alarm\", \"key\": \"bypass\", \"value\": \"click\", \"entity\": \""+entity.txt+"\", \"mui\": \""+bt_bypass_text.txt+"\", \"code_format\": \""+code_format.txt+"\"}" + lastclick.txt="{\"domain\": \"alarm\", \"key\": \"bypass\", \"value\": \"click\", \"entity\": \""+entity.txt+"\", \"mui\": \""+bt_bypass_text.txt+"\", \"code_format\": \""+code_format.txt+"\", \"code_arm_req\": \""+code_arm_req.txt+"\"}" printh 92 prints "localevent",0 printh 00 @@ -425,7 +432,7 @@ Hotspot bt_disarm bt_disarm_icon.pco=0 Touch Release Event - lastclick.txt="{\"domain\": \"alarm\", \"key\": \"disarm\", \"value\": \"click\", \"entity\": \""+entity.txt+"\", \"mui\": \""+bt_disarm_text.txt+"\", \"code_format\": \""+code_format.txt+"\"}" + lastclick.txt="{\"domain\": \"alarm\", \"key\": \"disarm\", \"value\": \"click\", \"entity\": \""+entity.txt+"\", \"mui\": \""+bt_disarm_text.txt+"\", \"code_format\": \""+code_format.txt+"\", \"code_arm_req\": \""+code_arm_req.txt+"\"}" printh 92 prints "localevent",0 printh 00 diff --git a/nspanel_us.HMI b/nspanel_us.HMI index d9fad44..9be2027 100644 Binary files a/nspanel_us.HMI and b/nspanel_us.HMI differ diff --git a/nspanel_us.tft b/nspanel_us.tft index cd75ad2..e406d13 100644 Binary files a/nspanel_us.tft and b/nspanel_us.tft differ diff --git a/nspanel_us_code/alarm.txt b/nspanel_us_code/alarm.txt index 2f43ecd..cb1f7b9 100644 --- a/nspanel_us_code/alarm.txt +++ b/nspanel_us_code/alarm.txt @@ -81,6 +81,13 @@ Variable (string) entity Text : Max. Text Size: 100 +Variable (string) code_arm_req + Attributes + ID : 32 + Scope : local + Text : + Max. Text Size: 1 + Text page_label Attributes ID : 1 @@ -305,7 +312,7 @@ Hotspot bt_home bt_home_icon.pco=0 Touch Release Event - lastclick.txt="{\"domain\": \"alarm\", \"key\": \"home\", \"value\": \"click\", \"entity\": \""+entity.txt+"\", \"mui\": \""+bt_home_text.txt+"\", \"code_format\": \""+code_format.txt+"\"}" + lastclick.txt="{\"domain\": \"alarm\", \"key\": \"home\", \"value\": \"click\", \"entity\": \""+entity.txt+"\", \"mui\": \""+bt_home_text.txt+"\", \"code_format\": \""+code_format.txt+"\", \"code_arm_req\": \""+code_arm_req.txt+"\"}" printh 92 prints "localevent",0 printh 00 @@ -329,7 +336,7 @@ Hotspot bt_away bt_away_icon.pco=0 Touch Release Event - lastclick.txt="{\"domain\": \"alarm\", \"key\": \"away\", \"value\": \"click\", \"entity\": \""+entity.txt+"\", \"mui\": \""+bt_away_text.txt+"\", \"code_format\": \""+code_format.txt+"\"}" + lastclick.txt="{\"domain\": \"alarm\", \"key\": \"away\", \"value\": \"click\", \"entity\": \""+entity.txt+"\", \"mui\": \""+bt_away_text.txt+"\", \"code_format\": \""+code_format.txt+"\", \"code_arm_req\": \""+code_arm_req.txt+"\"}" printh 92 prints "localevent",0 printh 00 @@ -353,7 +360,7 @@ Hotspot bt_night bt_night_icon.pco=0 Touch Release Event - lastclick.txt="{\"domain\": \"alarm\", \"key\": \"night\", \"value\": \"click\", \"entity\": \""+entity.txt+"\", \"mui\": \""+bt_night_text.txt+"\", \"code_format\": \""+code_format.txt+"\"}" + lastclick.txt="{\"domain\": \"alarm\", \"key\": \"night\", \"value\": \"click\", \"entity\": \""+entity.txt+"\", \"mui\": \""+bt_night_text.txt+"\", \"code_format\": \""+code_format.txt+"\", \"code_arm_req\": \""+code_arm_req.txt+"\"}" printh 92 prints "localevent",0 printh 00 @@ -377,7 +384,7 @@ Hotspot bt_vacat bt_vacat_icon.pco=0 Touch Release Event - lastclick.txt="{\"domain\": \"alarm\", \"key\": \"vacation\", \"value\": \"click\", \"entity\": \""+entity.txt+"\", \"mui\": \""+bt_vacat_text.txt+"\", \"code_format\": \""+code_format.txt+"\"}" + lastclick.txt="{\"domain\": \"alarm\", \"key\": \"vacation\", \"value\": \"click\", \"entity\": \""+entity.txt+"\", \"mui\": \""+bt_vacat_text.txt+"\", \"code_format\": \""+code_format.txt+"\", \"code_arm_req\": \""+code_arm_req.txt+"\"}" printh 92 prints "localevent",0 printh 00 @@ -401,7 +408,7 @@ Hotspot bt_bypass bt_bypass_icon.pco=0 Touch Release Event - lastclick.txt="{\"domain\": \"alarm\", \"key\": \"bypass\", \"value\": \"click\", \"entity\": \""+entity.txt+"\", \"mui\": \""+bt_bypass_text.txt+"\", \"code_format\": \""+code_format.txt+"\"}" + lastclick.txt="{\"domain\": \"alarm\", \"key\": \"bypass\", \"value\": \"click\", \"entity\": \""+entity.txt+"\", \"mui\": \""+bt_bypass_text.txt+"\", \"code_format\": \""+code_format.txt+"\", \"code_arm_req\": \""+code_arm_req.txt+"\"}" printh 92 prints "localevent",0 printh 00 @@ -425,7 +432,7 @@ Hotspot bt_disarm bt_disarm_icon.pco=0 Touch Release Event - lastclick.txt="{\"domain\": \"alarm\", \"key\": \"disarm\", \"value\": \"click\", \"entity\": \""+entity.txt+"\", \"mui\": \""+bt_disarm_text.txt+"\", \"code_format\": \""+code_format.txt+"\"}" + lastclick.txt="{\"domain\": \"alarm\", \"key\": \"disarm\", \"value\": \"click\", \"entity\": \""+entity.txt+"\", \"mui\": \""+bt_disarm_text.txt+"\", \"code_format\": \""+code_format.txt+"\", \"code_arm_req\": \""+code_arm_req.txt+"\"}" printh 92 prints "localevent",0 printh 00 diff --git a/nspanel_us_land.HMI b/nspanel_us_land.HMI index a193ab0..e8675eb 100644 Binary files a/nspanel_us_land.HMI and b/nspanel_us_land.HMI differ diff --git a/nspanel_us_land.tft b/nspanel_us_land.tft index 9663d1e..79c5a99 100644 Binary files a/nspanel_us_land.tft and b/nspanel_us_land.tft differ diff --git a/nspanel_us_land_code/alarm.txt b/nspanel_us_land_code/alarm.txt index 2f43ecd..cb1f7b9 100644 --- a/nspanel_us_land_code/alarm.txt +++ b/nspanel_us_land_code/alarm.txt @@ -81,6 +81,13 @@ Variable (string) entity Text : Max. Text Size: 100 +Variable (string) code_arm_req + Attributes + ID : 32 + Scope : local + Text : + Max. Text Size: 1 + Text page_label Attributes ID : 1 @@ -305,7 +312,7 @@ Hotspot bt_home bt_home_icon.pco=0 Touch Release Event - lastclick.txt="{\"domain\": \"alarm\", \"key\": \"home\", \"value\": \"click\", \"entity\": \""+entity.txt+"\", \"mui\": \""+bt_home_text.txt+"\", \"code_format\": \""+code_format.txt+"\"}" + lastclick.txt="{\"domain\": \"alarm\", \"key\": \"home\", \"value\": \"click\", \"entity\": \""+entity.txt+"\", \"mui\": \""+bt_home_text.txt+"\", \"code_format\": \""+code_format.txt+"\", \"code_arm_req\": \""+code_arm_req.txt+"\"}" printh 92 prints "localevent",0 printh 00 @@ -329,7 +336,7 @@ Hotspot bt_away bt_away_icon.pco=0 Touch Release Event - lastclick.txt="{\"domain\": \"alarm\", \"key\": \"away\", \"value\": \"click\", \"entity\": \""+entity.txt+"\", \"mui\": \""+bt_away_text.txt+"\", \"code_format\": \""+code_format.txt+"\"}" + lastclick.txt="{\"domain\": \"alarm\", \"key\": \"away\", \"value\": \"click\", \"entity\": \""+entity.txt+"\", \"mui\": \""+bt_away_text.txt+"\", \"code_format\": \""+code_format.txt+"\", \"code_arm_req\": \""+code_arm_req.txt+"\"}" printh 92 prints "localevent",0 printh 00 @@ -353,7 +360,7 @@ Hotspot bt_night bt_night_icon.pco=0 Touch Release Event - lastclick.txt="{\"domain\": \"alarm\", \"key\": \"night\", \"value\": \"click\", \"entity\": \""+entity.txt+"\", \"mui\": \""+bt_night_text.txt+"\", \"code_format\": \""+code_format.txt+"\"}" + lastclick.txt="{\"domain\": \"alarm\", \"key\": \"night\", \"value\": \"click\", \"entity\": \""+entity.txt+"\", \"mui\": \""+bt_night_text.txt+"\", \"code_format\": \""+code_format.txt+"\", \"code_arm_req\": \""+code_arm_req.txt+"\"}" printh 92 prints "localevent",0 printh 00 @@ -377,7 +384,7 @@ Hotspot bt_vacat bt_vacat_icon.pco=0 Touch Release Event - lastclick.txt="{\"domain\": \"alarm\", \"key\": \"vacation\", \"value\": \"click\", \"entity\": \""+entity.txt+"\", \"mui\": \""+bt_vacat_text.txt+"\", \"code_format\": \""+code_format.txt+"\"}" + lastclick.txt="{\"domain\": \"alarm\", \"key\": \"vacation\", \"value\": \"click\", \"entity\": \""+entity.txt+"\", \"mui\": \""+bt_vacat_text.txt+"\", \"code_format\": \""+code_format.txt+"\", \"code_arm_req\": \""+code_arm_req.txt+"\"}" printh 92 prints "localevent",0 printh 00 @@ -401,7 +408,7 @@ Hotspot bt_bypass bt_bypass_icon.pco=0 Touch Release Event - lastclick.txt="{\"domain\": \"alarm\", \"key\": \"bypass\", \"value\": \"click\", \"entity\": \""+entity.txt+"\", \"mui\": \""+bt_bypass_text.txt+"\", \"code_format\": \""+code_format.txt+"\"}" + lastclick.txt="{\"domain\": \"alarm\", \"key\": \"bypass\", \"value\": \"click\", \"entity\": \""+entity.txt+"\", \"mui\": \""+bt_bypass_text.txt+"\", \"code_format\": \""+code_format.txt+"\", \"code_arm_req\": \""+code_arm_req.txt+"\"}" printh 92 prints "localevent",0 printh 00 @@ -425,7 +432,7 @@ Hotspot bt_disarm bt_disarm_icon.pco=0 Touch Release Event - lastclick.txt="{\"domain\": \"alarm\", \"key\": \"disarm\", \"value\": \"click\", \"entity\": \""+entity.txt+"\", \"mui\": \""+bt_disarm_text.txt+"\", \"code_format\": \""+code_format.txt+"\"}" + lastclick.txt="{\"domain\": \"alarm\", \"key\": \"disarm\", \"value\": \"click\", \"entity\": \""+entity.txt+"\", \"mui\": \""+bt_disarm_text.txt+"\", \"code_format\": \""+code_format.txt+"\", \"code_arm_req\": \""+code_arm_req.txt+"\"}" printh 92 prints "localevent",0 printh 00