From a66d57c490121d6def5e4a415fa1aa383b275548 Mon Sep 17 00:00:00 2001
From: Zach
-
-
?ocU+(SNPH$`K+4qf{$sMwzDi|9kFE#s!ul*7Uc z(E)0vN&HqnHe;&a@0}Ib-d|vjG~0ej&L6##cGKXk4NG`q&kjQud)blv&$wORejv+> zQSBYqir~woiS3d>3E>y3*q=@gKIa?yfebi^`Z=S`zT8zy33g_o0hU^g#ixtNB3gC) z^DiFU_G*hL##Z(fvBTXRPNNOk>YrV?o0(Wgnct0 zAPC)g1K~k0TBeW7*RTAEb&n{T?eDlCK)($=FY{h39W=CW=Q{?bx#=^n&=i=`3c7Q@ z>*nnl(BAnHJZRq#rfF|yiR<@pD^QVGD6{jynG{`pkG4oA;2eSHzW$IhrjeBHxM9kU z?dtnSb|W1K2@QCE^$Xeb{ 1LG^2~>;%CX+#=r#VqSF)AY4n^Z* zsj)wmNoi2G$+^du3OL`o3%Fw?xxwWp;zC7aQuRO@@Nq=A_uEYxTtl4?H{~B*9DS#| zPZc7@x#JbwX|}Q-FOK1t|E$Enp2r@vFI2|=3=)jjYe7rE-3r7$BK&lJ3-UOlqb%r` zg&@wUwdfy3l-<+q$vA58Jg)^}oc}vj5L6-&1fw9j*PpgYBu`@x6yn^F^@;RBAxIGK zR7pL&Ygo9KT^9(RDgi(c1y-yjr9*fWjkBxqP4x4kvBU6s$5O0(!cyI$v@R6v7M@jt zbRdrzBMmSWv5MC0YM*gLDFM4Ga>=7}!0?Lr4RNrdOd;m<;rbnEaFvJ?<&MoZY7I=r zNTNwG^&ng6iO?5|@jWbtOv!(N6Q;qlG@5X}f&{Ox%}9Ju!KXB!%@R |LjobPw%XR*={0-c61s0^?zYph@daKuxnLI{`yoe_4K?c=&7 z&e}-H^eOjac%{TgcmhPTSHDEd7a_? -z>T_D|P%85HWphI= WR8AK z^1S-^;j3QDeCv3uf_rSq&sRzw#Rn-aia%L1A`)LB3Fk0lbCwFp28=Nw$?JR%j=b`7 z?**Wd1ikD+j31wVx3?{N1e$p7c`0Qll+l{vhPvTI)a)JWIUIsP^o@Ml-`>|MQ&*W4 z+3enq*HY}ocs!lR&jM3Qi&D-}fEgl*5a!Mn%$3I`T~vEks%t7PtFq eC<3T8phFjNmEfjSQ0G zvk7E`&Cy1OAwWj0sc=!u*Ne?vLSM1IQS%zS32oeJtr;z>(Ko>phr8zx04d{LpFr}) z{(u2h3*Nk)5Vy;!6jv+>jn>L+L@eBt2i-cHXkGSdQSL2@aMqX}23`G`$os@HsNxXa4-fP;!t@)eH*0%f93b#wie5tW$9veo?TU%-wg;#VnScCrss zDvJO|6L3p_r{hd+C4TV GhC}sMb$$ zIs)o_%E8_0)&+d1icX@OrIh@REB|6SDL8X;wJfMvsb29OT$5emwo{j;PoH|TTy{T7 zsS<(T^+8+RyfuXJ{s~%B_y&?Alm$k9AGAk?CvhZM*{iOJNl#EEpIxbN1IEQ3kKF=1 zz&gO6^_J1ppnv|1lVRJEx#a(-hK-=R=p-2qp}pmRCFK%Whe6{WK0)_+OPBF?1&c>Z zN!J&Tc=%TOL@(MB8=EomTEUPs&;WBARZ*MZ2rkgR#(U5mUl>=yzu-ojX@GG9*vZB# zgS#-qc;u>VUEs>o@GGwU=Vwb59FTLXkZX>K2(g#cyLu3qnv0{o7wqW$ujCp0LGgzj zb=ym=W^hSw5!OMu_N~BsC2Demqp$VWbYuTwG#a&+Bp=pSj>ML*n`#3tjo((V{wMb; zV*CwcE<^FU&F*5!N2Ja!t<}ts{ox9s^{Ts3Hf!&S2M6pvLle&Zaa!`y7 Qn4`S0QzU&IXp%yE9Y<9xTdkM41{BvDaO?KkSrD{OJt zLHk+w-ySIgV{C8zLw;$|ge%II);NJHIZuB!Fwv^pNFNVWU~o?s;4kf`YK%TyI2Go& zH@YdtWVfi_S98N)mWwp5M1?yr_${-cGg3O(47KX^7cqqw8kiHHzoZk#hV1g=(aM z^;7+|pBVV6NOWJE)hRV;D%wgXQ98tkJpYb1ZYwWM-tGU=I9$@qGsQACm9jGi(nFZh z<3*V}ivyGu8x1{`8VD=moF{@cckxWli6RVxX&MoPcH|OyAiz4}_537Rfd3?`=0ZFZ z0~EISPj7f%T7=}y+U(-;Ze2Z6f|M1%OwF%GdXAzh$0DTKe_uBH=$JkqD!JEj?UfaY zv@=gBemjS;ProI!8og1rG SL~0-O3tqs?dX09_TI0g-LbF zOHUOx7@i!e$!0(kdoz2@-oG(D?);cTQJALfYfTtJvTpdJ{7`fJqPZ{4M0dcOXv?l} z*^2iZD?pUA!qhnL{(uzR(sGUnV3PihkM|3wTC6#ay6tq&Mh4xUD#wMR;x822-~v#% zh-veS@QDII=~^w+QrnH)e(q+kYBmF1=?*5N*0wHVeT%6l9spitk?Z}a?mmVuCjEVM z4Jr{Q?^ae_6R*bYF~p&z5_uHlP{=hvo+Lk43 Cd4$Y(Vq7w>}Rbez!3 z#IrKGxQ;Rl!W_`&SQ`)?RCJnRKx7(0Rw|=yX&qFMajv7<_~RWJ@TFL9_-XV^LrXH& z+)x>F`svZX>-a?872wtw+Va|^E8eR{+Z;um*`;`TWq|1us=CPuq;i(@YQAj*`0|R^ zJYbc_`wj7ZJt#NxS|x43|Gt612;zXO;8#V8A?WxyINEx(N6TQx9%UwhbG~8EfWBYg z?c{7m3@%UTjPYfhebfG!v6vuDeo9OW+-bAebP!^iBw61!OnQn*uE{lv33=}-T|>$$ z-s~pQOg|C?WVR*z<~Sc+YJRGcDlroPHRia$v8U`xG~PT=wdbg!G%T2Eye~UHE_|IF z=C8L2R4^YFuK!X>`vVp$+mHA6CH~)!3yv>$Y2&`+3ne>oNEDMvUDZP#Zv`g&Wn1;k zgC{jSE3!0}N^|3=Ik%FI?~Yoy7*vZlmZ0+SX58G-Q~I$k0i>S`{25`?B=ZIYRZ8i{ z_1x&Vrcz0}OHzj{gRzBW>CrbpB>;GJ%G>@iZf8cPA;5u;X#e4?o*Mqmw4*U{>$4 L!KF=WCv6ze; z6(*@CrQ>H7QIDPKem1SAa-ykfSz&8o_A!5yiwNyV>T!9xf8EQ>kj=m;cBOVK3%ot$ zEAsj6?UkXR11|~wI>AIN0Lu6}DT%B=t@ii{+<1?1rPsEhwTc 4n;7JV^jUH(lJ4*rNjA&mDa 0f zervcsF?=OcOPcrB1iRj1vUTexlmnLV6b#RaclguKAQ&EDYYgd393T2+%)!9glYq$} zXx`Anzy@RK^-pyiPjhq2ycklWn2`x-!=~=VKWbhcQ*JV(omS#6`V$_SJp1@CWVn0h z6t_LoZARs-)IqFC+S6r`_kexoG3fA-{FJHUO!yKFE#LO0I??k}nXO@79nzBsQS(3w zY-5jA`5`A*)8H3z1)j$2v{rq@S-%+@aScT9sy`7oyrSVy@1F%4MAscSs7D3Z5{ile zJYYoeWzKe&kYH`g-pPZa*Kt0}i=$2Qb_*;Eu!uNf1|xVR>&Df(;zE;?Mir2P6&==@ zT`ixU7$7s|@d1ZNMK6dCb$rD2fayJ-$(JG#`O;*!)t1p>k{BXOpb~EdmGxEyT=uM_ z!CSVCDa&2^a2?vj{e>w@+U#a099}SKuZ{@tv-Kf@Y-Km0GKK;PK7%-))eI5+g1IRS zHmVw`1us-4P*~Uu< B_C Y}~836!pyC`VfT{Tcbc*DZL=kha?F{B4i1D&jSm4Ij#!z^KU$y z i6xVzD^{mRF$2K^1~hXn()4HiR0ob1=sJ zB0@=byP({5HI9Yqj1H5qJS(i8Kav@y3H*Sq?yW_?izIIZuEeGIbH;<6l`(m9jGT@0 zfnedkie8FTQdud#ZMsi)noV}}AZ4~Mj9+q5n@a?d^NJp#HOMi4{7n||9k+HYW+*s< zc`z$AqLr|?362gNPVBq|lKn>wwCfQeqRA=VMl{Jt-SWef5&V|Os(7SvPS&>6`s^b| zl2 QpP!KFqLceAU|ggU$_8G@)>;c3(QF?_<%GZ)s8=1$K`gN(1#3MsA(4 z7;SNV%~G{-+^~=tHTzJ#?DtKBY8D+QNpqy+dAsw7@6Gqa5j`(uBA}X&GHLHjIqXel z;6~Sst~8+C62E<3?@kPgzoxGvWd-}qcI%e2CMCNoUX?Du @9fZ7~U@h9WCDx! {Fl)n8N0RYGZ6IUVkXdrcc7qe$sEom>n!dOvh||_*?rrZvRh5Fg@NF_HKVte=Rk% zL0(y;-lcx*atMiEcHl)RvA#C*{M}Z64F#zfhlAgy2(G7PCzVSG0X8GcpR~kxx1Y#P zc77>x#pW$`eLkasKVqTG2z#D4;>#LrSeCyWi#QBcea`VN5`#HCK~8M%rb)ASYnG@I zm4}hUG11**$zx&9(azT|KulC&(lCb;*K;m4v?|-LUSP=8zFRW*vTfq5;k1C`eExyB z1h;WkH*=2nmQsG5^kpsxZQ`AS29*9Lx6nx`lt{KGbYeg$15w2ouke%5Tc$Kd1uIaJ zHe1_JHI7B@oVPj6cNAkR#o+nfS>bt_Tc(!ZkW%AAyGVEW6E7CJl)(s_T~%dXhjs;2 zB6O$zH813myW`9U{t;vjwYW(nn&20nMd<*{fw8fkW|-YeLoo>5?}^Sa2fIv#=T6f^ zOX;3Z6EP+7V>PiE`>H-o$?wP*kF;^@*lHbU%}ILO!dK3euljO zetyHs6=(0&ElqLr9l-i?!dtqt^-L-$-bZ<^DW3b5*6c9eC*8h4 @FLYa|FCN|Su+FKR `=o*xq)sg66gb? *FMc0cBGO^7CZ5m)6gEDp79}N)L|XaLtA~G?(gu8>~#-=zva99G3@hM z993CQEf)0iX-zs2QYluTACpG{ew$7Rtsu50+`O6`8wTr=^U(%jXvj&nG_heW`3k(( zT)?^t2Zkkg%)fgiozW=z@EZCsKV^aKjMmB)&($*;SJ7%okN&E$3qEf~{LpCAf(X+X z4%GS~whmVXw-cy8yOnx&_*xg>gQy;=WXYmj4JxrJ-AO@-P#39QB2SisJr#wBRh>L3 z68}>~ZPN=Q=HAE2ZZSFE`-^IiP!M+c xVZe%SNu6ZIAFZfQD5qs zqe~3vj1^ k6RnQV?VwxAuUD0^1Kog^qB$AK|`KF9=RXB>pkJyYC9h?I^DTk zWBnBd>0 zOC^l#wHFBw?D$ZnXExG|`v4wiTw^IzKGd(4;#&ER%pDM2kM8{ReTY$|yP{lak1AvK zG gNzu(Br)o7AR0rk z=U{VLcP)ojy*1 Ljwae;y62wA%i8>S_@q zhe-BA;yRI`++m7eb;8ycY9Sc~vCjsW!BtyNrInTNH#ND@>HTIsTFb44_8uxhV9|tz z!aGoMvG7*LWVk9w3=yO^JtDkiEYOcBBs=thQbdRwnvkBjc+Pc!@tc-S%&JX~D`d3U zX4hd}|EzCe9&H1QA<%N|4%<&kZ<_|k)m9OZo>VDtzTDV(+bUn|kk9DK;aZ2`E(2cH z@ev-o58W)}1!|$cB_RFVpSn9=SpFbfIOIW`u)#=+zdmAnxJnS9^yUBxyhWL}%1zYS zE}0t3RF6yTaeVSKleCFv7>1h9+GO-|7YG8a(bfJWN#KYuM*a#vP}uuD)LilgnClLT zsd 4)Am;7xQK$G!@*RPJUbpaD(W#%rfP z)Q0Oxqvm|#4KQ}XuF)%#cYmjK7+B8iXi>CmU-4X!a)p;Oe)5sRlPYG3oju~S(}vvl z%`5o@{}{*j<9XrKf~2W%P!ruBx3 2a;SZKAwZo5j?< wf#ys<~~fwUWLL(dW8$}FNTIUZDPs3mm6!15s|j3;=aPq<_XbHvvuwIn9lO*F~# z^b4UI`0x#u8CB?WQUJ=Re2$eo`L)b-CTGLwIbB`j5>M3vuA$B?=yBDee{}RiK3E!D zSgvOK%H)Cw7`9Owko%#I;?&t;RXW`Lvi>P^JBVETz~Oj(ai&)$!K4!ul$Fibv%2(m zLiNKRPk6Ti+nHhJ_ClV)kZqG+f~U9^Ns=T*3~#y~GxpKeon>a`k}OO%5+H)SdD18J z#YIUsVa!h+t-KY7|Fr@dehAv`{jf|p`$QNakQC%;8wflGE><4rjy=Ub0bh1oe)Z#Z zQ9Uc3dc3RDfGL!}5US-yJo^pA-Fk>&V=`U8` kp*PaO_9!-%gKlY2Y% z_3n?aKWVMxXKSb!?uCqrc6O*eU6dfuj8=K^ZgI3X3J(1d4>HCa_!YF7-N*EFckMI0 z?4K_5* ZP~?yEKF5x)G6I1y-Gv36*9R8WUj0*=8`1G6;kjfony&s|!x!IfdyIh| zL+kPsH9=XkO9pBJ+ZVx;Bwb`$KjrS8I8*zBNH6FS=+%RRLhB`-JAePxI|@tV
J(Sl2}Im(b@8@wZ)J3i3gcFF$fL~Y)7&Uy zqN0bC+u~cWOb+anUriAufe7&uK%ItOB2T)UBKVsiWD^vLJ)gCrH=KX*f6=M0Xf_>b zmI$^0W@H6X*Ht23W_0AnXBD7ZlzTgFcWx-fEbD47bWImH$UJe@nY+=-f#D+uvuMTO z`GCad7@PD4IK-2)AlNTaDnHcr5YlhNx5#CAep>sh#%o}HamP)ODaQ@#?O}r9vYAce z(|KCx99Ssw&wU$IK5YlhlU#0SU*jtk3Q}{zdhk2=8_b-3+TwtCGw5fYT(yuNKX`+C z_Yz&EbbU~u)?%LH5DApHk(7e5ymUT$ ;x9rPP1Iwo@|Bt)uIi~O|j=O_MXbhnuz_Y2YRug zqY6>2#Pe=jzE2+j>3s)?iyP^#Yl|ins-~VvVBtb5hmsn~2gerwO!8%h(F)ujhCY6R zAROxrL^8c?_f@8NRwFpsit^J_98{vk@7Q@^tS;*nn)v3O78+AtUpnbVJ5z7#k>=x* zM}8}Z`y`fmDT#bjp+;E#%N~2z57Tbbz$p6M2z{M4uLZnFq9=B-p0#m8{B!jaF=5}S z1wM0;O{$|uM_l_C$Z{Fv4I}XnHBZ8T;S>i9{r)U4g#t82`Pn*SOgpg6W?O*a?k~OL zWbez=N;_Mt3^EVV$~L0&gbt4a3Iy$L;> XX|<$M$eNk!*R | AQ{6IbT!%L0j`yGJ@C%!V|`jpW?N8$nF zy>Aw%lwx6qmF!#T_#Ep(tY?gk7QW6B`&x+$6OI;t$)Z3kLmv554fRWmx+AGn$@H3+ z$*_Q=>jPI9^}embJc7Ncyw_>(2VMEKza9DK2l8A?2U*89RvP_hmA(als2g;^p3ts2 z#^g2xKX2SLj@%X!Hv;6;IIP(u=`H9t6kF$rl_hGhp$M^_PLw~krmzs?+iWX6UQ82h zJyP0HqKmBp+WG6>EIUSeHBOBvD=RmQw)x&=1wbZZ*BwF~z|E2*Bi!-Pz%%8zm(bUu z$lVGXnsq{#Bkq==VG6sn_8WV>KT05m)kKY|8j85t7WKmlS3=w@TEu&{5w<$(*m?EV z{%?=2jYLm7T66t|ChI=DoOl)`J0fMJh2F%`xBrya<})U7U`P2$31B>x@V_Jtw_mMI zZWI(Z#yRa}f_b_+Nb_PNc%EEeTBsQ$fs($KfhfL^vl0ySo~6KZdfguaGmsXl%3a=~ zVLG29Gq0&XlehU3<0e3_O!>W)=pWWce
DhKJokh6Va=NR;V5xRBOdqPnhg`fxe1lAuG);S zd04PdN{KtK%>9HL$Cfp*2w46m`BNCgftwvx&ow<2iCF$Z8fC*Zn$Y_fqTHr^6A)}< zu^EVMhW(Eukd+1IkuZ0o=okIU43uY<9P#}4Pwx!)COCHLB|(#VS-TE$fOolK!m$U& z&um5o#R7!tBtU4K`59lsY0xh^PyRq@wt5s!!iqAxK7T10!30ah>->)^!L z{1 d-aQ59mi 08$eo$2xS^=lRXcfH*&e2`H>~qd>jFY4vdBc z=8lqr8YRbQ8LG0<6Ug&?kBbuKTD1Q|5YW&@XY=_~NM?rr4t&} LkVd#4Tvbe@26? pbf~-C!KI~@;Dj(ZQ8lvVYw65Sr~>F9q!Lh|CvD* zO3zO NyeyPfW7i%VjL5tbgviV z#FwdwnJ;v2xwaJ=dJ5{cG6!i-8WHUP_?s#2&AFE st+W7Smk7Gd_pQi4Qk*8 zvR#M!pd@U^4qGZRqV^LUL%1kd4B|BBLO=ucS3UN9?|-Uu=|-ZivkhC=)et-;K|P6c zoo@%H;KSt{=e;+^5>aRTj{I~;v-`6nf~>-0r$MG|n<)ku%p|{vI|*g|HnS1A5j#M! z{sk2H_7GG^B7X4DHBo-Jr@8tMLB0i*$ZvrfhF|prcop^U-3{h91L221ulrAZ^2Hqe zMgsZ+*K0_xz@EO@3;u(ZzNXb6!fq0}QGhK)L~JqIRe|CC6^?--tkZWc6#M%eeK1ND zK#(5BGSVMH1!|x%DVbEk5 zJtJ6CQW9ux0%iIc*>M$5&L`!2 RBihVT-1!-wMBsAHo48JtGxA7?gE_U6KDyG*58d@4$RbAV=JN~(ve zR45`=fH1xFh6ao_s~Vv}o$K*^Txap1y^kJe+{ -Mf}yI+w0rIKr8VKZ{zhjfK7j ztCC9cfZKA@*bYVCwmeyp{YT}Yqn=mhYUfJOpMUf-8Vd1hAbm|TZ)oVcRVevS)jmr8 zq~dddqpTX@AsL99e56&W&~c=ma%TCAHpml*g`x{RygjA&qkQZi?dH$XuLhY!CbU2N z${DrFldE{WDj;;v?;%3Y bChxccde(h+pp21Gq9{ukYNg(&n zxG6E!6-Np@pXn;ceo%K4SIv3Nxs)I;^G`I4P_v z!RM>I5gTd+B>0+vRqwzf7>D~j|BLL%2vQ|hjr=v$HJ<;(Ns%?q2y;XK)ph&D(_QRg zU&X^0&7`hBF=yRlSMvY6>F6}boW@LA?xczxsH`CwKn4Wpypq35`xE`pfDrD+w&ss^ zIkbrrN}z>BA3L^F=f?d{8?H|Qo}&?*78j^z=|-4mR@vjjk#Fw(Op6gL$hM2x7&_K7 z9SaRu(m9izcqPSc;@co}{8@7n2GGoYtO2da{}KikVsTXi9A9m^tf*igTc0ex`_%zz zj|fGZ0S+IybZtD+RN#r~NUV`$`*APy2dm%Zu25%!7qwsS&dwnY%hUfE*ep)7&~c++ z8oc0`G0hEVQ`VCHFv5fo+M?&+L&v%n4UX*K4&X6>qXF$wbg(&q%=g8wTBxqQX9GB; z5|kHxY%}Bk@*`oO&rm2MfImdqhMiq_`v!uwaiW;~pCLYEi|gq;-=Bo0Ym~kNJ8*|@ zSYe)L?w)@@Pn?I73A)$mwJZ#0^5T>~d%=WVOGASu{oe!SfMHgZ$q1ZXk5&EFqKUzL zh4RURuZjHAbt@-#deg@APs*okfsU9BwPvhEkUH8JfXe$EeOaN qUx{TrJ)K z1GFj&pa^pvIBgYnP<9j74YufFHj~n&SQ}uHW7O4KSuk9q{~uPJ*gvXCo-$njBTOqN z$U~@-TqGL8W}L)Sm12gX)<;^y`lolj1ZHApF}KCa>qx)lLQAwiamyEB%ylXKU$Q8P z8zP{#P~qGVYW~lnp5xO1zBzXAGpAs<(A^@Pok1v-qvD!^VKza?tAF6-fMvD@RpJ$q zVRrNV!-IiV@yJ(K8nL#dUrpd>+tmTI7t`@Qx>?$Uo&Vi&5BF!TW^BC<=#xyrZy?dD z1(!q3Q}}EVM6w@g%dK1}TbK!GYkzALQX8pOk(r&iF^>;<1sKi|g#70U4BcHC;^v0= zpQG-`u~D l0rS)`|V`mzqtBQO9EAHQ}`we+D8v!EZ<(|u5_H_DzSwu=_> zpQ|)HlrYMi8|1HRWV uHB`|WpdCqvUBi7caNPQ?Cw58 z;DB+rkeB!FTenPH6#?Co7_{0#=fzic1hXyaaN(#`Nxz}}h!ek{P4Q`bwlF{gYCoE% zF^^*8qJ2tIu}v6^K?azt7ZqW4q}!_Lff(rj@IRgcA3K8xMQO1M1BCGh*8V8{z|W!v z2SCw)dGL|u`WMwa4c!S)rP*s#iKEPPu>sB)4KDCj1bH!I9bP*{G(jd1x1d|3$X;%A z*wyziyW&&6Q9>f3|0{~fyNAx&d7}(%ss4b`tboqj)X1w=YE%Zy-<4D~X%RiJ2c2M< zZhQnk%_vG7m6uN#=q~OBjI>zLr-@=-3>Gk7L9*h4Of-lk^treZrs(P?LOkFqZ1R6j zAp6l=)bGn5PZcdO9>%(KwmGVh2mc~Q>iobBSjF>`(bK1SYr1-LHhcxpXT0vn=W&5j z(x(DD&DKJJhN_`WRj2ml-q0^yXFJN4mFNV)qT^P8P(UQ{-`SNQli#;qJ|BCEkuw}| z(gfvLPWP`drwbiieNau%Cz H5Rve3fvh zQmQ!SJC?dY%{miY2#d}@sTH*Q9Sktf=dvzD2oelyOWfnX?@R#iMjWTwzA(Amm}eJ! zPprTgYw;hxL=nq;t076FR+yI)>^<8VJ-HsDtbClXq-6dd;uF5&mB!lXgje9(7TSal zp4V;P0NQnvKdL5Q3^x-1j_i*R JD&2$T*s00d@}1(`ok(DYh>gHAVsRemmrUh za*lz%E+|=Wu;oxol#AX}Sio)1h}|{KRrB^$b7dw^{#KplmS4#1*8@akpatcd&p+I3 z!6C7FDMAX5Bi44^OZX5^?zAPPU2zC~0SW@;G|`Fs2{+`d(P$=qe|uA!BkfOK1&}-< zA65R;_@+Ntz?ki*=#F8+5GZeqQ@`<(vUM70b=J@or HqG=9Bbkv}6O&*2{F+?UOSHPuoxODppUS)qJ^YLx<_4};*&gJ;h6&>A_+-u)~ z^3!qi2LFgkA24bEM4S_q{GY$%fW1! tREZ~c)Jq;b@I<2kX<{bQf$9|o*=0^ZnA*Rhpx=;--fqsfx zie#&n(mOG1-vR4vGN9dtZ-^{=tFC~w(L5@Z9>8g);&6f!Tm8?U7-uj(GKV<1nKy>n zFI2TYWx?i PmEA5O_QJ z!W{xog+C_x-C5Z&XrBe>39?}QpZ5_1>q726htqX;h<)Ea8RK+WeNyg_$g;6p&u_$H z@I9*kTZ+4((ygk{>#~F{ad>XhpxYnt70p8MpYOzeTRYriIp!Z;rlYi5D%U0rv# taLI9$(6)Vs8^A zl*|Y|PgeU6A><};g)V-ZZ9dy8D;rM)P3iJ~?YDJ)blg_fKA%T7zRiiLe#e N7@~-C)=-QR_S!Fy{lIg5wc~!a!8aq!M}4^b4;Ig!`Ls z>x_po%wLRcw=WP(YLGrj@iE6!eD#geNBs}KFrURKc0(?d@8@b5#98m2{qEZEB163^ z=RC5LUl2I9pvm+746q!RU)7W1nCONhokkkMu1bc8J~Si7gCO+B+5aMAU1|jBl^Q0B zoIL3K&Hnt?! Vj1pW}gg0lWyS0IfZ24htomuL*eO3zIzfS~1#++eoGu bda5E awF3Wu+rJcK^pQ&C8%hw$M|0t~3&B*DAD1&& zF4rcr)XFLOtQM8Yd|Zg#V&2~-0=)5+^#0!wwBC(&g^Rp+$2S2~e3{HETB??|==se{ z!23*~2{B3QtA6;hmm2Erm6_wVMIn$N+gc>1k|oSrni|&&Uts|)Aq~ud_wHyP?tprx z5-?8qS+PMR2cvlK(+}X+kYyzCL?a%E{`f9?rcrhqpy;5NlXMtaWakT<)Ttc`1+lI? z6TR5|lrfJ5z@5d$W>&j}S0e#R=GwHKOpNEUIwcan9?ZF4Ni1X2>ACQ5e55y6k5p12 z9;khDp-^sc<~zkQd)2aq;m=fAW<33Waw;koAeGatFM;WlcKL7ZPY0XC3!MExm8Dt` zA%UeFQJ&|e!si*uO^@w5rrW;1!IVUSVG1dE^9=MMD|*>xQ||>kfFAvfG-*5ZWWa z&($@JvTXN3{lwXQ_3`+#tUpN!PYy8sdSz0NRkO7paXjDC)2G_JE3dd7=Xng)SpaF? zyOZP;qVj3l=%^rw?zK;A2=Y}%7>CE7cuA`By<)_bBY1fno51J)m2>X@Ot*g=cj&B} zTL)3>{`%f!)m;-J=P9Bh=VNN4n`tp(a%gM`b&DLDNW(he#++_BhEYkv +`r?*R!8~nIOFl7}f`~uJkv%c}m{I_3fLa z>vpopvnu51_C5q &{ z;Y=FfB%*~SXvq`AVctU}f&bBnVYTPS^pDR*?&=rl59qWv Bn)>iDWJ7rqkds*~tN4RjU4WI t2D*hhuocm4CVFsGh#{Kt#WOo8&60#EG~2|yL%?77Doi8yH#EOmYncg& z3?p;dHhF9_uV^?i;14#N+r<5mOrdI >Wg#n zMFusfpjnBR{lz2MW`hAmk1@jKncPQ~C)q1#5*p%w#ujPXJLgU4Op8(vZG~d S?u@?f088gzz*>(VF(Ol_N+O}in19f9bOLNksc7n@#1@Go zuxzubNiq?>aX(s#9}LvSmXB8zKohMm&~Q0F+^eBH+P2g?6=hzZ@4i_cI9+|vVmh@? zzWLn;{!rq0YD8~O{IYV(0!Qzq#V*bBmPb?>exd50gkEZ)i3+z1T`Q2c{DZ- txk~bZbA?ga zHon@RUxYIXI=&V=-vN5+ZMz%xkq!nwagnXCosugqM5#rcRQw>x2)Yc&y)+Xx_Id3n zuz6jEmt|Z^(HU56!aL;QvJLB!uUOx#K?hQ^o}MM4gFTGvxVhcoAV~|i+QIO|Akxq* zD{gDQN#oVcy0-Id_ 2J*t=Os|Pk(&`81b(!o8TNdm7N^1vrV50 lQsA4N=hO5-M^TdXqb zg)chH@2%dSqbxscCz^ko$eFq`^|Tjscry^gKXA+zZ!No?B1JdRYe&A2s(!v1nEYOj zDlWt eof$vs`I>Kjo+LvYh2G#5+*4ruk!*<{A_$fFHC(58}$ zP$PE~cTib0!!O7#1;7(BDuf)4cTHztAVI7i07s(ZaYFuLAVDc*l1_vTF@gXf$o+Q2 zkQKy{5K~jT*lYWOw4#O1uq$o8{;F0mva3ZPnn;=3_CL3!xCSJu8ezO8utRc7`)6}% zdU%@b47R6!4hCSS$f&%z+uIyoaipuw>A>Qv7M&=Lc&?ig{WHsJ!ga1`0mgB&=A5fw zOg|5Uiixs!r^Wc?C-ZG28 4Vr&5TkU zL`+U^Jz$SPJGvx}n1;(p^esi$B?*$+ BGay9lGZ z#flS%e*>l4N~bZaqzoQ2WmLo>y2+b1^5_zMZ%j!x`k4V-wIs^nEtzp5AiASAq=`2u zEwUh(`3OUWD1jDkZGdsSPwG&KpBsUhspVn`(u0ngolV;f#5@HijNi+yT1$^(;mH5R z4b>n6@mrSWq}p;qw-l5j)8)i(Z3=GvAbQ@ VQIM`<47+^V5hH lVk(0$1GG~ zf52h7?CeK&MMmOzo_Oiwyp;QPrk<4)V8R`Y>i@BQ&$)Tg5y59HMWv)G<2eV|~by z{2A%@Q++Zv5jE$ Date: Mon, 23 Sep 2019 10:31:14 +0200 Subject: [PATCH 22/76] Add Kaiterra integration (#10374) * add Kaiterra integration * fix: jekyll build * :pencil2: Tweaks * :pencil2: Tweaks * adjust configuration example and release * update logo * fix: ha_release version --- source/_components/kaiterra.markdown | 64 +++++++++++++++++++++ source/images/supported_brands/kaiterra.svg | 57 ++++++++++++++++++ 2 files changed, 121 insertions(+) create mode 100644 source/_components/kaiterra.markdown create mode 100644 source/images/supported_brands/kaiterra.svg diff --git a/source/_components/kaiterra.markdown b/source/_components/kaiterra.markdown new file mode 100644 index 00000000000..0ff306b1538 --- /dev/null +++ b/source/_components/kaiterra.markdown @@ -0,0 +1,64 @@ +--- +title: "Kaiterra" +description: "Instructions on how to integrate your Kaiterra device into Home Assistant." +logo: kaiterra.svg +ha_iot_class: Cloud Polling +ha_category: + - Health +ha_release: "0.100" +--- + +The `kaiterra` integration allows you to view the readings from your Laser Egg or Sensedge device using the [Kaiterra REST API](https://www.kaiterra.com/dev/). + +To use the integration, you need to get the API key by signing up at [Kaiterra dashboard](https://dashboard.kaiterra.cn/), registring the device and create the key under `Settings -> Profile -> Developer`. + +## Configuration + +To enable `kaiterra` in your installation, add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +kaiterra: + api_key: YOUR_API_KEY + devices: + - device_id: YOUR_DEVICE_ID + type: YOUR_DEVICE_TYPE +``` + +{% configuration %} +api_key: + description: Your personal API key from Kaiterra Dashboard. + required: true + type: string +aqi_standard: + description: The standard of Air Quality Index. Available values `us`, `in`, `cn`. + required: false + type: string + default: us +scan_interval: + description: The interval to scan for sensor state changes in seconds. + required: false + type: integer + default: 30 +preferred_units: + description: The list of preferred units. Available values in the list `x`, `%`, `C`, `F`, `mg/mΒ³`, `Β΅g/mΒ³`, `ppm`, `ppb`. + required: false + type: list +devices: + description: The devices you want to get reading from. + required: true + type: list + keys: + device_id: + description: The UUID of the device you want to monitor. You can take it from Kaiterra Dashboard. + required: true + type: string + type: + description: The device type. Available values `laseregg` and `sensedge`. + required: true + type: string + name: + description: The custom name of your device. + required: false + type: string +{% endconfiguration %} diff --git a/source/images/supported_brands/kaiterra.svg b/source/images/supported_brands/kaiterra.svg new file mode 100644 index 00000000000..fe12292c09f --- /dev/null +++ b/source/images/supported_brands/kaiterra.svg @@ -0,0 +1,57 @@ + + + From 3a4ca3ac423bfcd1999ad1fa2f8889160d5023b7 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Mon, 23 Sep 2019 12:25:14 +0200 Subject: [PATCH 23/76] Remove deprecated srp_energy integration (ADR-0004) (#10425) --- source/_components/srp_energy.markdown | 52 -------------------- source/_posts/2018-11-28-release-83.markdown | 5 +- source/_posts/2019-04-03-release-91.markdown | 3 +- source/_posts/2019-08-28-release-98.markdown | 5 +- 4 files changed, 5 insertions(+), 60 deletions(-) delete mode 100644 source/_components/srp_energy.markdown diff --git a/source/_components/srp_energy.markdown b/source/_components/srp_energy.markdown deleted file mode 100644 index c204277e9aa..00000000000 --- a/source/_components/srp_energy.markdown +++ /dev/null @@ -1,52 +0,0 @@ ---- -title: "SRP Energy Sensor" -description: "How to integrate SRP Energy within Home Assistant." -ha_category: - - Energy -ha_release: 0.83 -ha_iot_class: Cloud Polling -redirect_from: - - /components/sensor.srp_energy/ ---- - - - - This integration is deprecated and will be removed in Home Assistant 0.100.0. - - For more information see [Architecture Decision Record: 0004](https://github.com/home-assistant/architecture/blob/master/adr/0004-webscraping.md). - -- -The `srp_energy` integration shows information from Srp hourly energy usage report for their customers. The srpenergy module fetches the data found on the website. - -You need a Username, Password, and AccountId which you can create at [Srp](https://www.srpnet.com). - -## Configuration - -To add Srp Energy to your installation, add the following to your `configuration.yaml` file: - -```yaml -# Example configuration.yaml entry -sensor: - - platform: srp_energy - username: YOUR_USERNAME - password: YOUR_PASSWORD - id: YOUR_ACCOUNT_ID -``` - -{% configuration %} -username: - description: Your username for SRP. - required: true - type: string -password: - description: Your password for SRP. - required: true - type: string -id: - description: Your account id for SRP. - required: true - type: string -{% endconfiguration %} - -Details about the API are available in the [SRP Energy Developers API documentation](https://srpenergy-api-client-python.readthedocs.io/en/latest/?badge=latest). diff --git a/source/_posts/2018-11-28-release-83.markdown b/source/_posts/2018-11-28-release-83.markdown index 94980f1f677..9d2bb6f6303 100644 --- a/source/_posts/2018-11-28-release-83.markdown +++ b/source/_posts/2018-11-28-release-83.markdown @@ -45,7 +45,7 @@ Note, this release includes a migration to add an index to speed up the logbook - Add support for 17track.net package sensors ([@bachya] - [#18038]) ([sensor.seventeentrack docs]) (new-platform) - Add new launch sensor to keep track of space launches. ([@ludeeus] - [#18274]) ([sensor.launch_library docs]) (new-platform) - W800rf32 ([@horga83] - [#17920]) ([w800rf32 docs]) ([binary_sensor.w800rf32 docs]) (new-platform) -- Srpenergy ([@briglx] - [#18036]) ([sensor.srp_energy docs]) (new-platform) +- Srpenergy ([@briglx] - [#18036]) (new-platform) - Add support for sensors from Flu Near You ([@bachya] - [#18136]) ([sensor.flunearyou docs]) (new-platform) - Add niko-home-control support ([@legovaer] - [#18019]) ([light.niko_home_control docs]) (new-platform) - Readded climate.velbus ([@Cereal2nd] - [#18434]) ([velbus docs]) ([climate.velbus docs]) (new-platform) @@ -273,7 +273,7 @@ Experiencing issues introduced by this release? Please report them in our [issue - Doc fix: a circular dependency does not raise an error. ([@smurfix] - [#18298]) - Add new launch sensor to keep track of space launches. ([@ludeeus] - [#18274]) ([sensor.launch_library docs]) (new-platform) - W800rf32 ([@horga83] - [#17920]) ([w800rf32 docs]) ([binary_sensor.w800rf32 docs]) (new-platform) -- Srpenergy ([@briglx] - [#18036]) ([sensor.srp_energy docs]) (new-platform) +- Srpenergy ([@briglx] - [#18036]) (new-platform) - Restrict recorder query to include max age ([@ehendrix23] - [#18231]) ([sensor.statistics docs]) - Add support for sensors from Flu Near You ([@bachya] - [#18136]) ([sensor.flunearyou docs]) (new-platform) - Rename sensor.launch to sensor.launch_library ([@ludeeus] - [#18337]) ([sensor.launch_library docs]) (beta fix) @@ -785,7 +785,6 @@ Experiencing issues introduced by this release? Please report them in our [issue [sensor.season docs]: /components/sensor.season/ [sensor.seventeentrack docs]: /components/sensor.seventeentrack/ [sensor.sql docs]: /components/sensor.sql/ -[sensor.srp_energy docs]: /components/sensor.srp_energy/ [sensor.statistics docs]: /components/sensor.statistics/ [sensor.swiss_hydrological_data docs]: /components/sensor.swiss_hydrological_data/ [sensor.tautulli docs]: /components/sensor.tautulli/ diff --git a/source/_posts/2019-04-03-release-91.markdown b/source/_posts/2019-04-03-release-91.markdown index 67cfd9b308e..1fa82cab295 100644 --- a/source/_posts/2019-04-03-release-91.markdown +++ b/source/_posts/2019-04-03-release-91.markdown @@ -315,7 +315,7 @@ Experiencing issues introduced by this release? Please report them in our [issue - Fix Prometheus casting issues ([@robbiet480] - [#22282]) ([prometheus docs]) - Update trait to support auto without ranges. ([@Swamp-Ig] - [#21847]) ([google_assistant docs]) - Sort code owners alphabetically ([@cgtobi] - [#22304]) -- Update srpenergy library ([@robbiet480] - [#22307]) ([srp_energy docs]) +- Update srpenergy library ([@robbiet480] - [#22307]) - Switch from using Google Maps API for elevation to Open Elevation API ([@robbiet480] - [#22306]) - Fix for embedded MQTT server configuration ([@robbiet480] - [#22305]) ([mqtt docs]) - Upgrade pylast to 3.1.0 ([@fabaff] - [#22302]) ([lastfm docs]) @@ -827,7 +827,6 @@ Experiencing issues introduced by this release? Please report them in our [issue [smartthings docs]: /components/smartthings/ [solaredge docs]: /components/solaredge/ [sql docs]: /components/sql/ -[srp_energy docs]: /components/srp_energy/ [stream docs]: /components/stream/ [switch docs]: /components/switch/ [switchbot docs]: /components/switchbot/ diff --git a/source/_posts/2019-08-28-release-98.markdown b/source/_posts/2019-08-28-release-98.markdown index f1e72510242..13743825644 100644 --- a/source/_posts/2019-08-28-release-98.markdown +++ b/source/_posts/2019-08-28-release-98.markdown @@ -222,7 +222,7 @@ Experiencing issues introduced by this release? Please report them in our [issue - **SYTADIN** - ([@frenck] - [#25742]) ([sytadin docs]) - **UPS** - ([@frenck] - [#25746]) ([ups docs]) - **FEDEX** - ([@frenck] - [#25745]) ([fedex docs]) - - **SRP Energy** - ([@frenck] - [#25754]) ([srp_energy docs]) + - **SRP Energy** - ([@frenck] - [#25754]) - **Linksys AP** - ([@frenck] - [#25804]) ([linksys_ap docs]) - **Ruter** - *Removed* - Ruter Labs which hosted the API has shut down the service. As an alternative, see the Entur public transport integration. - ([@ludeeus] - [#26041]) @@ -351,7 +351,7 @@ anymore. - ([@abmantis] - [#25971]) - Deprecates sytadin integration (ADR-0004) ([@frenck] - [#25742]) ([sytadin docs]) (breaking change) - Deprecates ups integration (ADR-0004) ([@frenck] - [#25746]) ([ups docs]) (breaking change) - Deprecates fedex integration (ADR-0004) ([@frenck] - [#25745]) ([fedex docs]) (breaking change) -- Deprecates srp_energy integration (ADR-0004) ([@frenck] - [#25754]) ([srp_energy docs]) (breaking change) +- Deprecates srp_energy integration (ADR-0004) ([@frenck] - [#25754]) (breaking change) - Updater component is always available and shows on/off depending on whether an update is available or not ([@Santobert] - [#25418]) ([updater docs]) (breaking change) - Integration requirement check refactor ([@elupus] - [#25626]) - Add Mikrotik hub and rework device tracker ([@slackr31337] - [#25664]) ([mikrotik docs]) (breaking change) @@ -863,7 +863,6 @@ anymore. - ([@abmantis] - [#25971]) [snmp docs]: /components/snmp/ [sonos docs]: /components/sonos/ [sql docs]: /components/sql/ -[srp_energy docs]: /components/srp_energy/ [statistics docs]: /components/statistics/ [stream docs]: /components/stream/ [syncthru docs]: /components/syncthru/ From 40f21c049390a275160e4901e564c589e50c3b28 Mon Sep 17 00:00:00 2001 From: Franck NijhofDate: Mon, 23 Sep 2019 12:26:47 +0200 Subject: [PATCH 24/76] Remove deprecated sytadin integration (ADR-0004) (#10419) * Remove deprecated sytadin integration (ADR-0004) * Removes unused sytadin logo --- source/_components/sytadin.markdown | 53 ------------------- source/_posts/2017-11-04-release-57.markdown | 7 ++- source/_posts/2018-08-03-release-75.markdown | 3 +- source/_posts/2018-08-29-release-77.markdown | 3 +- source/_posts/2019-07-17-release-96.markdown | 3 +- source/_posts/2019-08-28-release-98.markdown | 7 ++- source/images/supported_brands/sytadin.png | Bin 8897 -> 0 bytes 7 files changed, 9 insertions(+), 67 deletions(-) delete mode 100644 source/_components/sytadin.markdown delete mode 100644 source/images/supported_brands/sytadin.png diff --git a/source/_components/sytadin.markdown b/source/_components/sytadin.markdown deleted file mode 100644 index 164a64fec34..00000000000 --- a/source/_components/sytadin.markdown +++ /dev/null @@ -1,53 +0,0 @@ ---- -title: "Sytadin Sensor" -description: "Instructions on how to integrate Sytadin sensors into Home Assistant." -logo: sytadin.png -ha_release: 0.57 -ha_category: - - Transport -ha_iot_class: Cloud Polling -redirect_from: - - /components/sensor.sytadin/ ---- - -The `sytadin` sensor platform allows you to monitor traffic details from [Sytadin](http://www.sytadin.fr). - - - -This integration is deprecated and will be removed in Home Assistant 0.100.0. - -For more information see [Architecture Decision Record: 0004](https://github.com/home-assistant/architecture/blob/master/adr/0004-webscraping.md). - -- -## Configuration - -To add Sytadin to your installation, add the following to your `configuration.yaml` file: - -```yaml -# Example configuration.yaml entry -sensor: - - platform: sytadin -``` - -{% configuration %} -name: - description: Additional name for the sensors. - required: false - default: Sytadin - type: string -monitored_conditions: - description: Conditions to display in the frontend. - required: false - default: traffic_jam - type: list - keys: - traffic_jam: - description: Amount of kilometers in traffic jam (km). - mean_velocity: - description: Mean velocity (km/h). - congestion: - description: Index of congestion (n/a). -{% endconfiguration %} - -The data is coming from the [Direction des routes Γle-de-France (DiRIF)](http://www.sytadin.fr). diff --git a/source/_posts/2017-11-04-release-57.markdown b/source/_posts/2017-11-04-release-57.markdown index 88a67f7c6c7..db2ac97f1fa 100644 --- a/source/_posts/2017-11-04-release-57.markdown +++ b/source/_posts/2017-11-04-release-57.markdown @@ -73,7 +73,7 @@ Okay, one more highlight before we'll let you check out the changelog. Contribut - Linode ([@ryanm101] - [#9936]) ([linode docs]) ([binary_sensor.linode docs]) (new-platform) - Nederlandse spoorwegen ([@b10m] - [#10136]) ([sensor.nederlandse_spoorwegen docs]) (new-platform) - added Yesss SMS platform ([@flowolf] - [#10177]) ([notify.yessssms docs]) (new-platform) -- Add Sytadin Traffic component ([@gautric] - [#9524]) ([sensor.sytadin docs]) (new-platform) +- Add Sytadin Traffic component ([@gautric] - [#9524]) (new-platform) - Added new Clickatell SMS messaging Notify Platform ([@davlloyd] - [#9775]) ([notify.clickatell docs]) (new-platform) - Add Random binary sensor ([@fabaff] - [#10164]) ([binary_sensor.random docs]) (new-platform) - Add gc100 platforms and component ([@davegravy] - [#10159]) ([gc100 docs]) ([binary_sensor.gc100 docs]) ([switch.gc100 docs]) (new-platform) @@ -210,7 +210,7 @@ Experiencing issues introduced by this release? Please report them in our [issue - Added capability to pass a filename to the downloader component ([@tchellomello] - [#10059]) ([downloader docs]) - Limits of the favorite level updated. Values between 0 and 16 will be accepted. ([@syssi] - [#10186]) ([fan.xiaomi_miio docs]) - added Yesss SMS platform ([@flowolf] - [#10177]) ([notify.yessssms docs]) (new-platform) -- Add Sytadin Traffic component ([@gautric] - [#9524]) ([sensor.sytadin docs]) (new-platform) +- Add Sytadin Traffic component ([@gautric] - [#9524]) (new-platform) - media_title property now returns current source ([@etsinko] - [#10120]) ([media_player.monoprice docs]) - Added new Clickatell SMS messaging Notify Platform ([@davlloyd] - [#9775]) ([notify.clickatell docs]) (new-platform) - update boto3 to 1.4.7 and botocore to 1.7.34 ([@TopdRob] - [#10121]) (notify.aws_lambda docs) ([notify.aws_sns docs]) ([notify.aws_sqs docs]) ([tts.amazon_polly docs]) @@ -236,7 +236,7 @@ Experiencing issues introduced by this release? Please report them in our [issue - Update services.yaml files ([@fabaff] - [#10229]) - Add priority attribute for hyperion ([@ImEmJay] - [#10102]) ([light.hyperion docs]) - OwnTracks work. Beacon logic and testcases ([@ehagan] - [#10183]) ([device_tracker.owntracks docs]) -- Sytadin default value must be a list #10233 ([@gautric] - [#10234]) ([sensor.sytadin docs]) +- Sytadin default value must be a list #10233 ([@gautric] - [#10234]) - Use theme color in loading screen. ([@andrey-git] - [#10248]) - Move constant to 'const.py' ([@fabaff] - [#10249]) ([sensor.hddtemp docs]) ([sensor.synologydsm docs]) - Add support for odhcpd DHCP server ([@chemicalstorm] - [#9858]) ([device_tracker.ubus docs]) @@ -619,7 +619,6 @@ Experiencing issues introduced by this release? Please report them in our [issue [sensor.speedtest docs]: /components/sensor.speedtest/ [sensor.swiss_public_transport docs]: /components/sensor.swiss_public_transport/ [sensor.synologydsm docs]: /components/sensor.synologydsm/ -[sensor.sytadin docs]: /components/sensor.sytadin/ [sensor.toon docs]: /components/sensor.toon/ [sensor.uk_transport docs]: /components/sensor.uk_transport/ [sensor.whois docs]: /components/sensor.whois/ diff --git a/source/_posts/2018-08-03-release-75.markdown b/source/_posts/2018-08-03-release-75.markdown index 7007ee01c1a..0e2a81f7a81 100644 --- a/source/_posts/2018-08-03-release-75.markdown +++ b/source/_posts/2018-08-03-release-75.markdown @@ -152,7 +152,7 @@ Experiencing issues introduced by this release? Please report them in our [issue - Upgrade youtube_dl to 2018.07.21 ([@fabaff] - [#15718]) ([media_extractor docs]) - Upgrade numpy to 1.15.0 ([@fabaff] - [#15722]) ([binary_sensor.trend docs]) ([image_processing.opencv docs]) - Upgrade spiderpy to 1.2.0 ([@peternijssen] - [#15729]) ([spider docs]) -- Upgrade beautifulsoup4 to 4.6.1 ([@fabaff] - [#15727]) ([device_tracker docs]) ([sensor.geizhals docs]) ([sensor.scrape docs]) ([sensor.sytadin docs]) +- Upgrade beautifulsoup4 to 4.6.1 ([@fabaff] - [#15727]) ([device_tracker docs]) ([sensor.geizhals docs]) ([sensor.scrape docs]) - Upgrade mutagen to 1.41.0 ([@fabaff] - [#15739]) ([tts docs]) - Upgrade sqlalchemy to 1.2.10 ([@fabaff] - [#15737]) ([sensor.sql docs]) - Upgrade voluptuous to 0.11.3 ([@fabaff] - [#15735]) @@ -391,7 +391,6 @@ Experiencing issues introduced by this release? Please report them in our [issue [sensor.scrape docs]: /components/sensor.scrape/ [sensor.sql docs]: /components/sensor.sql/ [sensor.strings.moon.json docs]: /components/sensor.strings.moon.json/ -[sensor.sytadin docs]: /components/sensor.sytadin/ [sensor.waze_travel_time docs]: /components/sensor.waze_travel_time/ [sisyphus docs]: /components/sisyphus/ [smappee docs]: /components/smappee/ diff --git a/source/_posts/2018-08-29-release-77.markdown b/source/_posts/2018-08-29-release-77.markdown index c6b4c57c317..645ff5a17c6 100644 --- a/source/_posts/2018-08-29-release-77.markdown +++ b/source/_posts/2018-08-29-release-77.markdown @@ -149,7 +149,7 @@ Experiencing issues introduced by this release? Please report them in our [issue - Eph ember support operation modes ([@ttroy50] - [#15820]) ([climate.ephember docs]) - Fixed race condition in Generic Thermostat ([@aronsky] - [#15784]) ([climate.generic_thermostat docs]) - Fix magic cube support of the Aqara LAN Protocol V2 ([@syssi] - [#15940]) ([binary_sensor.xiaomi_aqara docs]) -- Upgrade beautifulsoup4 to 4.6.3 ([@fabaff] - [#15946]) ([device_tracker docs]) ([sensor.geizhals docs]) ([sensor.scrape docs]) ([sensor.sytadin docs]) +- Upgrade beautifulsoup4 to 4.6.3 ([@fabaff] - [#15946]) ([device_tracker docs]) ([sensor.geizhals docs]) ([sensor.scrape docs]) - Allow wait template to run the remainder of the script ([@lhovo] - [#15836]) (breaking change) - Add trusted networks auth provider ([@awarecan] - [#15812]) ([auth docs]) ([http docs]) ([websocket_api docs]) (breaking change) - Add monitored conditions for Unifi device_tracker ([@cgarwood] - [#15888]) ([device_tracker docs]) @@ -475,7 +475,6 @@ Experiencing issues introduced by this release? Please report them in our [issue [sensor.scrape docs]: /components/sensor.scrape/ [sensor.shodan docs]: /components/sensor.shodan/ [sensor.systemmonitor docs]: /components/sensor.systemmonitor/ -[sensor.sytadin docs]: /components/sensor.sytadin/ [sensor.worldtidesinfo docs]: /components/sensor.worldtidesinfo/ [sensor.xiaomi_miio docs]: /components/sensor.xiaomi_miio/ [sonos docs]: /components/sonos/ diff --git a/source/_posts/2019-07-17-release-96.markdown b/source/_posts/2019-07-17-release-96.markdown index de8aeb95b01..0eb013ae135 100644 --- a/source/_posts/2019-07-17-release-96.markdown +++ b/source/_posts/2019-07-17-release-96.markdown @@ -345,7 +345,7 @@ Experiencing issues introduced by this release? Please report them in our [issue ## All changes -- Fix AttributeError: 'NoneType' object has no attribute 'group' with sytadin component ([@foreign-sub] - [#24652]) ([sytadin docs]) +- Fix AttributeError: 'NoneType' object has no attribute 'group' with sytadin component ([@foreign-sub] - [#24652]) - braviatv, nmap_tracker: use getmac for getting MAC addresses ([@scop] - [#24628]) ([braviatv docs]) ([braviatv docs]) ([braviatv docs]) ([nmap_tracker docs]) - Fix downloader_download_failed event not firing for HTTP response errors ([@sfjes] - [#24640]) ([downloader docs]) - Multiple devices support for opentherm_gw ([@mvn23] - [#22932]) ([opentherm_gw docs]) (breaking change) @@ -869,7 +869,6 @@ Experiencing issues introduced by this release? Please report them in our [issue [switchmate docs]: /components/switchmate/ [syncthru docs]: /components/syncthru/ [systemmonitor docs]: /components/systemmonitor/ -[sytadin docs]: /components/sytadin/ [tado docs]: /components/tado/ [tahoma docs]: /components/tahoma/ [template docs]: /components/template/ diff --git a/source/_posts/2019-08-28-release-98.markdown b/source/_posts/2019-08-28-release-98.markdown index 13743825644..793f629618d 100644 --- a/source/_posts/2019-08-28-release-98.markdown +++ b/source/_posts/2019-08-28-release-98.markdown @@ -219,7 +219,7 @@ Experiencing issues introduced by this release? Please report them in our [issue Integrations which make use of web scraping and are pending for removal in Home Assistant 0.100.0 [ADR-004](https://github.com/home-assistant/architecture/blob/master/adr/0004-webscraping.md): - **USPS** - ([@frenck] - [#25743]) ([usps docs]) - - **SYTADIN** - ([@frenck] - [#25742]) ([sytadin docs]) + - **SYTADIN** - ([@frenck] - [#25742]) - **UPS** - ([@frenck] - [#25746]) ([ups docs]) - **FEDEX** - ([@frenck] - [#25745]) ([fedex docs]) - **SRP Energy** - ([@frenck] - [#25754]) @@ -348,7 +348,7 @@ anymore. - ([@abmantis] - [#25971]) - Add test case to identify missing MQTT configuration abbreviations ([@emontnemery] - [#25616]) ([mqtt docs]) - Manufacturer specific channel for SmartThings. ([@Adminiuga] - [#25739]) ([zha docs]) - Deprecates usps integration (ADR-0004) ([@frenck] - [#25743]) ([usps docs]) (breaking change) -- Deprecates sytadin integration (ADR-0004) ([@frenck] - [#25742]) ([sytadin docs]) (breaking change) +- Deprecates sytadin integration (ADR-0004) ([@frenck] - [#25742]) (breaking change) - Deprecates ups integration (ADR-0004) ([@frenck] - [#25746]) ([ups docs]) (breaking change) - Deprecates fedex integration (ADR-0004) ([@frenck] - [#25745]) ([fedex docs]) (breaking change) - Deprecates srp_energy integration (ADR-0004) ([@frenck] - [#25754]) (breaking change) @@ -418,7 +418,7 @@ anymore. - ([@abmantis] - [#25971]) - Fix bmw_connected_drive and eq3btsmart components by updating their dependencies ([@OliverRepo] - [#26012]) ([bmw_connected_drive docs]) ([eq3btsmart docs]) - Upgrade luftdaten to 0.6.3 ([@fabaff] - [#26009]) ([luftdaten docs]) - Upgrade pysnmp to 4.4.11 ([@fabaff] - [#26010]) ([snmp docs]) -- Upgrade beautifulsoup4 to 4.8.0 ([@fabaff] - [#26006]) ([linksys_ap docs]) ([scrape docs]) ([sytadin docs]) +- Upgrade beautifulsoup4 to 4.8.0 ([@fabaff] - [#26006]) ([linksys_ap docs]) ([scrape docs]) - Allow entities to indicate they should be disabled by default ([@balloob] - [#26011]) - Hue tweak registered device type + discovery exception ([@balloob] - [#25977]) ([hue docs]) - Fix config entry has options check ([@balloob] - [#25976]) ([config docs]) @@ -866,7 +866,6 @@ anymore. - ([@abmantis] - [#25971]) [statistics docs]: /components/statistics/ [stream docs]: /components/stream/ [syncthru docs]: /components/syncthru/ -[sytadin docs]: /components/sytadin/ [tado docs]: /components/tado/ [tellduslive docs]: /components/tellduslive/ [template docs]: /components/template/ diff --git a/source/images/supported_brands/sytadin.png b/source/images/supported_brands/sytadin.png deleted file mode 100644 index 739fdeba02ae039c46e81d4ab2871b8bdb966f88..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8897 zcmV;yB0k-TP)Px#v`|b`MMrQ<{r&y&^78NR@7LGY>+9 j6BAZeR*j8~U|?W4I5-#>7&9|78yg!a zC@2*b7B4R^F)=YLEG#1 ?7Ct;0e|!{{kq=Hw63NNQDJT>&F&9ovDz>(^SXfwme0*|pay&Fq zQUCw|7j#liQvlN0{@D_OBntS_`Y@ go377mS;i zn_;{f;~B>5@bC5I_K~pMegew9f^qfo{Nv5xBK(QNm4p5-#vi%v9)`D<|MB*ohwnU> zIdAXJw-O6L`ItLYP~ASi@i1h*?{hiS^ogMt@bRA>0S-0{K_fJ=A*Lh=ogc4{2<6M} z`Xla;FkXK6q3|6X^y+XmapSGk$gM`7qebFDKmnoAKuk0){tjpW%iFVrvfU}WzYxab zyCdMw$Q^J!(YDm&2Wqk!ebYF)hVvkhNEnkyaQ}hC09X)%1cK2gA?TR%0LrUm{YE4^ zWXIJrz;N*E;*Okr+y-vI;r?_&qpys!Yla12=dfKhAp!|N`or{vJ499}5m0ymb-YBp z-y&0Xn{hn8g>15qpARI^Km?lt5uw5{2C{d-D{nVX+mJ{cFK=P67#WM9#Xk^Q+#Xu^ zI)oPag+j}fT82oR=S@B#91i 0dmHn^UJ{bbD~MY=ZlQL{zm?oDJ)-;-w#~lQ-rC! zGzKyVu;~$Z<`JL^dj_7|t>lxhcarC96yh}L_%}Z_jrME! n-{bjfI3 V%f6;fJ$6&~@r ztXz`m@61q7Zc)#vk()+;!vdP@Q~5Py%MHi+JLZTCu4R|pU!h|8Ynr+$t*i1oO)`f5 zO4XVql5@>JR$uUsLL#1*Tp}6r&K5Rc#q$ZH=@BE31h#74ogf*2EV~3H>k&eM+thO! z8J25SjcQpw)Gq{tDIkOVqDR7UXocqlVuaRy9|B9h*m@E>l&pY6RFj>P&|)xi65P== zGAceV8ixfKm6B9DT5BzF&Lc9B><6-&; Z< z{4(E^UnbNEcvO?PX9S*-UmVV@HMX$IdZEH}<`KvI(ie@6;Sp}Si{w`&O}22bGBW$b zBZmBXM0ZPUp=Ld^X{4`mWL18r1aeFQnH&j*5@pU2yZj>E->tf}Q<}A|o*Rsxl;0KA z8q3z8T6 TS_Iv$QO)bL2ztj$0~SQ1XKBIAv^dWw3A(ClG&-`8bs@s zs?` IG;5}M~ xpNEnSpN9^uwT;X 3;1mj6)i_&k=LTnVz@>)c~N9lIOGx44w4S>PHkD{ zbuyOUi$KmX6;$y9jI1wlD*7C!LlunUF6ayVwCsIb6T7DcY6>l1EzqPerEL}A+Z oeOdb(u`3?1Lg-?4#>uyIO-VsMSi7T3Lq$7^hR*sNSafGu8 zN95{xha7 ^?r{>Z|@yRwY;dR_u}5^vwNd0Qvj@(6x+QW+0TfZwr9%$SDN#2RgsK~!f%9N&`J z11a2T&V8NW5h4C!E| yq*3)kD#*!2rG-g1vGK40+iQySP*%)bK;1(WXv`pSjBmY#Lbp%k zNGhx-yF@h~j;P;_r^n?oUVv=EpOE{Rby1k;s_w{?5hS&$q$sy};|xOEgHHBL8HWX^ zd#xTq5s+3OEe)M4Ho6N6T3oeF?e3Ff*X +Qe=n;7|WDb-*Y1}Z2M}&LIqeE0yz>UP) zkGd!cyiJa99EeGUFUT*^psZI s|%>1d4@mLyOn(IAbs!o7~c%)1lSiX#})+ z6k0 0pGv)UL zGM*OIM1FPs4t$O>NQClH6y5u!GdqyI08u_Am*tn88W2D1Z!}F0(JLnwI89Rp?5w4# zPc1vsqHEgf#F$ex73i2$Phki*Q#TI-sdBJs$O>8IvT65P;_!}5rn(JOkhr>gf+`Hg z_IO!-Ri=eM-^%X{zHK;>wn0_mNscev)upnp$7`})Ef9<|YM^c&>PG?nHpXlz=8w){ zB59$n%4^T;#;Y!h+m>)nI$oAvMT3ACTr@KN4-Hjdjla^Trc-*FFF)qQxe8I%Ak~3K zY F+$&Wa$(3mB4LnJM6p7pIO>EUWDCo>y9LCKDYlB)J%ZqxcwLLt?><6S;hl-tV zRSnN>9P_hknevOf->h0@6GXR9>|GRdud3q{*Gt!&AIl!e@A=;0e_6S-Wa5q^}p3FRX61OEw7)R3Bko$4OA1zLT zpQh#WGK6XGDM4LMW0W_S$NmW6E=#a8itMjpwxn;^I}})maM~Ljt(09P$z5c>E_I8b zjD4A `)BC$x^vDfFLSK z5xJVF!;>{PH%V;p!O1}BzhuY&=v4^SL+KA$;HEZg19;_fa1m<6)ZFQq`5wlptUAE& z+Sj8>MIhZ^)&b$SSxnc%qvmp&Aa87vX_A1q`8omYHY+XOBC##gPJcf T&E;&Wq`P z+e54(&oQSeQ!Z{DM|xCZyQ4*IDpw&E(U^jxPgIRgVxYKvB5g)w$~b8(;D=caSjp@B zf9oMWqMH2(zcnvD&Yj)Ok5H3}sKwV)y%p fsE2cSE?@hBSPOaU^>eU?coOvNdqTsJogkY|l9I <0i-b~---NIg&@ScK|khAY-=kZ%+G%DJltvm8iL%U&Z~0X`wnB6y{`>&)8Zsz==A z#ar;Jx?$8sw$HJI1hpPpY9$^P$&i8!$*Ry0PTwtk!VDJ0k+~m`lo#A ah7$M_7}C$TNbEKQ(PQv#0}}hVXkPnbC@&)3#O5ZnF_qZ(Xk{^d!oz$C z;qIWhA%Y>Dhx(XZv`6b2ey5nkj-CDS#o1l8?=s{!+@;QX#R`G`)wbyDB22RESYm33 zy&l)F#C4Q!e%sl9L1M?BLPgncd7v8t!5kRUQLn94BI;M>E=|67T90$-Ops))PaLq-Rq8Iw0E8u&+)@Y!gy(K1F$i z^ob4^k&O)Wq)bd!l~hl# nr(S&DltovBU2P?%Kg`g5Q==OT^fV zr;8CbfZw3q=D6Pr_$_zX{52iqg3R!UM-BIZZ`R5YZ_+zMtPw))(!Yffc9>2KNfR4K z)=NX2JmZ|8tG*~mi_T+naHcXYr7{~pn8*?u?Ra&o3n0R&{?JDdVX^J$j#d(;C`8bq z#O5k#^n(#hnF^##Yc16HVxIcbluQY^Ink=q8~j=?Cq!i01Zs}DZAT~CuxW3STH2Z^ z)5de9NdUhoR*aXFY2oM&_&4ROHNdc#v__wtlvc}5V*9=z5!8GUE8WBV0`m-h)+IZ% z3zJ!?CAD;eOM4Ti{hQUC?y?g%`NHtq_{GZ|v9$*LdlU%;b`9~8y|)!gD|F|U0p7C@ ze-=f&BUR<->Wl<(sf<+cl2q`ly~b`~o}cbW4vWooSNEfk`rABMRi5;6$VZ%Wu$Lb? z>c`xK ppw=sb(*~jI5WDs^R#)jp|@X^~N{suPTXWMNX8y@u&Ge8}fKh z*aPC{fV LKeeML~Z7GWX%o&eT8g9?6xI z=S|p =O zJ2I06sIsP>Gt2zEJcFa)G~kZ3y?8SNb_5wYuteuKarbgZFoX#bNw*q~80<*Dl0n@{ zo-@oD-cn`}HY2%1;uDR+_gawz8@z!H5!|><^^;1%G_z-FCwpa@>pB=nNTP{D@{0V; zRlYkr^UDgE*F}*2cojIkVJ5NYZtRg5 bSS}&Q8>RkS}rg%b=p0UGbw!VX1~_% zOxZX>->8tpeqr;(y+bD$F3f~M7a3F<%ow_v$&}gNaSDCJAFae#k^kMJ^#^x^X=XIY zIAw0Yg_MuMO8AQ4WlS!sVut-S7T(K)ByqORo`rO^dpnyIC!73`qR_DS%sn@q-$gAn zr1B4EMHWA(l`cF?ZBN4FdaH`JPqi`b4yB_?0!ze YwVWaRj9G8hBGvv&2W)mb68zNf$ZU6Hub_h3!|lit7a-}rBLUkR8j|ylJazNC z9jRQ_I@i<*Uu{Ff_Wm>t7U|40(tZ)@Tto2?aW|N}wLSFI;D(To$Q^gNCL}k&{$L)3 z^gQ6-5u0!N$lrhd{M(ic6{GOj;*g7@Zuzoc4-tEq?j1(qtBe*>K1dP3m2mlPibCp6 zCA;EB?oFJA2VwI39JN^aK>WjvL72b){Od2LLLfw)3;?Z5Uj1e607Qj*n_oDN4i8PC z!dW1KJQpJeL>Du`#q?%=d*h$#vF-UjGl`d`NmH}{zG)@cmxl1EW?!8;+vW4+5pIdX z1BZeIJH73uKPZOlr=OJC`4Z--MXKu-llysO6i$N| fH zV-2aCA%;`GEen058d<{kr~*d85etuz^TME_-4m;6Bzd)Ac}C}liDfWSaWdHEd6WEP z5ay$g{KYabek`7K1i$8oWkaT#epqkrr@JALsn^sO913Sd$T4814mOMfkLj#wD!tG; znF(M${GNPp5T-s3!Ze=^v8ih2x_nM6?SA(UM%ZBrf0|ja1^7jT9oH 87(Cf%q{(Le(!664FE(Y7;g#(S=3WCp*8|NSbw-5tM7V2XS{W)I1#e<#G_l z8^Y&AVk?FOtuABQJ58^?$PWA`eW;)IG9s?Zd3)?oh_*a6_i|jDkfF6!_Goc0r>7(f ztfj?4aUV;Yt7!!?MEs|{YvD~C2f~$ZZ?6bW;?dpUx>6!Al^}sY0ugQh|NlDA!;VAZ z5NIp9r+T#;Z5>j7c;@qX9&tG=a^FCXo1@RuHB#An`&e(rF5DEM+b9Ps$}tJR44pDc z=5sF1v-C@f&Y?HHCt=>*IG45*4geAoXX3C7kkB10yAV!*u>Kezhbj=V*cnKI^+r)6 zka@xtRV_ef@#b7G6oG^$nfOuDFUZN-WVEutv1nCgitvYr1c79tl&LcI5mBPzj*3EL zMYN<5E#-s>=OkM5M$wv`5iK47`2xZ5xh`{zNuRed>a(ai7Kpq=PS%hxalz2+X7xpZ zKF`^l((4B*JJc8=&62V+{c>SjF0Ha_R^PF*3*FgX2m?SkQo-T-9pvLh5!a|tfJqh! zGpwl_49ibI<{K;#06~-+a(>_NRx_+n#!s!O6-o4v=Le==Y3Y|cRSqnyc{knVkb;d5 zP_hI4hGuYZh3^B3<*A~XllC-@**YnVE84*WHL1{<9Rw#-myQyMIrD;O_p!Lxsho;G zxAg^4*>zF!f|$U9i0&b?; Y(Y5x5wo$EIFXF0^<*C-yB&ZpgWat8X_E&H}RD z(c;kHC@BYRHdd;`jI5Au$mkQeDrl1;;#e7~grJ>je!5iPMM6 zi)pBCaDZQut{FBf{R?z~^y(yqv X30K+h zB|;~5Buowoy}!@M68WhE>*{geg(sknCAWb=6CYG&uYn$)YMAiE9mGl5!FeDnVPzYI z2n7BRxzYnsju{IanIAUu4OUPrR!bd6yM4`~kQr?PRb{#i-{NZ!(0+3Gmak}fop!d0 z7S4zr6_%bo&vVY;;oTDHb6gls3QL9(#fA)Ai^1KO7tEfb?x!}4)J(rEPVAN$5hW1v z+sslC8B1LMrLjJ5wjzp7PrKolP0Th?0}l4!&f`N+4|IyE8DH_97$^2D>l#D+p@9UV zbj$9X8R3&OBA{P)MudA2oC=-<6&yijMlw-Ji>oYl^GvnPi0U{aKQwCv#x#QOHwJCU zTw;o%0P47&=U_`#T+uiQ6bW4CvKB1|ZNSbA>By-XNGt@4w~h20a3M@r9ibT^mN`UF zxtKr=orG5^;aEbrVDVfk1J?%)ABhfn!wpH&nwvF49fS;=DsD_b#!hvbm%%K&t98n1 z=&k4+dIKO5{YZHhCn>(eF4o2-JVxUQAQO8FZ^6JpRv9*e&O)2!2}A bEs8?wUV$U$QM$P{mxZD=@rS#O<)pbemD z`fUK>r{60wA1o01LO1A+)w@B=cY(T0_-|qthmv8-SSA;3+L{~Jy}KoEPSW_@ngvl^ z2BdvPOc_d!Lr;pB!h6}wP%8xeY(6N31*n=f-y!A{t7&U>EE#PARm1L2QkalR5Nalh zKh4QABMV|JDZwt(c514PMs3T&>+bZf`jFwSIyiaJcIktTQ|o3<=>g2UbfL~vp6Ih- z*aXZ?)uikfC!P@ydTd_6&i{~arPB6up2I~IIU3=1ZLn*Eo@2R%PQC{ppiUF1O{dRN z$Lwn9N&0g#vCq@5nGsD9;AX}Ph3pl@jFj0Aovzy4DRF7z6)q@W17h;vIK8@=VZEIf zCubs%;B=6p`O@~&8cI8k))cIB`B}0vYZ)No;?@r9^P1`cBnUnNNbsrc6444eNsp)V z413nZMs^S_*>Of}?9nNDs0Sv?PT}eFkf=|e<=K0he(Il*Q#;wi;$1pBuxIB^?_--z zQu+Je<>D9yqHRV*hZ$-A(y!|D-V-(*5^+CVF7{7>pG42 ?07!o- zJ!@X;igCVT<Kj+HU}I_pn$jUX&=8rwf+8n>0Gw=AnMrP=B#_RVTg}YZv-tD!5_u z95(b%Z?RZ~t(J~BV+IA6nMxOS*6xAhpL+G =&?-RHv|gn|5{QyC1--$bQgp)*Hx{=B?llX%aYV*m$zz zLm$*#{vkN pQQzhkp9%pAbDIzcg|63E9zd0004eNkl `}ULO2cte9nX0d9qNpk0=(j0|gJjuzIZsU2cfRKVFTG_a z9C!Bvl&=2kBYI;$#tIKU;sG!nkFR}{tMfQuP9~u7i{neEK7R3j&&EoHFGm +lR _xYy5OG`DH+>-Wdu==YT{Xi*veoQy`p)v Date: Mon, 23 Sep 2019 12:56:33 -0500 Subject: [PATCH 25/76] add url action (#10413) --- source/_lovelace/entity-button.markdown | 14 +++++- source/_lovelace/glance.markdown | 14 +++++- source/_lovelace/picture-elements.markdown | 56 ++++++++++++++++++---- source/_lovelace/picture-entity.markdown | 14 +++++- source/_lovelace/picture-glance.markdown | 14 +++++- source/_lovelace/picture.markdown | 14 +++++- 6 files changed, 108 insertions(+), 18 deletions(-) diff --git a/source/_lovelace/entity-button.markdown b/source/_lovelace/entity-button.markdown index 505584bdecb..ee3ed4a6b4e 100644 --- a/source/_lovelace/entity-button.markdown +++ b/source/_lovelace/entity-button.markdown @@ -57,7 +57,7 @@ tap_action: keys: action: required: true - description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `none`)" + description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)" type: string default: "`toggle`" navigation_path: @@ -65,6 +65,11 @@ tap_action: description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`" type: string default: none + url_path: + required: false + description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`" + type: string + default: none service: required: false description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`" @@ -82,7 +87,7 @@ hold_action: keys: action: required: true - description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `none`)" + description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)" type: string default: "`more-info`" navigation_path: @@ -90,6 +95,11 @@ hold_action: description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`" type: string default: none + url_path: + required: false + description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`" + type: string + default: none service: required: false description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`" diff --git a/source/_lovelace/glance.markdown b/source/_lovelace/glance.markdown index 1fba596dda4..c69af02b1e1 100644 --- a/source/_lovelace/glance.markdown +++ b/source/_lovelace/glance.markdown @@ -82,7 +82,7 @@ tap_action: keys: action: required: true - description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `none`)" + description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)" type: string default: "`more-info`" navigation_path: @@ -90,6 +90,11 @@ tap_action: description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`" type: string default: none + url_path: + required: false + description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`" + type: string + default: none service: required: false description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`" @@ -107,7 +112,7 @@ hold_action: keys: action: required: true - description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `none`)" + description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)" type: string default: "`more-info`" navigation_path: @@ -115,6 +120,11 @@ hold_action: description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`" type: string default: none + url_path: + required: false + description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`" + type: string + default: none service: required: false description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`" diff --git a/source/_lovelace/picture-elements.markdown b/source/_lovelace/picture-elements.markdown index 0b4ca1a0760..e5514720696 100644 --- a/source/_lovelace/picture-elements.markdown +++ b/source/_lovelace/picture-elements.markdown @@ -82,7 +82,7 @@ tap_action: keys: action: required: true - description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `none`)" + description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)" type: string default: "`more-info`" navigation_path: @@ -90,6 +90,11 @@ tap_action: description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`" type: string default: none + url_path: + required: false + description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`" + type: string + default: none service: required: false description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`" @@ -107,7 +112,7 @@ hold_action: keys: action: required: true - description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `none`)" + description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)" type: string default: "`more-info`" navigation_path: @@ -115,6 +120,11 @@ hold_action: description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`" type: string default: none + url_path: + required: false + description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`" + type: string + default: none service: required: false description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`" @@ -162,7 +172,7 @@ tap_action: keys: action: required: true - description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `none`)" + description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)" type: string default: "`more-info`" navigation_path: @@ -170,6 +180,11 @@ tap_action: description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`" type: string default: none + url_path: + required: false + description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`" + type: string + default: none service: required: false description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`" @@ -187,7 +202,7 @@ hold_action: keys: action: required: true - description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `none`)" + description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`,, `none`)" type: string default: "`more-info`" navigation_path: @@ -195,6 +210,11 @@ hold_action: description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`" type: string default: none + url_path: + required: false + description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`" + type: string + default: none service: required: false description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`" @@ -264,7 +284,7 @@ tap_action: keys: action: required: true - description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `none`)" + description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)" type: string default: "`more-info`" navigation_path: @@ -272,6 +292,11 @@ tap_action: description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`" type: string default: none + url_path: + required: false + description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`" + type: string + default: none service: required: false description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`" @@ -289,7 +314,7 @@ hold_action: keys: action: required: true - description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `none`)" + description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)" type: string default: "`more-info`" navigation_path: @@ -297,6 +322,11 @@ hold_action: description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`" type: string default: none + url_path: + required: false + description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`" + type: string + default: none service: required: false description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`" @@ -336,7 +366,7 @@ tap_action: keys: action: required: true - description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `none`)" + description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)" type: string default: "`more-info`" navigation_path: @@ -344,6 +374,11 @@ tap_action: description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`" type: string default: none + url_path: + required: false + description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`" + type: string + default: none service: required: false description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`" @@ -361,7 +396,7 @@ hold_action: keys: action: required: true - description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `none`)" + description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)" type: string default: "`more-info`" navigation_path: @@ -369,6 +404,11 @@ hold_action: description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`" type: string default: none + url_path: + required: false + description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`" + type: string + default: none service: required: false description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`" diff --git a/source/_lovelace/picture-entity.markdown b/source/_lovelace/picture-entity.markdown index f5d70a8c936..e1e5ff31e04 100644 --- a/source/_lovelace/picture-entity.markdown +++ b/source/_lovelace/picture-entity.markdown @@ -62,7 +62,7 @@ tap_action: keys: action: required: true - description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `none`)" + description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)" type: string default: "`more-info`" navigation_path: @@ -70,6 +70,11 @@ tap_action: description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`" type: string default: none + url_path: + required: false + description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`" + type: string + default: none service: required: false description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`" @@ -87,7 +92,7 @@ hold_action: keys: action: required: true - description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `none`)" + description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)" type: string default: "`more-info`" navigation_path: @@ -95,6 +100,11 @@ hold_action: description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`" type: string default: none + url_path: + required: false + description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`" + type: string + default: none service: required: false description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`" diff --git a/source/_lovelace/picture-glance.markdown b/source/_lovelace/picture-glance.markdown index 33dc065843e..f1fc699bf35 100644 --- a/source/_lovelace/picture-glance.markdown +++ b/source/_lovelace/picture-glance.markdown @@ -61,7 +61,7 @@ tap_action: keys: action: required: true - description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `none`)" + description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)" type: string default: "`more-info`" navigation_path: @@ -69,6 +69,11 @@ tap_action: description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`" type: string default: none + url_path: + required: false + description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`" + type: string + default: none service: required: false description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`" @@ -86,7 +91,7 @@ hold_action: keys: action: required: true - description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `none`)" + description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)" type: string default: "`more-info`" navigation_path: @@ -94,6 +99,11 @@ hold_action: description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`" type: string default: none + url_path: + required: false + description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`" + type: string + default: none service: required: false description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`" diff --git a/source/_lovelace/picture.markdown b/source/_lovelace/picture.markdown index 65c9befd801..6170f9fe43a 100644 --- a/source/_lovelace/picture.markdown +++ b/source/_lovelace/picture.markdown @@ -27,7 +27,7 @@ tap_action: keys: action: required: true - description: "Action to perform (`call-service`, `navigate`, `none`)" + description: "Action to perform (`call-service`, `navigate`, `url`, `none`)" type: string default: "`none`" navigation_path: @@ -35,6 +35,11 @@ tap_action: description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`" type: string default: none + url_path: + required: false + description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`" + type: string + default: none service: required: false description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`" @@ -52,7 +57,7 @@ hold_action: keys: action: required: true - description: "Action to perform (`call-service`, `navigate`, `none`)" + description: "Action to perform (`call-service`, `navigate`, `url`, `none`)" type: string default: "`none`" navigation_path: @@ -60,6 +65,11 @@ hold_action: description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`" type: string default: none + url_path: + required: false + description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`" + type: string + default: none service: required: false description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`" From e1143553d1de33fe3cf25c5da7dfe87e624babd9 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Wed, 25 Sep 2019 20:21:13 +0200 Subject: [PATCH 26/76] Remove deprecated linksys_ap integration (ADR-0004) (#10434) --- source/_components/linksys_ap.markdown | 73 ------------------- .../2017-01-28-face-coffee-wink.markdown | 3 +- ...automation-editor-zwave-panel-ocr.markdown | 3 +- source/_posts/2017-12-03-release-59.markdown | 3 +- source/_posts/2019-08-28-release-98.markdown | 7 +- 5 files changed, 6 insertions(+), 83 deletions(-) delete mode 100644 source/_components/linksys_ap.markdown diff --git a/source/_components/linksys_ap.markdown b/source/_components/linksys_ap.markdown deleted file mode 100644 index 05285897853..00000000000 --- a/source/_components/linksys_ap.markdown +++ /dev/null @@ -1,73 +0,0 @@ ---- -title: "Linksys Access Points" -description: "Instructions on how to integrate Linksys Access Points into Home Assistant." -ha_category: - - Presence Detection -logo: linksys.png -ha_release: 0.37 -redirect_from: - - /components/device_tracker.linksys_ap/ ---- - - - -This integration is deprecated and will be removed in Home Assistant 0.100.0. - -For more information see [Architecture Decision Record: 0004](https://github.com/home-assistant/architecture/blob/master/adr/0004-webscraping.md). - -- -The `linksys_ap` platform offers presence detection by looking at connected devices to a Linksys based access point. - -It was tested with a LAPAC1750 AC1750 Dual Band Access Point. - -## Configuration - -To use a Linksys Access Point in your installation, add the following to your `configuration.yaml` file: - -```yaml -# Example configuration.yaml entry -device_tracker: - - platform: linksys_ap - host: 192.168.1.1 - username: YOUR_USERNAME - password: YOUR_PASSWORD -``` - -{% configuration %} -host: - description: The hostname or IP address of your access point, e.g., `192.168.1.1`. - required: true - type: string -username: - description: The username of an user with administrative privileges (read-only is sufficient). - required: true - type: string -password: - description: The password for your given admin account. - required: true - type: string -verify_ssl: - description: Verify SSL certificate for HTTPS request. - required: false - default: true - type: boolean -{% endconfiguration %} - -## Example - -Example for all configuration options: - -```yaml -# Example configuration.yaml entry -device_tracker: - - platform: linksys_ap - host: 192.168.1.1 - username: YOUR_USERNAME - password: YOUR_PASSWORD - verify_ssl: true - scan_interval: 6 - consider_home: 12 -``` - -See the [device tracker integration page](/components/device_tracker/) for instructions how to configure the people to be tracked. diff --git a/source/_posts/2017-01-28-face-coffee-wink.markdown b/source/_posts/2017-01-28-face-coffee-wink.markdown index 2f638bc440c..accbc45bdea 100644 --- a/source/_posts/2017-01-28-face-coffee-wink.markdown +++ b/source/_posts/2017-01-28-face-coffee-wink.markdown @@ -58,7 +58,7 @@ Thanks to [@konikvranik] the [HDMI CEC][cec] integration got a huge update with - Device tracker: [Sky hub][sky] support ([@alexmogavero]) - Support for [Lutron][lutron] RadioRA 2 ([@thecynic]) - TTS: Amazon [Polly TTS][polly] platform ([@robbiet480]) -- Device tracker: Support for [Linksys][linksys] Access Points ([@lukas-hetzenecker]) +- Device tracker: Support for Linksys Access Points ([@lukas-hetzenecker]) - Notify: Make calls with [Twilio][twilio] ([@fakezeta]) #### Improvements @@ -239,7 +239,6 @@ Experiencing issues introduced by this release? Please report them in our [issue [skybeacon]: /components/sensor.skybeacon/ [lutron]: /components/lutron/ [polly]: /components/tts.amazon_polly/ -[linksys]: /components/device_tracker.linksys_ap/ [emul-hue]: /components/emulated_hue/ [netatmo]: /components/netatmo/ [face]: /components/microsoft_face/ diff --git a/source/_posts/2017-05-20-automation-editor-zwave-panel-ocr.markdown b/source/_posts/2017-05-20-automation-editor-zwave-panel-ocr.markdown index c7e0936af09..d88039e6f5c 100644 --- a/source/_posts/2017-05-20-automation-editor-zwave-panel-ocr.markdown +++ b/source/_posts/2017-05-20-automation-editor-zwave-panel-ocr.markdown @@ -115,7 +115,7 @@ Experiencing issues introduced by this release? Please report them in our [issue - LIFX: avoid out-of-bounds hue aborting the colorloop effect ([@amelchio] - [#7495]) - Upgrade async_timeout to 1.2.1 ([@fabaff] - [#7490]) - Prevent printing of packets. ([@aequitas] - [#7492]) ([rflink docs]) -- Upgrade beautifulsoup4 to 4.6.0 ([@fabaff] - [#7491]) ([device_tracker.linksys_ap docs]) ([sensor.scrape docs]) +- Upgrade beautifulsoup4 to 4.6.0 ([@fabaff] - [#7491]) ([sensor.scrape docs]) - Switch onkyo to pypi ([@andrey-git] - [#7497]) ([media_player.onkyo docs]) - Fixed potential AttributeError when checking for deleted sources ([@scarface-4711] - [#7502]) ([media_player.denonavr docs]) - Refactor sun component for correctness ([@armills] - [#7295]) @@ -353,7 +353,6 @@ Experiencing issues introduced by this release? Please report them in our [issue [cover.lutron_caseta docs]: /components/cover.lutron_caseta/ [datadog docs]: /components/datadog/ [device_tracker.automatic docs]: /components/device_tracker.automatic/ -[device_tracker.linksys_ap docs]: /components/device_tracker.linksys_ap/ [device_tracker.unifi docs]: /components/device_tracker.unifi/ [dweet docs]: /components/dweet/ [eight_sleep docs]: /components/eight_sleep/ diff --git a/source/_posts/2017-12-03-release-59.markdown b/source/_posts/2017-12-03-release-59.markdown index 4a11ec81f81..7cbf3b7f210 100644 --- a/source/_posts/2017-12-03-release-59.markdown +++ b/source/_posts/2017-12-03-release-59.markdown @@ -61,7 +61,7 @@ If you follow our [twitter feed](https://twitter.com/home_assistant) then you ma ## Release 0.59.2 - December 6 - Require FF43 for latest js ([@andrey-git] - [#10941]) -- Fix linksys_ap.py by inheriting DeviceScanner ([@mateuszdrab] - [#10947]) ([device_tracker.linksys_ap docs]) +- Fix linksys_ap.py by inheriting DeviceScanner ([@mateuszdrab] - [#10947]) - Upgrade tellduslive library version (closes https://github.com/home-assistant/home-assistant/issues/10922) ([@molobrakos] - [#10950]) ([tellduslive docs]) - Allow chime to work for wink siren/chime ([@w1ll1am23] - [#10961]) ([wink docs]) - Reload closest store on api menu request ([@craigjmidwinter] - [#10962]) ([dominos docs]) @@ -420,7 +420,6 @@ Experiencing issues introduced by this release? Please report them in our [issue [@molobrakos]: https://github.com/molobrakos [@w1ll1am23]: https://github.com/w1ll1am23 [@craigjmidwinter]: https://github.com/craigjmidwinter -[device_tracker.linksys_ap docs]: /components/device_tracker.linksys_ap/ [dominos docs]: /components/dominos/ [media_player.cast docs]: /components/media_player.cast/ [tellduslive docs]: /components/tellduslive/ diff --git a/source/_posts/2019-08-28-release-98.markdown b/source/_posts/2019-08-28-release-98.markdown index 793f629618d..fa2c075c2ae 100644 --- a/source/_posts/2019-08-28-release-98.markdown +++ b/source/_posts/2019-08-28-release-98.markdown @@ -223,7 +223,7 @@ Experiencing issues introduced by this release? Please report them in our [issue - **UPS** - ([@frenck] - [#25746]) ([ups docs]) - **FEDEX** - ([@frenck] - [#25745]) ([fedex docs]) - **SRP Energy** - ([@frenck] - [#25754]) - - **Linksys AP** - ([@frenck] - [#25804]) ([linksys_ap docs]) + - **Linksys AP** - ([@frenck] - [#25804]) - **Ruter** - *Removed* - Ruter Labs which hosted the API has shut down the service. As an alternative, see the Entur public transport integration. - ([@ludeeus] - [#26041]) - **Googlehome** - *Removed* - In recent months this integration was broken when Google changed the port they serve this information on, in addition to requiring a token header in the request. That method requires the user to have a rooted android device, and even then then the "result" was not the best, since you often need to get that token. As an alternative to the device tracker, users can look into https://community.home-assistant.io/t/monitor-reliable-multi-user-distributed-bluetooth-occupancy-presence-detection/68505 - ([@ludeeus] - [#26035]) @@ -355,7 +355,7 @@ anymore. - ([@abmantis] - [#25971]) - Updater component is always available and shows on/off depending on whether an update is available or not ([@Santobert] - [#25418]) ([updater docs]) (breaking change) - Integration requirement check refactor ([@elupus] - [#25626]) - Add Mikrotik hub and rework device tracker ([@slackr31337] - [#25664]) ([mikrotik docs]) (breaking change) -- Deprecates linksys_ap integration (ADR-0004) ([@frenck] - [#25804]) ([linksys_ap docs]) (breaking change) +- Deprecates linksys_ap integration (ADR-0004) ([@frenck] - [#25804]) (breaking change) - Fix Broadlink MP1 unavailable error ([@miroslawkrol] - [#25806]) ([broadlink docs]) - Add arcus trigonometry functions to templates ([@tomilehto] - [#25510]) - Add error handling to !include command in yaml ([@thomasloven] - [#25801]) @@ -418,7 +418,7 @@ anymore. - ([@abmantis] - [#25971]) - Fix bmw_connected_drive and eq3btsmart components by updating their dependencies ([@OliverRepo] - [#26012]) ([bmw_connected_drive docs]) ([eq3btsmart docs]) - Upgrade luftdaten to 0.6.3 ([@fabaff] - [#26009]) ([luftdaten docs]) - Upgrade pysnmp to 4.4.11 ([@fabaff] - [#26010]) ([snmp docs]) -- Upgrade beautifulsoup4 to 4.8.0 ([@fabaff] - [#26006]) ([linksys_ap docs]) ([scrape docs]) +- Upgrade beautifulsoup4 to 4.8.0 ([@fabaff] - [#26006]) ([scrape docs]) - Allow entities to indicate they should be disabled by default ([@balloob] - [#26011]) - Hue tweak registered device type + discovery exception ([@balloob] - [#25977]) ([hue docs]) - Fix config entry has options check ([@balloob] - [#25976]) ([config docs]) @@ -821,7 +821,6 @@ anymore. - ([@abmantis] - [#25971]) [kodi docs]: /components/kodi/ [lacrosse docs]: /components/lacrosse/ [life360 docs]: /components/life360/ -[linksys_ap docs]: /components/linksys_ap/ [luci docs]: /components/luci/ [luftdaten docs]: /components/luftdaten/ [lutron docs]: /components/lutron/ From 52416cc248c204a4d447baf363092633d355c0e1 Mon Sep 17 00:00:00 2001 From: Rami MoslehDate: Wed, 25 Sep 2019 21:26:17 +0300 Subject: [PATCH 27/76] Add Alarm Control Panel to secure devices (#10250) * Add Alarm Control Panel to secure devices * :pencil2: Tweak --- source/_components/google_assistant.markdown | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/source/_components/google_assistant.markdown b/source/_components/google_assistant.markdown index e5ea5ff9143..89054e23769 100644 --- a/source/_components/google_assistant.markdown +++ b/source/_components/google_assistant.markdown @@ -200,6 +200,7 @@ Currently, the following domains are available to be used with Google Assistant, - climate (temperature setting, hvac_mode) - vacuum (dock/start/stop/pause) - sensor (temperature setting, only for temperature sensor) +- Alarm Control Panel (Arm/Disarm) The domain groups contains groups containing all items, by example group.all_automations. When telling Google Assistant to shut down everything, this will lead in this example to disabling all automations @@ -207,10 +208,12 @@ Currently, the following domains are available to be used with Google Assistant, ### Secure Devices -Certain devices are considered secure, including anything in the `lock` domain, and `covers` with device types `garage` and `door`. +Certain devices are considered secure, including anything in the `lock` domain, `alarm_control_panel` domain and `covers` with device types `garage` and `door`. By default these cannot be opened by Google Assistant unless a `secure_devices_pin` is set up. To allow opening, set the `secure_devices_pin` to something and you will be prompted to speak the pin when opening the device. Closing and locking these devices does not require a pin. +For the Alarm Control Panel if a code is set it must be the same as the `secure_devices_pin`. If `code_arm_required` is set to `false` the system will arm without prompting for the pin. + ### Media Player Sources Media Player sources are sent via the Modes trait in Google Assistant. From 7e0af7d2b047488ac07a7615962bab51bf9ff450 Mon Sep 17 00:00:00 2001 From: Kevin EifingerDate: Wed, 25 Sep 2019 20:29:34 +0200 Subject: [PATCH 28/76] Add documentation for here_travel_time (#9648) * Add documentation for here_travel_time * Add suggested changes to here_travel_time.markdown * Update configuration options to latest fit parent * Mention scan_interval explicitly * :pencil2: Tweak * add mode: bicycle * Add mode: publicTransportTimeTable * Update to latest origin/destination options * Remove reference to zone friendly name * Update ha_release to 0.100 * floats are bad and I should feel bad * :pencil2: Tweaks --- source/_components/here_travel_time.markdown | 172 +++++++++++++++++++ source/images/supported_brands/HERE_logo.svg | 14 ++ 2 files changed, 186 insertions(+) create mode 100644 source/_components/here_travel_time.markdown create mode 100644 source/images/supported_brands/HERE_logo.svg diff --git a/source/_components/here_travel_time.markdown b/source/_components/here_travel_time.markdown new file mode 100644 index 00000000000..e93da66fa16 --- /dev/null +++ b/source/_components/here_travel_time.markdown @@ -0,0 +1,172 @@ +--- +title: "HERE Travel Time" +description: "Instructions on how to add HERE travel time to Home Assistant." +logo: HERE_logo.svg +ha_category: + - Transport + - Sensor +ha_iot_class: Cloud Polling +ha_release: "0.100" +--- + +The `here_travel_time` sensor provides travel time from the [HERE Routing API](https://developer.here.com/documentation/routing/topics/introduction.html). + +## Setup + +You need to register for an API key by following the instructions [here](https://developer.here.com/documentation/routing/topics/introduction.html?create=Freemium-Basic&keepState=true&step=account). + +HERE offers a Freemium Plan which includes 250.000 free Transactions per month. For the Routing API, one transaction equals one request with one starting point (no multi stop). More information can be found [here](https://developer.here.com/faqs#payment-subscription) + +By default HERE will deactivate your account if you exceed the free Transaction limit for the month. You can add payment details to reenable your account as described [here](https://developer.here.com/faqs) + +## Configuration + +To enable the sensor, add the following lines to your `configuration.yaml` file: + +```yaml +# Example entry for configuration.yaml +sensor: + - platform: here_travel_time + app_id: "YOUR_APP_ID" + app_code: "YOUR_APP_CODE" + origin_latitude: "51.222975" + origin_longitude: "9.267577" + destination_latitude: "51.257430" + destination_longitude: "9.335892" +``` + +{% configuration %} +app_id: + description: "Your application's API id (get one by following the instructions above)." + required: true + type: string +app_code: + description: "Your application's API code (get one by following the instructions above)." + required: true + type: string +origin_latitude: + description: "The starting latitude for calculating travel distance and time. Must be used in combination with origin_longitude. Cannot be used in combination with `origin_entity_id`." + required: exclusive + type: float +origin_longitude: + description: "The starting longitude for calculating travel distance and time. Must be used in combination with origin_latitude. Cannot be used in combination with `origin_entity_id`." + required: exclusive + type: float +destination_latitude: + description: "The finishing latitude for calculating travel distance and time. Must be used in combination with destination_longitude. Cannot be used in combination with `destination_entity_id`." + required: exclusive + type: float +destination_longitude: + description: "The finishing longitude for calculating travel distance and time. Must be used in combination with destination_latitude. Cannot be used in combination with `destination_entity_id`." + required: exclusive + type: float +origin_entity_id: + description: "The entity_id holding the starting point for calculating travel distance and time. Cannot be used in combination with `origin_latitude`/`origin_longitude`." + required: exclusive + type: string +destination_entity_id: + description: "The entity_id holding the finishing point for calculating travel distance and time. Cannot be used in combination with `destination_latitude`/`destination_longitude`." + required: exclusive + type: string +name: + description: A name to display on the sensor. The default is "HERE Travel Time". + required: false + type: string + default: "HERE Travel Time" +mode: + description: "You can choose between: `bicycle`, `car`, `pedestrian`, `publicTransport`, `publicTransportTimeTable` or `truck`. The default is `car`. For public transport `publicTransportTimetable` is recommended. You can find more information on the modes [here](https://developer.here.com/documentation/routing/topics/transport-modes.html) and on the public modes [here](https://developer.here.com/documentation/routing/topics/public-transport-routing.html)" + required: false + type: string + default: "car" +route_mode: + description: "You can choose between: `fastest`, or `shortest`. This will determine whether the route is optimized to be the shortest and completely disregard traffic and speed limits or the fastest route according to the current traffic information. The default is `fastest`" + required: false + type: string + default: "fastest" +traffic_mode: + description: "You can choose between: `true`, or `false`. Decide whether you want to take the current traffic condition into account. Default is `false`." + required: false + type: boolean + default: false +unit_system: + description: "You can choose between `metric` or `imperial`." + required: false + default: Defaults to `metric` or `imperial` based on the Home Assistant configuration. + type: string +scan_interval: + description: "Defines the update interval of the sensor in seconds. Defaults to 300 (5 minutes)." + required: false + type: integer + default: 300 +{% endconfiguration %} + +## Dynamic Configuration + +Tracking can be set up to track entities of type `device_tracker`, `zone`, `sensor` and `person`. If an entity is placed in the origin or destination then every 5 minutes when the platform updates, it will use the latest location of that entity. + +```yaml +# Example entry for configuration.yaml +sensor: + # Tracking entity to entity + - platform: here_travel_time + app_id: "YOUR_APP_ID" + app_code: "YOUR_APP_CODE" + name: Phone To Home + origin_entity_id: device_tracker.mobile_phone + destination_entity_id: zone.home + # Full config + - platform: here_travel_time + app_id: "YOUR_APP_ID" + app_code: "YOUR_APP_CODE" + name: Work to Home By Bike + origin_entity_id: zone.work + destination_latitude: 59.2842 + destination_longitude: 59.2642 + mode: bicycle + route_mode: fastest + traffic_mode: false + unit_system: imperial + scan_interval: 2678400 # 1 month + + +``` + +## Entity Tracking + +- **device_tracker** + - If the state is a zone, then the zone location will be used + - If the state is not a zone, it will look for the longitude and latitude attributes +- **zone** + - Uses the longitude and latitude attributes +- **sensor** + - If the state is a zone, then will use the zone location + - All other states will be passed directly into the HERE API + - This includes all valid locations listed in the *Configuration Variables* + +## Updating sensors on-demand using Automation + +You can also use the `homeassistant.update_entity` service to update the sensor on-demand. For example, if you want to update `sensor.morning_commute` every 2 minutes on weekday mornings, you can use the following automation: + +```yaml +automation: +- id: update_morning_commute_sensor + alias: "Commute - Update morning commute sensor" + initial_state: 'on' + trigger: + - platform: time_pattern + minutes: '/2' + condition: + - condition: time + after: '08:00:00' + before: '11:00:00' + - condition: time + weekday: + - mon + - tue + - wed + - thu + - fri + action: + - service: homeassistant.update_entity + entity_id: sensor.morning_commute +``` diff --git a/source/images/supported_brands/HERE_logo.svg b/source/images/supported_brands/HERE_logo.svg new file mode 100644 index 00000000000..3604dac7874 --- /dev/null +++ b/source/images/supported_brands/HERE_logo.svg @@ -0,0 +1,14 @@ + + From 0e10540dadcab881696aab4e02e50646bf5c6aad Mon Sep 17 00:00:00 2001 From: Gil Peeters Date: Thu, 26 Sep 2019 04:31:38 +1000 Subject: [PATCH 29/76] Added 'availability_template' to Template Sensor platform (#10308) * Added 'availability_template' to Template Sensor platform * Fixed Syntax and default * Removed optional parameter from example config * Apply suggestions from code review Co-Authored-By: Franck Nijhof * Added accidentally removed attribute_template doco * Add missing default: * The Bain of editing in GitHub! Aaargh!! --- source/_components/template.markdown | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/source/_components/template.markdown b/source/_components/template.markdown index 159972592b7..ebda7f158cf 100644 --- a/source/_components/template.markdown +++ b/source/_components/template.markdown @@ -18,6 +18,7 @@ The `template` platform supports sensors which get their values from other entit The configuration of Template Sensors depends on what you want them to be. Adding the following to your `configuration.yaml` file will create two sensors, one for the current sun angle and one for the time of the next sunrise: {% raw %} + ```yaml # Example configuration.yaml entry sensor: @@ -31,6 +32,7 @@ sensor: sunrise: value_template: "{{ state_attr('sun.sun', 'next_rising') }}" ``` + {% endraw %} {% configuration %} @@ -76,7 +78,12 @@ sensor: "attribute: template": description: The attribute and corresponding template. required: true - type: template + type: template + availability_template: + description: Defines a template to get the `available` state of the component. If the template returns `true`, the device is `available`. If the template returns any other value, the device will be `unavailable`. If `availability_template` is not configured, the component will always be `available`. + required: false + type: template + default: true device_class: description: Sets the class of the device, changing the device state and icon that is displayed on the UI (see below). It does not set the `unit_of_measurement`. required: false @@ -105,6 +112,7 @@ In this section, you find some real-life examples of how to use this sensor. This example shows the sun angle in the frontend. {% raw %} + ```yaml sensor: - platform: template @@ -114,6 +122,7 @@ sensor: unit_of_measurement: 'Β°' value_template: "{{ '%+.1f'|format(state_attr('sun.sun', 'elevation')) }}" ``` + {% endraw %} ### Renaming Sensor Output @@ -122,6 +131,7 @@ If you don't like the wording of a sensor output, then the Template Sensor can h a simple example: {% raw %} + ```yaml sensor: - platform: template @@ -135,6 +145,7 @@ sensor: down {% endif %} ``` + {% endraw %} ### Multiline Example With an `if` Test @@ -142,6 +153,7 @@ sensor: This example shows a multiple line template with an `if` test. It looks at a sensing switch and shows `on`/`off` in the frontend. {% raw %} + ```yaml sensor: - platform: template @@ -159,6 +171,7 @@ sensor: failed {% endif %} ``` + {% endraw %} ### Change The Unit of Measurement @@ -166,6 +179,7 @@ sensor: With a Template Sensor, it's easy to convert given values into others if the unit of measurement doesn't fit your needs. {% raw %} + ```yaml sensor: - platform: template @@ -180,6 +194,7 @@ sensor: unit_of_measurement: 'kB/s' value_template: "{{ states('sensor.transmission_up_speed')|float * 1024 }}" ``` + {% endraw %} ### Change The Icon @@ -187,6 +202,7 @@ sensor: This example shows how to change the icon based on the day/night cycle. {% raw %} + ```yaml sensor: - platform: template @@ -206,6 +222,7 @@ sensor: mdi:weather-night {% endif %} ``` + {% endraw %} ### Change The Entity Picture @@ -213,6 +230,7 @@ sensor: This example shows how to change the entity picture based on the day/night cycle. {% raw %} + ```yaml sensor: - platform: template @@ -232,6 +250,7 @@ sensor: /local/nighttime.png {% endif %} ``` + {% endraw %} ### Change the Friendly Name Used in the Frontend @@ -239,6 +258,7 @@ sensor: This example shows how to change the `friendly_name` based on a state. {% raw %} + ```yaml sensor: - platform: template @@ -253,6 +273,7 @@ sensor: value_template: "{{ states('sensor.power_consumption') }}" unit_of_measurement: 'kW' ``` + {% endraw %} ### Add Custom Attributes @@ -285,6 +306,7 @@ sensor: {{ state_attr('device_tracker.my_device_gps','longitude') }} {% endif %} ``` + {% endraw %} ### Working without entities @@ -294,6 +316,7 @@ The `template` sensors are not limited to use attributes from other entities but This template contains no entities that will trigger an update, so we add an `entity_id:` line with an entity that will force an update - here we're using a [date sensor](/components/sensor.time_date/) to get a daily update: {% raw %} + ```yaml sensor: - platform: template @@ -304,6 +327,7 @@ sensor: friendly_name: 'Not smoking' unit_of_measurement: "Days" ``` + {% endraw %} Useful entities to choose might be `sensor.date` which update once per day or `sensor.time` which updates once per minute. @@ -311,6 +335,7 @@ Useful entities to choose might be `sensor.date` which update once per day or `s An alternative to this is to create an interval-based automation that calls the service `homeassistant.update_entity` for the entities requiring updates. This modified example updates every 5 minutes: {% raw %} + ```yaml sensor: - platform: template @@ -330,4 +355,5 @@ automation: - service: homeassistant.update_entity entity_id: sensor.nonsmoker ``` + {% endraw %} From fbc7dfb14a23477df521c6519e821f9295a553c2 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Wed, 25 Sep 2019 20:32:11 +0200 Subject: [PATCH 30/76] Remove deprecated ups integration (ADR-0004) (#10423) --- source/_components/ups.markdown | 59 ------------------ ...onfig-panel-and-state-restoration.markdown | 3 +- .../2017-04-22-ikea-tradfri--spotify.markdown | 3 +- source/_posts/2017-06-17-release-47.markdown | 3 +- source/_posts/2017-07-02-release-48.markdown | 3 +- source/_posts/2017-10-07-release-55.markdown | 3 +- source/_posts/2019-08-28-release-98.markdown | 5 +- source/images/supported_brands/ups.png | Bin 8184 -> 0 bytes 8 files changed, 7 insertions(+), 72 deletions(-) delete mode 100644 source/_components/ups.markdown delete mode 100644 source/images/supported_brands/ups.png diff --git a/source/_components/ups.markdown b/source/_components/ups.markdown deleted file mode 100644 index 9a1c385bcd6..00000000000 --- a/source/_components/ups.markdown +++ /dev/null @@ -1,59 +0,0 @@ ---- -title: UPS Sensor -description: "Instructions on how to set up UPS sensors within Home Assistant." -logo: ups.png -ha_category: - - Postal Service -ha_release: 0.39 -ha_iot_class: Cloud Polling -redirect_from: - - /components/sensor.ups/ ---- - - - -This integration is deprecated and will be removed in Home Assistant 0.100.0. - -For more information see [Architecture Decision Record: 0004](https://github.com/home-assistant/architecture/blob/master/adr/0004-webscraping.md). - -- -The `ups` platform allows one to track deliveries by the [UPS](https://www.ups.com/). To use this sensor, you need a [My UPS Account](https://www.ups.com/mychoice). - -## Configuration - -To enable this sensor, add the following lines to your `configuration.yaml`: - -```yaml -# Example configuration.yaml entry -sensor: - - platform: ups - username: YOUR_USERNAME - password: YOUR_PASSWORD -``` - -Configuration options for the UPS Sensor: - -- **username** (*Required*): The username to access the UPS My Choice service. -- **password** (*Required*): The password for the given username. -- **name** (*Optional*): Name the sensor. -- **scan_inverval** (*Optional*): Minimum time interval between updates. Default is 1 hour. Supported formats: - - `scan_interval: 'HH:MM:SS'` - - `scan_interval: 'HH:MM'` - - Time period dictionary, e.g.: -scan_interval: - # At least one of these must be specified: - days: 0 - hours: 0 - minutes: 3 - seconds: 30 - milliseconds: 0 -- --The UPS sensor logs into the UPS My Choice website to scrape package data. It does not use an API. Use at your own risk. -- --If the UPS sensor is throwing an error about not being able to login to the UPS My Choice website, it's likely because there is a new UPS Technology Agreement (UTA) preventing the scraper from accessing the package data. Login to UPS My Choice manually and accept the UTA to resolve this. -diff --git a/source/_posts/2017-02-25-config-panel-and-state-restoration.markdown b/source/_posts/2017-02-25-config-panel-and-state-restoration.markdown index a71496711bd..06a3b70afcd 100644 --- a/source/_posts/2017-02-25-config-panel-and-state-restoration.markdown +++ b/source/_posts/2017-02-25-config-panel-and-state-restoration.markdown @@ -115,7 +115,7 @@ And a final shout out to [Pascal][@pvizeli]. He keeps improving the performance - [Telegram] webhooks ([@scipioni]) - Added [Openhome][openhome] support ([@bazwilliams]) -- [UPS][ups] sensor ([@happyleavesaoc]) +- UPS sensor ([@happyleavesaoc]) - [FEDex][fedex] sensor ([@happyleavesaoc]) - [Gstreamer][gstreamer] media player ([@happyleavesaoc]) - [iTach Remote][itach] Platform ([@alanfischer]) @@ -286,7 +286,6 @@ Experiencing issues introduced by this release? Please report them in our [issue [telegram]: /components/webhooks/ [pushsafer]: /components/notify.pushsafer/ [openhome]: /components/media_player.openhome/ -[ups]: /components/sensor.ups/ [fedex]: /components/sensor.fedex/ [fido]: /components/sensor.fido/ [gstreamer]: /components/media_player.gstreamer/ diff --git a/source/_posts/2017-04-22-ikea-tradfri--spotify.markdown b/source/_posts/2017-04-22-ikea-tradfri--spotify.markdown index d2721040083..55451d8171f 100644 --- a/source/_posts/2017-04-22-ikea-tradfri--spotify.markdown +++ b/source/_posts/2017-04-22-ikea-tradfri--spotify.markdown @@ -138,7 +138,7 @@ Experiencing issues introduced by this release? Please report them in our [issue - Replace 'vendor_id' with 'arch' (fixes #7003) ([@fabaff] - [#7023]) - more tests for slugify ([@micw] - [#7027]) - Additional ZWave coverage ([@armills] - [#7024]) ([zwave docs]) -- bump ups version ([@happyleavesaoc] - [#7033]) ([sensor.ups docs]) +- bump ups version ([@happyleavesaoc] - [#7033]) - update usps version ([@happyleavesaoc] - [#7035]) ([sensor.usps docs]) - update fedex ([@happyleavesaoc] - [#7034]) ([sensor.fedex docs]) - Google TTS can't read percent sign (#6971) ([@pezinek] - [#7030]) ([tts.google docs]) @@ -467,7 +467,6 @@ Experiencing issues introduced by this release? Please report them in our [issue [sensor.qnap docs]: /components/sensor.qnap/ [sensor.speedtest docs]: /components/sensor.speedtest/ [sensor.systemmonitor docs]: /components/sensor.systemmonitor/ -[sensor.ups docs]: /components/sensor.ups/ [sensor.usps docs]: /components/sensor.usps/ [sensor.vera docs]: /components/sensor.vera/ [sun docs]: /components/sun/ diff --git a/source/_posts/2017-06-17-release-47.markdown b/source/_posts/2017-06-17-release-47.markdown index 88e66b3c131..aa7410a1fe8 100644 --- a/source/_posts/2017-06-17-release-47.markdown +++ b/source/_posts/2017-06-17-release-47.markdown @@ -272,7 +272,7 @@ automation: - Fix EntityComponent handle entities without a name ([@balloob] - [#8065]) - Update pyunifi component to use APIError passed from pyunifi 2.13. Better accommodate login failures with wrapper in pyunifi 2.13. ([@finish06] - [#7899]) ([device_tracker.unifi docs]) - bump usps version ([@happyleavesaoc] - [#8074]) ([sensor.usps docs]) -- bump ups ([@happyleavesaoc] - [#8075]) ([sensor.ups docs]) +- bump ups ([@happyleavesaoc] - [#8075]) [#7152]: https://github.com/home-assistant/home-assistant/pull/7152 [#7318]: https://github.com/home-assistant/home-assistant/pull/7318 @@ -538,7 +538,6 @@ automation: [sensor.snmp docs]: /components/sensor.snmp/ [sensor.statistics docs]: /components/sensor.statistics/ [sensor.template docs]: /components/sensor.template/ -[sensor.ups docs]: /components/sensor.ups/ [sensor.usps docs]: /components/sensor.usps/ [sensor.waqi docs]: /components/sensor.waqi/ [sensor.wunderground docs]: /components/sensor.wunderground/ diff --git a/source/_posts/2017-07-02-release-48.markdown b/source/_posts/2017-07-02-release-48.markdown index ac9cc2897b6..b79e876f515 100644 --- a/source/_posts/2017-07-02-release-48.markdown +++ b/source/_posts/2017-07-02-release-48.markdown @@ -131,7 +131,7 @@ light: - Add initial support for Shiftr.io ([@fabaff] - [#7974]) ([shiftr docs]) (new-platform) - Add option to set language of openweathermap sensor, and handle updating errors ([@azogue] - [#8046]) ([sensor.openweathermap docs]) - Bump pyEmby version to account for API changes ([@mezz64] - [#8070]) ([media_player.emby docs]) -- bump ups ([@happyleavesaoc] - [#8075]) ([sensor.ups docs]) +- bump ups ([@happyleavesaoc] - [#8075]) - bump usps version ([@happyleavesaoc] - [#8074]) ([sensor.usps docs]) - Add to zwave services descriptions ([@andrey-git] - [#8072]) - Fix attribute entity ([@pvizeli] - [#8066]) (breaking change) @@ -496,7 +496,6 @@ light: [sensor.openweathermap docs]: /components/sensor.openweathermap/ [sensor.pi_hole docs]: /components/sensor.pi_hole/ [sensor.upnp docs]: /components/sensor.upnp/ -[sensor.ups docs]: /components/sensor.ups/ [sensor.usps docs]: /components/sensor.usps/ [sensor.verisure docs]: /components/sensor.verisure/ [sensor.wunderground docs]: /components/sensor.wunderground/ diff --git a/source/_posts/2017-10-07-release-55.markdown b/source/_posts/2017-10-07-release-55.markdown index c36885896ab..67ef95a5833 100644 --- a/source/_posts/2017-10-07-release-55.markdown +++ b/source/_posts/2017-10-07-release-55.markdown @@ -105,7 +105,7 @@ Experiencing issues introduced by this release? Please report them in our [issue - Upgrade Sphinx to 1.6.4 ([@fabaff] - [#9584]) - Bump pyatv to 0.3.5 ([@postlund] - [#9586]) ([apple_tv docs]) ([media_player.apple_tv docs]) - New Wink services. pair new device, rename, and delete, add new lock key code. Add water heater support ([@w1ll1am23] - [#9303]) ([wink docs]) ([binary_sensor.wink docs]) ([lock.wink docs]) (breaking change) -- Fixes UPS MyChoice exception ([@bachya] - [#9587]) ([sensor.ups docs]) +- Fixes UPS MyChoice exception ([@bachya] - [#9587]) - FedEx: Adds "packages" as a unit ([@bachya] - [#9588]) ([sensor.fedex docs]) - Cleanup entity & remove warning ([@pvizeli] - [#9606]) - Add OwnTracks over HTTP ([@balloob] - [#9582]) ([http docs]) ([device_tracker.owntracks docs]) ([device_tracker.owntracks_http docs]) (new-platform) @@ -369,7 +369,6 @@ Experiencing issues introduced by this release? Please report them in our [issue [sensor.systemmonitor docs]: /components/sensor.systemmonitor/ [sensor.thethingsnetwork docs]: /components/sensor.thethingsnetwork/ [sensor.tibber docs]: /components/sensor.tibber/ -[sensor.ups docs]: /components/sensor.ups/ [sensor.usps docs]: /components/sensor.usps/ [sensor.vera docs]: /components/sensor.vera/ [sensor.wunderground docs]: /components/sensor.wunderground/ diff --git a/source/_posts/2019-08-28-release-98.markdown b/source/_posts/2019-08-28-release-98.markdown index fa2c075c2ae..3afa6a8cabd 100644 --- a/source/_posts/2019-08-28-release-98.markdown +++ b/source/_posts/2019-08-28-release-98.markdown @@ -220,7 +220,7 @@ Experiencing issues introduced by this release? Please report them in our [issue Integrations which make use of web scraping and are pending for removal in Home Assistant 0.100.0 [ADR-004](https://github.com/home-assistant/architecture/blob/master/adr/0004-webscraping.md): - **USPS** - ([@frenck] - [#25743]) ([usps docs]) - **SYTADIN** - ([@frenck] - [#25742]) - - **UPS** - ([@frenck] - [#25746]) ([ups docs]) + - **UPS** - ([@frenck] - [#25746]) - **FEDEX** - ([@frenck] - [#25745]) ([fedex docs]) - **SRP Energy** - ([@frenck] - [#25754]) - **Linksys AP** - ([@frenck] - [#25804]) @@ -349,7 +349,7 @@ anymore. - ([@abmantis] - [#25971]) - Manufacturer specific channel for SmartThings. ([@Adminiuga] - [#25739]) ([zha docs]) - Deprecates usps integration (ADR-0004) ([@frenck] - [#25743]) ([usps docs]) (breaking change) - Deprecates sytadin integration (ADR-0004) ([@frenck] - [#25742]) (breaking change) -- Deprecates ups integration (ADR-0004) ([@frenck] - [#25746]) ([ups docs]) (breaking change) +- Deprecates ups integration (ADR-0004) ([@frenck] - [#25746]) (breaking change) - Deprecates fedex integration (ADR-0004) ([@frenck] - [#25745]) ([fedex docs]) (breaking change) - Deprecates srp_energy integration (ADR-0004) ([@frenck] - [#25754]) (breaking change) - Updater component is always available and shows on/off depending on whether an update is available or not ([@Santobert] - [#25418]) ([updater docs]) (breaking change) @@ -877,7 +877,6 @@ anymore. - ([@abmantis] - [#25971]) [unifi docs]: /components/unifi/ [updater docs]: /components/updater/ [upnp docs]: /components/upnp/ -[ups docs]: /components/ups/ [usps docs]: /components/usps/ [vacuum docs]: /components/vacuum/ [velbus docs]: /components/velbus/ diff --git a/source/images/supported_brands/ups.png b/source/images/supported_brands/ups.png deleted file mode 100644 index 83a19d196b06a3806652ff09c7b613fec6e37c16..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8184 zcmVCK3k%e^@b$VJ)6z3Al+cDGvpRSshI+6h0pd!<0g8OCW1VA4DY*bWSLVXD*jv z40ci?lWr|mG!%$d50Y90fnO<;Tn3O^2*8|JlUoCmTm_$eIjVs$gH#lHP8hL|N|am$ zm}eD!O#^;V6=ppOUN;GCKmuer18+kEA^`y0k^m !cO+!BAN>0QJgi_RMkUp(tKC1zR=)dsi>$ zp%3)CKKt*uQ!fDe>Y?wgK66hbby6twwmA9Slz3DuS26(m?X+-AA?2L~fL=BB&UkK0 z9#t>^lW|Jyt2y`3d+ew*`Q(rK>ZnX63WsAlif2B3TQmCSmX~! la zkZneTU^wBM2>R=$`QwJ3eOioaLi_Bnq=sejutVaQ3--%(^R!C%;C}SJS&n5U`QVuN z+;95noY;>7=*U_8@VxlmccFq`=%p|9!(YRJ2hxiI`sAHhF%i9^h|s*HZ$k`JE(*-I zpRkj4;-VP%+h=x35P?t&*~zx|&UCGhaQD@Gsf%lbRurdd1^n{Cuzo5=BM#KUt;n#K zxSfDrI1$^eRo9Xfj#vo2dj A+U@)N|UeWtMIy_tR !&H0Za8DAg6IGM04#J;PE!DOoev}v{`(<6 zT{r%gg-Kt>{-x4z-PO7C>ioW*-s{k@^?vK)#h;GKvcx_En=k+X9DzwhK~#9!?Am)! zR8;^5@X8t2K^}w13^UH?jDIT&f{!AlhoohpVB{t}#RSVFkpyxjAFGh86^N2znqlB7 zh@m2wBoA>x&=B*51|}jta7sck$(g=$&b{~Cdly!AmmYucSx%Gx{N|hQo_lujvHtX@ zKmF-XfBMs(|2PBGdF+3e0fPn&c60LdbanCY@bYqZcONPS|Lx`F;o;)y>FMM)c+jB# z7C!(?Pgf5w_u(T(I^Vi^v-~dd3(dmcmwk%tK-${c+S~8lbJmO)G1T45#TD>>+YPCk zldFgO@R7sHFPuId7&vj_vztHr?5nRfY}l}H;lgFhmVx>n%gbU~-+S+` dgM)*K`}RG}a4#39!7%?L)}bTMnlCP2zWl9F zaJjd){Q^t4Ow2O>oz~kmBi#GiJjl(}edO8j nWNHy07RVg(WR)(fts*OH4+F1#$C zGx7lYs`Yfo3`ncsk`VAtHV8{ExV`iStNIP%US!JNYa_fo2ia5Y*^6toZWXw1GO$fv zU{%KhkJ`)Qhn8!Gx(v2S>*O`k{N RFp;kYtmc&&~R=rPr z^F6$TtMINzgo1nFMVJ=>6v*t#8;1rSE#6m9kUL{WnaPxwm$y=u>v<+q*^KGA1^bR3 z9e8NgiOTGgu#@=BdfWyt=Y9+?!Uh5F>$+nH!xOD|0e<<_in_`h1CQ @E&laQNvW+Zxo#@UEocg|*9-2)0Iw$nb8mPL zUVuN{al5YR#*kt_r$xptT@VryfII~+1w#xnGcz(mz*?<0%_zjX>T}z?Yz_jKf#J2@ zFTl%=U!&CNGiFSi7ddB6>{9M!V1>6wu)l3yUN5*T3h(PezX0>|Vd0J|O}}2Q{$%p> z=`*HHn@72*SM3GZ(n}YCNCo%W`>oPTxgRj_isoi=K+t}}!f~Kw5O3gjn*m 5Hai4f87!7Bfz6EU5>ZmA@3ooC8)q4Bhi+ZV6Dp>FWj78|eGRifX zYgfm|ua2Va!mFM`uj+Nsi}^}(VD0ijG&eWjCk3NnU59g3WBjUB>*86v%**TLhnWTU zpYn?JZr@J9qL(zRyP(O8H>9N*;3Zt*{Y2(v^;+SopEhtE^rBwTD}kFCSXbVXY0&HS zl)GBx<#WIqthLMQb=-@3#rcAZFfRq`x~ekusmV!tV;Z=E7jv-2h1Lp}&%quq9ydN; z%Kd?Y;RQIftICj?o&~Rw)!Us{b~Y%= cGB2?Ubwnbl9T3=X{j(V|PaSrr&VD<7faBlbIa&Dh^#raY$ zC4X$b^DzI^u2NcWGU_!b=gaH0 J{f;?6F?fF0`E6-4Ym=ufcxr8nt)3`A+hY-MdjQ znL`mj9aQylZh)NI!=b>d?K>~!-gkaj`s0tgQ7`7ePX~3qmRvSnzFXcc$8xKqUZLLY z9aZVO_wT3PUE+Mz?>5vceg;yHp@$a)(yi8>{c AG`5JtzaKUrbTb`L-%DlTp zE`Jx(IY{+#F7dKCpkCD)xYm;Dxc4UE5--3AxMID04y<18Rm?%P241cu)p75pTbb$g z+{?J|Dz0X$30GY&pM#RiwVc~`-iXYs{Cw(V;60Q}-))LHi1!@%ryx29k!!^(r_ngz zJ)N0em|t4TyeyPU4`2SWfY;(H2hwgpo~i7?g9n|al@lhh@%CIVoZdcTQc}kFcoVk+ z-uik>LQE<2tX|9^ZJl6c-AZ3TK^xM!*f?@n*Vzk~E?p|W>8yDeZ5lhK=Q;R~N- @N1*OwM1^QSE;>rYu8iuEoHd0-sY5fM1?*=L@4 z_qpd@L*9S??yWmZO2&ZOo!7f$t>#+r#_@hMqjM^UOdAKWo!)h4bvoVaNN8y2TjtbK zRxiA3%iqHHllTK2ekyQK!|ILATU= mEa&a zrTF>f%=&Gd9p1}XMTPnC