Create Alarm page

This commit is contained in:
Edward Firmo
2023-08-15 20:48:46 +02:00
parent 326746552a
commit a4b201a2fa
11 changed files with 250 additions and 289 deletions

View File

@@ -511,6 +511,7 @@ api:
supported_features: int
code_format: string
entity: string
mui_alarm: string[] #std::vector<std::string> #std::map
then:
- if:
condition:
@@ -529,6 +530,80 @@ api:
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", "entity: %s", entity.c_str());
ESP_LOGD("service.alarm_settings", "mui_alarm[1]: %s", mui_alarm[1].c_str());
}
- lambda: |- # Alarm page - Header
if (page_icon == "" or page_icon.empty())
id(disp1).set_component_text_printf("icon_state", "%s", "\uE497"); //mdi:shield
else
id(disp1).set_component_text_printf("icon_state", "%s", page_icon.c_str());
id(disp1).set_component_text_printf("page_label", "%s", page_title.c_str());
- lambda: |- # Alarm page - Button's icons
id(disp1).set_component_text_printf("bt_home_icon", "\uE689"); //mdi:shield-home
id(disp1).set_component_text_printf("bt_away_icon", "\uE99C"); //mdi:shield-lock
id(disp1).set_component_text_printf("bt_night_icon", "\uF827"); //mdi:shield-moon
id(disp1).set_component_text_printf("bt_vacat_icon", "\uE6BA"); //mdi:shield-airplane
id(disp1).set_component_text_printf("bt_bypass_icon", "\uF19F"); //mdi:shield-edit
id(disp1).set_component_text_printf("bt_disarm_icon", "\uE99D"); //mdi:shield-off
# Supported features
# ARM_HOME = 1
# ARM_AWAY = 2
# ARM_NIGHT = 4
# TRIGGER = 8
# ARM_CUSTOM_BYPASS = 16
# ARM_VACATION = 32
- lambda: |- # Alarm - Buttons
if (supported_features & 1) // Alarm - Button - Home
{
id(disp1).send_command_printf("bt_home_pic.pic=%i", (state=="armed_home") ? 133 : 132);
id(disp1).set_component_text_printf("bt_home_text", mui_alarm[0].c_str());
id(disp1).set_component_background_color("bt_home_text", (state=="armed_home") ? 19818 : 52857);
id(disp1).set_component_background_color("bt_home_icon", (state=="armed_home") ? 19818 : 52857);
//id(disp1).set_component_font_color(btnicon.c_str(), btn_icon_font);
id(disp1).show_component("bt_home");
}
if (supported_features & 2) // Alarm - Button - Away
{
id(disp1).send_command_printf("bt_away_pic.pic=%i", (state=="armed_away") ? 133 : 132);
id(disp1).set_component_text_printf("bt_away_text", mui_alarm[1].c_str());
id(disp1).set_component_background_color("bt_away_text", (state=="armed_away") ? 19818 : 52857);
id(disp1).set_component_background_color("bt_away_icon", (state=="armed_away") ? 19818 : 52857);
id(disp1).show_component("bt_away");
}
if (supported_features & 4) // Alarm - Button - Night
{
id(disp1).send_command_printf("bt_night_pic.pic=%i", (state=="armed_night") ? 133 : 132);
id(disp1).set_component_text_printf("bt_night_text", mui_alarm[2].c_str());
id(disp1).set_component_background_color("bt_night_text", (state=="armed_night") ? 19818 : 52857);
id(disp1).set_component_background_color("bt_night_icon", (state=="armed_night") ? 19818 : 52857);
id(disp1).show_component("bt_night");
}
if (supported_features & 32) // Alarm - Button - Vacation
{
id(disp1).send_command_printf("bt_vacat_pic.pic=%i", (state=="armed_vacation") ? 133 : 132);
id(disp1).set_component_text_printf("bt_vacat_text", mui_alarm[3].c_str());
id(disp1).set_component_background_color("bt_vacat_text", (state=="armed_vacation") ? 19818 : 52857);
id(disp1).set_component_background_color("bt_vacat_icon", (state=="armed_vacation") ? 19818 : 52857);
id(disp1).show_component("bt_vacat");
}
if (supported_features & 16) // Alarm - Button - Custom bypass
{
id(disp1).send_command_printf("bt_bypass_pic.pic=%i", (state=="armed_bypass") ? 133 : 132);
id(disp1).set_component_text_printf("bt_bypass_text", mui_alarm[4].c_str());
id(disp1).set_component_background_color("bt_bypass_text", (state=="armed_bypass") ? 19818 : 52857);
id(disp1).set_component_background_color("bt_bypass_icon", (state=="armed_bypass") ? 19818 : 52857);
id(disp1).show_component("bt_bypass");
}
if ( true ) // Alarm - Button - Disarm
{
id(disp1).send_command_printf("bt_disarm_pic.pic=%i", (state=="disarmed") ? 133 : 132);
id(disp1).set_component_text_printf("bt_disarm_text", mui_alarm[5].c_str());
id(disp1).set_component_background_color("bt_disarm_text", (state=="disarmed") ? 19818 : 52857);
id(disp1).set_component_background_color("bt_disarm_icon", (state=="disarmed") ? 19818 : 52857);
}
##### START - GLOBALS CONFIGURATION #####