From a2a7a6710faab8d7bc58663535dd9a6abfcea912 Mon Sep 17 00:00:00 2001 From: root Date: Thu, 4 Jun 2026 13:36:49 +1200 Subject: [PATCH] esphome devices & packages --- .../integrations/astroweather/dark_logo.png | Bin 0 -> 75228 bytes .cache/brands/integrations/bluetooth/logo.png | Bin 0 -> 1605 bytes .../integrations/brother/dark_icon@2x.png | Bin 0 -> 12889 bytes .../integrations/byd_vehicle/dark_icon.png | Bin 17173 -> 8304 bytes .../integrations/dialogflow/dark_icon.png | Bin 0 -> 4418 bytes .../brands/integrations/dropbox/dark_icon.png | 0 .cache/brands/integrations/duco/dark_icon.png | Bin 0 -> 2203 bytes .../integrations/earn_e_p1/dark_icon.png | Bin 0 -> 31551 bytes .../eurotronic_cometblue/dark_icon.png | Bin 0 -> 4290 bytes .../integrations/flightradar24/icon.png | Bin 38379 -> 43923 bytes .../brands/integrations/fumis/dark_icon.png | Bin 0 -> 3865 bytes .../google_air_quality/dark_icon.png | Bin 0 -> 9780 bytes .../google_assistant_sdk/dark_icon.png | Bin 0 -> 5653 bytes .../integrations/google_cloud/dark_icon.png | Bin 0 -> 13396 bytes .../integrations/google_drive/dark_icon.png | Bin 0 -> 9627 bytes .../dark_icon.png | Bin 0 -> 25596 bytes .../integrations/google_mail/dark_icon.png | Bin 0 -> 6219 bytes .../integrations/google_maps/dark_icon.png | Bin 0 -> 26102 bytes .../integrations/google_photos/dark_icon.png | Bin 0 -> 17186 bytes .../integrations/google_pubsub/dark_icon.png | Bin 0 -> 15759 bytes .../integrations/google_sheets/dark_icon.png | Bin 0 -> 9390 bytes .../integrations/google_tasks/dark_icon.png | Bin 0 -> 10859 bytes .../google_translate/dark_icon.png | Bin 0 -> 22817 bytes .../google_travel_time/dark_icon.png | Bin 0 -> 26102 bytes .../integrations/google_weather/dark_icon.png | Bin 0 -> 4631 bytes .../integrations/google_wifi/dark_icon.png | Bin 0 -> 18880 bytes .../brands/integrations/hassio/dark_logo.png | Bin 0 -> 19190 bytes .cache/brands/integrations/mqtt/logo.png | Bin 0 -> 21489 bytes .cache/brands/integrations/nest/dark_icon.png | Bin 0 -> 6069 bytes .cache/brands/integrations/otbr/icon@2x.png | Bin 0 -> 5504 bytes .../brands/integrations/rest/dark_icon@2x.png | Bin 0 -> 20650 bytes .../rest_command/dark_icon@2x.png | Bin 0 -> 22427 bytes .../integrations/smlight/dark_icon@2x.png | Bin 0 -> 5521 bytes .../brands/integrations/smlight/dark_logo.png | Bin 0 -> 18244 bytes .../brands/integrations/smlight/icon@2x.png | Bin 0 -> 5521 bytes .cache/brands/integrations/smlight/logo.png | Bin 0 -> 18244 bytes .../integrations/tasmota/dark_icon@2x.png | Bin 0 -> 6691 bytes .cache/brands/integrations/tuya/dark_logo.png | Bin 0 -> 17876 bytes .../brands/integrations/youtube/dark_icon.png | Bin 0 -> 3545 bytes .ha_run.lock | 2 +- esphome/.device-builder.json | 17314 ++-------------- esphome/esp-ledmatrix1 copy.yaml.V1 | 916 + esphome/esp-ledmatrix1.yaml | 1305 +- esphome/esp-ledmatrix1.yaml.V2 | 1397 ++ packages/auto_lights_underhouse_storage.yaml | 1 + packages/view_road_announcement_router.yaml | 281 +- 46 files changed, 5383 insertions(+), 15833 deletions(-) create mode 100644 .cache/brands/integrations/astroweather/dark_logo.png create mode 100644 .cache/brands/integrations/bluetooth/logo.png create mode 100644 .cache/brands/integrations/brother/dark_icon@2x.png create mode 100644 .cache/brands/integrations/dialogflow/dark_icon.png create mode 100644 .cache/brands/integrations/dropbox/dark_icon.png create mode 100644 .cache/brands/integrations/duco/dark_icon.png create mode 100644 .cache/brands/integrations/earn_e_p1/dark_icon.png create mode 100644 .cache/brands/integrations/eurotronic_cometblue/dark_icon.png create mode 100644 .cache/brands/integrations/fumis/dark_icon.png create mode 100644 .cache/brands/integrations/google_air_quality/dark_icon.png create mode 100644 .cache/brands/integrations/google_assistant_sdk/dark_icon.png create mode 100644 .cache/brands/integrations/google_cloud/dark_icon.png create mode 100644 .cache/brands/integrations/google_drive/dark_icon.png create mode 100644 .cache/brands/integrations/google_generative_ai_conversation/dark_icon.png create mode 100644 .cache/brands/integrations/google_mail/dark_icon.png create mode 100644 .cache/brands/integrations/google_maps/dark_icon.png create mode 100644 .cache/brands/integrations/google_photos/dark_icon.png create mode 100644 .cache/brands/integrations/google_pubsub/dark_icon.png create mode 100644 .cache/brands/integrations/google_sheets/dark_icon.png create mode 100644 .cache/brands/integrations/google_tasks/dark_icon.png create mode 100644 .cache/brands/integrations/google_translate/dark_icon.png create mode 100644 .cache/brands/integrations/google_travel_time/dark_icon.png create mode 100644 .cache/brands/integrations/google_weather/dark_icon.png create mode 100644 .cache/brands/integrations/google_wifi/dark_icon.png create mode 100644 .cache/brands/integrations/hassio/dark_logo.png create mode 100644 .cache/brands/integrations/mqtt/logo.png create mode 100644 .cache/brands/integrations/nest/dark_icon.png create mode 100644 .cache/brands/integrations/otbr/icon@2x.png create mode 100644 .cache/brands/integrations/rest/dark_icon@2x.png create mode 100644 .cache/brands/integrations/rest_command/dark_icon@2x.png create mode 100644 .cache/brands/integrations/smlight/dark_icon@2x.png create mode 100644 .cache/brands/integrations/smlight/dark_logo.png create mode 100644 .cache/brands/integrations/smlight/icon@2x.png create mode 100644 .cache/brands/integrations/smlight/logo.png create mode 100644 .cache/brands/integrations/tasmota/dark_icon@2x.png create mode 100644 .cache/brands/integrations/tuya/dark_logo.png create mode 100644 .cache/brands/integrations/youtube/dark_icon.png create mode 100644 esphome/esp-ledmatrix1 copy.yaml.V1 create mode 100644 esphome/esp-ledmatrix1.yaml.V2 diff --git a/.cache/brands/integrations/astroweather/dark_logo.png b/.cache/brands/integrations/astroweather/dark_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..ee397bdf7871f24e1a9af0291d1f1c26df532519 GIT binary patch literal 75228 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 z z|6qM8Zn-|IjO#dyo)FWvZI34siN3M1v7`-QtBx88bdOMOE_M{#j+tKT&1xT2I(LL!XwAY<&3Mx3t)kxfg>|Ci^M zvj9LY593%Kkg@7Gu5}pHAw18^xURb>gqZU@Zzi2ik1ov5_m5AE_w@E2Kk>&u{&Do> zmtVFl%ffyugb+dqA#~MX$hwBLv^3KlJ9e0#-La#lwY9aiq$JX6`uz>Mu2*o*O9&xF zgpd&D%w&vflu~xJ*Srp-5T5WnFXMS4C8UT;A?H2Mi&>U6kxV28X6NSm2L}f~I&$R5 znU`LADc;}T?_KRhBZLq_2qBb*A?rF)ULK`;_UzHOZ@(kj-rinUT3WinG|hU`^i^q^ zUdlNO5kdn1;3tHbj8Y$COs9--N-4_?khrSTF=UPq!V|)CJWphV5SElO1yUx3lnKvs z7c!a5jFnDLB$LTAGt)DtPM$n5_`(Y>Ouzp6k#sVd#7Y%H2qAy3W@&B3k?dDKa!CofnHq!;4*)y>5CGr`;W@T#FJ){yX=m(3%UYVV(&>52vgYRJ z=H_Q(v4zRW$;F|;p~S%8Kyr9w#Gaj<^A;8saQYuY2qAV6h8O%mbQ>WHxzVM=oD8SXcuROWSgzCNO1~&;761Q&SeFWfWraP+1opG ze2A8h4Ui4%kf;F)G7!O{?KaU(%@C9om9-UdfY=rs0&QvUZfoY;&&A~AJkN99=e*~A zlbieIu8oRdd%org0PIMKcs&3@Q3RMY3X*EK#8A+^c6CfRg+P)ZC!v}I4GG8Gq}iPt zNvI@2H36zgP>nuKa1nR$dHx^73N==!b!Un^+mLF19@HR;Kg%x? zmx1!T=Thf!$$ulyzHorL*UG)?qc#A7(lELQgXQTJIA>|tGHKGM2M>Lfos*Y;e9si@@Jse%MRfPB*?x zS-Hyin|VGMu46i%UYR+Y2G$N@Faz)LDTw3Q)O2GmmWgZNJ&kD0hpBD!66250FnDT8 zv9!Ld5ho{MHdyKADN_`70k%(-4$of4#T6CJd!W}Lb#Ns&EwbOQAo;AIK|YGfJzoUg zVQpQ#spSZ*hact?^h}(qIKKmA-u=^!fTCFZ93tf&$mM{PeHcIF!Qt@S)y0IRWEmg` z%HxRu!a*Zd2jftLO%_-4XlIP`izjCy*J|s23 z@ezd!IF4(mv{Uc~$Kfiw<>^krg4Ah_A~eFU_|+WQ8e*{2FEim3wMJP43se80E_WB| zvwPfBa~#~gU8ub}C9BVdQ$3sga%7k060$IYmXS!%y6eR!XCkbqXVP9r~RvKEKxe5 z??75aW|_BE8D6Yb(o%_D2UqUZZytbHUZRk}BtBO7?&eo%eC5I;{5T;)60Ef|pheUr z^X8zD0l~ddkvK!Nl6d%&F5Peid3-~cUerISp!GU*o5!Erig9pxQgY^y1vrCzu-bn8 z%iyi@5}i;2bIcbA8OpmE4H$Kj5+{2&5G38?+@V0kph3lfk>DZ9dovo72x*eeK>J8&mw{bSCB%*w>c}X$|JYOVqVHq{ms|$XX;UkV ziU!$=aVKZSqtGggLPr$3R8K^QhmAdC-x)~WF{DUtchH@W%%MS#2GowW^M-vxiMv{`&`VDg7Ni(^b literal 0 HcmV?d00001 diff --git a/.cache/brands/integrations/brother/dark_icon@2x.png b/.cache/brands/integrations/brother/dark_icon@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..16a3bf9735c7c0d63056ed68d59437a786a9aa45 GIT binary patch literal 12889 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 SXWt3}07~*|awRfG{{IV4_&jO= literal 0 HcmV?d00001 diff --git a/.cache/brands/integrations/byd_vehicle/dark_icon.png b/.cache/brands/integrations/byd_vehicle/dark_icon.png index a86a688099220452f8b8c03a0c15ca362d807355..a31c107ca8f43200d92ed83d7eb2ac126652e64c 100644 GIT binary patch literal 8304 zcmb7Jg;Nwz6Tdr;I2t@UkCN_gjy~!DX{05U5Rjum>Hq8zxLbhfht08k65%Gi?Nf=!PGXZh{?VdQZc(E$pNL%6u0^bdr`Z+gi>Hl32nv(YB|Hh)Z|C% zQ$P>aIeYwO*&vWukpe=h3eQ(gqf-gA7kpQXCSe^b2my~XmPEi4c(};UevK!Q-l65M zWzD%oMIoUT;sAQx&v#;Y*^9`Exy$YRm$M0Z2c&#&RYSV)8jf@W8!2zij^B>)u%Rpt?=2dDo?Va{AKS zc(Gx`!et8~Je%1%KYZYDnbEp9eCNO*cGmLo$%u^mmWr@@hTrV)fJ2v9!_VR7ZikTh zAeXHmVfReG)+JQiQsC5ZIGd~cx2`7d)`j6sdHVEf>1XcZvaRhz$2G)@aTRW(xh4#M zwS*}%T4#pi9S%jj-2K`dM><@#yo7&dN;+++2}h6oeX&*c(P}_OP4jYXV$*u}viRfd zi2LR6Hu*Y7?E3ZyaR%he&8R(IfT>AE%ybH&^r;%h`&8M__aMxu>WqFG2kkvj4989p z8s(s0)Bc%ieArvw=jv!h>MG~fE$}R?hj-|?;;QnnAgiq4ww7SfKoVeJ*IR368E>Cb zg3m)|HKXTc=8U*lq^sUj_C2DQsLiLs&7Q8+wgXw1z)Fo(g-X4WcTpRS+~1)Sc*77n zG857kTe$pVlP2ezX&dH;mtNPk7aJC<)jfvhyis<%laT~;rPIhRXbPeYsvh<{YzTA( zwuA(dUhl%)xoBost*|Wdmzq_jI0a(3m4nA-akd!+d(|@W(!is*7L+KSS{K`z=CV8~ z7>&_}TG$hiIM(PwH@sOKyse8Yf7b-D670>z3w%ZUQ;2VE{vIj@*1^|GLDYL>mHcpr zeS^@Ew{RRIS3B{$Hv4Hnj9>vSr@b(QZGqYWB;+bO$t`1(veTdMO5r)KkWqK1)=F_8tOJNJcv(0y6d1GyppT~S% z!AgUH?~~)}fg_pFk@D)r@V}2$Fbz&HD!9PB{diDTAN=L|;i%h6nDN2>@cwYnRZhTB z>mqfQVkk9jyU+>~0qvAm2z~5ppZ35z1^?JM5rT0TWmYfqBl7?{dNU^z-F}a`^SIaK zzX((jl|SN=&DxYm>nzvIeWIpC=#n~oN}|L&pQ1RBcrr0)_F{^n2o?9~1UiGHeL2EH zk)@jy&qO+qi@&)Dw~LvUo_sr2rNMUINl&5bN?TiZXln_h?yjG*O;H}c_q+Mw zon`bW+iIjdG0&UunJaR3r8+>eJfI!kFH7^)IWM^1JHAmpZi0TP#3tI9UCbvEnm>aS zvY_5|R_Sd`QO)Mu#mO1>NRILcMMk(ax0M+N@xshszy$r3w8?mNPCGyJryg zWZfQDRjSGQVnjp4anP2JzKx9flu}v{`sAxkm8V%zU#h{(!g2CT1kqPg4Xde~-bu?y2)Mvc4sF*s4m}tI2Ji#-3 zy_M)ZrxcwKXs){~y+75b`HC>cX%j{66r4n3t!K|T6L=p=N%}l_C*2DVyI$d!wEx|p z2-~p!@MoS>r#4-1uA9bIR0 zB@q%X+eh~wX~~KM2c~)ljVEA(m+VufdqfF&OG!O2qk9>>{B(Ds@GKDS7}Vh{%5sX8H2lpM^~pbjo+HeyaX zCNyH^CDXH6N^JR;o9_y?0O$tE;+T^4?a)}I)tmpI^Q1&XTGsN*g^e@H9BxddS`TBn+7sm% z2-dn-g_^SDj45~EI8ax9-$B&^!wye2!+i8bUBsTabfh~po(z4E6IL`ACx05B!hAx+ zahJw}2J{Z_Q&>hTpqmv%&X)i#JUvH4OF98%ZaQInqa3GIbF2oQ;`oh z?r<4WZQ)dcmFsRHajW(^s4U@QJF@jPTrqyl_Ab5GU0yZ`V5fy^p3@^|s#71dWCE}2 zp=FZrhx842}{`4d)W2cm?HdhryWv9oNrBNRi?qQfo>;n?YpQbFU}`jRQ?l)#hd!IRhQ16s?LSKBbO^UVYBsXlW!0|At(1p z37>_(RQaM2P&}3QcQafV@s{_1j6^v*Xfuav-t>uN;)uKzvm1LPJc)fp443N*dE)u% zB@827)2|}Yc{38349_2Y14iVqdK7;2OL`u1CT{WLj>CmY3onvc7}rxcC5AiUB=pF> zAPK@*lbVqEAP8GY`)3T7j4G^J;kRW3*LV>RG|0{4Z(q9TbSW|d%W_bY?&{ae57O^E zI6x*V??|gtN?yk<3iri<3xGqEQOIz(Zg^3 zeBD?fSCBnW{d3_N+eG;*EO?;wpX(5)ZaO;y8)32B)FTCz!_B$y&$54LcbAt|&j16s zCwMro{p4t?glc7E5@;G;dn@PIP$I(K zAoSRm{d)}ZyhJvq&$x{D-&q3IE z4!vUD-jsW|&TrLdACPG7G)95`6ml-$HMM?804H!t6!=1UbLHEow)6eX+sSt6uXc&K ztubPyHf*r2*;gmrNPTq#AZ9$PmZ{arcH>*#{SrDR_WP60PU@O=%|l`Ar*dpB>yI)tn9XSun!9 zD}NU=324aIYfP4+#9%AAp;;t7GP{vG{^VgJZPG6N*^E+df1KDtSHZR4MT}B$;$wvx zN?P=)_z~_`Wb0P8NJlmmhgEa-Aj+Nl5IB0)G~sN($Nnw;OL`USN()lJgsUv*sTSW! z7P>K!Oo1FX513rU91jxDiYtZA3XFzgUVXKBw6LDsXS?_8GQZM754 z4TOdR#D;Q~4~_`)@~Q=I^Q8Xx-M_fGFWq4IL_$ouK271fIi#$N006AT8h^tFg8mke zDb(TSg^LUD10gbylTnh{bF3j@6WXDxeBXd-Al-*0Q7jQr77$8k8|+~s zOR9ha%*KLXZ|Xo$%FkR)6LH>=FuI#!_&W{CUjoUdHH6;P)YxHwQD?I!2 zF-NUX$t4?5yDP_vsqwpv%ZfYqC<)EkHb`R`{Kksu{%rA!&>@Tq_@dtC)>_#tbKoM4 zZM}pK8b$ydzOs-I9=CtbjeDY_o_+%z*f+)nq1&Br(sR_p2H+?!Gb765hK=ugC;tZi_ag3nILyBLs6LQ>=PB@9fk;J$i~Qchrza0fY# zDZ>mHW@#P`_K4JL;=}{4nlglUZe$Q;G3-bYHG%DNSzwkfHl>eJ0s6jS*|A%3d||Km z7x&%*79y^#nG4>K_Sl1io^43V^SaB5;OUV%#Tf8DfmzyU7zA2C@}zuzlAr>c6L439 z4L+MIfT(P*w)zIF^t@l4KZ9UUJ{UQxuge!m%c`q>{4Mwo5C&v|@p-zy7Hdh3|io`SanBoNIU`tit# zP!Z6+CeDIRN&zhNy8SM9 zdda!sKforTDWsafTj2>3h&yJ0-9x`yekucpN`+Pg3BiE3K%IJ$aZoy<$E#SEj~jRt zRw4Sy40|?^3tPEsqZQ(YFw^J7*hOC79^iuZZNSjh__|~MzRB9 zbEkjjSdOC=WU0IB01OTPz2Sk>IpErZfpc7(D@v6HA_fG9Tb>AjJJbq~c zKFkE-%JokZ!J~H*;7j^$G!&#rZ;*n<)qKvtXSFxyAQ4Q2{J`n*_CK7sdOlA3U{OV; zP#P)iCEE^sqDRaO1pbwa1EsdX0I>loE9d7a!8pXy%HpfSX)NdB5E@4@*-!`qu#1rM zoRLQJ3{nHL*zU|y0ZVE={91W9wZ1)tgNtbwE&Mim9nUkdi@;;M+V_Fju?nGN3RPr) z(|cdm!8sY4@9h-p&JH7{&@ff9(bPl}zH|5bNEguSi1U{*f&Sf!(A+}4d@wQ&9NPAP z^LQpY>n)2BI^cDFc==O#_^NH1Xd=C5GFcBhaWLKKEp=-E0??!kfXi5*btzLOZfWp3 zGajWfyYpiBCGhWT%T}>7bF#?*q;I%yStX9D4vel9Ax!3=(0{XDrM7#}@CVF}2=W$U4zly%fR zs;*c~0o1br26LA)nwvs{L?k`9PhSm*^32&IJpEQ{ahcN(((=Asjl4mEj)jZ#eG3os zz(`_ntqwYoP?T&K42`^o4#`#Ho+N79%x%Tlbtn;^*&2+LfL9%nMu*zV3Xr^Ga4pPe zHKDKS5sQqSE1TNO9v$$DV1kzUHMJ}gH##y-pv0m}spl91pu!${iF#^`>8*dfS+bTy z!gxSZ*n)o;Qi}geeG!L=N?#x35qvD~g_pwxgr))()?fWZ-x?@T{a9i?cIDrD94r6J z&o~U94dA+ZB(?2SL#99q>8TuYUyr9Hm}s7+=@0MZz=XeG^lm!{XJQfiSH~AeLJE}` zA{qYKW)6)dc`!#`36U2XqN?rksBPLytP}#q$~BB%U)OSLFa3LpLHbc(%!h9{|HNT{ z2GS5#()2RCo}&(Ez(iUwosyWkd-IKhlY6!igMf%WXh*;+`+AU-FPBVVL!E118BPYFwL{9rE&u#opxy8ng1cfk~ZP}A$IPc5mN35~7v!Fkw($@{*4k*bG{qZY<(adDK# zE0FT9J9okL)m{~fz+PaU)mMMlBk=D+XYq%sYJMx_yJkWk!2tXdS_anR zA0{}u`AF6*(N#WiBEN?qrESJi7KT+}#t@u;8lxoZ2YORm!l6D<=XgBQj(babHq(dx zo?|3)oqxM*%%0>Sy~9uQ^zL0yf3@Cf+whWklAjWJeQctpkdN%ZnW$+3 zJ~Fb>81uiED`zLkYMCt!17(Dle$gsMa)@13c5_orZrc!FntUZJEN9dnlNFaf%J#xj zX=1|gI`O%l&1;eXmUH~c;2q&4@|zVOK%fy_5VL5Z!zb4YUKGb}It8@Z5yCl2# zB$5ot%^P>-Mz8j8?(K z3_Q^2y%$j>z1>H7#-R{Ss3;iyo`D&IpWKB@$|zl9B=V$P>MV;D<8BsQrXBp39d_?j z`K<)`i^>7qL2|^7nN_Nm9?|;dJ{_nV z+Xz1KXJxefvocBsea2>!C7AfK@4EaK>gX;6I5sEp;|2eJ$7xCQvtoMAOX7ylpU?`A z$A1VG2HMf|kK7lM=#F8ts5HTX%$SQhf51a)-oKK4Fh+;ai(f#g|3QikgHwj|dB(In9 zf7BU?;))GfCA4>NWwLw)uXI~7508q~nVeRNyf#Uxula@|G#cxEnD0nP{DH-~PFB)e zUB5I|WZ8=tmXLVLyrTN&GY9@Grxwk;^72Rt#@tVGMt$b@p{RX#hQ`|P*T)gpuZHTF z;;X^~e8Wf>SxLp6rRuKHlfIYXHJ4KbYom?|RJJXfaTS#aKrnk>&+7&CTMH@qf}{@fmm&j2D2Nh%I6-x11hk=!o%!JXT(>-FP?Pr z;=6NCrN+-gHu_4E5xqPXCeNJen6Br_pp=J8*L{2NjL0|q%1ERISdWDCH{u;1IRc*o z#D`&?FjK*(G`u_Rexn02_~=kF$+Z1TElWk?&-aegyPn7ivDP16hmsFx^4og_?&pM6 z&akM&bL{y|r5g{uu2j5yHE5xha!>kTTIHuJnOA!Mds14t7A=(mB0v`p0~8 z_ze5AM9Zs}Gm3_GeT+_R+lLaE!Hx)`aSW|?b5#*RoAr@vO6kIV+7Yt%fwu`N+^}Af zE%PW_-$aGfA^;I1Ut!loUrj=B@%csz!g7USGSH$fUi1jcINLRI5G${{*_N3r-6P_2 zGXc2Y5p?BF)Y*%v_8tlSI6Yw4_auJ3B#P6nX|DM=JC>^DsloZYh`daLOjnbwLU}D7 z@h}_LIqKzv==b49i_1xd7pjbd-p>||nh$G0(LbvRVB4FaD+R@ASDX{KiQM^RL*|;C zMTSk#F8!STWQP3}k#&KTL`(~uE{f;$TUZs{y6@4tytUi;V?4ze%uFG0kyr|a z{4k(n9&*>}w=uOm&2N0!I$ZT@e($sP-I2wodV_`8aL=E6>mB>OD`(cZ18W9f?6=nI ze$%CS>kP^Ik1U4!<9~++@#KhmW&ueVU#P@e=~w%95;F`Aed5UAvi2eWoWZc(-FW}k zG^p)>l6?4I(4>jQ7Q1$jboL&y#(!i@A90*ZyDq3byM1w~(QA1ml{3rH*NC$?f~f;; ze~d@fO3ThI{&}ZS_=C~*GdKS^;TQXr6KmfuX*zXwl^FMbV^hBzyDlYvc46g zrKzCJ#r*J`05fj5bMtauv`$m;rz5nN(dLBEVzJiNq43XYe+9#S8OTnXE25h6y2NNx zwj^!wUIZj0Gg?bu-OXH6B;y@)b`VT_nSpa_=AO;gMnJn#WHm8}5&zDO>IpZcJLLI_ zyPn^VXa0#~3O-j+ccUvaclF)L70GGgW8==@yMeR$Am2?^*F26I;XK}vH4BAvGi2%~ z6T3*AK$@U?43!#R^4{Es82!rqBQ!dYap0FL1Z(z>!7>{gu+6BfKmE?|Lf4F!eGVqO zuO?dMozL65wGQ|~sSlfN<>mUe^Py{Bq)KZC5J03!uhN@TrG+A(^d6BC zKt(zcln!6?wD;Waj&aBNjeGw)49M7fueqMJ=CkISS#$2mbA4S63Q`~`005xSysv5i z0N`LRaR9`G*iS*9%meIQPoR;Rw}Gu62h7vM(HRQi@D6}MI3WJcjsSrFf}6etWgiFm z`39XFZUA5v>A>pr%vnW6UsFZpAIe}=$O(C&aKG;^%X@3XQUgIQU+T@|LfKC}RQ(M` z4a5vu7KO${FSWZ1G*wd8*7({OST4+}W!u2pTWA5|2zHJ!O5HeNgSG3Fd+}yeiRYNT z<@G&Q4v@eD$)F;5rMbEQ+l|Jz#*@c!p(kQd)I8jdThEW|2(1R^7370E;}5F$Hm+Fk zw3Z#<8n+Y0m+E7sW1mP1?Fs(w}6aR$msAl4D-*ECQxieSxp%x_wj6aeC2w^lqQL3NcWJpCX7tqw7`U2T zN;2H*4I6JdJI7f(^qgGgud~5gov$<2y3BMQ z$l80j3EMh&*g=H--C$U=0|4Ze{9(5Ct`KhyJIE7fcLlEf_HHf?X9oo?Q%N0B9heHl z$@zYuC&VyN*T_E5)n3MdOG%Mb-d`3A;0E!w*5(Wv23aR-!`-*cZl5)sc)RlNAy1^Yat- zlMwdsd?F$yBO@asDlQ@}E`*g3@(OVGw)Gcs_qz2P;%^wL5HEXAXPCFMhdak_Oj|n- zA8!RNE^Ir;Kj!BK)6w}Syt~)mS-|ok;%^HR5fc^_adQ*-YY#7PHD4^q-zW6H?crsF z-J~K05HAlOPkV@(FT~yZ)?XnU?El#x=Hm(dqmF~U2m}go!-{%gM-}_GAvH90^#9r8 zHw90e-C%!uVafhCNpEMzf06ZXbNk)$N1eY;1l#?exc?^o58eL=W2JO-WK})veSS|* zQ&oZM_xQ379`?=-vVSf`L10mcql2iB9azjk2qY>gB?NYmzRoX)TI;-DM4u7D)U^@ppkdTCwgp3f#&Q?sw76i5zk`xsKNrI#$?IlI+{y;g{ z%c^^Ly4hlv)7j1T2}A_u{^U=?Z^C7j^)(f^#Dzuw^+X?P>+Oi`fZYSm?hYP)UjJ$` za(06ldfWcyQ%qVyOk7G-Tv9?zQbGzW`7a?8h^H6U7Js9Pi3&@A|FryG7+I`3SZZy5 zTPhad&vUFcvMQbsTW=3fBM%R#0@v?Jas2N2&t@I$hH|j=wpF$DhG0QO#X+)SVzOeQ zMq*%D329jgQ9)5LS<%19dpI~d2K=9-e{UZS`M)jteP=K1_yK<&{cTSfLZ1HZ?r*nH z=Rcc?gX7P(khQh{n+jgGz7U5$^TcBPt;ycW*8K?t>p%W(u>W}O{J${?mX_fi(+zF)3THn3RN_l=R>1>7VFc9**9Aww@5>Cs-b_Twx9L4_6#~ ze_ty8f1iz?6Xf?gU?~$46BGIuWfEK>e^*xIx5xO0w(=tXKR)FD2>ivxVEg^;8P;`S zJ)y`yUE$yP!p`;o<`6^TT@4k=sOuH4L4`T#CAUbzyZ)yRW|Zp*zF9+v{aitxvu!U)acl)@ah3Kbrh4Y zQL@@y<-7XUzBH;wYCQzXs!{oH=3%lpvhvu1g4nCOCJ^g1D|3gm5MGiGxyd6s;^vOq zrCnh&xg}*~8J{JV6qY154&^UzPaprXs?^Pu_1T)?r^dHUcxbD4^hlOY0q^qeo&HT% z$*V69mEdKIn@lEOz)f^upoRjxc&a2JQY;1#28dp169Z0O?w6`4!DE6%Vbkappf#c? zR>87y)xA>pw5oXS$np8eVKLj@>1)SZ65ge4+&d#!UdG8zCcw_SmSX2bMQekuVB6$RJ z&~oaFR}fW|lF;oET0f5ocR1KbKiQB6Vn}lCOzM9G=#ihQ=9rm$C=K^+fkO?r6=2q! zkW{7{I+?{HsCOgMU83`&hd-mw0oUbsJy0b&reXZQkPhTkUM!DDg6TDu2usBJMZeug za~1fYKGjepKAv}0htT-EV-{Sm+r|Ul%jvqe-fjmYjo=_&A5nszyP-2U^;T5YmE;4j z;gT$k)Sao6S! zsvo+)GODVc9#+SIonSCh(SV5`qwCC~z_9a?_0tPH;I)cOEhc5)`ra>UcKu&Uan1`T zOSU0+rw@KAcPlTuI%IzBQE_J@VCo2HXb5@Ez3X~$lDxt^Esd&3%1ku?@P@2(Wwt&!Wo?yuonBsB@${_3KZK;>Lfl=mF)VF zkTyiV0_Y)j;wV=AHS{#8?2Urpb_iiTFq8J;GGRa|uP~|c=UK`j%rr5a4dro1a@F;e zGS33jb@%PG)-DAV`+J>h{c7nuj#OVfb+eFGehi6^T!io&ZytD|;g((a2&G~chRFsL z$#YR?9VVYX(vTWonHs3rHjWUf=AXR4FzyK> z^o%c}yBbP>ZuaGyqxeGm{t$FUa0hws#3_RAT+ep|g_ zMoF$$DY;&V&+??c|om&1kxbxYLG$z`8} zQU6*c&0UwlFgZ(z`oElvYNzWlb$j{wO*d$GKA7Bpg26&|bM;&B^3S}ja3g`ORYj)Y zFskjSYNu!`U2}9N|{!)q{f#n1-1>4U-qTROK1^3Av(kTxfy7(jO#LfYJQO<87 z_d(@&WB6l~)9z#g#z2*dkM8|UhTz3_{9E6`5_Rbdro>VbOl+h)pW&}HBm}|p1#-`#ad$=|qopM!XA)@=u0_6)TTs_lI zoNpLP9i69}YZWc+8eY-RR%{~6BrNS3>v85?;RMJ=WF+5Dc-B-?ZE;Wo*0lce8|7)B zkY5njYBQn{9s(0X*?lg(gqDT$=Uvp}YEyOLqmfJ4wf=tK`?xSP5TFolFLbxp&;Rh?<$m z>YI-Jq$!n^MZ{m&3o%n6+9~wyv9O2f^i%w5swG^oOwc&ix>Y1>nMWOQ6dVQbO z@|?Ygm^#&E?sb)jD$Z>}LEc-#TKtn-A}$whhn7L2nID~k2QjeL59ODwA8$Vm3J_QZ zMbmcc*u4GbLh2>)Ge6R*l2FRGjH%TnIBg$KzRT9g<{}QU`k6=W6ML!)p?I+cE7kEA z`3xrV&Fer=am|u3q1xdK@`niHO2Ch(kHLw5;d zbb@;P?lc3YqAW#MS3^5v)yyBHunEg>ekSCp={`mV5yWhkN`-%xyi(>As$Btek6RFH z4$;kezFK12%c0&FVP=`r2&bdQz^EopS`k0KjXSt5e3VgLGspD4Cg^KK^4zp$%iq|D zRE$_JMiJoG0a~NIlcNkH60?+_1*`UKHQAAz83M1TxQB{5-U$0t!r$3doRK8lyTa%bd1c~`JyE& z1T)~P7A79_xWIJ1HNoi)b?QReP3!lOjxUaK{Hvo?Lo}%7C-O&hNfqiQhGSS?P%Ph; zD;wg7k5ykTdug1<-0wE{jqRi4_F?S6wHe=r7QZxwZx<7vcOl%I{ zT_&J;b0_S=AKF22z_z%>fcIXLNuzqS{X_?{T0g7VX_@H;9#8}pguusbSuvf^gmZxL_WA07Pw5$kQcC;b#G3qC4 zgFvStDf7V@2qpq!*6OU(G3_S4DW?=_H~2ptGY7SHaR zHI(noyAlSe>^)l=c=|+3Z~B0;UYnoU$K;OIZ=`<~C@+{XAL@D`ED?i3+-T=x!Pl~2ST-TF#+)J$*J@%7DWUS2%`8?Rc@}8K?tc4~Ejbqx1qlO#N_vG4zXHK#c z?gQlMJxF~YjQfmH0itDvEPpC&5Zv z;gGI>RN*`-#9Bp4C8nNf_tvPZ5EGW6u_j&O#3q0#oRZ9#cta}#)G%1DWA7%?&3E|3 zEV*L=)sB@P4+coxa^T5uy12n)2fl59XP$PQGTa%%i#ioWb^$O%ruGtcij)K@l7+l zY)xkpxv&y4R9IfjpG4cURmXnTIB0;i30-Gj30or&0j8uj} zmmhSYq=!%+8IkqYY~1XZ!`918Ixk1E7cM0NW&%mg3SLWhPc(QoRCN4cH(}_$?H4%n zr0?BYr1=1+;h2CZZcyV{oD)Bd6u~?AB*|UF_9Bs2!^AA&zu0WUYsWqjfCh6$_Da8O zr@tk`o^0{2Ug|Mc^6N~}&Rl;*wMG6^xh$8m3Srw*L9#JBD0I^CX$O91k&}on6WQ1Q zvKF}W*7NHj8-dibSFiqI39RiN%ClO-^QxPBi$v) zzb(dgh?4fSdEk0o^jz$I{IW)UpDv+>)5SK;Rom@<=SJS|?b`MTeOb~^XPmq)s z=!%wq8Q3c6sh4;&H47VX>6OzsB!B6MS$x6M?tGz9TJBo@zSXU0iy(zl9XY0%Zho0DYuMICr6*~K^A*@gPB7-AJk zfe;IH1xw2UN0Q6MQm9T>Q=VW!?Jqo*99!cb*L>Hs$)S^XNmR_!kglN7tQG6xxSVt z`S?>G z`~JvG(iQ{!jCBi4&WAWQN>HXthP#J+B5rWOhg&C}giVQW0bgk1sBCVi2FE^s#bF0H z;n%uU&8`)DE?7QGCuS%bjMvWergQAsEu4!R;H22YC|x1Fxv9R{Cn@CvzA@oOf&)8* z!9bK8Q~H4VM0aA;?Rtjn^Fd!VtxjfD9ujPb`#<~by?@j6lT7C~^SCYta;JgJ0Aw)q z3i%cZwc!!P%fxST=(q++Es7wj^DoT70&aubQ)$^~pO(o&>(p&wM{S7hZ=$L{!sik}pTn5jX04 z#rVjsYtP(86`)ml(89ENl!rVHUn-xcsFik#pG9&bp8>nI@j1%0{CMrbtl(FZWfpai zDWn(DFIJ6h@;PLaL=ceYX(5(F5gfl}F_vJu3`i_&UR|+oK73?MfOLiWeb);mJh}DO zcaM#gq=3p_+6f|p<3W&qVMkY`{If6uVaf`L=5w*9D-cx`eNEpU@M{2hUjKQ*BWCHP z2hf-K*wc|)8p+C+IERh7_wYGTkFS!DG?2CpS@cab5Bf37PubB1hh~dpM(6lsUA^9e zNgI%-4F{-r*3mV*4|JvABLZM^XFdSb|0EWfq`Dw#qbqecG0Z-bH4&-ccuiqq&eyE50F z9+>2WM>GU~sc+N8WqMrh-Een&yMV|0!EDiQoHk{&p>t%GiEGtbJ8{Ndz@ow>TaHr_ zv?)sGwbo5#mO_k2wI8EbySE z7{>W1fPY&yo=6lZbQzyAO$c(hK&gZ~Mr@ugJxwQPbc`6A2HW9$&uMreE*R*JPf0Nu zV}&SAoZPI9GV&=`Z)S#(y+1a4fb-eu!n8^Nz_v$@Bpc{^CUC`zRka|+WCzR`^%i-H z^IeQK=!(Rc2K)U+jow$&Z8vL{3f68(5y|F&0?A{RBFbc3+$*MMEBlGwlApMQ8|ERO z`p$2D)vRcVBkm1F?Rpjyyo>Th>}Oz)EsMOQp=PBP)i3&=zV2I_ZghpM-Et*zitH)soM#& z9m4#8X@m!`e0;^6^$7tMNyBI#$zqB`qR{M(gLBYTL<#}2uao6OD^W$n>0-A8<*G~E zf_If|XecPDnO&PVVFiyluaHj*t1}86^(7g{V^yA)Z+gMpSnV~SE|3cF7g)w!d{Oq} z_+?S8GpAXcog*culO&c;sxq7e^W3jzDgXceYmvw$hDeXre`hs0dLa|reE2b$5{D4eOL%{ z5t(A(P74(uER>eKdNSygpF@yzWXk9K)ex`nvlL9s{o;H9z3YJ9R-HnpOxAc$&Y-yOH!l3NMYVhAtCN=E3^4(0Yep zc=7PX72`Cuf+kf*23wEUu_$O}nHtgW?P=~3!ibh^kwYEqaCQs%9ev=-j2GLM|GGs| zIoti=uK3s0P*42sB~Mg2$1B;ea*Bz3`M}K8GE~dAxSoSr?0yq}`gXXlvq?1wn`?s3 z&GY){w)XY*TwO_<^LAM7o*X5EOQ!sEV9fhqs^g-R&_dL$?d(|dPludkJ4rWv>||x$pa4{Ursx$J zDjtJufXBRX8o#9Gd)}XP3L>utsx76N!8l;V#ok#=M|z?e$)w3O*@eXV{%#F`y!E0^ z*gjt&t6>M5Xnl*M@?^P!U6KG^+n+|%bH8C?W(karIp-iZTm{es66)fF(rm>w4B_35 zzS9W99%G-@Z!d|TI#bYFbWLn5>;JkJ@H{~c$LT^LJoxZz<5^dt)$F`8~P3 z{IJ8B#=p%HCXjm&r!KX@nQLnCTHKU+bLK}>O!nC18vVf0m$qw3B)?2T(TmDogXOUA zReNFBOu}O#a;h#d$8i?=?4j)NxUpV$hJLelSBxzz?DqqBCR8FIU$W zYeTgxk{?kD&z&5n`|TLQR3(+hUwq}Z+XsS^EDfj!&$$pfsnD~UPRLH}Ucg88B6I=UsTLI?)N{M%RqC_5`K9+htsMP397 z=pD;bcet9pvAXb+LB^X~=RH=b>oV_pA$B9mMr|(U2g{ZF_ifeBT&SZql_m|k?20v! zo7U_&!3~6ugX?g6Pq5W=uWuyT#sL>d?WJ(L5V=%Ca$H5tn4$^ya)-eE)vMInWxm9B ziA^8q;F&RU(wQ2<8fvu#M;+j2yQ|SdT!dTtxKrPJKT1!Z(R7XpLi#ZomWUzjB%quT}KM$?aR(`gGX;B}!v=nOUn`zZENqMvKq{*Dwl zBCBYnSme|ydaTmwEB`T8+^*%DA<9ZB`corv8r6ZkrA*ICs}hVmrR}7rhQ4%+-1#b?ZN-9Pnf)`; z$Hid%OJZ~0m-7md>z*D|@JE#>Z5>zlp$Dy1o);7LZDcs*(3at` zNw7Rrt3v0dVsUc-bvDmT=+|-F$Ky}G@4uz>u9Rmy1xp3q&ei~34VGlOw*1(@_kG~o zSvz+k-7ZDht7MDiH0|g17RkWuX}4k zw^$(Wf;`i-=Uy1ms}F>mmp9HB(Qy;Fz}ErG$Pza zA-6yE9uvgvI{kc-Wp6##sr^34EH7?_l=;GZ2+;vAm#CWwNmp;NhI^LTe7`N%?*wL? zW>U~R?#@VeVR`u8BYcz|)Hqb3Bp49q55i5xz{5B#Pf$X9KV@!8rI$eJco+L8gAvzb z_xFtx6(Xg2#yp>q%vdJq$p36J@-mTG5IxDq;iYvC8JKl(Ib@W3$Cxylr!0fNs`16V z=|v-R(K!h84LgWdu*1O5JZ}4@4K`B8uJTHfzsTWV}B@ zAtuM81Hzh0=~L39x_B!yCmAMdrvmMM_4H9eOsBo0svOiA1#Nlh(X;Ocq>FwOxzVI- z?uOgfZ=aSS4h%HWV9DmqI4$T+3woTP@4zh4Z)*km>Otd=cVv&V;X$yOu;*%ol`=Cs z(9fzj!)hYMgrhqfhWn4n1cI6>983U2E*D{@>sFPrHOvnl2h+BZW~1+x@8Hp$O7tSyOcF1T>j_Zeas5@blSfo?y*wMU=> z5wt^=-FTw!%F5GQ0F|ho*I_F(CyKtTR@Gw`r=Dn2KH&;G#lkasxGk>jbdLvOso{ut z=ic-q9eO!{Jf3Cvnyh3EL}&1$pKIWZK}JJJ-VF~9H!0jJ-U-@v+?VyjGg{q-vP^kh z2&;~#yjqv>W)4gDf1JhxQoT~eLa-^Dv!c7V2ApiX&>?0?pP@U|3*I}oweftfdI1VO zPb7U?6H8Iw7YKUpulb}tQt8*EbZ`2fhD`snK4roAvE1!QjDUnbNfm7Wfkj0@gV+m%!jn}VaX5v^YnVEU* z9n(D&3yQ^MlJ=i$A+GSoBVOd9KZvw4j_Un0uU+w z-uskRwppHkiks91%Iv2dQzShJ7n6Wf;k5(gaM%H_2@ne}QYtgw+{ax)9wNiwgYdG4 zmGR%c!}rVu=A!uE52b$mi4$)OKyi0igB58r(NnJTEfM!|1mT0>=iy;RGjbsHbMKX@ zCb}1Va0-gf!X?fZIZ?Jm=(}jc@aJr4>Wc0)F$72jq!3@;ZJ>Gajp3;xz(A0_-x@{9 zC=c>U#CXfyYTaRu>C<$(@*Bc9M|gNWWmMlOy0i(eU;nU_#sv|Q*3&qVDkAQx9C#!Y z>JIgACRMJ#c>oZ>3&V3)t!QoD1X2^|cO&$O?O6Z-+Lqt701E00P(l_07Mi227eKmq z_!E&oQ@bfT@b2^mj${DXv}#l*iAtV>qs{uu(+OqYG0e@FwKlrdiYwrWCL5GYk-|hl zwj-dOI|Dmt2}XZweO{mwMXFW}|2m!T+?p&}faT|F-6W+_{bSMsuZ7pjl#WM*cZ_@8`;?*b14TvR9`_V-`@MkWG&^V7GM_$qKHwL?kx&t# zMY+3-ANp*qZsDX#6(^yjN8>Zs?P+%0(Ab|NroAQmWCNdD@%##AZh$m`9M}SKEU1K7 zngbBXcibS#Z8j23+CfM6S!%OgA$Q8A*^L4Ka=hGE87H|FE0+qkyV#jc`|Z zyK|h+rlRxrd(jt?;|53EmgMKS8ieV6GvdRmpOG?rK9N#Zoi`riV8f;eF>CxWeA$oQ zpL|fn4N66ADmuN|t%TAv&0IQWL%M0iS6 z59%geW{>L)B{Qa(Le!4qW30*xE~J{|$Ztzi(e-YGn?sy5_HoOKXArZAO6765-@T!m3Z-N?p0o2o}22M|kquf*HW{nG*M^(28h5V3@6rAU0@@M9!jo z_Dg?A!FUqig~~@;l15;Iq!g_%1~3r{iod%ri6#SHS7aGrLvTuDGqQs=?2HY@pk*cY zkinW5x7s@Amm2z-FN6@v2`d>0gFc{#$Fy_%63nJ^UqAsTWU%OgecFfAJRRc5T$~&- zmPiVF%3)^Y6VMfzu`xCaQ)b^rh-!^;y@Q)rCgWSSN3W5`LGEgbHGsTuJwSI~Z6^8l zEr06ws|%^ih3O@L27V~w~DG^e{OT6e00 z?oIBzx`m_xb{kgeQGax#8Nt6I-Jvg9dJUIwN_eb)N8E&dP7!N(Z#gFv-)D+Te1GaqlqR0sfH427yxDJxeOll!^;*@OQHC?Bxn>s5++f2N`@x@+xJ56#LqPygk_0@kM+$!H!iTaj6Xi?Zru_ zTk~Ro(8-d@vI4`HP~KBAnu}EA4EuqrwTn&BS|ffL#NdCWaU9CT$G)?_PCtA!hq=%| ze+LH7enmAuck!#xmx3W*vEnBqWw zah7fGW?r1M=>w9I_LL@2Fe~`^#pW{3YrJCumGjl#PJs{#_9&D*<43!?1P&9t5vV&U zpgFl6{hn=auoTR5`(-%0{m3J#V=cY+yr!xoN8UjCd~Y#d8PCEd`^Io)1$qx)5uii! zk?lwYia$C+p*w5QUk!V4`6mwvB0mOrL9Bso8#s`R8ta7~!+dmN1^Ri+9nqFmF47eBylNGU%Rf?6eqW^0wKy^G3BBxMnC*@a26Q1>*JMs|@E0GRZ5J0#-SCvp7jv z#*?zLwU-~Spi=5zG}Igp^$j)=tkB0t_nhMyie@MbzM3n*eM(q#PTVR}kb;nRmn;d+ zRUbT^H}z4hfm$Tr#nF`YA^_oNWGy7L8^eP z0jZyrcP78wESYNeZ<}SoRfQwqw?w~9qgcKAJVg=%#WsdOYbE!~mW4N$R^6zMeW8Rr zbwio+rqfv~psMqt5}gV}Bc0OV*bzC4X>YxgzF3!-ZgoUi#22uh?Z$Gvlp&glw!+%( z)~}BmuGLA+c&#Z)rZITI@}yA1{);fJ<5`Ew-6T6kwplzfxc%XKo$vi`nqq=ze5Kdx zHE$OqdwR;4<};fwt#7-ng|FCoQlyQJg16`gG{yZ8-Pr0S*7ny*2}N!_wauq)=K1z+ zWf)jKIUQ6{(8o2VmnMvVM{2frD1iJuk>u46u82cgUyZD*=f+Z7g4pCa%aeT{-l&#W ztTuV`GmoEN3dfsA?FK{vvN!;PD`JoAy7}*)D_;S|6uOq$tSl+&j?&7*vs{(I zME2I^6Voc}x$lDg*kEQHW{35Zubni<-74QvmGs|gM*qxGw77{)j9Y%us|cr$_SBC)+9Z+fsvanm`IrC|gCEycjGk7T;!^Hd{WOtjMH zzD_DRLCNN*{42)NvFcbKw~<1+v6W9`i)+;J9gM`DoJvS@>{pq#F;&IUXt;H%O|XGFBGb|?AK+;J=S`V*n%#xB{GC$FrQ zHA!`hy(?(&!=6jPTU_X6TqSR~*QQQzu~&)-mu;arUT_i1c^iq3Ht>WsZWDO@CJuD9 z$;{vQZa>q;Y>TczG4%EPrzd7%cFDU(acNNvMifAZX3B;_JC4T`m`Te+EXQf68TnG^guUXV^7+pqprNV_1ZX!ZuOb$S7DpF zo#Z21HYlQdqHl>Ho56D9Z6EBh`m|4=8j@4H!Y z-5P>V{ns^#Ev0mRGHU@Z;mpUp#8DT$eghrZjAGVnt@e>eoM3xbNlD1 zT25U(T;6Hg^O`+=d5HDLUub3=zZfQ3@4qH2e~D zC1+d9j!jFhcWbM7TcESe22I7@zacuPjX6(^X)iS@jUo#|lp-}j>K@fSrSBs|e<8X8(p5axIMC8jdXnz&c72vo zM0e#(P@+JQ$PnUM8p?pGzYS*&H=NUZMbg{9xBI!_@I-@lY+Pzc+idWB`&MVGz%&_@ z$WjC27T0KwlasX8niiKr8ZJ!fzS=*_G|pKdh|ObIEAn;4awxu% zHEvG4f$7{<*KvgCNA;ChG3$Q!g@#FDVGJ(JC|RiTj*-JdJ)0@Z1Oz+Nhpcenou+jU zP?t#2t(k@ZC01+_|3&Z3HZlap123_vKlyD@)fq10*cff8HJqBFspPBF$$rC!t?JqR zJIX_XhZGX5ga&f<(w{H!R}a-48wtTTN`-4m)GV7Joosu-=pt+qr!i%MsFpzZHUF=y zJqv+{$Gs>?|LkC|#}mWsk`b6-Uym@Q10BS*i)3E+*7lhKFB`YpFFfJ?y~nZ(PY%Mf z!&h$juq91TOW*1$5`ba z^P+hkF{e}TC{afle9tLKGylv!=-&Mcvg7UN^-8##_=Ho-N-14;KkLKJdWApUzz!o{ zq}%WX)HQsgUfb8BjPso;)qT;FWX`aLSCr3oT8j{Ho-HSSso zz**87xDOO|2w4#HZKD7wSqvMt5GiSbdN-Z#{nOKm$e)Nz>$j@Y4z{W1DmK9B71#8b;( zsxL1Te%I;0pM8q5DmljU#c|YsRAN<863!TIUC^e<9OhP&VZ6kBypz+=ATBtsGk9RW z(_2y_P)+?Ntq+Kn+~J|t1B|1~xk0Kg#cw?GR_gJY;*#;qj`!a6kAnl%h+UHEI(^?{kR7$EMAG8UPhkaA(lijqBdnngYtQC(QuNi?U((sGDPC34`|z!pOajT z`QBHH7$}eMd=3GP^;~O2uA0>9DP-6yNxj`bAcep#nhM{7=?L^I4V*TyWoC~=9joq& zVM`K#+cfE;dIO9+`muEYKb+R088VPskPEa-@FBq7eM~pIcx0=KaLUmHZHOY;c9>H3 z;QMOQj*t(}T@Jx-qw=TL@TvTubIH0C|9+o~)F$;KXBT!Q1F>anx2q#vOn2y}W8lB; zDi76arg5@@4j{-zlzHYLeBr43ccM5Pu^LxKI$rLSt=vbs(j>*YoJI?;{z%;#Oi-&HHvI5h91q$ETC nQmg#G76kt1O#@WdRAO8Fxn;CBSF!)#0?<^`Rjs{e6Y>86p{%Uq diff --git a/.cache/brands/integrations/dialogflow/dark_icon.png b/.cache/brands/integrations/dialogflow/dark_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..d930cc280516a6c77e2a3ecd52fe8662293f7356 GIT binary patch literal 4418 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 literal 0 HcmV?d00001 diff --git a/.cache/brands/integrations/dropbox/dark_icon.png b/.cache/brands/integrations/dropbox/dark_icon.png new file mode 100644 index 0000000..e69de29 diff --git a/.cache/brands/integrations/duco/dark_icon.png b/.cache/brands/integrations/duco/dark_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..015249e4e30ba381fcfa7659a99e1f7fb3d32eaa GIT binary patch literal 2203 zcmbVMc~nzZ8h?bKfRM1sVo^X=Sp;hZREj|o!V6>r0>~aEVUaCbh*qr`pe$kw3NBO_ zn7E)-88iVBLi`-pu2n64;RQxFOQ16&xcff)@9fTtn5FzXSKQ3u2kedZ${h7@r@ zG;6(?XwggR1-t+^s)4`+y8wn}02D+YRFEQ)M0N21kH(41ri5wQkpQg1~_Q~_4F zpb23*ut4k-;%E{?8Pw6P(K^7>q!d&T*;0W0rCz|4Sxo^*Drf`=Oa^&CLgxRupyEYG zLVn&ttdU(9V1N!H^|=d#MXUFuil`thpdhKx9?^I(0t3rB3Q9)=6%G2;z<$UXk^va0 z{FjSNkYfS8BX-EiOOP96BC&x!#Sf?{x&yy8FjeYBm5_lu3uUo>W&vODAj-fCX#q%q z>p)p(Hnh|KiNM_U-RQw8@G!VyAVO#$pf2dL21c%4LI#Pk}%HFo-g0s<p<049gPbGF&WkW&P?yK{L1HTbb>f4lJ)za-!njV$>ELM~lKDl-jorKjPke%;Q54b{Zyn1e_R} z8%jN{2OGC6#+==&`iN&r&{5SI9#6sH_^y0pxVSEjrSPw0sxn(GPg%T6t8^xOn2ok7 zF6PwiWOYrh-R==F&btwQrp z7`@!UvpvgseL{^50{dMj%jxbRch?>;d?Roc(8A#M9^Bfdg%X?D2k@fni^6->7RI;a78OwQDt^7McjHeWp zWRJtIl+IBu>V zH!c`wof;>cRkM{H6}~>yKSCHBau_-VJ<;ck+6-Q^ZF7gNk=6`pPp*u`$c%QWDalHI z?Udg7D2cU%T5@U(YLcq##f92T_2W_hyb&PIB483|ac3f>VdB=xuwdfa5BhT$$XBoM zp{-bFuFzp98XDXg!fvoha9dBmYAjt2I$U5S53Kbh3B$v#nSah%(xr-E;1$# zNIs70iRc5RTB4+XrwcF@5;A&n_f?*7A2oA)xWP%=GFl6N|W z^GJ=&@<6YB>9}t3@5a7K$9Gk1%+EgcjZN>^C3({g6WN}KD_i_0I_6>|BISF@|h!#`S_w$vp(Z>vZm{*}?o{BvV% W887U&?3+07WrtuAjaYdwD*ZoUyWF|} literal 0 HcmV?d00001 diff --git a/.cache/brands/integrations/earn_e_p1/dark_icon.png b/.cache/brands/integrations/earn_e_p1/dark_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..5ca4f04f7301ccf7db9b77d986fb44fff696a884 GIT binary patch literal 31551 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 O%K;`>oME*AKK4K7ET9Si literal 0 HcmV?d00001 diff --git a/.cache/brands/integrations/flightradar24/icon.png b/.cache/brands/integrations/flightradar24/icon.png index 10d6a11bbac5464af1bff8401df86a071dad7ba8..b3e2cffa99e9d2b11e4da6c711826010dd6788da 100644 GIT binary patch literal 43923 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 diff --git a/.cache/brands/integrations/fumis/dark_icon.png b/.cache/brands/integrations/fumis/dark_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..92093ea1dea2cb98645043d61ee6780d7d653654 GIT binary patch literal 3865 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 literal 0 HcmV?d00001 diff --git a/.cache/brands/integrations/google_air_quality/dark_icon.png b/.cache/brands/integrations/google_air_quality/dark_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..85af60ef4abcd8cd56c5122a2920213e1a47a812 GIT binary patch literal 9780 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 mgkc literal 0 HcmV?d00001 diff --git a/.cache/brands/integrations/google_mail/dark_icon.png b/.cache/brands/integrations/google_mail/dark_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..a9a97805ce4e050406eaa19c4dbb4afedae09ab5 GIT binary patch literal 6219 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 literal 0 HcmV?d00001 diff --git a/.cache/brands/integrations/google_maps/dark_icon.png b/.cache/brands/integrations/google_maps/dark_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..0bddc39be4488f4d717556adb16f11af071a2dc1 GIT binary patch literal 26102 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 N002ovPDHLkV1liuV^IJA literal 0 HcmV?d00001 diff --git a/.cache/brands/integrations/google_photos/dark_icon.png b/.cache/brands/integrations/google_photos/dark_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..1d51d84a243b146f22de5a6aa9a23c1c3b813de4 GIT binary patch literal 17186 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 aRQv;Dg=W}%u5L5{0000D#}P{ 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 N002ovPDHLkV1liuV^IJA literal 0 HcmV?d00001 diff --git a/.cache/brands/integrations/google_weather/dark_icon.png b/.cache/brands/integrations/google_weather/dark_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..18f8aa53bb4e356e8597472844de18c75bfcf2d2 GIT binary patch literal 4631 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 sQ9Fo%>A1S|jCgz9lk)#B6_XuF+h($ literal 0 HcmV?d00001 diff --git a/.cache/brands/integrations/hassio/dark_logo.png b/.cache/brands/integrations/hassio/dark_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..53caa9c7ddac9c1457e0c7eb423bd5d2347422e2 GIT binary patch literal 19190 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 XF|WslR5zMSKbsDuFanzVW3v7S+&3kL literal 0 HcmV?d00001 diff --git a/.cache/brands/integrations/smlight/icon@2x.png b/.cache/brands/integrations/smlight/icon@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..3c0f511e8251c3acf0b6db0e564ac7e3bcb1e2a1 GIT binary patch literal 5521 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 literal 0 HcmV?d00001 diff --git a/.cache/brands/integrations/smlight/logo.png b/.cache/brands/integrations/smlight/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..9948fe61e203bf9f92e3879745e6a438fecfb3c8 GIT binary patch literal 18244 zcmb@s^;^^5`v5$8ba!`1H={@Q=x*syVTg{F?(Q5dt)z6LfWR1yfJhAxPy~_EXYbGV zdH#dv{IYB3y6c?#b@xex7-|s{Fc1I$0Ad|&brS#pD+U0-0042(JEuQ-zMy}wJyZ=; z0f2Yugb&U*=>HgjCR$)X%N)}&`VX6{wuu1%0OJ7wBGH(4=&eW;01zY!0Gv1h0H6W@ zfcAMwudxCEpgF3eu4?vbwIijm>Y@krSE9*4IU2 zv&JJKih-u}|MMEAXDm-Q`YBSi@$kx8(X4xUaKp0iq_?Oc+57lel}$spcguF;2awtP zG8|;#xNIY|ym3so+_ho0>D_SN*yr8g-(W9gZn<2)5-!tV9A+l6{0`Q9c;~(vZc~{w zDw`Ie-)oqPOpq{*=8P64gvfG9Z4B&%})?N1?Rr`k1G=*e%?fh zcm#_m^u-50jF3J|iW$Dpi3Z}uvypv>PhlRV|#ip*j?>{-QXp3W?Ea*D?kZwOK zs?Pa;@=RwVW~AtL<#=8tm%{u%C@TMK{!JM1lT=IgMFdoAl#Wq$SpK`y*Ow(<!6KQC^# z4#IVVnLpi1&qGe^^oE7**FMrt8i($KlJh6bb5r;&Zf$Cd_V4ox)Y9lrG4^!v3gYB8E!s|NJ1Lammi)3DtTpY6b*Z+$_p$2Zqd6WsDaQrapKVC6qw2#x z;ibX8+Q-w(kjDSxxt0;1al_`Q`qv6Y=OuNKDZ+N4;;?4~G#_v7^;TW|D3`vM$s{@_WnyY*4e_In`prPw}R?Dj@tznVYWGnMnV{|7Djap0qE zh6tw-4M-4FYV?sdQ!CRa@OvQrW%zy~_}QtZ16#SegZ2Lotxlg2pE=JlBn;Jt%0J7P zXCwVwIm7+2IHQ%_h#F?p{i|9o@6`Oi>rsc|1t?#t?uW#Z#4n0R^;3S39*fAY%W$N= z` zj;n&l>#$$2yQ=?Ja+vFtGX-+8B==-_oo~+vZIzMmm>6=@%S(f9iq58Rf zl+9~YOS!rE#QeI3YJ_j%l5wV0@E_HGOac19n}~T@!J!HwLkarXn(ES0X1~pq>_5E+<};j_Xr%AS;8%^40n3-RB3bQu?_fwV z)yjDFa{RfDILJrHCE5;1Lhb@HSAK1X`hSW;}VvVp4L z=eGB2M1aQsaHQFr z(>zw&?I&oA;TL={+xPbx`*?Yz_>n&N8%|T z&x_YqtXni_tgn2u;ETtugiz#ViPP0m3*8fsnlq48KzH5Cv6Fho?&b^ErUn}v*Ry6L zM~eR!{#VSwMv0McQf&H?%O;b&R^V@EhD^ooOAC2|3|(C?5X7P8u6YYrK+e3-`;XO zrC=_#jAAk;)T5?tW%>jqIY%FcE9TPiqj((`Qa*?zBl7-$X)3yy@(wScRZQl9* z2P+?ceG>oQS7jBzeziShpg!m<$4Mu2WCsSy)$Z3=$@a!#6;InY_g<1DPb=3@};Zp+7zEYKJRWk{%-bv z8We<+72OM33h|;1gu8|de$iNXJ?_UBQDoxnveW9_tRWhU%u5&Z!$V)gcS88hcH&35 zw3%{Ea|1aK9e%&$gyQ>g1M`}qoWR+d=QtCRU2*uka{uM0hjzfv19=`Fyj>`QWc7K3 z-8O0)WGGy(!hla!GE81h)BVPEM$%>27exX1G1Nd$FY5NY0X6 z2Q4YWN@*1AIMKN>b0t=EP#d@*5{3> z6QmW|e8az@VLB_9gG1A>dp_Pwwb#`!_ji3N_D|$N(^nPC;-N;jnSgK7-*5nFa`*Nq z!Oia5`@oq|$ID^Nrv2w7dH>pid7ZM%4<4r?F63@3%rD0D$A~tG#yBc~1esFxPA(~8 z$wn@r@10Y`l9I%D7z{A~VUv9;8cHN2$L=l|-%7Bx1E~HEqt7VCaCa*>w(jja*$&)( zC_7wnRo)|#Pz-B4*|t5pS17+4c6F}}DL4tgF9{)e9!dv1a=bSjs$Lf7L!5kVigx2N zFx`D=*}Qs6qVnfW$lqm@lek%uhpxP}^f)m>mRb8A3ARz;G~-P7Fw*v-j2JWk@OTO} zS1otsc4b!HPndDWZ*%29lD^THswZtf<@>as3(?P`y5-&HfBW$?0g@{CdcPb_WtN#v zTL5=vsN{ySof%X~X1%Kpd{w$Oy1Kv*DE1O+t_$i&>@uO8m^RS|Z;Y%OX(gT0xGjvV zrspsn<`Ji7E1sUdqbRU&j(v{LoCXnAGe0RgfS7k3;dzk8o(w!Q(Nk}@Ozg;CK1PLa zWtBERoN0(uO8`m?SSusy^xk*>(>y}-9W!6e+5c($e)i$2b$$LPe{YO%r zu98nhoT47D23dL{g{vbfjw%aE)sGfqp{nUhn*a1$tHkzKcdyDw1|4Y^Z=p6CgT}!R zP5(%?S21W8caZP+o{0(7W}}Fqb4{yr$?e^=2rX1O>e)tXYTqrxoj)jDNuBmHjCr6y zN%siNF&$-Pv$Qu-p*duD6oeWoCKP{G^@!N|4VO56qtCnD{R@>FX!r0I`E23C*^Z^? z9ww;R5UzGihB@62_H0hYV4|-5_a*MF`ap1l4VDvRG)3&kc5)!eicJELAUxLvK?%cP z)<~}~`u3w+lrhE#KGx34sw1`U7@g;yR`ZhaShzQzr9%EaYb$&F17nSHRrbQY^dbRO zBj^$5ksr3xc@bi>5_i>(lg`UvNDw$8-0(LyFatUdc8@W3=!WM+y%zG zT(anmR#3D$iF&^B5}_J%m@Dv0$)HpZW8BS_xn#g^>9wO#DRM1D6@Mokvnzu{g>_u@ z2LvEeWr{Kb0SA0UU@vfexwkZf5!X;cMGgMTw>qbYdj)3Ist)=IFJ+q~myV>OkFCU4 z+VR1gzLnzE&kq!&1#ExA`__;IRmtYb4!W?E%-eVU7;ipXq7U$K8({IPp)?utp$ z+;Zi$q)s%-?gnWA?e@DOV^)1LC#lnTC_BvCkyPsmfUheWFnUVx!@pzg0u)7>$mW!t z*V)XY8-z~TY8sx;jnur=9w5p2+U|v)o_Pbt?B@ZmxMF{kxgiezjhNJf_w^3^>@==Sg-!dDxx;E@C22AY^itE zxn@k?R)>Q1N`!<+Gz*XHte3j!ENsR2%KTL_`+l(?EUIjgz z=b%u`B$3U5SXo$VEFY1*ZvVe4FfTDZE*V(t~0 zLDd(bDl9@tG8<4-9tYLQMNC?)CE{X{(D;1v*u1a~#n2liTt`i9jUb7AY3)Ut`)-8+ z5Rc#kza}!7W_t4YrYNC4!u{R{)10+-e zx@btsZ{o&ixRQTDc)D=y4U!OYCT)Rwy$bQn&kbX1LcG#QYdiO9n3cQU_MvYrUJLKx zHeUWH=VAPJw~J4xVuJ5A6E+^8zf>6R3i*6qMa>tX=jBLMHFm5L1AbgZTw(O)IK26b z(z+t{=Aa^=4rJ?CA;6Esu%WR49+iuds?UAswfOp4p8GM*F|$u`yps;lTCC~H|<33iqc`oCeO9}@tNf5t-*|+jwD`u+d($qrxRb1JH3qo5%;a@61B z{wsgOaOaZ*IrE2a8keTks4Z;fErtVQ@2V!C!jFVPs{gJ{dnw_N`X5+uci-6VuxqXh zCV}S_v-%vB5Wm;UUiEQ!V@Kr+R`lJ(Zgq)eddZM8n=1ntVA*SkMw&Ty&fz$<&ooCaN_F)9-a)q3?m;`34NL9){1ZU~R<>mO*e-rI7 z>Jop&*RV4Nm1tO|8%SV486+R)C_R3YU2+tHlOkCwBKq=LNU)sw%+jKMIDv9V_)mZ7 z$2K$AY9I^;WKK%>e`(y~G+K`y2{>r9szhAvC6x$+IlnTEySTORG zXjmQTP=+Cmo!N-Y`#}TQ4)K4_Y3_9JhmPq9sFkAUmb{-JY3no$3M~yJ8G#zru2?p; z0Z%f+mP|HSxf8}Jo<51Lt5EKJ`({&PQ>gkVOEs9WHd`+=!-TIx{*ki+SyXOT*2bP}LJbQ17_c(hxBKk8Ext118sINMb27?o7=#%7VC2rLI9QDl8IrY6l^ zAFT3}Q;a&lW>5GmUN;^=u*)JdDYBozUcv!_R*%KLSFL>Yj(Ari2#G*X9*3?$i> z3v$2^fjoo;Kv_;a{*qE*){oLhSv}#fVDlt>&EjH~0&pQ}O4YZcO!Qv=6?rCS%!chr zN2VsfDeMjC&q-5%7Ffst+9ZAQs$drFKLUCgw)iXe?yp$7AlJ#q`Y<`LL9Z|qkLfxQ zSYA&Yh~MnO1^JajJ=II|IMYS znU3VK(XsWSPc>E7^TH=aI+#s8Y-n2|up746O4S{!no*(m3omwmS=CpTf+IA^lgz=$ z97r;cXO_35W_0z_x2jU&1&%UEqtTZLU7n>1jF_%xIo?#6q*%`NrEkXR>feY3Em%-8 zVV3qTWoC@lycMsf9ac#(P5`EealFsgqA+*=r>81^JMk}7z}@6RN@u`F3MUerk|edQ z@lJ}z!YV59H1jPf-Mg17({PpL_}w;%8t&Wb55f7CFVCw)kU>|X&2>6OwJ)oldXb-H z57_I*FCd_FX9idWwlWI__2K`8FMH4*XLR6&)WcF2Pmi6hl#EV~!+UdCs)(1Wb!?1m z`D?>GQ*t;MY9=~lgzBQb$Wu+Q`gWwCq+s(|1Sj+fF(fHem#@}MGHI@+BXPwfo9Ob> zB6f4FLA4t*(7;wUh%0}bj@-3*xY65(z^n0C(!k9AM9QEPc7%~Yhn28vORnPHjO$Z5xS#MO!|ugYz*mP?fx25p=
!g`A>7NXbMT^Q;fCG=4Fs8<{5lfge9uFcW*G%ao52rtjz&fin%ktx+0 z(#I|3uen&9@{*w6&t^9=T9kYjKoWyVaR25gKOvF|lRCGkt0>DCHti+e{A2s=4FS2x zWRm*3LMebde{VJgWuX+8xViCB2~T3Y{)mwgJ*ywJx|9ztZu8O!hYJ9_W>{p&=tY>c zLq=TD&i|M(SE(gBWZ@pJUtU#p{2V0Jp2Hx2>vCvuWfX!;Mole&j~FVm@Am&rLn1me z9I^+_%q@|$$MIKehmPPz2^q>Y50o~jAgvC0ENY|DevfZ&TPR(WV{Gsf3 zhSdROueH8FF`YI(9Og(F`|iDq_14rJw`$y$^Q0p<+7y+7e0_h9cT;H$?W#NGfMMTC z>#TYVYEL1OQ8Fm2jp7Y^1YZ27S>Z|~O8Iz%#8Ku27Z`pL1R5Y3@WKkqRN9Dr5>NyU zIrM>Y4P-bNiol~kB2qhu;R|0FYg8$q!f>&TbPM>n21-Aj%t{e0_jz;$=E*>?PFBy` zWA~EYrH&%g=bvd(QgLwgs}+L(K2aUF8di^lU3)z_fS`(gc&?m!Pfk+!q*z^lqo%+e zQ}mZGs9dw&h^MJ+S5!%_Xy=B89nL^G9t9qyC!pMZnh~8PB;S9iyn5B+&tWzacMRPi z+`0&dv4%w{^zIB4wjvX+;<=zfR#w2zoEk?+fmska$Q10Ku2B~_#Nf@rwi*Vi`c!Z40oD`5uQ0Ms{cA=m^CePP`&uX^L_CI3yD_*&>`w8 zk~<984wZeTwK^j@Nr=oMiFx^(wtjcypM4VnW`m$t=i;Zg{Mp2B$km-vqGsEkuK)`K z*xddtYHT*fW!8(mXkP|5=2jzLRAZ%T+O)1ZH>a8{zjC~L)(?H6RqXX7snkTbOc1mx zZlg_Fbsxrh;KkSs7h{+|z8$1I*6YB(?Jh{G0sfjn;_7-{WZA7!G`!?p5Qlc-q0X*2 zsalDFv0!U!?mnVLk0NfXW|R&GCTAtbH`A`58JeyB*X^Z6WnFIrGo^5`$=!)+06sLo!)GNX!4|yL(sc4f*yA1hcYgm`1db6SJK?|iLiUqd|oT{w(7qJj- zYNCt6iW{XZX}R@{4!7hV%?2gylXUMUzrVtVsI%9+e*Rp>gwt4EY&bQ1@VIhLdcN)S(7)N}4F zRfh9@V(N-L@ht&(GO7`MA7SOH9*eWmFj1nI6u029MnKE5ca0r>cC&4_=EJ*Kv9=ZP zzI6)`6_zWJdNoCKCc`Vbsx}(T+KuqCfVki}-_0(e4M{QQo`4fGDY3~vZ8kl~B5qj- z?ku8K*w0TfOG#fu)6;|41RQ+SGZBbUs!qIb8zO(gceo?ao5({(a6LHYMYMG)aAzjl z#!W>KGU1Penj3Ci)Hsk|}>bj`bWu zsuKKafkY>(Hg2q)+W@(gm_SR}((^^tC~qGVYIKV7g4XS!DDJQrG(GR*-fGJ1zk>I} zX%XW4n}bl{JN)#UA$q-hO5cx3M@b&QX z+IzQ|S-9BxaQprI7Y$9aDX|LNgAai&9{l4#{ihX&*2*teZ0Z{dOG=tvWJn`F*HSJo z+1UP0SKU?w8&xv-on3k#Iz#avZP&negv*}nTY9AX{eDpX%d>=%G6Q`S&jvUdeH&eB z$9&LM)>*V>;DXU}-BBxWBT8~Nul9BQ4~k|z0-k2e9o_Ng;RLQO+EiHeql#fHlN%q^ zjjP|E{*-1ci&g79fcSmLU6MbdaMhQ69``PWMF=rb-{^_eyUF&*Zx8;Lo(8VBS2sEc zeYQsd!zg5mNatPnR#L{=A4L;?Po#!}$`Jk=+>eFHOI2OrNE7<#J_;X*P8h1PTC%#;r&>x&K)SRFJ*Pd}l037CU)uk)3ynDjh-QLKU~HbH`SLz6dDiZ>CZ)aokjlnue%~ZubJuzNtPh@*5N0?A}M0 zzlw$Qb;dE^fip7i3VC}qOSYw%+G8(hx6o44@cDa4BHpM0)F*Ke^4TYuuOzVSiM6f- z?X1VY@bKsym6Ue}Wf4>mppz?G5*vZa(aXdk%(!6bNu~~i#`Ph5?Bt+?X#WL{v zeF6<68rQ35>_k#CC8-^{1E4(;V>SaB6s}YREPK9?5 zi2mBV^1BnT-!a-5ciHR6u-NYp=o4YqR2EtYqBOYUmlJ>N3gI^EA*rb0LWLSFo;_Y( zTSdvo30F%|WmdFHd6hV*JpQ>ht_MDeu}=Rz79Qlq%972+e=%?BPc4P^YPcV&BNJV; z{e}S?HY=^JOKK^dlan;PN4&KR(q_NLh}5Z3v`< zq_TUl=87D~om!=Q`4sqFSU1CH49Y}&_~TcJ_Ly9laVTlj@+WltZ?EUc--{&Z<@9Cz z{yON17l$dWd7BspWu~=35&CjZxl43hd=1(I49}$^D@X2qy#iW z`B_OV%mFUnY@W)lfw3dYcec`2ICM;BJP2G#VjDQT%86s~6|F|8o8wV0sam5^pRee9 z3mo*4jn8s8F#E)(_E52g6=MX@t?|8%tYH%Td9paz7g-^2Fsw%%FCA@U*5+<(U-T_= ze-N&GAc;;JtMHR9&Xm#&*!ldH;8iRgIpxGkMb4(igjyuuCB;EtO(o>z+U%^xKfA(- zS%|0p5K*kpF?&v{*BwiG3CJ~Z>&8+>kzsXvuNMZ ztLXXrXJ8fFMG|~1Jg~j3WiZ>EK!b!sfy{Pn@eA+{QQugi*l95`>0{W&nF^70P! zw2aQTQ}A@{ZN4r~(!>%YIThq$M*6B=Y=w@}x*l_(KQ4gI^=rxfEu{YB&Z%Yr83bjV zUN`6NA@zxI&|$5bM>rzH%^Goq*xK-6Ot+o1isgd8n;1$9kOF7eTiR)YHM{hqkaR{k zu=JUfBAEYhWf!Ux)-t@UJQ+Zjzc^@_*t@N6}=BDIkW(GFEZq`f4|r zfhMq}4Z0Wdm?F0G7cth_e}DQZ8pG>}6Se+B(7b+1qoY6&v;(tA{?JW3P+(Y@eVl_S zS7=zdH;P{bhrGre^}C|>uH>M1%>dP*rPfa$Y@Qme}=|2iNHf%zVK+Rr6JL12Ia5<+YZUUs=?QkW1&dFu-jP7qdy^ zDbIObE-*GJlQ;VOO0s$K%cj0j#hRj_5V~SEA&N2R9UOl`KO{;7n{4D}iYIYqgDS-~ z{0-gYV>{_&qJ+b=%_JyRi9uHP6@`)pLh(T}%B;;O0eBTFB9$)~?SfY;?dZ|n%;4UP zH1*e%4QF4!{qEoJAXQcZi&VSGg_CSVLh9+P#S0C)Go@Y63n>)JJ)%rl+G)|x8gdzc zBP)x+Gk<5}5{9wxjXLyin~DIU_V!T};xq}~1U@rA1?mY%6UL<|ml-gr>u*ZKyD05G ztrCr2aT$D#`;c-$NsvRMnRw`n(IHk ziMF383rrZgQsZE27*L=!bTIMxKPNsafoYYV+(AR5s_Mi9OzmPMl0RORaF_x5;kQ?n zv7iZKLIqjQ*XQ);3b(T;;cTu-o&M^5T08I%NVAfjNB%25rivlB5i*g_s5e@K?qcp1l>O-GINN-5Bumy(!TWZL zj+sKZmh`%f$Dm4H!`apieg1Kkg3hQxbtIp)rn>17baTIY7viabJutW84GMIrqx$ol zo;yLc*`I9cO-tUEF{)%ePthpBn@Ri^+g9XB?jkRWl^|4k_x$R~l@5shKu6-NZ2C2u zoeD1mtIsmkAqyRPl;NM3=3?Z5YKn&9%p$(D#IaxvMxdg-c~=Nh9h=~fdt+`uecM^Y zY9G}JHO2C{betfd%4Sx>@|vaALZWs>R7sw@bCcd@lQ*5?KvIOmZRqd*Ws)ClX{o!~ zt~|O_Y+bZD;)Ef4gOIs71KYg@lZN z(xWk^fxw)K!~E5-_JF_N0DIBciIeb+7Km5D30KJQmcwK=tV{kv>CU3uFUVHyqDE$6 zRS$;obLLnu$+$%tVV}cResbkvlj8A={ZX8F|LVhG+z%r2`ba4+0{eQDqYpY9*_&@g zk$snkN+oU0o_sZH_qyB`DEcR`n_(_yVUDB07xHpp&W2e~okKfIy|&n(-g{lR`Jb+} z#Y&*zambbXon9}=fi4Q&t(rF1T|MXrgBfL3PVr%~L_X+qTAGKk z*%`4`;!}ybrobleaVO+G2o+`d+`HU$UD@6UXd`C&E$KKB!);R681*m{D)?`6sxKh# z;^sVBa!Zu5ZC;SXqh)zBiT@6$H{ox}T&=uu+2pZbhsgADbRaV@knZ<;xLCf$!XDa_ zT7rcxQK8YhNx5hPUP2#m>dKr-)J-SrRSVa;%f*0YJt!fSOiGieiTavFACXK2sV~qR z+lW%d!l+2%;GP_o<9%pfUXsJHdRNZ-1zg_pbs+lJIw(Zx5r3eZMO6-z8qR#+Ev1<7 zV51^ZL;k%7cR;qzL%4e}sDmC3`T5?AQ}t-GSQA~6f^nFEb*L&0d53MfDq#aD`B3$w z+wWgR+!={?8|kc)bC+T;zF@c+*IvQs6(-VqkO z7=j|Y18l{*Sk^gKP4F4n9y4sjg;IdZNG8*4^|dmc{wlHzCQ=AI=Wni}Dt(sn8_b99 z?L*nH`?8f(S#Wf$i)vd6xp27)ahF3>utW0}3VQr22JdaP2I2`~#ww&z;l3Z*3Ig*I zhUGnMkjT(I1@-ER#u!qB#+4*k{*>X)_RbY1vIWLZTGxRRO=mAQ%e7LR>)pFfp~tT5 zatmgycBE$-;I^t%_DnO|aUso9bdP=~T%-;>^vz#O_js1kR) zPdV;EZHiR7cG;e<1SuG;uLt`?4jWufQa=)rFp`_DIg_B3x})s%PeGJ=V*eDjXmCd%BgH)NbKNOv6~Mqo z&1m4k`sXVe5a%ym=9jnwrTzqCVf92 z5Hg;`NygEJ6*zoGj41zrk97rxTO%W4gzXW^8AuFuON1nPG}2Y8*Qbo@CATcv&D2?6 z$~jcbRAbh4S_<02-cr3;OcL%X_peDscj9xM(YlKju5LydVP-p>m-yTK-j@C+uuGL`a`8h-}NRByPI6q-@95J<>!F|D{@5M8pY^haAUzCd-!*v}gIZu2pXrxngw3gj>f@7(afm*;)e~0re0EX^hiOb;QX^7weJTlCSiso1(sZo!dO+ zMkY?C7m@l2^Vi3I(o78X??2wGU4BqSSKsE)mmHX`Db;h!SzL+im8kG;#15hg7}OVX zTzd6Fcj309ns-V`(}-<|W>F0LC700WpWEZ;6nPrqdL`S7RJ!sp(?UDA+^1+GNtvs| zhe}Tsc@^c|i54=~61*a1TpfWgXgB+Ry?NzR*Kk9Skf^EYW5+C+5kMM!7GqbWTU48P zGsqvA1ngbHy7KQOfjda4{!{;#ENr&8T9^tI;YYXh-$`o5n<&=p>;>)iCPETzRJ*e( zJL<{sAIiFzhFxXP*H9PMznFWzr;5t|C zB4Coe!z$P(CT8s9QGn5?g&wZsLmAwaMY$_Av;LiA){Hl#;M3#w4jMS~a^FzBfhP-{JBT zVQ!3(Md-9OpC>@UeyL{8;AX~Nu04L#)7SawNvd`~W&KGSF6A{o;6Sve;&QAaA#zDB zA9P_#tr`!@*akbQ{5z;O)H_zZvc9u~aSLf)BukX)dl4M?O4zH}8uwcung3HRen>(K zkH*bL@*JU>GdknmQ~|D38Xdl7sJcXGEfLvQ5D}g5zpb5;BCAG z+c%K8?vay3b4rXkxs}m>vF31Dltho97RgjHBDxnDj~h|*i)V3(M+?O$ir$>LYFY#t z3`vO6Mn6`Ot|*ba^HMEGhJe4LsRDpC&OBmvP({*oyyaWJCbkR)r z7z2eZ>i>8O&o=YXRXKbf!HXhAd7>L!sYq5N2eeCP`&kC*7vMo42VFK!W? z$WhKy*+uh0&nuNT$>PvEaqIKzi&AgXM59`rfu?aq_1c8C~nbAQ!nl<{oqB{E3W49DOzJ!sQ5rsIBn@X z@(ijxZ3~uJ1lhcC=_oqa@KmB_fP>I(@j@JX<$F8Eb;y=gaCCy4I#;cB_~W6X+Kb@{+vDZK*WYgi`U6EL|BQ^N%7{un zZ4&ER_P+JA?Y=vr4+sGm`|*45Yw2%G3l{qmA_h4Beb<3;Gip> z8gg_Ttvy{(Zmw%Z%y?oCc(pzD%APU`$snpaqImH2f%+1z9g%UK_-9&pi{u@&XkX*p zIIRNgiuxPtUo%wYxc=FhPq(!F5kw5TfCIkqEsnt1l@~ng={O_TU;~HE^s%L1@(hiP z7)j>hMhe6)B)1>g*K52=K=C$AY5=~&CG4;=C7mZ^C;O2-C59YYriETb70plImh!^c zZB&x$qt3fBEh-VcH{!z3NcxHVq=GFds=} zuy{p+c80jbSwcTML2!tpMNJghERy<)ZXoe*2FY3~y#69i)jalwWs+{5eIfJhvNuiS z^&EZ$8M@6zuBoMIH(;U1!^>;%M2F*IfR4OkRH7q6K|(M)!HLKGySvO{JnE9dQ3x_A zNbE68qAu3gz%id`xR83K>s`^^3}@t5t=D}GW@XWSA0=GlSosJk!5v+hhtwCD2faOV z2E}jd?^I*UYZv~KfIE`pcs(OEH=n{-NPWJ>d62GQ&dr!s`1I(rY=ZXE*I`*{>BIQA zI1`^{y@B{flzq&Z8TCn613)!6aAJS#O7kv&4p&Xyv*>UBO4Wm0ZxM^;g{_efd4mmd zsq*h1?9$xpusdzwd!WE6d3#R zi_vj>y&);>)B97!-P;jep0FMedX}WL?J;kJPCrVia7S;uiwckxpYlU)8d|2Y z;9YpC=IX{dmvSRdeW7M@Yu0~%&9W5`hxWBkECI=+POb}-Oiw3E0=v9zH8-Ox-hZ^2q8`Y>Dq%e!VC{})Fs8mJnZ16T z>slp9mLr<9bMqyQ6LQu6R)S^jM%XecXMBM{KI;uzVJ?U;q(y>a!1LSYS5jt;JdYhy z!2&In_hba-?K8)&=6@%H_^395oY`i(bNuUW7RwnjlfUt8SR}h*d^I_O93J6ss0a%46nS(aWzNme#YGElx)>mdB&^ZbbyNK|y;{R+=^h|sSF zct!)q3t`;>);A4LpOEJxt*>aI{LNs#j?*rL8?_?NFBTZpz^O3|{VqmI59NAQ{@?sY zl@^Eo%lCxFd2f@$*SSLgT1=9F%^3n z$Ei8eBCE%u(QT3I=i9(CLjuzgBZ7uLeNiHrD*ZU?`Ku+s>6A ze&aW8p!dI%8}8<*d$bjH=_}vIE z$m0r0NT?VmDg6DBSextdYb4%Sh93X*#f$y=w&q)_l~qSBuSn78%t)@Z1o>47|K;|J zrrL+*`@VCGbHbu;ycl~JcXrCZ}cp;qUJx0i4F1WM@A) z`(e4&lrgKx6L?{w3vuE89zk^9NPTVw&nSdFLFSC8x@NGe^MiYJ^rNiOR)0MahvtBe>TTR&!P;xgQEJ61?jF?GXa+PP*!S+-84xa}+tFkdX4 z*czB|Pc@0Kuo7&{M@ljS4U28SY2@$D@aJLHKt1wU}l&oFvQ=1sW0 zws6Sz*zox9zk4^1FTCBA=hBa}zBsqf&zca`XXo%%x2`M3OrUU<@^~{&Q#)+!7PnwE zyX8x%iB*B(dl$DB)1>t{T-+B#B10+DZtC^;1+My>8K{S&xx83qksPF`*fA;1q0;`m zU6(DJ=%QD5QFdA4jSFBMtL->AOV;^XVdQ(r$G@6`{K``SJ^UgcE%&q6h?QsbLjDdd zdHU`Zg<6I`*~v6={?M@+sab_HxF3# zaD+E(ket2j7Du+rl?uGShk+L{x)?fa4WB$>fSPxud!t6^Dh5`?b9o7OTe-J66#?|y2yCWOT zyj5Q<60Dj26R87%iy)u)h(%bc2!ns%h7*>5*`pg4`Z7VbSSfiwn4zWhVWJItU5LYZ z_Z?M^*2ve3z?HH6fE#PA?a@u%cBW92nhZ=VA)(Dk9_U2W`kb^BHNlzUj89)Y+gfwX zH#|$Qz}}8|DGN^9@Yr&v?O2wGiSJ1EgPT0cGkYbMU6q=UAS#VJb{Sf}QGgawbg4D4 z*+ao(US^db9oJp3yd7U1F&BHE=!&snsw|dusfJ?83Dt&1(DEB(z1#@X7w^&j7bKr) z29wpbnmn;-UocxPM9p}r)Z8ahebZ)3e3tMH?`1~R_b;BBoKIh37>Ks>l*Hp&OI1<} zTft$Jzdw-pJtr)-T<+HME?OC#BJKd@p8WVNnr00buL^78WRu+84J1&CAsZ8y&WNwT zjgC0Q{`TV=XWUN)HM%K+_w{B{&t0*?XBpXI)~{| zZ`$8Ty^TpZ?_-5RwXoX@qVO(6->?(yVJQIFV|PA|q)7I>OKpqUXvGp6C`{e`)$y4CiJ3kJMl8Lsho?l$W1W(`{( z_%qt32y>APd&8?vDVfKhNuABl#=Xq(Qm}ZIE4y$ISs1}7{g!#pvVtRw5up@OnSK?u z^6XCj%=Gh-2|8r7?k>VW85uo@^>7rs6Z*oJFC%kz#|43HF`jbX9DYPQfX zjkC@^r9B^#pna=j4l~ev8n4}?p#_?HRV}k>T=U}+Z?if| z&{=sP&oogkCMwMnPB>rwbO1P7+aG?$xN>4OKiW1^plDgNj zy%LmsXJKJc8}b>+A!PSnqo|JlGA@JbdcF~-s3z8@#PY~9>9XH2wz~L@$erF*ks&XX z?%mIBT_bQ7m(FxW|IUD1mA!YYBwr1~Sv;3cR*vdxRv=}AEZGSr{u!b*1HC2AcY)=s zi?>AN1p!OlF{ANJa1X-Rh$K-y+R=0M-=>ZKBPD=0nxH0Ngu1+BXcc$_>SS^8S1|!O z8O&;t8F!!#gB`X1p!m>GJbry`DSsC$nHysNV`xkgqf#oseqD2g#QC2DZX_|oN`4St zE~ofub~GKg0xb6D+Kqn)B4HaHs=f~F@cl#=~k>^4K?w{LY7EEV+ zCE2eV$j^1&z?ZDxnEeZSoS?}6q;LeM`NIia!J8|>9kjlY^gh04d9GYuI7o{{S9A3U zWS0g@SN*IkkwX=}`j*oL3f9u4>aj^FG0R+g>%hlk2OEK#Rr$PnI&;#&bXp0GBpLK| zD}&n8wvM#baz>NFASg1%K5A)VW|MwwYYu1Nvm|b8xO4vkVqZ8Gm559&gEFZ1&6?&2 z(X`1tVT0TdJq7SO&28a~U&;@1mWzgQ5slM>{K)Z`n>;~N2mO9QSR^eOfPlDt_O{w1 zii$t2Hti0%hdc+Ca;z~+N4=vN-FXBSJ-<#$1@L5O`m6;Z7?pTxf~9aNcw{hcmhd9t zKlxgURbe>%=PMl3>Z&U86Ap@ntzt=r{7~~_^nMbgxndi1c(D^Wfz5(NK zSCjmv-^)`_9tf%0I9o7(W=PJXSf$dY5x^T}huCi)C?d4A2;mUVJS6p@QNI{1)sl@aujt^Kq^fqmjtM4|@VwXh6mtI(|LFrtuK&A9qgJLzVb9d~@&FpIr} z^KqD76^WE|Y$Rg2m8&0#&$oIss`c)^XQcN0^~#FjlS6tP1-pLM)==iY<&9428bC}@ zkMXH9j_yxc^i~s)EX>P9`lyPdHq*Jh`mP9e! zb>{?fmD>$6)s4?DVM+39Rr(F#8#x}Tc)(SXOETRnp22ff8c0Z^>)E5F#J7iVeFW!g;+5wD-#xV zcB330(K|W#O;Atb>51YRM>I7>4JX}8+zU5yw`hVs4|PV@&}Lg^E&NuekXI)jH9`}_ zL5465ROC_dBrbuufV|?m`5qp}oD1|sP+}=n;s|ylyi8Zy&IX@`4=B#f){Y;?r4OP> z3h|Jvn#05eh5+RlRZ;VOaX+l)dP!(j@MZ2c-{4_5U)NIHGPfb5))|myr385$*Cj-z z;#BGZll*JWscVK0i<#2!_A8ECQQq)k&5uie5u>z?!V5lc73FHVe4>&lU?bd=iY{U9 zS`fUowW^PLM^ksbz3rEq52o8f7fRH%ohi`|qQu(y#eIv?GM)SJaDk$3JLu-uJ_duX XF|WslR5zMSKbsDuFanzVW3v7S+&3kL literal 0 HcmV?d00001 diff --git a/.cache/brands/integrations/tasmota/dark_icon@2x.png b/.cache/brands/integrations/tasmota/dark_icon@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..a187725bb884aa9e76f5f0c3a40cc9ee3bd22a04 GIT binary patch literal 6691 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 literal 0 HcmV?d00001 diff --git a/.cache/brands/integrations/tuya/dark_logo.png b/.cache/brands/integrations/tuya/dark_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..d9049b3ba5dbf99147653e7b853694c979435b0a GIT binary patch literal 17876 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.13.0\n", - "\u001b[0m Downloading ltchiptool-4.14.1-py3-none-any.whl.metadata (4.4 kB)\n", - "\u001b[0mCollecting bitstruct<9.0.0,>=8.1.1 (from ltchiptool<5.0,>=4.13.0)\n", - "\u001b[0m Downloading bitstruct-8.22.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (7.3 kB)\n", - "\u001b[0mCollecting bk7231tools<3.0.0,>=2.1.1 (from ltchiptool<5.0,>=4.13.0)\n", - "\u001b[0m Downloading bk7231tools-2.1.2-py3-none-any.whl.metadata (1.0 kB)\n", - "\u001b[0mCollecting click<9.0.0,>=8.1.3 (from ltchiptool<5.0,>=4.13.0)\n", - "\u001b[0m Downloading click-8.4.1-py3-none-any.whl.metadata (2.6 kB)\n", - "\u001b[0mCollecting colorama<0.5.0,>=0.4.5 (from ltchiptool<5.0,>=4.13.0)\n", - "\u001b[0m Downloading colorama-0.4.6-py2.py3-none-any.whl.metadata (17 kB)\n", - "\u001b[0mCollecting hexdump<4.0,>=3.3 (from ltchiptool<5.0,>=4.13.0)\n", - "\u001b[0m Downloading hexdump-3.3.zip (12 kB)\n", - "\u001b[0m Installing build dependencies: started\n", - "\u001b[0m Installing build dependencies: finished with status 'done'\n", - "\u001b[0m Getting requirements to build wheel: started\n", - "\u001b[0m Getting requirements to build wheel: finished with status 'done'\n", - "\u001b[0m Preparing metadata (pyproject.toml): started\n", - "\u001b[0m Preparing metadata (pyproject.toml): finished with status 'done'\n", - "\u001b[0mCollecting importlib-metadata (from ltchiptool<5.0,>=4.13.0)\n", - "\u001b[0m Downloading importlib_metadata-9.0.0-py3-none-any.whl.metadata (4.5 kB)\n", - "\u001b[0mCollecting prettytable<4.0.0,>=3.3.0 (from ltchiptool<5.0,>=4.13.0)\n", - "\u001b[0m Downloading prettytable-3.17.0-py3-none-any.whl.metadata (34 kB)\n", - "\u001b[0mCollecting py-datastruct<3.0.0,>=2.0.0 (from ltchiptool<5.0,>=4.13.0)\n", - "\u001b[0m Downloading py_datastruct-2.0.0-py3-none-any.whl.metadata (14 kB)\n", - "\u001b[0mCollecting pycryptodome<4.0.0,>=3.9.9 (from ltchiptool<5.0,>=4.13.0)\n", - "\u001b[0m Downloading pycryptodome-3.23.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (3.4 kB)\n", - "\u001b[0mCollecting requests<3.0.0,>=2.31.0 (from ltchiptool<5.0,>=4.13.0)\n", - "\u001b[0m Downloading requests-2.34.2-py3-none-any.whl.metadata (4.8 kB)\n", - "\u001b[0mCollecting semantic-version<3.0.0,>=2.10.0 (from ltchiptool<5.0,>=4.13.0)\n", - "\u001b[0m Downloading semantic_version-2.10.0-py2.py3-none-any.whl.metadata (9.7 kB)\n", - "\u001b[0mCollecting xmodem<0.5.0,>=0.4.6 (from ltchiptool<5.0,>=4.13.0)\n", - "\u001b[0m Downloading xmodem-0.4.7-py3-none-any.whl.metadata (4.3 kB)\n", - "\u001b[0mCollecting ymodem<2.0.0,>=1.5.1 (from ltchiptool<5.0,>=4.13.0)\n", - "\u001b[0m Downloading ymodem-1.5.3-py3-none-any.whl.metadata (5.7 kB)\n", - "\u001b[0mCollecting pyserial<4.0,>=3.5 (from bk7231tools<3.0.0,>=2.1.1->ltchiptool<5.0,>=4.13.0)\n", - "\u001b[0m Downloading pyserial-3.5-py2.py3-none-any.whl.metadata (1.6 kB)\n", - "\u001b[0mCollecting wcwidth (from prettytable<4.0.0,>=3.3.0->ltchiptool<5.0,>=4.13.0)\n", - "\u001b[0m Downloading wcwidth-0.7.0-py3-none-any.whl.metadata (36 kB)\n", - "\u001b[0mCollecting charset_normalizer<4,>=2 (from requests<3.0.0,>=2.31.0->ltchiptool<5.0,>=4.13.0)\n", - "\u001b[0m Downloading charset_normalizer-3.4.7-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (40 kB)\n", - "\u001b[0mCollecting idna<4,>=2.5 (from requests<3.0.0,>=2.31.0->ltchiptool<5.0,>=4.13.0)\n", - "\u001b[0m Downloading idna-3.16-py3-none-any.whl.metadata (6.4 kB)\n", - "\u001b[0mCollecting urllib3<3,>=1.26 (from requests<3.0.0,>=2.31.0->ltchiptool<5.0,>=4.13.0)\n", - "\u001b[0m Downloading urllib3-2.7.0-py3-none-any.whl.metadata (6.9 kB)\n", - "\u001b[0mCollecting certifi>=2023.5.7 (from requests<3.0.0,>=2.31.0->ltchiptool<5.0,>=4.13.0)\n", - "\u001b[0m Downloading certifi-2026.5.20-py3-none-any.whl.metadata (2.5 kB)\n", - "\u001b[0mCollecting ordered-set>=4.1.0 (from ymodem<2.0.0,>=1.5.1->ltchiptool<5.0,>=4.13.0)\n", - "\u001b[0m Downloading ordered_set-4.1.0-py3-none-any.whl.metadata (5.3 kB)\n", - "\u001b[0mCollecting zipp>=3.20 (from importlib-metadata->ltchiptool<5.0,>=4.13.0)\n", - "\u001b[0m Downloading zipp-4.1.0-py3-none-any.whl.metadata (3.6 kB)\n", - "\u001b[0mDownloading ltchiptool-4.14.1-py3-none-any.whl (313 kB)\n", - "\u001b[0mDownloading bitstruct-8.22.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (81 kB)\n", - "\u001b[0mDownloading bk7231tools-2.1.2-py3-none-any.whl (37 kB)\n", - "\u001b[0mDownloading click-8.4.1-py3-none-any.whl (116 kB)\n", - "\u001b[0mDownloading colorama-0.4.6-py2.py3-none-any.whl (25 kB)\n", - "\u001b[0mDownloading prettytable-3.17.0-py3-none-any.whl (34 kB)\n", - "\u001b[0mDownloading py_datastruct-2.0.0-py3-none-any.whl (32 kB)\n", - "\u001b[0mDownloading pycryptodome-3.23.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB)\n", - "\u001b[0m\u001b[?25l \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m0.0/2.3 MB\u001b[0m \u001b[31m?\u001b[0m eta \u001b[36m-:--:--\u001b[0m\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m2.3/2.3 MB\u001b[0m \u001b[31m41.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hDownloading requests-2.34.2-py3-none-any.whl (73 kB)\n", - "\u001b[0mDownloading semantic_version-2.10.0-py2.py3-none-any.whl (15 kB)\n", - "\u001b[0mDownloading xmodem-0.4.7-py3-none-any.whl (35 kB)\n", - "\u001b[0mDownloading ymodem-1.5.3-py3-none-any.whl (22 kB)\n", - "\u001b[0mDownloading importlib_metadata-9.0.0-py3-none-any.whl (27 kB)\n", - "\u001b[0mDownloading certifi-2026.5.20-py3-none-any.whl (134 kB)\n", - "\u001b[0mDownloading charset_normalizer-3.4.7-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (216 kB)\n", - "\u001b[0mDownloading idna-3.16-py3-none-any.whl (74 kB)\n", - "\u001b[0mDownloading ordered_set-4.1.0-py3-none-any.whl (7.6 kB)\n", - "\u001b[0mDownloading pyserial-3.5-py2.py3-none-any.whl (90 kB)\n", - "\u001b[0mDownloading urllib3-2.7.0-py3-none-any.whl (131 kB)\n", - "\u001b[0mDownloading zipp-4.1.0-py3-none-any.whl (10 kB)\n", - "\u001b[0mDownloading wcwidth-0.7.0-py3-none-any.whl (110 kB)\n", - "\u001b[0mBuilding wheels for collected packages: hexdump\n", - "\u001b[0m Building wheel for hexdump (pyproject.toml): started\n", - "\u001b[0m Building wheel for hexdump (pyproject.toml): finished with status 'done'\n", - "\u001b[0m Created wheel for hexdump: filename=hexdump-3.3-py3-none-any.whl size=8933 sha256=f8d55ba300756307086f89e6f2af06c5c6bfc7e2a3543cee0bc1e3e0b2a77236\n", - "\u001b[0m Stored in directory: /root/.cache/pip/wheels/5e/b9/b5/227a20e7e8bbdb2b17e46a087c0f0119059ee65fe8374cac18\n", - "\u001b[0mSuccessfully built hexdump\n", - "\u001b[0mInstalling collected packages: xmodem, pyserial, hexdump, zipp, wcwidth, urllib3, semantic-version, pycryptodome, py-datastruct, ordered-set, idna, colorama, click, charset_normalizer, certifi, bitstruct, ymodem, requests, prettytable, importlib-metadata, bk7231tools, ltchiptool\n", - "\u001b[0mSuccessfully installed bitstruct-8.22.1 bk7231tools-2.1.2 certifi-2026.5.20 charset_normalizer-3.4.7 click-8.4.1 colorama-0.4.6 hexdump-3.3 idna-3.16 importlib-metadata-9.0.0 ltchiptool-4.14.1 ordered-set-4.1.0 prettytable-3.17.0 py-datastruct-2.0.0 pycryptodome-3.23.0 pyserial-3.5 requests-2.34.2 semantic-version-2.10.0 urllib3-2.7.0 wcwidth-0.7.0 xmodem-0.4.7 ymodem-1.5.3 zipp-4.1.0\n", - "\u001b[0mHARDWARE: BK7231N 120MHz, 256KB RAM, 1.03MB Flash\n", - "\u001b[0m - framework-arduino-api @ 2022.8.24+sha.237b10a \n", - "\u001b[0m - framework-beken-bdk @ 3.0.33+sha.841343e \n", - "\u001b[0m - library-flashdb @ 1.2.0+sha.d5c892f \n", - "\u001b[0m - library-freertos @ 9.0.0+sha.dd0b977 \n", - "\u001b[0m - library-freertos-port @ 2026.2.4+sha.91a88be \n", - "\u001b[0m - library-lwip @ 2.2.0-bdk+sha.48da4a2 \n", - "\u001b[0m - library-printf @ 6.1.0+sha.28a79bd \n", - "\u001b[0m - library-uf2ota @ 5.0.0+sha.f955412 \n", - "\u001b[0mPLATFORM VERSIONS:\n", - "\u001b[0m - libretiny @ 1.12.1+sha.73564e9\n", - "\u001b[0m - ltchiptool @ 4.14.1\n", - "\u001b[0mCUSTOM OPTIONS:\n", - "\u001b[0m - fw_name = esphome\n", - "\u001b[0m - fw_version = 2026.5.0\n", - "\u001b[0m - options:\n", - "\u001b[0m - lwipopts.h:\n", - "\u001b[0m - LWIP_STATS = 0\n", - "\u001b[0m - MAX_LISTENING_SOCKETS_TCP = 3\n", - "\u001b[0m - MAX_SOCKETS_TCP = 8\n", - "\u001b[0m - MAX_SOCKETS_UDP = 6\n", - "\u001b[0m - MEMP_MEM_MALLOC = 1\n", - "\u001b[0m - MEMP_NUM_NETBUF = 4\n", - "\u001b[0m - MEMP_NUM_NETCONN = 17\n", - "\u001b[0m - MEMP_NUM_TCPIP_MSG_INPKT = 8\n", - "\u001b[0m - MEMP_NUM_TCP_PCB = 8\n", - "\u001b[0m - MEMP_NUM_TCP_PCB_LISTEN = 3\n", - "\u001b[0m - MEMP_NUM_TCP_SEG = 17\n", - "\u001b[0m - MEMP_NUM_UDP_PCB = 6\n", - "\u001b[0m - MEMP_STATS = 0\n", - "\u001b[0m - MEM_LIBC_MALLOC = 1\n", - "\u001b[0m - MEM_STATS = 0\n", - "\u001b[0m - PBUF_POOL_SIZE = 10\n", - "\u001b[0m - TCP_SND_BUF = (4*TCP_MSS)\n", - "\u001b[0m - TCP_SND_QUEUELEN = 17\n", - "\u001b[0m - TCP_WND = (4*TCP_MSS)\n", - "\u001b[0m - sys_config.h:\n", - "\u001b[0m - CFG_SUPPORT_BLE = 0\n", - "\u001b[0mDependency Graph\n", - "\u001b[0m|-- AsyncTCP @ 3.4.5\n", - "\u001b[0m|-- ESPAsyncWebServer @ 3.9.6\n", - "\u001b[0m|-- DNSServer @ 1.1.0\n", - "\u001b[0m|-- noise-c @ 0.1.11\n", - "\u001b[0m|-- AsyncMqttClient-esphome @ 2.0.0\n", - "\u001b[0m|-- ArduinoJson @ 7.4.2\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/api/api_buffer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/api/api_connection.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/api/api_frame_helper.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/api/api_frame_helper_noise.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/api/api_overflow_buffer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/api/api_pb2.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/api/api_pb2_service.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/api/api_server.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/api/list_entities.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/api/proto.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/api/subscribe_state.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/binary_sensor/automation.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/binary_sensor/binary_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/binary_sensor/filter.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/button/button.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/captive_portal/captive_portal.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/copy/sensor/copy_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/esphome/ota/ota_esphome.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/factory_reset/button/factory_reset_button.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/gpio/binary_sensor/gpio_binary_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/gpio/switch/gpio_switch.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/json/json_util.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/libretiny/core.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/libretiny/freertos_static_alloc.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/libretiny/gpio_arduino.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/libretiny/hal.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/libretiny/helpers.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/libretiny/lt_component.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/libretiny/preferences.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/logger/logger.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/logger/logger_libretiny.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/logger/task_log_buffer_libretiny.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/md5/md5.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/mdns/mdns_component.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/mdns/mdns_libretiny.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/mqtt/custom_mqtt_device.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/mqtt/mqtt_alarm_control_panel.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/mqtt/mqtt_binary_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/mqtt/mqtt_button.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/mqtt/mqtt_client.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/mqtt/mqtt_climate.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/mqtt/mqtt_component.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/mqtt/mqtt_cover.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/mqtt/mqtt_date.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/mqtt/mqtt_datetime.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/mqtt/mqtt_event.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/mqtt/mqtt_fan.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/mqtt/mqtt_light.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/mqtt/mqtt_lock.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/mqtt/mqtt_number.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/mqtt/mqtt_select.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/mqtt/mqtt_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/mqtt/mqtt_switch.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/mqtt/mqtt_text.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/mqtt/mqtt_text_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/mqtt/mqtt_time.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/mqtt/mqtt_update.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/mqtt/mqtt_valve.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/network/util.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/ota/ota_backend.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/ota/ota_backend_arduino_libretiny.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/ota/ota_bootloader_esp_idf.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/ota/ota_partitions_esp_idf.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/restart/button/restart_button.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/safe_mode/button/safe_mode_button.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/safe_mode/safe_mode.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/sensor/automation.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/sensor/filter.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/sensor/sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/sha256/sha256.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/socket/lwip_sockets_impl.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/socket/socket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/status/status_binary_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/status_led/status_led.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/switch/automation.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/switch/switch.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/text_sensor/filter.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/text_sensor/text_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/uptime/sensor/uptime_seconds_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/uptime/sensor/uptime_timestamp_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/uptime/text_sensor/uptime_text_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/web_server/ota/ota_web_server.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/web_server_base/web_server_base.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/wifi/wifi_component.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/wifi/wifi_component_libretiny.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/components/wifi_signal/wifi_signal_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/core/alloc_helpers.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/core/application.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/core/build_info_data.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/core/color.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/core/component.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/core/component_iterator.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/core/controller_registry.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/core/entity_base.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/core/gpio.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/core/helpers.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/core/log.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/core/lwip_fast_select.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/core/main_task.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/core/scheduler.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/core/time.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/core/time_64.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/core/util.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/esphome/core/wake/wake_freertos.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/src/main.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/lib7ba/AsyncTCP@3.4.5/AsyncTCP.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libe7d/ESPAsyncWebServer/AsyncEventSource.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libe7d/ESPAsyncWebServer/AsyncJson.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-garageentrylights/lib7ba/libAsyncTCP@3.4.5.a\n", - "\u001b[0mIndexing .pioenvs/esp-garageentrylights/lib7ba/libAsyncTCP@3.4.5.a\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libe7d/ESPAsyncWebServer/AsyncWebHeader.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libe7d/ESPAsyncWebServer/AsyncWebServerRequest.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libe7d/ESPAsyncWebServer/AsyncWebSocket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libe7d/ESPAsyncWebServer/BackPort_SHA1Builder.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libe7d/ESPAsyncWebServer/ChunkPrint.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libe7d/ESPAsyncWebServer/Middleware.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libe7d/ESPAsyncWebServer/WebAuthentication.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libe7d/ESPAsyncWebServer/WebHandlers.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libe7d/ESPAsyncWebServer/WebRequest.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libe7d/ESPAsyncWebServer/WebResponses.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libe7d/ESPAsyncWebServer/WebServer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libd43/DNSServer/DNSServer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libb62/libsodium/crypto_aead/chacha20poly1305/aead_chacha20poly1305.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libb62/libsodium/crypto_core/ed25519/ref10/ed25519_ref10.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libb62/libsodium/crypto_core/salsa/ref/core_salsa_ref.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garageentrylights/libd43/libDNSServer.a\n", - "\u001b[0mIndexing .pioenvs/esp-garageentrylights/libd43/libDNSServer.a\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libb62/libsodium/crypto_hash/crypto_hash.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libb62/libsodium/crypto_hash/sha256/cp/hash_sha256_cp.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garageentrylights/libe7d/libESPAsyncWebServer.a\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libb62/libsodium/crypto_hash/sha256/hash_sha256.c.o\n", - "\u001b[0mIndexing .pioenvs/esp-garageentrylights/libe7d/libESPAsyncWebServer.a\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libb62/libsodium/crypto_onetimeauth/crypto_onetimeauth.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libb62/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libb62/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libb62/libsodium/crypto_scalarmult/crypto_scalarmult.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libb62/libsodium/crypto_scalarmult/curve25519/ref10/x25519_ref10.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libb62/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libb62/libsodium/crypto_stream/chacha20/ref/chacha20_ref.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libb62/libsodium/crypto_stream/chacha20/stream_chacha20.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libb62/libsodium/crypto_stream/crypto_stream.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libb62/libsodium/crypto_stream/salsa20/ref/salsa20_ref.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libb62/libsodium/crypto_stream/salsa20/stream_salsa20.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libb62/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6-asm.S.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libb62/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libb62/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-avx2.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libb62/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-sse2.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libb62/libsodium/crypto_verify/verify.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libb62/libsodium/randombytes/internal/randombytes_internal_random.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libb62/libsodium/randombytes/randombytes.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libb62/libsodium/randombytes/sysrandom/randombytes_sysrandom.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libb62/libsodium/sodium/codecs.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libb62/libsodium/sodium/core.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libb62/libsodium/sodium/runtime.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libb62/libsodium/sodium/utils.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libfa1/noise-c/backend/openssl/cipher-aesgcm.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libfa1/noise-c/backend/ref/cipher-aesgcm.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libfa1/noise-c/backend/ref/cipher-chachapoly.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libfa1/noise-c/backend/ref/dh-curve25519.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libfa1/noise-c/backend/ref/hash-blake2b.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libfa1/noise-c/backend/ref/hash-blake2s.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libfa1/noise-c/backend/ref/hash-sha256.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libfa1/noise-c/backend/sodium/cipher-aesgcm.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libfa1/noise-c/backend/sodium/cipher-chachapoly.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libfa1/noise-c/backend/sodium/dh-curve25519.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libfa1/noise-c/backend/sodium/hash-blake2b.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libfa1/noise-c/backend/sodium/hash-sha256.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garageentrylights/libb62/libsodium.a\n", - "\u001b[0mIndexing .pioenvs/esp-garageentrylights/libb62/libsodium.a\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libfa1/noise-c/crypto/aes/rijndael-alg-fst.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libfa1/noise-c/crypto/blake2/blake2b.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libfa1/noise-c/crypto/blake2/blake2s.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libfa1/noise-c/crypto/chacha/chacha.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libfa1/noise-c/crypto/donna/curve25519-donna-c64.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libfa1/noise-c/crypto/donna/curve25519-donna.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libfa1/noise-c/crypto/donna/poly1305-donna.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libfa1/noise-c/crypto/sha2/sha256.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libfa1/noise-c/crypto/sha2/sha512.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libfa1/noise-c/crypto/x25519/x25519.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libfa1/noise-c/protocol/cipherstate.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libfa1/noise-c/protocol/dhstate.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libfa1/noise-c/protocol/errors.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libfa1/noise-c/protocol/handshakestate.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libfa1/noise-c/protocol/hashstate.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libfa1/noise-c/protocol/internal.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libfa1/noise-c/protocol/names.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libfa1/noise-c/protocol/patterns.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libfa1/noise-c/protocol/rand_os.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libfa1/noise-c/protocol/rand_sodium.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libfa1/noise-c/protocol/randstate.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libfa1/noise-c/protocol/signstate.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libfa1/noise-c/protocol/symmetricstate.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/libfa1/noise-c/protocol/util.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/lib21f/AsyncMqttClient-esphome/AsyncMqttClient.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-garageentrylights/libfa1/libnoise-c.a\n", - "\u001b[0mIndexing .pioenvs/esp-garageentrylights/libfa1/libnoise-c.a\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/lib21f/AsyncMqttClient-esphome/AsyncMqttClient/Packets/ConnAckPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/lib21f/AsyncMqttClient-esphome/AsyncMqttClient/Packets/PingRespPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/lib21f/AsyncMqttClient-esphome/AsyncMqttClient/Packets/PubAckPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/lib21f/AsyncMqttClient-esphome/AsyncMqttClient/Packets/PubCompPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/lib21f/AsyncMqttClient-esphome/AsyncMqttClient/Packets/PubRecPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/lib21f/AsyncMqttClient-esphome/AsyncMqttClient/Packets/PubRelPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/lib21f/AsyncMqttClient-esphome/AsyncMqttClient/Packets/PublishPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/lib21f/AsyncMqttClient-esphome/AsyncMqttClient/Packets/SubAckPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/lib21f/AsyncMqttClient-esphome/AsyncMqttClient/Packets/UnsubAckPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/board_generic-bk7231n-qfn32-tuya/generic-bk7231n-qfn32-tuya.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garageentrylights/libboard_generic-bk7231n-qfn32-tuya.a\n", - "\u001b[0mIndexing .pioenvs/esp-garageentrylights/libboard_generic-bk7231n-qfn32-tuya.a\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/arduino_api/api/Common.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/arduino_api/api/IPAddress.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/arduino_api/api/PluggableUSB.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/arduino_api/api/Print.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/arduino_api/api/Stream.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/arduino_api/api/String.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_bk72xx_arduino_libraries/Serial/Serial.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_bk72xx_arduino_libraries/WiFi/WiFi.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-garageentrylights/libarduino_api.a\n", - "\u001b[0mArchiving .pioenvs/esp-garageentrylights/lib21f/libAsyncMqttClient-esphome.a\n", - "\u001b[0mIndexing .pioenvs/esp-garageentrylights/libarduino_api.a\n", - "\u001b[0mIndexing .pioenvs/esp-garageentrylights/lib21f/libAsyncMqttClient-esphome.a\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_bk72xx_arduino_libraries/WiFi/WiFiAP.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_bk72xx_arduino_libraries/WiFi/WiFiEvents.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_bk72xx_arduino_libraries/WiFi/WiFiGeneric.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_bk72xx_arduino_libraries/WiFi/WiFiSTA.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_bk72xx_arduino_libraries/WiFi/WiFiScan.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-garageentrylights/libcore_bk72xx_arduino_fixups.a\n", - "\u001b[0mIndexing .pioenvs/esp-garageentrylights/libcore_bk72xx_arduino_fixups.a\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_bk72xx_arduino/main.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_bk72xx_arduino/wiring.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_bk72xx_arduino/wiring_analog.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_bk72xx_arduino/wiring_digital.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_bk72xx_arduino/wiring_irq.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_common_arduino_libraries/api/Serial/Serial.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-garageentrylights/libcore_bk72xx_arduino.a\n", - "\u001b[0mIndexing .pioenvs/esp-garageentrylights/libcore_bk72xx_arduino.a\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_common_arduino_libraries/api/SoftwareSerial/SoftwareSerial.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_common_arduino_libraries/api/WiFi/WiFi.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_common_arduino_libraries/api/WiFi/WiFiAP.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-garageentrylights/libcore_bk72xx_arduino_libraries.a\n", - "\u001b[0mIndexing .pioenvs/esp-garageentrylights/libcore_bk72xx_arduino_libraries.a\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_common_arduino_libraries/api/WiFi/WiFiEvents.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_common_arduino_libraries/api/WiFi/WiFiGeneric.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_common_arduino_libraries/api/WiFi/WiFiSTA.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_common_arduino_libraries/api/WiFi/WiFiScan.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_common_arduino_libraries/common/FS/FS.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_common_arduino_libraries/common/IPv6Address/IPv6Address.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_common_arduino_libraries/common/MD5/MD5MbedTLSImpl.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_common_arduino_libraries/common/Update/Update.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_common_arduino_libraries/common/Update/UpdateUtil.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_common_arduino_libraries/common/WiFiClient/LwIPClient.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_common_arduino_libraries/common/WiFiClient/LwIPRxBuffer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_common_arduino_libraries/common/WiFiClient/MbedTLSClient.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_common_arduino_libraries/common/WiFiServer/LwIPServer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_common_arduino_libraries/common/WiFiUdp/LwIPUdp.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_common_arduino_libraries/common/mDNS/LwIPmDNS.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_common_arduino_libraries/common/mDNS/mDNS.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_common_arduino_libraries/ext/HTTPClient/HTTPClient.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_common_arduino_libraries/ext/StreamString/StreamString.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_common_arduino_libraries/ext/WebServer/Parsing.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_common_arduino_libraries/ext/WebServer/WebServer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_common_arduino_libraries/ext/WebServer/detail/mimetable.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_common_arduino_libraries/ext/WiFiMulti/WiFiMulti.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_common_arduino_libraries/ext/base64/base64.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_common_arduino_libraries/ext/base64/libb64/cdecode.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_common_arduino_libraries/ext/base64/libb64/cencode.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_common_arduino_libraries/ext/cbuf/cbuf.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_common_arduino_libraries/inline/Singletons.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-garageentrylights/libcore_common_arduino_fixups.a\n", - "\u001b[0mIndexing .pioenvs/esp-garageentrylights/libcore_common_arduino_fixups.a\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_common_arduino/Events.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_common_arduino/common/abi.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_common_arduino/common/dtostrf.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_common_arduino/common/serial_event.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_common_arduino/main.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_common_arduino/posix/time.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_common_arduino/wiring/wiring.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_common_arduino/wiring/wiring_compat.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-garageentrylights/libcore_common_arduino_libraries.a\n", - "\u001b[0mIndexing .pioenvs/esp-garageentrylights/libcore_common_arduino_libraries.a\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_common_arduino/wiring/wiring_custom.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_common_arduino/wiring/wiring_irq.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_common_arduino/wiring/wiring_math.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_common_arduino/wiring/wiring_private.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_common_arduino/wiring/wiring_shift.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/printf/src/printf/printf.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/flashdb/port/fal/src/fal.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/flashdb/port/fal/src/fal_flash.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/flashdb/port/fal/src/fal_partition.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/flashdb/port/fal/src/fal_rtt.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garageentrylights/libprintf.a\n", - "\u001b[0mIndexing .pioenvs/esp-garageentrylights/libprintf.a\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/flashdb/src/fdb.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/flashdb/src/fdb_file.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/flashdb/src/fdb_kvdb.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/flashdb/src/fdb_tsdb.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/flashdb/src/fdb_utils.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/uf2ota/src/uf2binpatch.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/uf2ota/src/uf2ota.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/uf2ota/src/uf2priv.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_bk7231n_fixups/fixups/temp_detect.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garageentrylights/libuf2ota.a\n", - "\u001b[0mIndexing .pioenvs/esp-garageentrylights/libuf2ota.a\n", - "\u001b[0mArchiving .pioenvs/esp-garageentrylights/libcore_bk7231n_fixups.a\n", - "\u001b[0mArchiving .pioenvs/esp-garageentrylights/libcore_bk7231n.a\n", - "\u001b[0mIndexing .pioenvs/esp-garageentrylights/libcore_bk7231n_fixups.a\n", - "\u001b[0mIndexing .pioenvs/esp-garageentrylights/libcore_bk7231n.a\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_bk72xx_fixups/fixups/arch_main.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_bk72xx_fixups/fixups/ate_app.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garageentrylights/libflashdb.a\n", - "\u001b[0mIndexing .pioenvs/esp-garageentrylights/libflashdb.a\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_bk72xx_fixups/fixups/clock_cal.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_bk72xx_fixups/fixups/clock_rtos.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_bk72xx_fixups/fixups/gcc10.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_bk72xx_fixups/fixups/intc.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garageentrylights/libcore_common_arduino.a\n", - "\u001b[0mIndexing .pioenvs/esp-garageentrylights/libcore_common_arduino.a\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_bk72xx_fixups/fixups/sys_ctrl.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_bk72xx_fixups/fixups/wlan_ui.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_bk72xx/api/lt_cpu.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_bk72xx/api/lt_device.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_bk72xx/api/lt_flash.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_bk72xx/api/lt_init.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_bk72xx/api/lt_mem.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_bk72xx/api/lt_ota.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_bk72xx/api/lt_sleep.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_bk72xx/api/lt_wdt.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garageentrylights/libcore_bk72xx_fixups.a\n", - "\u001b[0mIndexing .pioenvs/esp-garageentrylights/libcore_bk72xx_fixups.a\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_bk72xx/port/fal_flash_bk72xx_port.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_bk72xx/port/printf.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_bk72xx/wraps/BkDriverFlash.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_bk72xx/wraps/wlan_ui.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_common_fixups/fixups/malloc.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_common/api/lt_cpu.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garageentrylights/libcore_bk72xx.a\n", - "\u001b[0mIndexing .pioenvs/esp-garageentrylights/libcore_bk72xx.a\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_common/api/lt_device.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_common/api/lt_flash.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garageentrylights/libcore_common_fixups.a\n", - "\u001b[0mIndexing .pioenvs/esp-garageentrylights/libcore_common_fixups.a\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_common/api/lt_mem.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_common/api/lt_ota.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_common/api/lt_sleep.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_common/api/lt_utils.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_common/api/lt_wdt.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_common/lt_logger.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_common/lt_main.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_common/posix/itoa.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_common/posix/strcasecmp.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_common/posix/strdup.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_common/posix/strptime.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_common/wraps/putchar.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/core_common/wraps/puts.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_ble_5_1/ble_pub/app/src/app_ble.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garageentrylights/libcore_common.a\n", - "\u001b[0mIndexing .pioenvs/esp-garageentrylights/libcore_common.a\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_ble_5_1/ble_pub/app/src/app_ble_init.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_ble_5_1/ble_pub/app/src/app_comm.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_ble_5_1/ble_pub/app/src/app_sdp.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_ble_5_1/ble_pub/app/src/app_task.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_ble_5_1/ble_pub/prf/prf.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_ble_5_1/ble_pub/prf/prf_utils.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_ble_5_1/ble_pub/profiles/comm/src/comm.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_ble_5_1/ble_pub/profiles/comm/src/comm_task.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_ble_5_1/ble_pub/profiles/sdp/src/sdp_comm_task.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_ble_5_1/ble_pub/profiles/sdp/src/sdp_common.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_ble_5_1/ble_pub/ui/ble_ui.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_ble_5_1/platform/7231n/driver/rf/ble_rf_port.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_ble_5_1/platform/7231n/driver/rf/rf_xvr.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_ble_5_1/platform/7231n/driver/uart/uart_ble.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_ble_5_1/platform/7231n/entry/ble_main.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_ble_5_1/platform/7231n/rwip/src/rwble.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_ble_5_1/platform/7231n/rwip/src/rwip.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls-port/src/timing_alt.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls-port/src/tls_certificate.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls-port/src/tls_client.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls-port/src/tls_hardware.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls-port/src/tls_mem.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garageentrylights/libbdk_ble_5_1.a\n", - "\u001b[0mIndexing .pioenvs/esp-garageentrylights/libbdk_ble_5_1.a\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls-port/src/tls_net.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls/library/aes.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls/library/aesni.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls/library/arc4.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls/library/asn1parse.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls/library/asn1write.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls/library/base64.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls/library/bignum.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls/library/blowfish.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls/library/camellia.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls/library/ccm.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls/library/certs.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls/library/cipher.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls/library/cipher_wrap.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls/library/cmac.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls/library/ctr_drbg.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls/library/debug.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls/library/des.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls/library/dhm.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls/library/ecdh.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls/library/ecdsa.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls/library/ecjpake.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls/library/ecp.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls/library/ecp_curves.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls/library/entropy.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls/library/entropy_poll.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls/library/error.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls/library/gcm.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls/library/havege.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls/library/hmac_drbg.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls/library/md.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls/library/md2.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls/library/md4.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls/library/md5.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls/library/md_wrap.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls/library/memory_buffer_alloc.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls/library/net_sockets.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls/library/oid.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls/library/padlock.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls/library/pem.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls/library/pk.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls/library/pk_wrap.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls/library/pkcs11.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls/library/pkcs12.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls/library/pkcs5.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls/library/pkparse.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls/library/pkwrite.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls/library/platform.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls/library/ripemd160.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls/library/rsa.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls/library/sha1.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls/library/sha256.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls/library/sha512.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls/library/ssl_cache.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls/library/ssl_ciphersuites.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls/library/ssl_cli.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls/library/ssl_cookie.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls/library/ssl_srv.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls/library/ssl_ticket.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls/library/ssl_tls.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls/library/threading.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls/library/timing.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls/library/version.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls/library/version_features.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls/library/x509.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls/library/x509_create.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls/library/x509_crl.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls/library/x509_crt.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls/library/x509_csr.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls/library/x509write_crt.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls/library/x509write_csr.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_mbedtls/mbedtls/library/xtea.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/lwip_bdk/port/ethernetif.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/lwip_bdk/port/net.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/lwip_bdk/port/sys_arch.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garageentrylights/libbdk_mbedtls.a\n", - "\u001b[0mIndexing .pioenvs/esp-garageentrylights/libbdk_mbedtls.a\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/lwip_bdk/src/api/api_lib.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/lwip_bdk/src/api/api_msg.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/lwip_bdk/src/api/err.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/lwip_bdk/src/api/if_api.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/lwip_bdk/src/api/netbuf.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/lwip_bdk/src/api/netdb.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/lwip_bdk/src/api/netifapi.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/lwip_bdk/src/api/sockets.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/lwip_bdk/src/api/tcpip.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/lwip_bdk/src/apps/mdns/mdns.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/lwip_bdk/src/apps/mdns/mdns_domain.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/lwip_bdk/src/apps/mdns/mdns_out.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/lwip_bdk/src/apps/sntp/sntp.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/lwip_bdk/src/core/altcp.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/lwip_bdk/src/core/altcp_alloc.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/lwip_bdk/src/core/altcp_tcp.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/lwip_bdk/src/core/def.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/lwip_bdk/src/core/dns.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/lwip_bdk/src/core/inet_chksum.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/lwip_bdk/src/core/init.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/lwip_bdk/src/core/ip.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/lwip_bdk/src/core/ipv4/acd.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/lwip_bdk/src/core/ipv4/autoip.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/lwip_bdk/src/core/ipv4/dhcp.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/lwip_bdk/src/core/ipv4/etharp.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/lwip_bdk/src/core/ipv4/icmp.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/lwip_bdk/src/core/ipv4/igmp.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/lwip_bdk/src/core/ipv4/ip4.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/lwip_bdk/src/core/ipv4/ip4_addr.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/lwip_bdk/src/core/ipv4/ip4_frag.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/lwip_bdk/src/core/ipv6/dhcp6.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/lwip_bdk/src/core/ipv6/ethip6.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/lwip_bdk/src/core/ipv6/icmp6.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/lwip_bdk/src/core/ipv6/inet6.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/lwip_bdk/src/core/ipv6/ip6.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/lwip_bdk/src/core/ipv6/ip6_addr.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/lwip_bdk/src/core/ipv6/ip6_frag.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/lwip_bdk/src/core/ipv6/mld6.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/lwip_bdk/src/core/ipv6/nd6.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/lwip_bdk/src/core/mem.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/lwip_bdk/src/core/memp.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/lwip_bdk/src/core/netif.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/lwip_bdk/src/core/pbuf.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/lwip_bdk/src/core/raw.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/lwip_bdk/src/core/stats.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/lwip_bdk/src/core/sys.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/lwip_bdk/src/core/tcp.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/lwip_bdk/src/core/tcp_in.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/lwip_bdk/src/core/tcp_out.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/lwip_bdk/src/core/timeouts.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/lwip_bdk/src/core/udp.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/lwip_bdk/src/netif/ethernet.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_freertos_thumb/os/FreeRTOSv9.0.0/rtos_pub.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_freertos_thumb/os/mem_arch.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_freertos_thumb/os/str_arch.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garageentrylights/liblwip_bdk.a\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/freertos_port/beken-bdk/heap_4.c.o\n", - "\u001b[0mIndexing .pioenvs/esp-garageentrylights/liblwip_bdk.a\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/freertos_port/beken-bdk/port.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/freertos/FreeRTOS/Source/croutine.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/freertos/FreeRTOS/Source/event_groups.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/freertos/FreeRTOS/Source/list.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garageentrylights/libbdk_freertos_thumb.a\n", - "\u001b[0mIndexing .pioenvs/esp-garageentrylights/libbdk_freertos_thumb.a\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/freertos/FreeRTOS/Source/queue.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/freertos/FreeRTOS/Source/tasks.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/freertos/FreeRTOS/Source/timers.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garageentrylights/libfreertos_port.a\n", - "\u001b[0mIndexing .pioenvs/esp-garageentrylights/libfreertos_port.a\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_func/airkiss/airkiss_main.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_func/airkiss/airkiss_pingpong.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_func/airkiss/bk_airkiss.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_func/base64/base_64.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_func/ble_wifi_exchange/ble_wifi_port.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garageentrylights/libfreertos.a\n", - "\u001b[0mIndexing .pioenvs/esp-garageentrylights/libfreertos.a\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_func/camera_intf/camera_intf.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_func/func.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_func/hostapd_intf/hostapd_intf.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_func/joint_up/role_launch.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_func/lwip_intf/dhcpd/dhcp-server-main.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_func/lwip_intf/dhcpd/dhcp-server.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_func/misc/pseudo_random.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_func/misc/start_type.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_func/misc/target_util.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_func/net_param_intf/net_param.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_func/power_save/ap_idle.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_func/power_save/manual_ps.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_func/power_save/mcu_ps.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_func/power_save/power_save.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_func/rwnx_intf/rw_ieee80211.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_func/rwnx_intf/rw_msdu.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_func/rwnx_intf/rw_msg_rx.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_func/rwnx_intf/rw_msg_tx.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_func/saradc_intf/saradc_intf.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_func/security/security_func.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_func/sim_uart/gpio_uart.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_func/sim_uart/pwm_uart.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_func/spidma_intf/spidma_intf.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_func/temp_detect/temp_detect.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_func/usb_plug/usb_plug.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_func/user_driver/BkDriverFlash.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_func/user_driver/BkDriverGpio.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_func/user_driver/BkDriverPwm.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_func/user_driver/BkDriverRng.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_func/user_driver/BkDriverTimer.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_func/user_driver/BkDriverUart.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_func/user_driver/BkDriverWdg.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_func/utf8/conv_utf8.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_func/video_transfer/video_transfer.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_driver/calendar/calendar.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_driver/common/dd.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_driver/common/drv_model.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garageentrylights/libbdk_func.a\n", - "\u001b[0mIndexing .pioenvs/esp-garageentrylights/libbdk_func.a\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_driver/dma/dma.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_driver/driver.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_driver/fft/fft.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_driver/flash/flash.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_driver/general_dma/general_dma.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_driver/gpio/gpio.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_driver/i2c/i2c1.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_driver/i2c/i2c2.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_driver/i2s/i2s.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_driver/icu/icu.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_driver/irda/irda.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_driver/jpeg/jpeg_encoder.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_driver/macphy_bypass/mac_phy_bypass.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_driver/phy/phy_trident.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_driver/pwm/bk_timer.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_driver/pwm/mcu_ps_timer.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_driver/pwm/pwm.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_driver/pwm/pwm_bk7231n.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_driver/pwm/pwm_mutex.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_driver/qspi/qspi.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_driver/rw_pub/rw_platf_pub.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_driver/saradc/saradc.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_driver/security/hal_aes.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_driver/security/hal_sha.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_driver/security/security.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_driver/spi/spi.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_driver/spi/spi_bk7231n.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_driver/spi/spi_bk7271.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_driver/spi/spi_flash.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_driver/spi/spi_master.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_driver/spi/spi_master_bk7231n.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_driver/spi/spi_master_bk7271.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_driver/spi/spi_slave.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_driver/spi/spi_slave_bk7231n.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_driver/spi/spi_slave_bk7271.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_driver/spidma/spidma.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_driver/sys_ctrl/sys_ctrl.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_driver/uart/uart.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_driver/wdt/wdt.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_app/http/lite-log.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_app/http/utils_httpc.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_app/http/utils_net.c.o\n", - "\u001b[33m/data/cache/platformio/packages/framework-beken-bdk/beken378/driver/sys_ctrl/sys_ctrl.c: In function 'sctrl_hw_sleep':\n", - "\u001b[0m\u001b[33m/data/cache/platformio/packages/framework-beken-bdk/beken378/driver/sys_ctrl/sys_ctrl.c:638:8: warning: implicit declaration of function 'if_ble_sleep' [-Wimplicit-function-declaration]\n", - "\u001b[0m\u001b[33m 638 | if(if_ble_sleep())\n", - "\u001b[0m | ^~~~~~~~~~~~\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_app/http/utils_timer.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_app/net_work/video_demo_main.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_app/net_work/video_demo_softap.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_app/net_work/video_demo_station.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_app/standalone-ap/sa_ap.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_app/standalone-station/sa_station.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garageentrylights/libbdk_driver.a\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_app/video_work/video_buffer.c.o\n", - "\u001b[0mIndexing .pioenvs/esp-garageentrylights/libbdk_driver.a\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_app/video_work/video_transfer_tcp.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_app/video_work/video_transfer_udp.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_core/app/app.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_core/app/config/param_config.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_core/driver/entry/boot_handlers.S.o\n", - "\u001b[0mArchiving .pioenvs/esp-garageentrylights/libbdk_app.a\n", - "\u001b[0mIndexing .pioenvs/esp-garageentrylights/libbdk_app.a\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_core/driver/entry/boot_vectors.S.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageentrylights/bdk_core/func/wlan_ui/wlan_ui.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garageentrylights/libbdk_core.a\n", - "\u001b[0mIndexing .pioenvs/esp-garageentrylights/libbdk_core.a\n", - "\u001b[0mLinking .pioenvs/esp-garageentrylights/raw_firmware.elf\n", - "\u001b[0m|-- Image 1: raw_firmware.elf\n", - "\u001b[0m| |-- image_bk7231n_app.0x011000.rbl\n", - "\u001b[0m| | |-- raw_firmware.bin\n", - "\u001b[0m| |-- image_bk7231n_app.0x011000.crc\n", - "\u001b[0m| |-- image_bk7231n_app.0x129F0A.rblh\n", - "\u001b[0m| |-- image_bk7231n_app.ota.rbl\n", - "\u001b[0m| |-- image_bk7231n_app.ota.ug.bin\n", - "\u001b[0mRAM: [== ] 18.5% (used 48376 bytes from 262144 bytes)\n", - "\u001b[0mFlash: [====== ] 58.0% (used 627886 bytes from 1083136 bytes)\n", - "Building UF2 OTA image\n", - "\u001b[0m|-- esphome_2026.5.0_generic-bk7231n-qfn32-tuya_bk7231n_lt1.12.1.uf2\n", - "\u001b[0m|-- firmware.uf2\n", - "\u001b[0m|-- firmware.bin\n", - "\u001b[0m======================== [\u001b[32m\u001b[1mSUCCESS\u001b[0m] Took 221.96 seconds ========================\u001b[0m\n", - "\\033[32mINFO Build Info: config_hash=0xbe1d799c build_time_str=2026-05-24 20:33:24 +1200\\033[0m\n", - "\\033[32mINFO Successfully compiled program.\\033[0m\n", - "\\033[32mINFO Connecting to 172.31.11.157 port 8892...\\033[0m\n", - "\\033[32mINFO Connected to 172.31.11.157\\033[0m\n", - "\\033[32mINFO Uploading /data/build/esp-garageentrylights/.pioenvs/esp-garageentrylights/firmware.uf2 (2203136 bytes)\\033[0m\n", - "Uploading: [============================================================] 100% Done...\r\n", - "\n", - "\\033[32mINFO Upload took 25.96 seconds, waiting for result...\\033[0m\n", - "\\033[32mINFO OTA successful\\033[0m\n", - "\\033[32mINFO Successfully uploaded program.\\033[0m\n" - ], "error": null, "port": "OTA", "new_name": "", + "depends_on": "", "progress": 100, "remote_peer": "", "remote_job_id": "", @@ -10483,395 +859,18 @@ "source_esphome_version": "" }, { - "job_id": "b6f3f3704800", - "configuration": "esp-garagelights.yaml", + "job_id": "deaf8d652e71", + "configuration": "esp-downstairskitchleds.yaml", "job_type": "install", "status": "completed", - "created_at": "2026-05-24T08:14:04.610134+00:00", - "started_at": "2026-05-24T08:29:55.834684+00:00", - "completed_at": "2026-05-24T08:33:23.366589+00:00", + "created_at": "2026-06-01T04:19:41.407992+00:00", + "started_at": "2026-06-01T07:29:08.025306+00:00", + "completed_at": "2026-06-01T07:31:40.388086+00:00", "exit_code": 0, - "output": [ - "\\033[32mINFO ESPHome 2026.5.0\\033[0m\n", - "\\033[32mINFO Reading configuration /config/esphome/esp-garagelights.yaml...\\033[0m\n", - "\\033[32mINFO Generating C++ source...\\033[0m\n", - "\\033[32mINFO Compiling app... Build path: /data/build/esp-garagelights\\033[0m\n", - "Processing \u001b[36m\u001b[1mesp-garagelights\u001b[0m (board: esp01_1m; framework: arduino; platform: platformio/espressif8266@4.2.1)\n", - "\u001b[1m--------------------------------------------------------------------------------\u001b[0m\n", - "\u001b[0mHARDWARE: ESP8266 80MHz, 80KB RAM, 1MB Flash\n", - "\u001b[0mESPHome: Excluding Updater.cpp from build (using native OTA backend)\n", - "\u001b[0mESPHome: Excluding core_esp8266_waveform_phase.cpp from build (waveform not required)\n", - "\u001b[0mESPHome: Excluding core_esp8266_waveform_pwm.cpp from build (waveform not required)\n", - "\u001b[0mDependency Graph\n", - "\u001b[0m|-- ESPAsyncTCP @ 2.0.0\n", - "\u001b[0m|-- ESP8266WiFi @ 1.0\n", - "\u001b[0m|-- ESPAsyncWebServer @ 3.9.6\n", - "\u001b[0m|-- DNSServer @ 1.1.1\n", - "\u001b[0m|-- ESP8266mDNS @ 1.2\n", - "\u001b[0m|-- noise-c @ 0.1.11\n", - "\u001b[0m|-- AsyncMqttClient-esphome @ 2.0.0\n", - "\u001b[0m|-- ArduinoJson @ 7.4.2\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/api/api_buffer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/api/api_connection.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/api/api_frame_helper.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/api/api_frame_helper_noise.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/api/api_overflow_buffer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/api/api_pb2.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/api/api_pb2_service.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/api/api_server.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/api/list_entities.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/api/proto.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/api/subscribe_state.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/binary_sensor/automation.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/binary_sensor/binary_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/binary_sensor/filter.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/button/button.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/captive_portal/captive_portal.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/copy/sensor/copy_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/esp8266/core.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/esp8266/crash_handler.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/esp8266/gpio.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/esp8266/hal.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/esp8266/helpers.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/esp8266/preferences.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/esp8266/printf_stubs.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/esp8266/waveform_stubs.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/esphome/ota/ota_esphome.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/factory_reset/button/factory_reset_button.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/gpio/binary_sensor/gpio_binary_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/gpio/switch/gpio_switch.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/json/json_util.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/logger/logger.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/logger/logger_esp8266.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/md5/md5.cpp.o\n", - "\u001b[33msrc/esphome/components/logger/logger.cpp:214:25: warning: 'const esphome::LogString* esphome::logger::get_log_level_str(uint8_t)' defined but not used [-Wunused-function]\n", - "\u001b[0m\u001b[33m 214 | static const LogString *get_log_level_str(uint8_t level) {\n", - "\u001b[0m | ^~~~~~~~~~~~~~~~~\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/mdns/mdns_component.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/mdns/mdns_esp8266.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/mqtt/custom_mqtt_device.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/mqtt/mqtt_alarm_control_panel.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/mqtt/mqtt_binary_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/mqtt/mqtt_button.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/mqtt/mqtt_client.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/mqtt/mqtt_climate.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/mqtt/mqtt_component.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/mqtt/mqtt_cover.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/mqtt/mqtt_date.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/mqtt/mqtt_datetime.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/mqtt/mqtt_event.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/mqtt/mqtt_fan.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/mqtt/mqtt_light.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/mqtt/mqtt_lock.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/mqtt/mqtt_number.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/mqtt/mqtt_select.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/mqtt/mqtt_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/mqtt/mqtt_switch.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/mqtt/mqtt_text.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/mqtt/mqtt_text_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/mqtt/mqtt_time.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/mqtt/mqtt_update.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/mqtt/mqtt_valve.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/network/util.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/ota/ota_backend.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/ota/ota_backend_esp8266.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/ota/ota_bootloader_esp_idf.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/ota/ota_partitions_esp_idf.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/restart/button/restart_button.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/safe_mode/button/safe_mode_button.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/safe_mode/safe_mode.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/sensor/automation.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/sensor/filter.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/sensor/sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/sha256/sha256.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/socket/lwip_raw_tcp_impl.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/socket/socket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/status/status_binary_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/status_led/status_led.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/switch/automation.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/switch/switch.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/template/binary_sensor/template_binary_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/template/sensor/template_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/text_sensor/filter.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/text_sensor/text_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/uptime/sensor/uptime_seconds_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/uptime/sensor/uptime_timestamp_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/uptime/text_sensor/uptime_text_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/version/version_text_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/web_server/ota/ota_web_server.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/web_server_base/web_server_base.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/wifi/wifi_component.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/wifi/wifi_component_esp8266.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/wifi_info/wifi_info_text_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/components/wifi_signal/wifi_signal_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/core/alloc_helpers.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/core/application.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/core/build_info_data.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/core/color.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/core/component.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/core/component_iterator.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/core/controller_registry.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/core/entity_base.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/core/gpio.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/core/helpers.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/core/log.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/core/scheduler.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/core/time.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/core/time_64.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/core/util.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/esphome/core/wake/wake_esp8266.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/src/main.cpp.o\n", - "\u001b[0mGenerating LD script .pioenvs/esp-garagelights/ld/local.eagle.app.v6.common.ld\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/lib394/ESPAsyncTCP/AsyncPrinter.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/lib394/ESPAsyncTCP/ESPAsyncTCP.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/lib394/ESPAsyncTCP/ESPAsyncTCPbuffer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/lib394/ESPAsyncTCP/SyncClient.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/lib394/ESPAsyncTCP/tcp_axtls.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/lib67b/ESP8266WiFi/BearSSLHelpers.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/lib67b/ESP8266WiFi/CertStoreBearSSL.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagelights/lib394/libESPAsyncTCP.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagelights/lib394/libESPAsyncTCP.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/lib67b/ESP8266WiFi/ESP8266WiFi.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/lib67b/ESP8266WiFi/ESP8266WiFiAP.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/lib67b/ESP8266WiFi/ESP8266WiFiGeneric.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/lib67b/ESP8266WiFi/ESP8266WiFiGratuitous.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/lib67b/ESP8266WiFi/ESP8266WiFiMulti.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/lib67b/ESP8266WiFi/ESP8266WiFiSTA-WPS.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/lib67b/ESP8266WiFi/ESP8266WiFiSTA.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/lib67b/ESP8266WiFi/ESP8266WiFiScan.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/lib67b/ESP8266WiFi/WiFiClient.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/lib67b/ESP8266WiFi/WiFiClientSecureBearSSL.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/lib67b/ESP8266WiFi/WiFiServer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/lib67b/ESP8266WiFi/WiFiServerSecureBearSSL.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/lib67b/ESP8266WiFi/WiFiUdp.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/lib67b/ESP8266WiFi/enable_wifi_at_boot_time.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/libaf0/Hash/Hash.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/libbc5/ESPAsyncWebServer/AsyncEventSource.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/libbc5/ESPAsyncWebServer/AsyncJson.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagelights/libaf0/libHash.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagelights/libaf0/libHash.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/libbc5/ESPAsyncWebServer/AsyncWebHeader.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagelights/lib67b/libESP8266WiFi.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagelights/lib67b/libESP8266WiFi.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/libbc5/ESPAsyncWebServer/AsyncWebServerRequest.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/libbc5/ESPAsyncWebServer/AsyncWebSocket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/libbc5/ESPAsyncWebServer/BackPort_SHA1Builder.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/libbc5/ESPAsyncWebServer/ChunkPrint.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/libbc5/ESPAsyncWebServer/Middleware.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/libbc5/ESPAsyncWebServer/WebAuthentication.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/libbc5/ESPAsyncWebServer/WebHandlers.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/libbc5/ESPAsyncWebServer/WebRequest.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/libbc5/ESPAsyncWebServer/WebResponses.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/libbc5/ESPAsyncWebServer/WebServer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/libecb/DNSServer/DNSServer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/lib3ff/ESP8266mDNS/ESP8266mDNS.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/lib3ff/ESP8266mDNS/LEAmDNS.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagelights/libbc5/libESPAsyncWebServer.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagelights/libbc5/libESPAsyncWebServer.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/lib3ff/ESP8266mDNS/LEAmDNS_Control.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagelights/libecb/libDNSServer.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagelights/libecb/libDNSServer.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/lib3ff/ESP8266mDNS/LEAmDNS_Helpers.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/lib3ff/ESP8266mDNS/LEAmDNS_Structs.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/lib3ff/ESP8266mDNS/LEAmDNS_Transfer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/libeac/libsodium/crypto_aead/chacha20poly1305/aead_chacha20poly1305.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/libeac/libsodium/crypto_core/ed25519/ref10/ed25519_ref10.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/libeac/libsodium/crypto_core/salsa/ref/core_salsa_ref.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/libeac/libsodium/crypto_hash/crypto_hash.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/libeac/libsodium/crypto_hash/sha256/cp/hash_sha256_cp.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/libeac/libsodium/crypto_hash/sha256/hash_sha256.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/libeac/libsodium/crypto_onetimeauth/crypto_onetimeauth.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/libeac/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/libeac/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/libeac/libsodium/crypto_scalarmult/crypto_scalarmult.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/libeac/libsodium/crypto_scalarmult/curve25519/ref10/x25519_ref10.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/libeac/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/libeac/libsodium/crypto_stream/chacha20/ref/chacha20_ref.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/libeac/libsodium/crypto_stream/chacha20/stream_chacha20.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/libeac/libsodium/crypto_stream/crypto_stream.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/libeac/libsodium/crypto_stream/salsa20/ref/salsa20_ref.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/libeac/libsodium/crypto_stream/salsa20/stream_salsa20.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/libeac/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6-asm.S.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/libeac/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/libeac/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-avx2.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/libeac/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-sse2.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/libeac/libsodium/crypto_verify/verify.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/libeac/libsodium/randombytes/internal/randombytes_internal_random.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/libeac/libsodium/randombytes/randombytes.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/libeac/libsodium/randombytes/sysrandom/randombytes_sysrandom.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/libeac/libsodium/sodium/codecs.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/libeac/libsodium/sodium/core.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/libeac/libsodium/sodium/runtime.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/libeac/libsodium/sodium/utils.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/lib28a/noise-c/backend/openssl/cipher-aesgcm.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/lib28a/noise-c/backend/ref/cipher-aesgcm.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/lib28a/noise-c/backend/ref/cipher-chachapoly.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/lib28a/noise-c/backend/ref/dh-curve25519.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/lib28a/noise-c/backend/ref/hash-blake2b.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/lib28a/noise-c/backend/ref/hash-blake2s.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/lib28a/noise-c/backend/ref/hash-sha256.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/lib28a/noise-c/backend/sodium/cipher-aesgcm.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/lib28a/noise-c/backend/sodium/cipher-chachapoly.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/lib28a/noise-c/backend/sodium/dh-curve25519.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagelights/lib3ff/libESP8266mDNS.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagelights/lib3ff/libESP8266mDNS.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/lib28a/noise-c/backend/sodium/hash-blake2b.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/lib28a/noise-c/backend/sodium/hash-sha256.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/lib28a/noise-c/crypto/aes/rijndael-alg-fst.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/lib28a/noise-c/crypto/blake2/blake2b.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/lib28a/noise-c/crypto/blake2/blake2s.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/lib28a/noise-c/crypto/chacha/chacha.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/lib28a/noise-c/crypto/donna/curve25519-donna-c64.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/lib28a/noise-c/crypto/donna/curve25519-donna.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/lib28a/noise-c/crypto/donna/poly1305-donna.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/lib28a/noise-c/crypto/sha2/sha256.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/lib28a/noise-c/crypto/sha2/sha512.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/lib28a/noise-c/crypto/x25519/x25519.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/lib28a/noise-c/protocol/cipherstate.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/lib28a/noise-c/protocol/dhstate.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/lib28a/noise-c/protocol/errors.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/lib28a/noise-c/protocol/handshakestate.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/lib28a/noise-c/protocol/hashstate.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/lib28a/noise-c/protocol/internal.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/lib28a/noise-c/protocol/names.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/lib28a/noise-c/protocol/patterns.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagelights/libeac/libsodium.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagelights/libeac/libsodium.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/lib28a/noise-c/protocol/rand_os.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/lib28a/noise-c/protocol/rand_sodium.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/lib28a/noise-c/protocol/randstate.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/lib28a/noise-c/protocol/signstate.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/lib28a/noise-c/protocol/symmetricstate.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/lib28a/noise-c/protocol/util.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/lib302/ESPAsyncTCP-esphome/AsyncPrinter.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/lib302/ESPAsyncTCP-esphome/ESPAsyncTCP.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/lib302/ESPAsyncTCP-esphome/ESPAsyncTCPbuffer.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagelights/lib28a/libnoise-c.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagelights/lib28a/libnoise-c.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/lib302/ESPAsyncTCP-esphome/SyncClient.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/lib302/ESPAsyncTCP-esphome/tcp_axtls.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/libf34/AsyncMqttClient-esphome/AsyncMqttClient.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/libf34/AsyncMqttClient-esphome/AsyncMqttClient/Packets/ConnAckPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/libf34/AsyncMqttClient-esphome/AsyncMqttClient/Packets/PingRespPacket.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagelights/lib302/libESPAsyncTCP-esphome.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagelights/lib302/libESPAsyncTCP-esphome.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/libf34/AsyncMqttClient-esphome/AsyncMqttClient/Packets/PubAckPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/libf34/AsyncMqttClient-esphome/AsyncMqttClient/Packets/PubCompPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/libf34/AsyncMqttClient-esphome/AsyncMqttClient/Packets/PubRecPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/libf34/AsyncMqttClient-esphome/AsyncMqttClient/Packets/PubRelPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/libf34/AsyncMqttClient-esphome/AsyncMqttClient/Packets/PublishPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/libf34/AsyncMqttClient-esphome/AsyncMqttClient/Packets/SubAckPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/libf34/AsyncMqttClient-esphome/AsyncMqttClient/Packets/UnsubAckPacket.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagelights/libFrameworkArduinoVariant.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagelights/libFrameworkArduinoVariant.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/Crypto.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/Esp-frag.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/Esp-version.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagelights/libf34/libAsyncMqttClient-esphome.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagelights/libf34/libAsyncMqttClient-esphome.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/Esp.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/FS.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/FSnoop.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/FunctionalInterrupt.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/HardwareSerial.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/IPAddress.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/LwipDhcpServer-NonOS.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/LwipDhcpServer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/LwipIntf.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/LwipIntfCB.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/MD5Builder.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/Print.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/Schedule.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/StackThunk.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/Stream.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/StreamSend.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/Tone.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/TypeConversion.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/WMath.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/WString.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/abi.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/aes_unwrap.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/base64.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/cbuf.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/cont.S.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/cont_util.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/core_esp8266_app_entry_noextra4k.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/core_esp8266_eboot_command.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/core_esp8266_features.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/core_esp8266_flash_quirks.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/core_esp8266_flash_utils.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/core_esp8266_i2s.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/core_esp8266_main.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/core_esp8266_non32xfer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/core_esp8266_noniso.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/core_esp8266_phy.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/core_esp8266_postmortem.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/core_esp8266_si2c.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/core_esp8266_sigma_delta.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/core_esp8266_spi_utils.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/core_esp8266_timer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/core_esp8266_vm.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/core_esp8266_wiring.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/core_esp8266_wiring_analog.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/core_esp8266_wiring_digital.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/core_esp8266_wiring_pulse.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/core_esp8266_wiring_pwm.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/core_esp8266_wiring_shift.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/crc32.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/debug.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/exc-c-wrapper-handler.S.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/exc-sethandler.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/flash_hal.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/gdb_hooks.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/heap.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/hwdt_app_entry.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/libb64/cdecode.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/libb64/cencode.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/libc_replacements.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/mmu_iram.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/reboot_uart_dwnld.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/spiffs/spiffs_cache.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/spiffs/spiffs_check.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/spiffs/spiffs_gc.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/spiffs/spiffs_hydrogen.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/spiffs/spiffs_nucleus.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/spiffs_api.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/sqrt32.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/stdlib_noniso.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/time.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/uart.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/umm_malloc/umm_info.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/umm_malloc/umm_integrity.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/umm_malloc/umm_local.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/umm_malloc/umm_malloc.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/umm_malloc/umm_poison.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagelights/FrameworkArduino/wpa2_eap_patch.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagelights/libFrameworkArduino.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagelights/libFrameworkArduino.a\n", - "\u001b[0mremove_scanf_float_flag([\".pioenvs/esp-garagelights/firmware.elf\"], [\".pioenvs/esp-garagelights/src/esphome/components/api/api_buffer.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/api/api_connection.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/api/api_frame_helper.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/api/api_frame_helper_noise.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/api/api_overflow_buffer.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/api/api_pb2.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/api/api_pb2_service.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/api/api_server.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/api/list_entities.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/api/proto.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/api/subscribe_state.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/binary_sensor/automation.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/binary_sensor/binary_sensor.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/binary_sensor/filter.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/button/button.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/captive_portal/captive_portal.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/copy/sensor/copy_sensor.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/esp8266/core.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/esp8266/crash_handler.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/esp8266/gpio.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/esp8266/hal.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/esp8266/helpers.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/esp8266/preferences.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/esp8266/printf_stubs.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/esp8266/waveform_stubs.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/esphome/ota/ota_esphome.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/factory_reset/button/factory_reset_button.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/gpio/binary_sensor/gpio_binary_sensor.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/gpio/switch/gpio_switch.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/json/json_util.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/logger/logger.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/logger/logger_esp8266.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/md5/md5.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/mdns/mdns_component.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/mdns/mdns_esp8266.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/mqtt/custom_mqtt_device.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/mqtt/mqtt_alarm_control_panel.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/mqtt/mqtt_binary_sensor.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/mqtt/mqtt_button.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/mqtt/mqtt_client.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/mqtt/mqtt_climate.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/mqtt/mqtt_component.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/mqtt/mqtt_cover.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/mqtt/mqtt_date.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/mqtt/mqtt_datetime.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/mqtt/mqtt_event.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/mqtt/mqtt_fan.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/mqtt/mqtt_light.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/mqtt/mqtt_lock.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/mqtt/mqtt_number.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/mqtt/mqtt_select.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/mqtt/mqtt_sensor.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/mqtt/mqtt_switch.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/mqtt/mqtt_text.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/mqtt/mqtt_text_sensor.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/mqtt/mqtt_time.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/mqtt/mqtt_update.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/mqtt/mqtt_valve.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/network/util.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/ota/ota_backend.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/ota/ota_backend_esp8266.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/ota/ota_bootloader_esp_idf.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/ota/ota_partitions_esp_idf.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/restart/button/restart_button.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/safe_mode/button/safe_mode_button.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/safe_mode/safe_mode.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/sensor/automation.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/sensor/filter.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/sensor/sensor.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/sha256/sha256.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/socket/lwip_raw_tcp_impl.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/socket/socket.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/status/status_binary_sensor.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/status_led/status_led.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/switch/automation.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/switch/switch.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/template/binary_sensor/template_binary_sensor.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/template/sensor/template_sensor.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/text_sensor/filter.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/text_sensor/text_sensor.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/uptime/sensor/uptime_seconds_sensor.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/uptime/sensor/uptime_timestamp_sensor.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/uptime/text_sensor/uptime_text_sensor.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/version/version_text_sensor.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/web_server/ota/ota_web_server.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/web_server_base/web_server_base.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/wifi/wifi_component.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/wifi/wifi_component_esp8266.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/wifi_info/wifi_info_text_sensor.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/components/wifi_signal/wifi_signal_sensor.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/core/alloc_helpers.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/core/application.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/core/build_info_data.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/core/color.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/core/component.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/core/component_iterator.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/core/controller_registry.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/core/entity_base.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/core/gpio.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/core/helpers.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/core/log.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/core/scheduler.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/core/time.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/core/time_64.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/core/util.cpp.o\", \".pioenvs/esp-garagelights/src/esphome/core/wake/wake_esp8266.cpp.o\", \".pioenvs/esp-garagelights/src/main.cpp.o\"])\n", - "\u001b[0mESPHome: Removing _scanf_float (saves ~8KB flash)\n", - "\u001b[0mLinking .pioenvs/esp-garagelights/firmware.elf\n", - "\u001b[0mRAM: [===== ] 45.5% (used 37284 bytes from 81920 bytes)\n", - "Flash: [===== ] 49.6% (used 507787 bytes from 1023984 bytes)\n", - "Building .pioenvs/esp-garagelights/firmware.bin\n", - "\u001b[0mesp8266_copy_factory_bin([\".pioenvs/esp-garagelights/firmware.bin\"], [\".pioenvs/esp-garagelights/firmware.elf\"])\n", - "\u001b[0mesp8266_copy_ota_bin([\".pioenvs/esp-garagelights/firmware.bin\"], [\".pioenvs/esp-garagelights/firmware.elf\"])\n", - "\u001b[0m======================== [\u001b[32m\u001b[1mSUCCESS\u001b[0m] Took 191.60 seconds ========================\u001b[0m\n", - "\\033[32mINFO Build Info: config_hash=0x6888f187 build_time_str=2026-05-24 20:29:57 +1200\\033[0m\n", - "\\033[32mINFO Successfully compiled program.\\033[0m\n", - "\\033[32mINFO Connecting to 172.31.11.147 port 8266...\\033[0m\n", - "\\033[32mINFO Connected to 172.31.11.147\\033[0m\n", - "\\033[32mINFO Uploading /data/build/esp-garagelights/.pioenvs/esp-garagelights/firmware.bin (511936 bytes)\\033[0m\n", - "\\033[32mINFO Compressed to 359661 bytes\\033[0m\n", - "Uploading: [============================================================] 100% Done...\r\n", - "\n", - "\\033[32mINFO Upload took 10.55 seconds, waiting for result...\\033[0m\n", - "\\033[32mINFO OTA successful\\033[0m\n", - "\\033[32mINFO Successfully uploaded program.\\033[0m\n" - ], "error": null, "port": "OTA", "new_name": "", + "depends_on": "", "progress": 100, "remote_peer": "", "remote_job_id": "", @@ -10884,2466 +883,18 @@ "source_esphome_version": "" }, { - "job_id": "80aa41d76883", - "configuration": "esp-garageextcornerlight.yaml", - "job_type": "install", - "status": "completed", - "created_at": "2026-05-24T08:14:04.604001+00:00", - "started_at": "2026-05-24T08:26:30.824820+00:00", - "completed_at": "2026-05-24T08:29:55.825058+00:00", - "exit_code": 0, - "output": [ - "\\033[32mINFO ESPHome 2026.5.0\\033[0m\n", - "\\033[32mINFO Reading configuration /config/esphome/esp-garageextcornerlight.yaml...\\033[0m\n", - "\\033[32mINFO Generating C++ source...\\033[0m\n", - "\\033[32mINFO Compiling app... Build path: /data/build/esp-garageextcornerlight\\033[0m\n", - "Processing \u001b[36m\u001b[1mesp-garageextcornerlight\u001b[0m (board: esp01_1m; framework: arduino; platform: platformio/espressif8266@4.2.1)\n", - "\u001b[1m--------------------------------------------------------------------------------\u001b[0m\n", - "Tool Manager: Installing \u001b[36mplatformio/tool-esptoolpy @ ~1.30000.0\u001b[0m\n", - "\u001b[?25lUnpacking [####################################] 100%\u001b[?25h\n", - "Tool Manager: \u001b[32mtool-esptoolpy@1.30000.201119 has been installed!\u001b[0m\n", - "\u001b[0mHARDWARE: ESP8266 80MHz, 80KB RAM, 1MB Flash\n", - "\u001b[0mESPHome: Excluding Updater.cpp from build (using native OTA backend)\n", - "\u001b[0mESPHome: Excluding core_esp8266_waveform_phase.cpp from build (waveform not required)\n", - "\u001b[0mESPHome: Excluding core_esp8266_waveform_pwm.cpp from build (waveform not required)\n", - "\u001b[0mDependency Graph\n", - "\u001b[0m|-- ESPAsyncTCP @ 2.0.0\n", - "\u001b[0m|-- ESP8266WiFi @ 1.0\n", - "\u001b[0m|-- ESPAsyncWebServer @ 3.9.6\n", - "\u001b[0m|-- DNSServer @ 1.1.1\n", - "\u001b[0m|-- ESP8266mDNS @ 1.2\n", - "\u001b[0m|-- noise-c @ 0.1.11\n", - "\u001b[0m|-- AsyncMqttClient-esphome @ 2.0.0\n", - "\u001b[0m|-- ArduinoJson @ 7.4.2\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/api/api_buffer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/api/api_connection.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/api/api_frame_helper.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/api/api_frame_helper_noise.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/api/api_overflow_buffer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/api/api_pb2.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/api/api_pb2_service.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/api/api_server.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/api/list_entities.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/api/proto.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/api/subscribe_state.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/binary_sensor/automation.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/binary_sensor/binary_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/binary_sensor/filter.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/button/button.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/captive_portal/captive_portal.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/copy/sensor/copy_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/esp8266/core.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/esp8266/crash_handler.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/esp8266/gpio.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/esp8266/hal.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/esp8266/helpers.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/esp8266/preferences.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/esp8266/printf_stubs.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/esp8266/waveform_stubs.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/esphome/ota/ota_esphome.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/factory_reset/button/factory_reset_button.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/gpio/binary_sensor/gpio_binary_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/gpio/switch/gpio_switch.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/json/json_util.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/logger/logger.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/logger/logger_esp8266.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/md5/md5.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/mdns/mdns_component.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/mdns/mdns_esp8266.cpp.o\n", - "\u001b[33msrc/esphome/components/logger/logger.cpp:214:25: warning: 'const esphome::LogString* esphome::logger::get_log_level_str(uint8_t)' defined but not used [-Wunused-function]\n", - "\u001b[0m\u001b[33m 214 | static const LogString *get_log_level_str(uint8_t level) {\n", - "\u001b[0m | ^~~~~~~~~~~~~~~~~\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/mqtt/custom_mqtt_device.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/mqtt/mqtt_alarm_control_panel.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/mqtt/mqtt_binary_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/mqtt/mqtt_button.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/mqtt/mqtt_client.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/mqtt/mqtt_climate.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/mqtt/mqtt_component.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/mqtt/mqtt_cover.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/mqtt/mqtt_date.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/mqtt/mqtt_datetime.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/mqtt/mqtt_event.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/mqtt/mqtt_fan.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/mqtt/mqtt_light.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/mqtt/mqtt_lock.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/mqtt/mqtt_number.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/mqtt/mqtt_select.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/mqtt/mqtt_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/mqtt/mqtt_switch.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/mqtt/mqtt_text.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/mqtt/mqtt_text_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/mqtt/mqtt_time.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/mqtt/mqtt_update.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/mqtt/mqtt_valve.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/network/util.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/ota/ota_backend.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/ota/ota_backend_esp8266.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/ota/ota_bootloader_esp_idf.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/ota/ota_partitions_esp_idf.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/restart/button/restart_button.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/safe_mode/button/safe_mode_button.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/safe_mode/safe_mode.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/sensor/automation.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/sensor/filter.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/sensor/sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/sha256/sha256.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/socket/lwip_raw_tcp_impl.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/socket/socket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/status/status_binary_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/status_led/status_led.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/switch/automation.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/switch/switch.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/template/binary_sensor/template_binary_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/template/sensor/template_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/text_sensor/filter.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/text_sensor/text_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/uptime/sensor/uptime_seconds_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/uptime/sensor/uptime_timestamp_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/uptime/text_sensor/uptime_text_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/version/version_text_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/web_server/ota/ota_web_server.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/web_server_base/web_server_base.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/wifi/wifi_component.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/wifi/wifi_component_esp8266.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/wifi_info/wifi_info_text_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/components/wifi_signal/wifi_signal_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/core/alloc_helpers.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/core/application.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/core/build_info_data.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/core/color.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/core/component.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/core/component_iterator.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/core/controller_registry.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/core/entity_base.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/core/gpio.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/core/helpers.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/core/log.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/core/scheduler.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/core/time.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/core/time_64.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/core/util.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/esphome/core/wake/wake_esp8266.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/src/main.cpp.o\n", - "\u001b[0mGenerating LD script .pioenvs/esp-garageextcornerlight/ld/local.eagle.app.v6.common.ld\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib03f/ESPAsyncTCP/AsyncPrinter.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib03f/ESPAsyncTCP/ESPAsyncTCP.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib03f/ESPAsyncTCP/ESPAsyncTCPbuffer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib03f/ESPAsyncTCP/SyncClient.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib03f/ESPAsyncTCP/tcp_axtls.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib67b/ESP8266WiFi/BearSSLHelpers.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib67b/ESP8266WiFi/CertStoreBearSSL.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-garageextcornerlight/lib03f/libESPAsyncTCP.a\n", - "\u001b[0mIndexing .pioenvs/esp-garageextcornerlight/lib03f/libESPAsyncTCP.a\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib67b/ESP8266WiFi/ESP8266WiFi.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib67b/ESP8266WiFi/ESP8266WiFiAP.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib67b/ESP8266WiFi/ESP8266WiFiGeneric.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib67b/ESP8266WiFi/ESP8266WiFiGratuitous.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib67b/ESP8266WiFi/ESP8266WiFiMulti.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib67b/ESP8266WiFi/ESP8266WiFiSTA-WPS.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib67b/ESP8266WiFi/ESP8266WiFiSTA.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib67b/ESP8266WiFi/ESP8266WiFiScan.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib67b/ESP8266WiFi/WiFiClient.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib67b/ESP8266WiFi/WiFiClientSecureBearSSL.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib67b/ESP8266WiFi/WiFiServer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib67b/ESP8266WiFi/WiFiServerSecureBearSSL.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib67b/ESP8266WiFi/WiFiUdp.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib67b/ESP8266WiFi/enable_wifi_at_boot_time.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/libaf0/Hash/Hash.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib184/ESPAsyncWebServer/AsyncEventSource.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib184/ESPAsyncWebServer/AsyncJson.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-garageextcornerlight/libaf0/libHash.a\n", - "\u001b[0mIndexing .pioenvs/esp-garageextcornerlight/libaf0/libHash.a\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib184/ESPAsyncWebServer/AsyncWebHeader.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-garageextcornerlight/lib67b/libESP8266WiFi.a\n", - "\u001b[0mIndexing .pioenvs/esp-garageextcornerlight/lib67b/libESP8266WiFi.a\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib184/ESPAsyncWebServer/AsyncWebServerRequest.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib184/ESPAsyncWebServer/AsyncWebSocket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib184/ESPAsyncWebServer/BackPort_SHA1Builder.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib184/ESPAsyncWebServer/ChunkPrint.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib184/ESPAsyncWebServer/Middleware.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib184/ESPAsyncWebServer/WebAuthentication.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib184/ESPAsyncWebServer/WebHandlers.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib184/ESPAsyncWebServer/WebRequest.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib184/ESPAsyncWebServer/WebResponses.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib184/ESPAsyncWebServer/WebServer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/libecb/DNSServer/DNSServer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib3ff/ESP8266mDNS/ESP8266mDNS.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib3ff/ESP8266mDNS/LEAmDNS.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-garageextcornerlight/lib184/libESPAsyncWebServer.a\n", - "\u001b[0mIndexing .pioenvs/esp-garageextcornerlight/lib184/libESPAsyncWebServer.a\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib3ff/ESP8266mDNS/LEAmDNS_Control.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-garageextcornerlight/libecb/libDNSServer.a\n", - "\u001b[0mIndexing .pioenvs/esp-garageextcornerlight/libecb/libDNSServer.a\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib3ff/ESP8266mDNS/LEAmDNS_Helpers.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib3ff/ESP8266mDNS/LEAmDNS_Structs.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib3ff/ESP8266mDNS/LEAmDNS_Transfer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib6d3/libsodium/crypto_aead/chacha20poly1305/aead_chacha20poly1305.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib6d3/libsodium/crypto_core/ed25519/ref10/ed25519_ref10.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib6d3/libsodium/crypto_core/salsa/ref/core_salsa_ref.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib6d3/libsodium/crypto_hash/crypto_hash.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib6d3/libsodium/crypto_hash/sha256/cp/hash_sha256_cp.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib6d3/libsodium/crypto_hash/sha256/hash_sha256.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib6d3/libsodium/crypto_onetimeauth/crypto_onetimeauth.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib6d3/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib6d3/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib6d3/libsodium/crypto_scalarmult/crypto_scalarmult.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib6d3/libsodium/crypto_scalarmult/curve25519/ref10/x25519_ref10.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib6d3/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib6d3/libsodium/crypto_stream/chacha20/ref/chacha20_ref.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib6d3/libsodium/crypto_stream/chacha20/stream_chacha20.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib6d3/libsodium/crypto_stream/crypto_stream.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib6d3/libsodium/crypto_stream/salsa20/ref/salsa20_ref.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib6d3/libsodium/crypto_stream/salsa20/stream_salsa20.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib6d3/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6-asm.S.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib6d3/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib6d3/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-avx2.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib6d3/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-sse2.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib6d3/libsodium/crypto_verify/verify.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib6d3/libsodium/randombytes/internal/randombytes_internal_random.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib6d3/libsodium/randombytes/randombytes.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib6d3/libsodium/randombytes/sysrandom/randombytes_sysrandom.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib6d3/libsodium/sodium/codecs.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib6d3/libsodium/sodium/core.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib6d3/libsodium/sodium/runtime.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib6d3/libsodium/sodium/utils.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib167/noise-c/backend/openssl/cipher-aesgcm.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib167/noise-c/backend/ref/cipher-aesgcm.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib167/noise-c/backend/ref/cipher-chachapoly.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib167/noise-c/backend/ref/dh-curve25519.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib167/noise-c/backend/ref/hash-blake2b.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garageextcornerlight/lib3ff/libESP8266mDNS.a\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib167/noise-c/backend/ref/hash-blake2s.c.o\n", - "\u001b[0mIndexing .pioenvs/esp-garageextcornerlight/lib3ff/libESP8266mDNS.a\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib167/noise-c/backend/ref/hash-sha256.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib167/noise-c/backend/sodium/cipher-aesgcm.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib167/noise-c/backend/sodium/cipher-chachapoly.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib167/noise-c/backend/sodium/dh-curve25519.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib167/noise-c/backend/sodium/hash-blake2b.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib167/noise-c/backend/sodium/hash-sha256.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib167/noise-c/crypto/aes/rijndael-alg-fst.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib167/noise-c/crypto/blake2/blake2b.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib167/noise-c/crypto/blake2/blake2s.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib167/noise-c/crypto/chacha/chacha.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib167/noise-c/crypto/donna/curve25519-donna-c64.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib167/noise-c/crypto/donna/curve25519-donna.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib167/noise-c/crypto/donna/poly1305-donna.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib167/noise-c/crypto/sha2/sha256.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib167/noise-c/crypto/sha2/sha512.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib167/noise-c/crypto/x25519/x25519.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib167/noise-c/protocol/cipherstate.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib167/noise-c/protocol/dhstate.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib167/noise-c/protocol/errors.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib167/noise-c/protocol/handshakestate.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib167/noise-c/protocol/hashstate.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garageextcornerlight/lib6d3/libsodium.a\n", - "\u001b[0mIndexing .pioenvs/esp-garageextcornerlight/lib6d3/libsodium.a\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib167/noise-c/protocol/internal.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib167/noise-c/protocol/names.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib167/noise-c/protocol/patterns.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib167/noise-c/protocol/rand_os.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib167/noise-c/protocol/rand_sodium.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib167/noise-c/protocol/randstate.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib167/noise-c/protocol/signstate.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib167/noise-c/protocol/symmetricstate.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib167/noise-c/protocol/util.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib789/ESPAsyncTCP-esphome/AsyncPrinter.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib789/ESPAsyncTCP-esphome/ESPAsyncTCP.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib789/ESPAsyncTCP-esphome/ESPAsyncTCPbuffer.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-garageextcornerlight/lib167/libnoise-c.a\n", - "\u001b[0mIndexing .pioenvs/esp-garageextcornerlight/lib167/libnoise-c.a\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib789/ESPAsyncTCP-esphome/SyncClient.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib789/ESPAsyncTCP-esphome/tcp_axtls.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib918/AsyncMqttClient-esphome/AsyncMqttClient.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib918/AsyncMqttClient-esphome/AsyncMqttClient/Packets/ConnAckPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib918/AsyncMqttClient-esphome/AsyncMqttClient/Packets/PingRespPacket.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-garageextcornerlight/lib789/libESPAsyncTCP-esphome.a\n", - "\u001b[0mIndexing .pioenvs/esp-garageextcornerlight/lib789/libESPAsyncTCP-esphome.a\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib918/AsyncMqttClient-esphome/AsyncMqttClient/Packets/PubAckPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib918/AsyncMqttClient-esphome/AsyncMqttClient/Packets/PubCompPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib918/AsyncMqttClient-esphome/AsyncMqttClient/Packets/PubRecPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib918/AsyncMqttClient-esphome/AsyncMqttClient/Packets/PubRelPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib918/AsyncMqttClient-esphome/AsyncMqttClient/Packets/PublishPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib918/AsyncMqttClient-esphome/AsyncMqttClient/Packets/SubAckPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/lib918/AsyncMqttClient-esphome/AsyncMqttClient/Packets/UnsubAckPacket.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-garageextcornerlight/libFrameworkArduinoVariant.a\n", - "\u001b[0mIndexing .pioenvs/esp-garageextcornerlight/libFrameworkArduinoVariant.a\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/Crypto.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/Esp-frag.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/Esp-version.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-garageextcornerlight/lib918/libAsyncMqttClient-esphome.a\n", - "\u001b[0mIndexing .pioenvs/esp-garageextcornerlight/lib918/libAsyncMqttClient-esphome.a\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/Esp.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/FS.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/FSnoop.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/FunctionalInterrupt.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/HardwareSerial.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/IPAddress.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/LwipDhcpServer-NonOS.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/LwipDhcpServer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/LwipIntf.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/LwipIntfCB.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/MD5Builder.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/Print.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/Schedule.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/StackThunk.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/Stream.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/StreamSend.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/Tone.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/TypeConversion.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/WMath.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/WString.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/abi.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/aes_unwrap.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/base64.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/cbuf.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/cont.S.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/cont_util.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/core_esp8266_app_entry_noextra4k.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/core_esp8266_eboot_command.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/core_esp8266_features.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/core_esp8266_flash_quirks.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/core_esp8266_flash_utils.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/core_esp8266_i2s.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/core_esp8266_main.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/core_esp8266_non32xfer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/core_esp8266_noniso.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/core_esp8266_phy.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/core_esp8266_postmortem.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/core_esp8266_si2c.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/core_esp8266_sigma_delta.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/core_esp8266_spi_utils.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/core_esp8266_timer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/core_esp8266_vm.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/core_esp8266_wiring.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/core_esp8266_wiring_analog.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/core_esp8266_wiring_digital.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/core_esp8266_wiring_pulse.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/core_esp8266_wiring_pwm.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/core_esp8266_wiring_shift.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/crc32.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/debug.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/exc-c-wrapper-handler.S.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/exc-sethandler.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/flash_hal.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/gdb_hooks.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/heap.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/hwdt_app_entry.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/libb64/cdecode.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/libb64/cencode.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/libc_replacements.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/mmu_iram.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/reboot_uart_dwnld.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/spiffs/spiffs_cache.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/spiffs/spiffs_check.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/spiffs/spiffs_gc.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/spiffs/spiffs_hydrogen.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/spiffs/spiffs_nucleus.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/spiffs_api.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/sqrt32.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/stdlib_noniso.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/time.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/uart.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/umm_malloc/umm_info.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/umm_malloc/umm_integrity.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/umm_malloc/umm_local.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/umm_malloc/umm_malloc.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/umm_malloc/umm_poison.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garageextcornerlight/FrameworkArduino/wpa2_eap_patch.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-garageextcornerlight/libFrameworkArduino.a\n", - "\u001b[0mIndexing .pioenvs/esp-garageextcornerlight/libFrameworkArduino.a\n", - "\u001b[0mremove_scanf_float_flag([\".pioenvs/esp-garageextcornerlight/firmware.elf\"], [\".pioenvs/esp-garageextcornerlight/src/esphome/components/api/api_buffer.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/api/api_connection.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/api/api_frame_helper.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/api/api_frame_helper_noise.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/api/api_overflow_buffer.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/api/api_pb2.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/api/api_pb2_service.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/api/api_server.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/api/list_entities.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/api/proto.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/api/subscribe_state.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/binary_sensor/automation.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/binary_sensor/binary_sensor.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/binary_sensor/filter.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/button/button.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/captive_portal/captive_portal.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/copy/sensor/copy_sensor.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/esp8266/core.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/esp8266/crash_handler.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/esp8266/gpio.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/esp8266/hal.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/esp8266/helpers.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/esp8266/preferences.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/esp8266/printf_stubs.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/esp8266/waveform_stubs.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/esphome/ota/ota_esphome.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/factory_reset/button/factory_reset_button.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/gpio/binary_sensor/gpio_binary_sensor.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/gpio/switch/gpio_switch.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/json/json_util.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/logger/logger.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/logger/logger_esp8266.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/md5/md5.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/mdns/mdns_component.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/mdns/mdns_esp8266.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/mqtt/custom_mqtt_device.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/mqtt/mqtt_alarm_control_panel.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/mqtt/mqtt_binary_sensor.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/mqtt/mqtt_button.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/mqtt/mqtt_client.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/mqtt/mqtt_climate.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/mqtt/mqtt_component.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/mqtt/mqtt_cover.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/mqtt/mqtt_date.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/mqtt/mqtt_datetime.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/mqtt/mqtt_event.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/mqtt/mqtt_fan.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/mqtt/mqtt_light.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/mqtt/mqtt_lock.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/mqtt/mqtt_number.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/mqtt/mqtt_select.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/mqtt/mqtt_sensor.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/mqtt/mqtt_switch.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/mqtt/mqtt_text.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/mqtt/mqtt_text_sensor.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/mqtt/mqtt_time.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/mqtt/mqtt_update.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/mqtt/mqtt_valve.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/network/util.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/ota/ota_backend.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/ota/ota_backend_esp8266.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/ota/ota_bootloader_esp_idf.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/ota/ota_partitions_esp_idf.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/restart/button/restart_button.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/safe_mode/button/safe_mode_button.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/safe_mode/safe_mode.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/sensor/automation.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/sensor/filter.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/sensor/sensor.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/sha256/sha256.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/socket/lwip_raw_tcp_impl.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/socket/socket.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/status/status_binary_sensor.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/status_led/status_led.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/switch/automation.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/switch/switch.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/template/binary_sensor/template_binary_sensor.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/template/sensor/template_sensor.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/text_sensor/filter.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/text_sensor/text_sensor.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/uptime/sensor/uptime_seconds_sensor.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/uptime/sensor/uptime_timestamp_sensor.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/uptime/text_sensor/uptime_text_sensor.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/version/version_text_sensor.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/web_server/ota/ota_web_server.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/web_server_base/web_server_base.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/wifi/wifi_component.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/wifi/wifi_component_esp8266.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/wifi_info/wifi_info_text_sensor.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/components/wifi_signal/wifi_signal_sensor.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/core/alloc_helpers.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/core/application.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/core/build_info_data.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/core/color.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/core/component.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/core/component_iterator.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/core/controller_registry.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/core/entity_base.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/core/gpio.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/core/helpers.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/core/log.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/core/scheduler.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/core/time.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/core/time_64.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/core/util.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/esphome/core/wake/wake_esp8266.cpp.o\", \".pioenvs/esp-garageextcornerlight/src/main.cpp.o\"])\n", - "\u001b[0mESPHome: Removing _scanf_float (saves ~8KB flash)\n", - "\u001b[0mLinking .pioenvs/esp-garageextcornerlight/firmware.elf\n", - "\u001b[0mRAM: [===== ] 45.5% (used 37300 bytes from 81920 bytes)\n", - "Flash: [===== ] 49.6% (used 507575 bytes from 1023984 bytes)\n", - "Building .pioenvs/esp-garageextcornerlight/firmware.bin\n", - "\u001b[0mesp8266_copy_factory_bin([\".pioenvs/esp-garageextcornerlight/firmware.bin\"], [\".pioenvs/esp-garageextcornerlight/firmware.elf\"])\n", - "\u001b[0mesp8266_copy_ota_bin([\".pioenvs/esp-garageextcornerlight/firmware.bin\"], [\".pioenvs/esp-garageextcornerlight/firmware.elf\"])\n", - "\u001b[0m======================== [\u001b[32m\u001b[1mSUCCESS\u001b[0m] Took 187.69 seconds ========================\u001b[0m\n", - "\\033[32mINFO Build Info: config_hash=0xe0f4ae7a build_time_str=2026-05-24 20:26:32 +1200\\033[0m\n", - "\\033[32mINFO Successfully compiled program.\\033[0m\n", - "\\033[32mINFO Connecting to 172.31.11.149 port 8266...\\033[0m\n", - "\\033[32mINFO Connected to 172.31.11.149\\033[0m\n", - "\\033[32mINFO Uploading /data/build/esp-garageextcornerlight/.pioenvs/esp-garageextcornerlight/firmware.bin (511728 bytes)\\033[0m\n", - "\\033[32mINFO Compressed to 359505 bytes\\033[0m\n", - "Uploading: [============================================================] 100% Done...\r\n", - "\n", - "\\033[32mINFO Upload took 12.30 seconds, waiting for result...\\033[0m\n", - "\\033[32mINFO OTA successful\\033[0m\n", - "\\033[32mINFO Successfully uploaded program.\\033[0m\n" - ], - "error": null, - "port": "OTA", - "new_name": "", - "progress": 100, - "remote_peer": "", - "remote_job_id": "", - "remote_peer_label": "", - "device_name": "", - "device_friendly_name": "", - "source": "local", - "source_pin_sha256": "", - "source_label": "", - "source_esphome_version": "" - }, - { - "job_id": "84b631452c2c", - "configuration": "esp-garagebtproxy.yaml", - "job_type": "install", - "status": "completed", - "created_at": "2026-05-24T08:14:04.595005+00:00", - "started_at": "2026-05-24T08:19:54.069107+00:00", - "completed_at": "2026-05-24T08:26:30.810038+00:00", - "exit_code": 0, - "output": [ - "\\033[32mINFO ESPHome 2026.5.0\\033[0m\n", - "\\033[32mINFO Reading configuration /config/esphome/esp-garagebtproxy.yaml...\\033[0m\n", - "\\033[32mINFO Generating C++ source...\\033[0m\n", - "\\033[32mINFO Setting CONFIG_LWIP_MAX_SOCKETS to 13 (TCP=7 [api=3, captive_portal=3, mqtt=1], UDP=3 [captive_portal=1, mdns=2], TCP_LISTEN=3 [api=1, ota=1, web_server_base=1])\\033[0m\n", - "\\033[32mINFO Deleting /data/build/esp-garagebtproxy/.pioenvs\\033[0m\n", - "\\033[32mINFO Deleting /data/build/esp-garagebtproxy/.piolibdeps\\033[0m\n", - "\\033[32mINFO Deleting /data/build/esp-garagebtproxy/dependencies.lock\\033[0m\n", - "\\033[32mINFO Deleting /data/build/esp-garagebtproxy/managed_components\\033[0m\n", - "\\033[32mINFO Integrations changed, cleaning cmake cache...\\033[0m\n", - "\\033[32mINFO Compiling app... Build path: /data/build/esp-garagebtproxy\\033[0m\n", - "Processing \u001b[36m\u001b[1mesp-garagebtproxy\u001b[0m (board: esp32dev; framework: espidf; platform: https://github.com/pioarduino/platform-espressif32/releases/download/55.03.38-1/platform-espressif32.zip)\n", - "\u001b[1m--------------------------------------------------------------------------------\u001b[0m\n", - "Tool Manager: Installing \u001b[36mhttps://github.com/pioarduino/registry/releases/download/0.0.1/esptoolpy-v5.2.0.zip\u001b[0m\n", - "\u001b[?25lDownloading [####################################] 100%\u001b[?25h\n", - "\u001b[?25lUnpacking [####################################] 100%\u001b[?25h\n", - "Tool Manager: \u001b[32mtool-esptoolpy@5.2.0 has been installed!\u001b[0m\n", - "Library Manager: Installing \u001b[36mesphome/noise-c @ 0.1.11\u001b[0m\n", - "\u001b[?25lUnpacking [####################################] 100%\u001b[?25h\n", - "Library Manager: \u001b[32mnoise-c@0.1.11 has been installed!\u001b[0m\n", - "Library Manager: Resolving dependencies...\n", - "Library Manager: Installing \u001b[36mesphome/libsodium @ 1.10021.0\u001b[0m\n", - "\u001b[?25lUnpacking [####################################] 100%\u001b[?25h\n", - "Library Manager: \u001b[32mlibsodium@1.10021.0 has been installed!\u001b[0m\n", - "Tool Manager: Installing \u001b[36mfile:///root/.platformio/tools/tool-esptoolpy\u001b[0m\n", - "Tool Manager: \u001b[32mtool-esptoolpy@5.2.0 has been installed!\u001b[0m\n", - "\u001b[0mHARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash\n", - "\u001b[0m - contrib-piohome @ 3.4.4 \n", - "\u001b[0m - framework-espidf @ 3.50504.0 (5.5.4) \n", - "\u001b[0m - tool-cmake @ 4.0.3 \n", - "\u001b[0m - tool-esp-rom-elfs @ 2024.10.11 \n", - "\u001b[0m - tool-esptoolpy @ 5.2.0 \n", - "\u001b[0m - tool-ninja @ 1.13.1 \n", - "\u001b[0m - tool-scons @ 4.40801.0 (4.8.1) \n", - "\u001b[0m - tool-xtensa-esp-elf-gdb @ 16.3.0+20250913 \n", - "\u001b[0m - toolchain-xtensa-esp-elf @ 14.2.0+20260121\n", - "\u001b[33m\u001b[2mUsing Python 3.12.10 environment at: /root/.platformio/penv/.espidf-5.5.4\u001b[0m\n", - "\u001b[0mReading CMake configuration...\n", - "\u001b[0mGenerating assembly for certificate bundle...\n", - "\u001b[0mDependency Graph\n", - "\u001b[0m|-- noise-c @ 0.1.11\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/api/api_buffer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/api/api_connection.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/api/api_frame_helper.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/api/api_frame_helper_noise.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/api/api_overflow_buffer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/api/api_pb2.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/api/api_pb2_service.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/api/api_server.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/api/list_entities.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/api/proto.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/api/subscribe_state.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/binary_sensor/automation.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/binary_sensor/binary_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/binary_sensor/filter.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/bluetooth_proxy/bluetooth_connection.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/bluetooth_proxy/bluetooth_proxy.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/button/button.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/captive_portal/captive_portal.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/captive_portal/dns_server_esp32_idf.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/copy/sensor/copy_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/esp32/core.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/esp32/crash_handler.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/esp32/gpio.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/esp32/hal.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/esp32/helpers.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/esp32/preferences.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/esp32/printf_stubs.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/esp32/throw_stubs.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/esp32_ble/ble.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/esp32_ble/ble_advertising.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/esp32_ble/ble_uuid.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/esp32_ble_client/ble_characteristic.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/esp32_ble_client/ble_client_base.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/esp32_ble_client/ble_service.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/esp32_ble_tracker/esp32_ble_tracker.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/esphome/ota/ota_esphome.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/factory_reset/button/factory_reset_button.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/json/json_util.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/logger/logger.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/logger/logger_esp32.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/logger/task_log_buffer_esp32.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/md5/md5.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/mdns/mdns_component.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/mdns/mdns_esp32.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/mqtt/custom_mqtt_device.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/mqtt/mqtt_alarm_control_panel.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/mqtt/mqtt_backend_esp32.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/mqtt/mqtt_binary_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/mqtt/mqtt_button.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/mqtt/mqtt_client.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/mqtt/mqtt_climate.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/mqtt/mqtt_component.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/mqtt/mqtt_cover.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/mqtt/mqtt_date.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/mqtt/mqtt_datetime.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/mqtt/mqtt_event.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/mqtt/mqtt_fan.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/mqtt/mqtt_light.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/mqtt/mqtt_lock.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/mqtt/mqtt_number.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/mqtt/mqtt_select.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/mqtt/mqtt_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/mqtt/mqtt_switch.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/mqtt/mqtt_text.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/mqtt/mqtt_text_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/mqtt/mqtt_time.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/mqtt/mqtt_update.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/mqtt/mqtt_valve.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/network/util.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/ota/ota_backend.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/ota/ota_backend_esp_idf.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/ota/ota_bootloader_esp_idf.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/ota/ota_partitions_esp_idf.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/restart/button/restart_button.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/safe_mode/button/safe_mode_button.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/safe_mode/safe_mode.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/sensor/automation.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/sensor/filter.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/sensor/sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/sha256/sha256.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/sntp/sntp_component.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/socket/bsd_sockets_impl.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/socket/socket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/status/status_binary_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/template/sensor/template_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/template/text_sensor/template_text_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/text_sensor/filter.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/text_sensor/text_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/time/automation.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/time/posix_tz.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/time/real_time_clock.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/uptime/sensor/uptime_seconds_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/uptime/sensor/uptime_timestamp_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/uptime/text_sensor/uptime_text_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/version/version_text_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/watchdog/watchdog.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/web_server/ota/ota_web_server.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/web_server_base/web_server_base.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/web_server_idf/multipart.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/web_server_idf/utils.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/web_server_idf/web_server_idf.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/wifi/wifi_component.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/wifi/wifi_component_esp_idf.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/wifi_info/wifi_info_text_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/components/wifi_signal/wifi_signal_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/core/alloc_helpers.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/core/application.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/core/build_info_data.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/core/color.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/core/component.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/core/component_iterator.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/core/controller_registry.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/core/entity_base.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/core/gpio.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/core/helpers.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/core/log.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/core/lwip_fast_select.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/core/main_task.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/core/scheduler.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/core/static_task.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/core/time.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/core/util.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/esphome/core/wake/wake_freertos.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/src/main.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/libee4/libsodium/crypto_aead/chacha20poly1305/aead_chacha20poly1305.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/libee4/libsodium/crypto_core/ed25519/ref10/ed25519_ref10.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/libee4/libsodium/crypto_core/salsa/ref/core_salsa_ref.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/libee4/libsodium/crypto_hash/crypto_hash.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/libee4/libsodium/crypto_hash/sha256/cp/hash_sha256_cp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/libee4/libsodium/crypto_hash/sha256/hash_sha256.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/libee4/libsodium/crypto_onetimeauth/crypto_onetimeauth.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/libee4/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/libee4/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/libee4/libsodium/crypto_scalarmult/crypto_scalarmult.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/libee4/libsodium/crypto_scalarmult/curve25519/ref10/x25519_ref10.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/libee4/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/libee4/libsodium/crypto_stream/chacha20/ref/chacha20_ref.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/libee4/libsodium/crypto_stream/chacha20/stream_chacha20.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/libee4/libsodium/crypto_stream/crypto_stream.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/libee4/libsodium/crypto_stream/salsa20/ref/salsa20_ref.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/libee4/libsodium/crypto_stream/salsa20/stream_salsa20.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/libee4/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6-asm.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/libee4/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/libee4/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-avx2.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/libee4/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-sse2.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/libee4/libsodium/crypto_verify/verify.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/libee4/libsodium/randombytes/internal/randombytes_internal_random.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/libee4/libsodium/randombytes/randombytes.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/libee4/libsodium/randombytes/sysrandom/randombytes_sysrandom.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/libee4/libsodium/sodium/codecs.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/libee4/libsodium/sodium/core.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/libee4/libsodium/sodium/runtime.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/libee4/libsodium/sodium/utils.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/libc62/noise-c/backend/openssl/cipher-aesgcm.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/libc62/noise-c/backend/ref/cipher-aesgcm.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/libc62/noise-c/backend/ref/cipher-chachapoly.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/libc62/noise-c/backend/ref/dh-curve25519.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/libc62/noise-c/backend/ref/hash-blake2b.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/libc62/noise-c/backend/ref/hash-blake2s.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/libc62/noise-c/backend/ref/hash-sha256.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/libc62/noise-c/backend/sodium/cipher-aesgcm.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/libc62/noise-c/backend/sodium/cipher-chachapoly.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/libc62/noise-c/backend/sodium/dh-curve25519.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/libc62/noise-c/backend/sodium/hash-blake2b.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/libc62/noise-c/backend/sodium/hash-sha256.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/libc62/noise-c/crypto/aes/rijndael-alg-fst.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/libc62/noise-c/crypto/blake2/blake2b.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/libc62/noise-c/crypto/blake2/blake2s.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/libc62/noise-c/crypto/chacha/chacha.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/libc62/noise-c/crypto/donna/curve25519-donna-c64.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/libc62/noise-c/crypto/donna/curve25519-donna.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/libc62/noise-c/crypto/donna/poly1305-donna.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/libc62/noise-c/crypto/sha2/sha256.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/libc62/noise-c/crypto/sha2/sha512.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/libc62/noise-c/crypto/x25519/x25519.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/libc62/noise-c/protocol/cipherstate.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/libc62/noise-c/protocol/dhstate.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/libc62/noise-c/protocol/errors.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/libc62/noise-c/protocol/handshakestate.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/libc62/noise-c/protocol/hashstate.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/libc62/noise-c/protocol/internal.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/libc62/noise-c/protocol/names.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/libc62/noise-c/protocol/patterns.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/libc62/noise-c/protocol/rand_os.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/libc62/noise-c/protocol/rand_sodium.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/libc62/noise-c/protocol/randstate.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/libc62/noise-c/protocol/signstate.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/libc62/noise-c/protocol/symmetricstate.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/libc62/noise-c/protocol/util.o\n", - "\u001b[0mGenerating LD script .pioenvs/esp-garagebtproxy/esp-idf/esp_system/ld/memory.ld.in\n", - "\u001b[0mGenerating LD script .pioenvs/esp-garagebtproxy/esp-idf/esp_system/ld/sections.ld.in\n", - "\u001b[0mGenerating LD script .pioenvs/esp-garagebtproxy/memory.ld\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/app_trace/app_trace.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/app_trace/app_trace_util.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/app_trace/host_file_io.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/app_trace/port/port_uart.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/app_update/esp_ota_ops.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/app_update/esp_ota_app_desc.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/esp-idf/app_trace/libapp_trace.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/esp-idf/app_trace/libapp_trace.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader_support/src/bootloader_common.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader_support/src/bootloader_common_loader.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader_support/src/bootloader_clock_init.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader_support/src/bootloader_mem.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader_support/src/bootloader_random.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/esp-idf/app_update/libapp_update.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/esp-idf/app_update/libapp_update.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader_support/src/bootloader_efuse.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader_support/src/flash_encrypt.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader_support/src/secure_boot.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader_support/src/bootloader_random_esp32.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader_support/bootloader_flash/src/bootloader_flash.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader_support/bootloader_flash/src/flash_qio_mode.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader_support/bootloader_flash/src/bootloader_flash_config_esp32.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader_support/src/bootloader_utility.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader_support/src/flash_partitions.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader_support/src/esp_image_format.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader_support/src/bootloader_sha.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader_support/src/esp32/secure_boot_secure_features.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/controller/esp32/bt.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/controller/esp32/hli_api.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/esp-idf/bootloader_support/libbootloader_support.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/controller/esp32/hli_vectors.S.o\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/esp-idf/bootloader_support/libbootloader_support.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/common/btc/core/btc_alarm.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/common/api/esp_blufi_api.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/common/hci_log/bt_hci_log.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/common/btc/core/btc_manage.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/common/btc/core/btc_task.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/common/btc/profile/esp/blufi/blufi_prf.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/common/btc/profile/esp/blufi/blufi_protocol.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/common/osi/alarm.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/common/osi/allocator.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/common/osi/buffer.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/common/osi/config.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/common/osi/fixed_queue.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/common/osi/pkt_queue.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/common/osi/fixed_pkt_queue.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/common/osi/future.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/common/osi/hash_functions.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/common/osi/hash_map.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/common/osi/list.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/common/osi/mutex.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/common/osi/thread.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/common/osi/osi.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/common/osi/semaphore.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/porting/mem/bt_osi_mem.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/common/ble_log/ble_log_spi_out.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/common/ble_log/ble_log_uhci_out.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/api/esp_a2dp_api.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/api/esp_avrc_api.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/api/esp_bluedroid_hci.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/api/esp_bt_device.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/api/esp_bt_main.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/api/esp_gap_ble_api.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/api/esp_gap_bt_api.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/api/esp_gatt_common_api.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/api/esp_gattc_api.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/api/esp_gatts_api.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/api/esp_hidd_api.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/api/esp_hidh_api.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/api/esp_hf_ag_api.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/api/esp_hf_client_api.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/api/esp_spp_api.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/api/esp_sdp_api.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/api/esp_l2cap_bt_api.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/api/esp_pbac_api.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/ar/bta_ar.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/av/bta_av_aact.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/av/bta_av_act.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/av/bta_av_api.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/av/bta_av_ca_act.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/av/bta_av_ca_sm.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/av/bta_av_cfg.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/av/bta_av_ci.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/av/bta_av_main.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/av/bta_av_sbc.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/av/bta_av_ssm.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/dm/bta_dm_act.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/dm/bta_dm_api.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/dm/bta_dm_cfg.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/dm/bta_dm_ci.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/dm/bta_dm_co.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/dm/bta_dm_main.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/dm/bta_dm_pm.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/dm/bta_dm_sco.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/dm/bta_dm_qos.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/gatt/bta_gatt_common.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/gatt/bta_gattc_act.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/gatt/bta_gattc_api.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/gatt/bta_gattc_cache.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/gatt/bta_gattc_ci.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/gatt/bta_gattc_co.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/gatt/bta_gattc_main.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/gatt/bta_gattc_utils.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/gatt/bta_gatts_act.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/gatt/bta_gatts_api.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/gatt/bta_gatts_co.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/gatt/bta_gatts_main.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/gatt/bta_gatts_utils.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/hd/bta_hd_api.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/hd/bta_hd_act.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/hd/bta_hd_main.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/hh/bta_hh_act.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/hh/bta_hh_api.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/hh/bta_hh_cfg.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/hh/bta_hh_le.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/hh/bta_hh_main.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/hh/bta_hh_utils.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/jv/bta_jv_act.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/jv/bta_jv_api.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/jv/bta_jv_cfg.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/jv/bta_jv_main.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/hf_ag/bta_ag_act.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/hf_ag/bta_ag_api.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/hf_ag/bta_ag_at.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/hf_ag/bta_ag_cfg.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/hf_ag/bta_ag_cmd.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/hf_ag/bta_ag_main.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/hf_ag/bta_ag_rfc.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/hf_ag/bta_ag_sco.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/hf_ag/bta_ag_sdp.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/hf_client/bta_hf_client_act.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/hf_client/bta_hf_client_api.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/hf_client/bta_hf_client_at.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/hf_client/bta_hf_client_cmd.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/hf_client/bta_hf_client_main.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/hf_client/bta_hf_client_rfc.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/hf_client/bta_hf_client_sco.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/hf_client/bta_hf_client_sdp.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/pba/bta_pba_client_act.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/pba/bta_pba_client_api.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/pba/bta_pba_client_main.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/pba/bta_pba_client_sdp.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/sdp/bta_sdp.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/sdp/bta_sdp_act.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/sdp/bta_sdp_api.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/sdp/bta_sdp_cfg.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/sys/bta_sys_conn.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/sys/bta_sys_main.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/bta/sys/utl.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/btc/core/btc_ble_storage.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/btc/core/btc_config.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/btc/core/btc_dev.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/btc/core/btc_dm.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/btc/core/btc_main.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/btc/core/btc_profile_queue.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/btc/core/btc_sec.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/btc/core/btc_sm.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/btc/core/btc_storage.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/btc/core/btc_util.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/btc/profile/std/a2dp/bta_av_co.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/btc/profile/std/a2dp/btc_a2dp.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/btc/profile/std/a2dp/btc_a2dp_control.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/btc/profile/std/a2dp/btc_a2dp_sink.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/btc/profile/std/a2dp/btc_a2dp_sink_ext_coedc.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/btc/profile/std/a2dp/btc_a2dp_source.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/btc/profile/std/a2dp/btc_a2dp_source_ext_codec.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/btc/profile/std/a2dp/btc_av.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/btc/profile/std/avrc/btc_avrc.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/btc/profile/std/avrc/bta_avrc_co.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/btc/profile/std/hf_ag/bta_ag_co.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/btc/profile/std/hf_ag/btc_hf_ag.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/btc/profile/std/hf_client/btc_hf_client.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/btc/profile/std/hf_client/bta_hf_client_co.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/btc/profile/std/hid/btc_hd.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/btc/profile/std/hid/btc_hh.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/btc/profile/std/hid/bta_hh_co.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/btc/profile/std/gap/btc_gap_ble.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/btc/profile/std/gap/btc_gap_bt.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/btc/profile/std/gap/bta_gap_bt_co.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/btc/profile/std/gatt/btc_gatt_common.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/btc/profile/std/gatt/btc_gatt_util.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/btc/profile/std/gatt/btc_gattc.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/btc/profile/std/gatt/btc_gatts.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/btc/profile/std/spp/btc_spp.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/btc/profile/std/sdp/btc_sdp.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/btc/profile/std/l2cap/btc_l2cap.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/btc/profile/std/pba/btc_pba_client.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/device/bdaddr.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/device/controller.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/device/interop.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/hci/hci_audio.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/hci/hci_hal_h4.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/hci/hci_layer.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/hci/hci_packet_factory.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/hci/hci_packet_parser.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/hci/packet_fragmenter.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/main/bte_init.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/main/bte_main.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/a2dp/a2d_api.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/a2dp/a2d_sbc.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/avct/avct_api.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/avct/avct_ccb.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/avct/avct_l2c.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/avct/avct_lcb.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/avct/avct_lcb_act.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/avdt/avdt_ad.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/avdt/avdt_api.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/avdt/avdt_ccb.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/avdt/avdt_ccb_act.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/avdt/avdt_l2c.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/avdt/avdt_msg.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/avdt/avdt_scb.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/avdt/avdt_scb_act.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/avrc/avrc_api.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/avrc/avrc_bld_ct.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/avrc/avrc_bld_tg.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/avrc/avrc_opt.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/avrc/avrc_pars_ct.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/avrc/avrc_pars_tg.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/avrc/avrc_sdp.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/avrc/avrc_utils.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/hid/hidd_api.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/hid/hidd_conn.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/hid/hidh_api.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/hid/hidh_conn.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/btm/btm_acl.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/btm/btm_ble.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/btm/btm_ble_addr.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/btm/btm_ble_adv_filter.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/btm/btm_ble_batchscan.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/btm/btm_ble_bgconn.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/btm/btm_ble_cont_energy.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/btm/btm_ble_gap.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/btm/btm_ble_5_gap.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/btm/btm_ble_multi_adv.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/btm/btm_ble_privacy.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/btm/btm_dev.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/btm/btm_devctl.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/btm/btm_inq.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/btm/btm_main.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/btm/btm_pm.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/btm/btm_sco.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/btm/btm_sec.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/btu/btu_hcif.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/btu/btu_init.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/btu/btu_task.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/gap/gap_api.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/gap/gap_ble.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/gap/gap_conn.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/gap/gap_utils.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/gatt/att_protocol.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/gatt/gatt_api.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/gatt/gatt_attr.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/gatt/gatt_auth.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/gatt/gatt_cl.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/gatt/gatt_db.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/gatt/gatt_main.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/gatt/gatt_sr.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/gatt/gatt_sr_hash.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/gatt/gatt_utils.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/goep/goepc_api.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/goep/goepc_main.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/hcic/hciblecmds.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/hcic/hcicmds.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/l2cap/l2c_api.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/l2cap/l2c_ble.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/l2cap/l2c_csm.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/l2cap/l2c_fcr.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/l2cap/l2c_link.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/l2cap/l2c_main.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/l2cap/l2c_ucd.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/l2cap/l2c_utils.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/l2cap/l2cap_client.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/obex/obex_api.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/obex/obex_main.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/obex/obex_tl_l2cap.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/obex/obex_tl_rfcomm.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/rfcomm/port_api.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/rfcomm/port_rfc.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/rfcomm/port_utils.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/rfcomm/rfc_l2cap_if.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/rfcomm/rfc_mx_fsm.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/rfcomm/rfc_port_fsm.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/rfcomm/rfc_port_if.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/rfcomm/rfc_ts_frames.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/rfcomm/rfc_utils.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/sdp/sdp_api.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/sdp/sdp_db.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/sdp/sdp_discovery.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/sdp/sdp_main.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/sdp/sdp_server.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/sdp/sdp_utils.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/smp/aes.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/smp/p_256_curvepara.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/smp/p_256_ecc_pp.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/smp/p_256_multprecision.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/smp/smp_act.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/smp/smp_api.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/smp/smp_br_main.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/smp/smp_cmac.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/smp/smp_keys.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/smp/smp_l2c.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/smp/smp_main.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/stack/smp/smp_utils.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/host/bluedroid/config/stack_config.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/common/btc/profile/esp/blufi/bluedroid_host/esp_blufi.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/common/tinycrypt/src/utils.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/common/tinycrypt/src/sha256.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/common/tinycrypt/src/ecc.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/common/tinycrypt/src/ctr_prng.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/common/tinycrypt/src/ctr_mode.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/common/tinycrypt/src/aes_decrypt.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/common/tinycrypt/src/aes_encrypt.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/common/tinycrypt/src/ccm_mode.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/common/tinycrypt/src/ecc_dsa.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/common/tinycrypt/src/cmac_mode.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/common/tinycrypt/src/ecc_dh.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/common/tinycrypt/src/hmac_prng.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/common/tinycrypt/src/ecc_platform_specific.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/common/tinycrypt/src/hmac.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/common/tinycrypt/src/cbc_mode.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bt/common/tinycrypt/port/esp_tinycrypt_port.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/console/commands.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/esp-idf/bt/libbt.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/console/esp_console_common.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/console/esp_console_repl_internal.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/console/split_argv.c.o\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/esp-idf/bt/libbt.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/console/linenoise/linenoise.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/console/esp_console_repl_chip.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/console/argtable3/arg_cmd.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/console/argtable3/arg_date.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/console/argtable3/arg_dbl.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/console/argtable3/arg_dstr.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/console/argtable3/arg_end.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/console/argtable3/arg_file.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/console/argtable3/arg_hashtable.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/console/argtable3/arg_int.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/console/argtable3/arg_lit.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/console/argtable3/arg_rem.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/console/argtable3/arg_rex.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/console/argtable3/arg_str.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/console/argtable3/arg_utils.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/console/argtable3/argtable3.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/cxx/cxx_exception_stubs.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/cxx/cxx_guards.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/cxx/cxx_init.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/efuse/esp32/esp_efuse_table.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/efuse/esp32/esp_efuse_fields.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/esp-idf/console/libconsole.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/efuse/esp32/esp_efuse_utility.c.o\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/esp-idf/console/libconsole.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/efuse/src/esp_efuse_api.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/efuse/src/esp_efuse_fields.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/efuse/src/esp_efuse_utility.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/esp-idf/cxx/libcxx.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/esp-idf/cxx/libcxx.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/efuse/src/efuse_controller/keys/without_key_purposes/three_key_blocks/esp_efuse_api_key.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/efuse/src/esp_efuse_startup.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp-tls/esp_tls.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/esp-idf/efuse/libefuse.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/esp-idf/efuse/libefuse.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp-tls/esp-tls-crypto/esp_tls_crypto.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp-tls/esp_tls_error_capture.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp-tls/esp_tls_platform_port.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp-tls/esp_tls_mbedtls.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_app_format/esp_app_desc.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_bootloader_format/esp_bootloader_desc.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/esp-idf/esp_bootloader_format/libesp_bootloader_format.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/esp-idf/esp_bootloader_format/libesp_bootloader_format.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_coex/src/coexist.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/esp-idf/esp_app_format/libesp_app_format.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/esp-idf/esp_app_format/libesp_app_format.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_coex/src/lib_printf.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_coex/esp32/esp_coex_adapter.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_coex/src/coexist_debug_diagram.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_coex/src/coexist_debug.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_common/src/esp_err_to_name.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/esp-idf/esp-tls/libesp-tls.a\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/esp-idf/esp_coex/libesp_coex.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/esp-idf/esp-tls/libesp-tls.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/esp-idf/esp_coex/libesp_coex.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_driver_cam/esp_cam_ctlr.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_driver_cam/dvp_share_ctrl.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_driver_gpio/src/gpio.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_driver_gpio/src/gpio_glitch_filter_ops.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/esp-idf/esp_driver_cam/libesp_driver_cam.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/esp-idf/esp_driver_cam/libesp_driver_cam.a\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/esp-idf/esp_common/libesp_common.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/esp-idf/esp_common/libesp_common.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_driver_gpio/src/rtc_io.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_driver_gptimer/src/gptimer.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_driver_gptimer/src/gptimer_common.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_driver_i2c/i2c_master.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_driver_i2c/i2c_common.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/esp-idf/esp_driver_gptimer/libesp_driver_gptimer.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/esp-idf/esp_driver_gptimer/libesp_driver_gptimer.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_driver_i2c/i2c_slave.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/esp-idf/esp_driver_gpio/libesp_driver_gpio.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/esp-idf/esp_driver_gpio/libesp_driver_gpio.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_driver_ledc/src/ledc.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_driver_sdio/src/sdio_slave.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_driver_sdm/src/sdm.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/esp-idf/esp_driver_i2c/libesp_driver_i2c.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/esp-idf/esp_driver_i2c/libesp_driver_i2c.a\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/esp-idf/esp_driver_sdm/libesp_driver_sdm.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/esp-idf/esp_driver_sdm/libesp_driver_sdm.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_driver_sdmmc/src/sdmmc_transaction.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/esp-idf/esp_driver_sdio/libesp_driver_sdio.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/esp-idf/esp_driver_sdio/libesp_driver_sdio.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_driver_sdmmc/src/sdmmc_host.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_driver_sdspi/src/sdspi_crc.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_driver_sdspi/src/sdspi_host.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_driver_sdspi/src/sdspi_transaction.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/esp-idf/esp_driver_ledc/libesp_driver_ledc.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/esp-idf/esp_driver_ledc/libesp_driver_ledc.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_driver_spi/src/gpspi/spi_common.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_driver_spi/src/gpspi/spi_master.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/esp-idf/esp_driver_sdspi/libesp_driver_sdspi.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/esp-idf/esp_driver_sdspi/libesp_driver_sdspi.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_driver_spi/src/gpspi/spi_slave.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/esp-idf/esp_driver_sdmmc/libesp_driver_sdmmc.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/esp-idf/esp_driver_sdmmc/libesp_driver_sdmmc.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_driver_spi/src/gpspi/spi_dma.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_driver_uart/src/uart.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_driver_uart/src/uart_wakeup.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_driver_uart/src/uart_vfs.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/esp-idf/esp_driver_spi/libesp_driver_spi.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/esp-idf/esp_driver_spi/libesp_driver_spi.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_event/default_event_loop.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_event/esp_event.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_event/esp_event_private.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_gdbstub/src/gdbstub.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_gdbstub/src/gdbstub_transport.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_gdbstub/src/packet.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/esp-idf/esp_event/libesp_event.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/esp-idf/esp_event/libesp_event.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_gdbstub/src/port/xtensa/gdbstub_xtensa.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_gdbstub/src/port/xtensa/gdbstub-entry.S.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_gdbstub/src/port/xtensa/xt_debugexception.S.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_http_server/src/httpd_main.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_http_server/src/httpd_parse.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/esp-idf/esp_gdbstub/libesp_gdbstub.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/esp-idf/esp_gdbstub/libesp_gdbstub.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_http_server/src/httpd_sess.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_http_server/src/httpd_txrx.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_http_server/src/httpd_uri.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/esp-idf/esp_driver_uart/libesp_driver_uart.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/esp-idf/esp_driver_uart/libesp_driver_uart.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_http_server/src/httpd_ws.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_http_server/src/util/ctrl_sock.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_hw_support/cpu.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_hw_support/port/esp32/esp_cpu_intr.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_hw_support/esp_memory_utils.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/esp-idf/esp_http_server/libesp_http_server.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/esp-idf/esp_http_server/libesp_http_server.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_hw_support/port/esp32/cpu_region_protect.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_hw_support/esp_clk.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_hw_support/clk_ctrl_os.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_hw_support/hw_random.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_hw_support/intr_alloc.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_hw_support/mac_addr.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_hw_support/periph_ctrl.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_hw_support/revision.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_hw_support/rtc_module.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_hw_support/regi2c_ctrl.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_hw_support/esp_gpio_reserve.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_hw_support/sar_periph_ctrl_common.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_hw_support/port/esp32/io_mux.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_hw_support/port/esp32/esp_clk_tree.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_hw_support/dma/esp_dma_utils.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_hw_support/dma/gdma_link.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_hw_support/spi_bus_lock.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_hw_support/clk_utils.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_hw_support/port/esp_clk_tree_common.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_hw_support/spi_share_hw_ctrl.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_hw_support/adc_share_hw_ctrl.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_hw_support/sleep_modem.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_hw_support/sleep_modes.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_hw_support/sleep_console.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_hw_support/sleep_mspi.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_hw_support/sleep_usb.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_hw_support/sleep_gpio.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_hw_support/sleep_event.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_hw_support/rtc_wdt.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_hw_support/mspi_timing_tuning/mspi_timing_tuning.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_hw_support/sleep_wake_stub.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_hw_support/esp_clock_output.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_hw_support/power_supply/brownout.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_hw_support/port/esp32/rtc_clk.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_hw_support/port/esp32/rtc_clk_init.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_hw_support/port/esp32/rtc_init.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_hw_support/port/esp32/rtc_sleep.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_hw_support/port/esp32/rtc_time.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_hw_support/port/esp32/chip_info.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_hw_support/port/esp32/cache_sram_mmu.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_hw_support/port/esp32/sar_periph_ctrl.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_mm/esp_mmu_map.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_mm/port/esp32/ext_mem_layout.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_mm/esp_cache_msync.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_mm/esp_cache_utils.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/esp-idf/esp_hw_support/libesp_hw_support.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/esp-idf/esp_hw_support/libesp_hw_support.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_mm/cache_esp32.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_mm/heap_align_hw.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_netif/esp_netif_handlers.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_netif/esp_netif_objects.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_netif/esp_netif_defaults.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_netif/lwip/esp_netif_lwip.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/esp-idf/esp_mm/libesp_mm.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_netif/lwip/esp_netif_sntp.c.o\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/esp-idf/esp_mm/libesp_mm.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_netif/lwip/esp_netif_lwip_defaults.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_netif/lwip/netif/wlanif.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_netif/lwip/netif/ethernetif.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_netif/lwip/netif/esp_pbuf_ref.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_partition/partition.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_partition/partition_target.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_phy/src/phy_override.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_phy/src/lib_printf.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_phy/src/phy_common.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_phy/src/phy_init.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/esp-idf/esp_netif/libesp_netif.a\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/esp-idf/esp_partition/libesp_partition.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/esp-idf/esp_partition/libesp_partition.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/esp-idf/esp_netif/libesp_netif.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_phy/esp32/phy_init_data.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_phy/src/btbb_init.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_pm/pm_locks.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_pm/pm_trace.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_pm/pm_impl.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/esp-idf/esp_phy/libesp_phy.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/esp-idf/esp_phy/libesp_phy.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_psram/system_layer/esp_psram_mspi.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_ringbuf/ringbuf.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/esp-idf/esp_psram/libesp_psram.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/esp-idf/esp_psram/libesp_psram.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_rom/patches/esp_rom_sys.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_rom/patches/esp_rom_print.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_rom/patches/esp_rom_crc.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_rom/patches/esp_rom_uart.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/esp-idf/esp_pm/libesp_pm.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/esp-idf/esp_pm/libesp_pm.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_rom/patches/esp_rom_spiflash.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_rom/patches/esp_rom_efuse.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_rom/patches/esp_rom_gpio.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_rom/patches/esp_rom_longjmp.S.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_security/src/init.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_security/src/esp_crypto_lock.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_security/src/esp_crypto_periph_clk.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_system/esp_err.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/esp-idf/esp_rom/libesp_rom.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/esp-idf/esp_rom/libesp_rom.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_system/crosscore_int.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/esp-idf/esp_ringbuf/libesp_ringbuf.a\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/esp-idf/esp_security/libesp_security.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/esp-idf/esp_security/libesp_security.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/esp-idf/esp_ringbuf/libesp_ringbuf.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_system/esp_ipc.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_system/esp_system_console.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_system/freertos_hooks.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_system/int_wdt.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_system/panic.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_system/esp_system.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_system/startup.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_system/startup_funcs.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_system/system_time.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_system/stack_check.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_system/ubsan.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_system/xt_wdt.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_system/task_wdt/task_wdt.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_system/task_wdt/task_wdt_impl_timergroup.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_system/port/cpu_start.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_system/port/panic_handler.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_system/port/esp_system_chip.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_system/port/image_process.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_system/port/esp_ipc_isr.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_system/port/arch/xtensa/esp_ipc_isr_port.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_system/port/arch/xtensa/esp_ipc_isr_handler.S.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_system/port/arch/xtensa/esp_ipc_isr_routines.S.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_system/port/arch/xtensa/panic_arch.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_system/port/arch/xtensa/panic_handler_asm.S.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_system/port/arch/xtensa/expression_with_stack.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_system/port/arch/xtensa/expression_with_stack_asm.S.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_system/port/arch/xtensa/debug_helpers.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_system/port/arch/xtensa/debug_helpers_asm.S.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_system/port/arch/xtensa/debug_stubs.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_system/port/arch/xtensa/trax.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_system/port/soc/esp32/highint_hdl.S.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_system/port/soc/esp32/clk.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_system/port/soc/esp32/reset_reason.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_system/port/soc/esp32/system_internal.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_system/port/soc/esp32/cache_err_int.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_timer/src/esp_timer.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_timer/src/esp_timer_init.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_timer/src/ets_timer_legacy.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/esp-idf/esp_system/libesp_system.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/esp-idf/esp_system/libesp_system.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_timer/src/system_time.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_timer/src/esp_timer_impl_common.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_timer/src/esp_timer_impl_lac.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_vfs_console/vfs_console.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_wifi/src/lib_printf.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_wifi/src/mesh_event.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/esp-idf/esp_timer/libesp_timer.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/esp-idf/esp_timer/libesp_timer.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_wifi/src/smartconfig.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/esp-idf/esp_vfs_console/libesp_vfs_console.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/esp-idf/esp_vfs_console/libesp_vfs_console.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_wifi/src/wifi_init.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_wifi/src/wifi_default.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_wifi/src/wifi_netif.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_wifi/src/wifi_default_ap.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_wifi/esp32/esp_adapter.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_wifi/regulatory/esp_wifi_regulatory.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/esp_wifi/src/smartconfig_ack.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/managed_components/espressif__mdns/mdns_responder.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/managed_components/espressif__mdns/mdns_receive.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/managed_components/espressif__mdns/mdns_utils.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/esp-idf/esp_wifi/libesp_wifi.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/esp-idf/esp_wifi/libesp_wifi.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/managed_components/espressif__mdns/mdns_debug.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/managed_components/espressif__mdns/mdns_browser.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/managed_components/espressif__mdns/mdns_send.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/managed_components/espressif__mdns/mdns_netif.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/managed_components/espressif__mdns/mdns_querier.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/managed_components/espressif__mdns/mdns_pcb.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/managed_components/espressif__mdns/mdns_service.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/managed_components/espressif__mdns/mdns_mem_caps.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/managed_components/espressif__mdns/mdns_networking_lwip.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/managed_components/espressif__mdns/mdns_console.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/freertos/heap_idf.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/freertos/app_startup.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/freertos/port_common.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/freertos/port_systick.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/freertos/FreeRTOS-Kernel/list.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/freertos/FreeRTOS-Kernel/queue.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/freertos/FreeRTOS-Kernel/tasks.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/freertos/FreeRTOS-Kernel/timers.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/esp-idf/espressif__mdns/libespressif__mdns.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/esp-idf/espressif__mdns/libespressif__mdns.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/freertos/FreeRTOS-Kernel/event_groups.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/freertos/FreeRTOS-Kernel/stream_buffer.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/freertos/FreeRTOS-Kernel/portable/xtensa/port.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/freertos/FreeRTOS-Kernel/portable/xtensa/portasm.S.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/freertos/FreeRTOS-Kernel/portable/xtensa/xtensa_init.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/freertos/FreeRTOS-Kernel/portable/xtensa/xtensa_overlay_os_hook.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/freertos/esp_additions/freertos_compatibility.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/freertos/esp_additions/idf_additions_event_groups.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/freertos/esp_additions/idf_additions.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/hal/hal_utils.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/hal/mpu_hal.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/hal/efuse_hal.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/hal/esp32/efuse_hal.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/hal/wdt_hal_iram.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/esp-idf/freertos/libfreertos.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/esp-idf/freertos/libfreertos.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/hal/mmu_hal.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/hal/esp32/cache_hal_esp32.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/hal/color_hal.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/hal/spi_flash_hal.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/hal/spi_flash_hal_iram.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/hal/spi_flash_encrypt_hal_iram.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/hal/esp32/clk_tree_hal.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/hal/uart_hal.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/hal/uart_hal_iram.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/hal/gpio_hal.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/hal/rtc_io_hal.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/hal/timer_hal.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/hal/ledc_hal.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/hal/ledc_hal_iram.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/hal/i2c_hal.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/hal/i2c_hal_iram.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/hal/rmt_hal.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/hal/pcnt_hal.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/hal/mcpwm_hal.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/hal/twai_hal_v1.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/hal/i2s_hal.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/hal/sdm_hal.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/hal/sdmmc_hal.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/hal/adc_hal_common.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/hal/adc_oneshot_hal.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/hal/adc_hal.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/hal/mpi_hal.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/hal/sha_hal.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/hal/aes_hal.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/hal/brownout_hal.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/hal/spi_hal.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/hal/spi_hal_iram.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/hal/spi_slave_hal.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/hal/spi_slave_hal_iram.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/hal/sdio_slave_hal.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/hal/esp32/touch_sensor_hal.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/hal/touch_sensor_hal.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/hal/touch_sens_hal.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/hal/esp32/gpio_hal_workaround.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/heap/heap_caps_base.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/heap/heap_caps.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/heap/heap_caps_init.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/esp-idf/hal/libhal.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/esp-idf/hal/libhal.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/heap/multi_heap.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/heap/tlsf/tlsf.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/heap/port/memory_layout_utils.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/heap/port/esp32/memory_layout.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/http_parser/http_parser.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/json/cJSON/cJSON.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/json/cJSON/cJSON_Utils.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/log/src/os/log_timestamp.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/esp-idf/heap/libheap.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/esp-idf/heap/libheap.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/log/src/log_timestamp_common.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/log/src/os/log_lock.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/log/src/buffer/log_buffers.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/log/src/os/util.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/log/src/util.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/log/src/log_format_text.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/log/src/log_print.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/esp-idf/json/libjson.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/esp-idf/json/libjson.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/log/src/log.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/log/src/os/log_write.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/log/src/log_level/log_level.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/log/src/log_level/tag_log_level/tag_log_level.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/apps/sntp/sntp.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/esp-idf/log/liblog.a\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/esp-idf/http_parser/libhttp_parser.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/esp-idf/http_parser/libhttp_parser.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/esp-idf/log/liblog.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/api/api_lib.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/api/api_msg.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/api/err.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/api/if_api.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/api/netbuf.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/api/netdb.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/api/netifapi.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/api/sockets.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/api/tcpip.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/apps/sntp/sntp.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/apps/netbiosns/netbiosns.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/core/def.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/core/dns.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/core/inet_chksum.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/core/init.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/core/ip.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/core/mem.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/core/memp.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/core/netif.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/core/pbuf.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/core/raw.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/core/stats.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/core/sys.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/core/tcp.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/core/tcp_in.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/core/tcp_out.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/core/timeouts.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/core/udp.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/core/ipv4/autoip.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/core/ipv4/dhcp.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/core/ipv4/etharp.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/core/ipv4/icmp.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/core/ipv4/igmp.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/core/ipv4/ip4.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/core/ipv4/ip4_napt.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/core/ipv4/ip4_addr.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/core/ipv4/ip4_frag.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/core/ipv6/dhcp6.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/core/ipv6/ethip6.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/core/ipv6/icmp6.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/core/ipv6/inet6.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/core/ipv6/ip6.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/core/ipv6/ip6_addr.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/core/ipv6/ip6_frag.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/core/ipv6/mld6.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/core/ipv6/nd6.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/netif/ethernet.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/netif/bridgeif.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/netif/bridgeif_fdb.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/netif/slipif.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/netif/ppp/auth.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/netif/ppp/ccp.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/netif/ppp/chap-md5.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/netif/ppp/chap-new.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/netif/ppp/chap_ms.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/netif/ppp/demand.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/netif/ppp/eap.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/netif/ppp/ecp.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/netif/ppp/eui64.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/netif/ppp/fsm.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/netif/ppp/ipcp.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/netif/ppp/ipv6cp.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/netif/ppp/lcp.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/netif/ppp/magic.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/netif/ppp/mppe.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/netif/ppp/multilink.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/netif/ppp/ppp.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/netif/ppp/pppapi.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/netif/ppp/pppcrypt.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/netif/ppp/pppoe.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/netif/ppp/pppol2tp.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/netif/ppp/pppos.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/netif/ppp/upap.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/netif/ppp/utils.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/netif/ppp/vj.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/port/hooks/tcp_isn_default.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/port/hooks/lwip_default_hooks.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/port/debug/lwip_debug.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/port/sockets_ext.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/port/freertos/sys_arch.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/port/if_index.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/port/acd_dhcp_check.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/port/esp32xx/vfs_lwip.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/apps/ping/esp_ping.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/apps/ping/ping.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/apps/ping/ping_sock.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/netif/ppp/polarssl/arc4.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/netif/ppp/polarssl/des.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/netif/ppp/polarssl/md4.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/netif/ppp/polarssl/md5.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/lwip/src/netif/ppp/polarssl/sha1.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/lwip/apps/dhcpserver/dhcpserver.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/esp_crt_bundle/esp_crt_bundle.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/x509_crt_bundle.S.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mqtt/esp-mqtt/mqtt_client.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mqtt/esp-mqtt/lib/mqtt_msg.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/esp-idf/mbedtls/libmbedtls.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/esp-idf/mbedtls/libmbedtls.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mqtt/esp-mqtt/lib/mqtt_outbox.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/esp-idf/lwip/liblwip.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/esp-idf/lwip/liblwip.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mqtt/esp-mqtt/lib/platform_esp32_idf.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/newlib/src/init.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/newlib/src/abort.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/newlib/src/assert.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/newlib/src/heap.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/newlib/src/locks.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/newlib/src/poll.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/newlib/src/pthread.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/newlib/src/random.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/newlib/src/getentropy.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/newlib/src/termios.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/newlib/src/stdatomic.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/newlib/src/time.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/newlib/src/sysconf.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/newlib/src/realpath.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/newlib/src/scandir.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/esp-idf/mqtt/libmqtt.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/esp-idf/mqtt/libmqtt.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/newlib/src/syscalls.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/newlib/src/reent_syscalls.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/newlib/src/port/esp_time_impl.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/newlib/src/flockfile.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/newlib/src/reent_init.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/newlib/src/newlib_init.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/nvs_flash/src/nvs_api.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/nvs_flash/src/nvs_cxx_api.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/nvs_flash/src/nvs_item_hash_list.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/esp-idf/newlib/libnewlib.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/esp-idf/newlib/libnewlib.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/nvs_flash/src/nvs_page.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/nvs_flash/src/nvs_pagemanager.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/nvs_flash/src/nvs_storage.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/nvs_flash/src/nvs_handle_simple.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/nvs_flash/src/nvs_handle_locked.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/nvs_flash/src/nvs_partition.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/nvs_flash/src/nvs_partition_lookup.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/nvs_flash/src/nvs_partition_manager.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/nvs_flash/src/nvs_types.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/nvs_flash/src/nvs_platform.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/nvs_flash/src/nvs_bootloader.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/nvs_flash/src/nvs_encrypted_partition.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/nvs_flash/src/nvs_bootloader_aes.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/nvs_flash/src/nvs_bootloader_xts_aes.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/nvs_sec_provider/nvs_sec_provider.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/esp-idf/nvs_sec_provider/libnvs_sec_provider.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/esp-idf/nvs_sec_provider/libnvs_sec_provider.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/protobuf-c/protobuf-c/protobuf-c/protobuf-c.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/pthread/pthread.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/pthread/pthread_cond_var.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/esp-idf/nvs_flash/libnvs_flash.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/esp-idf/nvs_flash/libnvs_flash.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/pthread/pthread_local_storage.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/pthread/pthread_rwlock.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/pthread/pthread_semaphore.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/rt/FreeRTOS_POSIX_mqueue.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/rt/FreeRTOS_POSIX_utils.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/esp-idf/pthread/libpthread.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/esp-idf/pthread/libpthread.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/sdmmc/sdmmc_cmd.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/sdmmc/sdmmc_common.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/esp-idf/protobuf-c/libprotobuf-c.a\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/esp-idf/rt/librt.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/esp-idf/protobuf-c/libprotobuf-c.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/esp-idf/rt/librt.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/sdmmc/sdmmc_init.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/sdmmc/sdmmc_io.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/sdmmc/sdmmc_mmc.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/sdmmc/sdmmc_sd.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/sdmmc/sd_pwr_ctrl/sd_pwr_ctrl.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/soc/lldesc.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/soc/dport_access_common.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/soc/esp32/interrupts.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/soc/esp32/gpio_periph.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/soc/esp32/uart_periph.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/soc/esp32/dport_access.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/soc/esp32/adc_periph.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/soc/esp32/emac_periph.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/soc/esp32/spi_periph.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/soc/esp32/ledc_periph.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/soc/esp32/pcnt_periph.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/soc/esp32/rmt_periph.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/soc/esp32/sdm_periph.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/soc/esp32/i2s_periph.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/esp-idf/sdmmc/libsdmmc.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/esp-idf/sdmmc/libsdmmc.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/soc/esp32/i2c_periph.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/soc/esp32/timer_periph.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/soc/esp32/lcd_periph.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/soc/esp32/mcpwm_periph.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/soc/esp32/mpi_periph.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/soc/esp32/sdmmc_periph.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/soc/esp32/touch_sensor_periph.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/soc/esp32/twai_periph.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/soc/esp32/wdt_periph.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/soc/esp32/dac_periph.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/soc/esp32/rtc_io_periph.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/soc/esp32/sdio_slave_periph.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/soc/esp32/power_supply_periph.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/spi_flash/flash_brownout_hook.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/spi_flash/spi_flash_chip_drivers.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/spi_flash/spi_flash_chip_generic.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/spi_flash/spi_flash_chip_issi.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/esp-idf/soc/libsoc.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/spi_flash/spi_flash_chip_mxic.c.o\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/esp-idf/soc/libsoc.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/spi_flash/spi_flash_chip_gd.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/spi_flash/spi_flash_chip_winbond.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/spi_flash/spi_flash_chip_boya.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/spi_flash/spi_flash_chip_mxic_opi.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/spi_flash/spi_flash_chip_th.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/spi_flash/memspi_host_driver.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/spi_flash/cache_utils.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/spi_flash/flash_mmap.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/spi_flash/flash_ops.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/spi_flash/spi_flash_wrap.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/spi_flash/esp_flash_api.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/spi_flash/esp_flash_spi_init.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/spi_flash/spi_flash_os_func_app.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/spi_flash/spi_flash_os_func_noos.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/tcp_transport/transport.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/tcp_transport/transport_ssl.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/tcp_transport/transport_internal.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/tcp_transport/transport_socks_proxy.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/esp-idf/spi_flash/libspi_flash.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/esp-idf/spi_flash/libspi_flash.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/tcp_transport/transport_ws.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/vfs/vfs.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/vfs/vfs_eventfd.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/vfs/vfs_semihost.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/vfs/nullfs.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/port/os_xtensa.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/esp-idf/tcp_transport/libtcp_transport.a\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/esp-idf/vfs/libvfs.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/esp-idf/tcp_transport/libtcp_transport.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/esp-idf/vfs/libvfs.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/port/eloop.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/ap/ap_config.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/ap/ieee802_1x.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/ap/wpa_auth.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/ap/wpa_auth_ie.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/ap/pmksa_cache_auth.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/ap/sta_info.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/ap/ieee802_11.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/ap/comeback_token.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/common/sae.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/common/dragonfly.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/common/wpa_common.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/utils/bitfield.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/crypto/aes-siv.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/crypto/sha256-kdf.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/crypto/ccmp.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/crypto/aes-gcm.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/crypto/crypto_ops.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/crypto/dh_group5.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/crypto/dh_groups.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/crypto/ms_funcs.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/crypto/sha1-tlsprf.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/crypto/sha256-tlsprf.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/crypto/sha384-tlsprf.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/crypto/sha256-prf.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/crypto/sha1-prf.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/crypto/sha384-prf.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/crypto/md4-internal.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/crypto/sha1-tprf.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/eap_common/eap_wsc_common.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/common/ieee802_11_common.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/eap_peer/chap.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/eap_peer/eap.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/eap_peer/eap_common.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/eap_peer/eap_mschapv2.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/eap_peer/eap_peap.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/eap_peer/eap_peap_common.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/eap_peer/eap_tls.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/eap_peer/eap_tls_common.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/eap_peer/eap_ttls.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/eap_peer/mschapv2.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/eap_peer/eap_fast.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/eap_peer/eap_fast_common.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/eap_peer/eap_fast_pac.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/rsn_supp/pmksa_cache.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/rsn_supp/wpa.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/rsn_supp/wpa_ie.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/utils/base64.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/utils/common.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/utils/ext_password.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/utils/uuid.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/utils/wpabuf.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/utils/wpa_debug.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/utils/json.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/wps/wps.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/wps/wps_attr_build.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/wps/wps_attr_parse.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/wps/wps_attr_process.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/wps/wps_common.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/wps/wps_dev_attr.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/wps/wps_enrollee.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/common/sae_pk.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/esp_supplicant/src/esp_eap_client.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/esp_supplicant/src/esp_wpa2_api_port.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/esp_supplicant/src/esp_wpa_main.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/esp_supplicant/src/esp_wpas_glue.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/esp_supplicant/src/esp_common.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/esp_supplicant/src/esp_wps.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/esp_supplicant/src/esp_wpa3.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/esp_supplicant/src/esp_owe.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/esp_supplicant/src/esp_hostap.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/tls/asn1.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/tls/bignum.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/tls/pkcs1.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/tls/pkcs5.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/tls/pkcs8.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/tls/rsa.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/crypto/tls_internal.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/tls/tlsv1_client.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/tls/tlsv1_client_read.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/tls/tlsv1_client_write.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/tls/tlsv1_common.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/tls/tlsv1_cred.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/tls/tlsv1_record.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/tls/tlsv1_client_ocsp.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/tls/x509v3.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/esp_supplicant/src/crypto/crypto_mbedtls.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/esp_supplicant/src/crypto/crypto_mbedtls-bignum.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/esp_supplicant/src/crypto/crypto_mbedtls-rsa.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/esp_supplicant/src/crypto/crypto_mbedtls-ec.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/crypto/rc4.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/crypto/des-internal.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/esp_supplicant/src/crypto/fastpbkdf2.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/crypto/aes-wrap.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/crypto/aes-unwrap.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/wpa_supplicant/src/crypto/aes-ccm.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/xtensa/eri.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/xtensa/xt_trax.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/xtensa/xtensa_context.S.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/xtensa/xtensa_intr_asm.S.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/xtensa/xtensa_intr.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/xtensa/xtensa_vectors.S.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/managed_components/zorxx__multipart-parser/multipart_parser.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/esp-idf/wpa_supplicant/libwpa_supplicant.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/3rdparty/everest/library/everest.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/esp-idf/xtensa/libxtensa.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/esp-idf/wpa_supplicant/libwpa_supplicant.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/esp-idf/xtensa/libxtensa.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/3rdparty/everest/library/x25519.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/esp-idf/zorxx__multipart-parser/libzorxx__multipart-parser.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/esp-idf/zorxx__multipart-parser/libzorxx__multipart-parser.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/3rdparty/everest/library/Hacl_Curve25519_joined.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/aes.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/esp-idf/mbedtls/mbedtls/3rdparty/everest/libeverest.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/esp-idf/mbedtls/mbedtls/3rdparty/everest/libeverest.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/aesni.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/aesce.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/aria.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/asn1parse.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/asn1write.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/base64.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/bignum.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/bignum_core.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/bignum_mod.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/bignum_mod_raw.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/block_cipher.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/camellia.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/ccm.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/chacha20.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/chachapoly.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/cipher.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/cipher_wrap.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/constant_time.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/cmac.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/ctr_drbg.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/des.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/dhm.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/ecdh.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/ecdsa.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/ecjpake.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/ecp.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/ecp_curves.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/ecp_curves_new.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/entropy.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/entropy_poll.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/error.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/gcm.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/hkdf.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/hmac_drbg.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/lmots.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/lms.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/md.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/md5.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/memory_buffer_alloc.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/nist_kw.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/oid.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/padlock.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/pem.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/pk.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/pk_ecc.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/pk_wrap.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/pkcs12.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/pkcs5.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/pkparse.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/pkwrite.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/platform.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/platform_util.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/poly1305.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/psa_crypto.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/psa_crypto_aead.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/psa_crypto_cipher.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/psa_crypto_client.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/psa_crypto_driver_wrappers_no_static.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/psa_crypto_ecp.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/psa_crypto_ffdh.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/psa_crypto_hash.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/psa_crypto_mac.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/psa_crypto_pake.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/psa_crypto_rsa.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/psa_crypto_se.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/psa_crypto_slot_management.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/psa_crypto_storage.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/psa_its_file.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/psa_util.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/ripemd160.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/rsa.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/rsa_alt_helpers.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/sha1.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/sha256.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/sha512.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/sha3.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/threading.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/timing.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/version.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/version_features.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/port/esp_hardware.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/port/esp_mem.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/port/esp_timing.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/port/aes/esp_aes_xts.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/port/aes/esp_aes_common.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/port/aes/block/esp_aes.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/port/sha/esp_sha.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/port/sha/parallel_engine/sha.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/port/bignum/esp_bignum.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/port/bignum/bignum_alt.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/port/sha/parallel_engine/esp_sha1.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/port/sha/parallel_engine/esp_sha256.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/port/sha/parallel_engine/esp_sha512.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/port/aes/esp_aes_gcm.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/port/md/esp_md.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/debug.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/mps_reader.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/mps_trace.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/ssl_cache.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/ssl_ciphersuites.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/esp-idf/mbedtls/mbedtls/library/libmbedcrypto.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/ssl_client.c.o\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/esp-idf/mbedtls/mbedtls/library/libmbedcrypto.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/ssl_cookie.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/ssl_debug_helpers_generated.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/ssl_msg.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/ssl_ticket.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/ssl_tls.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/ssl_tls12_client.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/ssl_tls12_server.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/ssl_tls13_keys.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/ssl_tls13_server.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/ssl_tls13_client.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/ssl_tls13_generic.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/port/mbedtls_debug.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/port/esp_platform_time.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/port/net_sockets.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/pkcs7.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/x509.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/x509_create.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/x509_crl.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/esp-idf/mbedtls/mbedtls/library/libmbedtls.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/esp-idf/mbedtls/mbedtls/library/libmbedtls.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/x509_crt.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/x509_csr.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/x509write.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/x509write_crt.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/library/x509write_csr.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/3rdparty/p256-m/p256-m_driver_entrypoints.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/mbedtls/mbedtls/3rdparty/p256-m/p256-m/p256-m.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/xtensa/eri.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/xtensa/xt_trax.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/bootloader/subproject/main/bootloader_start.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/esp-idf/mbedtls/mbedtls/3rdparty/p256-m/libp256m.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/esp-idf/mbedtls/mbedtls/3rdparty/p256-m/libp256m.a\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/bootloader/esp-idf/xtensa/libxtensa.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/bootloader/esp-idf/xtensa/libxtensa.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/bootloader_support/src/bootloader_common.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/bootloader_support/src/bootloader_common_loader.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/bootloader/esp-idf/main/libmain.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/bootloader/esp-idf/main/libmain.a\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/esp-idf/mbedtls/mbedtls/library/libmbedx509.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/esp-idf/mbedtls/mbedtls/library/libmbedx509.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/bootloader_support/src/bootloader_clock_init.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/bootloader_support/src/bootloader_mem.c.o\n", - "\u001b[0mGenerating project linker script .pioenvs/esp-garagebtproxy/sections.ld\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/bootloader_support/src/bootloader_random.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/bootloader_support/src/bootloader_efuse.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/bootloader_support/src/flash_encrypt.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/bootloader_support/src/secure_boot.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/bootloader_support/src/bootloader_random_esp32.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/bootloader_support/bootloader_flash/src/bootloader_flash.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/bootloader_support/bootloader_flash/src/flash_qio_mode.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/bootloader_support/bootloader_flash/src/bootloader_flash_config_esp32.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/bootloader_support/src/bootloader_utility.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/bootloader_support/src/flash_partitions.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/bootloader_support/src/esp_image_format.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/bootloader_support/src/bootloader_sha.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/bootloader_support/src/bootloader_init.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/bootloader_support/src/bootloader_clock_loader.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/bootloader_support/src/bootloader_console.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/bootloader_support/src/bootloader_console_loader.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/bootloader_support/src/esp32/bootloader_soc.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/bootloader_support/src/esp32/bootloader_esp32.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/bootloader_support/src/bootloader_panic.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/efuse/esp32/esp_efuse_table.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/efuse/esp32/esp_efuse_fields.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/efuse/esp32/esp_efuse_utility.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/bootloader/esp-idf/bootloader_support/libbootloader_support.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/bootloader/esp-idf/bootloader_support/libbootloader_support.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/efuse/src/esp_efuse_api.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/efuse/src/esp_efuse_fields.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/efuse/src/esp_efuse_utility.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/efuse/src/efuse_controller/keys/without_key_purposes/three_key_blocks/esp_efuse_api_key.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/esp_bootloader_format/esp_bootloader_desc.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/bootloader/esp-idf/esp_bootloader_format/libesp_bootloader_format.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/bootloader/esp-idf/esp_bootloader_format/libesp_bootloader_format.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/esp_common/src/esp_err_to_name.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/esp_hw_support/cpu.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/bootloader/esp-idf/efuse/libefuse.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/bootloader/esp-idf/efuse/libefuse.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/esp_hw_support/port/esp32/esp_cpu_intr.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/bootloader/esp-idf/esp_common/libesp_common.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/bootloader/esp-idf/esp_common/libesp_common.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/esp_hw_support/esp_memory_utils.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/esp_hw_support/port/esp32/cpu_region_protect.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/esp_hw_support/port/esp32/rtc_clk.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/esp_hw_support/port/esp32/rtc_clk_init.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/esp_hw_support/port/esp32/rtc_init.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/esp_hw_support/port/esp32/rtc_sleep.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/esp_hw_support/port/esp32/rtc_time.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/esp_hw_support/port/esp32/chip_info.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/esp_rom/patches/esp_rom_sys.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/bootloader/esp-idf/esp_hw_support/libesp_hw_support.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/esp_rom/patches/esp_rom_print.c.o\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/bootloader/esp-idf/esp_hw_support/libesp_hw_support.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/esp_rom/patches/esp_rom_crc.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/esp_rom/patches/esp_rom_uart.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/esp_rom/patches/esp_rom_spiflash.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/esp_rom/patches/esp_rom_efuse.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/esp_rom/patches/esp_rom_gpio.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/esp_rom/patches/esp_rom_longjmp.S.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/esp_system/esp_err.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/hal/hal_utils.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/bootloader/esp-idf/esp_system/libesp_system.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/bootloader/esp-idf/esp_system/libesp_system.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/hal/mpu_hal.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/hal/efuse_hal.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/bootloader/esp-idf/esp_rom/libesp_rom.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/bootloader/esp-idf/esp_rom/libesp_rom.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/hal/esp32/efuse_hal.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/hal/wdt_hal_iram.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/hal/mmu_hal.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/hal/esp32/cache_hal_esp32.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/log/src/noos/log_timestamp.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/log/src/log_timestamp_common.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/log/src/noos/log_lock.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/log/src/buffer/log_buffers.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/bootloader/esp-idf/hal/libhal.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/bootloader/esp-idf/hal/libhal.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/log/src/noos/util.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/log/src/util.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/log/src/log_format_text.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/log/src/log_print.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/log/src/log.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/bootloader/subproject/components/micro-ecc/uECC_verify_antifault.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/bootloader/esp-idf/log/liblog.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/soc/lldesc.c.o\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/bootloader/esp-idf/log/liblog.a\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/soc/dport_access_common.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/soc/esp32/interrupts.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/soc/esp32/gpio_periph.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/soc/esp32/uart_periph.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/soc/esp32/dport_access.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/soc/esp32/adc_periph.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/soc/esp32/emac_periph.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/soc/esp32/spi_periph.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/soc/esp32/ledc_periph.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/soc/esp32/pcnt_periph.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/soc/esp32/rmt_periph.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/soc/esp32/sdm_periph.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/soc/esp32/i2s_periph.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/soc/esp32/i2c_periph.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/soc/esp32/timer_periph.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/soc/esp32/lcd_periph.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/soc/esp32/mcpwm_periph.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/soc/esp32/mpi_periph.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/soc/esp32/sdmmc_periph.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/soc/esp32/touch_sensor_periph.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/soc/esp32/twai_periph.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/soc/esp32/wdt_periph.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/soc/esp32/dac_periph.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/soc/esp32/rtc_io_periph.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/soc/esp32/sdio_slave_periph.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/soc/esp32/power_supply_periph.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-garagebtproxy/bootloader/spi_flash/spi_flash_wrap.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/bootloader/esp-idf/soc/libsoc.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/bootloader/esp-idf/soc/libsoc.a\n", - "\u001b[0mGenerating partitions .pioenvs/esp-garagebtproxy/partitions.bin\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/bootloader/esp-idf/spi_flash/libspi_flash.a\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/bootloader/esp-idf/spi_flash/libspi_flash.a\n", - "\u001b[0mArchiving .pioenvs/esp-garagebtproxy/bootloader/esp-idf/micro-ecc/libmicro-ecc.a\n", - "\u001b[0mGenerating an empty partition .pioenvs/esp-garagebtproxy/ota_data_initial.bin\n", - "\u001b[0mIndexing .pioenvs/esp-garagebtproxy/bootloader/esp-idf/micro-ecc/libmicro-ecc.a\n", - "\u001b[0mLinking .pioenvs/esp-garagebtproxy/bootloader.elf\n", - "\u001b[0mBuilding .pioenvs/esp-garagebtproxy/bootloader.bin\n", - "\u001b[0mCreating ESP32 image...\n", - "\u001b[0mSuccessfully created ESP32 image.\n", - "\u001b[0mLinking .pioenvs/esp-garagebtproxy/firmware.elf\n", - "\u001b[0m\u001b[3m Memory Type Usage Summary \u001b[0m\n", - "\u001b[0m┏━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓\n", - "┃\u001b[1m \u001b[0m\u001b[1mMemory Type/Section\u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mUsed [bytes]\u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mUsed [%]\u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mRemain [bytes]\u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mTotal [bytes]\u001b[0m\u001b[1m \u001b[0m┃\n", - "\u001b[0m┡━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩\n", - "│\u001b[91m \u001b[0m\u001b[91mFlash Code \u001b[0m\u001b[91m \u001b[0m│\u001b[91m \u001b[0m\u001b[91m 1062092\u001b[0m\u001b[91m \u001b[0m│\u001b[91m \u001b[0m\u001b[91m \u001b[0m\u001b[91m \u001b[0m│\u001b[91m \u001b[0m\u001b[91m \u001b[0m\u001b[91m \u001b[0m│\u001b[91m \u001b[0m\u001b[91m \u001b[0m\u001b[91m \u001b[0m│\n", - "\u001b[0m│\u001b[94m \u001b[0m\u001b[94m .text \u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m 1062092\u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m \u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m \u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m \u001b[0m\u001b[94m \u001b[0m│\n", - "\u001b[0m│\u001b[91m \u001b[0m\u001b[91mFlash Data \u001b[0m\u001b[91m \u001b[0m│\u001b[91m \u001b[0m\u001b[91m 226824\u001b[0m\u001b[91m \u001b[0m│\u001b[91m \u001b[0m\u001b[91m \u001b[0m\u001b[91m \u001b[0m│\u001b[91m \u001b[0m\u001b[91m \u001b[0m\u001b[91m \u001b[0m│\u001b[91m \u001b[0m\u001b[91m \u001b[0m\u001b[91m \u001b[0m│\n", - "\u001b[0m│\u001b[94m \u001b[0m\u001b[94m .rodata \u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m 226568\u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m \u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m \u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m \u001b[0m\u001b[94m \u001b[0m│\n", - "\u001b[0m│\u001b[94m \u001b[0m\u001b[94m .appdesc \u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m 256\u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m \u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m \u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m \u001b[0m\u001b[94m \u001b[0m│\n", - "\u001b[0m│\u001b[91m \u001b[0m\u001b[91mIRAM \u001b[0m\u001b[91m \u001b[0m│\u001b[91m \u001b[0m\u001b[91m 106675\u001b[0m\u001b[91m \u001b[0m│\u001b[91m \u001b[0m\u001b[91m 81.39\u001b[0m\u001b[91m \u001b[0m│\u001b[91m \u001b[0m\u001b[91m 24397\u001b[0m\u001b[91m \u001b[0m│\u001b[91m \u001b[0m\u001b[91m 131072\u001b[0m\u001b[91m \u001b[0m│\n", - "\u001b[0m│\u001b[94m \u001b[0m\u001b[94m .text \u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m 105647\u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m 80.6\u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m \u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m \u001b[0m\u001b[94m \u001b[0m│\n", - "\u001b[0m│\u001b[94m \u001b[0m\u001b[94m .vectors \u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m 1028\u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m 0.78\u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m \u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m \u001b[0m\u001b[94m \u001b[0m│\n", - "\u001b[0m│\u001b[91m \u001b[0m\u001b[91mDRAM \u001b[0m\u001b[91m \u001b[0m│\u001b[91m \u001b[0m\u001b[91m 74176\u001b[0m\u001b[91m \u001b[0m│\u001b[91m \u001b[0m\u001b[91m 59.54\u001b[0m\u001b[91m \u001b[0m│\u001b[91m \u001b[0m\u001b[91m 50404\u001b[0m\u001b[91m \u001b[0m│\u001b[91m \u001b[0m\u001b[91m 124580\u001b[0m\u001b[91m \u001b[0m│\n", - "\u001b[0m│\u001b[94m \u001b[0m\u001b[94m .bss \u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m 51408\u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m 41.27\u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m \u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m \u001b[0m\u001b[94m \u001b[0m│\n", - "\u001b[0m│\u001b[94m \u001b[0m\u001b[94m .data \u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m 22616\u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m 18.15\u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m \u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m \u001b[0m\u001b[94m \u001b[0m│\n", - "\u001b[0m│\u001b[94m \u001b[0m\u001b[94m .noinit \u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m 152\u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m 0.12\u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m \u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m \u001b[0m\u001b[94m \u001b[0m│\n", - "\u001b[0m└─────────────────────┴──────────────┴──────────┴────────────────┴───────────────┘\n", - "\u001b[0m\u001b[33mTotal image size: \u001b[1;36m1418207\u001b[0m bytes \u001b[1m(\u001b[0m.bin may be padded larger\u001b[1m)\u001b[0m\n", - "\u001b[0m\u001b[33m\u001b[33mNote: The reported total sizes may be smaller than those in the technical reference manual due to reserved memory and application configuration. The total flash size available for the application is not included by default, as it cannot be reliably determined due to the presence of other data like the bootloader, partition table, and application partition size.\u001b[0m\n", - "\u001b[0mRAM: [== ] 22.6% (used 74176 bytes from 327680 bytes)\n", - "\u001b[0mFlash: [======== ] 77.3% (used 1417951 bytes from 1835008 bytes)\n", - "Building .pioenvs/esp-garagebtproxy/firmware.bin\n", - "\u001b[0mCreating ESP32 image...\n", - "\u001b[0mSuccessfully created ESP32 image.\n", - "\u001b[0mCreating binary \"firmware.factory.bin\" with:\n", - "\u001b[0m Offset | File\n", - "\u001b[0m - 0x1000 | bootloader.bin\n", - "\u001b[0m - 0x8000 | partitions.bin\n", - "\u001b[0m - 0x9000 | ota_data_initial.bin\n", - "\u001b[0m - 0x10000 | firmware.bin\n", - "Successfully created combined binary image.\n", - "\u001b[0msign_firmware([\".pioenvs/esp-garagebtproxy/firmware.bin\"], [\".pioenvs/esp-garagebtproxy/firmware.elf\"])\n", - "\u001b[0mmerge_factory_bin([\".pioenvs/esp-garagebtproxy/firmware.bin\"], [\".pioenvs/esp-garagebtproxy/firmware.elf\"])\n", - "\u001b[0mInfo: bootloader.bin not found - skipping\n", - "\u001b[0mInfo: partition-table.bin not found - skipping\n", - "\u001b[0mInfo: ota_data_initial.bin not found - skipping\n", - "\u001b[0mInfo: esp-garagebtproxy.bin not found - skipping\n", - "\u001b[0mUsing FLASH_EXTRA_IMAGES from PlatformIO environment\n", - "\u001b[0mMerging binaries into /data/build/esp-garagebtproxy/.pioenvs/esp-garagebtproxy/firmware.factory.bin\n", - "\u001b[0mMerging binaries with esptool\n", - "\u001b[0mSHA digest in image updated.\n", - "\u001b[0mWrote 0x16a470 bytes to file '/data/build/esp-garagebtproxy/.pioenvs/esp-garagebtproxy/firmware.factory.bin', ready to flash to offset 0x0.\n", - "\u001b[0mSuccessfully created /data/build/esp-garagebtproxy/.pioenvs/esp-garagebtproxy/firmware.factory.bin\n", - "\u001b[0mesp32_copy_ota_bin([\".pioenvs/esp-garagebtproxy/firmware.bin\"], [\".pioenvs/esp-garagebtproxy/firmware.elf\"])\n", - "\u001b[0mCopied firmware to /data/build/esp-garagebtproxy/.pioenvs/esp-garagebtproxy/firmware.ota.bin\n", - "\u001b[0m======================== [\u001b[32m\u001b[1mSUCCESS\u001b[0m] Took 361.44 seconds ========================\u001b[0m\n", - "\u001b[33m\u001b[2mUsing Python 3.12.10 environment at: /root/.platformio/penv/.espidf-5.5.4\u001b[0m\n", - "\\033[32mINFO Build Info: config_hash=0xa807a8d9 build_time_str=2026-05-24 20:19:55 +1200\\033[0m\n", - "\\033[32mINFO Successfully compiled program.\\033[0m\n", - "\\033[32mINFO Connecting to 172.31.11.145 port 3232...\\033[0m\n", - "\\033[32mINFO Connected to 172.31.11.145\\033[0m\n", - "\\033[32mINFO Uploading /data/build/esp-garagebtproxy/.pioenvs/esp-garagebtproxy/firmware.bin (1418352 bytes)\\033[0m\n", - "Uploading: [============================================================] 100% Done...\r\n", - "\n", - "\\033[32mINFO Upload took 21.98 seconds, waiting for result...\\033[0m\n", - "\\033[32mINFO OTA successful\\033[0m\n", - "\\033[32mINFO Successfully uploaded program.\\033[0m\n" - ], - "error": null, - "port": "OTA", - "new_name": "", - "progress": 100, - "remote_peer": "", - "remote_job_id": "", - "remote_peer_label": "", - "device_name": "", - "device_friendly_name": "", - "source": "local", - "source_pin_sha256": "", - "source_label": "", - "source_esphome_version": "" - }, - { - "job_id": "d0acc9a439ad", + "job_id": "9848928e8aa9", "configuration": "esp-downstbathtowelrail.yaml", "job_type": "install", "status": "completed", - "created_at": "2026-05-24T07:54:48.625880+00:00", - "started_at": "2026-05-24T08:16:18.788995+00:00", - "completed_at": "2026-05-24T08:19:54.064870+00:00", + "created_at": "2026-06-01T04:19:41.405522+00:00", + "started_at": "2026-06-01T07:26:27.671710+00:00", + "completed_at": "2026-06-01T07:29:08.010393+00:00", "exit_code": 0, - "output": [ - "\\033[32mINFO ESPHome 2026.5.0\\033[0m\n", - "\\033[32mINFO Reading configuration /config/esphome/esp-downstbathtowelrail.yaml...\\033[0m\n", - "\\033[32mINFO Generating C++ source...\\033[0m\n", - "\\033[32mINFO Compiling app... Build path: /data/build/esp-downstbathtowelrail\\033[0m\n", - "Processing \u001b[36m\u001b[1mesp-downstbathtowelrail\u001b[0m (board: esp01_1m; framework: arduino; platform: platformio/espressif8266@4.2.1)\n", - "\u001b[1m--------------------------------------------------------------------------------\u001b[0m\n", - "\u001b[0mHARDWARE: ESP8266 80MHz, 80KB RAM, 1MB Flash\n", - "\u001b[0mESPHome: Excluding Updater.cpp from build (using native OTA backend)\n", - "\u001b[0mESPHome: Excluding core_esp8266_waveform_phase.cpp from build (waveform not required)\n", - "\u001b[0mESPHome: Excluding core_esp8266_waveform_pwm.cpp from build (waveform not required)\n", - "\u001b[0mDependency Graph\n", - "\u001b[0m|-- ESPAsyncTCP @ 2.0.0\n", - "\u001b[0m|-- ESP8266WiFi @ 1.0\n", - "\u001b[0m|-- ESPAsyncWebServer @ 3.9.6\n", - "\u001b[0m|-- DNSServer @ 1.1.1\n", - "\u001b[0m|-- noise-c @ 0.1.11\n", - "\u001b[0m|-- AsyncMqttClient-esphome @ 2.0.0\n", - "\u001b[0m|-- ArduinoJson @ 7.4.2\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/api/api_buffer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/api/api_connection.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/api/api_frame_helper.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/api/api_frame_helper_noise.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/api/api_overflow_buffer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/api/api_pb2.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/api/api_pb2_service.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/api/api_server.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/api/list_entities.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/api/proto.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/api/subscribe_state.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/binary_sensor/automation.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/binary_sensor/binary_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/binary_sensor/filter.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/button/button.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/captive_portal/captive_portal.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/copy/sensor/copy_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/debug/debug_component.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/debug/debug_esp8266.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/esp8266/core.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/esp8266/crash_handler.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/esp8266/gpio.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/esp8266/hal.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/esp8266/helpers.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/esp8266/preferences.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/esp8266/printf_stubs.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/esp8266/waveform_stubs.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/esphome/ota/ota_esphome.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/factory_reset/button/factory_reset_button.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/gpio/binary_sensor/gpio_binary_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/gpio/switch/gpio_switch.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/json/json_util.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/logger/logger.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/logger/logger_esp8266.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/md5/md5.cpp.o\n", - "\u001b[33msrc/esphome/components/logger/logger.cpp:214:25: warning: 'const esphome::LogString* esphome::logger::get_log_level_str(uint8_t)' defined but not used [-Wunused-function]\n", - "\u001b[0m\u001b[33m 214 | static const LogString *get_log_level_str(uint8_t level) {\n", - "\u001b[0m | ^~~~~~~~~~~~~~~~~\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/mdns/mdns_component.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/mdns/mdns_esp8266.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/mqtt/custom_mqtt_device.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/mqtt/mqtt_alarm_control_panel.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/mqtt/mqtt_binary_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/mqtt/mqtt_button.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/mqtt/mqtt_client.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/mqtt/mqtt_climate.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/mqtt/mqtt_component.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/mqtt/mqtt_cover.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/mqtt/mqtt_date.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/mqtt/mqtt_datetime.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/mqtt/mqtt_event.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/mqtt/mqtt_fan.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/mqtt/mqtt_light.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/mqtt/mqtt_lock.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/mqtt/mqtt_number.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/mqtt/mqtt_select.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/mqtt/mqtt_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/mqtt/mqtt_switch.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/mqtt/mqtt_text.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/mqtt/mqtt_text_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/mqtt/mqtt_time.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/mqtt/mqtt_update.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/mqtt/mqtt_valve.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/mqtt_subscribe/text_sensor/mqtt_subscribe_text_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/network/util.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/ota/ota_backend.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/ota/ota_backend_esp8266.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/ota/ota_bootloader_esp_idf.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/ota/ota_partitions_esp_idf.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/restart/button/restart_button.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/safe_mode/button/safe_mode_button.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/safe_mode/safe_mode.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/script/script.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/select/select.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/select/select_call.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/select/select_traits.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/sensor/automation.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/sensor/filter.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/sensor/sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/sha256/sha256.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/sntp/sntp_component.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/socket/lwip_raw_tcp_impl.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/socket/socket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/status/status_binary_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/switch/automation.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/switch/switch.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/template/binary_sensor/template_binary_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/template/select/template_select.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/template/sensor/template_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/template/switch/template_switch.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/template/text_sensor/template_text_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/text_sensor/filter.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/text_sensor/text_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/time/automation.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/time/posix_tz.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/time/real_time_clock.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/uptime/sensor/uptime_seconds_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/uptime/sensor/uptime_timestamp_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/uptime/text_sensor/uptime_text_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/version/version_text_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/web_server/ota/ota_web_server.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/web_server_base/web_server_base.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/wifi/wifi_component.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/wifi/wifi_component_esp8266.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/wifi_info/wifi_info_text_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/components/wifi_signal/wifi_signal_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/core/alloc_helpers.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/core/application.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/core/build_info_data.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/core/color.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/core/component.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/core/component_iterator.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/core/controller_registry.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/core/entity_base.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/core/gpio.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/core/helpers.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/core/log.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/core/scheduler.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/core/time.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/core/time_64.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/core/util.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/esphome/core/wake/wake_esp8266.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/src/main.cpp.o\n", - "\u001b[0mGenerating LD script .pioenvs/esp-downstbathtowelrail/ld/local.eagle.app.v6.common.ld\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib714/ESPAsyncTCP/AsyncPrinter.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib714/ESPAsyncTCP/ESPAsyncTCP.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib714/ESPAsyncTCP/ESPAsyncTCPbuffer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib714/ESPAsyncTCP/SyncClient.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib714/ESPAsyncTCP/tcp_axtls.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib67b/ESP8266WiFi/BearSSLHelpers.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib67b/ESP8266WiFi/CertStoreBearSSL.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-downstbathtowelrail/lib714/libESPAsyncTCP.a\n", - "\u001b[0mIndexing .pioenvs/esp-downstbathtowelrail/lib714/libESPAsyncTCP.a\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib67b/ESP8266WiFi/ESP8266WiFi.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib67b/ESP8266WiFi/ESP8266WiFiAP.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib67b/ESP8266WiFi/ESP8266WiFiGeneric.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib67b/ESP8266WiFi/ESP8266WiFiGratuitous.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib67b/ESP8266WiFi/ESP8266WiFiMulti.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib67b/ESP8266WiFi/ESP8266WiFiSTA-WPS.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib67b/ESP8266WiFi/ESP8266WiFiSTA.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib67b/ESP8266WiFi/ESP8266WiFiScan.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib67b/ESP8266WiFi/WiFiClient.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib67b/ESP8266WiFi/WiFiClientSecureBearSSL.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib67b/ESP8266WiFi/WiFiServer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib67b/ESP8266WiFi/WiFiServerSecureBearSSL.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib67b/ESP8266WiFi/WiFiUdp.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib67b/ESP8266WiFi/enable_wifi_at_boot_time.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/libaf0/Hash/Hash.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/libd51/ESPAsyncWebServer/AsyncEventSource.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/libd51/ESPAsyncWebServer/AsyncJson.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-downstbathtowelrail/lib67b/libESP8266WiFi.a\n", - "\u001b[0mIndexing .pioenvs/esp-downstbathtowelrail/lib67b/libESP8266WiFi.a\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/libd51/ESPAsyncWebServer/AsyncWebHeader.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-downstbathtowelrail/libaf0/libHash.a\n", - "\u001b[0mIndexing .pioenvs/esp-downstbathtowelrail/libaf0/libHash.a\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/libd51/ESPAsyncWebServer/AsyncWebServerRequest.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/libd51/ESPAsyncWebServer/AsyncWebSocket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/libd51/ESPAsyncWebServer/BackPort_SHA1Builder.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/libd51/ESPAsyncWebServer/ChunkPrint.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/libd51/ESPAsyncWebServer/Middleware.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/libd51/ESPAsyncWebServer/WebAuthentication.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/libd51/ESPAsyncWebServer/WebHandlers.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/libd51/ESPAsyncWebServer/WebRequest.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/libd51/ESPAsyncWebServer/WebResponses.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/libd51/ESPAsyncWebServer/WebServer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/libecb/DNSServer/DNSServer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib089/libsodium/crypto_aead/chacha20poly1305/aead_chacha20poly1305.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib089/libsodium/crypto_core/ed25519/ref10/ed25519_ref10.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib089/libsodium/crypto_core/salsa/ref/core_salsa_ref.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib089/libsodium/crypto_hash/crypto_hash.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib089/libsodium/crypto_hash/sha256/cp/hash_sha256_cp.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-downstbathtowelrail/libecb/libDNSServer.a\n", - "\u001b[0mIndexing .pioenvs/esp-downstbathtowelrail/libecb/libDNSServer.a\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib089/libsodium/crypto_hash/sha256/hash_sha256.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib089/libsodium/crypto_onetimeauth/crypto_onetimeauth.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib089/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib089/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-downstbathtowelrail/libd51/libESPAsyncWebServer.a\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib089/libsodium/crypto_scalarmult/crypto_scalarmult.c.o\n", - "\u001b[0mIndexing .pioenvs/esp-downstbathtowelrail/libd51/libESPAsyncWebServer.a\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib089/libsodium/crypto_scalarmult/curve25519/ref10/x25519_ref10.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib089/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib089/libsodium/crypto_stream/chacha20/ref/chacha20_ref.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib089/libsodium/crypto_stream/chacha20/stream_chacha20.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib089/libsodium/crypto_stream/crypto_stream.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib089/libsodium/crypto_stream/salsa20/ref/salsa20_ref.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib089/libsodium/crypto_stream/salsa20/stream_salsa20.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib089/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6-asm.S.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib089/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib089/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-avx2.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib089/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-sse2.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib089/libsodium/crypto_verify/verify.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib089/libsodium/randombytes/internal/randombytes_internal_random.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib089/libsodium/randombytes/randombytes.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib089/libsodium/randombytes/sysrandom/randombytes_sysrandom.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib089/libsodium/sodium/codecs.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib089/libsodium/sodium/core.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib089/libsodium/sodium/runtime.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib089/libsodium/sodium/utils.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib7c0/noise-c/backend/openssl/cipher-aesgcm.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib7c0/noise-c/backend/ref/cipher-aesgcm.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib7c0/noise-c/backend/ref/cipher-chachapoly.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib7c0/noise-c/backend/ref/dh-curve25519.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib7c0/noise-c/backend/ref/hash-blake2b.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib7c0/noise-c/backend/ref/hash-blake2s.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib7c0/noise-c/backend/ref/hash-sha256.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib7c0/noise-c/backend/sodium/cipher-aesgcm.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib7c0/noise-c/backend/sodium/cipher-chachapoly.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib7c0/noise-c/backend/sodium/dh-curve25519.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib7c0/noise-c/backend/sodium/hash-blake2b.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib7c0/noise-c/backend/sodium/hash-sha256.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib7c0/noise-c/crypto/aes/rijndael-alg-fst.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib7c0/noise-c/crypto/blake2/blake2b.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib7c0/noise-c/crypto/blake2/blake2s.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib7c0/noise-c/crypto/chacha/chacha.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib7c0/noise-c/crypto/donna/curve25519-donna-c64.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib7c0/noise-c/crypto/donna/curve25519-donna.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib7c0/noise-c/crypto/donna/poly1305-donna.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib7c0/noise-c/crypto/sha2/sha256.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib7c0/noise-c/crypto/sha2/sha512.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib7c0/noise-c/crypto/x25519/x25519.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib7c0/noise-c/protocol/cipherstate.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib7c0/noise-c/protocol/dhstate.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib7c0/noise-c/protocol/errors.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib7c0/noise-c/protocol/handshakestate.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib7c0/noise-c/protocol/hashstate.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib7c0/noise-c/protocol/internal.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib7c0/noise-c/protocol/names.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib7c0/noise-c/protocol/patterns.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib7c0/noise-c/protocol/rand_os.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib7c0/noise-c/protocol/rand_sodium.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib7c0/noise-c/protocol/randstate.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib7c0/noise-c/protocol/signstate.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib7c0/noise-c/protocol/symmetricstate.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/lib7c0/noise-c/protocol/util.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/libeb1/ESPAsyncTCP-esphome/AsyncPrinter.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/libeb1/ESPAsyncTCP-esphome/ESPAsyncTCP.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-downstbathtowelrail/lib7c0/libnoise-c.a\n", - "\u001b[0mIndexing .pioenvs/esp-downstbathtowelrail/lib7c0/libnoise-c.a\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/libeb1/ESPAsyncTCP-esphome/ESPAsyncTCPbuffer.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-downstbathtowelrail/lib089/libsodium.a\n", - "\u001b[0mIndexing .pioenvs/esp-downstbathtowelrail/lib089/libsodium.a\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/libeb1/ESPAsyncTCP-esphome/SyncClient.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/libeb1/ESPAsyncTCP-esphome/tcp_axtls.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/libe69/AsyncMqttClient-esphome/AsyncMqttClient.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/libe69/AsyncMqttClient-esphome/AsyncMqttClient/Packets/ConnAckPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/libe69/AsyncMqttClient-esphome/AsyncMqttClient/Packets/PingRespPacket.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-downstbathtowelrail/libeb1/libESPAsyncTCP-esphome.a\n", - "\u001b[0mIndexing .pioenvs/esp-downstbathtowelrail/libeb1/libESPAsyncTCP-esphome.a\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/libe69/AsyncMqttClient-esphome/AsyncMqttClient/Packets/PubAckPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/libe69/AsyncMqttClient-esphome/AsyncMqttClient/Packets/PubCompPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/libe69/AsyncMqttClient-esphome/AsyncMqttClient/Packets/PubRecPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/libe69/AsyncMqttClient-esphome/AsyncMqttClient/Packets/PubRelPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/libe69/AsyncMqttClient-esphome/AsyncMqttClient/Packets/PublishPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/libe69/AsyncMqttClient-esphome/AsyncMqttClient/Packets/SubAckPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/libe69/AsyncMqttClient-esphome/AsyncMqttClient/Packets/UnsubAckPacket.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-downstbathtowelrail/libFrameworkArduinoVariant.a\n", - "\u001b[0mIndexing .pioenvs/esp-downstbathtowelrail/libFrameworkArduinoVariant.a\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/Crypto.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/Esp-frag.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/Esp-version.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-downstbathtowelrail/libe69/libAsyncMqttClient-esphome.a\n", - "\u001b[0mIndexing .pioenvs/esp-downstbathtowelrail/libe69/libAsyncMqttClient-esphome.a\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/Esp.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/FS.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/FSnoop.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/FunctionalInterrupt.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/HardwareSerial.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/IPAddress.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/LwipDhcpServer-NonOS.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/LwipDhcpServer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/LwipIntf.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/LwipIntfCB.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/MD5Builder.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/Print.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/Schedule.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/StackThunk.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/Stream.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/StreamSend.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/Tone.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/TypeConversion.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/WMath.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/WString.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/abi.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/aes_unwrap.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/base64.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/cbuf.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/cont.S.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/cont_util.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/core_esp8266_app_entry_noextra4k.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/core_esp8266_eboot_command.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/core_esp8266_features.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/core_esp8266_flash_quirks.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/core_esp8266_flash_utils.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/core_esp8266_i2s.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/core_esp8266_main.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/core_esp8266_non32xfer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/core_esp8266_noniso.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/core_esp8266_phy.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/core_esp8266_postmortem.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/core_esp8266_si2c.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/core_esp8266_sigma_delta.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/core_esp8266_spi_utils.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/core_esp8266_timer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/core_esp8266_vm.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/core_esp8266_wiring.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/core_esp8266_wiring_analog.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/core_esp8266_wiring_digital.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/core_esp8266_wiring_pulse.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/core_esp8266_wiring_pwm.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/core_esp8266_wiring_shift.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/crc32.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/debug.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/exc-c-wrapper-handler.S.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/exc-sethandler.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/flash_hal.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/gdb_hooks.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/heap.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/hwdt_app_entry.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/libb64/cdecode.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/libb64/cencode.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/libc_replacements.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/mmu_iram.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/reboot_uart_dwnld.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/spiffs/spiffs_cache.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/spiffs/spiffs_check.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/spiffs/spiffs_gc.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/spiffs/spiffs_hydrogen.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/spiffs/spiffs_nucleus.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/spiffs_api.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/sqrt32.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/stdlib_noniso.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/time.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/uart.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/umm_malloc/umm_info.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/umm_malloc/umm_integrity.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/umm_malloc/umm_local.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/umm_malloc/umm_malloc.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/umm_malloc/umm_poison.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathtowelrail/FrameworkArduino/wpa2_eap_patch.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-downstbathtowelrail/libFrameworkArduino.a\n", - "\u001b[0mIndexing .pioenvs/esp-downstbathtowelrail/libFrameworkArduino.a\n", - "\u001b[0mremove_scanf_float_flag([\".pioenvs/esp-downstbathtowelrail/firmware.elf\"], [\".pioenvs/esp-downstbathtowelrail/src/esphome/components/api/api_buffer.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/api/api_connection.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/api/api_frame_helper.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/api/api_frame_helper_noise.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/api/api_overflow_buffer.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/api/api_pb2.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/api/api_pb2_service.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/api/api_server.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/api/list_entities.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/api/proto.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/api/subscribe_state.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/binary_sensor/automation.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/binary_sensor/binary_sensor.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/binary_sensor/filter.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/button/button.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/captive_portal/captive_portal.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/copy/sensor/copy_sensor.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/debug/debug_component.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/debug/debug_esp8266.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/esp8266/core.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/esp8266/crash_handler.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/esp8266/gpio.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/esp8266/hal.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/esp8266/helpers.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/esp8266/preferences.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/esp8266/printf_stubs.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/esp8266/waveform_stubs.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/esphome/ota/ota_esphome.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/factory_reset/button/factory_reset_button.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/gpio/binary_sensor/gpio_binary_sensor.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/gpio/switch/gpio_switch.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/json/json_util.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/logger/logger.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/logger/logger_esp8266.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/md5/md5.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/mdns/mdns_component.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/mdns/mdns_esp8266.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/mqtt/custom_mqtt_device.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/mqtt/mqtt_alarm_control_panel.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/mqtt/mqtt_binary_sensor.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/mqtt/mqtt_button.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/mqtt/mqtt_client.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/mqtt/mqtt_climate.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/mqtt/mqtt_component.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/mqtt/mqtt_cover.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/mqtt/mqtt_date.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/mqtt/mqtt_datetime.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/mqtt/mqtt_event.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/mqtt/mqtt_fan.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/mqtt/mqtt_light.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/mqtt/mqtt_lock.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/mqtt/mqtt_number.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/mqtt/mqtt_select.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/mqtt/mqtt_sensor.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/mqtt/mqtt_switch.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/mqtt/mqtt_text.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/mqtt/mqtt_text_sensor.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/mqtt/mqtt_time.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/mqtt/mqtt_update.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/mqtt/mqtt_valve.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/mqtt_subscribe/text_sensor/mqtt_subscribe_text_sensor.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/network/util.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/ota/ota_backend.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/ota/ota_backend_esp8266.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/ota/ota_bootloader_esp_idf.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/ota/ota_partitions_esp_idf.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/restart/button/restart_button.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/safe_mode/button/safe_mode_button.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/safe_mode/safe_mode.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/script/script.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/select/select.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/select/select_call.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/select/select_traits.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/sensor/automation.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/sensor/filter.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/sensor/sensor.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/sha256/sha256.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/sntp/sntp_component.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/socket/lwip_raw_tcp_impl.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/socket/socket.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/status/status_binary_sensor.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/switch/automation.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/switch/switch.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/template/binary_sensor/template_binary_sensor.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/template/select/template_select.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/template/sensor/template_sensor.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/template/switch/template_switch.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/template/text_sensor/template_text_sensor.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/text_sensor/filter.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/text_sensor/text_sensor.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/time/automation.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/time/posix_tz.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/time/real_time_clock.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/uptime/sensor/uptime_seconds_sensor.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/uptime/sensor/uptime_timestamp_sensor.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/uptime/text_sensor/uptime_text_sensor.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/version/version_text_sensor.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/web_server/ota/ota_web_server.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/web_server_base/web_server_base.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/wifi/wifi_component.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/wifi/wifi_component_esp8266.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/wifi_info/wifi_info_text_sensor.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/components/wifi_signal/wifi_signal_sensor.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/core/alloc_helpers.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/core/application.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/core/build_info_data.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/core/color.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/core/component.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/core/component_iterator.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/core/controller_registry.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/core/entity_base.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/core/gpio.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/core/helpers.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/core/log.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/core/scheduler.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/core/time.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/core/time_64.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/core/util.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/esphome/core/wake/wake_esp8266.cpp.o\", \".pioenvs/esp-downstbathtowelrail/src/main.cpp.o\"])\n", - "\u001b[0mESPHome: Removing _scanf_float (saves ~8KB flash)\n", - "\u001b[0mLinking .pioenvs/esp-downstbathtowelrail/firmware.elf\n", - "\u001b[0mRAM: [===== ] 52.4% (used 42952 bytes from 81920 bytes)\n", - "Flash: [===== ] 50.4% (used 515715 bytes from 1023984 bytes)\n", - "Building .pioenvs/esp-downstbathtowelrail/firmware.bin\n", - "\u001b[0mesp8266_copy_factory_bin([\".pioenvs/esp-downstbathtowelrail/firmware.bin\"], [\".pioenvs/esp-downstbathtowelrail/firmware.elf\"])\n", - "\u001b[0mesp8266_copy_ota_bin([\".pioenvs/esp-downstbathtowelrail/firmware.bin\"], [\".pioenvs/esp-downstbathtowelrail/firmware.elf\"])\n", - "\u001b[0m======================== [\u001b[32m\u001b[1mSUCCESS\u001b[0m] Took 196.48 seconds ========================\u001b[0m\n", - "\\033[32mINFO Build Info: config_hash=0xe4e8e17e build_time_str=2026-05-24 20:16:20 +1200\\033[0m\n", - "\\033[32mINFO Successfully compiled program.\\033[0m\n", - "\\033[32mINFO Connecting to 172.31.10.16 port 8266...\\033[0m\n", - "\\033[32mINFO Connected to 172.31.10.16\\033[0m\n", - "\\033[32mINFO Uploading /data/build/esp-downstbathtowelrail/.pioenvs/esp-downstbathtowelrail/firmware.bin (519872 bytes)\\033[0m\n", - "\\033[32mINFO Compressed to 365057 bytes\\033[0m\n", - "Uploading: [============================================================] 100% Done...\r\n", - "\n", - "\\033[32mINFO Upload took 13.90 seconds, waiting for result...\\033[0m\n", - "\\033[32mINFO OTA successful\\033[0m\n", - "\\033[32mINFO Successfully uploaded program.\\033[0m\n" - ], "error": null, "port": "OTA", "new_name": "", + "depends_on": "", "progress": 100, "remote_peer": "", "remote_job_id": "", @@ -13356,398 +907,810 @@ "source_esphome_version": "" }, { - "job_id": "42ef73b6424f", + "job_id": "d5e36440263a", + "configuration": "esp-breakfastbarleds.yaml", + "job_type": "install", + "status": "completed", + "created_at": "2026-06-01T04:19:41.402992+00:00", + "started_at": "2026-06-01T07:23:55.881866+00:00", + "completed_at": "2026-06-01T07:26:27.631594+00:00", + "exit_code": 0, + "error": null, + "port": "OTA", + "new_name": "", + "depends_on": "", + "progress": 100, + "remote_peer": "", + "remote_job_id": "", + "remote_peer_label": "", + "device_name": "", + "device_friendly_name": "", + "source": "local", + "source_pin_sha256": "", + "source_label": "", + "source_esphome_version": "" + }, + { + "job_id": "ec29ee60dd79", + "configuration": "esp-bedrm3lights.yaml", + "job_type": "install", + "status": "failed", + "created_at": "2026-06-01T04:19:41.398433+00:00", + "started_at": "2026-06-01T07:21:37.141074+00:00", + "completed_at": "2026-06-01T07:23:55.875367+00:00", + "exit_code": 1, + "error": null, + "port": "OTA", + "new_name": "", + "depends_on": "", + "progress": null, + "remote_peer": "", + "remote_job_id": "", + "remote_peer_label": "", + "device_name": "", + "device_friendly_name": "", + "source": "local", + "source_pin_sha256": "", + "source_label": "", + "source_esphome_version": "" + }, + { + "job_id": "63daa7565ece", + "configuration": "esp-bedrm2ceilingfan.yaml", + "job_type": "install", + "status": "completed", + "created_at": "2026-06-01T04:19:41.395840+00:00", + "started_at": "2026-06-01T07:18:54.167927+00:00", + "completed_at": "2026-06-01T07:21:37.135975+00:00", + "exit_code": 0, + "error": null, + "port": "OTA", + "new_name": "", + "depends_on": "", + "progress": 100, + "remote_peer": "", + "remote_job_id": "", + "remote_peer_label": "", + "device_name": "", + "device_friendly_name": "", + "source": "local", + "source_pin_sha256": "", + "source_label": "", + "source_esphome_version": "" + }, + { + "job_id": "8710d7279d9b", + "configuration": "esp-bedrm1airfilter.yaml", + "job_type": "install", + "status": "completed", + "created_at": "2026-06-01T04:19:41.393392+00:00", + "started_at": "2026-06-01T07:16:23.704106+00:00", + "completed_at": "2026-06-01T07:18:54.161630+00:00", + "exit_code": 0, + "error": null, + "port": "OTA", + "new_name": "", + "depends_on": "", + "progress": 100, + "remote_peer": "", + "remote_job_id": "", + "remote_peer_label": "", + "device_name": "", + "device_friendly_name": "", + "source": "local", + "source_pin_sha256": "", + "source_label": "", + "source_esphome_version": "" + }, + { + "job_id": "41dade37ff9e", + "configuration": "esp-attobattery.yaml", + "job_type": "install", + "status": "failed", + "created_at": "2026-06-01T04:19:41.386769+00:00", + "started_at": "2026-06-01T07:13:48.541824+00:00", + "completed_at": "2026-06-01T07:16:23.699593+00:00", + "exit_code": 1, + "error": null, + "port": "OTA", + "new_name": "", + "depends_on": "", + "progress": null, + "remote_peer": "", + "remote_job_id": "", + "remote_peer_label": "", + "device_name": "", + "device_friendly_name": "", + "source": "local", + "source_pin_sha256": "", + "source_label": "", + "source_esphome_version": "" + }, + { + "job_id": "c5670718a679", + "configuration": "esp-bedrm3ceilingfan.yaml", + "job_type": "install", + "status": "completed", + "created_at": "2026-06-01T04:19:41.383986+00:00", + "started_at": "2026-06-01T07:11:02.907847+00:00", + "completed_at": "2026-06-01T07:13:48.507785+00:00", + "exit_code": 0, + "error": null, + "port": "OTA", + "new_name": "", + "depends_on": "", + "progress": 100, + "remote_peer": "", + "remote_job_id": "", + "remote_peer_label": "", + "device_name": "", + "device_friendly_name": "", + "source": "local", + "source_pin_sha256": "", + "source_label": "", + "source_esphome_version": "" + }, + { + "job_id": "d966329dcc80", + "configuration": "esp-lounge6chdimmer.yaml", + "job_type": "install", + "status": "completed", + "created_at": "2026-06-01T04:19:41.375097+00:00", + "started_at": "2026-06-01T07:08:23.389553+00:00", + "completed_at": "2026-06-01T07:11:02.891633+00:00", + "exit_code": 0, + "error": null, + "port": "OTA", + "new_name": "", + "depends_on": "", + "progress": 100, + "remote_peer": "", + "remote_job_id": "", + "remote_peer_label": "", + "device_name": "", + "device_friendly_name": "", + "source": "local", + "source_pin_sha256": "", + "source_label": "", + "source_esphome_version": "" + }, + { + "job_id": "a5daff23ff71", + "configuration": "esp-3dprinterpow.yaml", + "job_type": "install", + "status": "completed", + "created_at": "2026-06-01T04:19:41.372468+00:00", + "started_at": "2026-06-01T07:05:37.057632+00:00", + "completed_at": "2026-06-01T07:08:23.383298+00:00", + "exit_code": 0, + "error": null, + "port": "OTA", + "new_name": "", + "depends_on": "", + "progress": 100, + "remote_peer": "", + "remote_job_id": "", + "remote_peer_label": "", + "device_name": "", + "device_friendly_name": "", + "source": "local", + "source_pin_sha256": "", + "source_label": "", + "source_esphome_version": "" + }, + { + "job_id": "ee2810a84787", + "configuration": "esp-masterbathtowelrail.yaml", + "job_type": "install", + "status": "completed", + "created_at": "2026-06-01T04:19:41.368857+00:00", + "started_at": "2026-06-01T07:03:07.909454+00:00", + "completed_at": "2026-06-01T07:05:37.052138+00:00", + "exit_code": 0, + "error": null, + "port": "OTA", + "new_name": "", + "depends_on": "", + "progress": 100, + "remote_peer": "", + "remote_job_id": "", + "remote_peer_label": "", + "device_name": "", + "device_friendly_name": "", + "source": "local", + "source_pin_sha256": "", + "source_label": "", + "source_esphome_version": "" + }, + { + "job_id": "6abfa3374f55", + "configuration": "esp-weatherstation.yaml", + "job_type": "install", + "status": "failed", + "created_at": "2026-06-01T04:19:41.360994+00:00", + "started_at": "2026-06-01T07:01:57.079055+00:00", + "completed_at": "2026-06-01T07:03:07.905749+00:00", + "exit_code": 1, + "error": null, + "port": "OTA", + "new_name": "", + "depends_on": "", + "progress": null, + "remote_peer": "", + "remote_job_id": "", + "remote_peer_label": "", + "device_name": "", + "device_friendly_name": "", + "source": "local", + "source_pin_sha256": "", + "source_label": "", + "source_esphome_version": "" + }, + { + "job_id": "0eb6aa1b52c0", + "configuration": "esp-mainkitchenlights.yaml", + "job_type": "install", + "status": "completed", + "created_at": "2026-06-01T04:19:41.355990+00:00", + "started_at": "2026-06-01T06:59:33.114291+00:00", + "completed_at": "2026-06-01T07:01:57.073945+00:00", + "exit_code": 0, + "error": null, + "port": "OTA", + "new_name": "", + "depends_on": "", + "progress": 100, + "remote_peer": "", + "remote_job_id": "", + "remote_peer_label": "", + "device_name": "", + "device_friendly_name": "", + "source": "local", + "source_pin_sha256": "", + "source_label": "", + "source_esphome_version": "" + }, + { + "job_id": "cda0a2c7d6c2", + "configuration": "esp-mainpowermonitor.yaml", + "job_type": "install", + "status": "completed", + "created_at": "2026-06-01T04:19:41.351382+00:00", + "started_at": "2026-06-01T06:57:03.395869+00:00", + "completed_at": "2026-06-01T06:59:33.102439+00:00", + "exit_code": 0, + "error": null, + "port": "OTA", + "new_name": "", + "depends_on": "", + "progress": 100, + "remote_peer": "", + "remote_job_id": "", + "remote_peer_label": "", + "device_name": "", + "device_friendly_name": "", + "source": "local", + "source_pin_sha256": "", + "source_label": "", + "source_esphome_version": "" + }, + { + "job_id": "7ad86a25c5ec", + "configuration": "esp-mainhallwaynorthlightswitch.yaml", + "job_type": "install", + "status": "completed", + "created_at": "2026-06-01T04:19:41.344971+00:00", + "started_at": "2026-06-01T06:54:42.436787+00:00", + "completed_at": "2026-06-01T06:57:03.347772+00:00", + "exit_code": 0, + "error": null, + "port": "OTA", + "new_name": "", + "depends_on": "", + "progress": 100, + "remote_peer": "", + "remote_job_id": "", + "remote_peer_label": "", + "device_name": "", + "device_friendly_name": "", + "source": "local", + "source_pin_sha256": "", + "source_label": "", + "source_esphome_version": "" + }, + { + "job_id": "ecd7a128260f", + "configuration": "esp-mainhallwaynightlights.yaml", + "job_type": "install", + "status": "completed", + "created_at": "2026-06-01T04:19:41.341990+00:00", + "started_at": "2026-06-01T06:51:32.428274+00:00", + "completed_at": "2026-06-01T06:54:42.347776+00:00", + "exit_code": 0, + "error": null, + "port": "OTA", + "new_name": "", + "depends_on": "", + "progress": 100, + "remote_peer": "", + "remote_job_id": "", + "remote_peer_label": "", + "device_name": "", + "device_friendly_name": "", + "source": "local", + "source_pin_sha256": "", + "source_label": "", + "source_esphome_version": "" + }, + { + "job_id": "b3d9dc3860bd", + "configuration": "esp-mainhallwaymainlights.yaml", + "job_type": "install", + "status": "completed", + "created_at": "2026-06-01T04:19:41.336451+00:00", + "started_at": "2026-06-01T06:49:09.394408+00:00", + "completed_at": "2026-06-01T06:51:32.423796+00:00", + "exit_code": 0, + "error": null, + "port": "OTA", + "new_name": "", + "depends_on": "", + "progress": 100, + "remote_peer": "", + "remote_job_id": "", + "remote_peer_label": "", + "device_name": "", + "device_friendly_name": "", + "source": "local", + "source_pin_sha256": "", + "source_label": "", + "source_esphome_version": "" + }, + { + "job_id": "1ad119398728", + "configuration": "esp-entrancelightswitch.yaml", + "job_type": "install", + "status": "completed", + "created_at": "2026-06-01T04:19:41.331503+00:00", + "started_at": "2026-06-01T06:46:37.014368+00:00", + "completed_at": "2026-06-01T06:49:09.380081+00:00", + "exit_code": 0, + "error": null, + "port": "OTA", + "new_name": "", + "depends_on": "", + "progress": 100, + "remote_peer": "", + "remote_job_id": "", + "remote_peer_label": "", + "device_name": "", + "device_friendly_name": "", + "source": "local", + "source_pin_sha256": "", + "source_label": "", + "source_esphome_version": "" + }, + { + "job_id": "3188938a371d", + "configuration": "esp-maindishwasherpower.yaml", + "job_type": "install", + "status": "completed", + "created_at": "2026-06-01T04:19:41.323982+00:00", + "started_at": "2026-06-01T06:39:28.089290+00:00", + "completed_at": "2026-06-01T06:46:37.007922+00:00", + "exit_code": 0, + "error": null, + "port": "OTA", + "new_name": "", + "depends_on": "", + "progress": 100, + "remote_peer": "", + "remote_job_id": "", + "remote_peer_label": "", + "device_name": "", + "device_friendly_name": "", + "source": "local", + "source_pin_sha256": "", + "source_label": "", + "source_esphome_version": "" + }, + { + "job_id": "e3336c69c748", + "configuration": "esp-mainbathroomlights.yaml", + "job_type": "install", + "status": "completed", + "created_at": "2026-06-01T04:19:41.320954+00:00", + "started_at": "2026-06-01T06:35:10.468057+00:00", + "completed_at": "2026-06-01T06:39:28.082733+00:00", + "exit_code": 0, + "error": null, + "port": "OTA", + "new_name": "", + "depends_on": "", + "progress": 100, + "remote_peer": "", + "remote_job_id": "", + "remote_peer_label": "", + "device_name": "", + "device_friendly_name": "", + "source": "local", + "source_pin_sha256": "", + "source_label": "", + "source_esphome_version": "" + }, + { + "job_id": "28f417ca8773", + "configuration": "esp-mainbathfancombo.yaml", + "job_type": "install", + "status": "completed", + "created_at": "2026-06-01T04:19:41.317589+00:00", + "started_at": "2026-06-01T06:32:47.871855+00:00", + "completed_at": "2026-06-01T06:35:10.425499+00:00", + "exit_code": 0, + "error": null, + "port": "OTA", + "new_name": "", + "depends_on": "", + "progress": 100, + "remote_peer": "", + "remote_job_id": "", + "remote_peer_label": "", + "device_name": "", + "device_friendly_name": "", + "source": "local", + "source_pin_sha256": "", + "source_label": "", + "source_esphome_version": "" + }, + { + "job_id": "7d6aa3700c5a", + "configuration": "esp-loungewestswitch.yaml", + "job_type": "install", + "status": "completed", + "created_at": "2026-06-01T04:19:41.314985+00:00", + "started_at": "2026-06-01T06:30:21.382837+00:00", + "completed_at": "2026-06-01T06:32:47.832193+00:00", + "exit_code": 0, + "error": null, + "port": "OTA", + "new_name": "", + "depends_on": "", + "progress": 100, + "remote_peer": "", + "remote_job_id": "", + "remote_peer_label": "", + "device_name": "", + "device_friendly_name": "", + "source": "local", + "source_pin_sha256": "", + "source_label": "", + "source_esphome_version": "" + }, + { + "job_id": "09e51ad51881", + "configuration": "esp-loungesouthrightswitch.yaml", + "job_type": "install", + "status": "completed", + "created_at": "2026-06-01T04:19:41.308913+00:00", + "started_at": "2026-06-01T06:28:01.575603+00:00", + "completed_at": "2026-06-01T06:30:21.375996+00:00", + "exit_code": 0, + "error": null, + "port": "OTA", + "new_name": "", + "depends_on": "", + "progress": 100, + "remote_peer": "", + "remote_job_id": "", + "remote_peer_label": "", + "device_name": "", + "device_friendly_name": "", + "source": "local", + "source_pin_sha256": "", + "source_label": "", + "source_esphome_version": "" + }, + { + "job_id": "3b3640dc6cfc", + "configuration": "esp-loungesouthleftswitch.yaml", + "job_type": "install", + "status": "completed", + "created_at": "2026-06-01T04:19:41.303567+00:00", + "started_at": "2026-06-01T06:25:26.577307+00:00", + "completed_at": "2026-06-01T06:28:01.468360+00:00", + "exit_code": 0, + "error": null, + "port": "OTA", + "new_name": "", + "depends_on": "", + "progress": 100, + "remote_peer": "", + "remote_job_id": "", + "remote_peer_label": "", + "device_name": "", + "device_friendly_name": "", + "source": "local", + "source_pin_sha256": "", + "source_label": "", + "source_esphome_version": "" + }, + { + "job_id": "99a17e9ab129", + "configuration": "esp-nspanel2lounge.yaml", + "job_type": "install", + "status": "completed", + "created_at": "2026-06-01T04:19:41.300486+00:00", + "started_at": "2026-06-01T06:20:26.930884+00:00", + "completed_at": "2026-06-01T06:25:26.569055+00:00", + "exit_code": 0, + "error": null, + "port": "OTA", + "new_name": "", + "depends_on": "", + "progress": 100, + "remote_peer": "", + "remote_job_id": "", + "remote_peer_label": "", + "device_name": "", + "device_friendly_name": "", + "source": "local", + "source_pin_sha256": "", + "source_label": "", + "source_esphome_version": "" + }, + { + "job_id": "af5e15644d36", + "configuration": "esp-laundrylights.yaml", + "job_type": "install", + "status": "completed", + "created_at": "2026-06-01T04:19:41.289971+00:00", + "started_at": "2026-06-01T06:13:22.397593+00:00", + "completed_at": "2026-06-01T06:15:42.312385+00:00", + "exit_code": 0, + "error": null, + "port": "OTA", + "new_name": "", + "depends_on": "", + "progress": 100, + "remote_peer": "", + "remote_job_id": "", + "remote_peer_label": "", + "device_name": "", + "device_friendly_name": "", + "source": "local", + "source_pin_sha256": "", + "source_label": "", + "source_esphome_version": "" + }, + { + "job_id": "4c41a70b1788", + "configuration": "esp-laundryenv.yaml", + "job_type": "install", + "status": "completed", + "created_at": "2026-06-01T04:19:41.287773+00:00", + "started_at": "2026-06-01T06:11:03.333994+00:00", + "completed_at": "2026-06-01T06:13:22.392347+00:00", + "exit_code": 0, + "error": null, + "port": "OTA", + "new_name": "", + "depends_on": "", + "progress": 100, + "remote_peer": "", + "remote_job_id": "", + "remote_peer_label": "", + "device_name": "", + "device_friendly_name": "", + "source": "local", + "source_pin_sha256": "", + "source_label": "", + "source_esphome_version": "" + }, + { + "job_id": "3eff66dc7505", + "configuration": "esp-laundrydrypow.yaml", + "job_type": "install", + "status": "completed", + "created_at": "2026-06-01T04:19:41.285392+00:00", + "started_at": "2026-06-01T06:08:28.542523+00:00", + "completed_at": "2026-06-01T06:11:03.330174+00:00", + "exit_code": 0, + "error": null, + "port": "OTA", + "new_name": "", + "depends_on": "", + "progress": 100, + "remote_peer": "", + "remote_job_id": "", + "remote_peer_label": "", + "device_name": "", + "device_friendly_name": "", + "source": "local", + "source_pin_sha256": "", + "source_label": "", + "source_esphome_version": "" + }, + { + "job_id": "86d463083b20", + "configuration": "esp-laundryplugpow.yaml", + "job_type": "install", + "status": "completed", + "created_at": "2026-06-01T04:19:41.282947+00:00", + "started_at": "2026-06-01T06:05:56.626658+00:00", + "completed_at": "2026-06-01T06:08:28.537601+00:00", + "exit_code": 0, + "error": null, + "port": "OTA", + "new_name": "", + "depends_on": "", + "progress": 100, + "remote_peer": "", + "remote_job_id": "", + "remote_peer_label": "", + "device_name": "", + "device_friendly_name": "", + "source": "local", + "source_pin_sha256": "", + "source_label": "", + "source_esphome_version": "" + }, + { + "job_id": "e6572e3a476a", + "configuration": "esp-garagelights.yaml", + "job_type": "install", + "status": "completed", + "created_at": "2026-06-01T04:19:41.280497+00:00", + "started_at": "2026-06-01T06:03:31.695984+00:00", + "completed_at": "2026-06-01T06:05:56.620777+00:00", + "exit_code": 0, + "error": null, + "port": "OTA", + "new_name": "", + "depends_on": "", + "progress": 100, + "remote_peer": "", + "remote_job_id": "", + "remote_peer_label": "", + "device_name": "", + "device_friendly_name": "", + "source": "local", + "source_pin_sha256": "", + "source_label": "", + "source_esphome_version": "" + }, + { + "job_id": "28fc0643b0e5", + "configuration": "esp-garageextcornerlight.yaml", + "job_type": "install", + "status": "completed", + "created_at": "2026-06-01T04:19:41.278648+00:00", + "started_at": "2026-06-01T06:01:06.374080+00:00", + "completed_at": "2026-06-01T06:03:31.690656+00:00", + "exit_code": 0, + "error": null, + "port": "OTA", + "new_name": "", + "depends_on": "", + "progress": 100, + "remote_peer": "", + "remote_job_id": "", + "remote_peer_label": "", + "device_name": "", + "device_friendly_name": "", + "source": "local", + "source_pin_sha256": "", + "source_label": "", + "source_esphome_version": "" + }, + { + "job_id": "73f7b65cdd7f", + "configuration": "esp-garagedbcontrols.yaml", + "job_type": "install", + "status": "completed", + "created_at": "2026-06-01T04:19:41.276252+00:00", + "started_at": "2026-06-01T05:58:33.131479+00:00", + "completed_at": "2026-06-01T06:01:06.229215+00:00", + "exit_code": 0, + "error": null, + "port": "OTA", + "new_name": "", + "depends_on": "", + "progress": 100, + "remote_peer": "", + "remote_job_id": "", + "remote_peer_label": "", + "device_name": "", + "device_friendly_name": "", + "source": "local", + "source_pin_sha256": "", + "source_label": "", + "source_esphome_version": "" + }, + { + "job_id": "b177505bfa87", + "configuration": "esp-entranceoutsideledlights.yaml", + "job_type": "install", + "status": "completed", + "created_at": "2026-06-01T04:19:41.273838+00:00", + "started_at": "2026-06-01T05:55:50.543587+00:00", + "completed_at": "2026-06-01T05:58:33.115040+00:00", + "exit_code": 0, + "error": null, + "port": "OTA", + "new_name": "", + "depends_on": "", + "progress": 100, + "remote_peer": "", + "remote_job_id": "", + "remote_peer_label": "", + "device_name": "", + "device_friendly_name": "", + "source": "local", + "source_pin_sha256": "", + "source_label": "", + "source_esphome_version": "" + }, + { + "job_id": "f6cd32e7d905", + "configuration": "esp-flysprayer1.yaml", + "job_type": "install", + "status": "completed", + "created_at": "2026-06-01T04:19:41.268127+00:00", + "started_at": "2026-06-01T05:53:06.428517+00:00", + "completed_at": "2026-06-01T05:55:50.526619+00:00", + "exit_code": 0, + "error": null, + "port": "OTA", + "new_name": "", + "depends_on": "", + "progress": 100, + "remote_peer": "", + "remote_job_id": "", + "remote_peer_label": "", + "device_name": "", + "device_friendly_name": "", + "source": "local", + "source_pin_sha256": "", + "source_label": "", + "source_esphome_version": "" + }, + { + "job_id": "5bf3a0415eca", + "configuration": "esp-entrancebathrmlights.yaml", + "job_type": "install", + "status": "completed", + "created_at": "2026-06-01T04:19:41.265940+00:00", + "started_at": "2026-06-01T05:50:47.184842+00:00", + "completed_at": "2026-06-01T05:53:06.423671+00:00", + "exit_code": 0, + "error": null, + "port": "OTA", + "new_name": "", + "depends_on": "", + "progress": 100, + "remote_peer": "", + "remote_job_id": "", + "remote_peer_label": "", + "device_name": "", + "device_friendly_name": "", + "source": "local", + "source_pin_sha256": "", + "source_label": "", + "source_esphome_version": "" + }, + { + "job_id": "339d6dfe81fd", "configuration": "esp-downstmasterbedrmlights.yaml", "job_type": "install", "status": "completed", - "created_at": "2026-05-24T07:54:48.623667+00:00", - "started_at": "2026-05-24T08:12:48.614560+00:00", - "completed_at": "2026-05-24T08:16:18.768863+00:00", + "created_at": "2026-06-01T04:19:41.264201+00:00", + "started_at": "2026-06-01T05:48:19.072246+00:00", + "completed_at": "2026-06-01T05:50:47.180106+00:00", "exit_code": 0, - "output": [ - "\\033[32mINFO ESPHome 2026.5.0\\033[0m\n", - "\\033[32mINFO Reading configuration /config/esphome/esp-downstmasterbedrmlights.yaml...\\033[0m\n", - "\\033[32mINFO Generating C++ source...\\033[0m\n", - "\\033[32mINFO Compiling app... Build path: /data/build/esp-downstmasterbedrmlights\\033[0m\n", - "Processing \u001b[36m\u001b[1mesp-downstmasterbedrmlights\u001b[0m (board: esp01_1m; framework: arduino; platform: platformio/espressif8266@4.2.1)\n", - "\u001b[1m--------------------------------------------------------------------------------\u001b[0m\n", - "\u001b[0mHARDWARE: ESP8266 80MHz, 80KB RAM, 1MB Flash\n", - "\u001b[0mESPHome: Excluding Updater.cpp from build (using native OTA backend)\n", - "\u001b[0mESPHome: Excluding core_esp8266_waveform_phase.cpp from build (waveform not required)\n", - "\u001b[0mESPHome: Excluding core_esp8266_waveform_pwm.cpp from build (waveform not required)\n", - "\u001b[0mDependency Graph\n", - "\u001b[0m|-- ESPAsyncTCP @ 2.0.0\n", - "\u001b[0m|-- ESP8266WiFi @ 1.0\n", - "\u001b[0m|-- ESPAsyncWebServer @ 3.9.6\n", - "\u001b[0m|-- DNSServer @ 1.1.1\n", - "\u001b[0m|-- ESP8266mDNS @ 1.2\n", - "\u001b[0m|-- noise-c @ 0.1.11\n", - "\u001b[0m|-- AsyncMqttClient-esphome @ 2.0.0\n", - "\u001b[0m|-- ArduinoJson @ 7.4.2\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/api/api_buffer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/api/api_connection.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/api/api_frame_helper.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/api/api_frame_helper_noise.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/api/api_overflow_buffer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/api/api_pb2.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/api/api_pb2_service.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/api/api_server.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/api/list_entities.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/api/proto.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/api/subscribe_state.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/binary_sensor/automation.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/binary_sensor/binary_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/binary_sensor/filter.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/button/button.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/captive_portal/captive_portal.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/copy/sensor/copy_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/debug/debug_component.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/debug/debug_esp8266.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/esp8266/core.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/esp8266/crash_handler.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/esp8266/gpio.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/esp8266/hal.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/esp8266/helpers.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/esp8266/preferences.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/esp8266/printf_stubs.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/esp8266/waveform_stubs.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/esphome/ota/ota_esphome.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/factory_reset/button/factory_reset_button.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/gpio/binary_sensor/gpio_binary_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/gpio/switch/gpio_switch.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/json/json_util.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/logger/logger.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/logger/logger_esp8266.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/md5/md5.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/mdns/mdns_component.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/mdns/mdns_esp8266.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/mqtt/custom_mqtt_device.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/mqtt/mqtt_alarm_control_panel.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/mqtt/mqtt_binary_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/mqtt/mqtt_button.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/mqtt/mqtt_client.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/mqtt/mqtt_climate.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/mqtt/mqtt_component.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/mqtt/mqtt_cover.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/mqtt/mqtt_date.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/mqtt/mqtt_datetime.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/mqtt/mqtt_event.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/mqtt/mqtt_fan.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/mqtt/mqtt_light.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/mqtt/mqtt_lock.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/mqtt/mqtt_number.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/mqtt/mqtt_select.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/mqtt/mqtt_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/mqtt/mqtt_switch.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/mqtt/mqtt_text.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/mqtt/mqtt_text_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/mqtt/mqtt_time.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/mqtt/mqtt_update.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/mqtt/mqtt_valve.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/network/util.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/ota/ota_backend.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/ota/ota_backend_esp8266.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/ota/ota_bootloader_esp_idf.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/ota/ota_partitions_esp_idf.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/restart/button/restart_button.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/safe_mode/button/safe_mode_button.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/safe_mode/safe_mode.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/sensor/automation.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/sensor/filter.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/sensor/sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/sha256/sha256.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/sntp/sntp_component.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/socket/lwip_raw_tcp_impl.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/socket/socket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/status/status_binary_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/status_led/status_led.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/switch/automation.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/switch/switch.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/template/sensor/template_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/template/text_sensor/template_text_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/text_sensor/filter.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/text_sensor/text_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/time/automation.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/time/posix_tz.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/time/real_time_clock.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/uptime/sensor/uptime_seconds_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/uptime/sensor/uptime_timestamp_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/uptime/text_sensor/uptime_text_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/version/version_text_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/web_server/ota/ota_web_server.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/web_server_base/web_server_base.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/wifi/wifi_component.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/wifi/wifi_component_esp8266.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/wifi_info/wifi_info_text_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/components/wifi_signal/wifi_signal_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/core/alloc_helpers.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/core/application.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/core/build_info_data.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/core/color.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/core/component.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/core/component_iterator.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/core/controller_registry.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/core/entity_base.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/core/gpio.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/core/helpers.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/core/log.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/core/scheduler.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/core/time.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/core/time_64.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/core/util.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/esphome/core/wake/wake_esp8266.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/src/main.cpp.o\n", - "\u001b[0mGenerating LD script .pioenvs/esp-downstmasterbedrmlights/ld/local.eagle.app.v6.common.ld\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib0b0/ESPAsyncTCP/AsyncPrinter.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib0b0/ESPAsyncTCP/ESPAsyncTCP.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib0b0/ESPAsyncTCP/ESPAsyncTCPbuffer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib0b0/ESPAsyncTCP/SyncClient.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib0b0/ESPAsyncTCP/tcp_axtls.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib67b/ESP8266WiFi/BearSSLHelpers.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib67b/ESP8266WiFi/CertStoreBearSSL.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib67b/ESP8266WiFi/ESP8266WiFi.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-downstmasterbedrmlights/lib0b0/libESPAsyncTCP.a\n", - "\u001b[0mIndexing .pioenvs/esp-downstmasterbedrmlights/lib0b0/libESPAsyncTCP.a\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib67b/ESP8266WiFi/ESP8266WiFiAP.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib67b/ESP8266WiFi/ESP8266WiFiGeneric.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib67b/ESP8266WiFi/ESP8266WiFiGratuitous.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib67b/ESP8266WiFi/ESP8266WiFiMulti.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib67b/ESP8266WiFi/ESP8266WiFiSTA-WPS.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib67b/ESP8266WiFi/ESP8266WiFiSTA.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib67b/ESP8266WiFi/ESP8266WiFiScan.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib67b/ESP8266WiFi/WiFiClient.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib67b/ESP8266WiFi/WiFiClientSecureBearSSL.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib67b/ESP8266WiFi/WiFiServer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib67b/ESP8266WiFi/WiFiServerSecureBearSSL.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib67b/ESP8266WiFi/WiFiUdp.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib67b/ESP8266WiFi/enable_wifi_at_boot_time.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/libaf0/Hash/Hash.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/libd3b/ESPAsyncWebServer/AsyncEventSource.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/libd3b/ESPAsyncWebServer/AsyncJson.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-downstmasterbedrmlights/libaf0/libHash.a\n", - "\u001b[0mIndexing .pioenvs/esp-downstmasterbedrmlights/libaf0/libHash.a\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/libd3b/ESPAsyncWebServer/AsyncWebHeader.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-downstmasterbedrmlights/lib67b/libESP8266WiFi.a\n", - "\u001b[0mIndexing .pioenvs/esp-downstmasterbedrmlights/lib67b/libESP8266WiFi.a\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/libd3b/ESPAsyncWebServer/AsyncWebServerRequest.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/libd3b/ESPAsyncWebServer/AsyncWebSocket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/libd3b/ESPAsyncWebServer/BackPort_SHA1Builder.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/libd3b/ESPAsyncWebServer/ChunkPrint.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/libd3b/ESPAsyncWebServer/Middleware.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/libd3b/ESPAsyncWebServer/WebAuthentication.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/libd3b/ESPAsyncWebServer/WebHandlers.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/libd3b/ESPAsyncWebServer/WebRequest.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/libd3b/ESPAsyncWebServer/WebResponses.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/libd3b/ESPAsyncWebServer/WebServer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/libecb/DNSServer/DNSServer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib3ff/ESP8266mDNS/ESP8266mDNS.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib3ff/ESP8266mDNS/LEAmDNS.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-downstmasterbedrmlights/libd3b/libESPAsyncWebServer.a\n", - "\u001b[0mIndexing .pioenvs/esp-downstmasterbedrmlights/libd3b/libESPAsyncWebServer.a\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib3ff/ESP8266mDNS/LEAmDNS_Control.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-downstmasterbedrmlights/libecb/libDNSServer.a\n", - "\u001b[0mIndexing .pioenvs/esp-downstmasterbedrmlights/libecb/libDNSServer.a\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib3ff/ESP8266mDNS/LEAmDNS_Helpers.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib3ff/ESP8266mDNS/LEAmDNS_Structs.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib3ff/ESP8266mDNS/LEAmDNS_Transfer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib921/libsodium/crypto_aead/chacha20poly1305/aead_chacha20poly1305.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib921/libsodium/crypto_core/ed25519/ref10/ed25519_ref10.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib921/libsodium/crypto_core/salsa/ref/core_salsa_ref.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib921/libsodium/crypto_hash/crypto_hash.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib921/libsodium/crypto_hash/sha256/cp/hash_sha256_cp.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib921/libsodium/crypto_hash/sha256/hash_sha256.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib921/libsodium/crypto_onetimeauth/crypto_onetimeauth.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib921/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib921/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib921/libsodium/crypto_scalarmult/crypto_scalarmult.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib921/libsodium/crypto_scalarmult/curve25519/ref10/x25519_ref10.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib921/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib921/libsodium/crypto_stream/chacha20/ref/chacha20_ref.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib921/libsodium/crypto_stream/chacha20/stream_chacha20.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-downstmasterbedrmlights/lib3ff/libESP8266mDNS.a\n", - "\u001b[0mIndexing .pioenvs/esp-downstmasterbedrmlights/lib3ff/libESP8266mDNS.a\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib921/libsodium/crypto_stream/crypto_stream.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib921/libsodium/crypto_stream/salsa20/ref/salsa20_ref.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib921/libsodium/crypto_stream/salsa20/stream_salsa20.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib921/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6-asm.S.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib921/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib921/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-avx2.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib921/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-sse2.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib921/libsodium/crypto_verify/verify.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib921/libsodium/randombytes/internal/randombytes_internal_random.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib921/libsodium/randombytes/randombytes.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib921/libsodium/randombytes/sysrandom/randombytes_sysrandom.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib921/libsodium/sodium/codecs.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib921/libsodium/sodium/core.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib921/libsodium/sodium/runtime.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib921/libsodium/sodium/utils.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib05c/noise-c/backend/openssl/cipher-aesgcm.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib05c/noise-c/backend/ref/cipher-aesgcm.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib05c/noise-c/backend/ref/cipher-chachapoly.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib05c/noise-c/backend/ref/dh-curve25519.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib05c/noise-c/backend/ref/hash-blake2b.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib05c/noise-c/backend/ref/hash-blake2s.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib05c/noise-c/backend/ref/hash-sha256.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib05c/noise-c/backend/sodium/cipher-aesgcm.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib05c/noise-c/backend/sodium/cipher-chachapoly.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib05c/noise-c/backend/sodium/dh-curve25519.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib05c/noise-c/backend/sodium/hash-blake2b.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib05c/noise-c/backend/sodium/hash-sha256.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib05c/noise-c/crypto/aes/rijndael-alg-fst.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib05c/noise-c/crypto/blake2/blake2b.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib05c/noise-c/crypto/blake2/blake2s.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib05c/noise-c/crypto/chacha/chacha.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib05c/noise-c/crypto/donna/curve25519-donna-c64.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib05c/noise-c/crypto/donna/curve25519-donna.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib05c/noise-c/crypto/donna/poly1305-donna.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib05c/noise-c/crypto/sha2/sha256.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib05c/noise-c/crypto/sha2/sha512.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib05c/noise-c/crypto/x25519/x25519.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib05c/noise-c/protocol/cipherstate.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib05c/noise-c/protocol/dhstate.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib05c/noise-c/protocol/errors.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib05c/noise-c/protocol/handshakestate.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib05c/noise-c/protocol/hashstate.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib05c/noise-c/protocol/internal.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib05c/noise-c/protocol/names.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-downstmasterbedrmlights/lib921/libsodium.a\n", - "\u001b[0mIndexing .pioenvs/esp-downstmasterbedrmlights/lib921/libsodium.a\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib05c/noise-c/protocol/patterns.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib05c/noise-c/protocol/rand_os.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib05c/noise-c/protocol/rand_sodium.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib05c/noise-c/protocol/randstate.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib05c/noise-c/protocol/signstate.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib05c/noise-c/protocol/symmetricstate.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib05c/noise-c/protocol/util.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/libd06/ESPAsyncTCP-esphome/AsyncPrinter.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/libd06/ESPAsyncTCP-esphome/ESPAsyncTCP.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/libd06/ESPAsyncTCP-esphome/ESPAsyncTCPbuffer.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-downstmasterbedrmlights/lib05c/libnoise-c.a\n", - "\u001b[0mIndexing .pioenvs/esp-downstmasterbedrmlights/lib05c/libnoise-c.a\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/libd06/ESPAsyncTCP-esphome/SyncClient.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/libd06/ESPAsyncTCP-esphome/tcp_axtls.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib8ea/AsyncMqttClient-esphome/AsyncMqttClient.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib8ea/AsyncMqttClient-esphome/AsyncMqttClient/Packets/ConnAckPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib8ea/AsyncMqttClient-esphome/AsyncMqttClient/Packets/PingRespPacket.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-downstmasterbedrmlights/libd06/libESPAsyncTCP-esphome.a\n", - "\u001b[0mIndexing .pioenvs/esp-downstmasterbedrmlights/libd06/libESPAsyncTCP-esphome.a\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib8ea/AsyncMqttClient-esphome/AsyncMqttClient/Packets/PubAckPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib8ea/AsyncMqttClient-esphome/AsyncMqttClient/Packets/PubCompPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib8ea/AsyncMqttClient-esphome/AsyncMqttClient/Packets/PubRecPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib8ea/AsyncMqttClient-esphome/AsyncMqttClient/Packets/PubRelPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib8ea/AsyncMqttClient-esphome/AsyncMqttClient/Packets/PublishPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib8ea/AsyncMqttClient-esphome/AsyncMqttClient/Packets/SubAckPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/lib8ea/AsyncMqttClient-esphome/AsyncMqttClient/Packets/UnsubAckPacket.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-downstmasterbedrmlights/libFrameworkArduinoVariant.a\n", - "\u001b[0mIndexing .pioenvs/esp-downstmasterbedrmlights/libFrameworkArduinoVariant.a\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/Crypto.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/Esp-frag.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/Esp-version.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-downstmasterbedrmlights/lib8ea/libAsyncMqttClient-esphome.a\n", - "\u001b[0mIndexing .pioenvs/esp-downstmasterbedrmlights/lib8ea/libAsyncMqttClient-esphome.a\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/Esp.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/FS.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/FSnoop.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/FunctionalInterrupt.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/HardwareSerial.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/IPAddress.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/LwipDhcpServer-NonOS.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/LwipDhcpServer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/LwipIntf.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/LwipIntfCB.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/MD5Builder.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/Print.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/Schedule.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/StackThunk.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/Stream.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/StreamSend.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/Tone.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/TypeConversion.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/WMath.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/WString.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/abi.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/aes_unwrap.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/base64.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/cbuf.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/cont.S.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/cont_util.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/core_esp8266_app_entry_noextra4k.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/core_esp8266_eboot_command.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/core_esp8266_features.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/core_esp8266_flash_quirks.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/core_esp8266_flash_utils.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/core_esp8266_i2s.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/core_esp8266_main.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/core_esp8266_non32xfer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/core_esp8266_noniso.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/core_esp8266_phy.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/core_esp8266_postmortem.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/core_esp8266_si2c.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/core_esp8266_sigma_delta.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/core_esp8266_spi_utils.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/core_esp8266_timer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/core_esp8266_vm.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/core_esp8266_wiring.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/core_esp8266_wiring_analog.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/core_esp8266_wiring_digital.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/core_esp8266_wiring_pulse.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/core_esp8266_wiring_pwm.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/core_esp8266_wiring_shift.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/crc32.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/debug.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/exc-c-wrapper-handler.S.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/exc-sethandler.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/flash_hal.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/gdb_hooks.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/heap.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/hwdt_app_entry.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/libb64/cdecode.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/libb64/cencode.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/libc_replacements.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/mmu_iram.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/reboot_uart_dwnld.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/spiffs/spiffs_cache.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/spiffs/spiffs_check.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/spiffs/spiffs_gc.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/spiffs/spiffs_hydrogen.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/spiffs/spiffs_nucleus.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/spiffs_api.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/sqrt32.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/stdlib_noniso.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/time.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/uart.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/umm_malloc/umm_info.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/umm_malloc/umm_integrity.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/umm_malloc/umm_local.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/umm_malloc/umm_malloc.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/umm_malloc/umm_poison.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstmasterbedrmlights/FrameworkArduino/wpa2_eap_patch.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-downstmasterbedrmlights/libFrameworkArduino.a\n", - "\u001b[0mIndexing .pioenvs/esp-downstmasterbedrmlights/libFrameworkArduino.a\n", - "\u001b[0mremove_scanf_float_flag([\".pioenvs/esp-downstmasterbedrmlights/firmware.elf\"], [\".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/api/api_buffer.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/api/api_connection.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/api/api_frame_helper.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/api/api_frame_helper_noise.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/api/api_overflow_buffer.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/api/api_pb2.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/api/api_pb2_service.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/api/api_server.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/api/list_entities.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/api/proto.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/api/subscribe_state.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/binary_sensor/automation.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/binary_sensor/binary_sensor.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/binary_sensor/filter.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/button/button.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/captive_portal/captive_portal.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/copy/sensor/copy_sensor.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/debug/debug_component.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/debug/debug_esp8266.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/esp8266/core.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/esp8266/crash_handler.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/esp8266/gpio.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/esp8266/hal.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/esp8266/helpers.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/esp8266/preferences.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/esp8266/printf_stubs.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/esp8266/waveform_stubs.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/esphome/ota/ota_esphome.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/factory_reset/button/factory_reset_button.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/gpio/binary_sensor/gpio_binary_sensor.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/gpio/switch/gpio_switch.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/json/json_util.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/logger/logger.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/logger/logger_esp8266.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/md5/md5.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/mdns/mdns_component.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/mdns/mdns_esp8266.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/mqtt/custom_mqtt_device.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/mqtt/mqtt_alarm_control_panel.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/mqtt/mqtt_binary_sensor.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/mqtt/mqtt_button.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/mqtt/mqtt_client.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/mqtt/mqtt_climate.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/mqtt/mqtt_component.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/mqtt/mqtt_cover.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/mqtt/mqtt_date.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/mqtt/mqtt_datetime.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/mqtt/mqtt_event.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/mqtt/mqtt_fan.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/mqtt/mqtt_light.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/mqtt/mqtt_lock.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/mqtt/mqtt_number.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/mqtt/mqtt_select.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/mqtt/mqtt_sensor.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/mqtt/mqtt_switch.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/mqtt/mqtt_text.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/mqtt/mqtt_text_sensor.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/mqtt/mqtt_time.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/mqtt/mqtt_update.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/mqtt/mqtt_valve.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/network/util.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/ota/ota_backend.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/ota/ota_backend_esp8266.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/ota/ota_bootloader_esp_idf.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/ota/ota_partitions_esp_idf.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/restart/button/restart_button.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/safe_mode/button/safe_mode_button.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/safe_mode/safe_mode.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/sensor/automation.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/sensor/filter.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/sensor/sensor.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/sha256/sha256.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/sntp/sntp_component.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/socket/lwip_raw_tcp_impl.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/socket/socket.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/status/status_binary_sensor.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/status_led/status_led.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/switch/automation.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/switch/switch.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/template/sensor/template_sensor.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/template/text_sensor/template_text_sensor.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/text_sensor/filter.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/text_sensor/text_sensor.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/time/automation.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/time/posix_tz.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/time/real_time_clock.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/uptime/sensor/uptime_seconds_sensor.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/uptime/sensor/uptime_timestamp_sensor.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/uptime/text_sensor/uptime_text_sensor.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/version/version_text_sensor.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/web_server/ota/ota_web_server.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/web_server_base/web_server_base.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/wifi/wifi_component.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/wifi/wifi_component_esp8266.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/wifi_info/wifi_info_text_sensor.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/components/wifi_signal/wifi_signal_sensor.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/core/alloc_helpers.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/core/application.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/core/build_info_data.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/core/color.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/core/component.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/core/component_iterator.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/core/controller_registry.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/core/entity_base.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/core/gpio.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/core/helpers.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/core/log.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/core/scheduler.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/core/time.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/core/time_64.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/core/util.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/esphome/core/wake/wake_esp8266.cpp.o\", \".pioenvs/esp-downstmasterbedrmlights/src/main.cpp.o\"])\n", - "\u001b[0mESPHome: Removing _scanf_float (saves ~8KB flash)\n", - "\u001b[0mLinking .pioenvs/esp-downstmasterbedrmlights/firmware.elf\n", - "\u001b[0mRAM: [===== ] 47.7% (used 39064 bytes from 81920 bytes)\n", - "Flash: [===== ] 52.5% (used 537515 bytes from 1023984 bytes)\n", - "Building .pioenvs/esp-downstmasterbedrmlights/firmware.bin\n", - "\u001b[0mesp8266_copy_factory_bin([\".pioenvs/esp-downstmasterbedrmlights/firmware.bin\"], [\".pioenvs/esp-downstmasterbedrmlights/firmware.elf\"])\n", - "\u001b[0mesp8266_copy_ota_bin([\".pioenvs/esp-downstmasterbedrmlights/firmware.bin\"], [\".pioenvs/esp-downstmasterbedrmlights/firmware.elf\"])\n", - "\u001b[0m======================== [\u001b[32m\u001b[1mSUCCESS\u001b[0m] Took 197.79 seconds ========================\u001b[0m\n", - "\\033[32mINFO Build Info: config_hash=0x2cf9a12f build_time_str=2026-05-24 20:12:50 +1200\\033[0m\n", - "\\033[32mINFO Successfully compiled program.\\033[0m\n", - "\\033[32mINFO Connecting to 172.31.10.79 port 8266...\\033[0m\n", - "\\033[32mINFO Connected to 172.31.10.79\\033[0m\n", - "\\033[32mINFO Uploading /data/build/esp-downstmasterbedrmlights/.pioenvs/esp-downstmasterbedrmlights/firmware.bin (541664 bytes)\\033[0m\n", - "\\033[32mINFO Compressed to 379830 bytes\\033[0m\n", - "Uploading: [============================================================] 100% Done...\r\n", - "\n", - "\\033[32mINFO Upload took 7.67 seconds, waiting for result...\\033[0m\n", - "\\033[32mINFO OTA successful\\033[0m\n", - "\\033[32mINFO Successfully uploaded program.\\033[0m\n" - ], "error": null, "port": "OTA", "new_name": "", + "depends_on": "", "progress": 100, "remote_peer": "", "remote_job_id": "", @@ -13760,391 +1723,42 @@ "source_esphome_version": "" }, { - "job_id": "be4cca5bbff7", + "job_id": "59eb9c1b3f6b", + "configuration": "esp-downstloungeoutside.yaml", + "job_type": "install", + "status": "completed", + "created_at": "2026-06-01T04:19:41.262158+00:00", + "started_at": "2026-06-01T05:45:58.403037+00:00", + "completed_at": "2026-06-01T05:48:19.053106+00:00", + "exit_code": 0, + "error": null, + "port": "OTA", + "new_name": "", + "depends_on": "", + "progress": 100, + "remote_peer": "", + "remote_job_id": "", + "remote_peer_label": "", + "device_name": "", + "device_friendly_name": "", + "source": "local", + "source_pin_sha256": "", + "source_label": "", + "source_esphome_version": "" + }, + { + "job_id": "b3bb7b0592b6", "configuration": "esp-downstloungeentry.yaml", "job_type": "install", "status": "completed", - "created_at": "2026-05-24T07:54:48.621064+00:00", - "started_at": "2026-05-24T08:09:19.628501+00:00", - "completed_at": "2026-05-24T08:12:48.609402+00:00", + "created_at": "2026-06-01T04:19:41.258987+00:00", + "started_at": "2026-06-01T05:43:37.418940+00:00", + "completed_at": "2026-06-01T05:45:58.349334+00:00", "exit_code": 0, - "output": [ - "\\033[32mINFO ESPHome 2026.5.0\\033[0m\n", - "\\033[32mINFO Reading configuration /config/esphome/esp-downstloungeentry.yaml...\\033[0m\n", - "\\033[32mINFO Generating C++ source...\\033[0m\n", - "\\033[32mINFO Compiling app... Build path: /data/build/esp-downstloungeentry\\033[0m\n", - "Processing \u001b[36m\u001b[1mesp-downstloungeentry\u001b[0m (board: esp01_1m; framework: arduino; platform: platformio/espressif8266@4.2.1)\n", - "\u001b[1m--------------------------------------------------------------------------------\u001b[0m\n", - "\u001b[0mHARDWARE: ESP8266 80MHz, 80KB RAM, 1MB Flash\n", - "\u001b[0mESPHome: Excluding Updater.cpp from build (using native OTA backend)\n", - "\u001b[0mESPHome: Excluding core_esp8266_waveform_phase.cpp from build (waveform not required)\n", - "\u001b[0mESPHome: Excluding core_esp8266_waveform_pwm.cpp from build (waveform not required)\n", - "\u001b[0mDependency Graph\n", - "\u001b[0m|-- ESPAsyncTCP @ 2.0.0\n", - "\u001b[0m|-- ESP8266WiFi @ 1.0\n", - "\u001b[0m|-- ESPAsyncWebServer @ 3.9.6\n", - "\u001b[0m|-- DNSServer @ 1.1.1\n", - "\u001b[0m|-- ESP8266mDNS @ 1.2\n", - "\u001b[0m|-- noise-c @ 0.1.11\n", - "\u001b[0m|-- AsyncMqttClient-esphome @ 2.0.0\n", - "\u001b[0m|-- ArduinoJson @ 7.4.2\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/api/api_buffer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/api/api_connection.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/api/api_frame_helper.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/api/api_frame_helper_noise.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/api/api_overflow_buffer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/api/api_pb2.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/api/api_pb2_service.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/api/api_server.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/api/list_entities.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/api/proto.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/api/subscribe_state.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/binary_sensor/automation.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/binary_sensor/binary_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/binary_sensor/filter.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/button/button.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/captive_portal/captive_portal.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/copy/sensor/copy_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/esp8266/core.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/esp8266/crash_handler.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/esp8266/gpio.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/esp8266/hal.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/esp8266/helpers.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/esp8266/preferences.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/esp8266/printf_stubs.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/esp8266/waveform_stubs.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/esphome/ota/ota_esphome.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/factory_reset/button/factory_reset_button.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/gpio/binary_sensor/gpio_binary_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/gpio/switch/gpio_switch.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/json/json_util.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/logger/logger.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/logger/logger_esp8266.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/md5/md5.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/mdns/mdns_component.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/mdns/mdns_esp8266.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/mqtt/custom_mqtt_device.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/mqtt/mqtt_alarm_control_panel.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/mqtt/mqtt_binary_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/mqtt/mqtt_button.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/mqtt/mqtt_client.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/mqtt/mqtt_climate.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/mqtt/mqtt_component.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/mqtt/mqtt_cover.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/mqtt/mqtt_date.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/mqtt/mqtt_datetime.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/mqtt/mqtt_event.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/mqtt/mqtt_fan.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/mqtt/mqtt_light.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/mqtt/mqtt_lock.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/mqtt/mqtt_number.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/mqtt/mqtt_select.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/mqtt/mqtt_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/mqtt/mqtt_switch.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/mqtt/mqtt_text.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/mqtt/mqtt_text_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/mqtt/mqtt_time.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/mqtt/mqtt_update.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/mqtt/mqtt_valve.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/network/util.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/ota/ota_backend.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/ota/ota_backend_esp8266.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/ota/ota_bootloader_esp_idf.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/ota/ota_partitions_esp_idf.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/restart/button/restart_button.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/safe_mode/button/safe_mode_button.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/safe_mode/safe_mode.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/sensor/automation.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/sensor/filter.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/sensor/sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/sha256/sha256.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/socket/lwip_raw_tcp_impl.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/socket/socket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/status/status_binary_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/status_led/status_led.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/switch/automation.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/switch/switch.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/template/sensor/template_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/text_sensor/filter.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/text_sensor/text_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/uptime/sensor/uptime_seconds_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/uptime/sensor/uptime_timestamp_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/uptime/text_sensor/uptime_text_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/version/version_text_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/web_server/ota/ota_web_server.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/web_server_base/web_server_base.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/wifi/wifi_component.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/wifi/wifi_component_esp8266.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/wifi_info/wifi_info_text_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/components/wifi_signal/wifi_signal_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/core/alloc_helpers.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/core/application.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/core/build_info_data.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/core/color.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/core/component.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/core/component_iterator.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/core/controller_registry.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/core/entity_base.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/core/gpio.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/core/helpers.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/core/log.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/core/scheduler.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/core/time.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/core/time_64.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/core/util.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/esphome/core/wake/wake_esp8266.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/src/main.cpp.o\n", - "\u001b[0mGenerating LD script .pioenvs/esp-downstloungeentry/ld/local.eagle.app.v6.common.ld\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/libcde/ESPAsyncTCP/AsyncPrinter.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/libcde/ESPAsyncTCP/ESPAsyncTCP.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/libcde/ESPAsyncTCP/ESPAsyncTCPbuffer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/libcde/ESPAsyncTCP/SyncClient.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/libcde/ESPAsyncTCP/tcp_axtls.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib67b/ESP8266WiFi/BearSSLHelpers.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib67b/ESP8266WiFi/CertStoreBearSSL.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-downstloungeentry/libcde/libESPAsyncTCP.a\n", - "\u001b[0mIndexing .pioenvs/esp-downstloungeentry/libcde/libESPAsyncTCP.a\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib67b/ESP8266WiFi/ESP8266WiFi.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib67b/ESP8266WiFi/ESP8266WiFiAP.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib67b/ESP8266WiFi/ESP8266WiFiGeneric.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib67b/ESP8266WiFi/ESP8266WiFiGratuitous.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib67b/ESP8266WiFi/ESP8266WiFiMulti.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib67b/ESP8266WiFi/ESP8266WiFiSTA-WPS.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib67b/ESP8266WiFi/ESP8266WiFiSTA.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib67b/ESP8266WiFi/ESP8266WiFiScan.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib67b/ESP8266WiFi/WiFiClient.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib67b/ESP8266WiFi/WiFiClientSecureBearSSL.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib67b/ESP8266WiFi/WiFiServer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib67b/ESP8266WiFi/WiFiServerSecureBearSSL.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib67b/ESP8266WiFi/WiFiUdp.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib67b/ESP8266WiFi/enable_wifi_at_boot_time.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/libaf0/Hash/Hash.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib2fe/ESPAsyncWebServer/AsyncEventSource.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-downstloungeentry/libaf0/libHash.a\n", - "\u001b[0mIndexing .pioenvs/esp-downstloungeentry/libaf0/libHash.a\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib2fe/ESPAsyncWebServer/AsyncJson.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib2fe/ESPAsyncWebServer/AsyncWebHeader.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-downstloungeentry/lib67b/libESP8266WiFi.a\n", - "\u001b[0mIndexing .pioenvs/esp-downstloungeentry/lib67b/libESP8266WiFi.a\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib2fe/ESPAsyncWebServer/AsyncWebServerRequest.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib2fe/ESPAsyncWebServer/AsyncWebSocket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib2fe/ESPAsyncWebServer/BackPort_SHA1Builder.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib2fe/ESPAsyncWebServer/ChunkPrint.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib2fe/ESPAsyncWebServer/Middleware.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib2fe/ESPAsyncWebServer/WebAuthentication.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib2fe/ESPAsyncWebServer/WebHandlers.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib2fe/ESPAsyncWebServer/WebRequest.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib2fe/ESPAsyncWebServer/WebResponses.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib2fe/ESPAsyncWebServer/WebServer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/libecb/DNSServer/DNSServer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib3ff/ESP8266mDNS/ESP8266mDNS.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib3ff/ESP8266mDNS/LEAmDNS.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-downstloungeentry/lib2fe/libESPAsyncWebServer.a\n", - "\u001b[0mIndexing .pioenvs/esp-downstloungeentry/lib2fe/libESPAsyncWebServer.a\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib3ff/ESP8266mDNS/LEAmDNS_Control.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-downstloungeentry/libecb/libDNSServer.a\n", - "\u001b[0mIndexing .pioenvs/esp-downstloungeentry/libecb/libDNSServer.a\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib3ff/ESP8266mDNS/LEAmDNS_Helpers.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib3ff/ESP8266mDNS/LEAmDNS_Structs.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib3ff/ESP8266mDNS/LEAmDNS_Transfer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib8c4/libsodium/crypto_aead/chacha20poly1305/aead_chacha20poly1305.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib8c4/libsodium/crypto_core/ed25519/ref10/ed25519_ref10.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib8c4/libsodium/crypto_core/salsa/ref/core_salsa_ref.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib8c4/libsodium/crypto_hash/crypto_hash.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib8c4/libsodium/crypto_hash/sha256/cp/hash_sha256_cp.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib8c4/libsodium/crypto_hash/sha256/hash_sha256.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib8c4/libsodium/crypto_onetimeauth/crypto_onetimeauth.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib8c4/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib8c4/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib8c4/libsodium/crypto_scalarmult/crypto_scalarmult.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib8c4/libsodium/crypto_scalarmult/curve25519/ref10/x25519_ref10.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib8c4/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib8c4/libsodium/crypto_stream/chacha20/ref/chacha20_ref.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib8c4/libsodium/crypto_stream/chacha20/stream_chacha20.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib8c4/libsodium/crypto_stream/crypto_stream.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib8c4/libsodium/crypto_stream/salsa20/ref/salsa20_ref.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib8c4/libsodium/crypto_stream/salsa20/stream_salsa20.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib8c4/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6-asm.S.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib8c4/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib8c4/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-avx2.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib8c4/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-sse2.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib8c4/libsodium/crypto_verify/verify.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib8c4/libsodium/randombytes/internal/randombytes_internal_random.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib8c4/libsodium/randombytes/randombytes.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib8c4/libsodium/randombytes/sysrandom/randombytes_sysrandom.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib8c4/libsodium/sodium/codecs.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib8c4/libsodium/sodium/core.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib8c4/libsodium/sodium/runtime.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib8c4/libsodium/sodium/utils.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib18b/noise-c/backend/openssl/cipher-aesgcm.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib18b/noise-c/backend/ref/cipher-aesgcm.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib18b/noise-c/backend/ref/cipher-chachapoly.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib18b/noise-c/backend/ref/dh-curve25519.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib18b/noise-c/backend/ref/hash-blake2b.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib18b/noise-c/backend/ref/hash-blake2s.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib18b/noise-c/backend/ref/hash-sha256.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib18b/noise-c/backend/sodium/cipher-aesgcm.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib18b/noise-c/backend/sodium/cipher-chachapoly.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib18b/noise-c/backend/sodium/dh-curve25519.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-downstloungeentry/lib3ff/libESP8266mDNS.a\n", - "\u001b[0mIndexing .pioenvs/esp-downstloungeentry/lib3ff/libESP8266mDNS.a\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib18b/noise-c/backend/sodium/hash-blake2b.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib18b/noise-c/backend/sodium/hash-sha256.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib18b/noise-c/crypto/aes/rijndael-alg-fst.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib18b/noise-c/crypto/blake2/blake2b.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib18b/noise-c/crypto/blake2/blake2s.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib18b/noise-c/crypto/chacha/chacha.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib18b/noise-c/crypto/donna/curve25519-donna-c64.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib18b/noise-c/crypto/donna/curve25519-donna.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib18b/noise-c/crypto/donna/poly1305-donna.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib18b/noise-c/crypto/sha2/sha256.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib18b/noise-c/crypto/sha2/sha512.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib18b/noise-c/crypto/x25519/x25519.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib18b/noise-c/protocol/cipherstate.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib18b/noise-c/protocol/dhstate.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib18b/noise-c/protocol/errors.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib18b/noise-c/protocol/handshakestate.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib18b/noise-c/protocol/hashstate.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib18b/noise-c/protocol/internal.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib18b/noise-c/protocol/names.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-downstloungeentry/lib8c4/libsodium.a\n", - "\u001b[0mIndexing .pioenvs/esp-downstloungeentry/lib8c4/libsodium.a\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib18b/noise-c/protocol/patterns.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib18b/noise-c/protocol/rand_os.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib18b/noise-c/protocol/rand_sodium.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib18b/noise-c/protocol/randstate.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib18b/noise-c/protocol/signstate.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib18b/noise-c/protocol/symmetricstate.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib18b/noise-c/protocol/util.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib380/ESPAsyncTCP-esphome/AsyncPrinter.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib380/ESPAsyncTCP-esphome/ESPAsyncTCP.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib380/ESPAsyncTCP-esphome/ESPAsyncTCPbuffer.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-downstloungeentry/lib18b/libnoise-c.a\n", - "\u001b[0mIndexing .pioenvs/esp-downstloungeentry/lib18b/libnoise-c.a\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib380/ESPAsyncTCP-esphome/SyncClient.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib380/ESPAsyncTCP-esphome/tcp_axtls.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib811/AsyncMqttClient-esphome/AsyncMqttClient.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib811/AsyncMqttClient-esphome/AsyncMqttClient/Packets/ConnAckPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib811/AsyncMqttClient-esphome/AsyncMqttClient/Packets/PingRespPacket.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-downstloungeentry/lib380/libESPAsyncTCP-esphome.a\n", - "\u001b[0mIndexing .pioenvs/esp-downstloungeentry/lib380/libESPAsyncTCP-esphome.a\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib811/AsyncMqttClient-esphome/AsyncMqttClient/Packets/PubAckPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib811/AsyncMqttClient-esphome/AsyncMqttClient/Packets/PubCompPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib811/AsyncMqttClient-esphome/AsyncMqttClient/Packets/PubRecPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib811/AsyncMqttClient-esphome/AsyncMqttClient/Packets/PubRelPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib811/AsyncMqttClient-esphome/AsyncMqttClient/Packets/PublishPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib811/AsyncMqttClient-esphome/AsyncMqttClient/Packets/SubAckPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/lib811/AsyncMqttClient-esphome/AsyncMqttClient/Packets/UnsubAckPacket.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-downstloungeentry/libFrameworkArduinoVariant.a\n", - "\u001b[0mIndexing .pioenvs/esp-downstloungeentry/libFrameworkArduinoVariant.a\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/Crypto.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/Esp-frag.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/Esp-version.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/Esp.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-downstloungeentry/lib811/libAsyncMqttClient-esphome.a\n", - "\u001b[0mIndexing .pioenvs/esp-downstloungeentry/lib811/libAsyncMqttClient-esphome.a\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/FS.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/FSnoop.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/FunctionalInterrupt.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/HardwareSerial.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/IPAddress.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/LwipDhcpServer-NonOS.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/LwipDhcpServer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/LwipIntf.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/LwipIntfCB.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/MD5Builder.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/Print.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/Schedule.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/StackThunk.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/Stream.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/StreamSend.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/Tone.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/TypeConversion.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/WMath.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/WString.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/abi.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/aes_unwrap.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/base64.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/cbuf.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/cont.S.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/cont_util.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/core_esp8266_app_entry_noextra4k.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/core_esp8266_eboot_command.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/core_esp8266_features.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/core_esp8266_flash_quirks.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/core_esp8266_flash_utils.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/core_esp8266_i2s.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/core_esp8266_main.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/core_esp8266_non32xfer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/core_esp8266_noniso.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/core_esp8266_phy.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/core_esp8266_postmortem.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/core_esp8266_si2c.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/core_esp8266_sigma_delta.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/core_esp8266_spi_utils.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/core_esp8266_timer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/core_esp8266_vm.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/core_esp8266_wiring.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/core_esp8266_wiring_analog.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/core_esp8266_wiring_digital.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/core_esp8266_wiring_pulse.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/core_esp8266_wiring_pwm.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/core_esp8266_wiring_shift.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/crc32.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/debug.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/exc-c-wrapper-handler.S.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/exc-sethandler.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/flash_hal.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/gdb_hooks.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/heap.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/hwdt_app_entry.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/libb64/cdecode.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/libb64/cencode.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/libc_replacements.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/mmu_iram.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/reboot_uart_dwnld.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/spiffs/spiffs_cache.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/spiffs/spiffs_check.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/spiffs/spiffs_gc.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/spiffs/spiffs_hydrogen.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/spiffs/spiffs_nucleus.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/spiffs_api.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/sqrt32.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/stdlib_noniso.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/time.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/uart.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/umm_malloc/umm_info.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/umm_malloc/umm_integrity.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/umm_malloc/umm_local.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/umm_malloc/umm_malloc.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/umm_malloc/umm_poison.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstloungeentry/FrameworkArduino/wpa2_eap_patch.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-downstloungeentry/libFrameworkArduino.a\n", - "\u001b[0mIndexing .pioenvs/esp-downstloungeentry/libFrameworkArduino.a\n", - "\u001b[0mremove_scanf_float_flag([\".pioenvs/esp-downstloungeentry/firmware.elf\"], [\".pioenvs/esp-downstloungeentry/src/esphome/components/api/api_buffer.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/api/api_connection.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/api/api_frame_helper.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/api/api_frame_helper_noise.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/api/api_overflow_buffer.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/api/api_pb2.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/api/api_pb2_service.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/api/api_server.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/api/list_entities.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/api/proto.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/api/subscribe_state.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/binary_sensor/automation.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/binary_sensor/binary_sensor.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/binary_sensor/filter.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/button/button.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/captive_portal/captive_portal.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/copy/sensor/copy_sensor.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/esp8266/core.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/esp8266/crash_handler.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/esp8266/gpio.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/esp8266/hal.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/esp8266/helpers.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/esp8266/preferences.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/esp8266/printf_stubs.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/esp8266/waveform_stubs.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/esphome/ota/ota_esphome.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/factory_reset/button/factory_reset_button.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/gpio/binary_sensor/gpio_binary_sensor.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/gpio/switch/gpio_switch.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/json/json_util.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/logger/logger.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/logger/logger_esp8266.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/md5/md5.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/mdns/mdns_component.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/mdns/mdns_esp8266.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/mqtt/custom_mqtt_device.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/mqtt/mqtt_alarm_control_panel.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/mqtt/mqtt_binary_sensor.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/mqtt/mqtt_button.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/mqtt/mqtt_client.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/mqtt/mqtt_climate.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/mqtt/mqtt_component.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/mqtt/mqtt_cover.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/mqtt/mqtt_date.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/mqtt/mqtt_datetime.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/mqtt/mqtt_event.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/mqtt/mqtt_fan.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/mqtt/mqtt_light.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/mqtt/mqtt_lock.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/mqtt/mqtt_number.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/mqtt/mqtt_select.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/mqtt/mqtt_sensor.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/mqtt/mqtt_switch.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/mqtt/mqtt_text.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/mqtt/mqtt_text_sensor.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/mqtt/mqtt_time.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/mqtt/mqtt_update.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/mqtt/mqtt_valve.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/network/util.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/ota/ota_backend.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/ota/ota_backend_esp8266.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/ota/ota_bootloader_esp_idf.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/ota/ota_partitions_esp_idf.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/restart/button/restart_button.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/safe_mode/button/safe_mode_button.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/safe_mode/safe_mode.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/sensor/automation.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/sensor/filter.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/sensor/sensor.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/sha256/sha256.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/socket/lwip_raw_tcp_impl.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/socket/socket.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/status/status_binary_sensor.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/status_led/status_led.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/switch/automation.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/switch/switch.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/template/sensor/template_sensor.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/text_sensor/filter.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/text_sensor/text_sensor.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/uptime/sensor/uptime_seconds_sensor.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/uptime/sensor/uptime_timestamp_sensor.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/uptime/text_sensor/uptime_text_sensor.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/version/version_text_sensor.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/web_server/ota/ota_web_server.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/web_server_base/web_server_base.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/wifi/wifi_component.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/wifi/wifi_component_esp8266.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/wifi_info/wifi_info_text_sensor.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/components/wifi_signal/wifi_signal_sensor.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/core/alloc_helpers.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/core/application.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/core/build_info_data.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/core/color.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/core/component.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/core/component_iterator.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/core/controller_registry.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/core/entity_base.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/core/gpio.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/core/helpers.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/core/log.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/core/scheduler.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/core/time.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/core/time_64.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/core/util.cpp.o\", \".pioenvs/esp-downstloungeentry/src/esphome/core/wake/wake_esp8266.cpp.o\", \".pioenvs/esp-downstloungeentry/src/main.cpp.o\"])\n", - "\u001b[0mESPHome: Removing _scanf_float (saves ~8KB flash)\n", - "\u001b[0mLinking .pioenvs/esp-downstloungeentry/firmware.elf\n", - "\u001b[0mRAM: [==== ] 45.0% (used 36844 bytes from 81920 bytes)\n", - "Flash: [===== ] 50.6% (used 517807 bytes from 1023984 bytes)\n", - "Building .pioenvs/esp-downstloungeentry/firmware.bin\n", - "\u001b[0mesp8266_copy_factory_bin([\".pioenvs/esp-downstloungeentry/firmware.bin\"], [\".pioenvs/esp-downstloungeentry/firmware.elf\"])\n", - "\u001b[0mesp8266_copy_ota_bin([\".pioenvs/esp-downstloungeentry/firmware.bin\"], [\".pioenvs/esp-downstloungeentry/firmware.elf\"])\n", - "\u001b[0m======================== [\u001b[32m\u001b[1mSUCCESS\u001b[0m] Took 194.64 seconds ========================\u001b[0m\n", - "\\033[32mINFO Build Info: config_hash=0x7f996b2d build_time_str=2026-05-24 20:09:21 +1200\\033[0m\n", - "\\033[32mINFO Successfully compiled program.\\033[0m\n", - "\\033[32mINFO Connecting to 172.31.10.69 port 8266...\\033[0m\n", - "\\033[32mINFO Connected to 172.31.10.69\\033[0m\n", - "\\033[32mINFO Uploading /data/build/esp-downstloungeentry/.pioenvs/esp-downstloungeentry/firmware.bin (521952 bytes)\\033[0m\n", - "\\033[32mINFO Compressed to 366331 bytes\\033[0m\n", - "Uploading: [============================================================] 100% Done...\r\n", - "\n", - "\\033[32mINFO Upload took 9.44 seconds, waiting for result...\\033[0m\n", - "\\033[32mINFO OTA successful\\033[0m\n", - "\\033[32mINFO Successfully uploaded program.\\033[0m\n" - ], "error": null, "port": "OTA", "new_name": "", + "depends_on": "", "progress": 100, "remote_peer": "", "remote_job_id": "", @@ -14157,398 +1771,18 @@ "source_esphome_version": "" }, { - "job_id": "f265a74c827f", + "job_id": "7cf7445bdb57", "configuration": "esp-downstkitchlights.yaml", "job_type": "install", "status": "completed", - "created_at": "2026-05-24T07:54:48.618544+00:00", - "started_at": "2026-05-24T08:05:44.985217+00:00", - "completed_at": "2026-05-24T08:09:19.614378+00:00", + "created_at": "2026-06-01T04:19:41.252112+00:00", + "started_at": "2026-06-01T05:41:08.452386+00:00", + "completed_at": "2026-06-01T05:43:37.411438+00:00", "exit_code": 0, - "output": [ - "\\033[32mINFO ESPHome 2026.5.0\\033[0m\n", - "\\033[32mINFO Reading configuration /config/esphome/esp-downstkitchlights.yaml...\\033[0m\n", - "\\033[32mINFO Generating C++ source...\\033[0m\n", - "\\033[32mINFO Compiling app... Build path: /data/build/esp-downstkitchlights\\033[0m\n", - "Processing \u001b[36m\u001b[1mesp-downstkitchlights\u001b[0m (board: esp01_1m; framework: arduino; platform: platformio/espressif8266@4.2.1)\n", - "\u001b[1m--------------------------------------------------------------------------------\u001b[0m\n", - "\u001b[0mHARDWARE: ESP8266 80MHz, 80KB RAM, 1MB Flash\n", - "\u001b[0mESPHome: Excluding Updater.cpp from build (using native OTA backend)\n", - "\u001b[0mESPHome: Excluding core_esp8266_waveform_phase.cpp from build (waveform not required)\n", - "\u001b[0mESPHome: Excluding core_esp8266_waveform_pwm.cpp from build (waveform not required)\n", - "\u001b[0mDependency Graph\n", - "\u001b[0m|-- ESPAsyncTCP @ 2.0.0\n", - "\u001b[0m|-- ESP8266WiFi @ 1.0\n", - "\u001b[0m|-- ESPAsyncWebServer @ 3.9.6\n", - "\u001b[0m|-- DNSServer @ 1.1.1\n", - "\u001b[0m|-- ESP8266mDNS @ 1.2\n", - "\u001b[0m|-- noise-c @ 0.1.11\n", - "\u001b[0m|-- AsyncMqttClient-esphome @ 2.0.0\n", - "\u001b[0m|-- ArduinoJson @ 7.4.2\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/api/api_buffer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/api/api_connection.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/api/api_frame_helper.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/api/api_frame_helper_noise.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/api/api_overflow_buffer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/api/api_pb2.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/api/api_pb2_service.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/api/api_server.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/api/list_entities.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/api/proto.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/api/subscribe_state.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/binary_sensor/automation.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/binary_sensor/binary_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/binary_sensor/filter.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/button/button.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/captive_portal/captive_portal.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/copy/sensor/copy_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/debug/debug_component.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/debug/debug_esp8266.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/esp8266/core.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/esp8266/crash_handler.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/esp8266/gpio.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/esp8266/hal.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/esp8266/helpers.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/esp8266/preferences.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/esp8266/printf_stubs.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/esp8266/waveform_stubs.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/esphome/ota/ota_esphome.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/factory_reset/button/factory_reset_button.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/gpio/binary_sensor/gpio_binary_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/gpio/switch/gpio_switch.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/json/json_util.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/logger/logger.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/logger/logger_esp8266.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/md5/md5.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/mdns/mdns_component.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/mdns/mdns_esp8266.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/mqtt/custom_mqtt_device.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/mqtt/mqtt_alarm_control_panel.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/mqtt/mqtt_binary_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/mqtt/mqtt_button.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/mqtt/mqtt_client.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/mqtt/mqtt_climate.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/mqtt/mqtt_component.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/mqtt/mqtt_cover.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/mqtt/mqtt_date.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/mqtt/mqtt_datetime.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/mqtt/mqtt_event.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/mqtt/mqtt_fan.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/mqtt/mqtt_light.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/mqtt/mqtt_lock.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/mqtt/mqtt_number.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/mqtt/mqtt_select.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/mqtt/mqtt_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/mqtt/mqtt_switch.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/mqtt/mqtt_text.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/mqtt/mqtt_text_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/mqtt/mqtt_time.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/mqtt/mqtt_update.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/mqtt/mqtt_valve.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/network/util.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/ota/ota_backend.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/ota/ota_backend_esp8266.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/ota/ota_bootloader_esp_idf.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/ota/ota_partitions_esp_idf.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/restart/button/restart_button.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/safe_mode/button/safe_mode_button.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/safe_mode/safe_mode.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/sensor/automation.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/sensor/filter.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/sensor/sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/sha256/sha256.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/sntp/sntp_component.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/socket/lwip_raw_tcp_impl.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/socket/socket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/status/status_binary_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/status_led/status_led.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/switch/automation.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/switch/switch.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/template/sensor/template_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/template/text_sensor/template_text_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/text_sensor/filter.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/text_sensor/text_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/time/automation.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/time/posix_tz.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/time/real_time_clock.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/uptime/sensor/uptime_seconds_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/uptime/sensor/uptime_timestamp_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/uptime/text_sensor/uptime_text_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/version/version_text_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/web_server/ota/ota_web_server.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/web_server_base/web_server_base.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/wifi/wifi_component.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/wifi/wifi_component_esp8266.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/wifi_info/wifi_info_text_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/components/wifi_signal/wifi_signal_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/core/alloc_helpers.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/core/application.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/core/build_info_data.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/core/color.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/core/component.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/core/component_iterator.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/core/controller_registry.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/core/entity_base.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/core/gpio.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/core/helpers.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/core/log.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/core/scheduler.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/core/time.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/core/time_64.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/core/util.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/esphome/core/wake/wake_esp8266.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/src/main.cpp.o\n", - "\u001b[0mGenerating LD script .pioenvs/esp-downstkitchlights/ld/local.eagle.app.v6.common.ld\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib4f8/ESPAsyncTCP/AsyncPrinter.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib4f8/ESPAsyncTCP/ESPAsyncTCP.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib4f8/ESPAsyncTCP/ESPAsyncTCPbuffer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib4f8/ESPAsyncTCP/SyncClient.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib4f8/ESPAsyncTCP/tcp_axtls.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib67b/ESP8266WiFi/BearSSLHelpers.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib67b/ESP8266WiFi/CertStoreBearSSL.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-downstkitchlights/lib4f8/libESPAsyncTCP.a\n", - "\u001b[0mIndexing .pioenvs/esp-downstkitchlights/lib4f8/libESPAsyncTCP.a\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib67b/ESP8266WiFi/ESP8266WiFi.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib67b/ESP8266WiFi/ESP8266WiFiAP.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib67b/ESP8266WiFi/ESP8266WiFiGeneric.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib67b/ESP8266WiFi/ESP8266WiFiGratuitous.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib67b/ESP8266WiFi/ESP8266WiFiMulti.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib67b/ESP8266WiFi/ESP8266WiFiSTA-WPS.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib67b/ESP8266WiFi/ESP8266WiFiSTA.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib67b/ESP8266WiFi/ESP8266WiFiScan.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib67b/ESP8266WiFi/WiFiClient.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib67b/ESP8266WiFi/WiFiClientSecureBearSSL.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib67b/ESP8266WiFi/WiFiServer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib67b/ESP8266WiFi/WiFiServerSecureBearSSL.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib67b/ESP8266WiFi/WiFiUdp.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib67b/ESP8266WiFi/enable_wifi_at_boot_time.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/libaf0/Hash/Hash.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/libe97/ESPAsyncWebServer/AsyncEventSource.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/libe97/ESPAsyncWebServer/AsyncJson.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-downstkitchlights/libaf0/libHash.a\n", - "\u001b[0mIndexing .pioenvs/esp-downstkitchlights/libaf0/libHash.a\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/libe97/ESPAsyncWebServer/AsyncWebHeader.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-downstkitchlights/lib67b/libESP8266WiFi.a\n", - "\u001b[0mIndexing .pioenvs/esp-downstkitchlights/lib67b/libESP8266WiFi.a\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/libe97/ESPAsyncWebServer/AsyncWebServerRequest.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/libe97/ESPAsyncWebServer/AsyncWebSocket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/libe97/ESPAsyncWebServer/BackPort_SHA1Builder.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/libe97/ESPAsyncWebServer/ChunkPrint.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/libe97/ESPAsyncWebServer/Middleware.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/libe97/ESPAsyncWebServer/WebAuthentication.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/libe97/ESPAsyncWebServer/WebHandlers.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/libe97/ESPAsyncWebServer/WebRequest.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/libe97/ESPAsyncWebServer/WebResponses.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/libe97/ESPAsyncWebServer/WebServer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/libecb/DNSServer/DNSServer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib3ff/ESP8266mDNS/ESP8266mDNS.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-downstkitchlights/libecb/libDNSServer.a\n", - "\u001b[0mIndexing .pioenvs/esp-downstkitchlights/libecb/libDNSServer.a\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib3ff/ESP8266mDNS/LEAmDNS.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib3ff/ESP8266mDNS/LEAmDNS_Control.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-downstkitchlights/libe97/libESPAsyncWebServer.a\n", - "\u001b[0mIndexing .pioenvs/esp-downstkitchlights/libe97/libESPAsyncWebServer.a\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib3ff/ESP8266mDNS/LEAmDNS_Helpers.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib3ff/ESP8266mDNS/LEAmDNS_Structs.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib3ff/ESP8266mDNS/LEAmDNS_Transfer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib469/libsodium/crypto_aead/chacha20poly1305/aead_chacha20poly1305.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib469/libsodium/crypto_core/ed25519/ref10/ed25519_ref10.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib469/libsodium/crypto_core/salsa/ref/core_salsa_ref.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib469/libsodium/crypto_hash/crypto_hash.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib469/libsodium/crypto_hash/sha256/cp/hash_sha256_cp.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib469/libsodium/crypto_hash/sha256/hash_sha256.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib469/libsodium/crypto_onetimeauth/crypto_onetimeauth.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib469/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib469/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib469/libsodium/crypto_scalarmult/crypto_scalarmult.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib469/libsodium/crypto_scalarmult/curve25519/ref10/x25519_ref10.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib469/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib469/libsodium/crypto_stream/chacha20/ref/chacha20_ref.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib469/libsodium/crypto_stream/chacha20/stream_chacha20.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib469/libsodium/crypto_stream/crypto_stream.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib469/libsodium/crypto_stream/salsa20/ref/salsa20_ref.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib469/libsodium/crypto_stream/salsa20/stream_salsa20.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib469/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6-asm.S.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib469/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib469/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-avx2.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib469/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-sse2.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib469/libsodium/crypto_verify/verify.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib469/libsodium/randombytes/internal/randombytes_internal_random.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib469/libsodium/randombytes/randombytes.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib469/libsodium/randombytes/sysrandom/randombytes_sysrandom.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib469/libsodium/sodium/codecs.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib469/libsodium/sodium/core.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib469/libsodium/sodium/runtime.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-downstkitchlights/lib3ff/libESP8266mDNS.a\n", - "\u001b[0mIndexing .pioenvs/esp-downstkitchlights/lib3ff/libESP8266mDNS.a\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib469/libsodium/sodium/utils.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib21a/noise-c/backend/openssl/cipher-aesgcm.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib21a/noise-c/backend/ref/cipher-aesgcm.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib21a/noise-c/backend/ref/cipher-chachapoly.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib21a/noise-c/backend/ref/dh-curve25519.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib21a/noise-c/backend/ref/hash-blake2b.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib21a/noise-c/backend/ref/hash-blake2s.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib21a/noise-c/backend/ref/hash-sha256.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib21a/noise-c/backend/sodium/cipher-aesgcm.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib21a/noise-c/backend/sodium/cipher-chachapoly.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib21a/noise-c/backend/sodium/dh-curve25519.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib21a/noise-c/backend/sodium/hash-blake2b.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib21a/noise-c/backend/sodium/hash-sha256.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib21a/noise-c/crypto/aes/rijndael-alg-fst.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib21a/noise-c/crypto/blake2/blake2b.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib21a/noise-c/crypto/blake2/blake2s.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib21a/noise-c/crypto/chacha/chacha.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib21a/noise-c/crypto/donna/curve25519-donna-c64.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib21a/noise-c/crypto/donna/curve25519-donna.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib21a/noise-c/crypto/donna/poly1305-donna.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib21a/noise-c/crypto/sha2/sha256.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib21a/noise-c/crypto/sha2/sha512.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib21a/noise-c/crypto/x25519/x25519.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib21a/noise-c/protocol/cipherstate.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib21a/noise-c/protocol/dhstate.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib21a/noise-c/protocol/errors.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib21a/noise-c/protocol/handshakestate.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib21a/noise-c/protocol/hashstate.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib21a/noise-c/protocol/internal.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib21a/noise-c/protocol/names.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib21a/noise-c/protocol/patterns.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-downstkitchlights/lib469/libsodium.a\n", - "\u001b[0mIndexing .pioenvs/esp-downstkitchlights/lib469/libsodium.a\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib21a/noise-c/protocol/rand_os.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib21a/noise-c/protocol/rand_sodium.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib21a/noise-c/protocol/randstate.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib21a/noise-c/protocol/signstate.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib21a/noise-c/protocol/symmetricstate.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib21a/noise-c/protocol/util.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/libae2/ESPAsyncTCP-esphome/AsyncPrinter.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/libae2/ESPAsyncTCP-esphome/ESPAsyncTCP.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/libae2/ESPAsyncTCP-esphome/ESPAsyncTCPbuffer.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-downstkitchlights/lib21a/libnoise-c.a\n", - "\u001b[0mIndexing .pioenvs/esp-downstkitchlights/lib21a/libnoise-c.a\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/libae2/ESPAsyncTCP-esphome/SyncClient.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/libae2/ESPAsyncTCP-esphome/tcp_axtls.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib470/AsyncMqttClient-esphome/AsyncMqttClient.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib470/AsyncMqttClient-esphome/AsyncMqttClient/Packets/ConnAckPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib470/AsyncMqttClient-esphome/AsyncMqttClient/Packets/PingRespPacket.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-downstkitchlights/libae2/libESPAsyncTCP-esphome.a\n", - "\u001b[0mIndexing .pioenvs/esp-downstkitchlights/libae2/libESPAsyncTCP-esphome.a\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib470/AsyncMqttClient-esphome/AsyncMqttClient/Packets/PubAckPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib470/AsyncMqttClient-esphome/AsyncMqttClient/Packets/PubCompPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib470/AsyncMqttClient-esphome/AsyncMqttClient/Packets/PubRecPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib470/AsyncMqttClient-esphome/AsyncMqttClient/Packets/PubRelPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib470/AsyncMqttClient-esphome/AsyncMqttClient/Packets/PublishPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib470/AsyncMqttClient-esphome/AsyncMqttClient/Packets/SubAckPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/lib470/AsyncMqttClient-esphome/AsyncMqttClient/Packets/UnsubAckPacket.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-downstkitchlights/libFrameworkArduinoVariant.a\n", - "\u001b[0mIndexing .pioenvs/esp-downstkitchlights/libFrameworkArduinoVariant.a\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/Crypto.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/Esp-frag.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/Esp-version.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-downstkitchlights/lib470/libAsyncMqttClient-esphome.a\n", - "\u001b[0mIndexing .pioenvs/esp-downstkitchlights/lib470/libAsyncMqttClient-esphome.a\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/Esp.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/FS.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/FSnoop.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/FunctionalInterrupt.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/HardwareSerial.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/IPAddress.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/LwipDhcpServer-NonOS.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/LwipDhcpServer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/LwipIntf.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/LwipIntfCB.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/MD5Builder.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/Print.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/Schedule.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/StackThunk.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/Stream.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/StreamSend.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/Tone.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/TypeConversion.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/WMath.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/WString.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/abi.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/aes_unwrap.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/base64.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/cbuf.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/cont.S.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/cont_util.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/core_esp8266_app_entry_noextra4k.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/core_esp8266_eboot_command.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/core_esp8266_features.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/core_esp8266_flash_quirks.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/core_esp8266_flash_utils.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/core_esp8266_i2s.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/core_esp8266_main.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/core_esp8266_non32xfer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/core_esp8266_noniso.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/core_esp8266_phy.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/core_esp8266_postmortem.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/core_esp8266_si2c.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/core_esp8266_sigma_delta.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/core_esp8266_spi_utils.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/core_esp8266_timer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/core_esp8266_vm.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/core_esp8266_wiring.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/core_esp8266_wiring_analog.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/core_esp8266_wiring_digital.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/core_esp8266_wiring_pulse.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/core_esp8266_wiring_pwm.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/core_esp8266_wiring_shift.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/crc32.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/debug.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/exc-c-wrapper-handler.S.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/exc-sethandler.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/flash_hal.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/gdb_hooks.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/heap.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/hwdt_app_entry.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/libb64/cdecode.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/libb64/cencode.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/libc_replacements.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/mmu_iram.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/reboot_uart_dwnld.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/spiffs/spiffs_cache.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/spiffs/spiffs_check.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/spiffs/spiffs_gc.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/spiffs/spiffs_hydrogen.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/spiffs/spiffs_nucleus.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/spiffs_api.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/sqrt32.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/stdlib_noniso.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/time.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/uart.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/umm_malloc/umm_info.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/umm_malloc/umm_integrity.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/umm_malloc/umm_local.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/umm_malloc/umm_malloc.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/umm_malloc/umm_poison.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstkitchlights/FrameworkArduino/wpa2_eap_patch.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-downstkitchlights/libFrameworkArduino.a\n", - "\u001b[0mIndexing .pioenvs/esp-downstkitchlights/libFrameworkArduino.a\n", - "\u001b[0mremove_scanf_float_flag([\".pioenvs/esp-downstkitchlights/firmware.elf\"], [\".pioenvs/esp-downstkitchlights/src/esphome/components/api/api_buffer.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/api/api_connection.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/api/api_frame_helper.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/api/api_frame_helper_noise.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/api/api_overflow_buffer.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/api/api_pb2.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/api/api_pb2_service.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/api/api_server.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/api/list_entities.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/api/proto.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/api/subscribe_state.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/binary_sensor/automation.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/binary_sensor/binary_sensor.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/binary_sensor/filter.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/button/button.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/captive_portal/captive_portal.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/copy/sensor/copy_sensor.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/debug/debug_component.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/debug/debug_esp8266.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/esp8266/core.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/esp8266/crash_handler.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/esp8266/gpio.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/esp8266/hal.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/esp8266/helpers.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/esp8266/preferences.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/esp8266/printf_stubs.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/esp8266/waveform_stubs.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/esphome/ota/ota_esphome.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/factory_reset/button/factory_reset_button.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/gpio/binary_sensor/gpio_binary_sensor.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/gpio/switch/gpio_switch.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/json/json_util.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/logger/logger.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/logger/logger_esp8266.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/md5/md5.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/mdns/mdns_component.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/mdns/mdns_esp8266.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/mqtt/custom_mqtt_device.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/mqtt/mqtt_alarm_control_panel.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/mqtt/mqtt_binary_sensor.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/mqtt/mqtt_button.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/mqtt/mqtt_client.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/mqtt/mqtt_climate.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/mqtt/mqtt_component.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/mqtt/mqtt_cover.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/mqtt/mqtt_date.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/mqtt/mqtt_datetime.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/mqtt/mqtt_event.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/mqtt/mqtt_fan.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/mqtt/mqtt_light.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/mqtt/mqtt_lock.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/mqtt/mqtt_number.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/mqtt/mqtt_select.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/mqtt/mqtt_sensor.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/mqtt/mqtt_switch.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/mqtt/mqtt_text.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/mqtt/mqtt_text_sensor.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/mqtt/mqtt_time.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/mqtt/mqtt_update.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/mqtt/mqtt_valve.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/network/util.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/ota/ota_backend.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/ota/ota_backend_esp8266.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/ota/ota_bootloader_esp_idf.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/ota/ota_partitions_esp_idf.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/restart/button/restart_button.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/safe_mode/button/safe_mode_button.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/safe_mode/safe_mode.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/sensor/automation.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/sensor/filter.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/sensor/sensor.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/sha256/sha256.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/sntp/sntp_component.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/socket/lwip_raw_tcp_impl.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/socket/socket.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/status/status_binary_sensor.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/status_led/status_led.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/switch/automation.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/switch/switch.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/template/sensor/template_sensor.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/template/text_sensor/template_text_sensor.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/text_sensor/filter.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/text_sensor/text_sensor.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/time/automation.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/time/posix_tz.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/time/real_time_clock.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/uptime/sensor/uptime_seconds_sensor.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/uptime/sensor/uptime_timestamp_sensor.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/uptime/text_sensor/uptime_text_sensor.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/version/version_text_sensor.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/web_server/ota/ota_web_server.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/web_server_base/web_server_base.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/wifi/wifi_component.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/wifi/wifi_component_esp8266.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/wifi_info/wifi_info_text_sensor.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/components/wifi_signal/wifi_signal_sensor.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/core/alloc_helpers.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/core/application.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/core/build_info_data.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/core/color.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/core/component.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/core/component_iterator.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/core/controller_registry.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/core/entity_base.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/core/gpio.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/core/helpers.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/core/log.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/core/scheduler.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/core/time.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/core/time_64.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/core/util.cpp.o\", \".pioenvs/esp-downstkitchlights/src/esphome/core/wake/wake_esp8266.cpp.o\", \".pioenvs/esp-downstkitchlights/src/main.cpp.o\"])\n", - "\u001b[0mESPHome: Removing _scanf_float (saves ~8KB flash)\n", - "\u001b[0mLinking .pioenvs/esp-downstkitchlights/firmware.elf\n", - "\u001b[0mRAM: [===== ] 48.0% (used 39312 bytes from 81920 bytes)\n", - "Flash: [===== ] 52.5% (used 538059 bytes from 1023984 bytes)\n", - "Building .pioenvs/esp-downstkitchlights/firmware.bin\n", - "\u001b[0mesp8266_copy_factory_bin([\".pioenvs/esp-downstkitchlights/firmware.bin\"], [\".pioenvs/esp-downstkitchlights/firmware.elf\"])\n", - "\u001b[0mesp8266_copy_ota_bin([\".pioenvs/esp-downstkitchlights/firmware.bin\"], [\".pioenvs/esp-downstkitchlights/firmware.elf\"])\n", - "\u001b[0m======================== [\u001b[32m\u001b[1mSUCCESS\u001b[0m] Took 201.36 seconds ========================\u001b[0m\n", - "\\033[32mINFO Build Info: config_hash=0x29939e7f build_time_str=2026-05-24 20:05:46 +1200\\033[0m\n", - "\\033[32mINFO Successfully compiled program.\\033[0m\n", - "\\033[32mINFO Connecting to 172.31.10.15 port 8266...\\033[0m\n", - "\\033[32mINFO Connected to 172.31.10.15\\033[0m\n", - "\\033[32mINFO Uploading /data/build/esp-downstkitchlights/.pioenvs/esp-downstkitchlights/firmware.bin (542208 bytes)\\033[0m\n", - "\\033[32mINFO Compressed to 380107 bytes\\033[0m\n", - "Uploading: [============================================================] 100% Done...\r\n", - "\n", - "\\033[32mINFO Upload took 8.67 seconds, waiting for result...\\033[0m\n", - "\\033[32mINFO OTA successful\\033[0m\n", - "\\033[32mINFO Successfully uploaded program.\\033[0m\n" - ], "error": null, "port": "OTA", "new_name": "", + "depends_on": "", "progress": 100, "remote_peer": "", "remote_job_id": "", @@ -14561,398 +1795,42 @@ "source_esphome_version": "" }, { - "job_id": "107c0b450c2a", + "job_id": "f6a9b2b5ebdf", + "configuration": "esp-downstairsdishwasher.yaml", + "job_type": "install", + "status": "completed", + "created_at": "2026-06-01T04:19:41.248910+00:00", + "started_at": "2026-06-01T05:38:34.411826+00:00", + "completed_at": "2026-06-01T05:41:08.384662+00:00", + "exit_code": 0, + "error": null, + "port": "OTA", + "new_name": "", + "depends_on": "", + "progress": 100, + "remote_peer": "", + "remote_job_id": "", + "remote_peer_label": "", + "device_name": "", + "device_friendly_name": "", + "source": "local", + "source_pin_sha256": "", + "source_label": "", + "source_esphome_version": "" + }, + { + "job_id": "71f38d5b17e2", "configuration": "esp-downstbedrm2lights.yaml", "job_type": "install", "status": "completed", - "created_at": "2026-05-24T07:54:48.614828+00:00", - "started_at": "2026-05-24T08:02:08.462368+00:00", - "completed_at": "2026-05-24T08:05:44.980835+00:00", + "created_at": "2026-06-01T04:19:41.246083+00:00", + "started_at": "2026-06-01T05:36:05.517194+00:00", + "completed_at": "2026-06-01T05:38:34.371613+00:00", "exit_code": 0, - "output": [ - "\\033[32mINFO ESPHome 2026.5.0\\033[0m\n", - "\\033[32mINFO Reading configuration /config/esphome/esp-downstbedrm2lights.yaml...\\033[0m\n", - "\\033[32mINFO Generating C++ source...\\033[0m\n", - "\\033[32mINFO Compiling app... Build path: /data/build/esp-downstbedrm2lights\\033[0m\n", - "Processing \u001b[36m\u001b[1mesp-downstbedrm2lights\u001b[0m (board: esp01_1m; framework: arduino; platform: platformio/espressif8266@4.2.1)\n", - "\u001b[1m--------------------------------------------------------------------------------\u001b[0m\n", - "\u001b[0mHARDWARE: ESP8266 80MHz, 80KB RAM, 1MB Flash\n", - "\u001b[0mESPHome: Excluding Updater.cpp from build (using native OTA backend)\n", - "\u001b[0mESPHome: Excluding core_esp8266_waveform_phase.cpp from build (waveform not required)\n", - "\u001b[0mESPHome: Excluding core_esp8266_waveform_pwm.cpp from build (waveform not required)\n", - "\u001b[0mDependency Graph\n", - "\u001b[0m|-- ESPAsyncTCP @ 2.0.0\n", - "\u001b[0m|-- ESP8266WiFi @ 1.0\n", - "\u001b[0m|-- ESPAsyncWebServer @ 3.9.6\n", - "\u001b[0m|-- DNSServer @ 1.1.1\n", - "\u001b[0m|-- ESP8266mDNS @ 1.2\n", - "\u001b[0m|-- noise-c @ 0.1.11\n", - "\u001b[0m|-- AsyncMqttClient-esphome @ 2.0.0\n", - "\u001b[0m|-- ArduinoJson @ 7.4.2\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/api/api_buffer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/api/api_connection.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/api/api_frame_helper.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/api/api_frame_helper_noise.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/api/api_overflow_buffer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/api/api_pb2.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/api/api_pb2_service.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/api/api_server.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/api/list_entities.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/api/proto.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/api/subscribe_state.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/binary_sensor/automation.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/binary_sensor/binary_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/binary_sensor/filter.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/button/button.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/captive_portal/captive_portal.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/copy/sensor/copy_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/debug/debug_component.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/debug/debug_esp8266.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/esp8266/core.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/esp8266/crash_handler.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/esp8266/gpio.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/esp8266/hal.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/esp8266/helpers.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/esp8266/preferences.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/esp8266/printf_stubs.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/esp8266/waveform_stubs.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/esphome/ota/ota_esphome.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/factory_reset/button/factory_reset_button.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/gpio/binary_sensor/gpio_binary_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/gpio/switch/gpio_switch.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/json/json_util.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/logger/logger.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/logger/logger_esp8266.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/md5/md5.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/mdns/mdns_component.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/mdns/mdns_esp8266.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/mqtt/custom_mqtt_device.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/mqtt/mqtt_alarm_control_panel.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/mqtt/mqtt_binary_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/mqtt/mqtt_button.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/mqtt/mqtt_client.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/mqtt/mqtt_climate.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/mqtt/mqtt_component.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/mqtt/mqtt_cover.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/mqtt/mqtt_date.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/mqtt/mqtt_datetime.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/mqtt/mqtt_event.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/mqtt/mqtt_fan.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/mqtt/mqtt_light.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/mqtt/mqtt_lock.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/mqtt/mqtt_number.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/mqtt/mqtt_select.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/mqtt/mqtt_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/mqtt/mqtt_switch.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/mqtt/mqtt_text.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/mqtt/mqtt_text_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/mqtt/mqtt_time.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/mqtt/mqtt_update.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/mqtt/mqtt_valve.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/network/util.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/ota/ota_backend.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/ota/ota_backend_esp8266.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/ota/ota_bootloader_esp_idf.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/ota/ota_partitions_esp_idf.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/restart/button/restart_button.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/safe_mode/button/safe_mode_button.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/safe_mode/safe_mode.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/sensor/automation.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/sensor/filter.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/sensor/sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/sha256/sha256.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/sntp/sntp_component.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/socket/lwip_raw_tcp_impl.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/socket/socket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/status/status_binary_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/status_led/status_led.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/switch/automation.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/switch/switch.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/template/sensor/template_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/template/text_sensor/template_text_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/text_sensor/filter.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/text_sensor/text_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/time/automation.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/time/posix_tz.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/time/real_time_clock.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/uptime/sensor/uptime_seconds_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/uptime/sensor/uptime_timestamp_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/uptime/text_sensor/uptime_text_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/version/version_text_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/web_server/ota/ota_web_server.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/web_server_base/web_server_base.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/wifi/wifi_component.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/wifi/wifi_component_esp8266.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/wifi_info/wifi_info_text_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/components/wifi_signal/wifi_signal_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/core/alloc_helpers.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/core/application.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/core/build_info_data.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/core/color.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/core/component.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/core/component_iterator.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/core/controller_registry.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/core/entity_base.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/core/gpio.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/core/helpers.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/core/log.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/core/scheduler.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/core/time.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/core/time_64.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/core/util.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/esphome/core/wake/wake_esp8266.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/src/main.cpp.o\n", - "\u001b[0mGenerating LD script .pioenvs/esp-downstbedrm2lights/ld/local.eagle.app.v6.common.ld\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/libada/ESPAsyncTCP/AsyncPrinter.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/libada/ESPAsyncTCP/ESPAsyncTCP.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/libada/ESPAsyncTCP/ESPAsyncTCPbuffer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/libada/ESPAsyncTCP/SyncClient.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/libada/ESPAsyncTCP/tcp_axtls.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib67b/ESP8266WiFi/BearSSLHelpers.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib67b/ESP8266WiFi/CertStoreBearSSL.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-downstbedrm2lights/libada/libESPAsyncTCP.a\n", - "\u001b[0mIndexing .pioenvs/esp-downstbedrm2lights/libada/libESPAsyncTCP.a\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib67b/ESP8266WiFi/ESP8266WiFi.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib67b/ESP8266WiFi/ESP8266WiFiAP.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib67b/ESP8266WiFi/ESP8266WiFiGeneric.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib67b/ESP8266WiFi/ESP8266WiFiGratuitous.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib67b/ESP8266WiFi/ESP8266WiFiMulti.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib67b/ESP8266WiFi/ESP8266WiFiSTA-WPS.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib67b/ESP8266WiFi/ESP8266WiFiSTA.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib67b/ESP8266WiFi/ESP8266WiFiScan.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib67b/ESP8266WiFi/WiFiClient.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib67b/ESP8266WiFi/WiFiClientSecureBearSSL.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib67b/ESP8266WiFi/WiFiServer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib67b/ESP8266WiFi/WiFiServerSecureBearSSL.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib67b/ESP8266WiFi/WiFiUdp.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib67b/ESP8266WiFi/enable_wifi_at_boot_time.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/libaf0/Hash/Hash.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/libc6a/ESPAsyncWebServer/AsyncEventSource.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/libc6a/ESPAsyncWebServer/AsyncJson.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-downstbedrm2lights/libaf0/libHash.a\n", - "\u001b[0mIndexing .pioenvs/esp-downstbedrm2lights/libaf0/libHash.a\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/libc6a/ESPAsyncWebServer/AsyncWebHeader.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-downstbedrm2lights/lib67b/libESP8266WiFi.a\n", - "\u001b[0mIndexing .pioenvs/esp-downstbedrm2lights/lib67b/libESP8266WiFi.a\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/libc6a/ESPAsyncWebServer/AsyncWebServerRequest.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/libc6a/ESPAsyncWebServer/AsyncWebSocket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/libc6a/ESPAsyncWebServer/BackPort_SHA1Builder.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/libc6a/ESPAsyncWebServer/ChunkPrint.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/libc6a/ESPAsyncWebServer/Middleware.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/libc6a/ESPAsyncWebServer/WebAuthentication.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/libc6a/ESPAsyncWebServer/WebHandlers.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/libc6a/ESPAsyncWebServer/WebRequest.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/libc6a/ESPAsyncWebServer/WebResponses.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/libc6a/ESPAsyncWebServer/WebServer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/libecb/DNSServer/DNSServer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib3ff/ESP8266mDNS/ESP8266mDNS.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib3ff/ESP8266mDNS/LEAmDNS.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-downstbedrm2lights/libc6a/libESPAsyncWebServer.a\n", - "\u001b[0mIndexing .pioenvs/esp-downstbedrm2lights/libc6a/libESPAsyncWebServer.a\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib3ff/ESP8266mDNS/LEAmDNS_Control.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-downstbedrm2lights/libecb/libDNSServer.a\n", - "\u001b[0mIndexing .pioenvs/esp-downstbedrm2lights/libecb/libDNSServer.a\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib3ff/ESP8266mDNS/LEAmDNS_Helpers.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib3ff/ESP8266mDNS/LEAmDNS_Structs.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib3ff/ESP8266mDNS/LEAmDNS_Transfer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/libeef/libsodium/crypto_aead/chacha20poly1305/aead_chacha20poly1305.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/libeef/libsodium/crypto_core/ed25519/ref10/ed25519_ref10.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/libeef/libsodium/crypto_core/salsa/ref/core_salsa_ref.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/libeef/libsodium/crypto_hash/crypto_hash.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/libeef/libsodium/crypto_hash/sha256/cp/hash_sha256_cp.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/libeef/libsodium/crypto_hash/sha256/hash_sha256.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/libeef/libsodium/crypto_onetimeauth/crypto_onetimeauth.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/libeef/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/libeef/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/libeef/libsodium/crypto_scalarmult/crypto_scalarmult.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/libeef/libsodium/crypto_scalarmult/curve25519/ref10/x25519_ref10.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/libeef/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/libeef/libsodium/crypto_stream/chacha20/ref/chacha20_ref.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/libeef/libsodium/crypto_stream/chacha20/stream_chacha20.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/libeef/libsodium/crypto_stream/crypto_stream.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/libeef/libsodium/crypto_stream/salsa20/ref/salsa20_ref.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/libeef/libsodium/crypto_stream/salsa20/stream_salsa20.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/libeef/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6-asm.S.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/libeef/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/libeef/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-avx2.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/libeef/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-sse2.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/libeef/libsodium/crypto_verify/verify.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/libeef/libsodium/randombytes/internal/randombytes_internal_random.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/libeef/libsodium/randombytes/randombytes.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-downstbedrm2lights/lib3ff/libESP8266mDNS.a\n", - "\u001b[0mIndexing .pioenvs/esp-downstbedrm2lights/lib3ff/libESP8266mDNS.a\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/libeef/libsodium/randombytes/sysrandom/randombytes_sysrandom.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/libeef/libsodium/sodium/codecs.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/libeef/libsodium/sodium/core.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/libeef/libsodium/sodium/runtime.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/libeef/libsodium/sodium/utils.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib30e/noise-c/backend/openssl/cipher-aesgcm.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib30e/noise-c/backend/ref/cipher-aesgcm.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib30e/noise-c/backend/ref/cipher-chachapoly.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib30e/noise-c/backend/ref/dh-curve25519.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib30e/noise-c/backend/ref/hash-blake2b.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib30e/noise-c/backend/ref/hash-blake2s.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib30e/noise-c/backend/ref/hash-sha256.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib30e/noise-c/backend/sodium/cipher-aesgcm.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib30e/noise-c/backend/sodium/cipher-chachapoly.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib30e/noise-c/backend/sodium/dh-curve25519.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib30e/noise-c/backend/sodium/hash-blake2b.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib30e/noise-c/backend/sodium/hash-sha256.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib30e/noise-c/crypto/aes/rijndael-alg-fst.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib30e/noise-c/crypto/blake2/blake2b.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib30e/noise-c/crypto/blake2/blake2s.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib30e/noise-c/crypto/chacha/chacha.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib30e/noise-c/crypto/donna/curve25519-donna-c64.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib30e/noise-c/crypto/donna/curve25519-donna.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib30e/noise-c/crypto/donna/poly1305-donna.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib30e/noise-c/crypto/sha2/sha256.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib30e/noise-c/crypto/sha2/sha512.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib30e/noise-c/crypto/x25519/x25519.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib30e/noise-c/protocol/cipherstate.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib30e/noise-c/protocol/dhstate.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib30e/noise-c/protocol/errors.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib30e/noise-c/protocol/handshakestate.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib30e/noise-c/protocol/hashstate.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-downstbedrm2lights/libeef/libsodium.a\n", - "\u001b[0mIndexing .pioenvs/esp-downstbedrm2lights/libeef/libsodium.a\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib30e/noise-c/protocol/internal.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib30e/noise-c/protocol/names.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib30e/noise-c/protocol/patterns.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib30e/noise-c/protocol/rand_os.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib30e/noise-c/protocol/rand_sodium.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib30e/noise-c/protocol/randstate.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib30e/noise-c/protocol/signstate.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib30e/noise-c/protocol/symmetricstate.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib30e/noise-c/protocol/util.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib594/ESPAsyncTCP-esphome/AsyncPrinter.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib594/ESPAsyncTCP-esphome/ESPAsyncTCP.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib594/ESPAsyncTCP-esphome/ESPAsyncTCPbuffer.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-downstbedrm2lights/lib30e/libnoise-c.a\n", - "\u001b[0mIndexing .pioenvs/esp-downstbedrm2lights/lib30e/libnoise-c.a\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib594/ESPAsyncTCP-esphome/SyncClient.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib594/ESPAsyncTCP-esphome/tcp_axtls.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib969/AsyncMqttClient-esphome/AsyncMqttClient.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib969/AsyncMqttClient-esphome/AsyncMqttClient/Packets/ConnAckPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib969/AsyncMqttClient-esphome/AsyncMqttClient/Packets/PingRespPacket.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-downstbedrm2lights/lib594/libESPAsyncTCP-esphome.a\n", - "\u001b[0mIndexing .pioenvs/esp-downstbedrm2lights/lib594/libESPAsyncTCP-esphome.a\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib969/AsyncMqttClient-esphome/AsyncMqttClient/Packets/PubAckPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib969/AsyncMqttClient-esphome/AsyncMqttClient/Packets/PubCompPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib969/AsyncMqttClient-esphome/AsyncMqttClient/Packets/PubRecPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib969/AsyncMqttClient-esphome/AsyncMqttClient/Packets/PubRelPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib969/AsyncMqttClient-esphome/AsyncMqttClient/Packets/PublishPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib969/AsyncMqttClient-esphome/AsyncMqttClient/Packets/SubAckPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/lib969/AsyncMqttClient-esphome/AsyncMqttClient/Packets/UnsubAckPacket.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-downstbedrm2lights/libFrameworkArduinoVariant.a\n", - "\u001b[0mIndexing .pioenvs/esp-downstbedrm2lights/libFrameworkArduinoVariant.a\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/Crypto.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/Esp-frag.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/Esp-version.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-downstbedrm2lights/lib969/libAsyncMqttClient-esphome.a\n", - "\u001b[0mIndexing .pioenvs/esp-downstbedrm2lights/lib969/libAsyncMqttClient-esphome.a\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/Esp.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/FS.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/FSnoop.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/FunctionalInterrupt.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/HardwareSerial.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/IPAddress.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/LwipDhcpServer-NonOS.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/LwipDhcpServer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/LwipIntf.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/LwipIntfCB.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/MD5Builder.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/Print.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/Schedule.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/StackThunk.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/Stream.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/StreamSend.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/Tone.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/TypeConversion.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/WMath.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/WString.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/abi.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/aes_unwrap.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/base64.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/cbuf.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/cont.S.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/cont_util.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/core_esp8266_app_entry_noextra4k.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/core_esp8266_eboot_command.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/core_esp8266_features.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/core_esp8266_flash_quirks.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/core_esp8266_flash_utils.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/core_esp8266_i2s.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/core_esp8266_main.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/core_esp8266_non32xfer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/core_esp8266_noniso.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/core_esp8266_phy.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/core_esp8266_postmortem.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/core_esp8266_si2c.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/core_esp8266_sigma_delta.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/core_esp8266_spi_utils.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/core_esp8266_timer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/core_esp8266_vm.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/core_esp8266_wiring.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/core_esp8266_wiring_analog.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/core_esp8266_wiring_digital.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/core_esp8266_wiring_pulse.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/core_esp8266_wiring_pwm.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/core_esp8266_wiring_shift.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/crc32.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/debug.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/exc-c-wrapper-handler.S.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/exc-sethandler.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/flash_hal.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/gdb_hooks.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/heap.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/hwdt_app_entry.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/libb64/cdecode.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/libb64/cencode.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/libc_replacements.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/mmu_iram.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/reboot_uart_dwnld.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/spiffs/spiffs_cache.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/spiffs/spiffs_check.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/spiffs/spiffs_gc.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/spiffs/spiffs_hydrogen.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/spiffs/spiffs_nucleus.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/spiffs_api.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/sqrt32.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/stdlib_noniso.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/time.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/uart.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/umm_malloc/umm_info.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/umm_malloc/umm_integrity.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/umm_malloc/umm_local.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/umm_malloc/umm_malloc.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/umm_malloc/umm_poison.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbedrm2lights/FrameworkArduino/wpa2_eap_patch.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-downstbedrm2lights/libFrameworkArduino.a\n", - "\u001b[0mIndexing .pioenvs/esp-downstbedrm2lights/libFrameworkArduino.a\n", - "\u001b[0mremove_scanf_float_flag([\".pioenvs/esp-downstbedrm2lights/firmware.elf\"], [\".pioenvs/esp-downstbedrm2lights/src/esphome/components/api/api_buffer.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/api/api_connection.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/api/api_frame_helper.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/api/api_frame_helper_noise.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/api/api_overflow_buffer.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/api/api_pb2.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/api/api_pb2_service.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/api/api_server.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/api/list_entities.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/api/proto.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/api/subscribe_state.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/binary_sensor/automation.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/binary_sensor/binary_sensor.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/binary_sensor/filter.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/button/button.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/captive_portal/captive_portal.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/copy/sensor/copy_sensor.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/debug/debug_component.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/debug/debug_esp8266.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/esp8266/core.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/esp8266/crash_handler.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/esp8266/gpio.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/esp8266/hal.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/esp8266/helpers.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/esp8266/preferences.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/esp8266/printf_stubs.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/esp8266/waveform_stubs.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/esphome/ota/ota_esphome.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/factory_reset/button/factory_reset_button.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/gpio/binary_sensor/gpio_binary_sensor.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/gpio/switch/gpio_switch.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/json/json_util.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/logger/logger.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/logger/logger_esp8266.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/md5/md5.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/mdns/mdns_component.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/mdns/mdns_esp8266.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/mqtt/custom_mqtt_device.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/mqtt/mqtt_alarm_control_panel.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/mqtt/mqtt_binary_sensor.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/mqtt/mqtt_button.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/mqtt/mqtt_client.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/mqtt/mqtt_climate.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/mqtt/mqtt_component.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/mqtt/mqtt_cover.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/mqtt/mqtt_date.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/mqtt/mqtt_datetime.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/mqtt/mqtt_event.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/mqtt/mqtt_fan.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/mqtt/mqtt_light.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/mqtt/mqtt_lock.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/mqtt/mqtt_number.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/mqtt/mqtt_select.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/mqtt/mqtt_sensor.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/mqtt/mqtt_switch.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/mqtt/mqtt_text.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/mqtt/mqtt_text_sensor.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/mqtt/mqtt_time.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/mqtt/mqtt_update.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/mqtt/mqtt_valve.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/network/util.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/ota/ota_backend.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/ota/ota_backend_esp8266.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/ota/ota_bootloader_esp_idf.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/ota/ota_partitions_esp_idf.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/restart/button/restart_button.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/safe_mode/button/safe_mode_button.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/safe_mode/safe_mode.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/sensor/automation.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/sensor/filter.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/sensor/sensor.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/sha256/sha256.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/sntp/sntp_component.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/socket/lwip_raw_tcp_impl.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/socket/socket.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/status/status_binary_sensor.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/status_led/status_led.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/switch/automation.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/switch/switch.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/template/sensor/template_sensor.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/template/text_sensor/template_text_sensor.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/text_sensor/filter.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/text_sensor/text_sensor.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/time/automation.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/time/posix_tz.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/time/real_time_clock.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/uptime/sensor/uptime_seconds_sensor.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/uptime/sensor/uptime_timestamp_sensor.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/uptime/text_sensor/uptime_text_sensor.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/version/version_text_sensor.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/web_server/ota/ota_web_server.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/web_server_base/web_server_base.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/wifi/wifi_component.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/wifi/wifi_component_esp8266.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/wifi_info/wifi_info_text_sensor.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/components/wifi_signal/wifi_signal_sensor.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/core/alloc_helpers.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/core/application.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/core/build_info_data.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/core/color.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/core/component.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/core/component_iterator.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/core/controller_registry.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/core/entity_base.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/core/gpio.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/core/helpers.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/core/log.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/core/scheduler.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/core/time.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/core/time_64.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/core/util.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/esphome/core/wake/wake_esp8266.cpp.o\", \".pioenvs/esp-downstbedrm2lights/src/main.cpp.o\"])\n", - "\u001b[0mESPHome: Removing _scanf_float (saves ~8KB flash)\n", - "\u001b[0mLinking .pioenvs/esp-downstbedrm2lights/firmware.elf\n", - "\u001b[0mRAM: [===== ] 47.3% (used 38760 bytes from 81920 bytes)\n", - "Flash: [===== ] 52.4% (used 537003 bytes from 1023984 bytes)\n", - "Building .pioenvs/esp-downstbedrm2lights/firmware.bin\n", - "\u001b[0mesp8266_copy_factory_bin([\".pioenvs/esp-downstbedrm2lights/firmware.bin\"], [\".pioenvs/esp-downstbedrm2lights/firmware.elf\"])\n", - "\u001b[0mesp8266_copy_ota_bin([\".pioenvs/esp-downstbedrm2lights/firmware.bin\"], [\".pioenvs/esp-downstbedrm2lights/firmware.elf\"])\n", - "\u001b[0m======================== [\u001b[32m\u001b[1mSUCCESS\u001b[0m] Took 200.65 seconds ========================\u001b[0m\n", - "\\033[32mINFO Build Info: config_hash=0xdd12611a build_time_str=2026-05-24 20:02:09 +1200\\033[0m\n", - "\\033[32mINFO Successfully compiled program.\\033[0m\n", - "\\033[32mINFO Connecting to 172.31.10.61 port 8266...\\033[0m\n", - "\\033[32mINFO Connected to 172.31.10.61\\033[0m\n", - "\\033[32mINFO Uploading /data/build/esp-downstbedrm2lights/.pioenvs/esp-downstbedrm2lights/firmware.bin (541152 bytes)\\033[0m\n", - "\\033[32mINFO Compressed to 379572 bytes\\033[0m\n", - "Uploading: [============================================================] 100% Done...\r\n", - "\n", - "\\033[32mINFO Upload took 10.94 seconds, waiting for result...\\033[0m\n", - "\\033[32mINFO OTA successful\\033[0m\n", - "\\033[32mINFO Successfully uploaded program.\\033[0m\n" - ], "error": null, "port": "OTA", "new_name": "", + "depends_on": "", "progress": 100, "remote_peer": "", "remote_job_id": "", @@ -14965,398 +1843,18 @@ "source_esphome_version": "" }, { - "job_id": "644d4721de4d", + "job_id": "678010c77357", "configuration": "esp-downstbathswitch.yaml", "job_type": "install", "status": "completed", - "created_at": "2026-05-24T07:54:48.611040+00:00", - "started_at": "2026-05-24T07:58:33.665347+00:00", - "completed_at": "2026-05-24T08:02:08.447224+00:00", + "created_at": "2026-06-01T04:19:41.238598+00:00", + "started_at": "2026-06-01T05:33:37.180225+00:00", + "completed_at": "2026-06-01T05:36:05.507099+00:00", "exit_code": 0, - "output": [ - "\\033[32mINFO ESPHome 2026.5.0\\033[0m\n", - "\\033[32mINFO Reading configuration /config/esphome/esp-downstbathswitch.yaml...\\033[0m\n", - "\\033[32mINFO Generating C++ source...\\033[0m\n", - "\\033[32mINFO Compiling app... Build path: /data/build/esp-downstbathswitch\\033[0m\n", - "Processing \u001b[36m\u001b[1mesp-downstbathswitch\u001b[0m (board: esp01_1m; framework: arduino; platform: platformio/espressif8266@4.2.1)\n", - "\u001b[1m--------------------------------------------------------------------------------\u001b[0m\n", - "\u001b[0mHARDWARE: ESP8266 80MHz, 80KB RAM, 1MB Flash\n", - "\u001b[0mESPHome: Excluding Updater.cpp from build (using native OTA backend)\n", - "\u001b[0mESPHome: Excluding core_esp8266_waveform_phase.cpp from build (waveform not required)\n", - "\u001b[0mESPHome: Excluding core_esp8266_waveform_pwm.cpp from build (waveform not required)\n", - "\u001b[0mDependency Graph\n", - "\u001b[0m|-- ESPAsyncTCP @ 2.0.0\n", - "\u001b[0m|-- ESP8266WiFi @ 1.0\n", - "\u001b[0m|-- ESPAsyncWebServer @ 3.9.6\n", - "\u001b[0m|-- DNSServer @ 1.1.1\n", - "\u001b[0m|-- ESP8266mDNS @ 1.2\n", - "\u001b[0m|-- noise-c @ 0.1.11\n", - "\u001b[0m|-- AsyncMqttClient-esphome @ 2.0.0\n", - "\u001b[0m|-- ArduinoJson @ 7.4.2\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/api/api_buffer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/api/api_connection.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/api/api_frame_helper.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/api/api_frame_helper_noise.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/api/api_overflow_buffer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/api/api_pb2.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/api/api_pb2_service.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/api/api_server.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/api/list_entities.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/api/proto.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/api/subscribe_state.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/binary_sensor/automation.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/binary_sensor/binary_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/binary_sensor/filter.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/button/button.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/captive_portal/captive_portal.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/copy/sensor/copy_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/debug/debug_component.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/debug/debug_esp8266.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/esp8266/core.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/esp8266/crash_handler.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/esp8266/gpio.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/esp8266/hal.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/esp8266/helpers.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/esp8266/preferences.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/esp8266/printf_stubs.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/esp8266/waveform_stubs.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/esphome/ota/ota_esphome.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/factory_reset/button/factory_reset_button.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/gpio/binary_sensor/gpio_binary_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/gpio/switch/gpio_switch.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/json/json_util.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/logger/logger.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/logger/logger_esp8266.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/md5/md5.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/mdns/mdns_component.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/mdns/mdns_esp8266.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/mqtt/custom_mqtt_device.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/mqtt/mqtt_alarm_control_panel.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/mqtt/mqtt_binary_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/mqtt/mqtt_button.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/mqtt/mqtt_client.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/mqtt/mqtt_climate.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/mqtt/mqtt_component.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/mqtt/mqtt_cover.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/mqtt/mqtt_date.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/mqtt/mqtt_datetime.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/mqtt/mqtt_event.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/mqtt/mqtt_fan.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/mqtt/mqtt_light.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/mqtt/mqtt_lock.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/mqtt/mqtt_number.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/mqtt/mqtt_select.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/mqtt/mqtt_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/mqtt/mqtt_switch.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/mqtt/mqtt_text.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/mqtt/mqtt_text_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/mqtt/mqtt_time.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/mqtt/mqtt_update.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/mqtt/mqtt_valve.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/network/util.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/ota/ota_backend.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/ota/ota_backend_esp8266.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/ota/ota_bootloader_esp_idf.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/ota/ota_partitions_esp_idf.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/restart/button/restart_button.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/safe_mode/button/safe_mode_button.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/safe_mode/safe_mode.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/sensor/automation.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/sensor/filter.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/sensor/sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/sha256/sha256.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/sntp/sntp_component.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/socket/lwip_raw_tcp_impl.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/socket/socket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/status/status_binary_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/status_led/status_led.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/switch/automation.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/switch/switch.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/template/sensor/template_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/template/text_sensor/template_text_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/text_sensor/filter.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/text_sensor/text_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/time/automation.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/time/posix_tz.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/time/real_time_clock.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/uptime/sensor/uptime_seconds_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/uptime/sensor/uptime_timestamp_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/uptime/text_sensor/uptime_text_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/version/version_text_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/web_server/ota/ota_web_server.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/web_server_base/web_server_base.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/wifi/wifi_component.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/wifi/wifi_component_esp8266.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/wifi_info/wifi_info_text_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/components/wifi_signal/wifi_signal_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/core/alloc_helpers.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/core/application.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/core/build_info_data.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/core/color.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/core/component.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/core/component_iterator.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/core/controller_registry.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/core/entity_base.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/core/gpio.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/core/helpers.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/core/log.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/core/scheduler.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/core/time.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/core/time_64.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/core/util.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/esphome/core/wake/wake_esp8266.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/src/main.cpp.o\n", - "\u001b[0mGenerating LD script .pioenvs/esp-downstbathswitch/ld/local.eagle.app.v6.common.ld\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/libe37/ESPAsyncTCP/AsyncPrinter.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/libe37/ESPAsyncTCP/ESPAsyncTCP.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/libe37/ESPAsyncTCP/ESPAsyncTCPbuffer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/libe37/ESPAsyncTCP/SyncClient.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/libe37/ESPAsyncTCP/tcp_axtls.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib67b/ESP8266WiFi/BearSSLHelpers.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib67b/ESP8266WiFi/CertStoreBearSSL.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-downstbathswitch/libe37/libESPAsyncTCP.a\n", - "\u001b[0mIndexing .pioenvs/esp-downstbathswitch/libe37/libESPAsyncTCP.a\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib67b/ESP8266WiFi/ESP8266WiFi.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib67b/ESP8266WiFi/ESP8266WiFiAP.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib67b/ESP8266WiFi/ESP8266WiFiGeneric.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib67b/ESP8266WiFi/ESP8266WiFiGratuitous.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib67b/ESP8266WiFi/ESP8266WiFiMulti.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib67b/ESP8266WiFi/ESP8266WiFiSTA-WPS.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib67b/ESP8266WiFi/ESP8266WiFiSTA.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib67b/ESP8266WiFi/ESP8266WiFiScan.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib67b/ESP8266WiFi/WiFiClient.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib67b/ESP8266WiFi/WiFiClientSecureBearSSL.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib67b/ESP8266WiFi/WiFiServer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib67b/ESP8266WiFi/WiFiServerSecureBearSSL.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib67b/ESP8266WiFi/WiFiUdp.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib67b/ESP8266WiFi/enable_wifi_at_boot_time.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/libaf0/Hash/Hash.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/libba0/ESPAsyncWebServer/AsyncEventSource.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-downstbathswitch/libaf0/libHash.a\n", - "\u001b[0mIndexing .pioenvs/esp-downstbathswitch/libaf0/libHash.a\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/libba0/ESPAsyncWebServer/AsyncJson.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/libba0/ESPAsyncWebServer/AsyncWebHeader.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-downstbathswitch/lib67b/libESP8266WiFi.a\n", - "\u001b[0mIndexing .pioenvs/esp-downstbathswitch/lib67b/libESP8266WiFi.a\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/libba0/ESPAsyncWebServer/AsyncWebServerRequest.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/libba0/ESPAsyncWebServer/AsyncWebSocket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/libba0/ESPAsyncWebServer/BackPort_SHA1Builder.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/libba0/ESPAsyncWebServer/ChunkPrint.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/libba0/ESPAsyncWebServer/Middleware.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/libba0/ESPAsyncWebServer/WebAuthentication.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/libba0/ESPAsyncWebServer/WebHandlers.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/libba0/ESPAsyncWebServer/WebRequest.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/libba0/ESPAsyncWebServer/WebResponses.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/libba0/ESPAsyncWebServer/WebServer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/libecb/DNSServer/DNSServer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib3ff/ESP8266mDNS/ESP8266mDNS.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib3ff/ESP8266mDNS/LEAmDNS.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-downstbathswitch/libba0/libESPAsyncWebServer.a\n", - "\u001b[0mIndexing .pioenvs/esp-downstbathswitch/libba0/libESPAsyncWebServer.a\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib3ff/ESP8266mDNS/LEAmDNS_Control.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-downstbathswitch/libecb/libDNSServer.a\n", - "\u001b[0mIndexing .pioenvs/esp-downstbathswitch/libecb/libDNSServer.a\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib3ff/ESP8266mDNS/LEAmDNS_Helpers.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib3ff/ESP8266mDNS/LEAmDNS_Structs.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib3ff/ESP8266mDNS/LEAmDNS_Transfer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib1b8/libsodium/crypto_aead/chacha20poly1305/aead_chacha20poly1305.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib1b8/libsodium/crypto_core/ed25519/ref10/ed25519_ref10.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib1b8/libsodium/crypto_core/salsa/ref/core_salsa_ref.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib1b8/libsodium/crypto_hash/crypto_hash.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib1b8/libsodium/crypto_hash/sha256/cp/hash_sha256_cp.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib1b8/libsodium/crypto_hash/sha256/hash_sha256.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib1b8/libsodium/crypto_onetimeauth/crypto_onetimeauth.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib1b8/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib1b8/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib1b8/libsodium/crypto_scalarmult/crypto_scalarmult.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib1b8/libsodium/crypto_scalarmult/curve25519/ref10/x25519_ref10.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib1b8/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib1b8/libsodium/crypto_stream/chacha20/ref/chacha20_ref.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib1b8/libsodium/crypto_stream/chacha20/stream_chacha20.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib1b8/libsodium/crypto_stream/crypto_stream.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib1b8/libsodium/crypto_stream/salsa20/ref/salsa20_ref.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib1b8/libsodium/crypto_stream/salsa20/stream_salsa20.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib1b8/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6-asm.S.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib1b8/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib1b8/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-avx2.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib1b8/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-sse2.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib1b8/libsodium/crypto_verify/verify.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib1b8/libsodium/randombytes/internal/randombytes_internal_random.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib1b8/libsodium/randombytes/randombytes.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib1b8/libsodium/randombytes/sysrandom/randombytes_sysrandom.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib1b8/libsodium/sodium/codecs.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-downstbathswitch/lib3ff/libESP8266mDNS.a\n", - "\u001b[0mIndexing .pioenvs/esp-downstbathswitch/lib3ff/libESP8266mDNS.a\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib1b8/libsodium/sodium/core.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib1b8/libsodium/sodium/runtime.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib1b8/libsodium/sodium/utils.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib519/noise-c/backend/openssl/cipher-aesgcm.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib519/noise-c/backend/ref/cipher-aesgcm.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib519/noise-c/backend/ref/cipher-chachapoly.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib519/noise-c/backend/ref/dh-curve25519.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib519/noise-c/backend/ref/hash-blake2b.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib519/noise-c/backend/ref/hash-blake2s.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib519/noise-c/backend/ref/hash-sha256.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib519/noise-c/backend/sodium/cipher-aesgcm.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib519/noise-c/backend/sodium/cipher-chachapoly.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib519/noise-c/backend/sodium/dh-curve25519.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib519/noise-c/backend/sodium/hash-blake2b.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib519/noise-c/backend/sodium/hash-sha256.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib519/noise-c/crypto/aes/rijndael-alg-fst.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib519/noise-c/crypto/blake2/blake2b.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib519/noise-c/crypto/blake2/blake2s.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib519/noise-c/crypto/chacha/chacha.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib519/noise-c/crypto/donna/curve25519-donna-c64.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib519/noise-c/crypto/donna/curve25519-donna.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib519/noise-c/crypto/donna/poly1305-donna.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib519/noise-c/crypto/sha2/sha256.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib519/noise-c/crypto/sha2/sha512.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib519/noise-c/crypto/x25519/x25519.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib519/noise-c/protocol/cipherstate.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib519/noise-c/protocol/dhstate.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib519/noise-c/protocol/errors.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib519/noise-c/protocol/handshakestate.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib519/noise-c/protocol/hashstate.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib519/noise-c/protocol/internal.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib519/noise-c/protocol/names.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib519/noise-c/protocol/patterns.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib519/noise-c/protocol/rand_os.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib519/noise-c/protocol/rand_sodium.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib519/noise-c/protocol/randstate.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib519/noise-c/protocol/signstate.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib519/noise-c/protocol/symmetricstate.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib519/noise-c/protocol/util.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib603/ESPAsyncTCP-esphome/AsyncPrinter.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib603/ESPAsyncTCP-esphome/ESPAsyncTCP.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-downstbathswitch/lib1b8/libsodium.a\n", - "\u001b[0mArchiving .pioenvs/esp-downstbathswitch/lib519/libnoise-c.a\n", - "\u001b[0mIndexing .pioenvs/esp-downstbathswitch/lib1b8/libsodium.a\n", - "\u001b[0mIndexing .pioenvs/esp-downstbathswitch/lib519/libnoise-c.a\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib603/ESPAsyncTCP-esphome/ESPAsyncTCPbuffer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib603/ESPAsyncTCP-esphome/SyncClient.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/lib603/ESPAsyncTCP-esphome/tcp_axtls.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/libb95/AsyncMqttClient-esphome/AsyncMqttClient.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/libb95/AsyncMqttClient-esphome/AsyncMqttClient/Packets/ConnAckPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/libb95/AsyncMqttClient-esphome/AsyncMqttClient/Packets/PingRespPacket.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-downstbathswitch/lib603/libESPAsyncTCP-esphome.a\n", - "\u001b[0mIndexing .pioenvs/esp-downstbathswitch/lib603/libESPAsyncTCP-esphome.a\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/libb95/AsyncMqttClient-esphome/AsyncMqttClient/Packets/PubAckPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/libb95/AsyncMqttClient-esphome/AsyncMqttClient/Packets/PubCompPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/libb95/AsyncMqttClient-esphome/AsyncMqttClient/Packets/PubRecPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/libb95/AsyncMqttClient-esphome/AsyncMqttClient/Packets/PubRelPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/libb95/AsyncMqttClient-esphome/AsyncMqttClient/Packets/PublishPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/libb95/AsyncMqttClient-esphome/AsyncMqttClient/Packets/SubAckPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/libb95/AsyncMqttClient-esphome/AsyncMqttClient/Packets/UnsubAckPacket.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-downstbathswitch/libFrameworkArduinoVariant.a\n", - "\u001b[0mIndexing .pioenvs/esp-downstbathswitch/libFrameworkArduinoVariant.a\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/Crypto.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/Esp-frag.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/Esp-version.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/Esp.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-downstbathswitch/libb95/libAsyncMqttClient-esphome.a\n", - "\u001b[0mIndexing .pioenvs/esp-downstbathswitch/libb95/libAsyncMqttClient-esphome.a\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/FS.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/FSnoop.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/FunctionalInterrupt.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/HardwareSerial.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/IPAddress.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/LwipDhcpServer-NonOS.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/LwipDhcpServer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/LwipIntf.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/LwipIntfCB.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/MD5Builder.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/Print.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/Schedule.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/StackThunk.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/Stream.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/StreamSend.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/Tone.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/TypeConversion.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/WMath.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/WString.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/abi.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/aes_unwrap.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/base64.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/cbuf.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/cont.S.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/cont_util.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/core_esp8266_app_entry_noextra4k.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/core_esp8266_eboot_command.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/core_esp8266_features.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/core_esp8266_flash_quirks.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/core_esp8266_flash_utils.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/core_esp8266_i2s.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/core_esp8266_main.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/core_esp8266_non32xfer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/core_esp8266_noniso.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/core_esp8266_phy.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/core_esp8266_postmortem.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/core_esp8266_si2c.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/core_esp8266_sigma_delta.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/core_esp8266_spi_utils.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/core_esp8266_timer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/core_esp8266_vm.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/core_esp8266_wiring.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/core_esp8266_wiring_analog.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/core_esp8266_wiring_digital.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/core_esp8266_wiring_pulse.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/core_esp8266_wiring_pwm.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/core_esp8266_wiring_shift.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/crc32.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/debug.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/exc-c-wrapper-handler.S.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/exc-sethandler.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/flash_hal.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/gdb_hooks.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/heap.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/hwdt_app_entry.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/libb64/cdecode.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/libb64/cencode.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/libc_replacements.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/mmu_iram.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/reboot_uart_dwnld.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/spiffs/spiffs_cache.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/spiffs/spiffs_check.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/spiffs/spiffs_gc.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/spiffs/spiffs_hydrogen.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/spiffs/spiffs_nucleus.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/spiffs_api.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/sqrt32.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/stdlib_noniso.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/time.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/uart.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/umm_malloc/umm_info.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/umm_malloc/umm_integrity.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/umm_malloc/umm_local.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/umm_malloc/umm_malloc.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/umm_malloc/umm_poison.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-downstbathswitch/FrameworkArduino/wpa2_eap_patch.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-downstbathswitch/libFrameworkArduino.a\n", - "\u001b[0mIndexing .pioenvs/esp-downstbathswitch/libFrameworkArduino.a\n", - "\u001b[0mremove_scanf_float_flag([\".pioenvs/esp-downstbathswitch/firmware.elf\"], [\".pioenvs/esp-downstbathswitch/src/esphome/components/api/api_buffer.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/api/api_connection.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/api/api_frame_helper.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/api/api_frame_helper_noise.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/api/api_overflow_buffer.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/api/api_pb2.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/api/api_pb2_service.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/api/api_server.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/api/list_entities.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/api/proto.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/api/subscribe_state.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/binary_sensor/automation.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/binary_sensor/binary_sensor.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/binary_sensor/filter.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/button/button.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/captive_portal/captive_portal.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/copy/sensor/copy_sensor.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/debug/debug_component.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/debug/debug_esp8266.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/esp8266/core.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/esp8266/crash_handler.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/esp8266/gpio.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/esp8266/hal.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/esp8266/helpers.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/esp8266/preferences.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/esp8266/printf_stubs.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/esp8266/waveform_stubs.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/esphome/ota/ota_esphome.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/factory_reset/button/factory_reset_button.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/gpio/binary_sensor/gpio_binary_sensor.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/gpio/switch/gpio_switch.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/json/json_util.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/logger/logger.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/logger/logger_esp8266.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/md5/md5.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/mdns/mdns_component.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/mdns/mdns_esp8266.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/mqtt/custom_mqtt_device.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/mqtt/mqtt_alarm_control_panel.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/mqtt/mqtt_binary_sensor.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/mqtt/mqtt_button.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/mqtt/mqtt_client.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/mqtt/mqtt_climate.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/mqtt/mqtt_component.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/mqtt/mqtt_cover.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/mqtt/mqtt_date.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/mqtt/mqtt_datetime.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/mqtt/mqtt_event.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/mqtt/mqtt_fan.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/mqtt/mqtt_light.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/mqtt/mqtt_lock.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/mqtt/mqtt_number.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/mqtt/mqtt_select.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/mqtt/mqtt_sensor.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/mqtt/mqtt_switch.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/mqtt/mqtt_text.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/mqtt/mqtt_text_sensor.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/mqtt/mqtt_time.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/mqtt/mqtt_update.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/mqtt/mqtt_valve.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/network/util.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/ota/ota_backend.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/ota/ota_backend_esp8266.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/ota/ota_bootloader_esp_idf.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/ota/ota_partitions_esp_idf.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/restart/button/restart_button.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/safe_mode/button/safe_mode_button.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/safe_mode/safe_mode.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/sensor/automation.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/sensor/filter.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/sensor/sensor.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/sha256/sha256.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/sntp/sntp_component.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/socket/lwip_raw_tcp_impl.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/socket/socket.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/status/status_binary_sensor.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/status_led/status_led.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/switch/automation.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/switch/switch.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/template/sensor/template_sensor.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/template/text_sensor/template_text_sensor.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/text_sensor/filter.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/text_sensor/text_sensor.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/time/automation.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/time/posix_tz.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/time/real_time_clock.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/uptime/sensor/uptime_seconds_sensor.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/uptime/sensor/uptime_timestamp_sensor.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/uptime/text_sensor/uptime_text_sensor.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/version/version_text_sensor.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/web_server/ota/ota_web_server.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/web_server_base/web_server_base.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/wifi/wifi_component.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/wifi/wifi_component_esp8266.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/wifi_info/wifi_info_text_sensor.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/components/wifi_signal/wifi_signal_sensor.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/core/alloc_helpers.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/core/application.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/core/build_info_data.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/core/color.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/core/component.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/core/component_iterator.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/core/controller_registry.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/core/entity_base.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/core/gpio.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/core/helpers.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/core/log.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/core/scheduler.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/core/time.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/core/time_64.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/core/util.cpp.o\", \".pioenvs/esp-downstbathswitch/src/esphome/core/wake/wake_esp8266.cpp.o\", \".pioenvs/esp-downstbathswitch/src/main.cpp.o\"])\n", - "\u001b[0mESPHome: Removing _scanf_float (saves ~8KB flash)\n", - "\u001b[0mLinking .pioenvs/esp-downstbathswitch/firmware.elf\n", - "\u001b[0mRAM: [===== ] 49.2% (used 40296 bytes from 81920 bytes)\n", - "Flash: [===== ] 52.9% (used 541179 bytes from 1023984 bytes)\n", - "Building .pioenvs/esp-downstbathswitch/firmware.bin\n", - "\u001b[0mesp8266_copy_factory_bin([\".pioenvs/esp-downstbathswitch/firmware.bin\"], [\".pioenvs/esp-downstbathswitch/firmware.elf\"])\n", - "\u001b[0mesp8266_copy_ota_bin([\".pioenvs/esp-downstbathswitch/firmware.bin\"], [\".pioenvs/esp-downstbathswitch/firmware.elf\"])\n", - "\u001b[0m======================== [\u001b[32m\u001b[1mSUCCESS\u001b[0m] Took 200.29 seconds ========================\u001b[0m\n", - "\\033[32mINFO Build Info: config_hash=0xaf7a8515 build_time_str=2026-05-24 19:58:35 +1200\\033[0m\n", - "\\033[32mINFO Successfully compiled program.\\033[0m\n", - "\\033[32mINFO Connecting to 172.31.10.1 port 8266...\\033[0m\n", - "\\033[32mINFO Connected to 172.31.10.1\\033[0m\n", - "\\033[32mINFO Uploading /data/build/esp-downstbathswitch/.pioenvs/esp-downstbathswitch/firmware.bin (545328 bytes)\\033[0m\n", - "\\033[32mINFO Compressed to 381718 bytes\\033[0m\n", - "Uploading: [============================================================] 100% Done...\r\n", - "\n", - "\\033[32mINFO Upload took 9.37 seconds, waiting for result...\\033[0m\n", - "\\033[32mINFO OTA successful\\033[0m\n", - "\\033[32mINFO Successfully uploaded program.\\033[0m\n" - ], "error": null, "port": "OTA", "new_name": "", + "depends_on": "", "progress": 100, "remote_peer": "", "remote_job_id": "", @@ -15369,415 +1867,162 @@ "source_esphome_version": "" }, { - "job_id": "82638ff421c4", + "job_id": "fa4e47ae6747", + "configuration": "esp-datacupboardpower-left.yaml", + "job_type": "install", + "status": "completed", + "created_at": "2026-06-01T04:19:41.236837+00:00", + "started_at": "2026-06-01T05:31:10.108403+00:00", + "completed_at": "2026-06-01T05:33:37.175681+00:00", + "exit_code": 0, + "error": null, + "port": "OTA", + "new_name": "", + "depends_on": "", + "progress": 100, + "remote_peer": "", + "remote_job_id": "", + "remote_peer_label": "", + "device_name": "", + "device_friendly_name": "", + "source": "local", + "source_pin_sha256": "", + "source_label": "", + "source_esphome_version": "" + }, + { + "job_id": "87ea46b214cf", + "configuration": "esp-datacupboardfans.yaml", + "job_type": "install", + "status": "completed", + "created_at": "2026-06-01T04:19:41.234917+00:00", + "started_at": "2026-06-01T05:28:42.167771+00:00", + "completed_at": "2026-06-01T05:31:10.104136+00:00", + "exit_code": 0, + "error": null, + "port": "OTA", + "new_name": "", + "depends_on": "", + "progress": 100, + "remote_peer": "", + "remote_job_id": "", + "remote_peer_label": "", + "device_name": "", + "device_friendly_name": "", + "source": "local", + "source_pin_sha256": "", + "source_label": "", + "source_esphome_version": "" + }, + { + "job_id": "ed04e1a2268d", + "configuration": "esp-centralstairs-top.yaml", + "job_type": "install", + "status": "completed", + "created_at": "2026-06-01T04:19:41.232634+00:00", + "started_at": "2026-06-01T05:26:11.202581+00:00", + "completed_at": "2026-06-01T05:28:42.159922+00:00", + "exit_code": 0, + "error": null, + "port": "OTA", + "new_name": "", + "depends_on": "", + "progress": 100, + "remote_peer": "", + "remote_job_id": "", + "remote_peer_label": "", + "device_name": "", + "device_friendly_name": "", + "source": "local", + "source_pin_sha256": "", + "source_label": "", + "source_esphome_version": "" + }, + { + "job_id": "b27a71fa6f9c", + "configuration": "esp-centralstairs-bottom.yaml", + "job_type": "install", + "status": "completed", + "created_at": "2026-06-01T04:19:41.230916+00:00", + "started_at": "2026-06-01T05:23:43.347967+00:00", + "completed_at": "2026-06-01T05:26:11.196582+00:00", + "exit_code": 0, + "error": null, + "port": "OTA", + "new_name": "", + "depends_on": "", + "progress": 100, + "remote_peer": "", + "remote_job_id": "", + "remote_peer_label": "", + "device_name": "", + "device_friendly_name": "", + "source": "local", + "source_pin_sha256": "", + "source_label": "", + "source_esphome_version": "" + }, + { + "job_id": "6aa869f37e2b", + "configuration": "esp-bedrm2lights.yaml", + "job_type": "install", + "status": "completed", + "created_at": "2026-06-01T04:19:41.227732+00:00", + "started_at": "2026-06-01T05:21:03.796202+00:00", + "completed_at": "2026-06-01T05:23:43.341178+00:00", + "exit_code": 0, + "error": null, + "port": "OTA", + "new_name": "", + "depends_on": "", + "progress": 100, + "remote_peer": "", + "remote_job_id": "", + "remote_peer_label": "", + "device_name": "", + "device_friendly_name": "", + "source": "local", + "source_pin_sha256": "", + "source_label": "", + "source_esphome_version": "" + }, + { + "job_id": "3098b43a1966", + "configuration": "esp-bedrm2fanswitch.yaml", + "job_type": "install", + "status": "completed", + "created_at": "2026-06-01T04:19:41.226046+00:00", + "started_at": "2026-06-01T05:18:34.253696+00:00", + "completed_at": "2026-06-01T05:21:03.792392+00:00", + "exit_code": 0, + "error": null, + "port": "OTA", + "new_name": "", + "depends_on": "", + "progress": 100, + "remote_peer": "", + "remote_job_id": "", + "remote_peer_label": "", + "device_name": "", + "device_friendly_name": "", + "source": "local", + "source_pin_sha256": "", + "source_label": "", + "source_esphome_version": "" + }, + { + "job_id": "3d21bce1f0d7", "configuration": "esp-arcademachine1.yaml", "job_type": "install", "status": "completed", - "created_at": "2026-05-24T07:54:48.607060+00:00", - "started_at": "2026-05-24T07:54:48.607230+00:00", - "completed_at": "2026-05-24T07:58:33.660243+00:00", + "created_at": "2026-06-01T04:19:41.224127+00:00", + "started_at": "2026-06-01T05:15:56.607659+00:00", + "completed_at": "2026-06-01T05:18:34.248079+00:00", "exit_code": 0, - "output": [ - "\\033[32mINFO ESPHome 2026.5.0\\033[0m\n", - "\\033[32mINFO Reading configuration /config/esphome/esp-arcademachine1.yaml...\\033[0m\n", - "\\033[32mINFO Generating C++ source...\\033[0m\n", - "\\033[32mINFO Compiling app... Build path: /data/build/esp-arcademachine1\\033[0m\n", - "Processing \u001b[36m\u001b[1mesp-arcademachine1\u001b[0m (board: esp8285; framework: arduino; platform: platformio/espressif8266@4.2.1)\n", - "\u001b[1m--------------------------------------------------------------------------------\u001b[0m\n", - "Tool Manager: Installing \u001b[36mplatformio/tool-esptoolpy @ ~1.30000.0\u001b[0m\n", - "\u001b[?25lDownloading [####################################] 100%\u001b[?25h\n", - "\u001b[?25lUnpacking [####################################] 100%\u001b[?25h\n", - "Tool Manager: \u001b[32mtool-esptoolpy@1.30000.201119 has been installed!\u001b[0m\n", - "\u001b[0mHARDWARE: ESP8266 80MHz, 80KB RAM, 1MB Flash\n", - "\u001b[0mESPHome: Excluding Updater.cpp from build (using native OTA backend)\n", - "\u001b[0mESPHome: Excluding core_esp8266_waveform_phase.cpp from build (waveform not required)\n", - "\u001b[0mESPHome: Excluding core_esp8266_waveform_pwm.cpp from build (waveform not required)\n", - "\u001b[0mDependency Graph\n", - "\u001b[0m|-- ESPAsyncTCP @ 2.0.0\n", - "\u001b[0m|-- ESP8266WiFi @ 1.0\n", - "\u001b[0m|-- ESPAsyncWebServer @ 3.9.6\n", - "\u001b[0m|-- DNSServer @ 1.1.1\n", - "\u001b[0m|-- ESP8266mDNS @ 1.2\n", - "\u001b[0m|-- noise-c @ 0.1.11\n", - "\u001b[0m|-- AsyncMqttClient-esphome @ 2.0.0\n", - "\u001b[0m|-- ArduinoJson @ 7.4.2\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/api/api_buffer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/api/api_connection.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/api/api_frame_helper.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/api/api_frame_helper_noise.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/api/api_overflow_buffer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/api/api_pb2.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/api/api_pb2_service.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/api/api_server.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/api/list_entities.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/api/proto.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/api/subscribe_state.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/binary_sensor/automation.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/binary_sensor/binary_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/binary_sensor/filter.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/button/button.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/captive_portal/captive_portal.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/copy/sensor/copy_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/debug/debug_component.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/debug/debug_esp8266.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/esp8266/core.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/esp8266/crash_handler.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/esp8266/gpio.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/esp8266/hal.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/esp8266/helpers.cpp.o\n", - "\u001b[33msrc/esphome/components/esp8266/crash_handler.cpp:120:25: warning: 'const esphome::LogString* esphome::esp8266::get_reset_reason(uint32_t)' defined but not used [-Wunused-function]\n", - "\u001b[0m\u001b[33m 120 | static const LogString *get_reset_reason(uint32_t reason) {\n", - "\u001b[0m | ^~~~~~~~~~~~~~~~\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/esp8266/preferences.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/esp8266/printf_stubs.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/esp8266/waveform_stubs.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/esphome/ota/ota_esphome.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/factory_reset/button/factory_reset_button.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/gpio/binary_sensor/gpio_binary_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/gpio/switch/gpio_switch.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/hlw8012/hlw8012.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/json/json_util.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/logger/logger.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/logger/logger_esp8266.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/md5/md5.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/mdns/mdns_component.cpp.o\n", - "\u001b[33msrc/esphome/components/logger/logger.cpp:214:25: warning: 'const esphome::LogString* esphome::logger::get_log_level_str(uint8_t)' defined but not used [-Wunused-function]\n", - "\u001b[0m\u001b[33m 214 | static const LogString *get_log_level_str(uint8_t level) {\n", - "\u001b[0m | ^~~~~~~~~~~~~~~~~\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/mdns/mdns_esp8266.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/mqtt/custom_mqtt_device.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/mqtt/mqtt_alarm_control_panel.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/mqtt/mqtt_binary_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/mqtt/mqtt_button.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/mqtt/mqtt_client.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/mqtt/mqtt_climate.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/mqtt/mqtt_component.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/mqtt/mqtt_cover.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/mqtt/mqtt_date.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/mqtt/mqtt_datetime.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/mqtt/mqtt_event.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/mqtt/mqtt_fan.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/mqtt/mqtt_light.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/mqtt/mqtt_lock.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/mqtt/mqtt_number.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/mqtt/mqtt_select.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/mqtt/mqtt_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/mqtt/mqtt_switch.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/mqtt/mqtt_text.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/mqtt/mqtt_text_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/mqtt/mqtt_time.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/mqtt/mqtt_update.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/mqtt/mqtt_valve.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/network/util.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/ota/ota_backend.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/ota/ota_backend_esp8266.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/ota/ota_bootloader_esp_idf.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/ota/ota_partitions_esp_idf.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/pulse_counter/pulse_counter_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/restart/button/restart_button.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/safe_mode/button/safe_mode_button.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/safe_mode/safe_mode.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/sensor/automation.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/sensor/filter.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/sensor/sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/sha256/sha256.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/sntp/sntp_component.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/socket/lwip_raw_tcp_impl.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/socket/socket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/status/status_binary_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/status_led/status_led.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/switch/automation.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/switch/switch.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/template/binary_sensor/template_binary_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/template/sensor/template_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/template/text_sensor/template_text_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/text_sensor/filter.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/text_sensor/text_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/time/automation.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/time/posix_tz.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/time/real_time_clock.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/total_daily_energy/total_daily_energy.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/uptime/sensor/uptime_seconds_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/uptime/sensor/uptime_timestamp_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/uptime/text_sensor/uptime_text_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/version/version_text_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/web_server/list_entities.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/web_server/ota/ota_web_server.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/web_server/web_server.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/web_server_base/web_server_base.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/wifi/wifi_component.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/wifi/wifi_component_esp8266.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/wifi_info/wifi_info_text_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/components/wifi_signal/wifi_signal_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/core/alloc_helpers.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/core/application.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/core/build_info_data.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/core/color.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/core/component.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/core/component_iterator.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/core/controller_registry.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/core/entity_base.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/core/gpio.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/core/helpers.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/core/log.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/core/scheduler.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/core/time.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/core/time_64.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/core/util.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/esphome/core/wake/wake_esp8266.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/src/main.cpp.o\n", - "\u001b[0mGenerating LD script .pioenvs/esp-arcademachine1/ld/local.eagle.app.v6.common.ld\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/lib41f/ESPAsyncTCP/AsyncPrinter.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/lib41f/ESPAsyncTCP/ESPAsyncTCP.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/lib41f/ESPAsyncTCP/ESPAsyncTCPbuffer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/lib41f/ESPAsyncTCP/SyncClient.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/lib41f/ESPAsyncTCP/tcp_axtls.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/lib67b/ESP8266WiFi/BearSSLHelpers.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/lib67b/ESP8266WiFi/CertStoreBearSSL.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/lib67b/ESP8266WiFi/ESP8266WiFi.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-arcademachine1/lib41f/libESPAsyncTCP.a\n", - "\u001b[0mIndexing .pioenvs/esp-arcademachine1/lib41f/libESPAsyncTCP.a\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/lib67b/ESP8266WiFi/ESP8266WiFiAP.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/lib67b/ESP8266WiFi/ESP8266WiFiGeneric.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/lib67b/ESP8266WiFi/ESP8266WiFiGratuitous.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/lib67b/ESP8266WiFi/ESP8266WiFiMulti.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/lib67b/ESP8266WiFi/ESP8266WiFiSTA-WPS.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/lib67b/ESP8266WiFi/ESP8266WiFiSTA.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/lib67b/ESP8266WiFi/ESP8266WiFiScan.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/lib67b/ESP8266WiFi/WiFiClient.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/lib67b/ESP8266WiFi/WiFiClientSecureBearSSL.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/lib67b/ESP8266WiFi/WiFiServer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/lib67b/ESP8266WiFi/WiFiServerSecureBearSSL.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/lib67b/ESP8266WiFi/WiFiUdp.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/lib67b/ESP8266WiFi/enable_wifi_at_boot_time.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/libaf0/Hash/Hash.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/libcbb/ESPAsyncWebServer/AsyncEventSource.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/libcbb/ESPAsyncWebServer/AsyncJson.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-arcademachine1/libaf0/libHash.a\n", - "\u001b[0mIndexing .pioenvs/esp-arcademachine1/libaf0/libHash.a\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/libcbb/ESPAsyncWebServer/AsyncWebHeader.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-arcademachine1/lib67b/libESP8266WiFi.a\n", - "\u001b[0mIndexing .pioenvs/esp-arcademachine1/lib67b/libESP8266WiFi.a\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/libcbb/ESPAsyncWebServer/AsyncWebServerRequest.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/libcbb/ESPAsyncWebServer/AsyncWebSocket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/libcbb/ESPAsyncWebServer/BackPort_SHA1Builder.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/libcbb/ESPAsyncWebServer/ChunkPrint.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/libcbb/ESPAsyncWebServer/Middleware.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/libcbb/ESPAsyncWebServer/WebAuthentication.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/libcbb/ESPAsyncWebServer/WebHandlers.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/libcbb/ESPAsyncWebServer/WebRequest.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/libcbb/ESPAsyncWebServer/WebResponses.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/libcbb/ESPAsyncWebServer/WebServer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/libecb/DNSServer/DNSServer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/lib3ff/ESP8266mDNS/ESP8266mDNS.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/lib3ff/ESP8266mDNS/LEAmDNS.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-arcademachine1/libecb/libDNSServer.a\n", - "\u001b[0mIndexing .pioenvs/esp-arcademachine1/libecb/libDNSServer.a\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/lib3ff/ESP8266mDNS/LEAmDNS_Control.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-arcademachine1/libcbb/libESPAsyncWebServer.a\n", - "\u001b[0mIndexing .pioenvs/esp-arcademachine1/libcbb/libESPAsyncWebServer.a\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/lib3ff/ESP8266mDNS/LEAmDNS_Helpers.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/lib3ff/ESP8266mDNS/LEAmDNS_Structs.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/lib3ff/ESP8266mDNS/LEAmDNS_Transfer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/libcab/libsodium/crypto_aead/chacha20poly1305/aead_chacha20poly1305.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/libcab/libsodium/crypto_core/ed25519/ref10/ed25519_ref10.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/libcab/libsodium/crypto_core/salsa/ref/core_salsa_ref.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/libcab/libsodium/crypto_hash/crypto_hash.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/libcab/libsodium/crypto_hash/sha256/cp/hash_sha256_cp.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/libcab/libsodium/crypto_hash/sha256/hash_sha256.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/libcab/libsodium/crypto_onetimeauth/crypto_onetimeauth.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/libcab/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/libcab/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/libcab/libsodium/crypto_scalarmult/crypto_scalarmult.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/libcab/libsodium/crypto_scalarmult/curve25519/ref10/x25519_ref10.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/libcab/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/libcab/libsodium/crypto_stream/chacha20/ref/chacha20_ref.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/libcab/libsodium/crypto_stream/chacha20/stream_chacha20.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/libcab/libsodium/crypto_stream/crypto_stream.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/libcab/libsodium/crypto_stream/salsa20/ref/salsa20_ref.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/libcab/libsodium/crypto_stream/salsa20/stream_salsa20.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/libcab/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6-asm.S.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/libcab/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/libcab/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-avx2.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/libcab/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-sse2.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/libcab/libsodium/crypto_verify/verify.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/libcab/libsodium/randombytes/internal/randombytes_internal_random.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/libcab/libsodium/randombytes/randombytes.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/libcab/libsodium/randombytes/sysrandom/randombytes_sysrandom.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/libcab/libsodium/sodium/codecs.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/libcab/libsodium/sodium/core.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/libcab/libsodium/sodium/runtime.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/libcab/libsodium/sodium/utils.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/lib2f4/noise-c/backend/openssl/cipher-aesgcm.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/lib2f4/noise-c/backend/ref/cipher-aesgcm.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-arcademachine1/lib3ff/libESP8266mDNS.a\n", - "\u001b[0mIndexing .pioenvs/esp-arcademachine1/lib3ff/libESP8266mDNS.a\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/lib2f4/noise-c/backend/ref/cipher-chachapoly.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/lib2f4/noise-c/backend/ref/dh-curve25519.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/lib2f4/noise-c/backend/ref/hash-blake2b.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/lib2f4/noise-c/backend/ref/hash-blake2s.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/lib2f4/noise-c/backend/ref/hash-sha256.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/lib2f4/noise-c/backend/sodium/cipher-aesgcm.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/lib2f4/noise-c/backend/sodium/cipher-chachapoly.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/lib2f4/noise-c/backend/sodium/dh-curve25519.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/lib2f4/noise-c/backend/sodium/hash-blake2b.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/lib2f4/noise-c/backend/sodium/hash-sha256.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/lib2f4/noise-c/crypto/aes/rijndael-alg-fst.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/lib2f4/noise-c/crypto/blake2/blake2b.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/lib2f4/noise-c/crypto/blake2/blake2s.c.o\n", - "\u001b[0mArchiving .pioenvs/esp-arcademachine1/libcab/libsodium.a\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/lib2f4/noise-c/crypto/chacha/chacha.c.o\n", - "\u001b[0mIndexing .pioenvs/esp-arcademachine1/libcab/libsodium.a\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/lib2f4/noise-c/crypto/donna/curve25519-donna-c64.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/lib2f4/noise-c/crypto/donna/curve25519-donna.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/lib2f4/noise-c/crypto/donna/poly1305-donna.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/lib2f4/noise-c/crypto/sha2/sha256.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/lib2f4/noise-c/crypto/sha2/sha512.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/lib2f4/noise-c/crypto/x25519/x25519.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/lib2f4/noise-c/protocol/cipherstate.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/lib2f4/noise-c/protocol/dhstate.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/lib2f4/noise-c/protocol/errors.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/lib2f4/noise-c/protocol/handshakestate.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/lib2f4/noise-c/protocol/hashstate.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/lib2f4/noise-c/protocol/internal.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/lib2f4/noise-c/protocol/names.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/lib2f4/noise-c/protocol/patterns.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/lib2f4/noise-c/protocol/rand_os.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/lib2f4/noise-c/protocol/rand_sodium.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/lib2f4/noise-c/protocol/randstate.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/lib2f4/noise-c/protocol/signstate.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/lib2f4/noise-c/protocol/symmetricstate.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/lib2f4/noise-c/protocol/util.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/lib01c/ESPAsyncTCP-esphome/AsyncPrinter.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/lib01c/ESPAsyncTCP-esphome/ESPAsyncTCP.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/lib01c/ESPAsyncTCP-esphome/ESPAsyncTCPbuffer.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-arcademachine1/lib2f4/libnoise-c.a\n", - "\u001b[0mIndexing .pioenvs/esp-arcademachine1/lib2f4/libnoise-c.a\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/lib01c/ESPAsyncTCP-esphome/SyncClient.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/lib01c/ESPAsyncTCP-esphome/tcp_axtls.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/libaf8/AsyncMqttClient-esphome/AsyncMqttClient.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/libaf8/AsyncMqttClient-esphome/AsyncMqttClient/Packets/ConnAckPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/libaf8/AsyncMqttClient-esphome/AsyncMqttClient/Packets/PingRespPacket.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-arcademachine1/lib01c/libESPAsyncTCP-esphome.a\n", - "\u001b[0mIndexing .pioenvs/esp-arcademachine1/lib01c/libESPAsyncTCP-esphome.a\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/libaf8/AsyncMqttClient-esphome/AsyncMqttClient/Packets/PubAckPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/libaf8/AsyncMqttClient-esphome/AsyncMqttClient/Packets/PubCompPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/libaf8/AsyncMqttClient-esphome/AsyncMqttClient/Packets/PubRecPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/libaf8/AsyncMqttClient-esphome/AsyncMqttClient/Packets/PubRelPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/libaf8/AsyncMqttClient-esphome/AsyncMqttClient/Packets/PublishPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/libaf8/AsyncMqttClient-esphome/AsyncMqttClient/Packets/SubAckPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/libaf8/AsyncMqttClient-esphome/AsyncMqttClient/Packets/UnsubAckPacket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduinoVariant/initD9D10Pins.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/Crypto.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-arcademachine1/libFrameworkArduinoVariant.a\n", - "\u001b[0mIndexing .pioenvs/esp-arcademachine1/libFrameworkArduinoVariant.a\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/Esp-frag.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/Esp-version.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-arcademachine1/libaf8/libAsyncMqttClient-esphome.a\n", - "\u001b[0mIndexing .pioenvs/esp-arcademachine1/libaf8/libAsyncMqttClient-esphome.a\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/Esp.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/FS.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/FSnoop.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/FunctionalInterrupt.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/HardwareSerial.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/IPAddress.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/LwipDhcpServer-NonOS.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/LwipDhcpServer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/LwipIntf.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/LwipIntfCB.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/MD5Builder.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/Print.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/Schedule.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/StackThunk.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/Stream.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/StreamSend.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/Tone.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/TypeConversion.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/WMath.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/WString.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/abi.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/aes_unwrap.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/base64.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/cbuf.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/cont.S.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/cont_util.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/core_esp8266_app_entry_noextra4k.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/core_esp8266_eboot_command.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/core_esp8266_features.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/core_esp8266_flash_quirks.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/core_esp8266_flash_utils.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/core_esp8266_i2s.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/core_esp8266_main.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/core_esp8266_non32xfer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/core_esp8266_noniso.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/core_esp8266_phy.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/core_esp8266_postmortem.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/core_esp8266_si2c.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/core_esp8266_sigma_delta.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/core_esp8266_spi_utils.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/core_esp8266_timer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/core_esp8266_vm.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/core_esp8266_wiring.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/core_esp8266_wiring_analog.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/core_esp8266_wiring_digital.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/core_esp8266_wiring_pulse.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/core_esp8266_wiring_pwm.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/core_esp8266_wiring_shift.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/crc32.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/debug.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/exc-c-wrapper-handler.S.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/exc-sethandler.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/flash_hal.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/gdb_hooks.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/heap.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/hwdt_app_entry.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/libb64/cdecode.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/libb64/cencode.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/libc_replacements.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/mmu_iram.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/reboot_uart_dwnld.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/spiffs/spiffs_cache.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/spiffs/spiffs_check.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/spiffs/spiffs_gc.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/spiffs/spiffs_hydrogen.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/spiffs/spiffs_nucleus.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/spiffs_api.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/sqrt32.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/stdlib_noniso.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/time.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/uart.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/umm_malloc/umm_info.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/umm_malloc/umm_integrity.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/umm_malloc/umm_local.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/umm_malloc/umm_malloc.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/umm_malloc/umm_poison.c.o\n", - "\u001b[0mCompiling .pioenvs/esp-arcademachine1/FrameworkArduino/wpa2_eap_patch.cpp.o\n", - "\u001b[0mArchiving .pioenvs/esp-arcademachine1/libFrameworkArduino.a\n", - "\u001b[0mIndexing .pioenvs/esp-arcademachine1/libFrameworkArduino.a\n", - "\u001b[0mremove_scanf_float_flag([\".pioenvs/esp-arcademachine1/firmware.elf\"], [\".pioenvs/esp-arcademachine1/src/esphome/components/api/api_buffer.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/api/api_connection.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/api/api_frame_helper.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/api/api_frame_helper_noise.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/api/api_overflow_buffer.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/api/api_pb2.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/api/api_pb2_service.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/api/api_server.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/api/list_entities.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/api/proto.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/api/subscribe_state.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/binary_sensor/automation.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/binary_sensor/binary_sensor.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/binary_sensor/filter.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/button/button.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/captive_portal/captive_portal.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/copy/sensor/copy_sensor.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/debug/debug_component.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/debug/debug_esp8266.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/esp8266/core.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/esp8266/crash_handler.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/esp8266/gpio.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/esp8266/hal.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/esp8266/helpers.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/esp8266/preferences.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/esp8266/printf_stubs.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/esp8266/waveform_stubs.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/esphome/ota/ota_esphome.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/factory_reset/button/factory_reset_button.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/gpio/binary_sensor/gpio_binary_sensor.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/gpio/switch/gpio_switch.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/hlw8012/hlw8012.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/json/json_util.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/logger/logger.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/logger/logger_esp8266.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/md5/md5.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/mdns/mdns_component.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/mdns/mdns_esp8266.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/mqtt/custom_mqtt_device.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/mqtt/mqtt_alarm_control_panel.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/mqtt/mqtt_binary_sensor.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/mqtt/mqtt_button.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/mqtt/mqtt_client.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/mqtt/mqtt_climate.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/mqtt/mqtt_component.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/mqtt/mqtt_cover.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/mqtt/mqtt_date.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/mqtt/mqtt_datetime.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/mqtt/mqtt_event.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/mqtt/mqtt_fan.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/mqtt/mqtt_light.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/mqtt/mqtt_lock.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/mqtt/mqtt_number.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/mqtt/mqtt_select.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/mqtt/mqtt_sensor.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/mqtt/mqtt_switch.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/mqtt/mqtt_text.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/mqtt/mqtt_text_sensor.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/mqtt/mqtt_time.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/mqtt/mqtt_update.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/mqtt/mqtt_valve.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/network/util.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/ota/ota_backend.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/ota/ota_backend_esp8266.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/ota/ota_bootloader_esp_idf.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/ota/ota_partitions_esp_idf.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/pulse_counter/pulse_counter_sensor.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/restart/button/restart_button.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/safe_mode/button/safe_mode_button.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/safe_mode/safe_mode.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/sensor/automation.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/sensor/filter.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/sensor/sensor.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/sha256/sha256.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/sntp/sntp_component.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/socket/lwip_raw_tcp_impl.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/socket/socket.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/status/status_binary_sensor.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/status_led/status_led.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/switch/automation.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/switch/switch.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/template/binary_sensor/template_binary_sensor.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/template/sensor/template_sensor.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/template/text_sensor/template_text_sensor.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/text_sensor/filter.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/text_sensor/text_sensor.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/time/automation.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/time/posix_tz.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/time/real_time_clock.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/total_daily_energy/total_daily_energy.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/uptime/sensor/uptime_seconds_sensor.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/uptime/sensor/uptime_timestamp_sensor.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/uptime/text_sensor/uptime_text_sensor.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/version/version_text_sensor.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/web_server/list_entities.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/web_server/ota/ota_web_server.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/web_server/web_server.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/web_server_base/web_server_base.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/wifi/wifi_component.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/wifi/wifi_component_esp8266.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/wifi_info/wifi_info_text_sensor.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/components/wifi_signal/wifi_signal_sensor.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/core/alloc_helpers.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/core/application.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/core/build_info_data.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/core/color.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/core/component.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/core/component_iterator.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/core/controller_registry.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/core/entity_base.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/core/gpio.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/core/helpers.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/core/log.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/core/scheduler.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/core/time.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/core/time_64.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/core/util.cpp.o\", \".pioenvs/esp-arcademachine1/src/esphome/core/wake/wake_esp8266.cpp.o\", \".pioenvs/esp-arcademachine1/src/main.cpp.o\"])\n", - "\u001b[0mESPHome: Removing _scanf_float (saves ~8KB flash)\n", - "\u001b[0mLinking .pioenvs/esp-arcademachine1/firmware.elf\n", - "\u001b[0mRAM: [===== ] 48.7% (used 39856 bytes from 81920 bytes)\n", - "Flash: [===== ] 53.0% (used 542355 bytes from 1023984 bytes)\n", - "Building .pioenvs/esp-arcademachine1/firmware.bin\n", - "\u001b[0mesp8266_copy_factory_bin([\".pioenvs/esp-arcademachine1/firmware.bin\"], [\".pioenvs/esp-arcademachine1/firmware.elf\"])\n", - "\u001b[0mesp8266_copy_ota_bin([\".pioenvs/esp-arcademachine1/firmware.bin\"], [\".pioenvs/esp-arcademachine1/firmware.elf\"])\n", - "\u001b[0m======================== [\u001b[32m\u001b[1mSUCCESS\u001b[0m] Took 210.36 seconds ========================\u001b[0m\n", - "\\033[32mINFO Build Info: config_hash=0xce0de47e build_time_str=2026-05-24 19:54:50 +1200\\033[0m\n", - "\\033[32mINFO Successfully compiled program.\\033[0m\n", - "\\033[32mINFO Connecting to 172.31.11.161 port 8266...\\033[0m\n", - "\\033[32mINFO Connected to 172.31.11.161\\033[0m\n", - "\\033[32mINFO Uploading /data/build/esp-arcademachine1/.pioenvs/esp-arcademachine1/firmware.bin (546512 bytes)\\033[0m\n", - "\\033[32mINFO Compressed to 383647 bytes\\033[0m\n", - "Uploading: [============================================================] 100% Done...\r\n", - "\n", - "\\033[32mINFO Upload took 9.49 seconds, waiting for result...\\033[0m\n", - "\\033[32mINFO OTA successful\\033[0m\n", - "\\033[32mINFO Successfully uploaded program.\\033[0m\n" - ], "error": null, "port": "OTA", "new_name": "", + "depends_on": "", "progress": 100, "remote_peer": "", "remote_job_id": "", @@ -15790,100 +2035,18 @@ "source_esphome_version": "" }, { - "job_id": "fdadfe2fa368", - "configuration": "esp-mainbathunderfloorheat.yaml", + "job_id": "ae4c700747c7", + "configuration": "esp-laundrywashpow.yaml", "job_type": "install", "status": "completed", - "created_at": "2026-05-24T07:47:38.310123+00:00", - "started_at": "2026-05-24T07:47:38.310307+00:00", - "completed_at": "2026-05-24T07:48:38.141750+00:00", + "created_at": "2026-06-01T04:19:41.222082+00:00", + "started_at": "2026-06-01T05:13:19.349695+00:00", + "completed_at": "2026-06-01T05:15:56.602795+00:00", "exit_code": 0, - "output": [ - "\\033[32mINFO ESPHome 2026.5.0\\033[0m\n", - "\\033[32mINFO Reading configuration /config/esphome/esp-mainbathunderfloorheat.yaml...\\033[0m\n", - "\\033[32mINFO Generating C++ source...\\033[0m\n", - "\\033[32mINFO Setting CONFIG_LWIP_MAX_SOCKETS to 11 (TCP=7 [api=3, captive_portal=3, mqtt=1], UDP=1 [captive_portal=1], TCP_LISTEN=3 [api=1, ota=1, web_server_base=1])\\033[0m\n", - "\\033[32mINFO Compiling app... Build path: /data/build/esp-mainbathunderfloorheat\\033[0m\n", - "Processing \u001b[36m\u001b[1mesp-mainbathunderfloorheat\u001b[0m (board: esp32dev; framework: arduino, espidf; platform: https://github.com/pioarduino/platform-espressif32/releases/download/55.03.38-1/platform-espressif32.zip)\n", - "\u001b[1m--------------------------------------------------------------------------------\u001b[0m\n", - "\u001b[0mHARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash\n", - "\u001b[0m - contrib-piohome @ 3.4.4 \n", - "\u001b[0m - framework-arduinoespressif32 @ 3.3.8 \n", - "\u001b[0m - framework-arduinoespressif32-libs @ 5.5.4 \n", - "\u001b[0m - framework-espidf @ 3.50504.0 (5.5.4) \n", - "\u001b[0m - tool-cmake @ 4.0.3 \n", - "\u001b[0m - tool-esp-rom-elfs @ 2024.10.11 \n", - "\u001b[0m - tool-esptoolpy @ 5.2.0 \n", - "\u001b[0m - tool-ninja @ 1.13.1 \n", - "\u001b[0m - tool-scons @ 4.40801.0 (4.8.1) \n", - "\u001b[0m - tool-xtensa-esp-elf-gdb @ 16.3.0+20250913 \n", - "\u001b[0m - toolchain-xtensa-esp-elf @ 14.2.0+20260121\n", - "\u001b[33m\u001b[2mUsing Python 3.12.10 environment at: /root/.platformio/penv/.espidf-5.5.4\u001b[0m\n", - "\u001b[0mReading CMake configuration...\n", - "\u001b[0mDependency Graph\n", - "\u001b[0m|-- noise-c @ 0.1.11\n", - "\u001b[0mCompiling .pioenvs/esp-mainbathunderfloorheat/src/esphome/core/build_info_data.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-mainbathunderfloorheat/src/main.cpp.o\n", - "\u001b[0mLinking .pioenvs/esp-mainbathunderfloorheat/firmware.elf\n", - "\u001b[0m\u001b[3m Memory Type Usage Summary \u001b[0m\n", - "\u001b[0m┏━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓\n", - "┃\u001b[1m \u001b[0m\u001b[1mMemory Type/Section\u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mUsed [bytes]\u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mUsed [%]\u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mRemain [bytes]\u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mTotal [bytes]\u001b[0m\u001b[1m \u001b[0m┃\n", - "\u001b[0m┡━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩\n", - "│\u001b[91m \u001b[0m\u001b[91mFlash Code \u001b[0m\u001b[91m \u001b[0m│\u001b[91m \u001b[0m\u001b[91m 812536\u001b[0m\u001b[91m \u001b[0m│\u001b[91m \u001b[0m\u001b[91m \u001b[0m\u001b[91m \u001b[0m│\u001b[91m \u001b[0m\u001b[91m \u001b[0m\u001b[91m \u001b[0m│\u001b[91m \u001b[0m\u001b[91m \u001b[0m\u001b[91m \u001b[0m│\n", - "\u001b[0m│\u001b[94m \u001b[0m\u001b[94m .text \u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m 812536\u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m \u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m \u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m \u001b[0m\u001b[94m \u001b[0m│\n", - "\u001b[0m│\u001b[91m \u001b[0m\u001b[91mFlash Data \u001b[0m\u001b[91m \u001b[0m│\u001b[91m \u001b[0m\u001b[91m 164148\u001b[0m\u001b[91m \u001b[0m│\u001b[91m \u001b[0m\u001b[91m \u001b[0m\u001b[91m \u001b[0m│\u001b[91m \u001b[0m\u001b[91m \u001b[0m\u001b[91m \u001b[0m│\u001b[91m \u001b[0m\u001b[91m \u001b[0m\u001b[91m \u001b[0m│\n", - "\u001b[0m│\u001b[94m \u001b[0m\u001b[94m .rodata \u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m 163892\u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m \u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m \u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m \u001b[0m\u001b[94m \u001b[0m│\n", - "\u001b[0m│\u001b[94m \u001b[0m\u001b[94m .appdesc \u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m 256\u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m \u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m \u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m \u001b[0m\u001b[94m \u001b[0m│\n", - "\u001b[0m│\u001b[91m \u001b[0m\u001b[91mIRAM \u001b[0m\u001b[91m \u001b[0m│\u001b[91m \u001b[0m\u001b[91m 77743\u001b[0m\u001b[91m \u001b[0m│\u001b[91m \u001b[0m\u001b[91m 59.31\u001b[0m\u001b[91m \u001b[0m│\u001b[91m \u001b[0m\u001b[91m 53329\u001b[0m\u001b[91m \u001b[0m│\u001b[91m \u001b[0m\u001b[91m 131072\u001b[0m\u001b[91m \u001b[0m│\n", - "\u001b[0m│\u001b[94m \u001b[0m\u001b[94m .text \u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m 76715\u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m 58.53\u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m \u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m \u001b[0m\u001b[94m \u001b[0m│\n", - "\u001b[0m│\u001b[94m \u001b[0m\u001b[94m .vectors \u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m 1028\u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m 0.78\u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m \u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m \u001b[0m\u001b[94m \u001b[0m│\n", - "\u001b[0m│\u001b[91m \u001b[0m\u001b[91mDRAM \u001b[0m\u001b[91m \u001b[0m│\u001b[91m \u001b[0m\u001b[91m 54408\u001b[0m\u001b[91m \u001b[0m│\u001b[91m \u001b[0m\u001b[91m 30.1\u001b[0m\u001b[91m \u001b[0m│\u001b[91m \u001b[0m\u001b[91m 126328\u001b[0m\u001b[91m \u001b[0m│\u001b[91m \u001b[0m\u001b[91m 180736\u001b[0m\u001b[91m \u001b[0m│\n", - "\u001b[0m│\u001b[94m \u001b[0m\u001b[94m .bss \u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m 38232\u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m 21.15\u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m \u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m \u001b[0m\u001b[94m \u001b[0m│\n", - "\u001b[0m│\u001b[94m \u001b[0m\u001b[94m .data \u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m 16176\u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m 8.95\u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m \u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m \u001b[0m\u001b[94m \u001b[0m│\n", - "\u001b[0m└─────────────────────┴──────────────┴──────────┴────────────────┴───────────────┘\n", - "\u001b[0m\u001b[33mTotal image size: \u001b[1;36m1070603\u001b[0m bytes \u001b[1m(\u001b[0m.bin may be padded larger\u001b[1m)\u001b[0m\n", - "\u001b[0m\u001b[33m\u001b[33mNote: The reported total sizes may be smaller than those in the technical reference manual due to reserved memory and application configuration. The total flash size available for the application is not included by default, as it cannot be reliably determined due to the presence of other data like the bootloader, partition table, and application partition size.\u001b[0m\n", - "\u001b[0mRAM: [== ] 16.6% (used 54408 bytes from 327680 bytes)\n", - "\u001b[0mFlash: [====== ] 58.3% (used 1070347 bytes from 1835008 bytes)\n", - "Building .pioenvs/esp-mainbathunderfloorheat/firmware.bin\n", - "\u001b[0mCreating ESP32 image...\n", - "\u001b[0mSuccessfully created ESP32 image.\n", - "\u001b[0mCreating binary \"firmware.factory.bin\" with:\n", - "\u001b[0m Offset | File\n", - "\u001b[0m - 0x1000 | bootloader.bin\n", - "\u001b[0m - 0x8000 | partitions.bin\n", - "\u001b[0m - 0x9000 | boot_app0.bin\n", - "\u001b[0m - 0x10000 | firmware.bin\n", - "Successfully created combined binary image.\n", - "\u001b[0msign_firmware([\".pioenvs/esp-mainbathunderfloorheat/firmware.bin\"], [\".pioenvs/esp-mainbathunderfloorheat/firmware.elf\"])\n", - "\u001b[0mmerge_factory_bin([\".pioenvs/esp-mainbathunderfloorheat/firmware.bin\"], [\".pioenvs/esp-mainbathunderfloorheat/firmware.elf\"])\n", - "\u001b[0mInfo: bootloader.bin not found - skipping\n", - "\u001b[0mInfo: partition-table.bin not found - skipping\n", - "\u001b[0mInfo: ota_data_initial.bin not found - skipping\n", - "\u001b[0mInfo: esp-mainbathunderfloorheat.bin not found - skipping\n", - "\u001b[0mUsing FLASH_EXTRA_IMAGES from PlatformIO environment\n", - "\u001b[0mMerging binaries into /data/build/esp-mainbathunderfloorheat/.pioenvs/esp-mainbathunderfloorheat/firmware.factory.bin\n", - "\u001b[0mMerging binaries with esptool\n", - "\u001b[0mSHA digest in image updated.\n", - "\u001b[0mWrote 0x1156a0 bytes to file '/data/build/esp-mainbathunderfloorheat/.pioenvs/esp-mainbathunderfloorheat/firmware.factory.bin', ready to flash to offset 0x0.\n", - "\u001b[0mSuccessfully created /data/build/esp-mainbathunderfloorheat/.pioenvs/esp-mainbathunderfloorheat/firmware.factory.bin\n", - "\u001b[0mesp32_copy_ota_bin([\".pioenvs/esp-mainbathunderfloorheat/firmware.bin\"], [\".pioenvs/esp-mainbathunderfloorheat/firmware.elf\"])\n", - "\u001b[0mCopied firmware to /data/build/esp-mainbathunderfloorheat/.pioenvs/esp-mainbathunderfloorheat/firmware.ota.bin\n", - "\u001b[0m========================= [\u001b[32m\u001b[1mSUCCESS\u001b[0m] Took 36.10 seconds =========================\u001b[0m\n", - "\\033[32mINFO Build Info: config_hash=0xb6b1e4c5 build_time_str=2026-05-24 19:46:00 +1200\\033[0m\n", - "\\033[32mINFO Successfully compiled program.\\033[0m\n", - "\\033[32mINFO Connecting to 172.31.11.187 port 3232...\\033[0m\n", - "\\033[32mINFO Connected to 172.31.11.187\\033[0m\n", - "\\033[32mINFO Uploading /data/build/esp-mainbathunderfloorheat/.pioenvs/esp-mainbathunderfloorheat/firmware.bin (1070752 bytes)\\033[0m\n", - "Uploading: [============================================================] 100% Done...\r\n", - "\n", - "\\033[32mINFO Upload took 19.14 seconds, waiting for result...\\033[0m\n", - "\\033[32mINFO OTA successful\\033[0m\n", - "\\033[32mINFO Successfully uploaded program.\\033[0m\n" - ], "error": null, "port": "OTA", "new_name": "", + "depends_on": "", "progress": 100, "remote_peer": "", "remote_job_id": "", @@ -15896,102 +2059,18 @@ "source_esphome_version": "" }, { - "job_id": "3d7f83abae00", - "configuration": "esp-ledmatrix1.yaml", + "job_id": "e710c1c575ee", + "configuration": "esp-garagebtproxy.yaml", "job_type": "install", "status": "completed", - "created_at": "2026-05-24T06:00:04.161447+00:00", - "started_at": "2026-05-24T06:00:04.161684+00:00", - "completed_at": "2026-05-24T06:00:46.473420+00:00", + "created_at": "2026-06-01T04:19:41.220091+00:00", + "started_at": "2026-06-01T05:08:29.838253+00:00", + "completed_at": "2026-06-01T05:13:19.335120+00:00", "exit_code": 0, - "output": [ - "\\033[32mINFO ESPHome 2026.5.0\\033[0m\n", - "\\033[32mINFO Reading configuration /config/esphome/esp-ledmatrix1.yaml...\\033[0m\n", - "\\033[33mWARNING GPIO8 is a strapping PIN and should only be used for I/O with care.\n", - "Attaching external pullup/down resistors to strapping pins can cause unexpected failures.\n", - "See https://esphome.io/guides/faq/#why-am-i-getting-a-warning-about-strapping-pins\\033[0m\n", - "\\033[33mWARNING GPIO9 is a strapping PIN and should only be used for I/O with care.\n", - "Attaching external pullup/down resistors to strapping pins can cause unexpected failures.\n", - "See https://esphome.io/guides/faq/#why-am-i-getting-a-warning-about-strapping-pins\\033[0m\n", - "\\033[32mINFO Generating C++ source...\\033[0m\n", - "\\033[32mINFO Setting CONFIG_LWIP_MAX_SOCKETS to 18 (TCP=12 [api=3, captive_portal=3, mqtt=1, web_server=5], UDP=3 [captive_portal=1, mdns=2], TCP_LISTEN=3 [api=1, ota=1, web_server_base=1])\\033[0m\n", - "\\033[32mINFO Compiling app... Build path: /data/build/esp-ledmatrix1\\033[0m\n", - "Processing \u001b[36m\u001b[1mesp-ledmatrix1\u001b[0m (board: esp32-c3-devkitm-1; framework: espidf; platform: https://github.com/pioarduino/platform-espressif32/releases/download/55.03.38-1/platform-espressif32.zip)\n", - "\u001b[1m--------------------------------------------------------------------------------\u001b[0m\n", - "\u001b[0mHARDWARE: ESP32C3 160MHz, 320KB RAM, 4MB Flash\n", - "\u001b[0m - contrib-piohome @ 3.4.4 \n", - "\u001b[0m - framework-espidf @ 3.50504.0 (5.5.4) \n", - "\u001b[0m - tool-cmake @ 4.0.3 \n", - "\u001b[0m - tool-esp-rom-elfs @ 2024.10.11 \n", - "\u001b[0m - tool-esptoolpy @ 5.2.0 \n", - "\u001b[0m - tool-ninja @ 1.13.1 \n", - "\u001b[0m - tool-riscv32-esp-elf-gdb @ 16.3.0+20250913 \n", - "\u001b[0m - tool-scons @ 4.40801.0 (4.8.1) \n", - "\u001b[0m - toolchain-riscv32-esp @ 14.2.0+20260121\n", - "\u001b[33m\u001b[2mUsing Python 3.12.10 environment at: /root/.platformio/penv/.espidf-5.5.4\u001b[0m\n", - "\u001b[0mReading CMake configuration...\n", - "\u001b[0mDependency Graph\n", - "\u001b[0m|-- noise-c @ 0.1.11\n", - "\u001b[0mCompiling .pioenvs/esp-ledmatrix1/src/main.cpp.o\n", - "\u001b[0mLinking .pioenvs/esp-ledmatrix1/firmware.elf\n", - "\u001b[0m\u001b[3m Memory Type Usage Summary \u001b[0m\n", - "\u001b[0m┏━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓\n", - "┃\u001b[1m \u001b[0m\u001b[1mMemory Type/Section\u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mUsed [bytes]\u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mUsed [%]\u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mRemain [bytes]\u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mTotal [bytes]\u001b[0m\u001b[1m \u001b[0m┃\n", - "\u001b[0m┡━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩\n", - "│\u001b[91m \u001b[0m\u001b[91mFlash Code \u001b[0m\u001b[91m \u001b[0m│\u001b[91m \u001b[0m\u001b[91m 948010\u001b[0m\u001b[91m \u001b[0m│\u001b[91m \u001b[0m\u001b[91m \u001b[0m\u001b[91m \u001b[0m│\u001b[91m \u001b[0m\u001b[91m \u001b[0m\u001b[91m \u001b[0m│\u001b[91m \u001b[0m\u001b[91m \u001b[0m\u001b[91m \u001b[0m│\n", - "\u001b[0m│\u001b[94m \u001b[0m\u001b[94m .text \u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m 948010\u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m \u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m \u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m \u001b[0m\u001b[94m \u001b[0m│\n", - "\u001b[0m│\u001b[91m \u001b[0m\u001b[91mFlash Data \u001b[0m\u001b[91m \u001b[0m│\u001b[91m \u001b[0m\u001b[91m 188404\u001b[0m\u001b[91m \u001b[0m│\u001b[91m \u001b[0m\u001b[91m \u001b[0m\u001b[91m \u001b[0m│\u001b[91m \u001b[0m\u001b[91m \u001b[0m\u001b[91m \u001b[0m│\u001b[91m \u001b[0m\u001b[91m \u001b[0m\u001b[91m \u001b[0m│\n", - "\u001b[0m│\u001b[94m \u001b[0m\u001b[94m .rodata \u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m 188148\u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m \u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m \u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m \u001b[0m\u001b[94m \u001b[0m│\n", - "\u001b[0m│\u001b[94m \u001b[0m\u001b[94m .appdesc \u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m 256\u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m \u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m \u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m \u001b[0m\u001b[94m \u001b[0m│\n", - "\u001b[0m│\u001b[91m \u001b[0m\u001b[91mDRAM \u001b[0m\u001b[91m \u001b[0m│\u001b[91m \u001b[0m\u001b[91m 112432\u001b[0m\u001b[91m \u001b[0m│\u001b[91m \u001b[0m\u001b[91m 34.99\u001b[0m\u001b[91m \u001b[0m│\u001b[91m \u001b[0m\u001b[91m 208864\u001b[0m\u001b[91m \u001b[0m│\u001b[91m \u001b[0m\u001b[91m 321296\u001b[0m\u001b[91m \u001b[0m│\n", - "\u001b[0m\u001b[33mTotal image size: \u001b[1;36m1211550\u001b[0m bytes \u001b[1m(\u001b[0m.bin may be padded larger\u001b[1m)\u001b[0m\n", - "\u001b[0m\u001b[33m\u001b[33mNote: The reported total sizes may be smaller than those in the technical reference manual due to reserved memory and application configuration. The total flash size available for the application is not included by default, as it cannot be reliably determined due to the presence of other data like the bootloader, partition table, and application partition size.\u001b[0m\n", - "\u001b[0m│\u001b[94m \u001b[0m\u001b[94m .text \u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m 62676\u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m 19.51\u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m \u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m \u001b[0m\u001b[94m \u001b[0m│\n", - "\u001b[0m│\u001b[94m \u001b[0m\u001b[94m .bss \u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m 37208\u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m 11.58\u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m \u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m \u001b[0m\u001b[94m \u001b[0m│\n", - "\u001b[0m│\u001b[94m \u001b[0m\u001b[94m .data \u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m 12460\u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m 3.88\u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m \u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m \u001b[0m\u001b[94m \u001b[0m│\n", - "\u001b[0m│\u001b[94m \u001b[0m\u001b[94m .noinit \u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m 88\u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m 0.03\u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m \u001b[0m\u001b[94m \u001b[0m│\u001b[94m \u001b[0m\u001b[94m \u001b[0m\u001b[94m \u001b[0m│\n", - "\u001b[0m└─────────────────────┴──────────────┴──────────┴────────────────┴───────────────┘\n", - "\u001b[0mRAM: [== ] 15.2% (used 49756 bytes from 327680 bytes)\n", - "\u001b[0mFlash: [======= ] 66.0% (used 1211294 bytes from 1835008 bytes)\n", - "Building .pioenvs/esp-ledmatrix1/firmware.bin\n", - "\u001b[0mCreating ESP32-C3 image...\n", - "\u001b[0mSuccessfully created ESP32-C3 image.\n", - "\u001b[0mCreating binary \"firmware.factory.bin\" with:\n", - "\u001b[0m Offset | File\n", - "\u001b[0m - 0x0 | bootloader.bin\n", - "\u001b[0m - 0x8000 | partitions.bin\n", - "\u001b[0m - 0x9000 | ota_data_initial.bin\n", - "\u001b[0m - 0x10000 | firmware.bin\n", - "Successfully created combined binary image.\n", - "\u001b[0msign_firmware([\".pioenvs/esp-ledmatrix1/firmware.bin\"], [\".pioenvs/esp-ledmatrix1/firmware.elf\"])\n", - "\u001b[0mmerge_factory_bin([\".pioenvs/esp-ledmatrix1/firmware.bin\"], [\".pioenvs/esp-ledmatrix1/firmware.elf\"])\n", - "\u001b[0mInfo: bootloader.bin not found - skipping\n", - "\u001b[0mInfo: partition-table.bin not found - skipping\n", - "\u001b[0mInfo: ota_data_initial.bin not found - skipping\n", - "\u001b[0mInfo: esp-ledmatrix1.bin not found - skipping\n", - "\u001b[0mUsing FLASH_EXTRA_IMAGES from PlatformIO environment\n", - "\u001b[0mMerging binaries into /data/build/esp-ledmatrix1/.pioenvs/esp-ledmatrix1/firmware.factory.bin\n", - "\u001b[0mMerging binaries with esptool\n", - "\u001b[0mSHA digest in image updated.\n", - "\u001b[0mWrote 0x137d30 bytes to file '/data/build/esp-ledmatrix1/.pioenvs/esp-ledmatrix1/firmware.factory.bin', ready to flash to offset 0x0.\n", - "\u001b[0mSuccessfully created /data/build/esp-ledmatrix1/.pioenvs/esp-ledmatrix1/firmware.factory.bin\n", - "\u001b[0mesp32_copy_ota_bin([\".pioenvs/esp-ledmatrix1/firmware.bin\"], [\".pioenvs/esp-ledmatrix1/firmware.elf\"])\n", - "\u001b[0mCopied firmware to /data/build/esp-ledmatrix1/.pioenvs/esp-ledmatrix1/firmware.ota.bin\n", - "\u001b[0m========================= [\u001b[32m\u001b[1mSUCCESS\u001b[0m] Took 27.91 seconds =========================\u001b[0m\n", - "\\033[32mINFO Build Info: config_hash=0xf445aeee build_time_str=2026-05-24 15:15:37 +1200\\033[0m\n", - "\\033[32mINFO Successfully compiled program.\\033[0m\n", - "\\033[32mINFO Connecting to 172.31.11.185 port 3232...\\033[0m\n", - "\\033[32mINFO Connected to 172.31.11.185\\033[0m\n", - "\\033[32mINFO Uploading /data/build/esp-ledmatrix1/.pioenvs/esp-ledmatrix1/firmware.bin (1211696 bytes)\\033[0m\n", - "Uploading: [============================================================] 100% Done...\r\n", - "\n", - "\\033[32mINFO Upload took 6.26 seconds, waiting for result...\\033[0m\n", - "\\033[32mINFO OTA successful\\033[0m\n", - "\\033[32mINFO Successfully uploaded program.\\033[0m\n" - ], "error": null, "port": "OTA", "new_name": "", + "depends_on": "", "progress": 100, "remote_peer": "", "remote_job_id": "", @@ -16004,155 +2083,18 @@ "source_esphome_version": "" }, { - "job_id": "126762467ae7", - "configuration": "esp-nspanel1masterbdrm.yaml", + "job_id": "bb777067bf2f", + "configuration": "esp-downstloungemain.yaml", "job_type": "install", "status": "completed", - "created_at": "2026-05-17T10:36:36.272476+00:00", - "started_at": "2026-05-17T10:36:36.272693+00:00", - "completed_at": "2026-05-17T10:37:14.499200+00:00", + "created_at": "2026-06-01T04:19:41.218186+00:00", + "started_at": "2026-06-01T05:05:51.689928+00:00", + "completed_at": "2026-06-01T05:08:29.822644+00:00", "exit_code": 0, - "output": [ - "\\033[32mINFO ESPHome 2026.5.0b1\\033[0m\n", - "\\033[32mINFO Reading configuration /config/esphome/esp-nspanel1masterbdrm.yaml...\\033[0m\n", - "\\033[32mINFO Detected timezone 'Pacific/Auckland'\\033[0m\n", - "\\033[33mWARNING Found and merged multiple configurations for ota platform esphome port(s) [3232]\\033[0m\n", - "\\033[32mINFO Generating C++ source...\\033[0m\n", - "\\033[32mINFO Setting CONFIG_LWIP_MAX_SOCKETS to 13 (TCP=6 [api=3, captive_portal=3], UDP=3 [captive_portal=1, mdns=2], TCP_LISTEN=4 [api=1, ota=2, web_server_base=1])\\033[0m\n", - "\\033[32mINFO Compiling app... Build path: /data/build/esp-nspanel1masterbdrm\\033[0m\n", - "Processing \u001b[36m\u001b[1mesp-nspanel1masterbdrm\u001b[0m (board: esp32dev; framework: espidf; platform: https://github.com/pioarduino/platform-espressif32/releases/download/55.03.38-1/platform-espressif32.zip)\n", - "\u001b[1m--------------------------------------------------------------------------------\u001b[0m\n", - "\u001b[0mHARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash\n", - "\u001b[0m - contrib-piohome @ 3.4.4 \n", - "\u001b[0m - framework-espidf @ 3.50504.0 (5.5.4) \n", - "\u001b[0m - tool-cmake @ 4.0.3 \n", - "\u001b[0m - tool-esp-rom-elfs @ 2024.10.11 \n", - "\u001b[0m - tool-esptoolpy @ 5.2.0 \n", - "\u001b[0m - tool-ninja @ 1.13.1 \n", - "\u001b[0m - tool-scons @ 4.40801.0 (4.8.1) \n", - "\u001b[0m - tool-xtensa-esp-elf-gdb @ 16.3.0+20250913 \n", - "\u001b[0m - toolchain-xtensa-esp-elf @ 14.2.0+20260121\n", - "\u001b[33m\u001b[2mUsing Python 3.12.10 environment at: /root/.platformio/penv/.espidf-5.5.4\u001b[0m\n", - "\u001b[0mReading CMake configuration...\n", - "\u001b[0mNo dependencies\n", - "\u001b[0mRAM: [== ] 19.9% (used 65232 bytes from 327680 bytes)\n", - "\u001b[0mFlash: [====== ] 61.5% (used 1127679 bytes from 1835008 bytes)\n", - "========================= [\u001b[32m\u001b[1mSUCCESS\u001b[0m] Took 20.43 seconds =========================\u001b[0m\n", - "\\033[32mINFO Build Info: config_hash=0xb6775f3e build_time_str=2026-05-17 22:24:40 +1200\\033[0m\n", - "\\033[32mINFO Successfully compiled program.\\033[0m\n", - "\\033[32mINFO Connecting to 172.31.11.183 port 3232...\\033[0m\n", - "\\033[32mINFO Connected to 172.31.11.183\\033[0m\n", - "\\033[32mINFO Uploading /data/build/esp-nspanel1masterbdrm/.pioenvs/esp-nspanel1masterbdrm/firmware.bin (1128080 bytes)\\033[0m\n", - "\r", - "Uploading: [ ] 0% \r", - "Uploading: [= ] 1% \r", - "Uploading: [= ] 2% \r", - "Uploading: [== ] 3% \r", - "Uploading: [=== ] 4% \r", - "Uploading: [=== ] 5% \r", - "Uploading: [==== ] 6% \r", - "Uploading: [==== ] 7% \r", - "Uploading: [===== ] 8% \r", - "Uploading: [====== ] 9% \r", - "Uploading: [====== ] 10% \r", - "Uploading: [======= ] 11% \r", - "Uploading: [======= ] 12% \r", - "Uploading: [======== ] 13% \r", - "Uploading: [========= ] 14% \r", - "Uploading: [========= ] 15% \r", - "Uploading: [========== ] 16% \r", - "Uploading: [========== ] 17% \r", - "Uploading: [=========== ] 18% \r", - "Uploading: [============ ] 19% \r", - "Uploading: [============ ] 20% \r", - "Uploading: [============= ] 21% \r", - "Uploading: [============== ] 22% \r", - "Uploading: [============== ] 23% \r", - "Uploading: [=============== ] 24% \r", - "Uploading: [=============== ] 25% \r", - "Uploading: [================ ] 26% \r", - "Uploading: [================= ] 27% \r", - "Uploading: [================= ] 28% \r", - "Uploading: [================= ] 29% \r", - "Uploading: [================== ] 30% \r", - "Uploading: [=================== ] 31% \r", - "Uploading: [==================== ] 32% \r", - "Uploading: [==================== ] 33% \r", - "Uploading: [==================== ] 34% \r", - "Uploading: [===================== ] 35% \r", - "Uploading: [====================== ] 36% \r", - "Uploading: [====================== ] 37% \r", - "Uploading: [======================= ] 38% \r", - "Uploading: [======================== ] 39% \r", - "Uploading: [======================== ] 40% \r", - "Uploading: [========================= ] 41% \r", - "Uploading: [========================= ] 42% \r", - "Uploading: [========================== ] 43% \r", - "Uploading: [=========================== ] 44% \r", - "Uploading: [=========================== ] 45% \r", - "Uploading: [============================ ] 46% \r", - "Uploading: [============================ ] 47% \r", - "Uploading: [============================= ] 48% \r", - "Uploading: [============================== ] 49% \r", - "Uploading: [============================== ] 50% \r", - "Uploading: [=============================== ] 51% \r", - "Uploading: [=============================== ] 52% \r", - "Uploading: [================================ ] 53% \r", - "Uploading: [================================= ] 54% \r", - "Uploading: [================================= ] 55% \r", - "Uploading: [================================== ] 56% \r", - "Uploading: [================================== ] 57% \r", - "Uploading: [=================================== ] 58% \r", - "Uploading: [==================================== ] 59% \r", - "Uploading: [==================================== ] 60% \r", - "Uploading: [===================================== ] 61% \r", - "Uploading: [===================================== ] 62% \r", - "Uploading: [====================================== ] 63% \r", - "Uploading: [======================================= ] 64% \r", - "Uploading: [======================================= ] 65% \r", - "Uploading: [======================================== ] 66% \r", - "Uploading: [========================================= ] 67% \r", - "Uploading: [========================================= ] 68% \r", - "Uploading: [========================================== ] 69% \r", - "Uploading: [========================================== ] 70% \r", - "Uploading: [=========================================== ] 71% \r", - "Uploading: [============================================ ] 72% \r", - "Uploading: [============================================ ] 73% \r", - "Uploading: [============================================ ] 74% \r", - "Uploading: [============================================= ] 75% \r", - "Uploading: [============================================== ] 76% \r", - "Uploading: [=============================================== ] 77% \r", - "Uploading: [=============================================== ] 78% \r", - "Uploading: [=============================================== ] 79% \r", - "Uploading: [================================================ ] 80% \r", - "Uploading: [================================================= ] 81% \r", - "Uploading: [================================================= ] 82% \r", - "Uploading: [================================================== ] 83% \r", - "Uploading: [=================================================== ] 84% \r", - "Uploading: [=================================================== ] 85% \r", - "Uploading: [==================================================== ] 86% \r", - "Uploading: [==================================================== ] 87% \r", - "Uploading: [===================================================== ] 88% \r", - "Uploading: [====================================================== ] 89% \r", - "Uploading: [====================================================== ] 90% \r", - "Uploading: [======================================================= ] 91% \r", - "Uploading: [======================================================= ] 92% \r", - "Uploading: [======================================================== ] 93% \r", - "Uploading: [========================================================= ] 94% \r", - "Uploading: [========================================================= ] 95% \r", - "Uploading: [========================================================== ] 96% \r", - "Uploading: [========================================================== ] 97% \r", - "Uploading: [=========================================================== ] 98% \r", - "Uploading: [============================================================] 99% \r", - "Uploading: [============================================================] 100% Done...\r\n", - "\n", - "\\033[32mINFO Upload took 7.41 seconds, waiting for result...\\033[0m\n", - "\\033[32mINFO OTA successful\\033[0m\n", - "\\033[32mINFO Successfully uploaded program.\\033[0m\n" - ], "error": null, "port": "OTA", "new_name": "", + "depends_on": "", "progress": 100, "remote_peer": "", "remote_job_id": "", @@ -16165,175 +2107,19 @@ "source_esphome_version": "" }, { - "job_id": "0eb2b3a49a5f", - "configuration": "esp-nspanel2lounge.yaml", - "job_type": "compile", - "status": "cancelled", - "created_at": "2026-05-17T08:44:50.516947+00:00", - "started_at": "2026-05-17T08:44:50.517123+00:00", - "completed_at": "2026-05-17T08:47:51.180084+00:00", - "exit_code": -15, - "output": [ - "\\033[32mINFO ESPHome 2026.5.0b1\\033[0m\n", - "\\033[32mINFO Reading configuration /config/esphome/esp-nspanel2lounge.yaml...\\033[0m\n", - "\\033[32mINFO Updating https://github.com/edwardtfn/NSPanel-Easy@v2026.5.5\\033[0m\n", - "\\033[32mINFO Updating https://github.com/edwardtfn/NSPanel-Easy@v2026.5.5\\033[0m\n", - "\\033[32mINFO Detected timezone 'Pacific/Auckland'\\033[0m\n", - "\\033[33mWARNING Found and merged multiple configurations for ota platform esphome port(s) [3232]\\033[0m\n", - "\\033[32mINFO Generating C++ source...\\033[0m\n", - "\\033[32mINFO Setting CONFIG_LWIP_MAX_SOCKETS to 13 (TCP=6 [api=3, captive_portal=3], UDP=3 [captive_portal=1, mdns=2], TCP_LISTEN=4 [api=1, ota=2, web_server_base=1])\\033[0m\n", - "\\033[32mINFO Compiling app... Build path: /data/build/esp-nspanel2lounge\\033[0m\n", - "Processing \u001b[36m\u001b[1mesp-nspanel2lounge\u001b[0m (board: esp32dev; framework: espidf; platform: https://github.com/pioarduino/platform-espressif32/releases/download/55.03.38-1/platform-espressif32.zip)\n", - "\u001b[1m--------------------------------------------------------------------------------\u001b[0m\n", - "\u001b[0mHARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash\n", - "\u001b[0m - contrib-piohome @ 3.4.4 \n", - "\u001b[0m - framework-espidf @ 3.50504.0 (5.5.4) \n", - "\u001b[0m - tool-cmake @ 4.0.3 \n", - "\u001b[0m - tool-esp-rom-elfs @ 2024.10.11 \n", - "\u001b[0m - tool-esptoolpy @ 5.2.0 \n", - "\u001b[0m - tool-ninja @ 1.13.1 \n", - "\u001b[0m - tool-scons @ 4.40801.0 (4.8.1) \n", - "\u001b[0m - tool-xtensa-esp-elf-gdb @ 16.3.0+20250913 \n", - "\u001b[0m - toolchain-xtensa-esp-elf @ 14.2.0+20260121\n", - "\u001b[33m\u001b[2mUsing Python 3.12.10 environment at: /root/.platformio/penv/.espidf-5.5.4\u001b[0m\n", - "\u001b[0mReading CMake configuration...\n", - "\u001b[0mGenerating assembly for certificate bundle...\n", - "\u001b[0mNo dependencies\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/adc/adc_sensor_common.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/adc/adc_sensor_esp32.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/api/api_buffer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/api/api_connection.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/api/api_frame_helper.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/api/api_frame_helper_plaintext.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/api/api_overflow_buffer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/api/api_pb2.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/api/api_pb2_service.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/api/api_server.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/api/list_entities.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/api/proto.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/api/subscribe_state.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/api/user_services.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/binary_sensor/automation.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/binary_sensor/binary_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/binary_sensor/filter.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/button/button.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/captive_portal/captive_portal.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/captive_portal/dns_server_esp32_idf.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/display/display.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/display/display_buffer.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/display/rect.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/esp32/core.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/esp32/crash_handler.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/esp32/gpio.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/esp32/hal.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/esp32/helpers.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/esp32/preferences.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/esp32/printf_stubs.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/esp32/throw_stubs.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/esphome/ota/ota_esphome.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/gpio/binary_sensor/gpio_binary_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/gpio/switch/gpio_switch.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/homeassistant/text_sensor/homeassistant_text_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/homeassistant/time/homeassistant_time.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/ledc/ledc_output.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/logger/logger.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/logger/logger_esp32.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/logger/task_log_buffer_esp32.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/md5/md5.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/mdns/mdns_component.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/mdns/mdns_esp32.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/network/util.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/nextion/nextion.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/nextion/nextion_commands.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/nextion/nextion_component.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/nextion/nextion_upload.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/nextion/nextion_upload_esp32.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/nextion/text_sensor/nextion_textsensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/nspanel_easy/addon_climate.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/nspanel_easy/addon_display_light.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/nspanel_easy/addon_upload_tft.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/nspanel_easy/base.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/nspanel_easy/chips.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/nspanel_easy/ha_components.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/nspanel_easy/hw_display.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/nspanel_easy/nextion_components.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/nspanel_easy/page_climate.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/nspanel_easy/page_entities.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/nspanel_easy/page_media_player.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/nspanel_easy/page_notification.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/nspanel_easy/page_popup_select.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/nspanel_easy/page_screensaver.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/nspanel_easy/page_utilities.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/nspanel_easy/pages.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/nspanel_easy/text.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/nspanel_easy/versioning.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/nspanel_easy/weather.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/ntc/ntc.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/number/automation.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/number/number.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/number/number_call.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/number/number_traits.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/ota/ota_backend.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/ota/ota_backend_esp_idf.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/ota/ota_bootloader_esp_idf.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/ota/ota_partitions_esp_idf.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/output/automation.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/output/float_output.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/psram/psram.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/resistance/resistance_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/restart/button/restart_button.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/rtttl/rtttl.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/safe_mode/safe_mode.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/script/script.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/select/select.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/select/select_call.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/select/select_traits.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/sensor/automation.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/sensor/filter.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/sensor/sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/sha256/sha256.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/socket/bsd_sockets_impl.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/socket/socket.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/switch/automation.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/switch/switch.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/template/binary_sensor/template_binary_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/template/number/template_number.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/template/select/template_select.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/template/switch/template_switch.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/template/text_sensor/template_text_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/text_sensor/filter.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/text_sensor/text_sensor.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/time/automation.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/time/posix_tz.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/time/real_time_clock.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/uart/uart.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/uart/uart_component.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/uart/uart_component_esp_idf.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/uart/uart_debugger.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/watchdog/watchdog.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/web_server/ota/ota_web_server.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/web_server_base/web_server_base.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/web_server_idf/multipart.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/web_server_idf/utils.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/web_server_idf/web_server_idf.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/wifi/wifi_component.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/components/wifi/wifi_component_esp_idf.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/core/alloc_helpers.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/core/application.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/core/build_info_data.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/core/color.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/core/component.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/core/component_iterator.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/core/controller_registry.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/core/entity_base.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/core/gpio.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/core/helpers.cpp.o\n", - "\u001b[0mCompiling .pioenvs/esp-nspanel2lounge/src/esphome/core/log.cpp.o\n" - ], + "job_id": "493417088612", + "configuration": "esp-datacupboardpower-right.yaml", + "job_type": "install", + "status": "completed", + "created_at": "2026-06-01T04:19:41.215725+00:00", + "started_at": "2026-06-01T05:03:11.804359+00:00", + "completed_at": "2026-06-01T05:05:51.684910+00:00", + "exit_code": 0, "error": null, - "port": "", + "port": "OTA", "new_name": "", - "progress": null, + "depends_on": "", + "progress": 100, "remote_peer": "", "remote_job_id": "", "remote_peer_label": "", @@ -16345,33 +2131,210 @@ "source_esphome_version": "" }, { - "job_id": "5ed4f57830a1", + "job_id": "8a5d39489f1e", + "configuration": "esp-occupancystair.yaml", + "job_type": "install", + "status": "completed", + "created_at": "2026-06-01T04:19:41.213955+00:00", + "started_at": "2026-06-01T04:58:26.392118+00:00", + "completed_at": "2026-06-01T05:03:11.798440+00:00", + "exit_code": 0, + "error": null, + "port": "OTA", + "new_name": "", + "depends_on": "", + "progress": 100, + "remote_peer": "", + "remote_job_id": "", + "remote_peer_label": "", + "device_name": "", + "device_friendly_name": "", + "source": "local", + "source_pin_sha256": "", + "source_label": "", + "source_esphome_version": "" + }, + { + "job_id": "2bcb831b7ed2", + "configuration": "esp-rocktumbler.yaml", + "job_type": "install", + "status": "completed", + "created_at": "2026-06-01T04:19:41.212251+00:00", + "started_at": "2026-06-01T04:55:43.968599+00:00", + "completed_at": "2026-06-01T04:58:26.386495+00:00", + "exit_code": 0, + "error": null, + "port": "OTA", + "new_name": "", + "depends_on": "", + "progress": 100, + "remote_peer": "", + "remote_job_id": "", + "remote_peer_label": "", + "device_name": "", + "device_friendly_name": "", + "source": "local", + "source_pin_sha256": "", + "source_label": "", + "source_esphome_version": "" + }, + { + "job_id": "25274c12214e", + "configuration": "esp-poolpumppower.yaml", + "job_type": "install", + "status": "completed", + "created_at": "2026-06-01T04:19:41.210457+00:00", + "started_at": "2026-06-01T04:49:44.043451+00:00", + "completed_at": "2026-06-01T04:55:43.957948+00:00", + "exit_code": 0, + "error": null, + "port": "OTA", + "new_name": "", + "depends_on": "", + "progress": 100, + "remote_peer": "", + "remote_job_id": "", + "remote_peer_label": "", + "device_name": "", + "device_friendly_name": "", + "source": "local", + "source_pin_sha256": "", + "source_label": "", + "source_esphome_version": "" + }, + { + "job_id": "dd006a8cb5f8", + "configuration": "esp-poollightpower2.yaml", + "job_type": "install", + "status": "completed", + "created_at": "2026-06-01T04:19:41.208532+00:00", + "started_at": "2026-06-01T04:46:54.066706+00:00", + "completed_at": "2026-06-01T04:49:44.037947+00:00", + "exit_code": 0, + "error": null, + "port": "OTA", + "new_name": "", + "depends_on": "", + "progress": 100, + "remote_peer": "", + "remote_job_id": "", + "remote_peer_label": "", + "device_name": "", + "device_friendly_name": "", + "source": "local", + "source_pin_sha256": "", + "source_label": "", + "source_esphome_version": "" + }, + { + "job_id": "808ee3474e43", + "configuration": "esp-entmulti.yaml", + "job_type": "install", + "status": "completed", + "created_at": "2026-06-01T04:19:41.206272+00:00", + "started_at": "2026-06-01T04:41:38.157621+00:00", + "completed_at": "2026-06-01T04:46:54.057075+00:00", + "exit_code": 0, + "error": null, + "port": "OTA", + "new_name": "", + "depends_on": "", + "progress": 100, + "remote_peer": "", + "remote_job_id": "", + "remote_peer_label": "", + "device_name": "", + "device_friendly_name": "", + "source": "local", + "source_pin_sha256": "", + "source_label": "", + "source_esphome_version": "" + }, + { + "job_id": "98b518fd7deb", + "configuration": "esp-loungenorthswitch.yaml", + "job_type": "install", + "status": "completed", + "created_at": "2026-06-01T04:19:41.202280+00:00", + "started_at": "2026-06-01T04:31:50.021073+00:00", + "completed_at": "2026-06-01T04:34:29.776467+00:00", + "exit_code": 0, + "error": null, + "port": "OTA", + "new_name": "", + "depends_on": "", + "progress": 100, + "remote_peer": "", + "remote_job_id": "", + "remote_peer_label": "", + "device_name": "", + "device_friendly_name": "", + "source": "local", + "source_pin_sha256": "", + "source_label": "", + "source_esphome_version": "" + }, + { + "job_id": "4e9147b9aba3", + "configuration": "esp-loungeenvironment.yaml", + "job_type": "install", + "status": "completed", + "created_at": "2026-06-01T04:19:41.197618+00:00", + "started_at": "2026-06-01T04:23:09.183099+00:00", + "completed_at": "2026-06-01T04:31:50.013969+00:00", + "exit_code": 0, + "error": null, + "port": "OTA", + "new_name": "", + "depends_on": "", + "progress": 100, + "remote_peer": "", + "remote_job_id": "", + "remote_peer_label": "", + "device_name": "", + "device_friendly_name": "", + "source": "local", + "source_pin_sha256": "", + "source_label": "", + "source_esphome_version": "" + }, + { + "job_id": "6e3f6f6d11e2", + "configuration": "esp-bedrm3fanswitch.yaml", + "job_type": "install", + "status": "completed", + "created_at": "2026-06-01T04:19:41.194888+00:00", + "started_at": "2026-06-01T04:19:41.195147+00:00", + "completed_at": "2026-06-01T04:23:09.177841+00:00", + "exit_code": 0, + "error": null, + "port": "OTA", + "new_name": "", + "depends_on": "", + "progress": 100, + "remote_peer": "", + "remote_job_id": "", + "remote_peer_label": "", + "device_name": "", + "device_friendly_name": "", + "source": "local", + "source_pin_sha256": "", + "source_label": "", + "source_esphome_version": "" + }, + { + "job_id": "0d9882f767e4", "configuration": "esp-ledmatrix1.yaml", "job_type": "clean", "status": "completed", - "created_at": "2026-05-24T03:37:56.768112+00:00", - "started_at": "2026-05-24T03:37:56.768278+00:00", - "completed_at": "2026-05-24T03:37:58.596073+00:00", + "created_at": "2026-06-01T11:27:18.782204+00:00", + "started_at": "2026-06-01T11:27:18.782662+00:00", + "completed_at": "2026-06-01T11:27:20.136530+00:00", "exit_code": 0, - "output": [ - "\\033[32mINFO ESPHome 2026.5.0\\033[0m\n", - "\\033[32mINFO Reading configuration /config/esphome/esp-ledmatrix1.yaml...\\033[0m\n", - "\\033[33mWARNING GPIO8 is a strapping PIN and should only be used for I/O with care.\n", - "Attaching external pullup/down resistors to strapping pins can cause unexpected failures.\n", - "See https://esphome.io/guides/faq/#why-am-i-getting-a-warning-about-strapping-pins\\033[0m\n", - "\\033[33mWARNING GPIO9 is a strapping PIN and should only be used for I/O with care.\n", - "Attaching external pullup/down resistors to strapping pins can cause unexpected failures.\n", - "See https://esphome.io/guides/faq/#why-am-i-getting-a-warning-about-strapping-pins\\033[0m\n", - "\\033[32mINFO Deleting /data/build/esp-ledmatrix1/.pioenvs\\033[0m\n", - "\\033[32mINFO Deleting /data/build/esp-ledmatrix1/.piolibdeps\\033[0m\n", - "\\033[32mINFO Deleting /data/build/esp-ledmatrix1/dependencies.lock\\033[0m\n", - "\\033[32mINFO Deleting /data/build/esp-ledmatrix1/managed_components\\033[0m\n", - "\\033[32mINFO Deleting PlatformIO cache /data/cache/platformio/cache\\033[0m\n", - "\\033[32mINFO Done!\\033[0m\n" - ], "error": null, "port": "", "new_name": "", + "depends_on": "", "progress": null, "remote_peer": "", "remote_job_id": "", @@ -16384,29 +2347,18 @@ "source_esphome_version": "" }, { - "job_id": "e4433a434baf", - "configuration": "esp-nspanel1masterbdrm.yaml", + "job_id": "3be5eba32760", + "configuration": "esp-entbtproxy.yaml", "job_type": "clean", "status": "completed", - "created_at": "2026-05-17T09:55:46.641871+00:00", - "started_at": "2026-05-17T09:55:46.642053+00:00", - "completed_at": "2026-05-17T09:55:49.036615+00:00", + "created_at": "2026-06-01T09:32:39.673871+00:00", + "started_at": "2026-06-01T09:32:39.674388+00:00", + "completed_at": "2026-06-01T09:32:40.967000+00:00", "exit_code": 0, - "output": [ - "\\033[32mINFO ESPHome 2026.5.0b1\\033[0m\n", - "\\033[32mINFO Reading configuration /config/esphome/esp-nspanel1masterbdrm.yaml...\\033[0m\n", - "\\033[32mINFO Detected timezone 'Pacific/Auckland'\\033[0m\n", - "\\033[33mWARNING Found and merged multiple configurations for ota platform esphome port(s) [3232]\\033[0m\n", - "\\033[32mINFO Deleting /data/build/esp-nspanel1masterbdrm/.pioenvs\\033[0m\n", - "\\033[32mINFO Deleting /data/build/esp-nspanel1masterbdrm/.piolibdeps\\033[0m\n", - "\\033[32mINFO Deleting /data/build/esp-nspanel1masterbdrm/dependencies.lock\\033[0m\n", - "\\033[32mINFO Deleting /data/build/esp-nspanel1masterbdrm/managed_components\\033[0m\n", - "\\033[32mINFO Deleting PlatformIO cache /data/cache/platformio/cache\\033[0m\n", - "\\033[32mINFO Done!\\033[0m\n" - ], "error": null, "port": "", "new_name": "", + "depends_on": "", "progress": null, "remote_peer": "", "remote_job_id": "", @@ -16419,28 +2371,66 @@ "source_esphome_version": "" }, { - "job_id": "1cb834d6b311", - "configuration": "esp-nspanel1masterbdrm.yaml", - "job_type": "clean", + "job_id": "caeff2ee984b", + "configuration": "", + "job_type": "reset_build_env", "status": "completed", - "created_at": "2026-05-17T09:30:13.803940+00:00", - "started_at": "2026-05-17T09:30:13.804128+00:00", - "completed_at": "2026-05-17T09:30:16.052388+00:00", + "created_at": "2026-06-01T04:18:48.122127+00:00", + "started_at": "2026-06-01T04:18:48.122426+00:00", + "completed_at": "2026-06-01T04:19:11.229921+00:00", "exit_code": 0, - "output": [ - "\\033[32mINFO ESPHome 2026.5.0b1\\033[0m\n", - "\\033[32mINFO Reading configuration /config/esphome/esp-nspanel1masterbdrm.yaml...\\033[0m\n", - "\\033[32mINFO Detected timezone 'Pacific/Auckland'\\033[0m\n", - "\\033[33mWARNING Found and merged multiple configurations for ota platform esphome port(s) [3232]\\033[0m\n", - "\\033[32mINFO Deleting /data/build/esp-nspanel1masterbdrm/.pioenvs\\033[0m\n", - "\\033[32mINFO Deleting /data/build/esp-nspanel1masterbdrm/dependencies.lock\\033[0m\n", - "\\033[32mINFO Deleting /data/build/esp-nspanel1masterbdrm/managed_components\\033[0m\n", - "\\033[32mINFO Deleting PlatformIO cache /data/cache/platformio/cache\\033[0m\n", - "\\033[32mINFO Done!\\033[0m\n" - ], "error": null, "port": "", "new_name": "", + "depends_on": "", + "progress": null, + "remote_peer": "", + "remote_job_id": "", + "remote_peer_label": "", + "device_name": "", + "device_friendly_name": "", + "source": "local", + "source_pin_sha256": "", + "source_label": "", + "source_esphome_version": "" + }, + { + "job_id": "89273e97de03", + "configuration": "esp-officelights.yaml", + "job_type": "clean", + "status": "completed", + "created_at": "2026-05-31T21:27:58.149553+00:00", + "started_at": "2026-05-31T21:27:58.149802+00:00", + "completed_at": "2026-05-31T21:27:59.353763+00:00", + "exit_code": 0, + "error": null, + "port": "", + "new_name": "", + "depends_on": "", + "progress": null, + "remote_peer": "", + "remote_job_id": "", + "remote_peer_label": "", + "device_name": "", + "device_friendly_name": "", + "source": "local", + "source_pin_sha256": "", + "source_label": "", + "source_esphome_version": "" + }, + { + "job_id": "56d376896863", + "configuration": "esp-occupancyoffice.yaml", + "job_type": "clean", + "status": "completed", + "created_at": "2026-05-31T21:18:20.951861+00:00", + "started_at": "2026-05-31T21:18:20.952106+00:00", + "completed_at": "2026-05-31T21:18:22.290042+00:00", + "exit_code": 0, + "error": null, + "port": "", + "new_name": "", + "depends_on": "", "progress": null, "remote_peer": "", "remote_job_id": "", @@ -16467,5 +2457,9 @@ }, "esp-mainbathunderfloorheat.yaml": { "board_id": "generic-esp32" + }, + "esp-ledmatrix1 copy.yaml": { + "board_id": "generic-esp32c3", + "mac_address": "64:E8:33:84:FD:C8" } } \ No newline at end of file diff --git a/esphome/esp-ledmatrix1 copy.yaml.V1 b/esphome/esp-ledmatrix1 copy.yaml.V1 new file mode 100644 index 0000000..c932298 --- /dev/null +++ b/esphome/esp-ledmatrix1 copy.yaml.V1 @@ -0,0 +1,916 @@ +#:########################################################################################:# +# TITLE: LED MATRIX 1 +# zorruno.com layout v1.1 2026 +# ESP32-C3 SuperMini MAX7219 LED matrix clock and scroll display. +#:########################################################################################:# +# REFERENCES: +# Original Project Reference https://github.com/RealDeco/matrixclock-esphome +# Fonts: https://github.com/RealDeco/matrixclock-esphome/tree/main/fonts +# 3D Printed Case (includes project notes in the 3mf files) +# https://github.com/RealDeco/matrixclock-esphome/tree/main/3DPrint +#:########################################################################################:# +# REPO: +# https://home.fox.co.nz/gitea/zorruno/zorruno-homeassistant/src/branch/master/esphome/esp-ledmatrix1.yaml +#:########################################################################################:# +# VERSIONS: +# V1.3 2026-05-24 Added native API action for Home Assistant direct scroll text commands. +# V1.2 2026-05-24 Added 1-15 brightness level slider and improved operation notes. +# V1.1 2026-05-23 Updated yaml to zorruno layout V1.1, cleaned comments, fixed SNTP time IDs, +# added current_mins fallback display, removed unused MQTT topic, and fixed +# blank scroll handling. +# V1.0 2026-05-23 Initial Version +#:########################################################################################:# +# HARDWARE: +# - ESP32-C3 SuperMini. +# - MAX7219 4-chip LED matrix display, typically 32 x 8 pixels. +# - SPI wiring configured below: +# - MOSI: GPIO8 +# - CS: GPIO9 +# - SCK: GPIO10 +# - Power note: 4 MAX7219 modules needs a suitable external 5 V supply. +# - Keep ESP32-C3 GND and matrix power supply GND connected together. +#:########################################################################################:# +# OPERATION NOTES: +# - Main display: +# - Shows a 32 x 8 LED matrix clock using the MAX7219 display component. +# - Uses common/sntp_common.yaml as the primary time source via id(sntp_time). +# - If SNTP is not valid, uses id(current_mins) as a fallback clock. +# - In fallback mode the colon stays solid, so it is obvious time is not fully synced. +# +# - Clock controls: +# - Clock format can be selected as 12h or 24h from Home Assistant or MQTT. +# - 12h mode draws a small A or P indicator at the far right of the display. +# +# - Brightness controls: +# - The Display light entity can turn the matrix on/off and set proportional brightness. +# - The Brightness Level number slider sets the exact MAX7219 intensity from 1 to 15. +# - MQTT brightness accepts 0 to turn the display off, or 1-15 to set exact intensity. +# - The 1-15 slider keeps the last non-zero brightness value when the display is off. +# +# - Scroll text controls: +# - Scroll Text is exposed as a Home Assistant text entity. +# - Native API action esphome.esp_ledmatrix1_scroll_text can scroll text directly from Home Assistant. +# - The text box clears itself after a valid scroll request is accepted. +# - Empty scroll requests are ignored and do not replay the previous message. +# - Scroll Delay controls the delay in milliseconds between scroll steps. +# +# - Scroll transitions: +# - Before scrolling, the clock always slides down and off the display. +# - After scrolling, the selected re-entry effect runs. +# - Available re-entry effects are Slide up, Slide down, and Pixel fall. +# - Pixel fall hides the clock until the particle effect finishes. +#:########################################################################################:# +# MQTT COMMANDS: +# - ${mqtt_command_topic}/scroll : Text payload to scroll once across the display. +# - ${mqtt_command_topic}/mode : Payload 12 or 24 to select clock format. +# - ${mqtt_command_topic}/bright : Payload 0 turns display off, 1-15 sets exact brightness. +# - ${mqtt_status_topic}/status : Publishes online/offline status. +#:########################################################################################:# +# HOME ASSISTANT API ACTIONS: +# - esphome.esp_ledmatrix1_scroll_text +# data: +# message: "Text to scroll" +#:########################################################################################:# +# OFFLINE NOTES: +# a) Home Assistant offline, but WiFi/network and MQTT online: +# - Clock display should continue using SNTP if the NTP servers are reachable. +# - MQTT scroll, brightness, and 12h/24h mode commands should still work. +# +# b) MQTT offline, but WiFi/network and Home Assistant API online: +# - Home Assistant text, light, number, and select entities should still work. +# - Clock display should continue using SNTP if the NTP servers are reachable. +# +# c) Entire WiFi/network offline: +# - SNTP will not be available after boot. +# - Clock display will use the current_mins fallback from common/sntp_common.yaml. +# - Accurate time is needed for the clock, so fallback time will drift. +# - For a rough reset, power-cycle the device at 12:00 noon. +# - Home Assistant and MQTT controls will not be available while offline. +#:########################################################################################:# + +#:########################################################################################:# +# SUBSTITUTIONS: Specific device variable substitutions +# If NOT using a secrets file, just replace these with the passwords etc in quotes. +#:########################################################################################:# +substitutions: + # Device Naming + device_name: "esp-ledmatrix1" + friendly_name: "LED Matrix Display" + description_comment: "LED Matrix Display (Layout V1.1)" + device_area: "Lounge" # Allows ESP device to be automatically linked to an Area in Home Assistant. + + # Project Naming + project_name: "Generic.ESP32 Supermini" + project_version: "v1.3" + + # Passwords & Secrets + api_key: !secret esp-api_key + ota_pass: !secret esp-ota_pass + static_ip_address: !secret esp-ledmatrix1_ip # Substitutions cannot be used inside secret names. + mqtt_command_main_topic: !secret mqtt_command_main_topic + mqtt_status_main_topic: !secret mqtt_status_main_topic + + # If changing IP addresses, update current_ip_address here, otherwise it remains static_ip_address. + # Do not forget to switch it back when the address change is complete. + current_ip_address: ${static_ip_address} + + # MQTT LOCAL Controls + mqtt_device_name: "ledmatrix1" + mqtt_command_topic: "${mqtt_command_main_topic}/${mqtt_device_name}" + mqtt_status_topic: "${mqtt_status_main_topic}/${mqtt_device_name}" + + # Device Settings + log_level: "INFO" # NONE, ERROR, WARN, INFO, DEBUG, VERBOSE, VERY_VERBOSE + update_interval: "60s" + + # Matrix Display Settings + pin_mosi: GPIO8 + pin_cs: GPIO9 + pin_sck: GPIO10 + num_chips: "4" + scroll_delay_ms: "15" # ms between scroll steps + matrix_initial_brightness: "2" # Default MAX7219 intensity, 1-15. + y_offset: "0" + y_scroll_offset: "0" + +#:########################################################################################:# +# PACKAGES: Included Common Packages +# https://esphome.io/components/packages.html +#:########################################################################################:# +packages: + #### WIFI, Network (Static/DHCP/IPV6 etc), Fallback AP, Safemode #### + common_wifi: !include + file: common/network_common.yaml + vars: + local_device_name: "${device_name}" + local_static_ip_address: "${static_ip_address}" + local_ota_pass: "${ota_pass}" + local_current_ip_address: "${current_ip_address}" + + #### HOME ASSISTANT API (choose encryption or no encryption options) #### + common_api: !include + file: common/api_common.yaml + #file: common/api_common_noencryption.yaml + vars: + local_api_key: "${api_key}" + + #### MQTT #### + common_mqtt: !include + file: common/mqtt_common.yaml + vars: + local_device_name: "${device_name}" + + #### WEB PORTAL #### + common_webportal: !include common/webportal_common.yaml + + #### SNTP (Needed for the clock display) #### + common_sntp: !include common/sntp_common.yaml + + #### DIAGNOSTICS Sensors #### + diag_basic: !include common/include_basic_diag_sensors.yaml + #diag_more: !include common/include_more_diag_sensors.yaml + #diag_debug: !include common/include_debug_diag_sensors.yaml + #diag_resetcount: !include common/include_resetcount_diag_sensors.yaml + +#:########################################################################################:# +# ESPHOME: +# https://esphome.io/components/esphome.html +#:########################################################################################:# +esphome: + name: "${device_name}" + friendly_name: "${friendly_name}" + comment: "${description_comment}" # Appears on the ESPHome page in Home Assistant. + area: "${device_area}" + project: + name: "${project_name}" + version: "${project_version}" + on_boot: + priority: 600 + then: + # Ensure Home Assistant shows the text box as empty rather than unknown. + - delay: 500ms + - lambda: |- + id(ha_scroll_text).publish_state(""); + - component.update: matrix + +#:########################################################################################:# +# ESP PLATFORM AND FRAMEWORK: +# https://esphome.io/components/esp32/ +#:########################################################################################:# +esp32: + variant: esp32c3 + framework: + type: esp-idf + version: recommended + +#esp8266: +# board: esp01_1m +# early_pin_init: false # Recommended false where switches are involved. Defaults to true. +# board_flash_mode: dout # Default is dout. + +#:########################################################################################:# +# LOGGER: ESPHome Logging Enable +# https://esphome.io/components/logger.html +#:########################################################################################:# +logger: + level: "${log_level}" # INFO suggested, or DEBUG for testing. + #baud_rate: 0 # Set to 0 for no UART logging if UART is used for another device. + #esp8266_store_log_strings_in_flash: false + #tx_buffer_size: 64 + +#:########################################################################################:# +# API COMPONENT: Device-specific Home Assistant native API actions +# https://esphome.io/components/api.html +#:########################################################################################:# +api: + actions: + # Home Assistant action: esphome.esp_ledmatrix1_scroll_text + # Example HA data: { message: "Hello from Home Assistant" } + - action: scroll_text + variables: + message: string + then: + - lambda: |- + std::string s = message; + + s.erase(std::remove(s.begin(), s.end(), '\r'), s.end()); + s.erase(std::remove(s.begin(), s.end(), '\n'), s.end()); + s.erase(std::remove_if(s.begin(), s.end(), + [](unsigned char c){ return c < 0x20; }), s.end()); + + // Ignore empty API scroll commands completely. + if (s.empty()) return; + + // Keep the HA text entity visually in sync with this direct API action. + id(ha_scroll_text).publish_state(s.c_str()); + + id(scroll_text) = s; + id(scroll_x) = ${num_chips} * 8; + id(start_scroll_sequence).execute(); + id(clear_scroll_text_box).execute(); + +#:########################################################################################:# +# GLOBALS: +# https://esphome.io/components/globals.html +#:########################################################################################:# +globals: + # Text currently being scrolled across the matrix. + - id: scroll_text + type: std::string + initial_value: "" + + # Current X position of the scrolling text. + - id: scroll_x + type: int + initial_value: '0' + + # True while a scroll message is active. + - id: scrolling + type: bool + initial_value: 'false' + + # False = 24h mode, true = 12h mode. + - id: use_12h_mode + type: bool + restore_value: true + initial_value: 'false' + + # Runtime scroll delay, controlled by the Scroll Delay number entity. + - id: scroll_delay_runtime + type: int + restore_value: true + initial_value: '${scroll_delay_ms}' + + # MAX7219 intensity: 0=OFF, 1..15=ON. Driven by the HA light and brightness slider. + - id: matrix_intensity + type: int + restore_value: false + initial_value: '${matrix_initial_brightness}' + + # Last non-zero brightness level selected by HA, MQTT, or the 1-15 slider. + # This allows the exact slider to keep its value when the display is switched off. + - id: matrix_last_nonzero_intensity + type: int + restore_value: true + initial_value: '${matrix_initial_brightness}' + + # Brightness sync loop protection for HA light <-> MQTT brightness updates. + - id: suppress_mqtt_bright_sync + type: bool + restore_value: false + initial_value: 'false' + + - id: target_mqtt_bright + type: int + restore_value: false + initial_value: '-1' + + - id: last_mqtt_bright + type: int + restore_value: false + initial_value: '-1' + + # Re-entry effect after scrolling: 0=Slide up, 1=Slide down, 2=Pixel fall. + - id: transition_mode + type: int + restore_value: true + initial_value: '0' + + # Slide transition state. + - id: transition_active + type: bool + restore_value: false + initial_value: 'false' + + - id: transition_y + type: int + restore_value: false + initial_value: '0' + + # Pixel-fall transition state. + - id: pixel_fall_active + type: bool + restore_value: false + initial_value: 'false' + + - id: pixel_fall_gen + type: int + restore_value: false + initial_value: '0' + +#:########################################################################################:# +# FONT COMPONENT: +# https://esphome.io/components/font/ +#:########################################################################################:# +font: + # Clock digits. Keep glyphs limited to reduce firmware size. + - file: "fonts/Eight-Bit-Dragon.ttf" + id: digit5 + size: 8 + glyphs: ["0123456789: -"] + + # General 5x8 font for scroll text. + - file: "fonts/5x8.bdf" + id: font5x8 + size: 8 + +#:########################################################################################:# +# SPI COMPONENT: +# https://esphome.io/components/spi.html +#:########################################################################################:# +spi: + clk_pin: ${pin_sck} + mosi_pin: ${pin_mosi} + +#:########################################################################################:# +# MQTT: Device-specific MQTT command triggers +# This adds device-specific MQTT command triggers to the common MQTT configuration. +#:########################################################################################:# +mqtt: + discovery: false + birth_message: + topic: "${mqtt_status_topic}/status" + payload: "online" + qos: 0 + retain: true + will_message: + topic: "${mqtt_status_topic}/status" + payload: "offline" + qos: 0 + retain: true + on_message: + # Scroll a text payload once across the matrix. + - topic: "${mqtt_command_topic}/scroll" + then: + - lambda: |- + std::string s = x.c_str(); + s.erase(std::remove(s.begin(), s.end(), '\r'), s.end()); + s.erase(std::remove(s.begin(), s.end(), '\n'), s.end()); + s.erase(std::remove_if(s.begin(), s.end(), + [](unsigned char c){ return c < 0x20; }), s.end()); + + // Ignore empty MQTT scroll commands completely. + if (s.empty()) return; + + id(scroll_text) = s; + id(scroll_x) = ${num_chips} * 8; + id(start_scroll_sequence).execute(); + + # Set 12h or 24h clock mode from MQTT. + - topic: "${mqtt_command_topic}/mode" + then: + - lambda: |- + if (x == "12") { + id(use_12h_mode) = true; + } else if (x == "24") { + id(use_12h_mode) = false; + } + - component.update: clock_format_select + - component.update: matrix + + # Brightness from MQTT. 0=OFF, 1..15=ON brightness level. + - topic: "${mqtt_command_topic}/bright" + then: + - lambda: |- + std::string s = x.c_str(); + s.erase(std::remove_if(s.begin(), s.end(), + [](unsigned char c){ return c < 0x20 || c == 0x7F; }), s.end()); + s.erase(s.begin(), std::find_if(s.begin(), s.end(), + [](unsigned char ch){ return !std::isspace(ch); })); + s.erase(std::find_if(s.rbegin(), s.rend(), + [](unsigned char ch){ return !std::isspace(ch); }).base(), s.end()); + + if (s.empty() || !std::all_of(s.begin(), s.end(), + [](unsigned char c){ return std::isdigit(c); })) return; + + int v = atoi(s.c_str()); + if (v < 0) v = 0; + if (v > 15) v = 15; + + id(suppress_mqtt_bright_sync) = true; + + if (v == 0) { + id(matrix_light).turn_off().perform(); + } else { + id(matrix_last_nonzero_intensity) = v; + id(matrix_brightness_number).publish_state((float) v); + + auto call = id(matrix_light).turn_on(); + call.set_brightness((float) v / 15.0f); + call.perform(); + } + + id(last_mqtt_bright) = v; + id(suppress_mqtt_bright_sync) = false; + +#:########################################################################################:# +# TEXT COMPONENT: +# https://esphome.io/components/text/template/ +#:########################################################################################:# +text: + - platform: template + id: ha_scroll_text + name: "${friendly_name} Scroll Text" + icon: "mdi:message-text-outline" + mode: text + max_length: 80 + optimistic: false + set_action: + - lambda: |- + std::string s = x.c_str(); + + s.erase(std::remove(s.begin(), s.end(), '\r'), s.end()); + s.erase(std::remove(s.begin(), s.end(), '\n'), s.end()); + s.erase(std::remove_if(s.begin(), s.end(), + [](unsigned char c){ return c < 0x20; }), s.end()); + + // Publish the cleaned text so the HA UI updates immediately. + id(ha_scroll_text).publish_state(s.c_str()); + + // Empty text only clears the entity. It should not start a scroll. + if (s.empty()) return; + + id(scroll_text) = s; + id(scroll_x) = ${num_chips} * 8; + id(start_scroll_sequence).execute(); + id(clear_scroll_text_box).execute(); + +#:########################################################################################:# +# NUMBER COMPONENT: +# https://esphome.io/components/number/template/ +#:########################################################################################:# +number: + - platform: template + id: scroll_delay_number + name: "${friendly_name} Scroll Delay" + icon: "mdi:timer-outline" + unit_of_measurement: "ms" + min_value: 1 + max_value: 100 + step: 1 + restore_value: true + initial_value: ${scroll_delay_ms} + optimistic: true + set_action: + - lambda: |- + id(scroll_delay_runtime) = (int) x; + + - platform: template + id: matrix_brightness_number + name: "${friendly_name} Brightness Level" + icon: "mdi:brightness-6" + min_value: 1 + max_value: 15 + step: 1 + restore_value: true + initial_value: ${matrix_initial_brightness} + optimistic: true + set_action: + - lambda: |- + int v = (int) lroundf(x); + if (v < 1) v = 1; + if (v > 15) v = 15; + + id(matrix_last_nonzero_intensity) = v; + + // Setting the exact brightness slider also turns the display on. + auto call = id(matrix_light).turn_on(); + call.set_brightness((float) v / 15.0f); + call.perform(); + +#:########################################################################################:# +# OUTPUT COMPONENT: +# https://esphome.io/components/output/ +#:########################################################################################:# +output: + # Template output lets the HA light and brightness slider control MAX7219 intensity. + - platform: template + id: matrix_brightness_out + type: float + write_action: + - lambda: |- + int pub = 0; + + if (state <= 0.001f) { + id(matrix_intensity) = 0; + id(matrix).turn_on_off(false); + pub = 0; + } else { + int v = (int) lroundf(state * 15.0f); + if (v < 1) v = 1; + if (v > 15) v = 15; + + id(matrix_intensity) = v; + id(matrix_last_nonzero_intensity) = v; + id(matrix_brightness_number).publish_state((float) v); + id(matrix).turn_on_off(true); + pub = v; + } + + id(target_mqtt_bright) = pub; + + - component.update: matrix + + # Publish brightness back to MQTT unless this update came from MQTT. + - if: + condition: + lambda: |- + return !id(suppress_mqtt_bright_sync) + && (id(target_mqtt_bright) != id(last_mqtt_bright)); + then: + - mqtt.publish: + topic: "${mqtt_command_topic}/bright" + payload: !lambda |- + char buf[6]; + snprintf(buf, sizeof(buf), "%d", id(target_mqtt_bright)); + return std::string(buf); + qos: 0 + retain: true + - lambda: |- + id(last_mqtt_bright) = id(target_mqtt_bright); + +#:########################################################################################:# +# LIGHT COMPONENT: +# https://esphome.io/components/light/monochromatic/ +#:########################################################################################:# +light: + - platform: monochromatic + id: matrix_light + name: "${friendly_name} Display" + icon: "mdi:brightness-6" + output: matrix_brightness_out + gamma_correct: 1.0 + default_transition_length: 0s + restore_mode: RESTORE_DEFAULT_ON + +#:########################################################################################:# +# SELECT COMPONENT: +# https://esphome.io/components/select/template/ +#:########################################################################################:# +select: + - platform: template + id: clock_format_select + name: "${friendly_name} Clock Format" + icon: "mdi:clock-time-three-outline" + options: + - "24" + - "12" + lambda: |- + return esphome::optional(std::string(id(use_12h_mode) ? "12" : "24")); + set_action: + - lambda: |- + id(use_12h_mode) = (x == "12"); + - component.update: clock_format_select + - component.update: matrix + + - platform: template + id: transition_select + name: "${friendly_name} Transition Effect" + icon: "mdi:transition" + options: + - "Slide up" + - "Slide down" + - "Pixel fall" + lambda: |- + if (id(transition_mode) == 2) return std::string("Pixel fall"); + if (id(transition_mode) == 1) return std::string("Slide down"); + return std::string("Slide up"); + set_action: + - lambda: |- + if (x == "Pixel fall") id(transition_mode) = 2; + else if (x == "Slide down") id(transition_mode) = 1; + else id(transition_mode) = 0; + - component.update: transition_select + +#:########################################################################################:# +# SCRIPT COMPONENT: +# https://esphome.io/components/script.html +#:########################################################################################:# +script: + # Clear the HA text box shortly after a scroll request has been accepted. + - id: clear_scroll_text_box + mode: restart + then: + - delay: 400ms + - lambda: |- + id(ha_scroll_text).publish_state(""); + + # Sequence: exit slide-down -> scroll -> selected re-entry. + - id: start_scroll_sequence + mode: restart + then: + - lambda: |- + id(scrolling) = false; + id(pixel_fall_active) = false; + - component.update: matrix + - script.execute: clock_exit_down + - script.wait: clock_exit_down + - lambda: |- + id(scrolling) = true; + - script.execute: do_scroll + + # Scroll the stored text until it has moved fully off the left side. + - id: do_scroll + mode: restart + then: + - while: + condition: + lambda: |- + return id(scrolling); + then: + - lambda: |- + id(scroll_x) -= 1; + const int end_limit = - (int(id(scroll_text).length()) * 6); + if (id(scroll_x) < end_limit) { + id(scrolling) = false; + + if (id(transition_mode) == 1) { + id(clock_slide_down_entry).execute(); + } else if (id(transition_mode) == 2) { + id(clock_pixel_fall_transition).execute(); + } else { + id(clock_slide_up_entry).execute(); + } + } + - component.update: matrix + - delay: !lambda |- + return (uint32_t) id(scroll_delay_runtime); + + # Exit: slide clock down off-screen and hold it there to prevent a one-frame flash. + - id: clock_exit_down + mode: restart + then: + - lambda: |- + id(transition_active) = true; + id(transition_y) = ${y_offset}; + - repeat: + count: 9 + then: + - lambda: |- + id(transition_y) += 1; + - component.update: matrix + - delay: 45ms + - lambda: |- + id(transition_active) = true; + id(transition_y) = 8; + - component.update: matrix + + # Re-entry: clock slides down into place from above. + - id: clock_slide_down_entry + mode: restart + then: + - lambda: |- + id(transition_active) = true; + id(transition_y) = -8; + - repeat: + count: 9 + then: + - lambda: |- + id(transition_y) += 1; + - component.update: matrix + - delay: 60ms + - lambda: |- + id(transition_active) = false; + id(transition_y) = ${y_offset}; + - component.update: matrix + + # Re-entry: clock slides up into place from below. + - id: clock_slide_up_entry + mode: restart + then: + - lambda: |- + id(transition_active) = true; + id(transition_y) = 8; + - repeat: + count: 9 + then: + - lambda: |- + id(transition_y) -= 1; + - component.update: matrix + - delay: 60ms + - lambda: |- + id(transition_active) = false; + id(transition_y) = ${y_offset}; + - component.update: matrix + + # Re-entry: falling pixels effect before the clock redraws. + - id: clock_pixel_fall_transition + mode: restart + then: + - lambda: |- + id(transition_active) = false; + id(transition_y) = ${y_offset}; + id(pixel_fall_active) = true; + id(pixel_fall_gen) += 1; + - repeat: + count: 18 + then: + - component.update: matrix + - delay: 55ms + - lambda: |- + id(pixel_fall_active) = false; + id(transition_active) = false; + id(transition_y) = ${y_offset}; + - component.update: matrix + +#:########################################################################################:# +# DISPLAY COMPONENT: +# https://esphome.io/components/display/max7219digit/ +#:########################################################################################:# +display: + - platform: max7219digit + id: matrix + cs_pin: ${pin_cs} + num_chips: ${num_chips} + intensity: 2 + update_interval: 500ms + rotate_chip: 0 + reverse_enable: false + flip_x: false + + lambda: |- + // Apply brightness only when it changes to reduce flicker. + static int last_brightness = -1; + if (id(matrix_intensity) != last_brightness) { + if (id(matrix_intensity) > 0) { + int v = id(matrix_intensity); + if (v > 15) v = 15; + it.intensity((uint8_t) v); + } + last_brightness = id(matrix_intensity); + } + + if (id(matrix_intensity) == 0) return; + + it.clear(); + + // Scroll text has priority over clock display. + if (id(scrolling)) { + it.print(id(scroll_x), ${y_scroll_offset}, id(font5x8), id(scroll_text).c_str()); + return; + } + + // Pixel fall shows only particles while active. + if (id(pixel_fall_active)) { + static int last_gen = -1; + static int px[24]; + static int py[24]; + static uint32_t rng = 1; + + auto rand_u32 = [&]() -> uint32_t { + rng = rng * 1664525u + 1013904223u; + return rng; + }; + + if (last_gen != id(pixel_fall_gen)) { + last_gen = id(pixel_fall_gen); + rng = 0xA5A5A5A5u ^ (uint32_t) id(pixel_fall_gen); + for (int i = 0; i < 24; i++) { + px[i] = (int)(rand_u32() % 32); + py[i] = - (int)(rand_u32() % 16); + } + } + + for (int i = 0; i < 24; i++) { + int spd = 1 + (int)(rand_u32() % 2); + py[i] += spd; + + if (py[i] > 10) { + px[i] = (int)(rand_u32() % 32); + py[i] = - (int)(rand_u32() % 10); + } + + for (int t = 0; t < 2; t++) { + int yy = py[i] - t; + int xx = px[i]; + if (xx >= 0 && xx <= 31 && yy >= 0 && yy <= 7) { + it.draw_pixel_at(xx, yy, Color::WHITE); + } + } + } + return; + } + + // Prefer real SNTP time. Fall back to current_mins from common/sntp_common.yaml. + auto now = id(sntp_time).now(); + bool time_valid = now.is_valid(); + + int raw_hour = 0; + int minute_to_show = 0; + int second_to_show = 0; + + if (time_valid) { + raw_hour = now.hour; + minute_to_show = now.minute; + second_to_show = now.second; + } else { + int mins = id(current_mins); + if (mins < 0) mins = 0; + if (mins >= 1440) mins = mins % 1440; + + raw_hour = mins / 60; + minute_to_show = mins % 60; + second_to_show = 0; + } + + int hour_to_show = raw_hour; + if (id(use_12h_mode)) { + hour_to_show = raw_hour % 12; + if (hour_to_show == 0) hour_to_show = 12; + } + + char hh[3], mm[3]; + snprintf(hh, sizeof(hh), "%02d", hour_to_show); + snprintf(mm, sizeof(mm), "%02d", minute_to_show); + + const int x_h1 = 3; + const int x_h2 = 9; + const int x_m1 = 17; + const int x_m2 = 23; + + const int y = (id(transition_active) ? id(transition_y) : ${y_offset}); + + char ch[2] = { hh[0], 0 }; + it.print(x_h1, y, id(digit5), ch); + ch[0] = hh[1]; + it.print(x_h2, y, id(digit5), ch); + + ch[0] = mm[0]; + it.print(x_m1, y, id(digit5), ch); + ch[0] = mm[1]; + it.print(x_m2, y, id(digit5), ch); + + // In 12h mode, draw a tiny A or P indicator at the far right. + if (id(use_12h_mode)) { + const bool is_pm = raw_hour >= 12; + + const uint8_t A_rows[4] = { 2, 5, 7, 5 }; + const uint8_t P_rows[4] = { 6, 5, 6, 4 }; + const uint8_t *L = is_pm ? P_rows : A_rows; + + const int x_ampm = 29; + const int y_ampm = y + 4; + + for (int r = 0; r < 4; r++) { + uint8_t row = L[r]; + for (int c = 0; c < 3; c++) { + if (row & (1 << (2 - c))) { + int xx = x_ampm + c; + int yy = y_ampm + r; + if (yy >= 0 && yy <= 7 && xx >= 0 && xx <= 31) { + it.draw_pixel_at(xx, yy, Color::WHITE); + } + } + } + } + } + + // Blink the colon when SNTP is valid. Keep it solid during fallback time. + const bool colon_on = time_valid ? ((second_to_show % 2) == 0) : true; + if (colon_on) { + const int x_col = (x_h2 + x_m1) / 2 + 2; + int y1 = y + 2; + int y2 = y + 5; + if (y1 >= 0 && y1 <= 7) it.draw_pixel_at(x_col, y1, Color::WHITE); + if (y2 >= 0 && y2 <= 7) it.draw_pixel_at(x_col, y2, Color::WHITE); + } \ No newline at end of file diff --git a/esphome/esp-ledmatrix1.yaml b/esphome/esp-ledmatrix1.yaml index c932298..1b42699 100644 --- a/esphome/esp-ledmatrix1.yaml +++ b/esphome/esp-ledmatrix1.yaml @@ -6,13 +6,29 @@ # REFERENCES: # Original Project Reference https://github.com/RealDeco/matrixclock-esphome # Fonts: https://github.com/RealDeco/matrixclock-esphome/tree/main/fonts -# 3D Printed Case (includes project notes in the 3mf files) +# 3D Printed Case (includes project notes in the 3mf files) # https://github.com/RealDeco/matrixclock-esphome/tree/main/3DPrint #:########################################################################################:# # REPO: # https://home.fox.co.nz/gitea/zorruno/zorruno-homeassistant/src/branch/master/esphome/esp-ledmatrix1.yaml #:########################################################################################:# # VERSIONS: +# V1.14 2026-06-04 Added per-announcement static wait and stored sound_id parameter. +# V1.13 2026-06-04 Fixed remaining leading-space stripping in static transitions and MQTT announce parsing. +# V1.12 2026-06-04 Preserved leading spaces in scroll/static/announcement text for layout control. +# V1.11 2026-06-04 Shifted 24h clock display one pixel right and changed Static Wait Time range to 0-30s. +# V1.10 2026-06-03 Added real-font clipped partial next character for long static message entry/hold. +# V1.9 2026-06-03 Improved static long-message first-screen calculation using +# measured font text bounds instead of a fixed character estimate. +# V1.8 2026-06-03 Refactored static long-message handling so entry/hold uses only +# the first screenful at x=0, then full text scrolls left after wait. +# V1.7 2026-06-03 Reworked long static-message sequence so text rolls in at x=0, +# waits, scrolls left cleanly from x=0, then returns to clock. +# V1.6 2026-06-03 Improved static notification centering and long-message static scrolling. +# V1.5 2026-06-03 Added static notification transition effects, static wait time, +# centred short static text, and long static-message scrolling. +# V1.4 2026-06-01 Added queued MQTT announcement mode with cancel IDs, per-message speed, +# per-message transition mode, repeat scheduling, and optional sounder GPIO. # V1.3 2026-05-24 Added native API action for Home Assistant direct scroll text commands. # V1.2 2026-05-24 Added 1-15 brightness level slider and improved operation notes. # V1.1 2026-05-23 Updated yaml to zorruno layout V1.1, cleaned comments, fixed SNTP time IDs, @@ -27,6 +43,7 @@ # - MOSI: GPIO8 # - CS: GPIO9 # - SCK: GPIO10 +# - Optional sounder / beeper output defaults to GPIO4. # - Power note: 4 MAX7219 modules needs a suitable external 5 V supply. # - Keep ESP32-C3 GND and matrix power supply GND connected together. #:########################################################################################:# @@ -52,19 +69,59 @@ # - Native API action esphome.esp_ledmatrix1_scroll_text can scroll text directly from Home Assistant. # - The text box clears itself after a valid scroll request is accepted. # - Empty scroll requests are ignored and do not replay the previous message. -# - Scroll Delay controls the delay in milliseconds between scroll steps. +# - Leading spaces in scroll/static/announcement text are preserved for manual layout control. +# - Long static transition messages use leading spaces as a pixel offset before the text. +# - Scroll Delay controls the default delay in milliseconds between scroll steps. +# - Static Wait Time controls how long static notifications hold before scrolling/returning. +# - Static Wait Time supports 0-30 seconds; 0 starts scrolling/returning immediately. +# - MQTT /scroll uses the selected default scroll delay and selected default transition effect. +# +# - Announcement controls: +# - MQTT /announce queues repeated announcement messages with per-message parameters. +# - Announcement format is: +# Message text [identifier,transition_mode,speed,repeat_seconds,repeat_times,static_wait,sounder_quantity,sound_id] +# - identifier is cleaned to letters, numbers, underscore, or dash, and is limited to 8 characters. +# - transition_mode is 0, 1, 2, 3, or 4. +# - 0=Slide up, 1=Slide down, 2=Pixel fall, 3=Static Up, Down, 4=Static Down, Up. +# - speed is the per-message scroll delay in ms, clamped from 1 to 100. +# - repeat_seconds is the delay between completed scrolls, clamped from 0 to 99. +# - repeat_times is the total number of scroll displays, clamped from 0 to 99. +# - repeat_times 0 is treated as a one-shot announcement. +# - static_wait is the per-message static wait time in seconds, clamped from 0 to 30. +# - static_wait only affects transition modes 3 and 4. Other modes ignore it. +# - sounder_quantity is the number of announcement displays that should beep first. +# - sounder_quantity 0 means no sounder beep. +# - sound_id is stored for future sounder logic but is not currently used. +# - If a new announcement arrives with the same identifier, older queued copies are removed +# and the current matching announcement is cancelled after its current scroll finishes. +# - MQTT /cancel_id cancels future repeats for a queued or active announcement ID. +# - The active scroll is allowed to finish cleanly when cancelled. # # - Scroll transitions: # - Before scrolling, the clock always slides down and off the display. # - After scrolling, the selected re-entry effect runs. -# - Available re-entry effects are Slide up, Slide down, and Pixel fall. +# - Available re-entry effects are Slide up, Slide down, Pixel fall, Static Up, Down, and Static Down, Up. # - Pixel fall hides the clock until the particle effect finishes. +# - Static Up, Down rolls the clock upward, centres short static text across the full display, waits, then rolls the clock back down. +# - Static Down, Up rolls the clock downward, centres short static text across the full display, waits, then rolls the clock back up. +# - Long static text rolls in using only the first complete screenful at x=0. +# - The first screenful is measured using display text bounds for the active font, +# so it should use as much of the 32-pixel display as possible without clipping. +# - Long static text then waits without horizontal movement, scrolls the full text left +# from x=0 until fully off-screen, then the clock rolls back in. #:########################################################################################:# # MQTT COMMANDS: -# - ${mqtt_command_topic}/scroll : Text payload to scroll once across the display. -# - ${mqtt_command_topic}/mode : Payload 12 or 24 to select clock format. -# - ${mqtt_command_topic}/bright : Payload 0 turns display off, 1-15 sets exact brightness. -# - ${mqtt_status_topic}/status : Publishes online/offline status. +# - ${mqtt_command_topic}/scroll : Text payload to scroll once across the display. +# - ${mqtt_command_topic}/announce : Queued announcement payload: +# Message text [id,transition,speed,repeat_seconds,repeat_times,static_wait,sounder_quantity,sound_id] +# - ${mqtt_command_topic}/cancel_id : Payload is the short ID to cancel future repeats. +# - ${mqtt_command_topic}/mode : Payload 12 or 24 to select clock format. +# - ${mqtt_command_topic}/bright : Payload 0 turns display off, 1-15 sets exact brightness. +# - Transition IDs: 0=Slide up, 1=Slide down, 2=Pixel fall, 3=Static Up, Down, 4=Static Down, Up. +# - ${mqtt_status_topic}/status : Publishes online/offline status. +# +# - Example announce payload: +# Washing machine complete [wash,1,15,10,6,5,1,0] #:########################################################################################:# # HOME ASSISTANT API ACTIONS: # - esphome.esp_ledmatrix1_scroll_text @@ -74,11 +131,12 @@ # OFFLINE NOTES: # a) Home Assistant offline, but WiFi/network and MQTT online: # - Clock display should continue using SNTP if the NTP servers are reachable. -# - MQTT scroll, brightness, and 12h/24h mode commands should still work. +# - MQTT scroll, announce, cancel_id, brightness, and 12h/24h mode commands should still work. # # b) MQTT offline, but WiFi/network and Home Assistant API online: # - Home Assistant text, light, number, and select entities should still work. # - Clock display should continue using SNTP if the NTP servers are reachable. +# - MQTT announce and cancel_id commands will not be available. # # c) Entire WiFi/network offline: # - SNTP will not be available after boot. @@ -101,7 +159,7 @@ substitutions: # Project Naming project_name: "Generic.ESP32 Supermini" - project_version: "v1.3" + project_version: "v1.15a" # Passwords & Secrets api_key: !secret esp-api_key @@ -130,9 +188,16 @@ substitutions: num_chips: "4" scroll_delay_ms: "15" # ms between scroll steps matrix_initial_brightness: "2" # Default MAX7219 intensity, 1-15. + static_wait_seconds_default: "5" # Default time to hold static messages on screen. + static_text_gap_pixels: "1" # Vertical blank pixels between clock and static text during roll transitions. + static_transition_delay_ms: "60" # Delay per vertical step during static roll transitions. y_offset: "0" y_scroll_offset: "0" + # Announcement / Sounder Settings + pin_sounder: GPIO4 + sounder_pulse_ms: "120" + #:########################################################################################:# # PACKAGES: Included Common Packages # https://esphome.io/components/packages.html @@ -184,14 +249,6 @@ esphome: project: name: "${project_name}" version: "${project_version}" - on_boot: - priority: 600 - then: - # Ensure Home Assistant shows the text box as empty rather than unknown. - - delay: 500ms - - lambda: |- - id(ha_scroll_text).publish_state(""); - - component.update: matrix #:########################################################################################:# # ESP PLATFORM AND FRAMEWORK: @@ -218,37 +275,6 @@ logger: #esp8266_store_log_strings_in_flash: false #tx_buffer_size: 64 -#:########################################################################################:# -# API COMPONENT: Device-specific Home Assistant native API actions -# https://esphome.io/components/api.html -#:########################################################################################:# -api: - actions: - # Home Assistant action: esphome.esp_ledmatrix1_scroll_text - # Example HA data: { message: "Hello from Home Assistant" } - - action: scroll_text - variables: - message: string - then: - - lambda: |- - std::string s = message; - - s.erase(std::remove(s.begin(), s.end(), '\r'), s.end()); - s.erase(std::remove(s.begin(), s.end(), '\n'), s.end()); - s.erase(std::remove_if(s.begin(), s.end(), - [](unsigned char c){ return c < 0x20; }), s.end()); - - // Ignore empty API scroll commands completely. - if (s.empty()) return; - - // Keep the HA text entity visually in sync with this direct API action. - id(ha_scroll_text).publish_state(s.c_str()); - - id(scroll_text) = s; - id(scroll_x) = ${num_chips} * 8; - id(start_scroll_sequence).execute(); - id(clear_scroll_text_box).execute(); - #:########################################################################################:# # GLOBALS: # https://esphome.io/components/globals.html @@ -281,6 +307,121 @@ globals: restore_value: true initial_value: '${scroll_delay_ms}' + # Current scroll-specific settings. + # Normal /scroll commands copy the current default settings into these. + # /announce commands set these per message. + - id: scroll_effective_transition_mode + type: int + restore_value: false + initial_value: '-1' + + - id: scroll_effective_delay_ms + type: int + restore_value: false + initial_value: '-1' + + # Per-message static wait override. + # -1 means use the default Static Wait Time number entity. + - id: scroll_effective_static_wait_seconds + type: int + restore_value: false + initial_value: '-1' + + # Stored for future sounder logic. Currently not used by display logic. + - id: scroll_effective_sound_id + type: int + restore_value: false + initial_value: '0' + + # Static notification display state. + # Used by transition IDs 3 and 4. + - id: static_message + type: std::string + restore_value: false + initial_value: "" + + # First complete screenful of a long static message. + # Used only during the roll-in and hold phases. + - id: static_visible_message + type: std::string + restore_value: false + initial_value: "" + + # Optional next character for long static messages. + # Drawn with clipping so the right edge can show a partial character + # without starting the horizontal scroll early. + - id: static_partial_char + type: std::string + restore_value: false + initial_value: "" + + - id: static_partial_x + type: int + restore_value: false + initial_value: '0' + + - id: static_text_x + type: int + restore_value: false + initial_value: '0' + + # Extra pixel offset used only for long static messages with leading spaces. + # This makes leading spaces visibly shift the x=0 start position to the right. + - id: static_long_x_offset + type: int + restore_value: false + initial_value: '0' + + - id: static_text_y + type: int + restore_value: false + initial_value: '0' + + - id: static_clock_y + type: int + restore_value: false + initial_value: '0' + + - id: static_text_width + type: int + restore_value: false + initial_value: '0' + + - id: static_text_fits + type: bool + restore_value: false + initial_value: 'false' + + - id: static_active + type: bool + restore_value: false + initial_value: 'false' + + - id: static_show_clock + type: bool + restore_value: false + initial_value: 'false' + + - id: static_show_text + type: bool + restore_value: false + initial_value: 'false' + + - id: static_scrolling + type: bool + restore_value: false + initial_value: 'false' + + - id: static_wait_seconds + type: int + restore_value: true + initial_value: '${static_wait_seconds_default}' + + - id: static_transition_step + type: int + restore_value: false + initial_value: '0' + # MAX7219 intensity: 0=OFF, 1..15=ON. Driven by the HA light and brightness slider. - id: matrix_intensity type: int @@ -338,6 +479,120 @@ globals: restore_value: false initial_value: '0' + # Announcement scheduler. Not restored after reboot. + # Each item has its own due time so repeated messages can interleave. + - id: announce_ids + type: std::vector + restore_value: false + initial_value: 'std::vector()' + + - id: announce_messages + type: std::vector + restore_value: false + initial_value: 'std::vector()' + + - id: announce_transition_modes + type: std::vector + restore_value: false + initial_value: 'std::vector()' + + - id: announce_speeds + type: std::vector + restore_value: false + initial_value: 'std::vector()' + + - id: announce_repeat_seconds + type: std::vector + restore_value: false + initial_value: 'std::vector()' + + - id: announce_static_wait_seconds + type: std::vector + restore_value: false + initial_value: 'std::vector()' + + - id: announce_sound_ids + type: std::vector + restore_value: false + initial_value: 'std::vector()' + + - id: announce_remaining + type: std::vector + restore_value: false + initial_value: 'std::vector()' + + - id: announce_sounder_remaining + type: std::vector + restore_value: false + initial_value: 'std::vector()' + + - id: announce_next_due_ms + type: std::vector + restore_value: false + initial_value: 'std::vector()' + + - id: announce_tokens + type: std::vector + restore_value: false + initial_value: 'std::vector()' + + # Incrementing token used so duplicate IDs cannot accidentally alter a newer message. + - id: announce_next_token + type: uint32_t + restore_value: false + initial_value: '1' + + # Scheduler worker scratch values. + - id: announce_due_index + type: int + restore_value: false + initial_value: '-1' + + - id: announce_current_token + type: uint32_t + restore_value: false + initial_value: '0' + + - id: announce_current_id + type: std::string + restore_value: false + initial_value: "" + + - id: announce_current_message + type: std::string + restore_value: false + initial_value: "" + + - id: announce_current_transition_mode + type: int + restore_value: false + initial_value: '0' + + - id: announce_current_speed + type: int + restore_value: false + initial_value: '15' + + - id: announce_current_repeat_seconds + type: int + restore_value: false + initial_value: '0' + + - id: announce_current_static_wait_seconds + type: int + restore_value: false + initial_value: '-1' + + - id: announce_current_sound_id + type: int + restore_value: false + initial_value: '0' + + - id: announce_current_should_sound + type: bool + restore_value: false + initial_value: 'false' + #:########################################################################################:# # FONT COMPONENT: # https://esphome.io/components/font/ @@ -362,87 +617,6 @@ spi: clk_pin: ${pin_sck} mosi_pin: ${pin_mosi} -#:########################################################################################:# -# MQTT: Device-specific MQTT command triggers -# This adds device-specific MQTT command triggers to the common MQTT configuration. -#:########################################################################################:# -mqtt: - discovery: false - birth_message: - topic: "${mqtt_status_topic}/status" - payload: "online" - qos: 0 - retain: true - will_message: - topic: "${mqtt_status_topic}/status" - payload: "offline" - qos: 0 - retain: true - on_message: - # Scroll a text payload once across the matrix. - - topic: "${mqtt_command_topic}/scroll" - then: - - lambda: |- - std::string s = x.c_str(); - s.erase(std::remove(s.begin(), s.end(), '\r'), s.end()); - s.erase(std::remove(s.begin(), s.end(), '\n'), s.end()); - s.erase(std::remove_if(s.begin(), s.end(), - [](unsigned char c){ return c < 0x20; }), s.end()); - - // Ignore empty MQTT scroll commands completely. - if (s.empty()) return; - - id(scroll_text) = s; - id(scroll_x) = ${num_chips} * 8; - id(start_scroll_sequence).execute(); - - # Set 12h or 24h clock mode from MQTT. - - topic: "${mqtt_command_topic}/mode" - then: - - lambda: |- - if (x == "12") { - id(use_12h_mode) = true; - } else if (x == "24") { - id(use_12h_mode) = false; - } - - component.update: clock_format_select - - component.update: matrix - - # Brightness from MQTT. 0=OFF, 1..15=ON brightness level. - - topic: "${mqtt_command_topic}/bright" - then: - - lambda: |- - std::string s = x.c_str(); - s.erase(std::remove_if(s.begin(), s.end(), - [](unsigned char c){ return c < 0x20 || c == 0x7F; }), s.end()); - s.erase(s.begin(), std::find_if(s.begin(), s.end(), - [](unsigned char ch){ return !std::isspace(ch); })); - s.erase(std::find_if(s.rbegin(), s.rend(), - [](unsigned char ch){ return !std::isspace(ch); }).base(), s.end()); - - if (s.empty() || !std::all_of(s.begin(), s.end(), - [](unsigned char c){ return std::isdigit(c); })) return; - - int v = atoi(s.c_str()); - if (v < 0) v = 0; - if (v > 15) v = 15; - - id(suppress_mqtt_bright_sync) = true; - - if (v == 0) { - id(matrix_light).turn_off().perform(); - } else { - id(matrix_last_nonzero_intensity) = v; - id(matrix_brightness_number).publish_state((float) v); - - auto call = id(matrix_light).turn_on(); - call.set_brightness((float) v / 15.0f); - call.perform(); - } - - id(last_mqtt_bright) = v; - id(suppress_mqtt_bright_sync) = false; - #:########################################################################################:# # TEXT COMPONENT: # https://esphome.io/components/text/template/ @@ -459,8 +633,6 @@ text: - lambda: |- std::string s = x.c_str(); - s.erase(std::remove(s.begin(), s.end(), '\r'), s.end()); - s.erase(std::remove(s.begin(), s.end(), '\n'), s.end()); s.erase(std::remove_if(s.begin(), s.end(), [](unsigned char c){ return c < 0x20; }), s.end()); @@ -472,6 +644,10 @@ text: id(scroll_text) = s; id(scroll_x) = ${num_chips} * 8; + id(scroll_effective_transition_mode) = id(transition_mode); + id(scroll_effective_delay_ms) = id(scroll_delay_runtime); + id(scroll_effective_static_wait_seconds) = -1; + id(scroll_effective_sound_id) = 0; id(start_scroll_sequence).execute(); id(clear_scroll_text_box).execute(); @@ -495,6 +671,24 @@ number: - lambda: |- id(scroll_delay_runtime) = (int) x; + - platform: template + id: static_wait_number + name: "${friendly_name} Static Wait Time" + icon: "mdi:timer-sand" + unit_of_measurement: "s" + min_value: 0 + max_value: 30 + step: 1 + restore_value: true + initial_value: ${static_wait_seconds_default} + optimistic: true + set_action: + - lambda: |- + int v = (int) lroundf(x); + if (v < 0) v = 0; + if (v > 30) v = 30; + id(static_wait_seconds) = v; + - platform: template id: matrix_brightness_number name: "${friendly_name} Brightness Level" @@ -569,6 +763,12 @@ output: - lambda: |- id(last_mqtt_bright) = id(target_mqtt_bright); + # Optional announcement sounder / active beeper output. + # Default GPIO is GPIO4. Change pin_sounder if this conflicts with your wiring. + - platform: gpio + id: announcement_sounder_output + pin: ${pin_sounder} + #:########################################################################################:# # LIGHT COMPONENT: # https://esphome.io/components/light/monochromatic/ @@ -611,13 +811,19 @@ select: - "Slide up" - "Slide down" - "Pixel fall" + - "Static Up, Down" + - "Static Down, Up" lambda: |- + if (id(transition_mode) == 4) return std::string("Static Down, Up"); + if (id(transition_mode) == 3) return std::string("Static Up, Down"); if (id(transition_mode) == 2) return std::string("Pixel fall"); if (id(transition_mode) == 1) return std::string("Slide down"); return std::string("Slide up"); set_action: - lambda: |- - if (x == "Pixel fall") id(transition_mode) = 2; + if (x == "Static Down, Up") id(transition_mode) = 4; + else if (x == "Static Up, Down") id(transition_mode) = 3; + else if (x == "Pixel fall") id(transition_mode) = 2; else if (x == "Slide down") id(transition_mode) = 1; else id(transition_mode) = 0; - component.update: transition_select @@ -635,6 +841,451 @@ script: - lambda: |- id(ha_scroll_text).publish_state(""); + # Short active-beeper pulse before selected announcement repeats. + - id: announcement_sounder_beep + mode: restart + then: + - output.turn_on: announcement_sounder_output + - delay: ${sounder_pulse_ms}ms + - output.turn_off: announcement_sounder_output + + # Interleaved announcement scheduler worker. + # Each item scrolls once when due, then reschedules itself if repeats remain. + - id: announcement_queue_worker + mode: single + then: + - while: + condition: + lambda: |- + return !id(announce_ids).empty(); + then: + # Wait until the display is free before selecting the next due announcement. + - wait_until: + condition: + lambda: |- + return !id(scrolling) + && !id(transition_active) + && !id(pixel_fall_active) + && !id(static_active); + + # Find the oldest due announcement. + # If nothing is due yet, leave announce_due_index as -1. + - lambda: |- + id(announce_due_index) = -1; + + if (id(announce_ids).empty()) return; + + const uint32_t now_ms = millis(); + int best_index = -1; + uint32_t best_due = 0; + + for (int i = 0; i < (int) id(announce_ids).size(); i++) { + const uint32_t due = id(announce_next_due_ms)[i]; + + // Signed subtraction handles millis rollover safely enough for this use. + if ((int32_t) (now_ms - due) >= 0) { + if (best_index < 0 || (int32_t) (best_due - due) > 0) { + best_index = i; + best_due = due; + } + } + } + + id(announce_due_index) = best_index; + + # Nothing is due yet. Check again shortly so new messages can still run quickly. + - if: + condition: + lambda: |- + return id(announce_due_index) < 0; + then: + - delay: 250ms + + # A message is due. Copy it into current scratch globals and scroll it once. + - if: + condition: + lambda: |- + return id(announce_due_index) >= 0 + && id(announce_due_index) < (int) id(announce_ids).size(); + then: + - lambda: |- + const int i = id(announce_due_index); + + id(announce_current_token) = id(announce_tokens)[i]; + id(announce_current_id) = id(announce_ids)[i]; + id(announce_current_message) = id(announce_messages)[i]; + id(announce_current_transition_mode) = id(announce_transition_modes)[i]; + id(announce_current_speed) = id(announce_speeds)[i]; + id(announce_current_repeat_seconds) = id(announce_repeat_seconds)[i]; + id(announce_current_static_wait_seconds) = id(announce_static_wait_seconds)[i]; + id(announce_current_sound_id) = id(announce_sound_ids)[i]; + + id(announce_current_should_sound) = false; + if (id(announce_sounder_remaining)[i] > 0) { + id(announce_current_should_sound) = true; + id(announce_sounder_remaining)[i] -= 1; + } + + id(scroll_text) = id(announce_current_message); + id(scroll_x) = ${num_chips} * 8; + id(scroll_effective_transition_mode) = id(announce_current_transition_mode); + id(scroll_effective_delay_ms) = id(announce_current_speed); + id(scroll_effective_static_wait_seconds) = id(announce_current_static_wait_seconds); + id(scroll_effective_sound_id) = id(announce_current_sound_id); + + - if: + condition: + lambda: |- + return id(announce_current_should_sound); + then: + - script.execute: announcement_sounder_beep + + - script.execute: start_scroll_sequence + + # Give the scroll sequence time to enter its active state. + - delay: 100ms + + # Wait for scroll and re-entry animation to finish before rescheduling. + - wait_until: + condition: + lambda: |- + return !id(scrolling) + && !id(transition_active) + && !id(pixel_fall_active) + && !id(static_active); + + # Find the same token again. It may have been cancelled or replaced while scrolling. + # If it still exists, decrement repeats and either remove or reschedule it. + - lambda: |- + int idx = -1; + for (int i = 0; i < (int) id(announce_tokens).size(); i++) { + if (id(announce_tokens)[i] == id(announce_current_token)) { + idx = i; + break; + } + } + + if (idx < 0) { + ESP_LOGI("announce", "Announcement token already cancelled/replaced id=%s", + id(announce_current_id).c_str()); + return; + } + + id(announce_remaining)[idx] -= 1; + + if (id(announce_remaining)[idx] <= 0) { + ESP_LOGI("announce", "Announcement complete id=%s", + id(announce_ids)[idx].c_str()); + + id(announce_ids).erase(id(announce_ids).begin() + idx); + id(announce_messages).erase(id(announce_messages).begin() + idx); + id(announce_transition_modes).erase(id(announce_transition_modes).begin() + idx); + id(announce_speeds).erase(id(announce_speeds).begin() + idx); + id(announce_repeat_seconds).erase(id(announce_repeat_seconds).begin() + idx); + id(announce_static_wait_seconds).erase(id(announce_static_wait_seconds).begin() + idx); + id(announce_sound_ids).erase(id(announce_sound_ids).begin() + idx); + id(announce_remaining).erase(id(announce_remaining).begin() + idx); + id(announce_sounder_remaining).erase(id(announce_sounder_remaining).begin() + idx); + id(announce_next_due_ms).erase(id(announce_next_due_ms).begin() + idx); + id(announce_tokens).erase(id(announce_tokens).begin() + idx); + } else { + const uint32_t gap_ms = (uint32_t) id(announce_repeat_seconds)[idx] * 1000UL; + id(announce_next_due_ms)[idx] = millis() + gap_ms; + + ESP_LOGI("announce", "Rescheduled announcement id=%s, remaining=%d, gap=%ds", + id(announce_ids)[idx].c_str(), + id(announce_remaining)[idx], + id(announce_repeat_seconds)[idx]); + } + + id(announce_due_index) = -1; + id(announce_current_token) = 0; + id(announce_current_id) = ""; + id(announce_current_message) = ""; + id(announce_current_static_wait_seconds) = -1; + id(announce_current_sound_id) = 0; + id(announce_current_should_sound) = false; + + # Static transition sequence used by transition IDs 3 and 4. + # ID 3: Static Up, Down. Clock rolls up, message rolls up, then clock rolls down. + # ID 4: Static Down, Up. Clock rolls down, message rolls down, then clock rolls up. + - id: static_display_sequence + mode: restart + then: + - lambda: |- + const int matrix_width = ${num_chips} * 8; + + id(static_message) = id(scroll_text); + + // Preserve leading spaces for manual layout control. + // Remove only trailing whitespace so accidental spaces before the parameters block + // do not affect centering or width calculations. + id(static_message).erase( + std::find_if(id(static_message).rbegin(), id(static_message).rend(), + [](unsigned char ch){ return !std::isspace(ch); }).base(), + id(static_message).end()); + + // Measure text using the actual ESPHome display font bounds instead of a + // fixed pixels-per-character estimate. This allows the first long-message + // screenful to use as much of the 32-pixel display as possible. + auto measure_text_width = [&](const std::string &text) -> int { + if (text.empty()) return 0; + + int x1 = 0; + int y1 = 0; + int width = 0; + int height = 0; + + id(matrix).get_text_bounds( + 0, + 0, + text.c_str(), + id(font5x8), + esphome::display::TextAlign::TOP_LEFT, + &x1, + &y1, + &width, + &height + ); + + // For text printed at x=0, the right edge is what matters for fitting + // completely inside the 32-pixel display. In normal fonts x1 is 0, but + // using the right edge makes this safer with different font metrics. + int right_edge = x1 + width; + if (right_edge < width) right_edge = width; + if (right_edge < 0) right_edge = 0; + return right_edge; + }; + + // Count normal leading spaces before measuring long static messages. + // Some display font bounds/render paths do not make leading space width obvious, + // so long static messages use leading spaces as an explicit pixel offset. + int leading_space_count = 0; + while (leading_space_count < (int) id(static_message).length() + && id(static_message)[leading_space_count] == ' ') { + leading_space_count += 1; + } + + std::string message_without_leading_spaces = id(static_message); + if (leading_space_count > 0) { + message_without_leading_spaces = id(static_message).substr(leading_space_count); + } + + const int manual_leading_offset = leading_space_count * 4; + const int stripped_text_width = measure_text_width(message_without_leading_spaces); + const int effective_text_width = manual_leading_offset + stripped_text_width; + + id(static_long_x_offset) = 0; + id(static_text_width) = measure_text_width(id(static_message)); + id(static_text_fits) = id(static_text_width) <= matrix_width; + + // If the normal bounds calculation treats leading spaces as too small, + // also test the explicit-offset width. This is mainly for long static messages. + if (effective_text_width > matrix_width) { + id(static_text_fits) = false; + } + + if (id(static_text_fits)) { + id(static_visible_message) = id(static_message); + // Actual centering is done with TextAlign::TOP_CENTER in the display lambda. + id(static_text_x) = matrix_width / 2; + } else { + // Long static text: + // - preserve leading spaces visually using static_long_x_offset + // - render/scroll the non-space part of the message from that offset + // - hold the first fixed viewport until Static Wait Time has elapsed + id(static_message) = message_without_leading_spaces; + id(static_long_x_offset) = manual_leading_offset; + id(static_text_width) = stripped_text_width; + + const int available_width = matrix_width - id(static_long_x_offset); + + std::string best_fit = ""; + int best_fit_width = 0; + const int char_count = (int) id(static_message).length(); + + for (int len = 1; len <= char_count; len++) { + std::string candidate = id(static_message).substr(0, len); + int candidate_width = measure_text_width(candidate); + + if (candidate_width <= available_width) { + best_fit = candidate; + best_fit_width = candidate_width; + } else { + break; + } + } + + // Safety fallback: show at least the first character if measurement fails. + if (best_fit.empty() && char_count > 0) { + best_fit = id(static_message).substr(0, 1); + best_fit_width = measure_text_width(best_fit); + } + + id(static_visible_message) = best_fit; + id(static_partial_char) = ""; + id(static_partial_x) = 0; + + if (best_fit_width < available_width && (int) best_fit.length() < char_count) { + id(static_partial_char) = id(static_message).substr(best_fit.length(), 1); + id(static_partial_x) = id(static_long_x_offset) + best_fit_width; + } + + id(static_text_x) = id(static_long_x_offset); + } + + id(static_text_y) = 0; + id(static_clock_y) = 0; + id(static_active) = true; + id(static_show_clock) = true; + id(static_show_text) = true; + id(static_scrolling) = false; + id(static_transition_step) = 0; + id(scrolling) = false; + id(pixel_fall_active) = false; + id(transition_active) = true; + + # Entry transition: move the clock off-screen while the static text moves on-screen. + - while: + condition: + lambda: |- + return id(static_transition_step) <= (8 + ${static_text_gap_pixels}); + then: + - lambda: |- + const int distance = 8 + ${static_text_gap_pixels}; + const int step = id(static_transition_step); + int tm = id(scroll_effective_transition_mode); + if (tm < 0) tm = id(transition_mode); + + if (tm == 4) { + // Static Down, Up: clock exits down, text enters from above. + id(static_clock_y) = step; + id(static_text_y) = -distance + step; + } else { + // Static Up, Down: clock exits up, text enters from below. + id(static_clock_y) = -step; + id(static_text_y) = distance - step; + } + + id(transition_y) = id(static_clock_y); + id(static_show_clock) = true; + id(static_show_text) = true; + id(static_transition_step) += 1; + - component.update: matrix + - delay: ${static_transition_delay_ms}ms + + # Hold the message. Short text stays centred; long text stays fixed at x=0 before scrolling. + - lambda: |- + id(static_text_y) = 0; + id(static_show_clock) = false; + id(static_show_text) = true; + id(transition_active) = false; + - component.update: matrix + - delay: !lambda |- + int s = id(scroll_effective_static_wait_seconds); + if (s < 0) s = id(static_wait_seconds); + if (s < 0) s = 0; + if (s > 30) s = 30; + return (uint32_t) s * 1000UL; + + # Long text now follows the requested sequence: + # roll in at x=0, wait, scroll left from x=0 until fully off-screen, + # then roll the clock back in. + - if: + condition: + lambda: |- + return !id(static_text_fits); + then: + - script.execute: do_static_scroll + - script.wait: do_static_scroll + + # Return transition: bring the clock back and move the static text off-screen. + - lambda: |- + id(static_transition_step) = 0; + id(static_show_clock) = true; + id(static_show_text) = id(static_text_fits); + id(transition_active) = true; + + - while: + condition: + lambda: |- + return id(static_transition_step) <= (8 + ${static_text_gap_pixels}); + then: + - lambda: |- + const int distance = 8 + ${static_text_gap_pixels}; + const int step = id(static_transition_step); + int tm = id(scroll_effective_transition_mode); + if (tm < 0) tm = id(transition_mode); + + if (tm == 4) { + // Static Down, Up return: clock rises from below, text exits upward. + id(static_clock_y) = distance - step; + id(static_text_y) = -step; + } else { + // Static Up, Down return: clock drops from above, text exits downward. + id(static_clock_y) = -distance + step; + id(static_text_y) = step; + } + + id(transition_y) = id(static_clock_y); + id(static_transition_step) += 1; + - component.update: matrix + - delay: ${static_transition_delay_ms}ms + + - lambda: |- + id(static_active) = false; + id(static_message) = ""; + id(static_visible_message) = ""; + id(static_partial_char) = ""; + id(static_partial_x) = 0; + id(static_long_x_offset) = 0; + id(static_show_clock) = false; + id(static_show_text) = false; + id(static_scrolling) = false; + id(transition_active) = false; + id(transition_y) = ${y_offset}; + - component.update: matrix + + # Scroll long static text after it has rolled in and waited. + # The long message has already been displayed at x=0 during the hold. + # This routine then moves it left from x=0 until the whole message is off-screen. + - id: do_static_scroll + mode: restart + then: + - lambda: |- + id(static_scrolling) = true; + id(static_show_clock) = false; + id(static_show_text) = true; + id(static_text_y) = 0; + id(static_text_x) = id(static_long_x_offset); + id(transition_active) = false; + + - while: + condition: + lambda: |- + return id(static_scrolling); + then: + # Move first, then draw. The message was already held at x=0, + # so the first scroll frame should be x=-1 rather than another + # extra static frame at x=0. + - lambda: |- + id(static_text_x) -= 1; + + int end_limit = -id(static_text_width); + if (end_limit >= 0) end_limit = -1; + + if (id(static_text_x) <= end_limit) { + id(static_scrolling) = false; + id(static_show_text) = false; + } + - component.update: matrix + - delay: !lambda |- + int d = id(scroll_effective_delay_ms); + if (d < 1) d = id(scroll_delay_runtime); + if (d < 1) d = 1; + if (d > 100) d = 100; + return (uint32_t) d; + # Sequence: exit slide-down -> scroll -> selected re-entry. - id: start_scroll_sequence mode: restart @@ -642,12 +1293,23 @@ script: - lambda: |- id(scrolling) = false; id(pixel_fall_active) = false; - - component.update: matrix - - script.execute: clock_exit_down - - script.wait: clock_exit_down - - lambda: |- - id(scrolling) = true; - - script.execute: do_scroll + id(static_active) = false; + + - if: + condition: + lambda: |- + int tm = id(scroll_effective_transition_mode); + if (tm < 0) tm = id(transition_mode); + return tm == 3 || tm == 4; + then: + - script.execute: static_display_sequence + else: + - component.update: matrix + - script.execute: clock_exit_down + - script.wait: clock_exit_down + - lambda: |- + id(scrolling) = true; + - script.execute: do_scroll # Scroll the stored text until it has moved fully off the left side. - id: do_scroll @@ -664,9 +1326,12 @@ script: if (id(scroll_x) < end_limit) { id(scrolling) = false; - if (id(transition_mode) == 1) { + int tm = id(scroll_effective_transition_mode); + if (tm < 0) tm = id(transition_mode); + + if (tm == 1) { id(clock_slide_down_entry).execute(); - } else if (id(transition_mode) == 2) { + } else if (tm == 2) { id(clock_pixel_fall_transition).execute(); } else { id(clock_slide_up_entry).execute(); @@ -674,7 +1339,11 @@ script: } - component.update: matrix - delay: !lambda |- - return (uint32_t) id(scroll_delay_runtime); + int d = id(scroll_effective_delay_ms); + if (d < 1) d = id(scroll_delay_runtime); + if (d < 1) d = 1; + if (d > 100) d = 100; + return (uint32_t) d; # Exit: slide clock down off-screen and hold it there to prevent a one-frame flash. - id: clock_exit_down @@ -784,6 +1453,36 @@ display: it.clear(); + // Static notifications draw the message and optionally the clock during roll transitions. + if (id(static_active)) { + if (id(static_show_text)) { + if (id(static_text_fits) && !id(static_scrolling)) { + // Short text is centred across the whole 32-pixel display. + it.print((${num_chips} * 8) / 2, id(static_text_y), id(font5x8), + TextAlign::TOP_CENTER, id(static_visible_message).c_str()); + } else if (!id(static_scrolling)) { + // Long text entry/hold phase: show a fixed first viewport at x=0. + // The complete prefix is printed normally. If part of the next + // character fits at the right edge, print only that character inside + // a clipping window so its shape comes from the actual font. + // No horizontal scrolling is allowed before Static Wait Time. + it.start_clipping(0, 0, ${num_chips} * 8, 8); + it.print(id(static_text_x), id(static_text_y), id(font5x8), id(static_visible_message).c_str()); + if (!id(static_partial_char).empty()) { + it.print(id(static_partial_x), id(static_text_y), id(font5x8), id(static_partial_char).c_str()); + } + it.end_clipping(); + } else { + // Long text scroll phase: after Static Wait Time, scroll the full message from x=0. + it.print(id(static_text_x), id(static_text_y), id(font5x8), id(static_message).c_str()); + } + } + + if (!id(static_show_clock)) { + return; + } + } + // Scroll text has priority over clock display. if (id(scrolling)) { it.print(id(scroll_x), ${y_scroll_offset}, id(font5x8), id(scroll_text).c_str()); @@ -863,10 +1562,12 @@ display: snprintf(hh, sizeof(hh), "%02d", hour_to_show); snprintf(mm, sizeof(mm), "%02d", minute_to_show); - const int x_h1 = 3; - const int x_h2 = 9; - const int x_m1 = 17; - const int x_m2 = 23; + // In 24h mode there is no A/P indicator on the right, so shift the clock one pixel right. + const int clock_x_offset = id(use_12h_mode) ? 0 : 1; + const int x_h1 = 3 + clock_x_offset; + const int x_h2 = 9 + clock_x_offset; + const int x_m1 = 17 + clock_x_offset; + const int x_m2 = 23 + clock_x_offset; const int y = (id(transition_active) ? id(transition_y) : ${y_offset}); @@ -913,4 +1614,316 @@ display: int y2 = y + 5; if (y1 >= 0 && y1 <= 7) it.draw_pixel_at(x_col, y1, Color::WHITE); if (y2 >= 0 && y2 <= 7) it.draw_pixel_at(x_col, y2, Color::WHITE); - } \ No newline at end of file + } + +#:########################################################################################:# +# API COMPONENT: Device-specific Home Assistant native API actions +# Common API encryption/reboot settings remain in common/api_common.yaml. +# https://esphome.io/components/api.html +#:########################################################################################:# +api: + actions: + # Home Assistant action: esphome.esp_ledmatrix1_scroll_text + # Example HA data: { message: "Hello from Home Assistant" } + - action: scroll_text + variables: + message: string + then: + - lambda: |- + std::string s = message; + + s.erase(std::remove_if(s.begin(), s.end(), + [](unsigned char c){ return c < 0x20; }), s.end()); + + // Ignore empty API scroll commands completely. + if (s.empty()) return; + + // Keep the HA text entity visually in sync with this direct API action. + id(ha_scroll_text).publish_state(s.c_str()); + + id(scroll_text) = s; + id(scroll_x) = ${num_chips} * 8; + id(scroll_effective_transition_mode) = id(transition_mode); + id(scroll_effective_delay_ms) = id(scroll_delay_runtime); + id(scroll_effective_static_wait_seconds) = -1; + id(scroll_effective_sound_id) = 0; + id(start_scroll_sequence).execute(); + id(clear_scroll_text_box).execute(); + +#:########################################################################################:# +# MQTT COMPONENT: Device-specific MQTT command triggers +# Common broker, login, topic_prefix, and reboot settings remain in common/mqtt_common.yaml. +#:########################################################################################:# +mqtt: + discovery: false + birth_message: + topic: "${mqtt_status_topic}/status" + payload: "online" + qos: 0 + retain: true + will_message: + topic: "${mqtt_status_topic}/status" + payload: "offline" + qos: 0 + retain: true + on_message: + # Scroll a text payload once across the matrix. + - topic: "${mqtt_command_topic}/scroll" + then: + - lambda: |- + std::string s = x.c_str(); + + s.erase(std::remove_if(s.begin(), s.end(), + [](unsigned char c){ return c < 0x20; }), s.end()); + + // Ignore empty MQTT scroll commands completely. + if (s.empty()) return; + + id(scroll_text) = s; + id(scroll_x) = ${num_chips} * 8; + id(scroll_effective_transition_mode) = id(transition_mode); + id(scroll_effective_delay_ms) = id(scroll_delay_runtime); + id(scroll_effective_static_wait_seconds) = -1; + id(scroll_effective_sound_id) = 0; + id(start_scroll_sequence).execute(); + + # Scheduled/interleaved announcement with per-message parameters. + # Format: + # Message text [identifier,transition_mode,speed,repeat_seconds,repeat_times,static_wait,sounder_quantity,sound_id] + # + # Example: + # Washing machine complete [wash,1,15,10,6,5,1,0] + - topic: "${mqtt_command_topic}/announce" + then: + - lambda: |- + std::string payload = x.c_str(); + + payload.erase(std::remove_if(payload.begin(), payload.end(), + [](unsigned char c){ return c < 0x20 || c == 0x7F; }), payload.end()); + + auto trim = [](std::string &s) { + s.erase(s.begin(), std::find_if(s.begin(), s.end(), + [](unsigned char ch){ return !std::isspace(ch); })); + s.erase(std::find_if(s.rbegin(), s.rend(), + [](unsigned char ch){ return !std::isspace(ch); }).base(), s.end()); + }; + + // Preserve leading spaces in the displayed message. + // Do not trim the whole payload before extracting the message/parameter split. + if (payload.empty()) return; + + size_t rb = payload.rfind(']'); + size_t lb = payload.rfind('['); + + if (lb == std::string::npos || rb == std::string::npos || rb <= lb) { + ESP_LOGW("announce", "Invalid announcement format. Missing [parameters]."); + return; + } + + std::string message = payload.substr(0, lb); + std::string vars = payload.substr(lb + 1, rb - lb - 1); + + // Preserve leading spaces in the displayed message for manual layout. + // Only remove trailing spaces before the [parameters] block. + message.erase(std::find_if(message.rbegin(), message.rend(), + [](unsigned char ch){ return !std::isspace(ch); }).base(), message.end()); + + trim(vars); + + if (message.empty() || vars.empty()) { + ESP_LOGW("announce", "Invalid announcement. Message or parameters are empty."); + return; + } + + std::vector parts; + std::string part; + for (char c : vars) { + if (c == ',') { + trim(part); + parts.push_back(part); + part.clear(); + } else { + part.push_back(c); + } + } + trim(part); + parts.push_back(part); + + if (parts.size() != 8) { + ESP_LOGW("announce", "Invalid announcement. Expected 8 parameters."); + return; + } + + auto clean_id = [](std::string s) -> std::string { + s.erase(std::remove_if(s.begin(), s.end(), + [](unsigned char c){ + return !(std::isalnum(c) || c == '_' || c == '-'); + }), s.end()); + + if (s.length() > 8) s = s.substr(0, 8); + return s; + }; + + auto parse_int = [](std::string s, int min_v, int max_v, int fallback) -> int { + s.erase(s.begin(), std::find_if(s.begin(), s.end(), + [](unsigned char ch){ return !std::isspace(ch); })); + s.erase(std::find_if(s.rbegin(), s.rend(), + [](unsigned char ch){ return !std::isspace(ch); }).base(), s.end()); + + if (s.empty()) return fallback; + + for (char c : s) { + if (!std::isdigit((unsigned char) c)) return fallback; + } + + int v = atoi(s.c_str()); + if (v < min_v) v = min_v; + if (v > max_v) v = max_v; + return v; + }; + + std::string announce_id = clean_id(parts[0]); + if (announce_id.empty()) { + ESP_LOGW("announce", "Invalid announcement. Identifier is empty after cleaning."); + return; + } + + int new_transition_mode = parse_int(parts[1], 0, 4, 0); + int new_speed = parse_int(parts[2], 1, 100, id(scroll_delay_runtime)); + int new_repeat_seconds = parse_int(parts[3], 0, 99, 0); + int new_repeat_times = parse_int(parts[4], 0, 99, 1); + int new_static_wait_seconds = parse_int(parts[5], 0, 30, id(static_wait_seconds)); + int new_sounder_quantity = parse_int(parts[6], 0, 99, 0); + int new_sound_id = parse_int(parts[7], 0, 999, 0); + + // Treat repeat_times 0 as a one-shot announcement. + if (new_repeat_times == 0) new_repeat_times = 1; + + if (new_sounder_quantity > new_repeat_times) { + new_sounder_quantity = new_repeat_times; + } + + // If the same ID already exists, remove all older scheduled copies first. + // The token system prevents the currently scrolling old copy from altering this new copy. + for (int i = (int) id(announce_ids).size() - 1; i >= 0; i--) { + if (id(announce_ids)[i] == announce_id) { + id(announce_ids).erase(id(announce_ids).begin() + i); + id(announce_messages).erase(id(announce_messages).begin() + i); + id(announce_transition_modes).erase(id(announce_transition_modes).begin() + i); + id(announce_speeds).erase(id(announce_speeds).begin() + i); + id(announce_repeat_seconds).erase(id(announce_repeat_seconds).begin() + i); + id(announce_static_wait_seconds).erase(id(announce_static_wait_seconds).begin() + i); + id(announce_sound_ids).erase(id(announce_sound_ids).begin() + i); + id(announce_remaining).erase(id(announce_remaining).begin() + i); + id(announce_sounder_remaining).erase(id(announce_sounder_remaining).begin() + i); + id(announce_next_due_ms).erase(id(announce_next_due_ms).begin() + i); + id(announce_tokens).erase(id(announce_tokens).begin() + i); + } + } + + uint32_t token = id(announce_next_token); + id(announce_next_token) += 1; + if (id(announce_next_token) == 0) id(announce_next_token) = 1; + + id(announce_ids).push_back(announce_id); + id(announce_messages).push_back(message); + id(announce_transition_modes).push_back(new_transition_mode); + id(announce_speeds).push_back(new_speed); + id(announce_repeat_seconds).push_back(new_repeat_seconds); + id(announce_static_wait_seconds).push_back(new_static_wait_seconds); + id(announce_sound_ids).push_back(new_sound_id); + id(announce_remaining).push_back(new_repeat_times); + id(announce_sounder_remaining).push_back(new_sounder_quantity); + id(announce_next_due_ms).push_back(millis()); + id(announce_tokens).push_back(token); + + ESP_LOGI("announce", "Scheduled announcement id=%s, token=%u, repeats=%d, gap=%ds, static_wait=%ds, sound_id=%d", + announce_id.c_str(), token, new_repeat_times, new_repeat_seconds, new_static_wait_seconds, new_sound_id); + + - script.execute: announcement_queue_worker + + # Cancel an active or scheduled announcement by short ID. + - topic: "${mqtt_command_topic}/cancel_id" + then: + - lambda: |- + std::string cancel_id = x.c_str(); + + cancel_id.erase(std::remove_if(cancel_id.begin(), cancel_id.end(), + [](unsigned char c){ + return !(std::isalnum(c) || c == '_' || c == '-'); + }), cancel_id.end()); + + if (cancel_id.length() > 8) cancel_id = cancel_id.substr(0, 8); + if (cancel_id.empty()) return; + + bool found = false; + + for (int i = (int) id(announce_ids).size() - 1; i >= 0; i--) { + if (id(announce_ids)[i] == cancel_id) { + id(announce_ids).erase(id(announce_ids).begin() + i); + id(announce_messages).erase(id(announce_messages).begin() + i); + id(announce_transition_modes).erase(id(announce_transition_modes).begin() + i); + id(announce_speeds).erase(id(announce_speeds).begin() + i); + id(announce_repeat_seconds).erase(id(announce_repeat_seconds).begin() + i); + id(announce_static_wait_seconds).erase(id(announce_static_wait_seconds).begin() + i); + id(announce_sound_ids).erase(id(announce_sound_ids).begin() + i); + id(announce_remaining).erase(id(announce_remaining).begin() + i); + id(announce_sounder_remaining).erase(id(announce_sounder_remaining).begin() + i); + id(announce_next_due_ms).erase(id(announce_next_due_ms).begin() + i); + id(announce_tokens).erase(id(announce_tokens).begin() + i); + found = true; + } + } + + if (found) { + ESP_LOGI("announce", "Cancelled scheduled announcement id=%s", cancel_id.c_str()); + } else { + ESP_LOGI("announce", "Cancel ID not found: %s", cancel_id.c_str()); + } + + # Set 12h or 24h clock mode from MQTT. + - topic: "${mqtt_command_topic}/mode" + then: + - lambda: |- + if (x == "12") { + id(use_12h_mode) = true; + } else if (x == "24") { + id(use_12h_mode) = false; + } + - component.update: clock_format_select + - component.update: matrix + + # Brightness from MQTT. 0=OFF, 1..15=ON brightness level. + - topic: "${mqtt_command_topic}/bright" + then: + - lambda: |- + std::string s = x.c_str(); + s.erase(std::remove_if(s.begin(), s.end(), + [](unsigned char c){ return c < 0x20 || c == 0x7F; }), s.end()); + s.erase(s.begin(), std::find_if(s.begin(), s.end(), + [](unsigned char ch){ return !std::isspace(ch); })); + s.erase(std::find_if(s.rbegin(), s.rend(), + [](unsigned char ch){ return !std::isspace(ch); }).base(), s.end()); + + if (s.empty() || !std::all_of(s.begin(), s.end(), + [](unsigned char c){ return std::isdigit(c); })) return; + + int v = atoi(s.c_str()); + if (v < 0) v = 0; + if (v > 15) v = 15; + + id(suppress_mqtt_bright_sync) = true; + + if (v == 0) { + id(matrix_light).turn_off().perform(); + } else { + id(matrix_last_nonzero_intensity) = v; + id(matrix_brightness_number).publish_state((float) v); + + auto call = id(matrix_light).turn_on(); + call.set_brightness((float) v / 15.0f); + call.perform(); + } + + id(last_mqtt_bright) = v; + id(suppress_mqtt_bright_sync) = false; diff --git a/esphome/esp-ledmatrix1.yaml.V2 b/esphome/esp-ledmatrix1.yaml.V2 new file mode 100644 index 0000000..c2d6ab3 --- /dev/null +++ b/esphome/esp-ledmatrix1.yaml.V2 @@ -0,0 +1,1397 @@ +#:########################################################################################:# +# TITLE: LED MATRIX 1 +# zorruno.com layout v1.1 2026 +# ESP32-C3 SuperMini MAX7219 LED matrix clock and scroll display. +#:########################################################################################:# +# REFERENCES: +# Original Project Reference https://github.com/RealDeco/matrixclock-esphome +# Fonts: https://github.com/RealDeco/matrixclock-esphome/tree/main/fonts +# 3D Printed Case (includes project notes in the 3mf files) +# https://github.com/RealDeco/matrixclock-esphome/tree/main/3DPrint +#:########################################################################################:# +# REPO: +# https://home.fox.co.nz/gitea/zorruno/zorruno-homeassistant/src/branch/master/esphome/esp-ledmatrix1.yaml +#:########################################################################################:# +# VERSIONS: +# V1.4 2026-06-01 Added queued MQTT announcement mode with cancel IDs, per-message speed, +# per-message transition mode, repeat scheduling, and optional sounder GPIO. +# V1.3 2026-05-24 Added native API action for Home Assistant direct scroll text commands. +# V1.2 2026-05-24 Added 1-15 brightness level slider and improved operation notes. +# V1.1 2026-05-23 Updated yaml to zorruno layout V1.1, cleaned comments, fixed SNTP time IDs, +# added current_mins fallback display, removed unused MQTT topic, and fixed +# blank scroll handling. +# V1.0 2026-05-23 Initial Version +#:########################################################################################:# +# HARDWARE: +# - ESP32-C3 SuperMini. +# - MAX7219 4-chip LED matrix display, typically 32 x 8 pixels. +# - SPI wiring configured below: +# - MOSI: GPIO8 +# - CS: GPIO9 +# - SCK: GPIO10 +# - Optional sounder / beeper output defaults to GPIO4. +# - Power note: 4 MAX7219 modules needs a suitable external 5 V supply. +# - Keep ESP32-C3 GND and matrix power supply GND connected together. +#:########################################################################################:# +# OPERATION NOTES: +# - Main display: +# - Shows a 32 x 8 LED matrix clock using the MAX7219 display component. +# - Uses common/sntp_common.yaml as the primary time source via id(sntp_time). +# - If SNTP is not valid, uses id(current_mins) as a fallback clock. +# - In fallback mode the colon stays solid, so it is obvious time is not fully synced. +# +# - Clock controls: +# - Clock format can be selected as 12h or 24h from Home Assistant or MQTT. +# - 12h mode draws a small A or P indicator at the far right of the display. +# +# - Brightness controls: +# - The Display light entity can turn the matrix on/off and set proportional brightness. +# - The Brightness Level number slider sets the exact MAX7219 intensity from 1 to 15. +# - MQTT brightness accepts 0 to turn the display off, or 1-15 to set exact intensity. +# - The 1-15 slider keeps the last non-zero brightness value when the display is off. +# +# - Scroll text controls: +# - Scroll Text is exposed as a Home Assistant text entity. +# - Native API action esphome.esp_ledmatrix1_scroll_text can scroll text directly from Home Assistant. +# - The text box clears itself after a valid scroll request is accepted. +# - Empty scroll requests are ignored and do not replay the previous message. +# - Scroll Delay controls the default delay in milliseconds between scroll steps. +# - MQTT /scroll uses the selected default scroll delay and selected default transition effect. +# +# - Announcement controls: +# - MQTT /announce queues repeated announcement messages with per-message parameters. +# - Announcement format is: +# Message text [identifier,transition_mode,speed,repeat_seconds,repeat_times,sounder_quantity] +# - identifier is cleaned to letters, numbers, underscore, or dash, and is limited to 8 characters. +# - transition_mode is 0, 1, or 2 for Slide up, Slide down, or Pixel fall. +# - speed is the per-message scroll delay in ms, clamped from 1 to 100. +# - repeat_seconds is the delay between completed scrolls, clamped from 0 to 99. +# - repeat_times is the total number of scroll displays, clamped from 0 to 99. +# - repeat_times 0 is treated as a one-shot announcement. +# - sounder_quantity is the number of announcement displays that should beep first. +# - sounder_quantity 0 means no sounder beep. +# - If a new announcement arrives with the same identifier, older queued copies are removed +# and the current matching announcement is cancelled after its current scroll finishes. +# - MQTT /cancel_id cancels future repeats for a queued or active announcement ID. +# - The active scroll is allowed to finish cleanly when cancelled. +# +# - Scroll transitions: +# - Before scrolling, the clock always slides down and off the display. +# - After scrolling, the selected re-entry effect runs. +# - Available re-entry effects are Slide up, Slide down, and Pixel fall. +# - Pixel fall hides the clock until the particle effect finishes. +#:########################################################################################:# +# MQTT COMMANDS: +# - ${mqtt_command_topic}/scroll : Text payload to scroll once across the display. +# - ${mqtt_command_topic}/announce : Queued announcement payload: +# Message text [id,transition,speed,repeat_seconds,repeat_times,sounder_quantity] +# - ${mqtt_command_topic}/cancel_id : Payload is the short ID to cancel future repeats. +# - ${mqtt_command_topic}/mode : Payload 12 or 24 to select clock format. +# - ${mqtt_command_topic}/bright : Payload 0 turns display off, 1-15 sets exact brightness. +# - ${mqtt_status_topic}/status : Publishes online/offline status. +# +# - Example announce payload: +# Washing machine complete [wash,1,15,10,6,1] +#:########################################################################################:# +# HOME ASSISTANT API ACTIONS: +# - esphome.esp_ledmatrix1_scroll_text +# data: +# message: "Text to scroll" +#:########################################################################################:# +# OFFLINE NOTES: +# a) Home Assistant offline, but WiFi/network and MQTT online: +# - Clock display should continue using SNTP if the NTP servers are reachable. +# - MQTT scroll, announce, cancel_id, brightness, and 12h/24h mode commands should still work. +# +# b) MQTT offline, but WiFi/network and Home Assistant API online: +# - Home Assistant text, light, number, and select entities should still work. +# - Clock display should continue using SNTP if the NTP servers are reachable. +# - MQTT announce and cancel_id commands will not be available. +# +# c) Entire WiFi/network offline: +# - SNTP will not be available after boot. +# - Clock display will use the current_mins fallback from common/sntp_common.yaml. +# - Accurate time is needed for the clock, so fallback time will drift. +# - For a rough reset, power-cycle the device at 12:00 noon. +# - Home Assistant and MQTT controls will not be available while offline. +#:########################################################################################:# + +#:########################################################################################:# +# SUBSTITUTIONS: Specific device variable substitutions +# If NOT using a secrets file, just replace these with the passwords etc in quotes. +#:########################################################################################:# +substitutions: + # Device Naming + device_name: "esp-ledmatrix1" + friendly_name: "LED Matrix Display" + description_comment: "LED Matrix Display (Layout V1.1)" + device_area: "Lounge" # Allows ESP device to be automatically linked to an Area in Home Assistant. + + # Project Naming + project_name: "Generic.ESP32 Supermini" + project_version: "v1.4" + + # Passwords & Secrets + api_key: !secret esp-api_key + ota_pass: !secret esp-ota_pass + static_ip_address: !secret esp-ledmatrix1_ip # Substitutions cannot be used inside secret names. + mqtt_command_main_topic: !secret mqtt_command_main_topic + mqtt_status_main_topic: !secret mqtt_status_main_topic + + # If changing IP addresses, update current_ip_address here, otherwise it remains static_ip_address. + # Do not forget to switch it back when the address change is complete. + current_ip_address: ${static_ip_address} + + # MQTT LOCAL Controls + mqtt_device_name: "ledmatrix1" + mqtt_command_topic: "${mqtt_command_main_topic}/${mqtt_device_name}" + mqtt_status_topic: "${mqtt_status_main_topic}/${mqtt_device_name}" + + # Device Settings + log_level: "INFO" # NONE, ERROR, WARN, INFO, DEBUG, VERBOSE, VERY_VERBOSE + update_interval: "60s" + + # Matrix Display Settings + pin_mosi: GPIO8 + pin_cs: GPIO9 + pin_sck: GPIO10 + num_chips: "4" + scroll_delay_ms: "15" # ms between scroll steps + matrix_initial_brightness: "2" # Default MAX7219 intensity, 1-15. + y_offset: "0" + y_scroll_offset: "0" + + # Announcement / Sounder Settings + pin_sounder: GPIO4 + sounder_pulse_ms: "120" + +#:########################################################################################:# +# PACKAGES: Included Common Packages +# https://esphome.io/components/packages.html +#:########################################################################################:# +packages: + #### WIFI, Network (Static/DHCP/IPV6 etc), Fallback AP, Safemode #### + common_wifi: !include + file: common/network_common.yaml + vars: + local_device_name: "${device_name}" + local_static_ip_address: "${static_ip_address}" + local_ota_pass: "${ota_pass}" + local_current_ip_address: "${current_ip_address}" + + #### HOME ASSISTANT API (choose encryption or no encryption options) #### + common_api: !include + file: common/api_common.yaml + #file: common/api_common_noencryption.yaml + vars: + local_api_key: "${api_key}" + + #### MQTT #### + common_mqtt: !include + file: common/mqtt_common.yaml + vars: + local_device_name: "${device_name}" + + #### WEB PORTAL #### + common_webportal: !include common/webportal_common.yaml + + #### SNTP (Needed for the clock display) #### + common_sntp: !include common/sntp_common.yaml + + #### DIAGNOSTICS Sensors #### + diag_basic: !include common/include_basic_diag_sensors.yaml + #diag_more: !include common/include_more_diag_sensors.yaml + #diag_debug: !include common/include_debug_diag_sensors.yaml + #diag_resetcount: !include common/include_resetcount_diag_sensors.yaml + +#:########################################################################################:# +# ESPHOME: +# https://esphome.io/components/esphome.html +#:########################################################################################:# +esphome: + name: "${device_name}" + friendly_name: "${friendly_name}" + comment: "${description_comment}" # Appears on the ESPHome page in Home Assistant. + area: "${device_area}" + project: + name: "${project_name}" + version: "${project_version}" + +#:########################################################################################:# +# ESP PLATFORM AND FRAMEWORK: +# https://esphome.io/components/esp32/ +#:########################################################################################:# +esp32: + variant: esp32c3 + framework: + type: esp-idf + version: recommended + +#esp8266: +# board: esp01_1m +# early_pin_init: false # Recommended false where switches are involved. Defaults to true. +# board_flash_mode: dout # Default is dout. + +#:########################################################################################:# +# LOGGER: ESPHome Logging Enable +# https://esphome.io/components/logger.html +#:########################################################################################:# +logger: + level: "${log_level}" # INFO suggested, or DEBUG for testing. + #baud_rate: 0 # Set to 0 for no UART logging if UART is used for another device. + #esp8266_store_log_strings_in_flash: false + #tx_buffer_size: 64 + +#:########################################################################################:# +# GLOBALS: +# https://esphome.io/components/globals.html +#:########################################################################################:# +globals: + # Text currently being scrolled across the matrix. + - id: scroll_text + type: std::string + initial_value: "" + + # Current X position of the scrolling text. + - id: scroll_x + type: int + initial_value: '0' + + # True while a scroll message is active. + - id: scrolling + type: bool + initial_value: 'false' + + # False = 24h mode, true = 12h mode. + - id: use_12h_mode + type: bool + restore_value: true + initial_value: 'false' + + # Runtime scroll delay, controlled by the Scroll Delay number entity. + - id: scroll_delay_runtime + type: int + restore_value: true + initial_value: '${scroll_delay_ms}' + + # Current scroll-specific settings. + # Normal /scroll commands copy the current default settings into these. + # /announce commands set these per message. + - id: scroll_effective_transition_mode + type: int + restore_value: false + initial_value: '-1' + + - id: scroll_effective_delay_ms + type: int + restore_value: false + initial_value: '-1' + + # MAX7219 intensity: 0=OFF, 1..15=ON. Driven by the HA light and brightness slider. + - id: matrix_intensity + type: int + restore_value: false + initial_value: '${matrix_initial_brightness}' + + # Last non-zero brightness level selected by HA, MQTT, or the 1-15 slider. + # This allows the exact slider to keep its value when the display is switched off. + - id: matrix_last_nonzero_intensity + type: int + restore_value: true + initial_value: '${matrix_initial_brightness}' + + # Brightness sync loop protection for HA light <-> MQTT brightness updates. + - id: suppress_mqtt_bright_sync + type: bool + restore_value: false + initial_value: 'false' + + - id: target_mqtt_bright + type: int + restore_value: false + initial_value: '-1' + + - id: last_mqtt_bright + type: int + restore_value: false + initial_value: '-1' + + # Re-entry effect after scrolling: 0=Slide up, 1=Slide down, 2=Pixel fall. + - id: transition_mode + type: int + restore_value: true + initial_value: '0' + + # Slide transition state. + - id: transition_active + type: bool + restore_value: false + initial_value: 'false' + + - id: transition_y + type: int + restore_value: false + initial_value: '0' + + # Pixel-fall transition state. + - id: pixel_fall_active + type: bool + restore_value: false + initial_value: 'false' + + - id: pixel_fall_gen + type: int + restore_value: false + initial_value: '0' + + # Announcement scheduler. Not restored after reboot. + # Each item has its own due time so repeated messages can interleave. + - id: announce_ids + type: std::vector + restore_value: false + initial_value: 'std::vector()' + + - id: announce_messages + type: std::vector + restore_value: false + initial_value: 'std::vector()' + + - id: announce_transition_modes + type: std::vector + restore_value: false + initial_value: 'std::vector()' + + - id: announce_speeds + type: std::vector + restore_value: false + initial_value: 'std::vector()' + + - id: announce_repeat_seconds + type: std::vector + restore_value: false + initial_value: 'std::vector()' + + - id: announce_remaining + type: std::vector + restore_value: false + initial_value: 'std::vector()' + + - id: announce_sounder_remaining + type: std::vector + restore_value: false + initial_value: 'std::vector()' + + - id: announce_next_due_ms + type: std::vector + restore_value: false + initial_value: 'std::vector()' + + - id: announce_tokens + type: std::vector + restore_value: false + initial_value: 'std::vector()' + + # Incrementing token used so duplicate IDs cannot accidentally alter a newer message. + - id: announce_next_token + type: uint32_t + restore_value: false + initial_value: '1' + + # Scheduler worker scratch values. + - id: announce_due_index + type: int + restore_value: false + initial_value: '-1' + + - id: announce_current_token + type: uint32_t + restore_value: false + initial_value: '0' + + - id: announce_current_id + type: std::string + restore_value: false + initial_value: "" + + - id: announce_current_message + type: std::string + restore_value: false + initial_value: "" + + - id: announce_current_transition_mode + type: int + restore_value: false + initial_value: '0' + + - id: announce_current_speed + type: int + restore_value: false + initial_value: '15' + + - id: announce_current_repeat_seconds + type: int + restore_value: false + initial_value: '0' + + - id: announce_current_should_sound + type: bool + restore_value: false + initial_value: 'false' + +#:########################################################################################:# +# FONT COMPONENT: +# https://esphome.io/components/font/ +#:########################################################################################:# +font: + # Clock digits. Keep glyphs limited to reduce firmware size. + - file: "fonts/Eight-Bit-Dragon.ttf" + id: digit5 + size: 8 + glyphs: ["0123456789: -"] + + # General 5x8 font for scroll text. + - file: "fonts/5x8.bdf" + id: font5x8 + size: 8 + +#:########################################################################################:# +# SPI COMPONENT: +# https://esphome.io/components/spi.html +#:########################################################################################:# +spi: + clk_pin: ${pin_sck} + mosi_pin: ${pin_mosi} + +#:########################################################################################:# +# TEXT COMPONENT: +# https://esphome.io/components/text/template/ +#:########################################################################################:# +text: + - platform: template + id: ha_scroll_text + name: "${friendly_name} Scroll Text" + icon: "mdi:message-text-outline" + mode: text + max_length: 80 + optimistic: false + set_action: + - lambda: |- + std::string s = x.c_str(); + + s.erase(std::remove_if(s.begin(), s.end(), + [](unsigned char c){ return c < 0x20; }), s.end()); + + // Publish the cleaned text so the HA UI updates immediately. + id(ha_scroll_text).publish_state(s.c_str()); + + // Empty text only clears the entity. It should not start a scroll. + if (s.empty()) return; + + id(scroll_text) = s; + id(scroll_x) = ${num_chips} * 8; + id(scroll_effective_transition_mode) = id(transition_mode); + id(scroll_effective_delay_ms) = id(scroll_delay_runtime); + id(start_scroll_sequence).execute(); + id(clear_scroll_text_box).execute(); + +#:########################################################################################:# +# NUMBER COMPONENT: +# https://esphome.io/components/number/template/ +#:########################################################################################:# +number: + - platform: template + id: scroll_delay_number + name: "${friendly_name} Scroll Delay" + icon: "mdi:timer-outline" + unit_of_measurement: "ms" + min_value: 1 + max_value: 100 + step: 1 + restore_value: true + initial_value: ${scroll_delay_ms} + optimistic: true + set_action: + - lambda: |- + id(scroll_delay_runtime) = (int) x; + + - platform: template + id: matrix_brightness_number + name: "${friendly_name} Brightness Level" + icon: "mdi:brightness-6" + min_value: 1 + max_value: 15 + step: 1 + restore_value: true + initial_value: ${matrix_initial_brightness} + optimistic: true + set_action: + - lambda: |- + int v = (int) lroundf(x); + if (v < 1) v = 1; + if (v > 15) v = 15; + + id(matrix_last_nonzero_intensity) = v; + + // Setting the exact brightness slider also turns the display on. + auto call = id(matrix_light).turn_on(); + call.set_brightness((float) v / 15.0f); + call.perform(); + +#:########################################################################################:# +# OUTPUT COMPONENT: +# https://esphome.io/components/output/ +#:########################################################################################:# +output: + # Template output lets the HA light and brightness slider control MAX7219 intensity. + - platform: template + id: matrix_brightness_out + type: float + write_action: + - lambda: |- + int pub = 0; + + if (state <= 0.001f) { + id(matrix_intensity) = 0; + id(matrix).turn_on_off(false); + pub = 0; + } else { + int v = (int) lroundf(state * 15.0f); + if (v < 1) v = 1; + if (v > 15) v = 15; + + id(matrix_intensity) = v; + id(matrix_last_nonzero_intensity) = v; + id(matrix_brightness_number).publish_state((float) v); + id(matrix).turn_on_off(true); + pub = v; + } + + id(target_mqtt_bright) = pub; + + - component.update: matrix + + # Publish brightness back to MQTT unless this update came from MQTT. + - if: + condition: + lambda: |- + return !id(suppress_mqtt_bright_sync) + && (id(target_mqtt_bright) != id(last_mqtt_bright)); + then: + - mqtt.publish: + topic: "${mqtt_command_topic}/bright" + payload: !lambda |- + char buf[6]; + snprintf(buf, sizeof(buf), "%d", id(target_mqtt_bright)); + return std::string(buf); + qos: 0 + retain: true + - lambda: |- + id(last_mqtt_bright) = id(target_mqtt_bright); + + # Optional announcement sounder / active beeper output. + # Default GPIO is GPIO4. Change pin_sounder if this conflicts with your wiring. + - platform: gpio + id: announcement_sounder_output + pin: ${pin_sounder} + +#:########################################################################################:# +# LIGHT COMPONENT: +# https://esphome.io/components/light/monochromatic/ +#:########################################################################################:# +light: + - platform: monochromatic + id: matrix_light + name: "${friendly_name} Display" + icon: "mdi:brightness-6" + output: matrix_brightness_out + gamma_correct: 1.0 + default_transition_length: 0s + restore_mode: RESTORE_DEFAULT_ON + +#:########################################################################################:# +# SELECT COMPONENT: +# https://esphome.io/components/select/template/ +#:########################################################################################:# +select: + - platform: template + id: clock_format_select + name: "${friendly_name} Clock Format" + icon: "mdi:clock-time-three-outline" + options: + - "24" + - "12" + lambda: |- + return esphome::optional(std::string(id(use_12h_mode) ? "12" : "24")); + set_action: + - lambda: |- + id(use_12h_mode) = (x == "12"); + - component.update: clock_format_select + - component.update: matrix + + - platform: template + id: transition_select + name: "${friendly_name} Transition Effect" + icon: "mdi:transition" + options: + - "Slide up" + - "Slide down" + - "Pixel fall" + lambda: |- + if (id(transition_mode) == 2) return std::string("Pixel fall"); + if (id(transition_mode) == 1) return std::string("Slide down"); + return std::string("Slide up"); + set_action: + - lambda: |- + if (x == "Pixel fall") id(transition_mode) = 2; + else if (x == "Slide down") id(transition_mode) = 1; + else id(transition_mode) = 0; + - component.update: transition_select + +#:########################################################################################:# +# SCRIPT COMPONENT: +# https://esphome.io/components/script.html +#:########################################################################################:# +script: + # Clear the HA text box shortly after a scroll request has been accepted. + - id: clear_scroll_text_box + mode: restart + then: + - delay: 400ms + - lambda: |- + id(ha_scroll_text).publish_state(""); + + # Short active-beeper pulse before selected announcement repeats. + - id: announcement_sounder_beep + mode: restart + then: + - output.turn_on: announcement_sounder_output + - delay: ${sounder_pulse_ms}ms + - output.turn_off: announcement_sounder_output + + # Interleaved announcement scheduler worker. + # Each item scrolls once when due, then reschedules itself if repeats remain. + - id: announcement_queue_worker + mode: single + then: + - while: + condition: + lambda: |- + return !id(announce_ids).empty(); + then: + # Wait until the display is free before selecting the next due announcement. + - wait_until: + condition: + lambda: |- + return !id(scrolling) + && !id(transition_active) + && !id(pixel_fall_active); + + # Find the oldest due announcement. + # If nothing is due yet, leave announce_due_index as -1. + - lambda: |- + id(announce_due_index) = -1; + + if (id(announce_ids).empty()) return; + + const uint32_t now_ms = millis(); + int best_index = -1; + uint32_t best_due = 0; + + for (int i = 0; i < (int) id(announce_ids).size(); i++) { + const uint32_t due = id(announce_next_due_ms)[i]; + + // Signed subtraction handles millis rollover safely enough for this use. + if ((int32_t) (now_ms - due) >= 0) { + if (best_index < 0 || (int32_t) (best_due - due) > 0) { + best_index = i; + best_due = due; + } + } + } + + id(announce_due_index) = best_index; + + # Nothing is due yet. Check again shortly so new messages can still run quickly. + - if: + condition: + lambda: |- + return id(announce_due_index) < 0; + then: + - delay: 250ms + + # A message is due. Copy it into current scratch globals and scroll it once. + - if: + condition: + lambda: |- + return id(announce_due_index) >= 0 + && id(announce_due_index) < (int) id(announce_ids).size(); + then: + - lambda: |- + const int i = id(announce_due_index); + + id(announce_current_token) = id(announce_tokens)[i]; + id(announce_current_id) = id(announce_ids)[i]; + id(announce_current_message) = id(announce_messages)[i]; + id(announce_current_transition_mode) = id(announce_transition_modes)[i]; + id(announce_current_speed) = id(announce_speeds)[i]; + id(announce_current_repeat_seconds) = id(announce_repeat_seconds)[i]; + + id(announce_current_should_sound) = false; + if (id(announce_sounder_remaining)[i] > 0) { + id(announce_current_should_sound) = true; + id(announce_sounder_remaining)[i] -= 1; + } + + id(scroll_text) = id(announce_current_message); + id(scroll_x) = ${num_chips} * 8; + id(scroll_effective_transition_mode) = id(announce_current_transition_mode); + id(scroll_effective_delay_ms) = id(announce_current_speed); + + - if: + condition: + lambda: |- + return id(announce_current_should_sound); + then: + - script.execute: announcement_sounder_beep + + - script.execute: start_scroll_sequence + + # Give the scroll sequence time to enter its active state. + - delay: 100ms + + # Wait for scroll and re-entry animation to finish before rescheduling. + - wait_until: + condition: + lambda: |- + return !id(scrolling) + && !id(transition_active) + && !id(pixel_fall_active); + + # Find the same token again. It may have been cancelled or replaced while scrolling. + # If it still exists, decrement repeats and either remove or reschedule it. + - lambda: |- + int idx = -1; + for (int i = 0; i < (int) id(announce_tokens).size(); i++) { + if (id(announce_tokens)[i] == id(announce_current_token)) { + idx = i; + break; + } + } + + if (idx < 0) { + ESP_LOGI("announce", "Announcement token already cancelled/replaced id=%s", + id(announce_current_id).c_str()); + return; + } + + id(announce_remaining)[idx] -= 1; + + if (id(announce_remaining)[idx] <= 0) { + ESP_LOGI("announce", "Announcement complete id=%s", + id(announce_ids)[idx].c_str()); + + id(announce_ids).erase(id(announce_ids).begin() + idx); + id(announce_messages).erase(id(announce_messages).begin() + idx); + id(announce_transition_modes).erase(id(announce_transition_modes).begin() + idx); + id(announce_speeds).erase(id(announce_speeds).begin() + idx); + id(announce_repeat_seconds).erase(id(announce_repeat_seconds).begin() + idx); + id(announce_remaining).erase(id(announce_remaining).begin() + idx); + id(announce_sounder_remaining).erase(id(announce_sounder_remaining).begin() + idx); + id(announce_next_due_ms).erase(id(announce_next_due_ms).begin() + idx); + id(announce_tokens).erase(id(announce_tokens).begin() + idx); + } else { + const uint32_t gap_ms = (uint32_t) id(announce_repeat_seconds)[idx] * 1000UL; + id(announce_next_due_ms)[idx] = millis() + gap_ms; + + ESP_LOGI("announce", "Rescheduled announcement id=%s, remaining=%d, gap=%ds", + id(announce_ids)[idx].c_str(), + id(announce_remaining)[idx], + id(announce_repeat_seconds)[idx]); + } + + id(announce_due_index) = -1; + id(announce_current_token) = 0; + id(announce_current_id) = ""; + id(announce_current_message) = ""; + id(announce_current_should_sound) = false; + + # Sequence: exit slide-down -> scroll -> selected re-entry. + - id: start_scroll_sequence + mode: restart + then: + - lambda: |- + id(scrolling) = false; + id(pixel_fall_active) = false; + - component.update: matrix + - script.execute: clock_exit_down + - script.wait: clock_exit_down + - lambda: |- + id(scrolling) = true; + - script.execute: do_scroll + + # Scroll the stored text until it has moved fully off the left side. + - id: do_scroll + mode: restart + then: + - while: + condition: + lambda: |- + return id(scrolling); + then: + - lambda: |- + id(scroll_x) -= 1; + const int end_limit = - (int(id(scroll_text).length()) * 6); + if (id(scroll_x) < end_limit) { + id(scrolling) = false; + + int tm = id(scroll_effective_transition_mode); + if (tm < 0) tm = id(transition_mode); + + if (tm == 1) { + id(clock_slide_down_entry).execute(); + } else if (tm == 2) { + id(clock_pixel_fall_transition).execute(); + } else { + id(clock_slide_up_entry).execute(); + } + } + - component.update: matrix + - delay: !lambda |- + int d = id(scroll_effective_delay_ms); + if (d < 1) d = id(scroll_delay_runtime); + if (d < 1) d = 1; + if (d > 100) d = 100; + return (uint32_t) d; + + # Exit: slide clock down off-screen and hold it there to prevent a one-frame flash. + - id: clock_exit_down + mode: restart + then: + - lambda: |- + id(transition_active) = true; + id(transition_y) = ${y_offset}; + - repeat: + count: 9 + then: + - lambda: |- + id(transition_y) += 1; + - component.update: matrix + - delay: 45ms + - lambda: |- + id(transition_active) = true; + id(transition_y) = 8; + - component.update: matrix + + # Re-entry: clock slides down into place from above. + - id: clock_slide_down_entry + mode: restart + then: + - lambda: |- + id(transition_active) = true; + id(transition_y) = -8; + - repeat: + count: 9 + then: + - lambda: |- + id(transition_y) += 1; + - component.update: matrix + - delay: 60ms + - lambda: |- + id(transition_active) = false; + id(transition_y) = ${y_offset}; + - component.update: matrix + + # Re-entry: clock slides up into place from below. + - id: clock_slide_up_entry + mode: restart + then: + - lambda: |- + id(transition_active) = true; + id(transition_y) = 8; + - repeat: + count: 9 + then: + - lambda: |- + id(transition_y) -= 1; + - component.update: matrix + - delay: 60ms + - lambda: |- + id(transition_active) = false; + id(transition_y) = ${y_offset}; + - component.update: matrix + + # Re-entry: falling pixels effect before the clock redraws. + - id: clock_pixel_fall_transition + mode: restart + then: + - lambda: |- + id(transition_active) = false; + id(transition_y) = ${y_offset}; + id(pixel_fall_active) = true; + id(pixel_fall_gen) += 1; + - repeat: + count: 18 + then: + - component.update: matrix + - delay: 55ms + - lambda: |- + id(pixel_fall_active) = false; + id(transition_active) = false; + id(transition_y) = ${y_offset}; + - component.update: matrix + +#:########################################################################################:# +# DISPLAY COMPONENT: +# https://esphome.io/components/display/max7219digit/ +#:########################################################################################:# +display: + - platform: max7219digit + id: matrix + cs_pin: ${pin_cs} + num_chips: ${num_chips} + intensity: 2 + update_interval: 500ms + rotate_chip: 0 + reverse_enable: false + flip_x: false + + lambda: |- + // Apply brightness only when it changes to reduce flicker. + static int last_brightness = -1; + if (id(matrix_intensity) != last_brightness) { + if (id(matrix_intensity) > 0) { + int v = id(matrix_intensity); + if (v > 15) v = 15; + it.intensity((uint8_t) v); + } + last_brightness = id(matrix_intensity); + } + + if (id(matrix_intensity) == 0) return; + + it.clear(); + + // Scroll text has priority over clock display. + if (id(scrolling)) { + it.print(id(scroll_x), ${y_scroll_offset}, id(font5x8), id(scroll_text).c_str()); + return; + } + + // Pixel fall shows only particles while active. + if (id(pixel_fall_active)) { + static int last_gen = -1; + static int px[24]; + static int py[24]; + static uint32_t rng = 1; + + auto rand_u32 = [&]() -> uint32_t { + rng = rng * 1664525u + 1013904223u; + return rng; + }; + + if (last_gen != id(pixel_fall_gen)) { + last_gen = id(pixel_fall_gen); + rng = 0xA5A5A5A5u ^ (uint32_t) id(pixel_fall_gen); + for (int i = 0; i < 24; i++) { + px[i] = (int)(rand_u32() % 32); + py[i] = - (int)(rand_u32() % 16); + } + } + + for (int i = 0; i < 24; i++) { + int spd = 1 + (int)(rand_u32() % 2); + py[i] += spd; + + if (py[i] > 10) { + px[i] = (int)(rand_u32() % 32); + py[i] = - (int)(rand_u32() % 10); + } + + for (int t = 0; t < 2; t++) { + int yy = py[i] - t; + int xx = px[i]; + if (xx >= 0 && xx <= 31 && yy >= 0 && yy <= 7) { + it.draw_pixel_at(xx, yy, Color::WHITE); + } + } + } + return; + } + + // Prefer real SNTP time. Fall back to current_mins from common/sntp_common.yaml. + auto now = id(sntp_time).now(); + bool time_valid = now.is_valid(); + + int raw_hour = 0; + int minute_to_show = 0; + int second_to_show = 0; + + if (time_valid) { + raw_hour = now.hour; + minute_to_show = now.minute; + second_to_show = now.second; + } else { + int mins = id(current_mins); + if (mins < 0) mins = 0; + if (mins >= 1440) mins = mins % 1440; + + raw_hour = mins / 60; + minute_to_show = mins % 60; + second_to_show = 0; + } + + int hour_to_show = raw_hour; + if (id(use_12h_mode)) { + hour_to_show = raw_hour % 12; + if (hour_to_show == 0) hour_to_show = 12; + } + + char hh[3], mm[3]; + snprintf(hh, sizeof(hh), "%02d", hour_to_show); + snprintf(mm, sizeof(mm), "%02d", minute_to_show); + + const int x_h1 = 3; + const int x_h2 = 9; + const int x_m1 = 17; + const int x_m2 = 23; + + const int y = (id(transition_active) ? id(transition_y) : ${y_offset}); + + char ch[2] = { hh[0], 0 }; + it.print(x_h1, y, id(digit5), ch); + ch[0] = hh[1]; + it.print(x_h2, y, id(digit5), ch); + + ch[0] = mm[0]; + it.print(x_m1, y, id(digit5), ch); + ch[0] = mm[1]; + it.print(x_m2, y, id(digit5), ch); + + // In 12h mode, draw a tiny A or P indicator at the far right. + if (id(use_12h_mode)) { + const bool is_pm = raw_hour >= 12; + + const uint8_t A_rows[4] = { 2, 5, 7, 5 }; + const uint8_t P_rows[4] = { 6, 5, 6, 4 }; + const uint8_t *L = is_pm ? P_rows : A_rows; + + const int x_ampm = 29; + const int y_ampm = y + 4; + + for (int r = 0; r < 4; r++) { + uint8_t row = L[r]; + for (int c = 0; c < 3; c++) { + if (row & (1 << (2 - c))) { + int xx = x_ampm + c; + int yy = y_ampm + r; + if (yy >= 0 && yy <= 7 && xx >= 0 && xx <= 31) { + it.draw_pixel_at(xx, yy, Color::WHITE); + } + } + } + } + } + + // Blink the colon when SNTP is valid. Keep it solid during fallback time. + const bool colon_on = time_valid ? ((second_to_show % 2) == 0) : true; + if (colon_on) { + const int x_col = (x_h2 + x_m1) / 2 + 2; + int y1 = y + 2; + int y2 = y + 5; + if (y1 >= 0 && y1 <= 7) it.draw_pixel_at(x_col, y1, Color::WHITE); + if (y2 >= 0 && y2 <= 7) it.draw_pixel_at(x_col, y2, Color::WHITE); + } + +#:########################################################################################:# +# API COMPONENT: Device-specific Home Assistant native API actions +# Common API encryption/reboot settings remain in common/api_common.yaml. +# https://esphome.io/components/api.html +#:########################################################################################:# +api: + actions: + # Home Assistant action: esphome.esp_ledmatrix1_scroll_text + # Example HA data: { message: "Hello from Home Assistant" } + - action: scroll_text + variables: + message: string + then: + - lambda: |- + std::string s = message; + + s.erase(std::remove_if(s.begin(), s.end(), + [](unsigned char c){ return c < 0x20; }), s.end()); + + // Ignore empty API scroll commands completely. + if (s.empty()) return; + + // Keep the HA text entity visually in sync with this direct API action. + id(ha_scroll_text).publish_state(s.c_str()); + + id(scroll_text) = s; + id(scroll_x) = ${num_chips} * 8; + id(scroll_effective_transition_mode) = id(transition_mode); + id(scroll_effective_delay_ms) = id(scroll_delay_runtime); + id(start_scroll_sequence).execute(); + id(clear_scroll_text_box).execute(); + +#:########################################################################################:# +# MQTT COMPONENT: Device-specific MQTT command triggers +# Common broker, login, topic_prefix, and reboot settings remain in common/mqtt_common.yaml. +#:########################################################################################:# +mqtt: + discovery: false + birth_message: + topic: "${mqtt_status_topic}/status" + payload: "online" + qos: 0 + retain: true + will_message: + topic: "${mqtt_status_topic}/status" + payload: "offline" + qos: 0 + retain: true + on_message: + # Scroll a text payload once across the matrix. + - topic: "${mqtt_command_topic}/scroll" + then: + - lambda: |- + std::string s = x.c_str(); + + s.erase(std::remove_if(s.begin(), s.end(), + [](unsigned char c){ return c < 0x20; }), s.end()); + + // Ignore empty MQTT scroll commands completely. + if (s.empty()) return; + + id(scroll_text) = s; + id(scroll_x) = ${num_chips} * 8; + id(scroll_effective_transition_mode) = id(transition_mode); + id(scroll_effective_delay_ms) = id(scroll_delay_runtime); + id(start_scroll_sequence).execute(); + + # Scheduled/interleaved announcement with per-message parameters. + # Format: + # Message text [identifier,transition_mode,speed,repeat_seconds,repeat_times,sounder_quantity] + # + # Example: + # Washing machine complete [wash,1,15,10,6,1] + - topic: "${mqtt_command_topic}/announce" + then: + - lambda: |- + std::string payload = x.c_str(); + + payload.erase(std::remove_if(payload.begin(), payload.end(), + [](unsigned char c){ return c < 0x20 || c == 0x7F; }), payload.end()); + + auto trim = [](std::string &s) { + s.erase(s.begin(), std::find_if(s.begin(), s.end(), + [](unsigned char ch){ return !std::isspace(ch); })); + s.erase(std::find_if(s.rbegin(), s.rend(), + [](unsigned char ch){ return !std::isspace(ch); }).base(), s.end()); + }; + + trim(payload); + if (payload.empty()) return; + + size_t rb = payload.rfind(']'); + size_t lb = payload.rfind('['); + + if (lb == std::string::npos || rb == std::string::npos || rb <= lb) { + ESP_LOGW("announce", "Invalid announcement format. Missing [parameters]."); + return; + } + + std::string message = payload.substr(0, lb); + std::string vars = payload.substr(lb + 1, rb - lb - 1); + trim(message); + trim(vars); + + if (message.empty() || vars.empty()) { + ESP_LOGW("announce", "Invalid announcement. Message or parameters are empty."); + return; + } + + std::vector parts; + std::string part; + for (char c : vars) { + if (c == ',') { + trim(part); + parts.push_back(part); + part.clear(); + } else { + part.push_back(c); + } + } + trim(part); + parts.push_back(part); + + if (parts.size() != 6) { + ESP_LOGW("announce", "Invalid announcement. Expected 6 parameters."); + return; + } + + auto clean_id = [](std::string s) -> std::string { + s.erase(std::remove_if(s.begin(), s.end(), + [](unsigned char c){ + return !(std::isalnum(c) || c == '_' || c == '-'); + }), s.end()); + + if (s.length() > 8) s = s.substr(0, 8); + return s; + }; + + auto parse_int = [](std::string s, int min_v, int max_v, int fallback) -> int { + s.erase(s.begin(), std::find_if(s.begin(), s.end(), + [](unsigned char ch){ return !std::isspace(ch); })); + s.erase(std::find_if(s.rbegin(), s.rend(), + [](unsigned char ch){ return !std::isspace(ch); }).base(), s.end()); + + if (s.empty()) return fallback; + + for (char c : s) { + if (!std::isdigit((unsigned char) c)) return fallback; + } + + int v = atoi(s.c_str()); + if (v < min_v) v = min_v; + if (v > max_v) v = max_v; + return v; + }; + + std::string announce_id = clean_id(parts[0]); + if (announce_id.empty()) { + ESP_LOGW("announce", "Invalid announcement. Identifier is empty after cleaning."); + return; + } + + int new_transition_mode = parse_int(parts[1], 0, 2, 0); + int new_speed = parse_int(parts[2], 1, 100, id(scroll_delay_runtime)); + int new_repeat_seconds = parse_int(parts[3], 0, 99, 0); + int new_repeat_times = parse_int(parts[4], 0, 99, 1); + int new_sounder_quantity = parse_int(parts[5], 0, 99, 0); + + // Treat repeat_times 0 as a one-shot announcement. + if (new_repeat_times == 0) new_repeat_times = 1; + + if (new_sounder_quantity > new_repeat_times) { + new_sounder_quantity = new_repeat_times; + } + + // If the same ID already exists, remove all older scheduled copies first. + // The token system prevents the currently scrolling old copy from altering this new copy. + for (int i = (int) id(announce_ids).size() - 1; i >= 0; i--) { + if (id(announce_ids)[i] == announce_id) { + id(announce_ids).erase(id(announce_ids).begin() + i); + id(announce_messages).erase(id(announce_messages).begin() + i); + id(announce_transition_modes).erase(id(announce_transition_modes).begin() + i); + id(announce_speeds).erase(id(announce_speeds).begin() + i); + id(announce_repeat_seconds).erase(id(announce_repeat_seconds).begin() + i); + id(announce_remaining).erase(id(announce_remaining).begin() + i); + id(announce_sounder_remaining).erase(id(announce_sounder_remaining).begin() + i); + id(announce_next_due_ms).erase(id(announce_next_due_ms).begin() + i); + id(announce_tokens).erase(id(announce_tokens).begin() + i); + } + } + + uint32_t token = id(announce_next_token); + id(announce_next_token) += 1; + if (id(announce_next_token) == 0) id(announce_next_token) = 1; + + id(announce_ids).push_back(announce_id); + id(announce_messages).push_back(message); + id(announce_transition_modes).push_back(new_transition_mode); + id(announce_speeds).push_back(new_speed); + id(announce_repeat_seconds).push_back(new_repeat_seconds); + id(announce_remaining).push_back(new_repeat_times); + id(announce_sounder_remaining).push_back(new_sounder_quantity); + id(announce_next_due_ms).push_back(millis()); + id(announce_tokens).push_back(token); + + ESP_LOGI("announce", "Scheduled announcement id=%s, token=%u, repeats=%d, gap=%ds", + announce_id.c_str(), token, new_repeat_times, new_repeat_seconds); + + - script.execute: announcement_queue_worker + + # Cancel an active or scheduled announcement by short ID. + - topic: "${mqtt_command_topic}/cancel_id" + then: + - lambda: |- + std::string cancel_id = x.c_str(); + + cancel_id.erase(std::remove_if(cancel_id.begin(), cancel_id.end(), + [](unsigned char c){ + return !(std::isalnum(c) || c == '_' || c == '-'); + }), cancel_id.end()); + + if (cancel_id.length() > 8) cancel_id = cancel_id.substr(0, 8); + if (cancel_id.empty()) return; + + bool found = false; + + for (int i = (int) id(announce_ids).size() - 1; i >= 0; i--) { + if (id(announce_ids)[i] == cancel_id) { + id(announce_ids).erase(id(announce_ids).begin() + i); + id(announce_messages).erase(id(announce_messages).begin() + i); + id(announce_transition_modes).erase(id(announce_transition_modes).begin() + i); + id(announce_speeds).erase(id(announce_speeds).begin() + i); + id(announce_repeat_seconds).erase(id(announce_repeat_seconds).begin() + i); + id(announce_remaining).erase(id(announce_remaining).begin() + i); + id(announce_sounder_remaining).erase(id(announce_sounder_remaining).begin() + i); + id(announce_next_due_ms).erase(id(announce_next_due_ms).begin() + i); + id(announce_tokens).erase(id(announce_tokens).begin() + i); + found = true; + } + } + + if (found) { + ESP_LOGI("announce", "Cancelled scheduled announcement id=%s", cancel_id.c_str()); + } else { + ESP_LOGI("announce", "Cancel ID not found: %s", cancel_id.c_str()); + } + + # Set 12h or 24h clock mode from MQTT. + - topic: "${mqtt_command_topic}/mode" + then: + - lambda: |- + if (x == "12") { + id(use_12h_mode) = true; + } else if (x == "24") { + id(use_12h_mode) = false; + } + - component.update: clock_format_select + - component.update: matrix + + # Brightness from MQTT. 0=OFF, 1..15=ON brightness level. + - topic: "${mqtt_command_topic}/bright" + then: + - lambda: |- + std::string s = x.c_str(); + s.erase(std::remove_if(s.begin(), s.end(), + [](unsigned char c){ return c < 0x20 || c == 0x7F; }), s.end()); + s.erase(s.begin(), std::find_if(s.begin(), s.end(), + [](unsigned char ch){ return !std::isspace(ch); })); + s.erase(std::find_if(s.rbegin(), s.rend(), + [](unsigned char ch){ return !std::isspace(ch); }).base(), s.end()); + + if (s.empty() || !std::all_of(s.begin(), s.end(), + [](unsigned char c){ return std::isdigit(c); })) return; + + int v = atoi(s.c_str()); + if (v < 0) v = 0; + if (v > 15) v = 15; + + id(suppress_mqtt_bright_sync) = true; + + if (v == 0) { + id(matrix_light).turn_off().perform(); + } else { + id(matrix_last_nonzero_intensity) = v; + id(matrix_brightness_number).publish_state((float) v); + + auto call = id(matrix_light).turn_on(); + call.set_brightness((float) v / 15.0f); + call.perform(); + } + + id(last_mqtt_bright) = v; + id(suppress_mqtt_bright_sync) = false; diff --git a/packages/auto_lights_underhouse_storage.yaml b/packages/auto_lights_underhouse_storage.yaml index e66f1ec..a756453 100644 --- a/packages/auto_lights_underhouse_storage.yaml +++ b/packages/auto_lights_underhouse_storage.yaml @@ -37,6 +37,7 @@ binary_sensor: all: false entities: - binary_sensor.underhouse_pir_sensor_south_occupancy + - binary_sensor.underhouse_pir_sensor_north_occupancy # FUTURE PIR: uncomment this when the north PIR exists. # - binary_sensor.underhouse_pir_sensor_north_occupancy diff --git a/packages/view_road_announcement_router.yaml b/packages/view_road_announcement_router.yaml index 90cc35e..691816a 100644 --- a/packages/view_road_announcement_router.yaml +++ b/packages/view_road_announcement_router.yaml @@ -2,8 +2,8 @@ # PACKAGE: View Road Announcement Router ################################################################################ # -# Version: 1.2 -# Date: 2026-05-06 +# Version: 1.4 +# Date: 2026-06-02 # # Purpose: # Central announcement router for general Home Assistant announcements. @@ -11,7 +11,136 @@ # values such as channels, title, short_announcement, long_announcement, # payload, and indicator. # +# How to call this script: +# +# - action: script.view_road_announcement +# data: +# channels: "pushover_zorruno, lounge_google_home_voice, led_matrix_1" +# title: "View Road" +# short_announcement: "Washing complete" +# long_announcement: "The washing machine has finished." +# payload: "" +# indicator: "dry,1,15,10,2,1" +# +# Available channels: +# +# pushover_zorruno: +# Uses: +# title +# long_announcement +# +# pushover_kim: +# Uses: +# title +# long_announcement +# +# sony_tv_lounge: +# Uses: +# title +# short_announcement +# payload +# Message format: +# " is " +# +# lounge_google_home_voice: +# Also accepts alias: +# google_home_voice +# Uses: +# long_announcement +# Fallback: +# If long_announcement is blank, uses short_announcement and payload. +# Quiet time: +# Blocked by default when input_boolean.quiet_time is on. +# +# lounge_touchscreen_voice: +# Placeholder only. +# Quiet time: +# Blocked by default when input_boolean.quiet_time is on. +# +# mqtt_view_rd_feed: +# Placeholder only. +# +# led_matrix_1: +# Uses: +# short_announcement +# indicator +# Publishes to MQTT topic: +# viewroad-commands/ledmatrix1/announce +# Message format: +# " []" +# Example: +# "Washing complete [dry,1,15,10,2,1]" +# +# led_matrix_2: +# Future channel. +# Uses the same format as led_matrix_1. +# Publishes to MQTT topic: +# viewroad-commands/ledmatrix2/announce +# +# LED matrix announcement format: +# +# Message text [identifier,transition_mode,speed,repeat_seconds,repeat_times,sounder_quantity] +# +# Example script call: +# +# - action: script.view_road_announcement +# data: +# channels: "led_matrix_1" +# short_announcement: "Washing complete" +# indicator: "dry,1,15,10,2,1" +# +# Result sent to MQTT: +# +# Washing complete [dry,1,15,10,2,1] +# +# Indicator fields: +# +# identifier: +# Announcement identifier used by the LED matrix ESPHome logic. +# It is cleaned by ESPHome to letters, numbers, underscore, or dash, and +# is limited to 8 characters. +# +# transition_mode: +# 0 = Slide up +# 1 = Slide down +# 2 = Pixel fall +# +# speed: +# Per-message scroll delay in ms. +# Clamped by ESPHome from 1 to 100. +# +# repeat_seconds: +# Delay between completed scrolls. +# Clamped by ESPHome from 0 to 99. +# +# repeat_times: +# Total number of scroll displays. +# Clamped by ESPHome from 0 to 99. +# 0 is treated as a one-shot announcement. +# +# sounder_quantity: +# Number of announcement displays that should beep first. +# 0 means no sounder beep. +# +# Notes: +# The announcement router does not parse, clean, or clamp the indicator +# fields. It passes the indicator through to the LED matrix in square +# brackets. The LED matrix ESPHome YAML handles validation and behaviour. +# # Changes: +# 1.4: +# - Documented LED matrix indicator format. +# - Clarified that LED matrix indicator validation is handled by ESPHome. +# +# 1.3: +# - Added led_matrix_1 announcement channel. +# - Added future led_matrix_2 announcement channel. +# - Added MQTT topic settings for LED matrix announcement channels. +# - Added channel enable helpers for led_matrix_1 and led_matrix_2. +# - Added package instructions for calling script.view_road_announcement. +# - Moved more configurable values into the package settings section. +# - Added lounge Google Home cast chime suppression setting. +# # 1.2: # - Updated Lounge Google Home voice channel to use working Piper TTS setup. # - Added Piper voice option en_GB-alba-medium. @@ -30,21 +159,6 @@ # ################################################################################ -################################################################################ -# PUSHOVER NOTIFY SERVICES -################################################################################ -# -# Pushover is configured using the Home Assistant Pushover integration. -# -# Expected notify entities: -# -# notify.pushover_zorruno -# notify.pushover_kim -# -# No YAML notify: block is needed in this package. -# -################################################################################ - ################################################################################ # CHANNEL ENABLE HELPERS ################################################################################ @@ -80,6 +194,16 @@ input_boolean: icon: mdi:message-processing initial: true + announcement_channel_led_matrix_1: + name: Announcement Channel - LED Matrix 1 + icon: mdi:led-strip-variant + initial: true + + announcement_channel_led_matrix_2: + name: Announcement Channel - LED Matrix 2 + icon: mdi:led-strip-variant + initial: true + ################################################################################ # MAIN ANNOUNCEMENT ROUTER SCRIPT ################################################################################ @@ -95,7 +219,7 @@ script: channels: name: Channels description: Comma separated list of announcement channels to use. - example: "pushover_zorruno, sony_tv_lounge" + example: "pushover_zorruno, sony_tv_lounge, led_matrix_1" selector: text: @@ -130,26 +254,26 @@ script: indicator: name: Indicator - description: Future indicator data such as LED number, colour, or flash pattern. - example: "red, led 2, flash fast" + description: LED matrix indicator data in the format identifier,transition_mode,speed,repeat_seconds,repeat_times,sounder_quantity. + example: "dry,1,15,10,2,1" selector: text: sequence: ########################################################################## - # DEFAULT VALUES + # PACKAGE SETTINGS / SUBSTITUTIONS ########################################################################## # - # If a value is not passed, the default below is used. - # If a value is passed as "", it clears the default to blank. + # Home Assistant packages do not support ESPHome-style substitutions. + # These variables act as the package-level settings for this script. # - # quiet_time_blocked_channels: - # Channels in this list will not run while input_boolean.quiet_time is on. + # If a value is not passed to the script, the default below is used. + # If a value is passed as "", it clears the default to blank. # ########################################################################## - variables: - default_channels: "pushover_zorruno, pushover_kim, sony_tv_lounge, lounge_google_home_voice, lounge_touchscreen_voice, mqtt_view_rd_feed" + default_channels: "pushover_zorruno, pushover_kim, sony_tv_lounge, lounge_google_home_voice, lounge_touchscreen_voice, mqtt_view_rd_feed, led_matrix_1, led_matrix_2" default_title: "View Road" default_short_announcement: "Home automation announcement" default_long_announcement: "Home automation announcement" @@ -165,10 +289,29 @@ script: lounge_google_home_voice_tts_entity: "tts.piper" lounge_google_home_voice_piper_voice: "en_GB-jenny_dioco-medium" lounge_google_home_voice_volume_level: 0.80 + lounge_google_home_voice_suppress_cast_chime: false + + led_matrix_1_mqtt_topic: "viewroad-commands/ledmatrix1/announce" + led_matrix_2_mqtt_topic: "viewroad-commands/ledmatrix2/announce" + led_matrix_mqtt_qos: 0 + led_matrix_mqtt_retain: false + led_matrix_leading_space_guard: "" ########################################################################## # RESOLVE PASSED VALUES ########################################################################## + # + # Lowercase field names are preferred: + # channels + # title + # short_announcement + # long_announcement + # payload + # indicator + # + # Some uppercase variants are also accepted for tolerance. + # + ########################################################################## - variables: ann_channels_raw: >- @@ -263,6 +406,17 @@ script: {{ payload_text }} {% endif %} + ann_led_matrix_message: >- + {% set short_text = short_announcement if short_announcement is defined + else Short_Announcement if Short_Announcement is defined + else default_short_announcement %} + {% set short_text = short_text | string %} + {% set indicator_text = ann_indicator | string | trim %} + {{ (led_matrix_leading_space_guard if short_text[0:1] == ' ' else '') ~ short_text ~ + (' [' ~ indicator_text ~ ']' + if indicator_text | length > 0 + else '') }} + ########################################################################## # CHANNEL: PUSHOVER ZORRUNO ########################################################################## @@ -405,3 +559,78 @@ script: # Placeholder only. No action yet. # ########################################################################## + + ########################################################################## + # CHANNEL: LOUNGE LED MATRIX DISPLAY - MATRIX 1 + ########################################################################## + # + # Channel name: + # led_matrix_1 + # + # Uses: + # short_announcement + # indicator + # + # Publishes: + # [] + # + # Example payload: + # Washing complete [dry,1,15,10,2,1] + # + # Indicator format: + # identifier,transition_mode,speed,repeat_seconds,repeat_times,sounder_quantity + # + ########################################################################## + + - if: + - condition: template + value_template: "{{ ',led_matrix_1,' in ann_channels_normalised }}" + - condition: state + entity_id: input_boolean.announcement_channel_led_matrix_1 + state: "on" + - condition: template + value_template: "{{ ann_led_matrix_message | string | trim | length > 0 }}" + then: + - action: mqtt.publish + data: + topic: "{{ led_matrix_1_mqtt_topic }}" + payload: "{{ ann_led_matrix_message }}" + qos: "{{ led_matrix_mqtt_qos | int(0) }}" + retain: "{{ led_matrix_mqtt_retain | bool(false) }}" + + ########################################################################## + # CHANNEL: LOUNGE LED MATRIX DISPLAY - MATRIX 2 + ########################################################################## + # + # Future channel. + # + # Channel name: + # led_matrix_2 + # + # Uses: + # short_announcement + # indicator + # + # Publishes: + # [] + # + # Indicator format: + # identifier,transition_mode,speed,repeat_seconds,repeat_times,sounder_quantity + # + ########################################################################## + + - if: + - condition: template + value_template: "{{ ',led_matrix_2,' in ann_channels_normalised }}" + - condition: state + entity_id: input_boolean.announcement_channel_led_matrix_2 + state: "on" + - condition: template + value_template: "{{ ann_led_matrix_message | string | trim | length > 0 }}" + then: + - action: mqtt.publish + data: + topic: "{{ led_matrix_2_mqtt_topic }}" + payload: "{{ ann_led_matrix_message }}" + qos: "{{ led_matrix_mqtt_qos | int(0) }}" + retain: "{{ led_matrix_mqtt_retain | bool(false) }}"

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 QnE(I)07*qoM6N<$f}bvMtN;K2 literal 0 HcmV?d00001 diff --git a/.cache/brands/integrations/mqtt/logo.png b/.cache/brands/integrations/mqtt/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..a7075c78457aed1b966e4075227afaaef559b875 GIT binary patch literal 21489 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 literal 0 HcmV?d00001 diff --git a/.cache/brands/integrations/nest/dark_icon.png b/.cache/brands/integrations/nest/dark_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3e00949b321efdedcff6e35ff29926164780db16 GIT binary patch literal 6069 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 literal 0 HcmV?d00001 diff --git a/.cache/brands/integrations/otbr/icon@2x.png b/.cache/brands/integrations/otbr/icon@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..afed723352c93dadd5a6d309f43da37f3a52e898 GIT binary patch literal 5504 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 XCl>B<>CH9+Qv)b8rL0dXjZtXg1Qq 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 literal 0 HcmV?d00001 diff --git a/.cache/brands/integrations/smlight/dark_icon@2x.png b/.cache/brands/integrations/smlight/dark_icon@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..3c0f511e8251c3acf0b6db0e564ac7e3bcb1e2a1 GIT binary patch literal 5521 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 literal 0 HcmV?d00001 diff --git a/.cache/brands/integrations/smlight/dark_logo.png b/.cache/brands/integrations/smlight/dark_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..9948fe61e203bf9f92e3879745e6a438fecfb3c8 GIT binary patch literal 18244 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