From 76a95205572739a5d7dccbaa044ab19e0e95e3aa Mon Sep 17 00:00:00 2001 From: Edward Firmo <94725493+edwardtfn@users.noreply.github.com> Date: Fri, 15 Sep 2023 09:46:27 +0200 Subject: [PATCH] Fix empty page climate --- nspanel_blueprint.yaml | 16 ++--- nspanel_esphome.yaml | 130 ++++++++++++++++++---------------- nspanel_eu.HMI | Bin 20387572 -> 20387572 bytes nspanel_eu.tft | Bin 7455424 -> 7454492 bytes nspanel_eu_code/home.txt | 61 +++++----------- nspanel_us.HMI | Bin 20870573 -> 20870573 bytes nspanel_us.tft | Bin 7529224 -> 7528308 bytes nspanel_us_code/home.txt | 60 +++++----------- nspanel_us_land.HMI | Bin 20387572 -> 20387572 bytes nspanel_us_land.tft | Bin 7455424 -> 7454492 bytes nspanel_us_land_code/home.txt | 61 +++++----------- 11 files changed, 126 insertions(+), 202 deletions(-) diff --git a/nspanel_blueprint.yaml b/nspanel_blueprint.yaml index 1da3e0e..0a6d622 100644 --- a/nspanel_blueprint.yaml +++ b/nspanel_blueprint.yaml @@ -6626,12 +6626,12 @@ action: conditions: '{{ nspanel_event.page == page.home }}' sequence: &refresh_page_home ##### Set entity variable ##### - - &set_entity_variable - service: '{{ nextion.command.text_printf }}' - data: - component: home.climate_entity - message: '{{ "embedded_climate" if climate == thermostat_embedded else climate }}' - continue_on_error: true + #- &set_entity_variable + # service: '{{ nextion.command.text_printf }}' + # data: + # component: home.climate_entity + # message: '{{ "embedded_climate" if climate == thermostat_embedded else climate }}' + # continue_on_error: true ##### Weather Icon Home Page ##### - *delay-default @@ -7820,7 +7820,7 @@ action: - &variables-climate_entity variables: climate_entity_temp: '{{ nspanel_event.entity if nspanel_event is defined and nspanel_event.entity is defined else trigger.entity_id }}' - climate_entity: '{{ thermostat_embedded if climate_entity_temp == "embedded_climate" else climate_entity_temp }}' + climate_entity: '{{ climate_entity_temp if climate_entity_temp is string and climate_entity_temp | length > 0 and climate_entity_temp != "embedded_climate" else climate }}' settings_entity_domain: > {{ climate_entity.split(".")[0] @@ -7831,7 +7831,6 @@ action: else "unknown" }} hvac_modes: '{{ state_attr(climate_entity, "hvac_modes") if settings_entity_domain == "climate" }}' - - condition: '{{ settings_entity_domain == "climate" }}' - service: '{{ nextion.command.text_printf }}' data: @@ -7917,6 +7916,7 @@ action: temp_offset: '{{ temp_offset }}' climate_icon: '{{ climate_icon }}' embedded_climate: '{{ embedded_climate }}' + entity: '{{ climate_entity }}' continue_on_error: true ##### Climate buttons ##### diff --git a/nspanel_esphome.yaml b/nspanel_esphome.yaml index f1d7f60..2d4a730 100644 --- a/nspanel_esphome.yaml +++ b/nspanel_esphome.yaml @@ -253,13 +253,13 @@ api: back_page: string then: - lambda: |- - ESP_LOGV("api.service.open_entity_settings_page", "Starting"); - ESP_LOGV("api.service.open_entity_settings_page", "page: %s", page.c_str()); - ESP_LOGV("api.service.open_entity_settings_page", "page_label: %s", page_label.c_str()); - ESP_LOGV("api.service.open_entity_settings_page", "page_icon: %s", page_icon.c_str()); - ESP_LOGV("api.service.open_entity_settings_page", "page_icon_color: %i, %i, %i", page_icon_color[0], page_icon_color[1], page_icon_color[2] ); - ESP_LOGV("api.service.open_entity_settings_page", "entity: %s", entity.c_str()); - ESP_LOGV("api.service.open_entity_settings_page", "back_page: %s", back_page.c_str()); + ESP_LOGD("api.service.open_entity_settings_page", "Starting"); + ESP_LOGD("api.service.open_entity_settings_page", "page: %s", page.c_str()); + ESP_LOGD("api.service.open_entity_settings_page", "page_label: %s", page_label.c_str()); + ESP_LOGD("api.service.open_entity_settings_page", "page_icon: %s", page_icon.c_str()); + ESP_LOGD("api.service.open_entity_settings_page", "page_icon_color: %i, %i, %i", page_icon_color[0], page_icon_color[1], page_icon_color[2] ); + ESP_LOGD("api.service.open_entity_settings_page", "entity: %s", entity.c_str()); + ESP_LOGD("api.service.open_entity_settings_page", "back_page: %s", back_page.c_str()); id(entity_id) = entity; std::string cmd_page = std::string("page ") + page.c_str(); id(disp1).send_command_printf(cmd_page.c_str()); @@ -276,7 +276,7 @@ api: id(disp1).set_component_text_printf("icon_state", "%s", page_icon.c_str()); id(set_component_color).execute("icon_state", page_icon_color, {}); } - ESP_LOGV("api.service.open_entity_settings_page", "Finished"); + ESP_LOGD("api.service.open_entity_settings_page", "Finished"); ##### Service to play a rtttl tones ##### # Example tones : https://codebender.cc/sketch:109888#RTTTL%20Songs.ino @@ -309,15 +309,17 @@ api: temp_offset: int climate_icon: string embedded_climate: bool + entity: string then: - lambda: |- - ESP_LOGV("api.service.set_climate", "climateslider.maxval=%i", total_steps); - ESP_LOGV("api.service.set_climate", "temp_offset=%f", temp_offset); - ESP_LOGV("api.service.set_climate", "temp_step=%f", temp_step); - ESP_LOGV("api.service.set_climate", "current_temp=%f", current_temp); - ESP_LOGV("api.service.set_climate", "target_temp=%f", target_temp); - ESP_LOGV("api.service.set_climate", "target_icon=%s", climate_icon.c_str()); - ESP_LOGV("api.service.set_climate", "embedded=%i", (embedded_climate) ? 1 : 0); + ESP_LOGD("api.service.set_climate", "climateslider.maxval=%i", total_steps); + ESP_LOGD("api.service.set_climate", "temp_offset=%f", temp_offset); + ESP_LOGD("api.service.set_climate", "temp_step=%f", temp_step); + ESP_LOGD("api.service.set_climate", "current_temp=%f", current_temp); + ESP_LOGD("api.service.set_climate", "target_temp=%f", target_temp); + ESP_LOGD("api.service.set_climate", "target_icon=%s", climate_icon.c_str()); + ESP_LOGD("api.service.set_climate", "embedded=%i", (embedded_climate) ? 1 : 0); + if (id(current_page).state == "climate") id(entity_id) = entity; - script.execute: id: set_climate @@ -881,7 +883,7 @@ globals: - id: embedded_indoor_temp type: bool restore_value: true - initial_value: 'true' + initial_value: 'false' - id: temp_unit_fahrenheit type: bool restore_value: true @@ -1076,15 +1078,6 @@ sensor: - lambda: |- id(timer_reset_all)->execute(); - ##### Send current brightness info to Home Assistant - - name: ${device_name} Brightness - id: brightness - platform: nextion - variable_name: dim - #update_interval: 1s - internal: false - precision: 0 - ##### Uptime Sensors ##### - name: ${device_name} Uptime seconds id: uptime_sec @@ -1177,11 +1170,19 @@ sensor: text_sensor: ##### Current page name ##### - - name: ${device_name} current page - platform: template + - name: ${device_name} Current page id: current_page + platform: template + #platform: nextion + #nextion_id: disp1 + #component_name: currentpage internal: false disabled_by_default: false + #filters: + # - lambda: |- + # x = x.c_str(); + # x.shrink_to_fit(); + # return x; on_value: then: - lambda: |- @@ -1229,17 +1230,17 @@ text_sensor: on_value: then: - lambda: |- - ESP_LOGV("text_sensor.nspanelevent", "Starting"); + ESP_LOGD("text_sensor.nspanelevent", "Starting"); DynamicJsonDocument doc(1024); deserializeJson(doc, x); std::string page = doc["page"]; std::string component = doc["component"]; std::string value = doc["value"]; std::string entity = id(entity_id); //doc["entity"]; - ESP_LOGV("text_sensor.nspanelevent", "page: %s", page.c_str()); - ESP_LOGV("text_sensor.nspanelevent", "component: %s", component.c_str()); - ESP_LOGV("text_sensor.nspanelevent", "value: %s", value.c_str()); - ESP_LOGV("text_sensor.nspanelevent", "entity: %s", entity.c_str()); + ESP_LOGD("text_sensor.nspanelevent", "page: %s", page.c_str()); + ESP_LOGD("text_sensor.nspanelevent", "component: %s", component.c_str()); + ESP_LOGD("text_sensor.nspanelevent", "value: %s", value.c_str()); + ESP_LOGD("text_sensor.nspanelevent", "entity: %s", entity.c_str()); auto ha_event = new esphome::api::CustomAPIDevice(); ha_event->fire_homeassistant_event("esphome.nspanel_ha_blueprint", { @@ -1251,8 +1252,8 @@ text_sensor: }); if (component=="currentpage") { - ESP_LOGV("text_sensor.nspanelevent", "New page: %s", page.c_str()); - ESP_LOGV("text_sensor.nspanelevent", "Trigger HA event"); + ESP_LOGD("text_sensor.nspanelevent", "New page: %s", page.c_str()); + ESP_LOGD("text_sensor.nspanelevent", "Trigger HA event"); id(timer_page)->execute(); ha_event->fire_homeassistant_event("esphome.nspanel_ha_blueprint", { @@ -1260,7 +1261,7 @@ text_sensor: {"page", page}, {"entity", entity} }); - ESP_LOGV("text_sensor.nspanelevent", "Call add-ons scripts for new page"); + ESP_LOGD("text_sensor.nspanelevent", "Call add-ons scripts for new page"); id(addon_climate_set_climate).execute(page=="climate" and entity=="embedded_climate"); ESP_LOGV("text_sensor.nspanelevent", "Publish current_page sensor"); id(current_page).publish_state(page); @@ -1360,45 +1361,50 @@ text_sensor: on_value: then: - lambda: |- - ESP_LOGV("text_sensor.localevent", "Starting"); + ESP_LOGD("text_sensor.localevent", "Starting"); DynamicJsonDocument doc(1024); deserializeJson(doc, x); std::string page = doc["page"]; - ESP_LOGV("text_sensor.localevent", "page: %s", page.c_str()); + ESP_LOGD("text_sensor.localevent", "page: %s", page.c_str()); std::string event = doc["event"]; - ESP_LOGV("text_sensor.localevent", "event: %s", event.c_str()); + ESP_LOGD("text_sensor.localevent", "event: %s", event.c_str()); std::string component = doc["component"]; - ESP_LOGV("text_sensor.localevent", "component: %s", component.c_str()); + ESP_LOGD("text_sensor.localevent", "component: %s", component.c_str()); std::string key = doc["key"]; - ESP_LOGV("text_sensor.localevent", "key: %s", key.c_str()); + ESP_LOGD("text_sensor.localevent", "key: %s", key.c_str()); std::string value = doc["value"]; - ESP_LOGV("text_sensor.localevent", "value: %s", value.c_str()); + ESP_LOGD("text_sensor.localevent", "value: %s", value.c_str()); std::string entity = id(entity_id); //doc["entity"]; - ESP_LOGV("text_sensor.localevent", "entity: %s", entity.c_str()); + ESP_LOGD("text_sensor.localevent", "entity: %s", entity.c_str()); int embedded = doc["embedded"]; - ESP_LOGV("text_sensor.localevent", "embedded: %i", embedded); + ESP_LOGD("text_sensor.localevent", "embedded: %i", embedded); std::string service = ""; // send event to Home Assistant auto ha_event = new esphome::api::CustomAPIDevice(); if (event=="pagechanged") { - ESP_LOGV("text_sensor.localevent", "New page: %s", page.c_str()); + ESP_LOGD("text_sensor.localevent", "New page: %s", page.c_str()); id(timer_page)->execute(); - ESP_LOGV("text_sensor.localevent", "Trigger HA event"); + ESP_LOGD("text_sensor.localevent", "Trigger HA event"); ha_event->fire_homeassistant_event("esphome.nspanel_ha_blueprint", { {"type", "page_changed"}, {"page", page}, {"entity", entity} }); - ESP_LOGV("text_sensor.localevent", "Call add-ons scripts for new page"); + ESP_LOGD("text_sensor.localevent", "Call add-ons scripts for new page"); id(addon_climate_set_climate).execute(page=="climate" and id(entity_id) == "embedded_climate"); - ESP_LOGV("text_sensor.localevent", "Publish current_page sensor"); + ESP_LOGD("text_sensor.localevent", "Publish current_page sensor"); id(current_page).publish_state(page); - ESP_LOGV("text_sensor.localevent", "Construct new page"); + ESP_LOGD("text_sensor.localevent", "Construct new page"); } else if (event=="short_click" or event=="long_click") id(ha_button)->execute(page.c_str(), component.c_str(), event.c_str()); + else if (event=="click") + { + if (page == "home" and component == "climate") id(entity_id) = (id(is_embedded_thermostat)) ? "embedded_climate" : ""; + id(disp1).goto_page("climate"); + } else if (page == "light" or page == "climate" or page == "notification")// Generic event { ha_event->fire_homeassistant_event("esphome.nspanel_ha_blueprint", @@ -1822,7 +1828,7 @@ script: ESP_LOGD("script.timer_page", "Fallback to page Home"); id(disp1).goto_page("home"); } - - id: timer_dim # Handle the brightness dimming after a timeout DEBUG + - id: timer_dim # Handle the brightness dimming after a timeout mode: restart then: - lambda: |- @@ -1848,7 +1854,7 @@ script: id(disp1).send_command_printf("dim=%i", id(display_dim_brightness_global)); id(is_dim_brightness) = true; } - - id: timer_sleep # Handle the sleep (go to screensaver page) after a timeout DEBUG + - id: timer_sleep # Handle the sleep (go to screensaver page) after a timeout mode: restart then: - lambda: |- @@ -1886,13 +1892,13 @@ script: state: 'climate' then: - lambda: |- - ESP_LOGV("script.set_climate", "climateslider.maxval=%i", total_steps); - ESP_LOGV("script.set_climate", "temp_offset=%i", temp_offset); - ESP_LOGV("script.set_climate", "temp_step=%i", temp_step); - ESP_LOGV("script.set_climate", "current_temp=%f", current_temp); - ESP_LOGV("script.set_climate", "target_temp=%f", target_temp); - ESP_LOGV("script.set_climate", "target_icon=%s", climate_icon.c_str()); - ESP_LOGV("script.set_climate", "embedded=%i", (embedded_climate) ? 1 : 0); + ESP_LOGD("script.set_climate", "climateslider.maxval=%i", total_steps); + ESP_LOGD("script.set_climate", "temp_offset=%i", temp_offset); + ESP_LOGD("script.set_climate", "temp_step=%i", temp_step); + ESP_LOGD("script.set_climate", "current_temp=%f", current_temp); + ESP_LOGD("script.set_climate", "target_temp=%f", target_temp); + ESP_LOGD("script.set_climate", "target_icon=%s", climate_icon.c_str()); + ESP_LOGD("script.set_climate", "embedded=%i", (embedded_climate) ? 1 : 0); id(addon_climate_set_climate).execute(embedded_climate); id(disp1).send_command_printf("climateslider.maxval=%i", total_steps); id(disp1).set_component_value("temp_offset", temp_offset); @@ -1903,7 +1909,7 @@ script: if (target_temp > -999) { float slider_val = round(((10*target_temp) - temp_offset) / temp_step); - ESP_LOGV("script.set_climate", "climateslider=%f", slider_val); + ESP_LOGD("script.set_climate", "climateslider=%f", slider_val); id(disp1).set_component_value("climateslider", slider_val); id(disp1).set_component_text_printf("target_temp", "%.1f°", target_temp); id(disp1).set_component_text_printf("target_icon", "%s", climate_icon.c_str()); @@ -1922,7 +1928,7 @@ script: id(disp1).hide_component("increase_temp"); } id(disp1).set_component_value("embedded", (embedded_climate) ? 1 : 0); - - lambda: ESP_LOGV("script.set_climate", "Finished"); + - lambda: ESP_LOGD("script.set_climate", "Finished"); - id: refresh_datetime mode: restart @@ -2358,7 +2364,11 @@ script: - id: check_versions mode: restart then: - - delay: 60s + - wait_until: + condition: + - lambda: !lambda 'return (id(version_tft) == "${version}");' + - lambda: !lambda 'return (id(version_blueprint) == "${version}");' + timeout: 60s - lambda: |- ESP_LOGD("script.check_versions", "ESPHome version: ${version}"); ESP_LOGD("script.check_versions", "TFT version: %s", id(version_tft).c_str()); diff --git a/nspanel_eu.HMI b/nspanel_eu.HMI index 8dbae306faf2cd3673b305b2399e00d2533f06d3..f72d3ccba1be1864f6ca6d60c72b85fa0b18b70a 100644 GIT binary patch delta 2990 zcmeIy`BzkB9LMqRWf%~Y9L)h_5k|9`?UdL?QApUaP1JA8PQ<=y@%_z+?$_BwCz_76rV(0N!8( zA2re9n_72^ezE;$9i|wkDMkS=Fn~80!ACX4_iV70KS(8 zasuDS_wyi5h<#9ZoALl1{ z0zb*AJdr2yWS+uP`6+&y)A$*FmZ$M_p20IYooDfEp2HbDm*??woXJ_7&GUHyFXSA~ ztz49HHDFubt{Qo{^u`4gD^jm6>YN*cE99bg(*+gaOO$75nm70pHB*}At<8xtwDsVY zL<_WeU2AEr?dgpfUPf zFz)7_Try1{%F@2$@`*$_+Uz@(s8pNF(}(*={AMFp(bw1Jc#$Sx6%L1Z|jw{SR5j1_Y}7f z5m#0>H%ywACL)p?6VwEYJz})*(;&P2EOhm3? zv+$&(FH$c@xP!fgr>-VU#7!w_S`?e&vl`U674}j^%-rW{FOt(sd#O9E?)Hk(MLl;Z z)2N7zCZ}1g?&!)>ocQMoi@^a5OJFHDVHqrk6|fRk!D?6od9W6qhkPi2b?^cdf`Av{ zC3qRu!v@$0o8T4L46ni#cuh6uZ;d}5aAL3}>Gti}ctzj7J#XB$|LOJ&66KSZ`iiI| z$GHE|ttn>3x@W7K0+*I3&gh0BCzHEh48o)sD}pl4St6| z;7|AquEO7N4gP`aE2A5fJdp8{G01q!7-f89d}W%+_{sRoG?!^16CiVkOiLM)Oe>kz zGIz?fkul2z$^^*-%e0jVkqMOvlL?n;CletPDPxgoFB2sbEpwMl2N|nOj7&$FPBNWk gy2x~uiIwRl6DQMMriV;VnRuDIm8$55UP`UyUky;2CjbBd delta 2034 zcmd7RiC2_m6vy#9J4?xAxrHcGAXAA{nnx`|a4O77L!=NeEOJRhLqTK>=PHyE5X5Mf zVFiLoQUi{eLJP7;sA+|j61J#i78z6~YQKBt&G%n$&iQ=j&ig#?oafBaTXW2_7iuds z+V(={R?VV89?2VtsONyeIc`Xbu_VRhW1ALNLFZ$MG|e$sDKi}P+OL(@@(ABmLA%XZ zYr&d#lFqrreO;dWTPw&q8fy(98fUj(gie3B-ZZMjY#C~|S@LWa4QN3JdN6>|WwV&( zbze=V+0$h=Tl36T4QN3JdN6>|Wwx4nIX@JxP`BY74_@obLf$M|uM;W-@3aU9Qc`3X+odHf_l z#fkhh&*ufakQebYyqK5pvz)|Bc^N;)$-JCba0;jLN>1ZdoX#1X$yuDuId#uRT`+iV zUpOJzQCwU(HK$PL{&`e+5qW6bbFDYg3gvo$4^gHvmk(6u;e*vZMZ<^&Xx;a2_9e+{6SXN{LHm05JVNd-Emjxe%ZN7@X#Z{uW_s2SRY^XLm{Kur59aGwthdX*ab7wjH zPd8ONmR>3_xMB|$%=K|>Iav_pYUnOFWpKruTXQxrFQBgiDq$;BK{afHcVIizz`L*m zYT-S2ADmDJ^{^9MunRtb-S8pofxXZGjqnkC44=TK&;bXEEyshDj6oZQQ|8ZF7cC$kc^c0ODvL`BsWU}B!QAq rk|2pya*O0v$!(I+l3>XgNr>cj$sLkAC1WMyBzI{V1Nz2m4q5&K{*B2k diff --git a/nspanel_eu.tft b/nspanel_eu.tft index 5203f687302cdba84c446bc8f273bbfe84faac7f..152fb9fd5e0a1808b46d233dcd8b95c668f817f1 100644 GIT binary patch delta 334496 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