From 588acc84aa54909de6e4253aa347796af462fb8d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Lov=C3=A9n?= Date: Wed, 27 Jan 2021 12:09:10 +0100 Subject: [PATCH 1/8] Add selectors for text and arbitrary objects (#16322) --- source/_docs/blueprint/selectors.markdown | 34 +++++++++++++++++++ source/images/blueprints/selector-object.png | Bin 0 -> 22140 bytes source/images/blueprints/selector-text.png | Bin 0 -> 19830 bytes 3 files changed, 34 insertions(+) create mode 100644 source/images/blueprints/selector-object.png create mode 100644 source/images/blueprints/selector-text.png diff --git a/source/_docs/blueprint/selectors.markdown b/source/_docs/blueprint/selectors.markdown index c285ea460e8..2b489ecda7e 100644 --- a/source/_docs/blueprint/selectors.markdown +++ b/source/_docs/blueprint/selectors.markdown @@ -21,7 +21,9 @@ The following selectors are currently available: - [Device selector](#device-selector) - [Entity selector](#entity-selector) - [Number selector](#number-selector) +- [Object selector](#object-selector) - [Target selector](#target-selector) +- [Text selector](#text-selector) - [Time selector](#time-selector) If no selector is defined, a text input for a single line will be shown. @@ -367,6 +369,18 @@ number: mode: slider ``` +## Object selector + +The object selector can be used to input arbitrary data in YAML form. This is useful for e.g. lists and dictionaries like service data. The value of the input will contain the provided data. + +![Screenshot of an object selector](/images/blueprints/selector-object.png) + +This selector does not have any other options; therefore, it only has its key. + +```yaml +object: +``` + ## Target selector The target selector is a rather special selector, allowing the user to selector @@ -477,6 +491,26 @@ target: model: TRADFRI remote control ``` +## Text selector + +The text selector can be used to input a text string. The value of the input will contain the selected text. + +![Screenshot of a text selector](/images/blueprints/selector-text.png) + +Unless `multiline` is set to `true`, this selector behaves exactly like if no selector at all was specified, and will display a single line text input box on the user interface. + +```yaml +text: +``` + +{% configuration text %} +multiline: + description: Set to true to display the input as a multi-line text box on the user interface. + type: boolean + default: false + required: false +{% endconfiguration %} + ## Time selector The time selector shows a time input that allows the user to specify a time diff --git a/source/images/blueprints/selector-object.png b/source/images/blueprints/selector-object.png new file mode 100644 index 0000000000000000000000000000000000000000..3ed19fc834ea8a9fd731230107e356c03011baed GIT binary patch literal 22140 zcmeFYWmsHI(?5v2y99^e4#C}>1RLA}1RvbpA-Dv0cX#&yf#B}$?)IPD&y)LoclXPF z-fQRTGt<-ERo$mfch#@D`h+PfN+BZ1l3V~-`#6JLDW{Q*qf;KRht}YS9Wqt9wG7pcKMKMZ zVho_jLqp+cz++1dIA#E7pBbRQp-;f!A!L!leGz0~q*>RVS3LF}?_M%px*R&$*?qWz?c@IXktS#g4;vh^@adtb&}5Z-6;9w7}X+B(&9&_od>%ObF}FBU>|F# zkv{9hjJn@uR5qpORXGJ6G`&x5@qx39NQ&PH5vZW}-r<5Nv`@)F(QpP}z2ooKEK^j0X_%Z?^Y`O`dd@Fo|#t0+i6CtL01Y@A>g$210 zWQBRSp)GnefyDLx5gT;P;Ag(xEKtM&pIN~5{4}eX@aY3;QBTSRSuFvi zL|A11aX)oG4@MZJ92>b?47rSl%s{?Fep){36l^V+W}=k>3ORKwYOLjO#!ko%4?<9` zbWJwY7Yy1E8m9!y1ha&DepO;*VyR5!OacA^en$QP{wg>4c7*n%c5Sz5*9ceUi?!X1 zO^OTJE6r=xN9XIrtA^{yi(l6&j}4Ej55|uUkH?R;mrC#(P*~7b(4x?6(2DRnn0Q6G z#rCR}bP=stS`rdz@yW6Ia$3@o zGB~n&N$E+svMDkWve>e^vF@~tG}g346uJzni~{r&OxvXKlqzJ?)OD0)l*bflWXqJ# zs!=pUF^E6t6OQB35`VK6gc4iPW;fXdC>*qq7IODz>WcIE48)95`jMz0FI3c8A+C5R=(CHy6#C0i#| zCjf5&@4XXkt8=S|1X3% z9d`9?4P%X$DYfNLqh)nk!+g`a`TC)+9nhKkgk_6nbJ)JzA>E11acOtvRNnc{p2^Pp zEcd9_=@1yCo1qikEV!6oO>3i4MhJ9pfV(%v?JE zsmi?y+Lr#D|9nVrL{LUhx3j%dq|>Q0!uyjqw0GWH>Ra2(IaDZ&I7~hC7K9gM8RS0K zvW;M?8@aR)4gELQh^eF*#-_$_o5)3XbHejadyR-a$p&2;Pa7tMgmrN|BwKi2aM(s` zO^J*<5E|eZkup%&k?G;mkhqYU;j)aCDCEf3#d*XNr5GjKB<97d z`X2^32DXd?jF-2ewsN;yo8)YiRt391Z-2Fu+>YFi9-OexXqkmq?oA486eqYMJ5~6i z`1H}7VUeMQCYARnt5;AQ^Bpy11}-7Zzfn@+n3Lqx+ql09c=d=xbD_DzFvN{tCK`Y{y_7N z^J=}*y#!KE* zF*Vq=jy0Ec%>Wu2%z9b#U|f`(@>%e_(>`;1R@!;)#uAtvwEG{pe>k4)qV@e3WiQ6b>AMGDa z`JqvnubXnd<2bHkqEB?bGTz+m{!QeyvEi!>z!uT zb{o}`k)-#!wwHD5V{^uSVA*2n+ElS#++}RA-MuSv-BWgNb++1k?)pCdyD-PkFl!T* zLWCj@Rg^?t;Je$y-sh{lf+3GAgUqi&yB=CM@-LdZ%yeBGkp$oM2EulX}_%T9SiYY z20xqbTA!s4>-^&DaM8U!yPm)?!cD@dTaRe3dhLGreLZ=;z4K*+&8FocexxXBVmvFW zyuY#>n5?sxiY-irh=K~cVT}xy0M^fUL!tNWy7m2OdO}#AJFN@PQ}7jfqQaxTfdwpk z5CSZ#1FV^pc$cyk3+*GtqSq|B78pR|{`}UAGVu7QJWFJcd~WA;WF#F5tQiGN&`v`= zNwK`#vs5(L3r^VVt-AkS-TYt3Z%)z-*_$<-S8 zhXjn@l^2w?HgPm0b+xv#ao}|oApfTYFDU<~n3{-5$ji*^;^M;O!p>xCZ^q2Z!^6YO!p6+T#t3S` z=-_7KXz0pl<3RBrCV%;en>ZNTn*$xqZEZ;Z@HI5Db#fFSC;!vYzn}k%)5O*Me|oZU z`0s6jZjkv;4Kphf3-iCcL8SbDN_mydT}`Y2;^x*M@qqdeapL}(XF0y!4KU^3z&s;=Ot8L;V?YV(5=fqDgU=L!W}BI3emBIs>!bh)`z zou5vO-c^-9GlcG9V>8hBlhY}b_)ireNZU^FNn^9EyV*GRQl_=G`K?~)c+175@HM@d z#XXPl?2k7@5%HPI$zHj4*l+d2^Ee*FV9~3OEskkmkb?g=4P!t#pRLfkUGF7YE!Kt& zZNqT zli2gFcR}nn(5(EqH4w22VqvuGT>5%x)BJKZx*N&07J6UJPX4~u;Za~b6jf`p+RC2W zbwUXr1NJ8clE(CoyX0>vg!lo%+07hHO-MK3+}L zn#lc(r;hf?x`t7YvF&%GxXi-HHaI)ciiXNgE{lWahe7Z2D9SAM@mDejGNJ*IL z-*u~*EG)_>umOQM_H=t}a<>>a5bj*CX+SY`>laYZ27208kQ7-uYdhTN~U8r!i`$J#0&h(dP>m(ZN z&5VlDPh_qY(yq6sGIX_heV-2VES02Zr`|w#``cL!La|;j7(I+!|Z7kKg(fxK_Ug;+7ltm~V9ZnZDl~PMh?HqE9v1>igipHKo~hYOZ-+ zEBNu99TsIJfu3~AYn#h?5=bn`_m*?ztf$=}fX8IWN0R?Od`d_^(3DslUyr4bIthS9 zU9#Z(9If)ClJ?2kDzc%5#BB%tc{7CM4wu{Y!r*yIj=2GsN#~nJsp`+UWRkk`yJg!Z z(B$*>=|mNJ`K@jl{aEhbzcUM_cdZHQu00U8T4$zo?e;rcq)^_oTX3dCbo8Xp$0D}o zvn}w;XbA0n+j-~px%*y<*~zj^+b>T^uWxx;)?@qkYaSEo^lHLup!#J`N&PeqbEC4^ z0Z(;w<1WzZ+4IWpED0K{{8A9Uxyih6D=87GI+4lP;eN};Dp&0obWDgco+;2~cmGJZ=?*!Hvz4bR{?t?|&F0k` zJd#L13R*6VgrBTpvV7hao1g4=hRNuHU)o<_kJ9Qd>_{f=|K1-qJf+S}x7SRz2qcB_ zMv}+}R2VZjurV5Yj4geZ2t-y|;3PNvB_oF(?cs_w;cJJ?QC?9}JpC zTb>9w33I(00)*yNH{+Iq# z&}uO*m#wDk8QD^NeZK$Uan>R=qigcX=WfyLBVggD!>pRd&j{vDn&l>2T=_+*@HsAi z2kI}P>tru)FV_<>bEN$!A^?R9UNw*+F$ov-L@n3O`QrWIHSp_u%l(Q9u` zVGLT7Nv_~99mB&U{cs2#&=-u%K1T$Fjf&4E&eVF4yYVq~qMAUYxyL>r#mrS5+i^8h8h93m< zcWk)2wV0`1YMtfgjQ<*mS_Hr0kMT$+&@g(TVEk!CAca6CH#o)s2LqbNnY5pC13?O8 z2*9vW>$f5D9m$l2eb;!1lK!wZu_cJoO5_I3^S- zgFLRjXHB+GG42*DyjOrh`)-o9JRge$@$?@0Xkg$cvS5TuX;E ztHO&PNp)qI)Y$)W^uq7=B{*->qj;uDqqWwZS+qr>U9oT*4w{ZxBCr7m7 z0%mNchz^s;EmoHY(&MTeUw+8pJ8x%KYlwYHqH_pE4)qd!7Hz3CfbV-0OaELP*tt8N zu}rd#g_xzh3ncundi<&m0e9cc9V)}elHEK_TX)k;A9+X29xVz_{2>ITpIkNux0f`X zrRQxU5Rd~HMNwnga;;{7F-<*8xZ2qIwJ+_3=qCJIvL7}`PLW@!`L)MR_3{c{gQ+S0 zAJZEntWFw3D=|?572-!S-DLRrn+mKF&5%cSy z!jJMB3;@e{f&xvbMJqlBy$pxI;;>Ogfz7@4))Fe(kH=s0E6V=xl2z#~ zRmz1g9_^sGy51q}wI}#Ts|=4oVSIES`N3?9gXe_P0YwS-q1?K`W|dc{uEBDCWYH{( z(UpL0Zm0Efknr_6?hqLV@^vEswbz+;>8%q)^w@m9C?}JSC4`pg?SkPK&+du<(XKBCuIZy&OP>CWg0Bre0z3+sJ2kB=MKW%4(mx?*QAj z!XMaHUK+K18MqscO%H=r<8g1(fYiE=}2 ztj^8Rr$I!jUZ8F6ZG}1m$RX1=i0Sac&rvla8B&Sqk0#J=pRkp!^u_tT@$L^ThH-XQ z6OGlB!(fb4H0P{yTF%{6o$r3Yd^xhY*7tceS@N|cpK2L`Ecz|PAmQI>gsz=lwOD7C zcKlP58Ksv12Z;e8g4#L+WZ*X2vweW8vn47+_3P&JI75t@wfWg=3TdBGpiOH8wTqo5 zfJjiC6eo6PWGJyf0RvVoE~$F_eK`8H5Lp|+qOJ7cr?UYMMX}p}e{?M=JNj^8WdUwF zj3Kz}iy;uD>03cO*AhLm5D0jCd0dr9xj*l?&on>_=Emc)Nyon+U5X)3WVc@8NZ~M#!?&8eKb$T~yH`l% zU>y>{5}`5p#Z-?7*%+^EQ~X-&bMQN7PiHKROUe8BlxzBZ!+G1YyEj?s5J6rJLGbW!W5v&|p-|IFJ{{xG% zNIjIc$<$Or1XHUtQ~QOe0}YG;K#+jro59HYN!>)gN|B-|sU!>%HyWgFn=^7TfGjcUaBweCE1KO zXp^|YY$6k)44)gBfJ55*VH388?kwjE2-xNu_63{bK85z&fiUtX2*d#UEJ3gDp#c(K zA1*crr+}l3P026u)JmTqoj|;QwfMWb?ZisugRtIU>ebuxIibi09cBhbH09Mcm;0=t zPOoQzH#CV!jHQ+0&lK^<^sC$LJ))TD-E|;j?L8UXj^~_m; zuC(x}fBf(xDe$fjdhZ4?fB|M!txP?oGmvijl&;6lWHjkkJHY_m?g`uuh8~td5(N`L zwQ=T01=)-0w7o(q!f5P^qCPg>$)www{ECRn#4(3v6#`A0v}41*B8T?#n;g($xv>JB ztJwy$X_cJ8OB$DbGD+R;PZTIw@12VR9Js|}YFUQ8CtrdQ?19H&31!nc2h9vlYrk38 zQxL+OCwm|jxe?YGj9a-iOLQQR>q-v!BMU`Xzd$W_mgEgZ0(D}fx9Tg>o-Ii9K=6K| z{g}^S8@a-ZczBzs-3F0-eQ)n(thPO|5jk> ztUr+3L^wf2xR(gp4u>`fgJ%2_93h+tfcS$8(ujYt=pzub6?R$r)_{at1a6~!iyJUN z%Dtt4rUg6}_JpQx-oN+;0cQp$+uV}Qi?$!wN=64{fFclwdBQ2l>Twc(MslD%@?Svc zwAp+Mct&0(`xFqwU;a6C+pi5%JqHBv1+<(>?)dg6I{FrqG$%^hDm<0`SoNZ`KdwIm zBAzF3A2D_lX$CJFt;)}jevWVLTXs4)+9L~?Sa}X~&A@&k zn=`)H==tc2mlOvWh1c-rUuFeTM8T5x+ZA*pYytANXz96`8Th%mxKYs@d*HVqaY$WO zd)(3|&=f-_{Q-^;Ifjw;FvisS3{}-LSahnxp*V1mE~4KtbOeCLdGM^-|s!>kaXoNJuYMBr=&)_K(pwcLHGv= z&0<6!&_d%(LI(J<7#PJMD2BF(kh1HMcZ-zKAbocNgSI2 z1rFGkqVKrj>so=jJ#i45(5&HI8-aJ5?!h$v+`VpM_DgVza0ej^F5;R%{KLl&6;(x7 z>4ilk{7HXiGlmRlP7*Q42Ri|kLix*y@}5sG!hN$rA`CNFRy$!_WHwug8hWe&NGl}O z2&5v-EAGb?SHHN{hmWheY{*;D%eJ5{T8~An;L2fLGf@J;%IQG(ykT7w+mh#uE#to0 zvFG#>gztwzTM7wu0Ir!gzO&}OdO~uPEyOvb=4Cc=UFSuUU~GuY9=L!j5O}j4M=ocC zyCVK%mCWOU_q%VPqubqO09ykO5yo_@CpEZdHLNLYPCXQY#m~S#t7&8Vw;q(8(DfMm zM@9Hc&g8e~Z9~?;V|Z4P>b2|+#qb#=>gelm1KZ{!V%H7uu2}?s+`2AOemfNZfb|Sx z)@`(Thx4@#WF039rx+o=_CZLB@7$cVa_Et4>TKp!`1cb?AgeB3c9e-cI>KkN- zK*I=Kn67|ANBTwXdj+VRL9l$BSKcpp);% zp1NSS6za#g(jCrUleC?%?;SZKxP#arlvi$e=FEL=_c`#`k|R?Q-xYZPX^sqOEhlbS zE%;O5kxTKmXalw#KhRP{-0^IMXU1@E3)RUAxVOO^TDShHLuIC2Jih^Ey5ol?x{Njf zX_*sGe(494wUpiAQLs#N{qWBMgn^Kua%Y27Zrr2fKb_EflkNj2&vaZ}m7|+B2Qslj)Xzut`S6Qgvg1*H`g(oq=QC$9r?Vm)6 z3Lc)h!}H?={$Hy9kFr^$IFY-r^m%{fS~cm{?v7Uyqy^!VhDRR?&g7y04#3aYO)5U@v z&&@e}jdg4W?6jU@D&Yq2#R7cQhq*>dwt}W8fsm-5c2$g0(HQN&8F zKA1l-Op1P(N9sD*%gl62!z)i7EwK?JP3?na?7=w&gykOfG66dlC4cPg$dj)`u^JM6VmSIYYrP;<1D#1DPSCWlkv19+JW}X#(ZMN|+ zz46qncZ*i_aLYFUlm6Ojw!qMG6i>@$ygIHr%g=9Lx$=BkuDZ-_FIMgpXlYgk-ZdQU zW0MeVR-P~(P&Bw&AL)Uba^3KnMPWbx8-L37>WdG4-VYl#E4?g7`!pZ3k6xJc6Tn~k zwN6?5Le4quIUiWiV5l#i)^8F&PTV;0edk6Uk6)WuXIddW6-+h=FL_>4VspB^YmVTb zUC(PKO#X=?y>m|!?=-uf&Oqkw{r>6#+QJKG&}mlwWV?1^`(o~)(i-M^bcg2Q5b8&! z^tpz~RhH7HWO}aMQKQ|Z!PTdgYIQ)IzMHQ;10m)ng1&6>)hMxp)ZWQ0BBDsmHuf|^ z;!ObSkCbpm;#K&QsGuG8;XH0^EgMHy`%GoaEU0$Nvps{Z_hzhlpm%phQ*`aW%AIJ` zDGfcvts4Iv?69Chl;xVMqFGH-gZUQcgD6fOG5<;kgLBf zG}Escu`>wu+imKtCwCpgK8mm6I?O#ZIXzlw3G3##j_Y)(g!AvxZ?D;!rM-X<%|OEE zlS9K=!|3xBCCvtf$|u)aRhl>@^-|ZahmK3|Ttb|N2(_=hS5xiw@NQcnZfy3Kl0L6! zh2Jb!JM+dGn+h4&v*h^MbqpjTIC=K59_<8I_9@rcfF~sn!~;u}W2qB{nZ#=c+QsLe zO-~&}f8-1oD>hjzez~{@*+?_h*hBiEk&kgzfk}o1Ow`(nH5N{C9Rl>$JUMd+&EGLH z+G%fh#lAC_+1l9(I};U>qrd_CnK%V|rwn`3_lI5W zeEZ24Ep?}Bw;!$gUFmIuT_nAZM@QE7wh;uT??k^!M|{nFWZo@PrTuhjP+7-$B*@HP ziPMkHV-JBiZy-sAf}}Wr@r<3K>48?DJ7{FLm5ky{r|QgzTQ(VB^#0f)9p$-Y{+cR1 znc9ib_zU;^y9Vb3Tda;*nA)~h4Z&L3P{B$I$s*%jdegvKjcU0l_CTq-TWRVktx`C$ zod4Wz%NOX>IrNx01+?>a)S24`_2UY%Ox{%qI$eSos-ut!pNFLuj~0Zgx&gX*(f(uX zvH`?SvG+yFwZp2=Z-SQx+3I@`HK_t*ac!ZC=dU$oC{K(1rNEj6L?LuqfFggSM|gtZ zy35OYR|&M-Il?UTSLVl&CdM?BJv1D;19@IMRn2yaJGzcKzFMh#SL;g-AFccaH`6A8 zyyyj=3FS+dh=mB)2pXTVGa{pm~`DhbNjBv7Kb9w%K_Y}W;^4Si(bUl zHY4w7zgnds81(D&`Gt6(OVz1GQk>NiDiX$op4N~)%2}~~#zm3pe2>jkc*Rt`5o?Kh zd$uR1ONFCQSNMy5NbARQQ=)~9PkkE{1PGIbk}__m;laGF`&U11Gg?tu07L@bqOj#x zZ>QsFEf$Ne8*My$QEz*aiMyQ%B4dluu3@lJW3ie?7<>=sb}g;WZf>o*r_JJ0^}Na& z_0HrI8NW*L!IhuN+abU)=_2R+JbpHITxB7a7S)!My&q=~r1n*o>MF_>55xb^!)sC= zEZL=UiL$zSJ*|KeE#H=kmp{So?~|evK6^4Pv{UGvx*rv=R`^_<&tJeanlgf@-Y};o zHzN0AKHiAVsw<^SZ!NV}mDtKH>ZQRts~Z7uRL*}TUFJ~GiC}zim8Q0{QjC+~$#dHz zhsh8I^yx*|1t8>I_TM^6FGJadBxpPH^aI%L#Kk568o!4d3~=of~LEjCXxTiku% z4gdA_wQOKNE6=?zF0Om~wv0elspAuGSz`5hKh;#BJ8jELJDVbou^Pfq?@!h16MuV; z>C!!8rQI)*6V~mtEBC{+u=D-L@jr%3iC}ly@hE9oq$A4X22$b!~c<=$6LN!mQsm z`Mk=_oxe$qjx#GYR#45)BEPIrUwPbIj;Rg4ekY`7>A(GLJ$zm(%9BK&pcK6B9BaN` zRHyz^*eRnoNUH_l?N+?o@@6@)85>*GX)7w3l>Bq#isQI|DN=%W!+BQZ!L-NMYPLnU zyzV%n!@a($fljnt$O*G-ifZeSO@zPVIlN=ftj6s2`c%kUyq$tCqQfkaR?L0}`#gV0 z<#xuxwaZoO7Jad44e6!_|Kydh;cU5o+N~TNY;9d{hJjafAXSyYRmuss42XT{h*z9@ zB8ZJF6xwmjtPg)gcNL{-m}4|Fy-9JY^Afxe;*x4i$`ZrBFZ8k2Bx-@+$By~DK7-RN ze$76;$cZ)Lz*@)D{2Nh(_(hXf&hTX)El>S`N*1QasMTe?n;5??b+}q-PE}NZwgPe4 zS;pX(ugnCLnT632vpZxpW_Q>;t@9^M=;wiK9R$s7D$6!Uzuh^`K4wB~n!D~Z(Ac|b zl!~4HR0{2Q;j5u@`F*Xc)c&LyRT#C8&+#p$9khvf)eVW7Pe+l7oN+Amw%NB~r;eu~ zUlA9ylU}FxVs8KLtCuTO{eZq);WAI*Q6E=8;K3?pOxM|5(1MiNu>>Ww4O>0k{nHfq zq6xcVcV8ddH>7yr%QH)Y6y6^CTwEcv#dXkqlj8mMSoI5hwXEzJMrU4JOPy!=MH%K~ z2DKV*BkKJ+Ep2qdr71Cy@4ifU(o!G_t0D@p6n1357_h+8CTwH=nX19$hy?pvlb3+5 z9{zg~QbrTgS45)m$WdHmJm5-7k8=v!5YNLpvO?rWk2ioTs@N3@H6M|#feF6DDuSkbFbu&4}+$)3fm!-GuMHxj7VT;RcHv;T&GFeGgDh?Twg-o6%q#0 zyw)*8vtH=5yw&dG<0XrM9dn#OiS5G=xQE#L9#2~9F6V)b;GzioOERYuv=km3-Ock# z*U*soTi$2th;e+ng>Fp6s-mzrhkL26x8dD z1m9=XgE8+NHf+G`&Lqj+({?HH)18{((a*v9i{uJyXo0fgl9@po^1 zGLn~09o|wv>6dz6{+m~wzJU^oDNAgknakH_ah_f_{;fN8dvR*y7tmV;zJ25knDc8S zKId_Kst;oI{G1k@hbr3$643LoQ)nHu?uy3snUiU8yGr_0(Yl_QH5WbBM~Y!D#GB91 zb}9v~;O4rkF6__s2=$Tf>=yvSb>u5w^U+A@;DwB}x(*%fBLABg@2Ivg{5QcH#xKDd z4g`p*a=~9G3X)Qy$g5e3ow|9If_hqIwsd)ClB-V#0>no?&7X2T5|l#bt0@^fd;7>R z5Y?aVT10X?D-VoJSi~x40AA@B*`pVZsbQVVeb*K@P|vE+;QggI^ak~WWTNN!i zE{kds0*5m#;yZxZa7%Ntj9*eO;tfjFM)V#79<9nhS_FYsU~4JidPaJYH1ehQqUebe zog!TmR}xYEghMO>Q$s1hqM!!Xr!d#BNIKJKu+^j_^eW1yTR)n1*kN6G;HIt9?`jTPr8s}1yh zYn6+)(RTPNP9hD>BY}ve$y#Kj>I8}Obdip}f?b}hEz+=b&D2Rp8EdVpu)m_6&PR{s zGO@~r-gVVAm|Q*5Q4HD&!icZ0m?L&+Uwa;vWM4rVK0eh;m8DG!(h_^c77xtM1uwny zAX<ZJ;WwxLsd2!OKdFV#GE%>*0 zy6o3i>t1x;-gml5*^J6pT>PjE>(S1fos_qic*{qe;9f$NbEs|XmT8 zu0?D$&N#_BPQ-#!#Qk{Q>_}stY}s>lW4s-z6h$TRe+Ar?AhpBVywB6FN-(C$sy?&Bhj+4RIo(MTK2C?xz(6 zI>B}^trmyljf#MpaJbJJacZ3fbV%#bxNMr(%lSA0ep0aBU+9DHhteX`2IvZ0L@ah$ z=6>WoLtaZfd_C7Jvnf>c;~}NHnV>ukv2)>J;;|a5$j#253lZdnx8WL!3~X;fd^Y7M zIS5PrGIAN!M$JMWn7REXyJ(Ef!-J<)%nV*v2tjCf6<-0Naa9JUfX;7z~f{$Id$7l zInlWr8?*-J7lWmn=kNgZ>dDe?Nnt|ms61dZs5DmY~*Hs51l@A`~JBGdgmKFTc3 z_Ft00liwWCyqifJ_qN- zM!q@jY3)jk+=MsHQ+`<3VV>7r% z7``bCvpt;Tc|iLvc#On?!t|`2)jSMoRu}+Ci3vUy4yE13PecQxuQ|6aL)5f*J_|a* zs$C4#H{VNnL<1s}T6IWI*Rn`wXG@`R6Zk}=1%*ugY7m5JW*BwF36kiIY7^*^hX6e* zkDGMb`Dby2#~L@bl7y@9l~e%VbSOJb8C~+OVtV_)aN_1qTQU+24E^9On3Vw=e$bbU z4*{gwg<~tvlcu5gX4zemj7UwMk7;ev#wN*ihCg2J3_K1C&T#s@H?>5<6D5TG&;>X6 z>Ln_^5OFq^)Z0gKB7Z(63|vTlufHT=bK6ya_t-}s4_i(RcJOazrhYA%Q}gt(F9cjv zlT>;rfqAA1uC3JH zl7Mp4l36_Uuhg3k4oH)bhteZ(&Lse*p}gbqXT*sE2I?;!3i1wt9w;46oO z*3=@Fx4QXRy=nvG)Q^);P%LHxBEH;Juo|{r zcXwXbZC%DX;)7xJ?{RGt^hKW|>Q8CUW`#6Y$TfPXXt$=ZZ4!g81p6A$Ofsqg79W@ND6;9=C=rO(qQl4stUE zZYfYCwW1fQ25>u*ftemt)CQAE&N43mCj!>Pxy2uVfJ4^*$PJH*2|k-TB3f*)}@;FZ%l!Ht7PnwHvO5OUp?P@8Otu z;DiCd4Z&cbGX}Q-+K>w(#7P6Z90yK8yFL`pBY8*RlewcwR6|Ck*q4qD$>r-#Ej1Qn zEb}t07BrUcmMobG=<9in1T#^KuBgYHSJi_GJn&t#Tu0|yuw4}~k3P@+Lf%<0Ma>84 zp7^g8po0ZtLKtqd=g$8ga>ofMqmZ?Hd(~h>!;kTPxs*x~e9c$u&l8dah2RrGCzT86 zUVl<&C3wF+JvMoSI9;?j%g$g=P`wU3J86puvzt=5b#*D0Uz1>$IlHVgWVxL`8(EXe zBdA~O%B9$SWhN|zd@nn~Q1QtdEC=j=Gq@&!l=lpuy|b>_e^)Z&=-92Ae=q#Pr^2jb zzEQef)0XkxAtuzKoe6j` zS0*}bvy{c_23>bUqdiPlO$Fk)iPCtrayRPxD|oC(+PLiy$4>x4%xVVck#K>69|(2l zzwBr*)tM*+X9#u=A5tb(gXgj)o`1-xYD#ZcA!0ZE&i``J2f>94rJRdF>>IL(lT~_4 zIv1EC@8X@uzIj6eqd!Leu1%$RU!#h%baR%i82Z;KJ;P&ON)w$BtJ{&>H1Zdv&pETu~LuV ziG=an8(2-VzKz3fR{(K8B24^zmDRyJ(vMAzRjqHrCnSRv0gGR*Nsei%tL1xnCO7P$ za^5|9lVk~QR^FEeKYl{A76xP3GEOQ}PR;2#be)qyjU*J&3E=BN_TArcRAcqW=T;04 zqQ2^7d`uk&V<>T1N>jTKtYQyZVZTO8e+d}J&?&BAY%;eRzCJz9x6j$k@kurhOvY`# zWQptyZXJk0tB!2Dwzsg>x#`FL_`9WPFs6qy&=PToV=`{ORpnMMUo?!?N zg|lav3+YMCAhtI8|M3 zW9LKkJSqpVRRTi)5pQA zN&P@aS)A9Aw>(I>lb)28M1apLHbc?>WXkZvi5a_^E#2A?mpw)RQ@A1t4NKNB6p>;I*iZ^?2So6{tYAz=Qzi>RwKw;nEn zTUXUfg_L@T&QCKR#tg3^CBJ+dLc4^SWehJHrH&gY&)pMX%&PXm=THH^mr|6%h}$d- zhyNSV*;poF-S6fUVoR?~)?A5iPN~j4w#2jrPT9bbe$+3y(5OeUwtN|PnKnHE&Vd-& zz*sAdACNG5fa8k~h02fV-uY4&*+>AgUgVu(t}m;Kgcs#mH*mxWm~sM&UO9UEhpMMc z$n=HBPrleps=W@0EMA_SbABPBMv_0$_%h`qHIv&=h*|efP9WTFY9PsMqQtN>gRM80 z@RdG)6M{IKPMf+C=$&pxR|>{2Oq>D2XXWCoTgv4)p$ue-*_m@UL?X&j0Z zX}X$Kfd5PHjoQOyN7yP*L+}YP?Ot?jp=HA+Gy%~lLTYjvBn)USH zzXo-+IO;f{CuF`R?|m04e1OZJWh9hiRLbXPVb;;(51n!g2Nv^Jj|C#2x$HBdiLFHQ z`KWtG;{$%tQ;jEPsei%}FsJ$vJ7gYHkzktIkJW3c_U}trMbTgq6NknVsWN}#xr$_< zc()2%n%ch+@N_{?*gVW2I^^!3gLwbMbidL;Xo}t#XnrqIDH;JCmp7TrmB^JdOVu{K>TQ$?Pn=JkN(nk-=UJRZ+q%2NBZAu}4Li2qqiG9mWB+cfSfnnZ|6D(b^e z$_hjFKhflk8O-6ET-am3j>o;UT9Z+nI*7ZK7KhzGN0n~#S2&Yw$TM37`adBiw7ML4 z=!#FbZj>A-$)oTxsCcckY0WpZQf(?+p;+&050Y1KX5=~-Hn^pnHs^?ij1bzk$1bK0 z-2DkjchgeD9A-@i4D?o4e=AbV80$3zz};rJti|R@Max#|UOcp)SCji$a1jLe@jr;OnK(Ua}^MmOC%*ZmM*0vHJbDqS9dP-1QczwoA!3r$@~#7 z7(|NRO?Iq?t`oMN{K%gdl&Bs6;?XsLbY+)hsi2X{-PWnQ|7!#)p=jGCjajcex6?93 z^JS{kt^$C3F3`eq5WCtc+EiKCXLYEgGg1RD+p38h!p9BNI-fI%@_hiKzfN(1wkHe2xp<6 zcxKMrJ9B5w-2Yd0-mJZL_FJCc6FN^Z|9b!>T;MS0I1eoryhoMGV_QRP&dcs8nv0lW z##Vi!H+`I$;>kwr<`-=xa^{~;8%nmrlg>OaS3y7e)?jaHV`|Wzl#YKfgdCy8^qd`a zTyAv2W^Q%yG`3!-SYq{Q*n=A#&qrZJ^Ce(Lx=I4jFLDj)w+ruh33M=vpiow z&(SBKyhw72xYh@4bq5`wFU=$y9y@It73O+2D{&XumFDF`jpaFyN1&%7UuolR5W~^q znS+T{mhlxjIotcPUL&Vm=vP+6un1h1Pch1mvUEzpO4$2V@wt5w({h6XMIpkVl^Kg96e?Y3fZO!uVzm4%}{F2 zU7Px)oe|7R%kI`XKS1I1O6+y#hTjzrgO;7QmuI9C3$)XDsH_E$2NqH10q?yb%9J@{#WSHxE=mlFmUej19f#wjEk+g^?+6#x3A28E*t zL_KP#xcAy!C#g{pWnR)+(PA_*u+fm6DIr%=!myqrJ>$O9V@pXfEib&Ey?Y{+h%6$ z!^^4TtJY4e55R79Q%t`5fik=#`$<|mmTlr^QE>l)L5hKktFWAX+AI&FN%{8M4Ac-- ziC)*8uUt|t2c8gd7N(Not$C%@FSN|bM=ARV%ZuJ@V8?~4$fp9IM#nA+O!_P1z$ z$H!*R0rAp3O=kQ@n`#exc)P%>WB?0&`r((uOa(bj4UVmi$s0>G;F-jFztN606ikS4cZ%9={xdzj1NS z5f_0wZn>v#EcCHcwgIgnKfnN_Q~@t$M9m??4N%UtL`ZEh5ZLm1n=b{8`J+yF#g3H$ z95fLz{8m>8nsXM2-`6XOV)lWqG4@K}@fLthe8TwE-v0$IAKXJ;Z;!?PGiJV98Sbds z&PT5x%!%&nuT6BEA~}>05ryL}daL7{okGCKXDy58YInS~MM2P*ni{lGI!h(G_(C_{ zSfWyCBquM0#F5ouj6KZ4N48waU^!-JQNgL_bN4y7)7OLdlG1;QFXu7TT9r-r`WOFd z$*P%Rd@s?h&4?m~Z__B~>Z{9+xDz3^!R^RlvvZgno}OJVVMdr+QfjBc3tahdD4)<`Lt zzEg5>oFaCEKfh%$iatdXLsANcm>ZF7tVB^;@vAJdSw{JH1a7iU9Cvr4VwZj_i1Vz2 zsigka+WB8dRZgH$zz~TIT^gH$A(E; zviC)0V?&oi*uFSSaYB8|FvvMsP_F_$W6*gUuJzX5dX_HMypREQbxbf! zF04vNZRf!c_O?>TpL*^wd64G}c{mtFRCnv+NrjDNx|MFb`@QMKLfg6edlR)Tvy!oN zsQby?ar`IVgvDou^{WycPHTkEHks`X)K?9ZI6Nx6TISTJMT0o)BxIQVcyY956y}}{ z&7D^|*+n?x8xwNsv}hxiInlLxtEt9su*6~Si)?S`kt5`U11|ug=ObQKYE}u$AP&X* z{V>ef#MP7Ss;7OX+7d@VLS;|FI>&~djs7-)WOVvIXpRNy5a-X

+Bw9Qxz2Q!uUcw*8;D3YlNKsANlEV?t6Cq;&65Bv+ zw=Lxd?+2e3ih*WX0tAgayP_bK&y1;OK=DR)d(4^VLdh`m#q$xJFveTZctX#uQjJB@ z%k37M@lEah#iJJkK4iBG+?`vVxe9TVEwanV=ZYMaSZciB-kQz#VpVK2Wlu4YMZE_m zh;i{lVSX~eLeI}Mys0-0cj@q^fm_oBB=36~iMU{W(yX?W^yE?}EgE$-5)_t5S6{P> z8mwvcAq&+=ziyIF{4^xh^Dmk&cN{BzmKEFzsdh3+>=)F0@K#|-7OC)-;0?frsU$mG zEOFg|S~lkpIi^SoEDAy&ob)R!l<^X>E| zYOYhIDUw~#&BieQj;WAQo-mE1kF@^AW`&B7l@e? zQ6L)wIb$YbwAz$O7-p^&l93R?Cgs?0&$5!&Rp(NI7|j4OoVt7an=)p`se0h%P$BlL9`w_D|7k7} zQ#q6?)6B-4%rZOzymN&(4RY>_wR%vxUny^s+Z0_b*%xnbq|39LZz^i-V|h6zhK=O@ zx+sh4HPla)%{V4SXKPu?&V7e-tb>b8`W$S;NO9QYY2_%ocW+z_9E!A#KXd@@MxKpo?AjDr)mrA?OceR7c}dpyX5fRN zFvCeU{ZIuJEAwuukR;?mbBP|EUe_sP@@3YgD+NdC9gd!O8G>h8Os+yjmDgI{iXEI2 zs?YX~?0528?OPbk@Hu}Lx^bTB0{zWg34I*(N73Y>;CR)xT=Y}i&VcIVT$#j~Ev)C@VAS}HA zNyFwaT3t2lG34At;yoVB%;tZrqo)Gx%6orp=CjjC1$%p$Gkgoc;pu=Z3Yc3k%r=my z?O2xo%_y{JzVEEKzQ1(oRT)mk{pvT!l&9wR@gw7*8wP@!>q~w4W`o&{4>=fB;_%N{ zzv?rR(E2|xYsgHO;v9HsGfRB;veWo@j_y99=L+kRjxL?h^V9^2GKNBWA&qY50tAQQ zQI@=u!f%c)oFa*>hq$Wd9%Frf{aDc#34IC9S?h>SEiyChmpdq?L}Q;}a(8IGT*NFC z_TvTL+o~}wEDbSefz#zxi9o~Gv7K3JbC1N}BqJIXS!6ahrMe80gi=9JT^)ViNsi;p zEb~`xYaWyfF$jqH+1kj{zLd0+U$v4(IwxHab)!}~^^15na_Fxj9Q$nio*?68$KbFh zJSSUeqme5?G30`tG1|F&Gi^Sa#v_@DYOg)&s@@>8v}(-8>BHOzq=Knxb~zUF)sGPG zF6L#rxJ5lmTThVLQv6f_%6bO!4!U!U0B&7$nT5%x2^t4bKKv!3200CbLeh8+zO+Fz zIl7$*Z(ud~F(QWF!D9fcWJDQvoHkTrOFi6B-_$iWj)F_fM=i?L?xd7JjQnLKDw(!`=8 zF5>#BAj=?Y%SxWbSto*q-bocvL-IjQbG}roH8RYK^O3-|uOW+~~ zSis`h(u(cc=)6Tj^xq2~ep_aMa)KT;aB+wO#u%pNTeb69zmCsu{WQ(_gDmul9bzcq zS|~N^n_jTUS+RLgZHD)669D8mW4(?5YLx%peoYd+Y~ugT;@^4%Fmh|wj>&sxL87ep z*3Dv|9EC3q&p!-+k0xIE6|=$#YK|D-x<5XwZ!okIS)yngO?$?TP2SD5y~GS zmw`z7a3fn&WNkL)dnA2#J!^MJNGU#m^y^%Pdi>q(_y6X76Q<7Hh2@gRW~xSW1!PLD zjMkWe^o*%g|I?v3T$!X6B3XqYIEd%SGssg@RUhtfg9bMt4Cg7=wEH*GF#+X{$yc?1 zoC=gl)HDFP?4T_ocjJ$={J*uteD2yl!Y;6HAs&#RPkKIWX>x>8m>nKBfXS!Iq18t! zz4*ZvO{_u&JxG*n;<*Y_|3*tA2#%zTzl7YM-Ba%60|!~EjU9gLPq_cRHU5j^Yx)0Y z?;kEL7SWC>#;B8j_;SE3GlHF#cJk#4wW z6~5o!+E2!w#bOiWBsN=%GK(cZ?`%+d$~dH&Ha%te!Ufux}(5*1L|+U!-tCuSYNXAIeIm(D>36>;jUs`!j``L$%jB1@A>2L!%>g< z{hgyYml}s^c6RSygb>E~=Bc0GUqOC0+_x7%<)$28z)rQh3Bi6eiM1gd)GR%ziL9uA z+&gJG4fHd3$wjo=tKo6HaC*v)Bl?3#6Cx~fkzJF*nzqjGqDT5Ydv!Mg12WP(1XFWr z#(C?@KYd6F+czvcDg|!oX;qt}>Uj%q)$t> zE?7riXZTeaizc@{`4)KvWtSB6A`@K+#oJ>I6T&MMXWVVLt*N3I~YgVmtzvbIvB|C* zm+-#xHpi7JKfyYNh|4|tmo#tmzrB-xfAzA*4{d!;ifie$k-zVj-G;yI_|EcMZSN{S zPEcLmq#LpD7e&XA%hHtf!dl6rioO}P#H1zUp#cv?)so1RC^M*f1$r6G@wTx7BviV( zO`VD_4P&9+7$?qjRdkgv5;?LUamNCx-&2WoBncTZ+_w8n)^K~~!+K->W5x((*&AtO zJ)g@1@6^faljLhMQ)a(?`jc1xLcY>q?4Zu-CCi(oH~D-h8{21Wxo^afwG%JAGn^)} z(<+-OV=rSW6B)%p3&gz*uUnZ!{r27CeuYF|rMaByEgt_`>@Jt)#d zr+S0;qRXY5Z|~CzDSb4R-g@xt#_kROj{!ede$xNsA^Lbv<_WD^Fs+n_RDFs=N_5KO zZu~-sR;Z=iRa*Kl*S=UZ#m>H;Vw?bf zDnASV8~!}EOO*tbVU^l$J+A()Y`@3nVyEbSGj3>YKHhiU4BaT%4EWu)sj^?PKelJM z@36nJZ?mp&X%dGR*AiD0_X)22C7qkM(~~mnRV^O+BjceGRr0Y324>P6l2Brn_s(Jc zlF_$_ulL^Ex+Qyy`BvpUZfVJ`TT6jkx813Z`8^{}l%9(=DKp3}CMYI%CUhp{N96n2 zM%b3xe)}E#Tk?k44ec+cUw+W$(ke)FC1oX1B{3$^OXT^tf9U!t`&0A9(2Iq7s*gXW zv!>&w`RWxu?tbc!c`iLDV|y=9M(10^mlPT3^Jh{d(z;G~e#2-0h(+x|e-#g)aK;$h||=K!(O(!f>XLm9NpE;a^=s6~b+T zy;Fo0^%=w&C{z}eG*wlVw^aBO2D7+R@8!&9grxN*Y>7uES;8subTVJ*;bzwiCzLRedfNQG)5oII^pO>V&239fWA3_y$D?=3KSw{iO~;fh@QgG-@HY8v zda`(~lQHqJd&4Q?FU^y?8}b9x$Q$L1fasK%YrEV zWF0W%ZbrVwIbTXx8=+q_c`#{|Mqc!lhkE+9GRc$HLSst9DuR-WESF=ivR`4k7=4-R z3fsl_7tw`5`RR1O=swXJ)8^92&`yZ+h=)qDJgblx5YPL$SI<#DZTQA;WCmwCX$Faq zu~rxp{H`?f((c(zz)Vm>hka~$-zCMmu(ze+WE*!;a?0`t56qZ{n9Di#JwMsB_^F=s zmi3NPX7OD`N5~e*@KxQc`c_iJ1bg7AcQDA>3cFR2ICi(9Vy6k!Jjz}$;AMjnoUUH< z6f!Y2B7RvpvWBRkQ=xURncw5unc#T2{?e}K+0_UNhEtMbt6796zSA`-p*RY@C$KMkcCpZUW+jRdw*cL-JM5Gg%THCG!}eW2@{Z@DhM__6jI2|ao1{T7E7 zAusCv<2M9{pTeZ;Tar`;RhrXvRrl4mV~k_q*(AB`nJ20@HQ1pmS|czMO$`k;-S`0r z*S)8*@t1gey!+=ZwUgZqC2m$RE>LiXJEG^V)e2pXcM+U$^0iA`m-M4)hI(BD<+Q|jxSz5~DdEpR@b!z-(t!J%O5>tt$W>(AE6a1D40EOKquv0cYVk8*9e ze|s|=P4Y?p`7B^#^oA zo_(}Xh^EHw+P2BPw=2sz@gnoI{j%AES2YkW;KV;ws0=e+@9RwfzCIUa=3E1aru>}$?oPWmB!)z#`A|@pTeybST z8yQ(UnA$i#`0;cV9ID?;Rnt*ZPL|iu#){S8rOgW?R#z)q%q|dqS6=YZ%E-}x#?{Kw z+JV zHrSOP^DVEUnX8edrns3EXdZA5!KYm8{C~FpU)KD4#=m>2IT+cC*;s)c9R>ew-?N?n zbLIcMhl>f2jY)^hR%$@&7OZ;u-Ki`6O79`+j`{$Vn5>WSjc7{NN zAyVQZs;*e5u}hV5+vAPv@pnaO#iVX3f0)lmaqaez<~Qrjm@=~s?X60EJ|ovfBllJN z<8v~`HfaenVIv0dw2-@EFGo8LPU1~+2Lu;ZonmHUs`>>-OsaI#t9GMKPPcV+UA))4 zH7j}>0?2RfoVNDoYFo92v6Nbm@n$O}zpIJTz_~6A!2pq;yF$M4-D;?? zp6H`^-1bP(i(e6sch(!JNe?<1Rni9i*{W|-Ak2EwCOy-tnrD$lQMa~5{ybS4gfLXB zUz>@WuM$!Y~axsO? z`8HH8V*KHj+b8?)%YE5a{W)6uaW57-6Z=c8Mqce2(4BR*w}c^ACRDdrPB(>44R0~2 z7fVum_U?>2D0u9SxuB>|_udO^{$lUXQe#>fuc`=T(tt1G-kP}+=Q@4KqBB9{ah%;q z`oUI@0xFOXoo`dU|G;sfN1m_ks^H#aC(82gO9$~i!tEw;?{#1QaZPBjM?r}4m6i*7 zbVzW2_T~U>a_1&^0kr%GZdp!v?v~X1la6TUdCo!o#@!Yu2T-YDi7=P3r)96f#YL1J zAMZ|B*OWUf40|1-Otx1BuI)&9C2t6w9yw%d6{Rt9gs|xex;eD$5|S|ILrcud?I%3e z1hO^q;*R$h;#q?!Jh!@>2MylOaa(sKN$hk@R^Qz#YK8Ki66nY|`-y!A~k z;!!QxQ}dT?QBR8sjar9I;ysP^Uak9O9@_l;aKrg%y|KbUE{3}+iqmQtu5opxKbO5E zCiAE*nrnn9ukwY}aPebQI&X~oa%O3V;2}=^t^SAH!CYsrcc$>LXi(iJ(Yg$!_>%RY<`hgNU-46<&5^#@Zk$JdT zeTa6z63rDPpd&CQ&^UOtUQenWL?tl#ltB^ZHWv!-lXi03n|cqcQav4&IXyW>Z4c-n zP7m@<3&G>)->X(wHdwsmkD407z_zjd5F&1}pIn)sf|oZ4$IF*EwPZ?f3?tNn#WGUSi+eNdH~?QXJt zV>8~(;jFOXfLx`O_o6{~j7((=zfG0G)%vp3He`*n(en4CzGZI9lnpIa)^Qxqs+QAh4YDFi^rNO31sKF~W@EtKPeY zVG6sSHyHgDnZ7_HiBAG~=5G(MAiRzbLJqChT2KYUvuMdJt!>CGlx6orF z0m+%VRY(V=-`rDgZ;nD1>O}kCFg_zvg{;jC3MZk=XhvAk4-QjJm||37X|9%9Yd9Ms zlHFujf)qA;Lc*%E2+iXNlN!^muOe>9Dr=p8b@mXlgomN-z0(EGC@9x6Ntg(kMzWT) zyN|v-LRQ3J7-6#pRpYp=wa^VQyMirWlEEiCV|uW?ViHxKBGQSN@T%Yw>^m7Lf`c(N zP3VeZ9J@&%lR_>JnQV-Q5{v`lKHKyKjw?OV8p3$9SjX&9A)aZTPWhAF#F6dtN9rSL z5d6D;g0~_zW|-sHnGfI^&sWPsX`Wa>Iz)pvtYEsO&X! zp(Xm2avS@--HBQ+mgReBmS+O_+IvG&9zUxuVJO}!s^Ea>+*MHUli!Aj2qZs;xs&PS z@@7P5tE9`rqh+?c3fx_j(+XDZ`b)qF4ApuIxv9=toK~^L!tbINz9@TIuTio|T`w4E z2H_$Lsxt3{tUNswavrnuhC}6hhm$i$3Am#0s7f=o#Z|_iKH`S?!{y$@Zqqbav1D~v zSD?b|xk{wXY)cymZaEE6WhaF-um5fGpDYQN#0~`2XT;HKJxSgbB$Lakwn`T|dNWnV z9NepqHe`1B$(=MZwV&tG?XwWvUb@WxutGUi8kc~7n2Y(hX*3jWKS7hrwpv)F?#J@} z_{N`5!61dbWO2e^jO#=Qb6-kDU+QpoFG@3A+07v4*0d+k5AAuQ@b~=BX}+RaGXCx* z4Dn^ad9gPBX_}Vt!Wkc3Z&IN7`dDCJ&ByBR4m3W(#Mp1+7()KpQ8e<&IYK!DS}d3ALP^$BFC5 z3PWlR6&h^{ zQYC9eYDKZ;ihJaXu8?yMmf6kNtJ3bie`?XM37*3$as}=nlA>4R8AW zUI?us;~{GAqbcMh@zK#PflRZ1jbNW32zMoz%qPxm{tjuNYe{Ww_M^K9#1pAGBv_a;3P>5qi+`tGg|=y~6-WOK?(Omz*r zCUo>@>I$zsvrbuOY^McE$`L)vGx5y>rvDM?wDO>mHBMiM4d*_u)AFpKMOEpF&dC$E zjh6`PmJmkkK0w_|EuQ;x;m0r{-PX?|3w;`TPAl)OQKJPtSd?l7Pon4BqUq69ySk@_ zEd!&6O>mIhee^!rjK9RTT5dQFauSVqq|T!Y_hrKFUFDe#e#>P|KZRQ${s!*~k*+X7 z`&tQS`EeCVygsGPSvX42$8LE90&d#+X25CGP8e0d)cR{5i)KanmBE5!3zQ}Xvn?@6 z(8xS4o(g+t*ki+nGWgxysnb&jkV@fF_YtL_^Q68#D0hk)N@Xo}Mh)X0Qn-xTl`h12 z%tuN%gMK4YLJ&#;FdhoR5Ks8&v4OY|+%T{NpK$VWHHq*x!gN&jKo!!b- zQ^`G!XgS`QVbuE3QaaW7{i>mWh~ zUJ!p?l5&C(+#zF1W~FC&s4xdQ9b+S!K#&YSBv8W0+-#&YH(EK*Y#X1#)~DHEeY#%c z%d))1XjuW{J-1vbw*!hdlx}a%pYns?Q`2c$l4Pt}g1clBNj0-ZTZ>)J$J+z%y{0UV z+CnvS%`gdE)p`SYe~E<#*Y$%2avNDexkZmFKjp8IodnjL9Aq=PrWz`>e#MhF%eN1G zsAf;BRBk^vS+tx`z&EUytEEe-ksolD#nA*)`4*RMWjvJ}lZm` zkS>USTD0~OeT@F`;Vy!`o%;uI2mvzVzC=$oDYNEviljTrWR5aC88r?QJD5e+q}#8PD3?WhVuwsUw%T_f!cIRFoCte0f~h6Y58~mAY*jYdixA1dQ@2OSF>Ph{--Y95~+=iVZhr;))kA7Pkd(h=v}d_O$mbsTmGTqK_SsrjsYW?nH^$d1F5iGt@lkbrxGYVt6iUFypyNFsd?`r?_I z1@SGuc-_6bu0`tKE4U~S=`5LX?QDk>37^hyBg$V>g!1AGH|}Yg7C}znwQ`+NF>y*_|Mg{@^V5n;wB%X?pG}9s1C(pNV5@ z6$INv{DObgUvXcMOZ%z&qjMF>IM3UK^U`(q!X;~amh+Z;D7<(n)!@SUZGHo{8I680 za2|9L!BzfucTDRD|G#d!kc`evpa~6i2%SF!x-DnzbR|co$@hPtLVYp&L~s7*MV8I zfJdozmHW1N^ivDUFNd1cIKl@j-HPPm1;;oo2d_ha z{fcBq0Te3*0Pq(51MjRm4+{DgzoRP2$mH}ayDToG-=Lx6uQuh# zIZT6(_hy2c(_1!m7bpc^l?71p^`9K9upwY9%6T;>NRK>=BS7Y|EJ9g_b$*1XdQ!dO zk2mR&$4*zsxvVdjGBHyg zq164&g%N;xlo3qgpYO0Y0DL3P>50a=fH%9>jnQ?sSBKae1rHL~ym2W5+Cc8{tW&@l zBd-D;3^q9(Wdc(DeBJAQrnecNF{FwMG)iPEuM3)jB5AU()Jof9%8yhQOUg;U&oAx5 z1K9|D`dG)WBQ}6G`isp}NX^xAGz~BkGT*{zxr5w-YQA#$Laa+%0NK+PRQjVdCjyz1 z9e-A2lOr61Vh&8d_hkm)Fw}gsjq`Rj2(qig7I`IK=p+xK-OfkZd%lHIYdssKFX}&~ zO>TC}unj3mQqHv~x(onKH#$8vJ>eGj>Ct8`P={G3N8J`;aRrziYk)e8R1bfsmQ@Bx zJjkj~Gj5AweQT=o6+4n7fN6OIk!Mz^jGl`$i7RmE5E!6LwyN^jEmaWQ|LK=;;VSoc zUAMVgq_Sijrq?fLRd036pgu9dZPTT#=QcXV3JfJzx>NlRGxT@B!-M*hu;?83KHLUG zRc5C|;A3xap1Ad5o7pUNeTM~9xgDYqZ{YM!D~p8CG49BGQ|18dpfJ$bP@un$(wMdV zRwh&{G4IpSS29(KC1umKG_Pu|qHteKgp;oT=yc50F4qpQU(4$tP~B&FPwnNJzn}2t zDgpA8I1Q8Lkh&I&MLsdgu^vO#R#%>%KL&GtC9bv`k`x9`%e@5{CA$QDbg+__Msm5$ zxTROZ*JOWV4!$DG-oSC;m)>xRMfj8a?ZvJiWL(y(4V#xKxI2lJsoWRujsPk9NX-9e zS)oM3<<8yorkI#NF;E|$=()$@I?GdeV_>dW)8r$AoX4Cryj6Z9TUjdx!2#cN*wtWE zPqi%7X5dKNauo6FlX~;%>20l^d5~Prz-KmE*$^kkha&(SiJS+W^YUO7r7KTV%Z*x3 zCaktDbUDX|T=*L>n_l=9yV&eIyFUoRqqZPX*$_7HuFzHBp29fM&Yn|XC}SsO7g~(JL;YXTg{%Pi9#z{z*3H)%Ci$8ctIAO zlF)D-Vcl@0-7Yx1nJ`q8d1s8Z-!}kmKI$;(^+cS(53FBHXCy_ zfb}iI{Ymt)nAEovSX6UEY6EFjb1k8*MY;J*y(OtD{Y9@h2BEn^%bzOd!n6rI9`5{g zS814VdR0;)XIie87m2ukt8?Bkt5gud4wBDfI~*k~iLIaah`^S`e37J{tLiH`;%HTW z!@PRF2gBgrzNa&fvJc$^l)Ea(w12 zi(uS8tmR9oMpF|;CE5{qkoS7!*;lWefo77njfUIgycpWsdfc^LBnrc-{R) zH5T!?aoq&~F3B#9_$*+3&;ma5=9L83^W|q?Ie%DSya1^C^VJ20^Km>0(3|*-EaN$56#=fACl@}`oN2BHfMqfh>GO8{@2&s$sY87K z|L*V~__shYzz={+ZP>7}x0i0_=vKLNnzYAYqdMfz-UA=u2;tepbeFYp=O0(N28+#l z>Xt*)R=j~z=&{u$X$8E@dUx1b^&z|pMCy8XdHKKDrZ6X=IGMZG{v7Ec;0sHDIS8fX zXGTR9wpLz?LjYIu;oReuyW<{j5KnyLpa_7lUq~p>HkSbjfI0YbQj)6HC@RZeap-&MLK>b2x=T#SC+-ab8 zzQCBbeK}g}+>IFS1?G0)1G%U{i@d7&@o*rP?f~Y|r>@efaxV#>;OPc>=E|}vkod?s zEh8vhCwo^35|f3oB?Z&K~*SLNA_ zz^Jvv6fA&9INC0B`s#4E=G2NwJ?G+11%PD~AU>x=qu-OY{lF}Z=5@*%fgcy2-VfKA z)}>d7qo7!*QDW)<^gPxGJm^~D>7)BK4g(oVKhVe(R??Q@nq`nl4B#0?_dd<|ok5e#ssV)te18N|4Aryg5wC4by{CRqDbjq24X5m;N3Ouf_E^3J z?Iw^}L}h3rtY7S`4q4ZLdIM&q8n5G@0CwNZ9PF;en}Vv47vq&~)?=UoVeGN4jBJcyvcZEWpnpnN;UtKs*d zva;dQuDJ@eZuT|n&~Kw&pkc3YTCI!@uLJ#54&y&xVjI0z`9176^b3*himGiOxlQF` zJK$>L#Q!4&-)1ED41-F zlg$!`4{&1h6{7Yr^OSx{ZzV(zkk@2c*r1Maptx*A@Njiz?L~Tw{U?t#7kW@kBI&%* zOpiaNwERvbyBj1PR?9CoNkdiAWbd3B`sxzeTbIbHQZ-%JKjdWmRK&#vt3MUd#Z&?}P$HViXdHsc&9C2E@z(K zgT{l|YY!#;!?#9PrtAGtN&c+%Yd=ns-OVotru|yb4P%8xd8j1{+N_L{d8gP(0G6^F zGXXUz1>ohpm37(qFHJyvW3a!xrMmL0e{#_z&aL72zJ>wFV$#-Gya;7BN@sV;f>jem z{rG1zI5-zUkpP!p#%orx&qu)5n6IdSI{&fNq4sMTzCC_si7lQ-rR}J-Jm1z~ja(VB zA4Mb975mYy=P8URfp~XSYCpvl?EYU_vqEj6%C4QiQeHFTQ#u9*Pzwn*!pVelNMe3m z22-(VYDNga4`7!4&qSSJx3+uvM%+AuT-`(k7cpe#{O%qUp-j=F%>F`Ef~&y>v@; z5fm(q$rUNswREZxa6@~m7CH)t`^&4aG9{HqiY`Ky7Z+QN^qUXBQMyk%BhPVcky;jiweZ28Rxw>iG9!{-`W$`xM^;#vn&SUyNJ87 zGCq7)+xZ2%DbWL{nI z#@Qo%o({M)78yf+CX+q^6#VTm;`OI<4CV!lzSKK6dKS-v9|H{jTz*USyu`Gd@w)b6 zIT-85uDPXcPEYgiveg{D0F`}3AR)ikZXU8&xb0yI%6|yqA~g&`?puqK>}SRh!)M`p zi3=cd{Hfflq~>Cg9U~~t^GZBU4cC3xS-q-Sh>Ou;DuA}Y{N77%k|x>exrN{4d7GbozCDHX-6Gcn){%DL z3-9A?ja|Y;0ldwqJEa4fVpdBI~Y zR6`b~01Ev&*0UEZ`f~~pxZVDtbK0<;Vi6yuK0gHj`; zg-v&gRG{Ir05T&?_0jRpNC#>cyzh}vku#swX<$BHXm6M7mk5mqEmGZIDY&!BzfLkJ?RPvP%+qz z5(4I8^dp1UW_m2to?BlsTeHpkve3}p(1_)UPEhPOhprmM6hOWDx|X}V1MKDs@An5T zNgjG|9Ucw5(?1yzgBCWR7l(<7RGIMhP4BNgCvTDwqxSwwtscY0X3oo*=}=5vD2NwN z0+#lHiLFyljI&h_%J?iRPEQU|F%Io^bqBBey$BeFO^)`~OF^d?iFj;i3A{J7MpwFQ zQ9jLH5{$fI*BFYvMBKjsryEVV(rmqrRHEejP>ayscvj z<(>yi>F9~z20X@lOidVoAa*W>4OG2sCh`DlaseizN00uPC<(I{XLsKuA56>bd5@nG zD!88JaZeo|la#=Ss?(}Fu z=%%hr_(-Egs-2N*Ei3nfeK{a--h5B#tXW5>S!+JDc;d>UQj0u9SFlatR!vsc8_eQf z(Fn9GcJ-y}N)UPTv#3LmJS6&P9tbD40}FYr$K^Dq@3z*KLR920p>t2HvVVbhZ!or> zP>p9fB@}>-l&eS+TiBlg+?VKH!fEWlZt|0Wc$=ev=M7tL=fp}lT=l-!&Km{^^q0Kb zV~X=Waoc?TenowQweDDG6G)_kK;4^PD{Rv^7ILczl^Uag_Il2GF5%{inm<-tc?0$C zeUdwej$YBaD&vJyPhZ(9v&-?Y@K2R-m|&=I{cSV9f5@13CMZ-sP0AJE5uS z3?*fl@=dtWj|vfMYNw!mm?AXMT4YUTv`;OUU%J@*3!_?A$cP?`D0mF52;C^PG!l02 z^}3i9=tf;wO$%TeZp<(RTZvXDdH)4^;5_bTVv_5S)mKj#;S4&~%8WD1{xSL2#8-XT zi!NgQfcYJ(P6RSQ5df10%pHjj?fsg8mizNVGaNjMuJsX|{>VOA4-8^zt(5>zu1%N+ysyAJSW{z5Hc=sM_bV`Vb zd&W1EyOdCN>lShpkp|6K+o-(9<=&F$((lSN66UP>tS_Boch9o&>`yg*&8e%rd)4 z_I+6?*C*LBThvSt%WH;9PWF7Cv*Y*0x&c9<%ytO@$?6O0ycxWXnP1XG z;0xZH#a1oCyOPU8j^+MIk{wr+RT{pKxqD^9q-jHRL(U$1+>xjM0aWK1fn|EEbJR+j3Z!LB zRIS(j0d<~r1*V9A<3~F=4$8REtTen~52MzjvcjH3UIX$3$b!tHMDvzbkh#jV7hzt<%*G;0Eq8la|0u3Cf{z-6f_3h}SX5K2>iU<1iQq z8*py9iCxkX^fw!c6Q?r{Se^UTZEVxrnp zDN8lM@F_%lOv7C_q+z8=N9FL=yW+(OALQVcjogK$l9P<&z`|r3@ra^} z;o#2eklMd)|2n~stB;d%KY!^~ZUi%m~#)8s3_|rMit}SmLD&b=g*_WB9 ziEZmGm;cKfknpc}u-)gs##yBlXhc0||4Zz`A=p#L5=#BA3!N`wwZ--9v9<+om?)sG zleSCzaq?fj1%yp!{UcE6)~d$Vc(IEii-V!EVv&$w5*z#!@U<0i&BKlXU6ukAjs9Gm11)KZ z#Y{p%6c{!RgXm%c{A`zzt?W7KSHFERcB&&96g>7AExz3QQ$6xMkRcyT_}dlGL^_%c zB!^gDm)cct45Z8jJ}buIr4L7qdnC4c?M>lh^sv!|TjM0 z?MJGcFX(wt27i2PzN;W~{1P)#JAuhcpkxs(+7A?_8x-lDz~EImTucrcMIHqXT+NaM z~AQPNLNwXb|t9qObLnf1Qr6_8o1$Lty@!#mfZsx=p`@jqGzc_dyuh)=(Ng2@w$ zf-6EBLen4Uh)xd%YDRhULR(@NfE-8=Q#@7J$|@6M-@85Pg{8?LdykiD3i56o><#8#e~{!#*@HYVxR>NfS$DRqBD zr7EknT~9R#2**)S_&_|$idRQDnTJ_ z1)L$z=_dg01u$jELbkOu(1kB`FQ{S4G)GZ{6qhQXRmnwTBMFjXCj(8Bi=IEAstQY; zh5fRiw1;`sfbl4B`vgDWarYpT)5sE=TNgL&Kgtwi@J?s)^p~Mds8g;u z8F|P<)BO%EB&ZtI5tfFh2|;+>DA)elj6hVUy(AE2mU2gjEI68x+DKWPQ)+E~V{vto}SbAujf1AQxY2VQ5;fZ8!5u{=Tq{h(eC` zN-VG~BfDjbMvE$sP-L>X7HTfK_6aI0LDV0PJkJX$u!@R8 zcvk4+tm^w5>dw(H55S@bh`tk^BH4bDJ+-%A+B@&9T|e}V}IdKr$>b1u`#(4HzvK`G?SIJA7uRH=I{Q> z0C?rq%Te8fakJ`~R+KX~1FIYYmHDcf$|nzX&mQ3v&W4A)0&}9t`-%%XkItg0IBl@r z;>VY=3imXm?*0?o1cBW3%69NvP8$LibaR|XbLhD|_P?wTE@fO1aNla8y8q8CY}y-( z6E)t$Ee1R4!=^ls&(Fv5eKj|up7Gkb@+R-|Sm2I}Ovd%I4N}B_6n9mv{o|RGcZVLF zyG&cu@0<@P!L>PN*vp@*v)sV{ZWtqacz&@<*MasY7V7Y~)qoTRN&%ms!xZnHYk%(n zKTu}H-2C?nI=|T=-V*$s6Xqk#3;g&c#krWX)(E!4<`Go@MK7}6&{E5xuXdrSqW?5h zgik!|>!$2RHIHaejR+s6X#ce7T+XHmUdL`>^_r2(YDv2+05qOb@RK$i|1U#4BVedt z`0QhMu}j2&?|rTU>xbQc+VcUyY-CmF$Iz62om3^jgA%u9&kGh9Zh+@cWEY)r@2tZR ytNC=QsEP!hms1ddSz(Mf5Fe$_JAe}I38`AS0Q($S9}4qFDx@Uj#o?m*um1;6r_`wc literal 0 HcmV?d00001 From e2f470ceff841c5a3163b4dc3871178e65238028 Mon Sep 17 00:00:00 2001 From: Philip Allgaier Date: Wed, 27 Jan 2021 12:35:56 +0100 Subject: [PATCH 2/8] Improve and update FAQ entry for unique ID (#16260) Co-authored-by: Franck Nijhof --- source/_faq/unique_id.markdown | 36 +++++++++++++++++++++---- source/images/faq/faq_no_unique_id.jpg | Bin 0 -> 41156 bytes 2 files changed, 31 insertions(+), 5 deletions(-) create mode 100644 source/images/faq/faq_no_unique_id.jpg diff --git a/source/_faq/unique_id.markdown b/source/_faq/unique_id.markdown index 429e9432247..954f1e8c2ed 100644 --- a/source/_faq/unique_id.markdown +++ b/source/_faq/unique_id.markdown @@ -4,10 +4,36 @@ description: "This entity does not have a unique ID?" ha_category: Configuration --- -When you see +If you try to access the configuration dialog for an entity in your Home Assistant, you might end up seeing this message: -```text -This entity does not have a unique ID, therefore its settings cannot be managed from the UI -``` +![Screenshot of popup for no unique ID](/images/faq/faq_no_unique_id.jpg) -this simply means that you can't change the `entity_id` or the friendly name from the UI. You can still use the _Customizations_ menu to customize that entity. Typically you'll see this when you create entities using YAML. +This means that this entity does not have a unique identification, e.g., a serial number or another identifier that is guaranteed to be static and never changes. As a result, the normal editing process that allows you to change various settings through the user interface (such as the entity ID, icon, friendly name, etc.) is not possible here. + +Typically, you'll see this when you create entities manually using YAML, but it can also appear if the integration that provides this entity, cannot determine a unique ID. This however is not an error, but just a limitation of the integration you use. A few selected integrations (such as [`template`](/integrations/template/) and [`mqtt`](/integrations/mqtt/)) allow the user to define a unique ID. + +### Used where? + +**Unique ID:** + +- Only internally in Home Assistant. + +**Entity ID:** + +- Entity with a unique ID: Entity ID only used as a reference, e.g., in automations or dashboards. +- Entity without a unique ID: Entity ID acts as the replacement for the non-existing unique ID plus as a reference, e.g., in automations or dashboards. + +### Can be changed? + +**Unique ID:** + +- No. It is a static identifier. + +**Entity ID:** + +- Entity with a unique ID: Entity ID can be adjusted freely (as long as it follows the format `.` and does not result in duplicates in your Home Assistant). Keep in mind that if you change the entity ID, you also need to update the references, e.g., in automations and dashboards.
+- Entity without a unique ID: Entity ID is considered a fixed, static identifier and cannot be changed. + +If your user profile has the "Advanced Mode" activated, you will also see the second paragraph in the popup with a link to the [customization user interface](/docs/configuration/customizing-devices/#customization-using-the-ui) for this specific entity, which offers some customization options. + +In case you want to read more about unique IDs, head over to this [developer documentation page](/docs/entity_registry_index/). diff --git a/source/images/faq/faq_no_unique_id.jpg b/source/images/faq/faq_no_unique_id.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0acc7c0226f00a3cafba995c4f872252efeffc74 GIT binary patch literal 41156 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

D!DaOFx;e2Ab*cE_H~8O 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 R Date: Wed, 27 Jan 2021 14:17:19 +0100 Subject: [PATCH 3/8] Add total energy, preheater and RMOT sensors to comfoconnect example (#16244) Co-authored-by: Charles Garwood --- source/_integrations/comfoconnect.markdown | 3 +++ 1 file changed, 3 insertions(+) diff --git a/source/_integrations/comfoconnect.markdown b/source/_integrations/comfoconnect.markdown index cc64779139c..6ab936ff61d 100644 --- a/source/_integrations/comfoconnect.markdown +++ b/source/_integrations/comfoconnect.markdown @@ -64,6 +64,7 @@ sensor: - air_flow_supply - bypass_state - current_humidity + - current_rmot - current_temperature - days_to_replace_filter - exhaust_fan_duty @@ -72,7 +73,9 @@ sensor: - exhaust_temperature - outside_humidity - outside_temperature + - power_total - power_usage + - preheater_power_total - preheater_power_usage - supply_fan_duty - supply_fan_speed From e5ddfee4d186266fd5596c0110223cf6e2b94f12 Mon Sep 17 00:00:00 2001 From: Philip Allgaier Date: Wed, 27 Jan 2021 14:22:56 +0100 Subject: [PATCH 4/8] Add `icon` to Gauge card (#16323) --- source/_lovelace/gauge.markdown | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/source/_lovelace/gauge.markdown b/source/_lovelace/gauge.markdown index b9d91aef58a..cea36e15830 100644 --- a/source/_lovelace/gauge.markdown +++ b/source/_lovelace/gauge.markdown @@ -7,7 +7,7 @@ description: "The Gauge card is a basic card that allows visually seeing sensor The Gauge card is a basic card that allows visually seeing sensor data.

-Screenshot of the gauge card +Screenshot of the Gauge card Screenshot of the Gauge card.

@@ -38,7 +38,12 @@ unit: required: false description: Unit of measurement given to data. type: string - default: Unit of measurement given by entity. + default: Unit of measurement given by entity +icon: + required: false + description: Overwrites icon. + type: string + default: Entity domain icon theme: required: false description: Override the used theme for this card with any loaded theme. For more information about themes, see the [frontend documentation](/integrations/frontend/). From 8381b2525616fc444202a101c126120b74ca07e8 Mon Sep 17 00:00:00 2001 From: Ian Richardson Date: Wed, 27 Jan 2021 07:38:02 -0600 Subject: [PATCH 5/8] Add actions (#16319) --- source/_lovelace/weather-forecast.markdown | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/source/_lovelace/weather-forecast.markdown b/source/_lovelace/weather-forecast.markdown index ec562aa14ca..3925f8f4712 100644 --- a/source/_lovelace/weather-forecast.markdown +++ b/source/_lovelace/weather-forecast.markdown @@ -68,6 +68,18 @@ theme: required: false description: Override the used theme for this card with any loaded theme. For more information about themes, see the [frontend documentation](/integrations/frontend/). type: string +tap_action: + required: false + description: The action taken on card tap. For more information, see the [action documentation](/lovelace/actions/#tap-action). + type: map +hold_action: + required: false + description: The action taken on card tap and hold. For more information, see the [action documentation](/lovelace/actions/#hold-action). + type: map +double_tap_action: + required: false + description: The action taken on card double-tap. For more information, see the [action documentation](/lovelace/actions/#double-tap-action). + type: map {% endconfiguration %} Example From c3f48ad176bda7f7e367053aaf066d1c1640f7ab Mon Sep 17 00:00:00 2001 From: rangulvers <5235430+rangulvers@users.noreply.github.com> Date: Wed, 27 Jan 2021 15:09:49 +0100 Subject: [PATCH 6/8] Added TS-228 Device Support (#16326) I have tested the integration with my TS-228 and QTS (4.3.6). Seems like everything is working fine and valid data is pushed to HA --- source/_integrations/qnap.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_integrations/qnap.markdown b/source/_integrations/qnap.markdown index 9eca1fa49b5..25766d1b5b0 100644 --- a/source/_integrations/qnap.markdown +++ b/source/_integrations/qnap.markdown @@ -126,6 +126,7 @@ This integration has been tested on the following devices: - TS-231P2 (QTS 4.4.2) - TS-259 Pro+ (QTS 4.2.6) +- TS-228 (QTS 4.3.6) - TS-410 (QTS 4.2.3) - TS-419 (QTS 4.2.3) - TS-451 (QTS 4.2.2) From 1ed801b1a45d07032e43ae60b0694b6b716fb601 Mon Sep 17 00:00:00 2001 From: joe248 <24720046+joe248@users.noreply.github.com> Date: Wed, 27 Jan 2021 08:43:47 -0600 Subject: [PATCH 7/8] Documentation for new foscam PTZ preset service (#15604) --- source/_integrations/foscam.markdown | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/source/_integrations/foscam.markdown b/source/_integrations/foscam.markdown index 9bd0f32b6a4..08e200b0879 100644 --- a/source/_integrations/foscam.markdown +++ b/source/_integrations/foscam.markdown @@ -34,6 +34,15 @@ If your Foscam camera supports PTZ, you will be able to pan or tilt your camera. | `movement` | Direction of the movement. Allowed values: `up`, `down`, `left`, `right`, `top_left`, `top_right`, `bottom_left`, `bottom_right` | | `travel_time` | (Optional) Travel time in seconds. Allowed values: float from 0 to 1. Default: 0.125 | +### Service `foscam.ptz_preset` + +If your Foscam camera supports PTZ presets, you will be able to move the camera to a predefined preset using the preset name. + +| Service data attribute | Description | +| -----------------------| ----------- | +| `entity_id` | String or list of strings that point at `entity_id`s of cameras. Use `entity_id: all` to target all. | +| `preset_name` | The name of the preset to move to. Presets can be created from within the official Foscam apps. | + ### Example card with controls

From 31174faacd272fa2c79fde35ff0a766028d349e9 Mon Sep 17 00:00:00 2001 From: Dennis Schroer Date: Wed, 27 Jan 2021 15:54:01 +0100 Subject: [PATCH 8/8] Add documentation for Huisbaasje integration (#15678) Co-authored-by: Franck Nijhof --- source/_integrations/huisbaasje.markdown | 35 ++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 source/_integrations/huisbaasje.markdown diff --git a/source/_integrations/huisbaasje.markdown b/source/_integrations/huisbaasje.markdown new file mode 100644 index 00000000000..ccfeca817af --- /dev/null +++ b/source/_integrations/huisbaasje.markdown @@ -0,0 +1,35 @@ +--- +title: Huisbaasje +description: Instructions on how to integrate Huisbaasje with Home Assistant. +ha_category: + - Sensor + - Energy +ha_release: 2021.2 +ha_iot_class: Cloud Polling +ha_config_flow: true +ha_codeowners: + - '@denniss17' +ha_domain: huisbaasje +--- + +The Huisbaasje integrations allows you to track your energy consumption collected +by the monitoring device installed on your energy meters. + +## Configuration + +Menu: **Configuration** -> **Integrations**. + +Click on the `+` sign to add an integration and click on **Huisbaasje**. +Log in using your Huisbaasje account. After finishing, the Huisbaasje integration +will be available. + +## Sensors + +This integration provides the following sensors: + +- Current power usage +- Current power consumption from the grid, for both normal and off-peak time periods. +- Current power return to the grid, for both normal and off-peak time periods. +- Total energy used today +- Current gas usage +- Total gas used today