From 052fc9551c0dfff1a83d49050e655ccf63c44a1b Mon Sep 17 00:00:00 2001 From: Edward Firmo <94725493+edwardtfn@users.noreply.github.com> Date: Tue, 19 Dec 2023 09:59:42 +0100 Subject: [PATCH] Change `back_page_id` Reduces a bit the memory in TFT Simplify the process Open space for more pages to be used Not visible by users --- advanced/esphome/nspanel_esphome_core.yaml | 22 +++-- advanced/hmi/nspanel_eu.HMI | Bin 15033379 -> 15033379 bytes advanced/hmi/nspanel_eu_code/Program.s.txt | 7 +- advanced/hmi/nspanel_eu_code/alarm.txt | 80 +++++++---------- advanced/hmi/nspanel_eu_code/climate.txt | 44 +++------- advanced/hmi/nspanel_eu_code/cover.txt | 28 +----- advanced/hmi/nspanel_eu_code/fan.txt | 40 ++------- advanced/hmi/nspanel_eu_code/home.txt | 1 + advanced/hmi/nspanel_eu_code/light.txt | 28 +----- advanced/hmi/nspanel_eu_code/media_player.txt | 70 +++++---------- advanced/hmi/nspanel_us.HMI | Bin 14820802 -> 14820802 bytes advanced/hmi/nspanel_us_code/Program.s.txt | 7 +- advanced/hmi/nspanel_us_code/alarm.txt | 82 +++++++----------- advanced/hmi/nspanel_us_code/climate.txt | 44 +++------- advanced/hmi/nspanel_us_code/cover.txt | 28 +----- advanced/hmi/nspanel_us_code/fan.txt | 40 ++------- advanced/hmi/nspanel_us_code/home.txt | 1 + advanced/hmi/nspanel_us_code/light.txt | 28 +----- advanced/hmi/nspanel_us_code/media_player.txt | 70 +++++---------- 19 files changed, 180 insertions(+), 440 deletions(-) diff --git a/advanced/esphome/nspanel_esphome_core.yaml b/advanced/esphome/nspanel_esphome_core.yaml index b2ea056..2b765cd 100644 --- a/advanced/esphome/nspanel_esphome_core.yaml +++ b/advanced/esphome/nspanel_esphome_core.yaml @@ -428,6 +428,17 @@ api: back_page: string then: - lambda: |- + static const char *const TAG = "service.open_entity_settings_page"; + + auto pageIndex = [](const std::string& page_name) -> uint8_t { + for (uint8_t i = 0; i < id(page_names).size(); ++i) { + if (id(page_names)[i] == page_name) { + return i; // Return the index if found + } + } + return 0u; // Return 0 (home page) if not found + }; + detailed_entity->publish_state(entity); if (page == "alarm_control_panel") page = "alarm"; std::string cmd_page = std::string("page ") + page.c_str(); @@ -436,7 +447,7 @@ api: page_label = page_label.replace(page_label.find("\\r"), 2, " "); } disp1->set_component_text_printf("page_label", "%s", page_label.c_str()); - disp1->set_component_text_printf("back_page", "%s", back_page.c_str()); + disp1->send_command_printf("back_page_id=%i", pageIndex(back_page.c_str())); if (page == "climate") { if (entity == "embedded_climate") addon_climate_set_climate_friendly_name->execute(page_label.c_str()); @@ -1445,7 +1456,7 @@ text_sensor: std::string component = doc["component"]; if (not (component == "currentpage" and (page == "screensaver" or page == "home"))) timer_reset_all->execute(page.c_str()); std::string value = doc["value"]; - std::string entity = detailed_entity->state.c_str(); //doc["entity"]; + std::string entity = detailed_entity->state.c_str(); // doc["entity"]; ESP_LOGE(TAG, "page: %s", page.c_str()); ESP_LOGE(TAG, "component: %s", component.c_str()); ESP_LOGE(TAG, "value: %s", value.c_str()); @@ -1483,11 +1494,11 @@ text_sensor: std::string component = doc["component"]; std::string key = doc["key"]; std::string value = doc["value"]; - std::string entity = detailed_entity->state.c_str(); //doc["entity"]; + std::string entity = detailed_entity->state.c_str(); // doc["entity"]; int embedded = doc["embedded"]; std::string service = ""; - // send event to Home Assistant #DEBUG + // Send event to Home Assistant auto ha_event = new esphome::api::CustomAPIDevice(); if (event == "short_click" or event == "long_click") { ha_button->execute(page.c_str(), component.c_str(), event.c_str()); @@ -1495,7 +1506,7 @@ text_sensor: detailed_entity->publish_state((id(is_embedded_thermostat)) ? "embedded_climate" : ""); disp1->set_component_value("climate.embedded", id(is_embedded_thermostat) ? 1 : 0); disp1->goto_page("climate"); - } else if (page == "light" or page == "climate" or page == "notification") { // Generic event + } else if (page == "light" or page == "climate" or page == "notification") { // Generic event ha_event->fire_homeassistant_event("esphome.nspanel_ha_blueprint", { {"type", "generic"}, {"page", page}, @@ -2219,6 +2230,7 @@ script: page != "confirm" && page != "keyb_num") { detailed_entity->publish_state(""); + disp1->send_command_printf("back_page_id=0"); } if (page != "media_player") { id(last_volume_level) = 0; diff --git a/advanced/hmi/nspanel_eu.HMI b/advanced/hmi/nspanel_eu.HMI index da3562bd738ecdf60cd92bcf663d84381101e597..a24cb6b791e78d9be3a96e83c8e29a43a47cbd92 100644 GIT binary patch delta 6119 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 Q@DI=cT&z5{G2rHZ0K|0chX4Qo delta 5548 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 U@EQ0V+yq~M7O^k(%b+{|21QSN%K!iX diff --git a/advanced/hmi/nspanel_us_code/Program.s.txt b/advanced/hmi/nspanel_us_code/Program.s.txt index ecccb99..c99d3cc 100644 --- a/advanced/hmi/nspanel_us_code/Program.s.txt +++ b/advanced/hmi/nspanel_us_code/Program.s.txt @@ -4,6 +4,7 @@ Program.s int r=0,g=0,b=0 int h=0,s=0,v=0 int p=0,q=0,t=0,f=0 + int back_page_id=0 int dimdelta=0 int api=0 // 0 = disconnected from HA, 1 = connected to HA int is_entities=0,is_qrcode=0,is_notification=0 @@ -17,10 +18,4 @@ Program.s { lcd_dev fffb 0002 0000 0020// Fix touch offset for EU Version } - printh 92 - prints "currentpage",0 - printh 00 - prints "",0 - printh 00 - printh FF FF FF page 8//Power on start page boot diff --git a/advanced/hmi/nspanel_us_code/alarm.txt b/advanced/hmi/nspanel_us_code/alarm.txt index b0597d3..6005911 100644 --- a/advanced/hmi/nspanel_us_code/alarm.txt +++ b/advanced/hmi/nspanel_us_code/alarm.txt @@ -32,30 +32,23 @@ Variable (string) lastclick Text : Max. Text Size: 255 -Variable (string) back_page - Attributes - ID : 4 - Scope : local - Text : home - Max. Text Size: 15 - Variable (string) code_format Attributes - ID : 29 + ID : 28 Scope : local Text : Max. Text Size: 15 Variable (string) entity Attributes - ID : 30 + ID : 29 Scope : local Text : Max. Text Size: 100 Variable (string) code_arm_req Attributes - ID : 31 + ID : 30 Scope : local Text : Max. Text Size: 1 @@ -82,7 +75,7 @@ Text icon_state Text bt_home_text Attributes - ID : 6 + ID : 5 Scope : local Dragging : 0 Send Component ID : disabled @@ -92,7 +85,7 @@ Text bt_home_text Text bt_away_text Attributes - ID : 8 + ID : 7 Scope : local Dragging : 0 Send Component ID : disabled @@ -102,7 +95,7 @@ Text bt_away_text Text bt_night_text Attributes - ID : 10 + ID : 9 Scope : local Dragging : 0 Send Component ID : disabled @@ -112,7 +105,7 @@ Text bt_night_text Text bt_vacat_text Attributes - ID : 12 + ID : 11 Scope : local Dragging : 0 Send Component ID : disabled @@ -122,7 +115,7 @@ Text bt_vacat_text Text bt_bypass_text Attributes - ID : 14 + ID : 13 Scope : local Dragging : 0 Send Component ID : disabled @@ -132,7 +125,7 @@ Text bt_bypass_text Text bt_disarm_text Attributes - ID : 16 + ID : 15 Scope : local Dragging : 0 Send Component ID : disabled @@ -142,7 +135,7 @@ Text bt_disarm_text Text bt_home_icon Attributes - ID : 17 + ID : 16 Scope : local Dragging : 0 Send Component ID : disabled @@ -152,7 +145,7 @@ Text bt_home_icon Text bt_away_icon Attributes - ID : 18 + ID : 17 Scope : local Dragging : 0 Send Component ID : disabled @@ -162,7 +155,7 @@ Text bt_away_icon Text bt_night_icon Attributes - ID : 19 + ID : 18 Scope : local Dragging : 0 Send Component ID : disabled @@ -172,7 +165,7 @@ Text bt_night_icon Text bt_vacat_icon Attributes - ID : 20 + ID : 19 Scope : local Dragging : 0 Send Component ID : disabled @@ -182,7 +175,7 @@ Text bt_vacat_icon Text bt_bypass_icon Attributes - ID : 21 + ID : 20 Scope : local Dragging : 0 Send Component ID : disabled @@ -192,7 +185,7 @@ Text bt_bypass_icon Text bt_disarm_icon Attributes - ID : 22 + ID : 21 Scope : local Dragging : 0 Send Component ID : disabled @@ -202,49 +195,49 @@ Text bt_disarm_icon Picture bt_home_pic Attributes - ID : 5 + ID : 4 Scope : local Dragging : 0 Send Component ID: disabled Picture bt_away_pic Attributes - ID : 7 + ID : 6 Scope : local Dragging : 0 Send Component ID: disabled Picture bt_night_pic Attributes - ID : 9 + ID : 8 Scope : local Dragging : 0 Send Component ID: disabled Picture bt_vacat_pic Attributes - ID : 11 + ID : 10 Scope : local Dragging : 0 Send Component ID: disabled Picture bt_bypass_pic Attributes - ID : 13 + ID : 12 Scope : local Dragging : 0 Send Component ID: disabled Picture bt_disarm_pic Attributes - ID : 15 + ID : 14 Scope : local Dragging : 0 Send Component ID: disabled Button button_back Attributes - ID : 32 + ID : 31 Scope : local Dragging : 0 Send Component ID: on press and release @@ -254,26 +247,11 @@ Button button_back Events Touch Press Event - if(back_page.txt=="buttonpage01") - { - page buttonpage01 - }else if(back_page.txt=="buttonpage02") - { - page buttonpage02 - }else if(back_page.txt=="buttonpage03") - { - page buttonpage03 - }else if(back_page.txt=="buttonpage04") - { - page buttonpage04 - }else - { - page home - } + page back_page_id Hotspot bt_home Attributes - ID : 23 + ID : 22 Scope : local Dragging : 0 Send Component ID: on press and release @@ -297,7 +275,7 @@ Hotspot bt_home Hotspot bt_away Attributes - ID : 24 + ID : 23 Scope : local Dragging : 0 Send Component ID: on press and release @@ -321,7 +299,7 @@ Hotspot bt_away Hotspot bt_night Attributes - ID : 25 + ID : 24 Scope : local Dragging : 0 Send Component ID: on press and release @@ -345,7 +323,7 @@ Hotspot bt_night Hotspot bt_vacat Attributes - ID : 26 + ID : 25 Scope : local Dragging : 0 Send Component ID: on press and release @@ -369,7 +347,7 @@ Hotspot bt_vacat Hotspot bt_bypass Attributes - ID : 27 + ID : 26 Scope : local Dragging : 0 Send Component ID: on press and release @@ -393,7 +371,7 @@ Hotspot bt_bypass Hotspot bt_disarm Attributes - ID : 28 + ID : 27 Scope : local Dragging : 0 Send Component ID: on press and release @@ -417,7 +395,7 @@ Hotspot bt_disarm Timer wakeup_timer Attributes - ID : 33 + ID : 32 Scope : local Period (ms): 100 Enabled : yes diff --git a/advanced/hmi/nspanel_us_code/climate.txt b/advanced/hmi/nspanel_us_code/climate.txt index 84c5d2d..01c8d4a 100644 --- a/advanced/hmi/nspanel_us_code/climate.txt +++ b/advanced/hmi/nspanel_us_code/climate.txt @@ -93,42 +93,35 @@ Variable (int32) va0 Scope: local Value: 0 -Variable (string) back_page - Attributes - ID : 36 - Scope : local - Text : home - Max. Text Size: 15 - Variable (int32) embedded Attributes - ID : 37 + ID : 36 Scope: global Value: 0 Variable (string) va2 Attributes - ID : 38 + ID : 37 Scope : local Text : Max. Text Size: 10 Variable (string) click_comp Attributes - ID : 40 + ID : 39 Scope : local Text : Max. Text Size: 8 Variable (int32) single_slider Attributes - ID : 44 + ID : 43 Scope: local Value: 1 Variable (int32) active_slider Attributes - ID : 45 + ID : 44 Scope: local Value: 1 @@ -467,7 +460,7 @@ Text target_high Text target_low Attributes - ID : 46 + ID : 45 Scope : local Dragging : 0 Send Component ID : on press and release @@ -502,7 +495,7 @@ Slider slider_high Slider slider_low Attributes - ID : 43 + ID : 42 Scope : local Dragging : 0 Send Component ID: on press and release @@ -527,7 +520,7 @@ Slider slider_low Button button_back Attributes - ID : 39 + ID : 38 Scope : local Dragging : 0 Send Component ID: on press and release @@ -537,22 +530,7 @@ Button button_back Events Touch Press Event - if(back_page.txt=="buttonpage01") - { - page buttonpage01 - }else if(back_page.txt=="buttonpage02") - { - page buttonpage02 - }else if(back_page.txt=="buttonpage03") - { - page buttonpage03 - }else if(back_page.txt=="buttonpage04") - { - page buttonpage04 - }else - { - page home - } + page back_page_id Hotspot decrease_temp Attributes @@ -636,7 +614,7 @@ Timer timer01 Timer click_timer Attributes - ID : 41 + ID : 40 Scope : local Period (ms): 800 Enabled : no @@ -654,7 +632,7 @@ Timer click_timer Timer wakeup_timer Attributes - ID : 42 + ID : 41 Scope : local Period (ms): 100 Enabled : yes diff --git a/advanced/hmi/nspanel_us_code/cover.txt b/advanced/hmi/nspanel_us_code/cover.txt index f146380..7e727ed 100644 --- a/advanced/hmi/nspanel_us_code/cover.txt +++ b/advanced/hmi/nspanel_us_code/cover.txt @@ -34,13 +34,6 @@ Variable (string) coversetting Text : Max. Text Size: 255 -Variable (string) back_page - Attributes - ID : 12 - Scope : local - Text : home - Max. Text Size: 15 - Text battery_value Attributes ID : 1 @@ -172,7 +165,7 @@ Button cover_stop Button button_back Attributes - ID : 13 + ID : 12 Scope : local Dragging : 0 Send Component ID: on press and release @@ -182,26 +175,11 @@ Button button_back Events Touch Press Event - if(back_page.txt=="buttonpage01") - { - page buttonpage01 - }else if(back_page.txt=="buttonpage02") - { - page buttonpage02 - }else if(back_page.txt=="buttonpage03") - { - page buttonpage03 - }else if(back_page.txt=="buttonpage04") - { - page buttonpage04 - }else - { - page home - } + page back_page_id Timer wakeup_timer Attributes - ID : 14 + ID : 13 Scope : local Period (ms): 100 Enabled : yes diff --git a/advanced/hmi/nspanel_us_code/fan.txt b/advanced/hmi/nspanel_us_code/fan.txt index 22b6eb3..b149f12 100644 --- a/advanced/hmi/nspanel_us_code/fan.txt +++ b/advanced/hmi/nspanel_us_code/fan.txt @@ -27,16 +27,9 @@ Variable (string) fansetting Text : Max. Text Size: 255 -Variable (string) back_page - Attributes - ID : 8 - Scope : local - Text : home - Max. Text Size: 15 - Variable (string) va0 Attributes - ID : 9 + ID : 8 Scope : local Text : Max. Text Size: 10 @@ -106,7 +99,7 @@ Slider fanslider Button button_up Attributes - ID : 10 + ID : 9 Scope : local Dragging : 0 Send Component ID: on press and release @@ -145,7 +138,7 @@ Button button_up Button button_on Attributes - ID : 11 + ID : 10 Scope : local Dragging : 0 Send Component ID: on press and release @@ -187,7 +180,7 @@ Button button_on Button button_down Attributes - ID : 12 + ID : 11 Scope : local Dragging : 0 Send Component ID: on press and release @@ -226,7 +219,7 @@ Button button_down Button button_off Attributes - ID : 13 + ID : 12 Scope : local Dragging : 0 Send Component ID: on press and release @@ -269,7 +262,7 @@ Button button_off Button button_back Attributes - ID : 15 + ID : 14 Scope : local Dragging : 0 Send Component ID: on press and release @@ -279,22 +272,7 @@ Button button_back Events Touch Press Event - if(back_page.txt=="buttonpage01") - { - page buttonpage01 - }else if(back_page.txt=="buttonpage02") - { - page buttonpage02 - }else if(back_page.txt=="buttonpage03") - { - page buttonpage03 - }else if(back_page.txt=="buttonpage04") - { - page buttonpage04 - }else - { - page home - } + page back_page_id Timer swipestore Attributes @@ -310,7 +288,7 @@ Timer swipestore Timer timer0 Attributes - ID : 14 + ID : 13 Scope : local Period (ms): 1000 Enabled : no @@ -331,7 +309,7 @@ Timer timer0 Timer wakeup_timer Attributes - ID : 16 + ID : 15 Scope : local Period (ms): 100 Enabled : yes diff --git a/advanced/hmi/nspanel_us_code/home.txt b/advanced/hmi/nspanel_us_code/home.txt index bc64bd9..e564168 100644 --- a/advanced/hmi/nspanel_us_code/home.txt +++ b/advanced/hmi/nspanel_us_code/home.txt @@ -13,6 +13,7 @@ Page home Events Preinitialize Event sendme + back_page_id=0 vis bt_notific,is_notification vis bt_qrcode,is_qrcode vis bt_entities,is_entities diff --git a/advanced/hmi/nspanel_us_code/light.txt b/advanced/hmi/nspanel_us_code/light.txt index 4ab9773..c3fa61a 100644 --- a/advanced/hmi/nspanel_us_code/light.txt +++ b/advanced/hmi/nspanel_us_code/light.txt @@ -78,13 +78,6 @@ Variable (string) lightsetting Text : Max. Text Size: 255 -Variable (string) back_page - Attributes - ID : 31 - Scope : local - Text : home - Max. Text Size: 15 - Number ring Attributes ID : 4 @@ -417,7 +410,7 @@ Slider tempslider Button button_back Attributes - ID : 32 + ID : 31 Scope : local Dragging : 0 Send Component ID: on press and release @@ -427,22 +420,7 @@ Button button_back Events Touch Press Event - if(back_page.txt=="buttonpage01") - { - page buttonpage01 - }else if(back_page.txt=="buttonpage02") - { - page buttonpage02 - }else if(back_page.txt=="buttonpage03") - { - page buttonpage03 - }else if(back_page.txt=="buttonpage04") - { - page buttonpage04 - }else - { - page home - } + page back_page_id Hotspot hsv2rgb Attributes @@ -622,7 +600,7 @@ Timer swipestore Timer wakeup_timer Attributes - ID : 33 + ID : 32 Scope : local Period (ms): 100 Enabled : yes diff --git a/advanced/hmi/nspanel_us_code/media_player.txt b/advanced/hmi/nspanel_us_code/media_player.txt index b3248ab..13e650a 100644 --- a/advanced/hmi/nspanel_us_code/media_player.txt +++ b/advanced/hmi/nspanel_us_code/media_player.txt @@ -20,42 +20,35 @@ Page media_player sendme } -Variable (string) back_page - Attributes - ID : 3 - Scope : local - Text : home - Max. Text Size: 15 - Variable (string) lastclick Attributes - ID : 19 + ID : 18 Scope : local Text : Max. Text Size: 255 Variable (string) va0 Attributes - ID : 22 + ID : 21 Scope : local Text : Max. Text Size: 10 Variable (int32) is_muted Attributes - ID : 23 + ID : 22 Scope: local Value: 0 Variable (int32) prg_current Attributes - ID : 25 + ID : 24 Scope: local Value: 0 Variable (int32) prg_total Attributes - ID : 26 + ID : 25 Scope: local Value: 0 @@ -81,7 +74,7 @@ Text icon_state Text vol_text Attributes - ID : 6 + ID : 5 Scope : local Dragging : 0 Send Component ID : on press and release @@ -91,7 +84,7 @@ Text vol_text Text bt_vol_down Attributes - ID : 7 + ID : 6 Scope : local Dragging : 0 Send Component ID : on press and release @@ -117,7 +110,7 @@ Text bt_vol_down Text bt_vol_up Attributes - ID : 8 + ID : 7 Scope : local Dragging : 0 Send Component ID : on press and release @@ -143,7 +136,7 @@ Text bt_vol_up Text bt_mute Attributes - ID : 9 + ID : 8 Scope : local Dragging : 0 Send Component ID : on press and release @@ -170,7 +163,7 @@ Text bt_mute Text time_current Attributes - ID : 11 + ID : 10 Scope : local Dragging : 0 Send Component ID : on press and release @@ -180,7 +173,7 @@ Text time_current Text time_total Attributes - ID : 12 + ID : 11 Scope : local Dragging : 0 Send Component ID : on press and release @@ -190,7 +183,7 @@ Text time_total Text track Attributes - ID : 13 + ID : 12 Scope : local Dragging : 0 Send Component ID : on press and release @@ -200,7 +193,7 @@ Text track Text artist Attributes - ID : 14 + ID : 13 Scope : local Dragging : 0 Send Component ID : on press and release @@ -210,7 +203,7 @@ Text artist Text bt_prev Attributes - ID : 15 + ID : 14 Scope : local Dragging : 0 Send Component ID : on press and release @@ -229,7 +222,7 @@ Text bt_prev Text bt_play_pause Attributes - ID : 16 + ID : 15 Scope : local Dragging : 0 Send Component ID : on press and release @@ -248,7 +241,7 @@ Text bt_play_pause Text bt_next Attributes - ID : 17 + ID : 16 Scope : local Dragging : 0 Send Component ID : on press and release @@ -267,7 +260,7 @@ Text bt_next Text bt_on_off Attributes - ID : 18 + ID : 17 Scope : local Dragging : 0 Send Component ID : on press and release @@ -286,7 +279,7 @@ Text bt_on_off Progress Bar time_progress Attributes - ID : 10 + ID : 9 Scope : local Dragging : 0 Send Component ID: on press and release @@ -294,7 +287,7 @@ Progress Bar time_progress Slider vol_slider Attributes - ID : 5 + ID : 4 Scope : local Dragging : 0 Send Component ID: on press and release @@ -310,7 +303,7 @@ Slider vol_slider Button button_back Attributes - ID : 4 + ID : 3 Scope : local Dragging : 0 Send Component ID: on release @@ -320,26 +313,11 @@ Button button_back Events Touch Press Event - if(back_page.txt=="buttonpage01") - { - page buttonpage01 - }else if(back_page.txt=="buttonpage02") - { - page buttonpage02 - }else if(back_page.txt=="buttonpage03") - { - page buttonpage03 - }else if(back_page.txt=="buttonpage04") - { - page buttonpage04 - }else - { - page home - } + page back_page_id Timer wakeup_timer Attributes - ID : 20 + ID : 19 Scope : local Period (ms): 100 Enabled : yes @@ -362,7 +340,7 @@ Timer wakeup_timer Timer timer0 Attributes - ID : 21 + ID : 20 Scope : local Period (ms): 1000 Enabled : no @@ -382,7 +360,7 @@ Timer timer0 Timer prg_timer Attributes - ID : 24 + ID : 23 Scope : local Period (ms): 1000 Enabled : no