From 5bc202ed812b5246bd9e501047ce3080b38a62f4 Mon Sep 17 00:00:00 2001 From: Edward Firmo <94725493+edwardtfn@users.noreply.github.com> Date: Mon, 19 Feb 2024 19:50:28 +0100 Subject: [PATCH] Rebuild calls to update indoor temperature Improves #1802 --- esphome/nspanel_esphome_core.yaml | 12 ++--- hmi/nspanel_eu.HMI | Bin 15035221 -> 15035221 bytes hmi/nspanel_eu.tft | Bin 7351628 -> 7351628 bytes hmi/nspanel_eu_code/home.txt | 4 +- hmi/nspanel_us.HMI | Bin 14820802 -> 14820802 bytes hmi/nspanel_us.tft | Bin 7421460 -> 7421460 bytes hmi/nspanel_us_code/home.txt | 4 +- nspanel_blueprint.yaml | 75 ++++++++++-------------------- 8 files changed, 33 insertions(+), 62 deletions(-) diff --git a/esphome/nspanel_esphome_core.yaml b/esphome/nspanel_esphome_core.yaml index 13f5012..fa90abf 100644 --- a/esphome/nspanel_esphome_core.yaml +++ b/esphome/nspanel_esphome_core.yaml @@ -1253,15 +1253,11 @@ api: then: - lambda: |- if (!id(is_uploading_tft) and !(id.empty())) { - if (!(icon.empty())) { - disp1->set_component_text_printf("%s_icon", id.c_str(), icon.c_str()); - if (icon_color.size() == 3) set_component_color->execute((id + "_icon").c_str(), icon_color); - } + if (!(icon.empty())) disp1->set_component_text_printf("%s_icon", id.c_str(), icon.c_str()); + if (icon_color.size() == 3) set_component_color->execute((id + "_icon").c_str(), icon_color); if (!(name.empty())) disp1->set_component_text_printf("%s_label", id.c_str(), name.c_str()); - if (!(value.empty())) { - disp1->set_component_text_printf("%s", id.c_str(), value.c_str()); - if (value_color.size() == 3) set_component_color->execute(id.c_str(), value_color); - } + if (!(value.empty())) disp1->set_component_text_printf("%s", id.c_str(), value.c_str()); + if (value_color.size() == 3) set_component_color->execute(id.c_str(), value_color); } # Wake Up Service diff --git a/hmi/nspanel_eu.HMI b/hmi/nspanel_eu.HMI index 29944e321f550751c2ff55aba45b50cde632008f..ae39b146731bb4f76209afe37608ac38a0ef8519 100644 GIT binary patch delta 1593 zcmdVa`*TZa7zgktX_B(Wutp_uXU2{iW6bJKyG3bHvDB?7c1vqpRhmjeTdJhmFKJnq z%IaCSR)yYJw_0JXsuhRsHg46TZgrW#4`wp_WCrz+mowup;LLpHeBbAN&N=TnCnt?f zTm2iEs^N%gh}uZ;$*F@(QR7H#CkI-nR!gL+j#8KSIfB$39j~=*G{mLqHoBA!MjB*^ z|JeL~Khx-@bxuCOu^}KPc<^VlF@ZAKd6wj8BClE7(za6lVa%m_^)dzXUUebb(HihZ z^Rn*ww_Egvydb?jNUvgQ=EpQl%XF?Fy?_1FuXp8nUW46hP%$<0V;ZJqI+xer-|@+p z&`|9)9L`1vencpSVi<-a3?ncS;fTN}jK&y5Vk}G;ho3MW6A*=on1sogf~kncG)%_~ z#9$_7VK#ooFNnn)%tajHF%Q2Y0g0H8BrHHO7Ge=nU`8qy!-6zeu>?zzjtpdC8I~gp zE0B$qSOpt$uo}6@1F!~bVMjg+unz0-8#Z7gHeoXgu>}tNj;$zygg>wi+pz;Xu?xj0 z!ETgd51iPGeJDdYDo}|k?8gE8iGw(V!#IMYsKzn;h2wDH1Ww{_oWegijT)RmEzaU! zoP!(ZkI6BCTIu`JXLc#p=uWcr(eRI$w*j4qvi*FyEP!Z_$R;CEsM=T0?M9R->aTh# z{po#)R*L$IencxoHU}#C=|H7FVK7mKug6BsLp}{?GJjEGg5*#o4+~TB(QqaAAEV@A zlX8Ks6O@G(PEzXa`8)o2lLa&0_t<=QMze{^#j49=iM|t0#l!y=m7<=JNR%(~+XX~b zB3Gmk)rtPJG@>$5*QXQdRKD}~$RKJJm+GELR3mztZCONT#9-Shq6%?9c#d+?Z`LTe zp+LzyHxl`ae&;5lCXtsHDm@WJN^ZA9$=6GKuSR-udP#_MrGrJ|dfm-^wVl-3E3>mE zIW@s5#aU~N$3tXOduiei&aTqsmeK$zE-N=jYPGn#NWI_Gbdlz)mLpt?BITsEF3$+} ziC~>|?$SiFMLHYlG)lErxyWVCm#aog<#EnnyWS(S3+y7RWB;-LSv~WxOYAbc!mhGw ntbtu;jjV~?U^m$<*353RJM1pI$L_Nh_JBQPk6e1sHmN9-pfZ(68tbRFeruAkv+c#Z^%vBg`OJO3=XuVVbH8(k zM-GMzGnz}?n)zDG#{8m9b5qh&NqJ63+v%Kv4?XGHBRbatZJ6t(VTxYk`@_&P#aJ9_ ziJ5E9pA7roxfYokT3NXE&B%$Mf4MnPUUIXm@npIpOcVOT$OR=XYq(i&Cg0RLYk0ji zT*GJ?9iwLqj8U?Nhm8OHf7r3kXRh~|HH?HzG*i>SwLyo3hq!Cvgcel+4`IPnTxIDms_g21bI4X@)6-oRlr;|Px87+TPZH}MvZ z;{@8!j+1yB9q7b6co$vh#(U_&DZGylAmKxt#u?AJ z>}~C!p@iE9%1Bmqe~P+L@^W<{Po`Rr%~ti9RcdD8YN8X$(%15c?$ZZ8QeQySuGBjV ziFWH80pr0UqLYd-T1?chG_-9dIQihoSvMAxgvLMxqf#cRAHed6TLW52^Z&qhjprmRKvq)Eh+B5qBqAr=CMj~Mw|%Oxov$(Ix0cv#!r5GA`a2^P$IDl= zLC!_JC*TCSe@&AUrMM*7t`&ESzPo~g3A#FEge}K=K`X*4t_R!QQJyAY?K2O> zwqA~(7P#IA)a#Y_ddHX5n+Ckhr_2SWpZSdWocV$oV7_F&Vg{Lu%q3=s`I;GKMwoAy gZ<+6y%gp!873L~)jTvQrV8)mqnd_2iU_7q*FLshy%>V!Z diff --git a/hmi/nspanel_eu.tft b/hmi/nspanel_eu.tft index ec855224de1c89964a12e8b5c64aa412665be721..c033c818ebe26e5547aa2d28d07f6f505bd32d68 100644 GIT binary patch delta 944 zcma*jTS!v@90u^e?KGXv%XB;QvdyV;Y2MR0FO}D_vecS0t+dY0tX5t^CErr;Be9}L zj1z`PR0c&*QJgU7f+Z-LUFao5#GoLBNJ}U(I{6Tx5I+1~|KIohN8UY=jYwMIhEv8OX$XY`{ijAsac!MIQ3837b)XE!c`}D8zQ`KoN>j zf}Pj}8%kkE8Fr%_71)El*oR6~VLuMs4E_Lb|p!CLOU~Uz&pGjQ_VNEj2h6;uKUK{xm+CK9$H4eMmiSON^&4 zl}XlcdT7>W#?cfFWU1)#-MXDDP25e~Wv0y1!pcD6BJv!5^!iGMOGa-7b6v6YUhqxf zyb4^6ZM6Z^ZMkqdf_{o^UHF1>c~ z51Pe4_z0qv5B2;r%bPY%_&SA2D{mC4bi9%+u{EAk(R|Kyw_>rVda7#yj+T~13Ae4hc}bFaMIj5px_{3v-5^xhc;k}82Bn^c@0Ya& z)1MVWozz(vweg0(#rqhcq~F1cH_Q1P_W$QS>X-Kxs_J?9ipq;jyS<5*I3?ARgOWp% c!xER|h~%iGMp7%O6YWj)a}Su=$hCdH0WzCV?f?J) delta 894 zcmaLRTS!v@9LMp$dc17T%jVp4ZeFHN&AdD3EpwHcX=>_Bom%sF$ubQQ#fLQT7gC8` zEDjXnLpQo8CB+FPF~YKth$0~qk*HoWB1|d7>bw-9*u&@H_wwa8IXz}GDL4izSi=Sk zY+(m`I6wq393g=doZ$jjNFjq89Is_pYA=rda zY(^Nu5rIfVAsR7=g&uJ*ARY-wL=uv*1u58yR2Z=h+pz;_NJj>CA``oig>39b4swx) zJ;+A^3SmMK_M#XiD1{kiC`SeMVgEf#E@KxR9#>V}!kZY2KB7aK7%%drMYaEIEP-j=C+ok-mo6riSV*T332?IkC=$UUN3F z7HP&s{e@HhB-c)ymeTkW`#w8bF!uF}spi~^E1~2i^1iB~>krcgJt@;^Y0!;skAEC; zrU9m&Cwkw1;;}o;h({+RoH^Fw8R)va{7yl03e#r|>8hSBSX0%P-bF`pZo0JOLkYjW zuGrEHXZ6P7bM}Y_H`;2EaB@*~eOHd&!sqBKZ+_B@P1(v^=_sPz-N>!|yhcfi?=J(~ zX}ruB>df&5)<@i=`d#5ft!GARxj6&t%T=gZ3FE1G+RY6V2(w4c%9ufO+fP0v>o)4HsMM>AYoBr@!jm;EZ;6JU-!JM^(ciBr|88Dm zxV+&?1%IoUH7fpJc4%DxlB;NB?KZl~GhL=;R!}9V7Ssr81qTFmf`fuXf_lMWK?84U NZd`c4Ocg16{s4>WK6?NF diff --git a/hmi/nspanel_eu_code/home.txt b/hmi/nspanel_eu_code/home.txt index f3c93ea..e450593 100644 --- a/hmi/nspanel_eu_code/home.txt +++ b/hmi/nspanel_eu_code/home.txt @@ -57,7 +57,7 @@ Text time Touch Release Event settings_timer.en=0 -Text current_temp +Text indr_temp Attributes ID : 4 Scope : global @@ -300,7 +300,7 @@ Text wifi_icon Touch Release Event settings_timer.en=0 -Text indoortempicon +Text indr_temp_icon Attributes ID : 27 Scope : global diff --git a/hmi/nspanel_us.HMI b/hmi/nspanel_us.HMI index c3d389db979b4b41c56656bde8e6fc2ccc562e80..f474e10fd8ef5503bd239623ad5a3327d856ed69 100644 GIT binary patch delta 1552 zcmdVa|8Em@9LMqZt?d>ihDI=J6*U^aK@5RN0!{>nAVZ5A@=r+a`=M|Mq%$h$>%q??*SB^MzpxQ1NAtTabIIkKWOjeDyb++gj zw@mcrU70YlpWC01jWH1;GCBR`sgwS7bjqb}3F=YltrNN2?zrvFpHu!GYw7T&9_bjZ zGkfbIvGf-Eo|CyVBRMWtwZ|3oxD1t|Y|5@2DmCtLrM3V1KVN>e(;alW4V9v7%B~zL zHSTn$UH;|2(9q^|=TtI{d&%HFrgJ|tn8^cVGK&Y9%^V(LE?LauVIIN5d>$p692W2x z3t7Zsmhd=F@FYulil?9z&-yABxkCXk7ZbS`V1?#W?K2KIac1CWnJKUkG0U+ zY^#3FLMw-tjPwMOcP2|kn#@%&wry|WZ1maxH6GWvu7YsA<|_IwyzawHYa3OStq@EgO&TjR<5rRNi+Ln zTSU&9xxCiunWcZOD~lVo)5@nClCLIuF4QnBn$hYX8~PvM( vom8jPSL$o^jrvx7r~1@sbw-_4=hXMAUk#{1^@BREepElH3vpll(1P$^F>J|^ delta 1302 zcmdVZ$4?Yd9Ki86?k?y--B==<7|X@P5-auwq5=vkRuCIvF99OGZ0FZpD?^XAQ)%p~Kvn(FNl+KU{mNUN)&CdV`n z3Jq4}!@o(aDzqu3mAQh%lXTJ8U}NJUPQYlWwj5*JIq*eW+_V=0@<7+0+Bx0h?O zm%C0@N{Ej;#77gAghg0|O?Vk0KHhon^adN^tU1=g|Ncc%><+ixp@~YuBCNtDybQa; zyY%h9uprm&7~rA<9qB}8y3mzwbjJ^WdJsTQdeNIef(WJ$eF-6ye)MMmVGLvtgBik5 zh7nE#!--@BBN@eL#t_9=q8Z0{CNPmnOlAsGnZ|Ttm_aOY%w!g`nZsP-nMVSN%*Tm~ z1uSF{NhFg3EM^IAQd!C}ma~F1R|iIm*v%gH zvXA{_lEncIlFcCwbA+ShaEx5?IL-+SPI8LVoZ&3z$ftlp&g01|@_lct|LlsXqPO^1 z;51^Botc_`bb_;u(X5p#$YQge4UUi08GuZbXDys>`Sl0sO_i$X8ZFFDYi)Mr zc4nt^H2ZrOvlINx{uH28eEI%U1I>QZ=XXb|hqEeai@0N|sN&4;7?cMZ*mj$)-8PyWK3}a}1awFs04p+F}A74g){b5dH zqro;$c6)bRMzOdcE{aQ{L|hhE#8q)kTo*UQO>s-y7I(y5aZlVA55z<9NIVu##8dH1 RJQpv-OYzEx%Xl5O^d~TMu-O0r diff --git a/hmi/nspanel_us.tft b/hmi/nspanel_us.tft index bcc2ef7d966e393d4f65e07db01e402cce68de46..5981e4e9fb8c2434eaa2023e0298d30bc7eb406c 100644 GIT binary patch delta 947 zcmb8rTS!v@90u@z?s%C_-R3;=vgw>_YF^Tu_tLzSmX-5XT3I=dmgQwB=354SBzBWz zabjT-Wjz%r!oZ>nUQnSdgPugfq9TPXODHrt?I9v5?BVzN|GxicSsD^q1gEeD4iJHX zBb?w27l`2sH%Q z1R@cI^@v6cHXs%T#33FDNJJ8nk%EobgjA$qGt!ZPOk`mTwjvuj*oN)M#SZMmF66<8 zd=#J%MJUE@>_G`iu^0QWA7wazgE)lpep4Rf6w6hfAhH!RrkSXg`xnBU7?LF?iZwJ> z7s~1=cA!NSK;kTGkUyzfLv$))KR?y^(mDB;P$e~(mLtVfqJ0zTHXb)0M6-GzV z$Fi6NE#1{CQzB`G2GeA8t*WuMjjgp_WR1IYHkg)dtrj^Ak2rTZ(L#Dxw<}e3KDiN2{^EchKf2A-*oY?5goIwQ#j|Q^h=1_Ojr82uf&+OpTv-gHTW2I+ z-6`q&hh;~aBHnD~^cT%i-ke_{Y3neUY#oLQ>pNBZ(7teDRtVDWB&@Npu|r0S>9ba`y`#e3k?&P=8s@F{<8L-&5;x4) ztXhs?wZCUH&-E&4Wzxe$PX9-eepMk;e*gW#Uk~3Y;v#;vA7yMeOF0Gm@AEI}SN2xD z={er+LaUi*l;N+=SGcyNHgSSVL6zXJ;E14Fa8z(iP$Q@n)CuZssZHj|QKmoS_4yy# Cc~d3i*IK%AYHG7G?b1w3op$J}%OhRVfkYYfh**M^ z#=x*XltxrS5e$;TC~ZM$2MDD|bVo%+DTQ6{r--7c55KR^^ZfsvpRc-i@^)he+~5ud z9`J-0ydi)PKJbMf{1E^V#E?J=83MsVjvxd>feQu!hxOQSzAT6Fj5o~XDz-Tbn6ih4CULS^pr(0y9}8vl zs!q>pDd9qsGL-I>DAazW+!Lu)Qk!H_FQGa@}bN+OOsdW-PJlc9Ckj90VT)wo~wBtrNxqH62sVBC#a@dQGG>b=O zl4yE*jHL%`!AlkCxS;Fr-H3bLG3i784Tq<~DCz5)FCH{b4!fPx9k7cW_Lb$nE$yZ< zXS=Dq>$!4Z)I%boorn*Vl5|(6N>1#DTiQSxEV0Bmvhq2#utD){tsiaQ-*0ogHFIi5 zyNdH=gH_ks#584j*(IQnbjbx7ow}Vm;5e(|)J&hX@sl$*i5p~`T^f#IH9vQ3e|1() zzc&q-Io&T!x_>GeSN!)0e+=%+=VE`XcQMZ1B2LEsJ$|(Q_ua~;J)2v->0e&tVjM@_ qmJ3_bwsO1*UM0`Q+sLcpRr6|iwY*KdI$pgqZL9r`i?Njkk9`Nr)L>}< diff --git a/hmi/nspanel_us_code/home.txt b/hmi/nspanel_us_code/home.txt index f3c93ea..e450593 100644 --- a/hmi/nspanel_us_code/home.txt +++ b/hmi/nspanel_us_code/home.txt @@ -57,7 +57,7 @@ Text time Touch Release Event settings_timer.en=0 -Text current_temp +Text indr_temp Attributes ID : 4 Scope : global @@ -300,7 +300,7 @@ Text wifi_icon Touch Release Event settings_timer.en=0 -Text indoortempicon +Text indr_temp_icon Attributes ID : 27 Scope : global diff --git a/nspanel_blueprint.yaml b/nspanel_blueprint.yaml index 9d6a3e2..ce44374 100644 --- a/nspanel_blueprint.yaml +++ b/nspanel_blueprint.yaml @@ -7358,19 +7358,16 @@ action: else state_attr(weather_entity, "temperature") | default("unavailable") if weather_entity is string else "unavailable" }} - - if: '{{ is_number(outdoor_temp) }}' - then: - - variables: - outdoor_temp_color_rgb: !input 'home_outdoor_temp_label_color' - - service: '{{ nspanel.service.value }}' - data: - id: home.outdoor_temp - icon: "" - icon_color: [] - name: "" - value: '{{ outdoor_temp | round(1) ~ temperature_units }}' - value_color: '{{ outdoor_temp_color_rgb }}' - continue_on_error: true + - condition: '{{ is_number(outdoor_temp) }}' + - service: '{{ nspanel.service.value }}' + data: + id: home.outdoor_temp + icon: "" + icon_color: [] + name: "" + value: '{{ outdoor_temp | round(1) ~ temperature_units }}' + value_color: !input home_outdoor_temp_label_color + continue_on_error: true - &refresh-page_home-indoor_temp if: '{{ true }}' @@ -7400,50 +7397,28 @@ action: else temperature_units ) }} - icon: - icon: !input 'home_indoor_temp_icon' - color_rgb: !input 'home_indoor_temp_icon_color' - label: - color_rgb: !input 'home_indoor_temp_label_color' + icon: !input 'home_indoor_temp_icon' - - if: '{{ is_number(indoor_temp.state) }}' - then: - ### ICON Indoor Temp Font Color ### - - service: '{{ nspanel.service.component.color }}' - data: - id: home.indoortempicon - color: '{{ indoor_temp.icon.color_rgb }}' - continue_on_error: true - ### ICON Indoor Temp Font ### - - service: '{{ nspanel.service.component.text }}' - data: - id: home.indoortempicon - txt: > + - condition: '{{ is_number(indoor_temp.state) }}' + - service: '{{ nspanel.service.value }}' + data: + id: home.indr_temp + icon: > {{ - all_icons[indoor_temp.icon.icon.split(":")[1]] | default(all_icons.thermometer) - if indoor_temp.icon.icon.split(":") | count > 0 + all_icons[indoor_temp.icon.split(":")[1]] | default(all_icons.thermometer) + if indoor_temp.icon.split(":") | count > 0 else ( - indoor_temp.icon.icon - if indoor_temp.icon.icon is string + indoor_temp.icon + if indoor_temp.icon is string else all_icons.thermometer ) }} - continue_on_error: true - ### LABEL Indoor Temp Font Color ### - - service: '{{ nspanel.service.component.color }}' - data: - id: home.current_temp - color: '{{ indoor_temp.label.color_rgb }}' - continue_on_error: true - - if: '{{ not embedded_indoor_temperature }}' - then: - ### LABEL Indoor Temp Font ### - - service: '{{ nspanel.service.component.text }}' - data: - id: home.current_temp - txt: '{{ indoor_temp.state | round(1) ~ indoor_temp.units }}' - continue_on_error: true + icon_color: !input home_indoor_temp_icon_color + name: "" + value: '{{ indoor_temp.state | round(1) ~ indoor_temp.units if not embedded_indoor_temperature else "" }}' + value_color: !input home_indoor_temp_label_color + continue_on_error: true ##### SET Hardware Buttons PIC on Home Page #### - &update_home_page_hw_buttons_pics