From ab067bd20c1be42f3ff92ba703eded194686e16d Mon Sep 17 00:00:00 2001 From: Edward Firmo <94725493+edwardtfn@users.noreply.github.com> Date: Fri, 2 Jun 2023 09:02:41 +0200 Subject: [PATCH] Climate page - Performance & bug fix (#854) * Climate page - Performance & bug fix Performance improvement: - Moved icon definition to TFT, so only buttons related to supported hvac modes will be updated and just icon color and link enabling is sent. Bug fixing: - Removed incorrect button name on buttons update Others: - Merged `set_climate_target_temp` into `set_climate` services - Update current temperature when target temperature is updated * Removed reference to `set_climate_target_temp` Removed unused entry from blueprint. * Removed service `set_climate_target_temp` * Update `nspanel_eu` - Set climate buttons on the TFT. - Bump version to 3.3.2 (temporarily, to align with ESPHome and Blueprint) * Update `nspanel_eu_code` --- nspanel_blueprint.yaml | 129 +++----- nspanel_esphome.yaml | 25 +- nspanel_eu.HMI | Bin 21307134 -> 21307134 bytes nspanel_eu.tft | Bin 6547520 -> 6547636 bytes nspanel_eu_code/climate.txt | 583 ------------------------------------ 5 files changed, 48 insertions(+), 689 deletions(-) diff --git a/nspanel_blueprint.yaml b/nspanel_blueprint.yaml index 409a420..a527975 100644 --- a/nspanel_blueprint.yaml +++ b/nspanel_blueprint.yaml @@ -3576,7 +3576,6 @@ variables: set_button: 'esphome.{{ nspanel_name }}_set_button' set_entity: 'esphome.{{ nspanel_name }}_set_entity' set_climate: 'esphome.{{ nspanel_name }}_set_climate' - set_climate_target_temp: 'esphome.{{ nspanel_name }}_set_climate_target_temp' icons: buttons: automation: "\uF6FC" #F6FC @@ -7460,36 +7459,44 @@ action: sequence: *display_value ##### Slider ##### - - variables: - current_temp: '{{ state_attr(climate_entity, "current_temperature") | float(-999) | round(1) }}' - target_temp: '{{ state_attr(climate_entity, "temperature") | float(-999) * 10 | round(0) | int }}' - temp_offset: '{{ (state_attr(climate_entity, "min_temp") | float(5) * 10) | round(0) | int }}' - max_temp: '{{ (state_attr(climate_entity, "max_temp") | float(25) * 10) | round(0) | int }}' - temp_step: > - {% set target_temp_step = state_attr(climate_entity, "target_temp_step") %} - {% if not is_number(target_temp_step) %} - {% set target_temp_step = state_attr(climate_entity, "target_temperature_step") %} - {% endif %} - {% set target_temp_step = target_temp_step | float(0.5) | abs %} - {{ ((10 * target_temp_step) | round(0) | int) if is_number(target_temp_step) and target_temp_step > 0 else 10 }} - total_steps: '{{ ((max_temp-temp_offset)/temp_step) | round(0) | int }}' - - *delay-default - - service: '{{ nextion.commands.set_climate }}' - data: - current_temp: '{{ current_temp }}' - target_temp: '{{ target_temp }}' - temp_step: '{{ temp_step }}' - total_steps: '{{ total_steps }}' - slider_val: '{{ ((target_temp - temp_offset) / temp_step) | round(0) | int }}' - temp_offset: '{{ temp_offset }}' - continue_on_error: true + - &climate-update_slider + if: '{{ true }}' + then: + - variables: + current_temp: '{{ state_attr(climate_entity, "current_temperature") | float(-999) | round(1) }}' + target_temp: > + {{ + state_attr(climate_entity, "temperature") | float(-999) * 10 | round(0) | int + if states(climate_entity) not in ["unavailable", "unknown", "", None, "off"] + else -999 + }} + temp_offset: '{{ (state_attr(climate_entity, "min_temp") | float(5) * 10) | round(0) | int }}' + max_temp: '{{ (state_attr(climate_entity, "max_temp") | float(25) * 10) | round(0) | int }}' + temp_step: > + {% set target_temp_step = state_attr(climate_entity, "target_temp_step") %} + {% if not is_number(target_temp_step) %} + {% set target_temp_step = state_attr(climate_entity, "target_temperature_step") %} + {% endif %} + {% set target_temp_step = target_temp_step | float(0.5) | abs %} + {{ ((10 * target_temp_step) | round(0) | int) if is_number(target_temp_step) and target_temp_step > 0 else 10 }} + total_steps: '{{ ((max_temp-temp_offset)/temp_step) | round(0) | int }}' + - *delay-default + - service: '{{ nextion.commands.set_climate }}' + data: + current_temp: '{{ current_temp }}' + target_temp: '{{ target_temp }}' + temp_step: '{{ temp_step }}' + total_steps: '{{ total_steps }}' + slider_val: '{{ ((target_temp - temp_offset) / temp_step) | round(0) | int }}' + temp_offset: '{{ temp_offset }}' + continue_on_error: true ##### Buttons ##### - - repeat: + - &climate-update_buttons + repeat: for_each: '{{ page_climate.buttons.hvac_mode }}' - sequence: &update_climate_button - - variables: - mode_supported: '{{ repeat.item.mode in hvac_modes }}' + sequence: + - condition: '{{ repeat.item.mode in hvac_modes }}' - *delay-default ### ICON Font Color ### - service: '{{ nextion.commands.font_color }}' @@ -7499,7 +7506,7 @@ action: {{ nextion.colors[repeat.item.color] if states(climate_entity) == repeat.item.mode - else (nextion.colors.disabled if mode_supported else nextion.colors.grey_dark) + else nextion.colors.disabled }} continue_on_error: true ### ICON Font ### @@ -7509,16 +7516,11 @@ action: component: 'climate.{{ repeat.item.component }}_icon' message: '{{ all_icons[repeat.item.icon] }}' continue_on_error: true - ### Show button ### + ### Enable button click ### - *delay-default - service: '{{ nextion.commands.show }}' data: - component: '{{ repeat.item.component }}_icon' - continue_on_error: true - - *delay-default - - service: '{{ nextion.commands.show }}' - data: - component: '{{ repeat.item.component if mode_supported else nextion.commands.hide }}' + component: '{{ repeat.item.component }}' continue_on_error: true else: ##### Return to Home page in case is not a climate entity ##### @@ -8161,9 +8163,7 @@ action: target: entity_id: '{{ climate_entity }}' continue_on_error: true - - repeat: - for_each: '{{ page_climate.buttons.hvac_mode }}' - sequence: *update_climate_button + - *climate-update_buttons - alias: Button page - Button press conditions: @@ -8561,55 +8561,8 @@ action: sequence: - variables: climate_entity: '{{ trigger.event.data.entity_id }}' - hvac_modes: > - {{ - trigger.event.data.new_state.attributes.hvac_modes - if trigger.event.data.new_state.attributes.hvac_modes is defined - else [] - }} - target_temp: > - {{ - trigger.event.data.new_state.attributes.temperature * 10 - if - trigger.event.data.new_state.state != "off" - and trigger.event.data.new_state.attributes.temperature is defined - and is_number(trigger.event.data.new_state.attributes.temperature) - else -999 - }} - temp_offset: > - {{ - trigger.event.data.new_state.attributes.min_temp * 10 - if - trigger.event.data.new_state.state != "off" - and trigger.event.data.new_state.attributes.min_temp is defined - and is_number(trigger.event.data.new_state.attributes.min_temp) - else 50 - }} - temp_step: > - {{ - ((trigger.event.data.new_state.attributes.target_temp_step * 10) | abs) - if - trigger.event.data.new_state.state != "off" - and trigger.event.data.new_state.attributes.target_temp_step is defined - and is_number(trigger.event.data.new_state.attributes.target_temp_step) - else - ( - ((trigger.event.data.new_state.attributes.target_temperature_step * 10) | abs) - if - trigger.event.data.new_state.state != "off" - and trigger.event.data.new_state.attributes.target_temperature_step is defined - and is_number(trigger.event.data.new_state.attributes.target_temperature_step) - else 10 - ) - }} - - service: '{{ nextion.commands.set_climate_target_temp }}' - data: - target_temp: '{{ target_temp | round(0) | int }}' - slider_val: '{{ ((target_temp - temp_offset) / temp_step) | round(0) | int }}' - continue_on_error: true - - repeat: - for_each: '{{ page_climate.buttons.hvac_mode }}' - sequence: *update_climate_button + - *climate-update_slider + - *climate-update_buttons ########## TRIGGER - HOME PAGE ########### diff --git a/nspanel_esphome.yaml b/nspanel_esphome.yaml index 07a776f..e9960ce 100644 --- a/nspanel_esphome.yaml +++ b/nspanel_esphome.yaml @@ -311,16 +311,19 @@ api: id(disp1).send_command_printf("page qrcode"); id(disp1).set_component_text_printf("qrcode.qrcode_value", "%s", qrdata.c_str()); - #### Service to set climate target_temp #### - - service: set_climate_target_temp + #### Service to set climate state #### + - service: set_climate variables: + current_temp: float target_temp: int + temp_step: int + total_steps: int slider_val: int + temp_offset: int then: - wait_until: binary_sensor.is_on: nextion_init - - &set_climate_target_temp - lambda: |- + - lambda: |- if (target_temp > -999) { id(disp1).set_component_value("climateslider", slider_val); @@ -341,20 +344,6 @@ api: id(disp1).hide_component("decrease_temp"); id(disp1).hide_component("increase_temp"); } - - #### Service to set climate state #### - - service: set_climate - variables: - current_temp: float - target_temp: int - temp_step: int - total_steps: int - slider_val: int - temp_offset: int - then: - - wait_until: - binary_sensor.is_on: nextion_init - - *set_climate_target_temp - lambda: |- id(disp1).send_command_printf("climateslider.maxval=%i", total_steps); id(disp1).set_component_value("temp_offset", temp_offset); diff --git a/nspanel_eu.HMI b/nspanel_eu.HMI index 42ec5e3b848cf78d9da64a933b0518495021b533..02556359052cdab15cd5790dc03970b85bb471cb 100644 GIT binary patch delta 2295 zcmd7SiC0tw6vy%VW*7!hYy?HrTrp5G0!9P{MTN{IP0h+QQ$%w^KtYL6HZP31Bs!zd z)FQ!L$V?k(N>fQ7$y{)2SF^?TA~V|*{atzZJcob4Ip_1`&V6s*8|KWJ`uz^idf2^P zvB#M#&96tLP>3fHoi2A)D!ImX6hA8|c<9JsSlxQmcb#|Z1jRYYWbLGc+E@Ggbg#|9 zu{xKDHe5B_n(aGcp1>3N zX`aN-@MNCC@jR6icp6XVXL$zCp&1=|R=BVsuT6s3CrdF-1a7JXi zoAIr}quztaXl$637DOIO!`#e^Xpy$hw-6mLH0)!2h)!yAYhNNCZ4UG!+NPa(hzcwVSzR5M^mM%UeWrP1|STccP^> zugG?_s&p0@lt^{8S3$UXtlD`wd*Q6qE>jnzr6nhYg!T$)iGSseO<0qSwaKP;lTCP& zO`j&4h=xsqYkdz#wc^UJaZVUynBG(EI?q1Nuy>_;vCv+nCa!U|S97W|a$GkO9Y>Vg z$8&eM_IQ=`Fg7mK$;I|kHK~)Mjao5wt%qw$sw2VBc+jwEof^N&r)}0mHDc5`FRdktzTJ={_3Tx)c9h&mvbe~_O80cj^X;D!Y$?T zYu&rq@OunvVI8Qj9$tbCun{)F%kT;m!K<(tilGFyz-zD-w!wDT0j2Od?1VR97rY6( zVGq0oPAG$NcpF^s4!jF{VIRB)`{4i_gbH{c4nZYUK{b2;hoJ^Ogd^|~9ED?W98N$j zoP<+w8qUC3_!vHcPvJB89KL`r;T)WY3-A?Ogsn+_!s_z|KS>3hkCfN++L!r0*OIll(l! zKoThFA?YazlH4!pC3!#+EO}58A_VwHpTk~n2f=1t{ZFG>Ia delta 2156 zcmd7RiC@!o9LMp`Z)4+3mWZGhArM9;0V6>{ki(KfqsS;r1Wi&ogn-Zxm+&#nBbi%` ztgNJxqC*=xJ4}l#Di1O$O)JajpbNW8h29_e>2H66dpw>mK79Av0iUgZr`@L?wzMj? zOoPeybW%CR_z)@kE1ez6a{Y+X!Ubi~Q>SH-dg~uuapnSY&N7%o6tY>v10uRDctl^N zfnuV|3(sDOpN>s->Qe7>c81T_DY3TL$RLHBS&4Je{xS9KL~X&Fb|%BZ=zNc}@t?5|6>h z9tk`5oEFN9B&t;}Iv92C4w^oWs75{C6QiA{#cSs~614O9B<;K{MLQppuAOh3qP?L} z`1aN5@ja4TbGCLzV2(Dg&(&uCJZ)YxQ=7f>@dWCB%X>DFuR0GaAgWUTfR%HJI@SMB zPLVbTmn_hJIaaLAt!3I=UZKs2RoYB7L`L<+jEjkusV~O0ME&Y{eI3ydb#8K*I-J!8 zV+7uBXsDyN#1`gi>vR_TIC5R~;jTmN_L7B;&@x-3D=MXZKxaI;D8IVv%*Uk2a(3;_ zZflQnTYGYlw)W$0YcFtH`(bVEG{bG{U2a>?cH4S~wsn6>bzA%Pghp$N9Ug>-zyZzh zFl>NF;8A!CHp1iZ1Uw0wpaq_Sr{Njc46X1iJO^#?JiGue!b`9Pw!+Kcgm%~l+rb4p z;1zfkUW3U^l!8Z$SsV4SV1nco#b1J$N5JfW5E}_QL__f)C*!d<5O_F?<4_ z!XY>epTQA03ZKIl@Fg6Bui$Gq4&Oizd<);f_wWPs!jJG1{0zUquh0i4;5Yak{(wK> zFZdh&fq&sYI0>iVH1xy3YHN$K4kS8>Ug9A!NQ@FsiI>D%;v?~u_(?9143YRtOp*&F zLnQ%{VUj?}a7mCPSTaH~QZh<%k>p}Yh~yGUsARMxOcE}MkX$N>l#G#FCW(?BZ-y7Nz9UX$yJi^k_1VjWP)U(BuSDinIuV(q)H}B(j@7U3}u(KB~vM_ F{U0qH&&U7( diff --git a/nspanel_eu.tft b/nspanel_eu.tft index 277afa7ace46c637f86ef8626570b9b6b8da6e1f..9a130703e8ffbce12dd9f79469b5250116a481c9 100644 GIT binary patch delta 13614 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 delta 13263 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 CrU(lF diff --git a/nspanel_eu_code/climate.txt b/nspanel_eu_code/climate.txt index 170fea9..e69de29 100644 --- a/nspanel_eu_code/climate.txt +++ b/nspanel_eu_code/climate.txt @@ -1,583 +0,0 @@ -Page climate - Attributes - ID : 0 - Scope : local - Dragging : 0 - Send Component ID : disabled - Locked : no - Swide up page ID : disabled - Swide down page ID : disabled - Swide left page ID : disabled - Swide right page ID: disabled - - Events - Preinitialize Event - printh 92 - prints "nspanelevent",0 - printh 00 - prints "{\"page\": \"climate\", \"component\": \"currentpage\", \"value\": \"pagechange\"}",0 - printh 00 - printh FF FF FF - vis target_icon,0 - vis target_temp,0 - vis current_temp,0 - vis current_icon,0 - vis climateslider,0 - - Touch Press Event - printh 92 - prints "touchevent",0 - printh 00 - prints "{\"page\": \"climate\", \"component\": \"touchevent\", \"value\": \"press\"}",0 - printh 00 - printh FF FF FF - - Touch Release Event - printh 92 - prints "touchevent",0 - printh 00 - prints "{\"page\": \"climate\", \"component\": \"touchevent\", \"value\": \"release\"}",0 - printh 00 - printh FF FF FF - - Page Exit Event - if(timer01.en==1) - { - timer01.en=0 - covx target_temp.val,va1.txt,0,0 - climatesetting.txt="{\"page\": \"climate\", \"component\": \"climate_position\", \"value\": "+va1.txt+"}" - printh 92 - prints "nspanelevent",0 - printh 00 - prints climatesetting.txt,0 - printh 00 - printh FF FF FF - } - -Variable (string) va1 - Attributes - ID : 27 - Scope : local - Text : - Max. Text Size: 10 - -Variable (string) climatesetting - Attributes - ID : 28 - Scope : local - Text : - Max. Text Size: 100 - -Variable (string) lastclick - Attributes - ID : 37 - Scope : local - Text : - Max. Text Size: 100 - -Variable (int32) temp_offset - Attributes - ID : 40 - Scope: local - Value: 0 - -Variable (int32) temp_step - Attributes - ID : 41 - Scope: local - Value: 1 - -XFloat target_temp - Attributes - ID : 38 - Scope : local - Dragging : 0 - Send Component ID : disabled - Associated Keyboard: none - Value : 0 - -Text current_temp - Attributes - ID : 3 - Scope : local - Dragging : 0 - Send Component ID : disabled - Associated Keyboard: none - Text : - Max. Text Size : 6 - -Text climate_label - Attributes - ID : 8 - Scope : local - Dragging : 0 - Send Component ID : disabled - Associated Keyboard: none - Text : - Max. Text Size : 30 - -Text current_icon - Attributes - ID : 10 - Scope : local - Dragging : 0 - Send Component ID : disabled - Associated Keyboard: none - Text : - Max. Text Size : 10 - -Text target_icon - Attributes - ID : 11 - Scope : local - Dragging : 0 - Send Component ID : disabled - Associated Keyboard: none - Text : - Max. Text Size : 10 - -Text value01_icon - Attributes - ID : 12 - Scope : local - Dragging : 0 - Send Component ID : disabled - Associated Keyboard: none - Text : - Max. Text Size : 10 - -Text value01 - Attributes - ID : 13 - Scope : local - Dragging : 0 - Send Component ID : disabled - Associated Keyboard: none - Text : - Max. Text Size : 10 - -Text value02_icon - Attributes - ID : 14 - Scope : local - Dragging : 0 - Send Component ID : disabled - Associated Keyboard: none - Text : - Max. Text Size : 10 - -Text value02 - Attributes - ID : 15 - Scope : local - Dragging : 0 - Send Component ID : disabled - Associated Keyboard: none - Text : - Max. Text Size : 10 - -Text value03_icon - Attributes - ID : 16 - Scope : local - Dragging : 0 - Send Component ID : disabled - Associated Keyboard: none - Text : - Max. Text Size : 10 - -Text value03 - Attributes - ID : 17 - Scope : local - Dragging : 0 - Send Component ID : disabled - Associated Keyboard: none - Text : - Max. Text Size : 10 - -Text value04_icon - Attributes - ID : 18 - Scope : local - Dragging : 0 - Send Component ID : disabled - Associated Keyboard: none - Text : - Max. Text Size : 10 - -Text value04 - Attributes - ID : 19 - Scope : local - Dragging : 0 - Send Component ID : disabled - Associated Keyboard: none - Text : - Max. Text Size : 10 - -Text button01_icon - Attributes - ID : 20 - Scope : local - Dragging : 0 - Send Component ID : disabled - Associated Keyboard: none - Text : - Max. Text Size : 10 - -Text button02_icon - Attributes - ID : 21 - Scope : local - Dragging : 0 - Send Component ID : disabled - Associated Keyboard: none - Text : - Max. Text Size : 10 - -Text button03_icon - Attributes - ID : 22 - Scope : local - Dragging : 0 - Send Component ID : disabled - Associated Keyboard: none - Text : - Max. Text Size : 10 - -Text button04_icon - Attributes - ID : 23 - Scope : local - Dragging : 0 - Send Component ID : disabled - Associated Keyboard: none - Text : - Max. Text Size : 10 - -Text button05_icon - Attributes - ID : 24 - Scope : local - Dragging : 0 - Send Component ID : disabled - Associated Keyboard: none - Text : - Max. Text Size : 10 - -Text button06_icon - Attributes - ID : 25 - Scope : local - Dragging : 0 - Send Component ID : disabled - Associated Keyboard: none - Text : - Max. Text Size : 10 - -Text button07_icon - Attributes - ID : 26 - Scope : local - Dragging : 0 - Send Component ID : disabled - Associated Keyboard: none - Text : - Max. Text Size : 10 - -Text t0 - Attributes - ID : 29 - Scope : local - Dragging : 0 - Send Component ID : disabled - Associated Keyboard: none - Text : ° - Max. Text Size : 6 - -Picture climate_exit - Attributes - ID : 6 - Scope : local - Dragging : 0 - Send Component ID: disabled - -Slider climateslider - Attributes - ID : 9 - Scope : local - Dragging : 0 - Send Component ID: disabled - Position : 20 - Upper range limit: 40 - Lower range limit: 0 - - Events - Touch Release Event - target_temp.val=climateslider.val - target_temp.val*=temp_step.val - target_temp.val+=temp_offset.val - timer01.en=1 - -Hotspot decrease_temp - Attributes - ID : 4 - Scope : local - Dragging : 0 - Send Component ID: disabled - - Events - Touch Press Event - if(climateslider.val>0) - { - climateslider.val-=1 - target_temp.val=climateslider.val - target_temp.val*=temp_step.val - target_temp.val+=temp_offset.val - } - - Touch Release Event - timer01.en=1 - -Hotspot increase_temp - Attributes - ID : 5 - Scope : local - Dragging : 0 - Send Component ID: disabled - - Events - Touch Press Event - if(climateslider.valswipedx) - { - //page - } - // Right to Left - swipec2=0-swipedx - if(swipec100) - { - //page - } - // Down to Up - swipec2=0-swipedy - if(swipec<-100) - { - //page - } - } -