From d16f1069e75a7d53a8239b8940d4ae9702c8df32 Mon Sep 17 00:00:00 2001 From: jsuanet <75206491+jsuanet@users.noreply.github.com> Date: Mon, 20 Dec 2021 22:26:06 +0100 Subject: [PATCH] Add shutdown&safe mode button (#1725) --- components/button/images/safemode-ui.png | Bin 0 -> 6959 bytes components/button/images/shutdown-ui.png | Bin 0 -> 5839 bytes components/button/safe_mode.rst | 38 +++++++++++++++++++++++ components/button/shutdown.rst | 37 ++++++++++++++++++++++ 4 files changed, 75 insertions(+) create mode 100644 components/button/images/safemode-ui.png create mode 100644 components/button/images/shutdown-ui.png create mode 100644 components/button/safe_mode.rst create mode 100644 components/button/shutdown.rst diff --git a/components/button/images/safemode-ui.png b/components/button/images/safemode-ui.png new file mode 100644 index 0000000000000000000000000000000000000000..76672188a22156435de5c0ef76cd5b7bb40ce4ce GIT binary patch literal 6959 zcmc(EcQ~7E-+vIB3T~yfVry+$wF#;eQEJbi(HcRm*kZKQYOT^1wOXoHZLJa1-n(|J zS~Y5~$Qyd!&vPHY-@os1ygAM@*O~A6`R-h2uH%yz51{v`DXvoh003$YbyYn8fS?h- z)+Qstzt7aq;_!ld_9`k5G*nc;58Pbr?495M0Dqh<3`VCR$lq>l4TH7!2;87>L+V9D zMC-wVI?>JGCUh6910A1YZjNCBVTkmb0NJ{YRgP5A;FD6}_JU@FMJf$rcR-!3?`!)$ zlXNDneSVYxPlePqbsWKb`C>>G9SKS6UtqJE+8n_5O+e}0NK`Cg=`!laD(HX&Bun0; zKxjx$w@CG97EnqYFF_Y;L|RR7>Jl)DBg&nE^R z@Pu?jMk&99e70&MEz|u^6zM)4zA_YQBx=v8s4_&u^Uhg-S2WeW1dx3>#((c8#*9Ik;8hr=Po`p+h*s7P-T5WTZD!ttj1;wx(iH`cJz)&|_fugL%e;r0L^ zeno(v*YOhoAc}tuAjMzl@KZH|@Sk0R#tfo=)&T7bAmpKnh6eun(AEtOcXof`;-R?~ z#DX_9Vy|!PVXUnsW9xztwtnPd0~hv2xL&9L}2#*)&5q;f0E~X;^E;cBO-!C zB88C>!Y*!)MZ~0~rA0)=Ma0F0@CYGyA7>A1Zy{%Qu0KZpv7-uiw{^33^{{tw24C2< zwsG zPeI~wZ}%;Uo;TyO`*M#D6dVid4ou(InayJB*Qaw+3JL_d>K|#f8(EPfHBdlx{K)u8 zAMxVFZxY(Ajnyl_ejMc5-2t75Q*I?f{J0&1qL+8Vo-&2=g@C@Do%sv+l9Q9uv9oU( z6xkEm1^sOUtpm88{O+9q{(E9LX=7`y*-Vo=;62s{D&K_Bay zcs0*I2-=d@uvaAAU*ZAeukZuKr9|t&{r5H*3qd3dBP>m-bx{Xy4A}!9E4lNZd&pPZu0Z~f;BSj8qW?GU zK%Sh{5?o#TF@HiOpv%)E)a3~Qq3cyz4OUU(QkP)?$fXE%xk8`-qascBfQ3Jyqk#E| zO8OCC;*$HtV$6TK!5^%oWoP%Xqo*fnZ_mSiI8T>+BwzR&H-TIc+}3^|C(~nn7<$E_ zL}$bkC6u5DN$CeKiJ8$7%P)}`Lnp;Jbrjs|C5*IcII3HcPgdFT;%@F zKzYj`0wcRKpYrDRPg6{Amf)v?{m#Lw>-sdo%jtel1?=9?tAypHrH*vV$q$;zokKc` z76m=8==Fz^X}Q$e<9Rgi%b#lBndWvJEx1v^Ch$tB9F*rp`)jf;dsst*YEI1dC{28C zrfBeZ*ie$)MhcVE!Qq*|-gTGJf*T)_?~kE|-CkL@8K326Lc5P`N*zb?lboii2i{xU zIDM&blE>mXta~t2i7=~~d(I5RPJH!r{7`N+pvDVLUD+@8Tpx8ChbMPXiqwKX8xzr~8?)-G=JH1Y#Bw|AS zC7b-CrOqVU$!*5-qlK4)A2b=qD;$%DKO6N~>93tX8tKAN=eO3>z&vs&Zh2RLfcYLi&htgvolKsh8U$!u@`fUW+p7>gT*_ z-8LgauHYvDfAmP*%ggJ>LmN6~@ki=E#Dnajt_m#{R?WnRUXf|PsPD?8SQ`u1!(1o> zS?`Br%bP9@*vcudNkr0M;9ch6q%fM3!xl!XcKO38F3>B1qH5*y^V6+JNs+1<-_OzP ziuKAHRLqiE>E81%=qAyFjRM8BoZgs-n3yE(caj=?>GFkUdu4qJ2^|T1ltp5#z+_Dm zx>(tTXbE7*GlUOak@U$P-X5bY)n*62)9tUfK0Pxn7$Ccro9>(MvC*Jnnio{32;Nu=lm3Ewb~a z8HK^GciKLsUPkqWpWkv7dz*XnPX`D%4-_kP*llCxI~O!m)h zLUv^SE|nf?KYlm}H)No&u0yc!+5afX>R^tn9&?e z%I2Lh2IM_k9m+Kuki(trBCZKe-+1`3{a|Af-WWpsS}a!OWTR?!anhwB>FCHC63_<7 z0vxc)di`ar0TNC{j^rB<*0Tp5WmfFDrYZ((H|sF@mzhN8H6=%D~xR{xN zsFNy=Ev!DJacb4LSuX!l{Z(76NZxF@b3tv+)t`#vY6m*eai7+Ax$oWfeAM>Wv5`ac z)YC+DK8A&BH;XoCB6jZ>*`Ge6v#{5GJ=33Kq6yzAfP3}yjdTA)GL&(vzNR;W1uUO$aet4K zRBs5xJ{m8DkLp!p4<uh>NF{VMCbKUQS1u_)uQ@*vn4HjliaCv9GX zJv~fjcB$3HG=(MwS8moFTKepC@GT`<1;(uxeS?zFu>E=~;7RF7(X_&=6=9zXO)CII zGvDbwpmBzBSIhhcqt5XCY@{G6;5U|&x>LZp?YU`SoC@L?PLubmWN>kcWAW3P0IA45 z611wHO1Eu`Wv#3`J8Q}{_j`2?c?V)mhALt`G&D56T&*gr+@2Oe#hnD#&-+*36D5%| z&R{Jlmf!1FF_hc-x-RUq7roM0V~i}M?>qDP@EF{tf*zH+$lVNXvY z+#!ZHU%BU3{7vjjatm>l>HC_#3(Ns)w@-lf2Zn3Azl?`6$3%BGvaF)g+*&3YB9}Ob zJfBj(z_#cN`Ct(PWkg{1%H}Mm0mqX7iiEuXG zyn&9^JOkT9&$I!@hwn3DOz93}i=s?f)CvhsE%-#Uoh7qF)qISU8MKleS*HuRE%WsHRMg5#=+B?i$XU3@$n#W9 zA--KS5skNJqp?NL408A$YciU_KaS;e%+jxiVR8dSKqP0$LHw;D?}MZMEtN>opRa|? zCZ4W@KGS8iSNF*Y%&;l8tfT5(AN*Wg@8HU|t)!RyrH*C_ySQfkS=rwAa1&8eCuGOwZ__- zoP3<2%69hllf$Vh1|J&1-{r(j_B8KG^tfx5b|WMtw6I8IN>_u{q0H9KNl)*sDu?6D zY_F6`T*Hu)mdF`$W^Ey@lC^wEq3q7GFCquN_>OI8PiQ%3Fo4H;I2t!zhf4td{8NfHj(ne87Y7SUT70lpz$YD)s1Ww5&p@r!kY8B)I1s}{%(^bq&1}7u}N?~?P9(vg+DcVZhlOMUpW*jA}H|8Dcz$!G}i4sfStc^ARLlh)F{nY zUdP%l)s@A67-~@FQC_-V`RLlQ${6;%TU7kKR$n?Vf+wP)c3J0!KO!%#xEA6T9W5i< zQp8;URq&pr$y-~CG%KsbwWl?v(;uea@wA6k)a-;5$$AX{-acLa*zOafayrlYppo^q zU-_nXwG_u+ zAnvLeBH9O0EmqS-E)c;lqlTtF?ZMv~syhaf7_gf=(^qZ6>*scV*uES;mo^d_?ZL3M zsGjbRSxwSRAvZY)Y(poR5@e=4Ko1+%f21`dMzYF1!B8pE8A>-Ni?kglF-iaa+^kQK zP!hM@o;#FNWg>NZ@zn8d0Rk?HXaZ-AHh@_H`DU5U5z=meJ%W2vI)Z(4r!|&Uz+rCE z`Q$XJ-KbgzOYYb&ob^zsIpWaVpoo0L&0E_Ldq0-?+MH-bYlxt%2k9fLI*wcHFQ z&nI=pHq_GN1mEZLL;9Z!-tez>%hnj#Z*KLZP;|BDEF6z>$(CQnCh>(of%VYyad(7n z&>{M}wqz;&KZ4{{Ken#!j>2z#Oz6`|3K$WR_0|3z4cFpRd!M$4+!3)hUmE9D0y8hU?{hL${nS?WlQo^YvSIoHZ2^HJ z;3`i6k!PXldebc1XptznO^8rot=zJ(<~05kF`e;VpoXaOjy4QyI~6K^IGk#R!42G(&-KMg6Eh+v&1=2Oke!;V7ZdS|2NR8B>a4L;kQ1AK%v%^&(#%-&O+8 zDYSUszYkw!W}9(s5F3FKdK#phu&43UtgX`=mTSMVU1!Ya5o|fG9~02iAD9@9Vo*(l zn!Fci$YeY$B&&0q zgzdmv@t0jAEuZN}(zX+0a_w-Wo8Pj?4N1d5o8NYfgU`J{wLhb5Y>tX$|8p2RsG7vlx8#b7D)d`x0LiFtb9dWRJ|Cq|Lf zk{liSeS5BX<7qY2TZnj|3IC*0D_>rVMMW{vwpL5RwokVjCZBW-T5<(H3wNJ4U(qu zGWs}k6r<1Z^$Pu9U7zRdU$umB84eN_)9EEUn0YzddEpl$*nu=XU{<6@vRdl-dy2&} z2WvKYuVlGOeluV8B>uzC7(2{xE_i_+=Y_8ehLwl8s$k|uHT9& zRG6MX)1{HARDQLCp9PB*iO9rVvzQdSe!N_&RgGqLqDr5u-MHw+uqRF;OA07EeWP^Flus%>+apB@~5U zV-OP2yxUef5DpaS+W?EI@i`ohIMXVHqOUWaWjSh)Ao5#mPGf$r9i{=fqD; zUyM~w4luUGs6G5z?DaXz21FHN>rvOA*Ux0px4WjgMtYNhIvT>(n@t0JefXt~%`uW> zJL3u+q3zii3zci%@oDVo2yrWh2}?lCj0!u?j|c~zV0@o=6thxx-liMQW0v7Y^Xtum z{GXlPZvo}na0c4|Z-or6MD5ZJDVk&wNYDywK{6?$KUL0NVHLA3icXc%S^LP{(I05B z;Ru>bWP{u~+Dh7H&c0*eAAj~u6LNHW?JMI__O#G-XY-|w(7Pd?;>PK&Pv`1{3TPTf zOyj~{`2*!LHe5fI@3^+<+p!5!7>k$WMe!QnGiLNCHaP0Co`%VHT9JIdWBw`@Cxugp zMb=`Ef80AI^KFvhDo_qm2F0HHm9M*>`&U`b1ZD`;UJcoA?SwvI9%DMxuLcT$QY`@5 z12R1O)WvRShG;aHmoCDPaC;c${7I4)$W+VH@MMXki%g^!>1?$vVc(8+35TZFb=T`e zY1Bz%kYkvy!4`sH>{F4iR6e>s@KHA+~hX3oSYWjTU6crSyUkwPvRLESd<* z7Qcd{k@Ouo5B~?LLZ$qt&pH_8d)w?S2i6nmAlJ* zRZZc^OSJq%5Y-amhx>F&{S*ax>cvm=U1$!^$47)5gZLY9QTO~B80EOg6QN)SRggtX zUtUd~&hoq}@J0wM>-h2D{kHDw6=?wT(#`$Y35C(p=$CSx$}c>#f|c}Nz-|Go*)M2H z6fi^u{Q`Cr5rJ{VsQ=BwY2kS|OjKXy1rMjxPyPTH8c6DTcEP-XV1$1)0<8S6q+O~) z@xVP<)WQXG6%3%qQ*=l3?kkr-4?HkqmVia^g8c%f0Pc#S8Q-g10y8dv*ejT$3wK~N zp1mWeKVp%&1g7DED@Z__&ILV4z^g<{wcWDZe+gW{10fAWQh^tYAekthM?{GzghMZY z5I#Kcgcbe!GGY`yVj}D3c<nB-b=C+&p>_x!d6<^+BES*!3UEvJH28{c@1^-5@B6|5T+D* zWil%-uSy2hDsSV5q`iTE=+;*NG8i?eDLEzO2{G*~M{GJ-7F}3B?y1iY@wiJq_LY)0 lH{gp(X%^|+Bo;D*1FUAP4O_%)dk<}G4N(=~?X$75w(c9|zeeE`sE5TS z=~;&jbap{scMe+jcc$GpH=kn$&k-5C1{CYQdf^I6f*#bv`>MO#Eplm?hCPQaDyIZro_&pc1R*7TLk~4;ZY=?HuL0^66TwF4(yl`y9E92d_5Nw8-5>6K)CrLf@9i1yRpuD$n|?PM6Yi@@#$Ca{ z4V{wcD6HqbE?tazMa!&KL6INSA1q0sM5+`E0u>6yJw9P2rdC&~3kB94af3jNv&_u* zd0^dXWkN!3o@ndTrWmmPgWk^0+1H&cXZ8l4ea3J|rbW-Pl4%NpUYvPs4E5 z*471mog0B)PER|SPESt*h2I^00)fc*2#6lq7@uCv4aP^-$lgTNK~odJho^x6f;eXY zF`gp8pO^3_06>%$3n0VaA@~zjNccCGpu3RhZyKO;CMd73psI?$>!W?_?LB;*JpHmL z8qM&g#+?mJ{7f`8B+;Jka2q>MTYEUh-Rn#RfW%1RNq2ic8z{!z&BIp`BMm#3ki^qx z-3S=;T*S{+8fK!Y16A0?`FTkq5P^Y# z@WAVEPaj8wu!MvJLP!K5A|i;F5cCc5@Uy`PdiZi)82Q@{%H9|4F*~EgPl40=eQWBJ;wQ8PaeL1riGs%;*5h3h6^G7v5i+np7l!VIAiSHOi|A6`0(I; z$cPIe&&B^g#=j2#qiFK4qUa5g|7!k+^Z#lZ`r7*_c)H^~`pNv8m_N$@W&Tk_BF-lM zpFmth`Meh&W*G`3;-8esPN3iKypbD(us$>`Ef@2)q7JkkNUm}9 z`meRHg}iMI2N7}w6_MkD%KZGbmqTq<#s}-ZYb)aB@N8`-E;+)pX6;MpeX~HeT>Jb< zjxZ8?fJ5vCrF&a*^i-!#U*SMY);PMHbmQ3{bE=i?_Zqbr0?9c=k-UF7J0t-A;{L2TQ40sqIp7n9BmF<&Dz zYxnD_(6#M=oKObYS)2ChWhPK zd1-b2DH_e5Dt(fUU%tL8Qn26KnD-fx-lacm7Ms1Jzcf;SunIf&uM=5~zakaTmuYNy zjfI6puj8*!SKYB$_OK)G{f#aff7#8=&CybICKhq8!jra~8?H*9PglOpHH^rlD<(3o z?3b67sTIhC+6`n}OUuuPcN}dc4&~fXf0KMUP)&Ac!YZtPz2g+lWbP&Z@i!QSOf~;& zf6-?3X*lr@l=b*J+k?8cZv>6*!{RJ6AFo-s^d1Ti?F(DAPc6Uibykx;mLo8YWwyGF!={H>WR#37GVFc*aLUkU+jwPQS9PRCi)9wB3lUtKq={?W z>PL8(?!+nQl=SvXGjXZxN-8b@za5FPnZ$Zs3K2vbH!wbVZ+ky0jaLlx4g7qEibx9h z-Ogxrk<0j-<n|!MBmw&{?sVBxZ zcD-e>f9yNa!2azfX9fmWWhm%&oWLuN*(m(2CF%d2t4X-Lv{ZHCiN&#kX}w*%s4Gr` z(k39_IinHAo018h!J!b_hhJZuA-iki`Rc_=$wxouhUKQ;m6^TpNXyL?=uKhIR);rt zTlF50EK*&*IaYp2%tIhPKK^#JkB?7Dz|UK6K0S9&_g}^Jn>yx|_FVfI0y1v*oRyh; zY7@2neOx^YZovo7Ru3uEe0Vdn(RG4i%Hqyu4=p{9aX?g=pWq^;Y)u zj)c!w>=R>1oDOAcP@ihiyv5fZOh?|x;6<>+L7)>gbEqzcmW4n+P4+amM< zmthzyP3(TKy%Nm(GT>)ge>%@$od4d2ji8#x3$w(f?sz(GF)?GWr1clmK8bg>-z(oP zIoMe(?}{(m{PwU=Vt4e}oKr40eOMWLjcvit|B<=x@QvH8 z;QZDf^@Dc1YoAX%)cBN}mk((%bJ8B!BELq{t5Zd@&0jkvXjHkX>au zVvMGow?zY2JtpfF6Pe!1cXkr7eSNv!Ud2wh0RS9sf6yi=az=wu8-oJ_qmglB6wi9a zp_NbZ5>nx_2@L!izHJEScHp`#=uJN63wh91KhJPc>#w&`2R0-;OKtVjO$tM z9(-g)`Ss^#4?}G`yFubfKg}FQg=dOR^gC>mUU~t12!^7u8(n(#w+>PC*;R&3arYmD z>S%kZq};m4KkTN<_Fyyg)Q7oe@MW@Ky;d+pUa^`Z=3);XE%_C6E;O_?Mm0H%!ASAWxr$ozW<8$w&pbX) zjnH%uBzB`a!wF8}XsR`DdA(wqSj_c(`~Fcf832t>aDMC70DtfdFfnR{GX-gz(99E| zrfDr-X6C{pW!Fnvd*@lXTT|>{vc^-ep!Xy>bHp~vTz+aPa{CymWS8YrLPbp?2gj140v8Mr3kyEOD(6IW|hD=mzr0_Ah! zWN2k#92qKD-60Uj5r^p=Wgxv}jW8?ckuy@%cjm`tApk+O@K6{XYwq`6F*v`B6)m!m zn3(v1Tx6q3s|Sh!KD-68nTsQ%=N!AY^r<5(Y_dJ{C3V!7B8PW{^1;)4fBpC<9GX|{ z+uIefa+!55Xn`P7iO?{jQ!P_8swA7Zl-hGw9Y^SJ<%O}d3Y*XV*X54ZdMoac)?(r( zmZ@>r#*P9{m0iy~7Y6R`F+JPEzfS2VgFnSKfMMG2NQANO*65oRK5XO=2RGb z(SrI=L_0=r@YM71YZ6*jk*5nh=D}7uH2M?I1T`NfR1($FxP}3DZGKjB$%EL6H?6^z z-Bhgtv5nWKv32r4pju!SW@K)bpc$!O+>RP1I4CHHc97`ONvJh(X9fxT!(X`2UrWP_ z@0HmzZ@A)|QfN(I0y*NYcX65rHT_afVH4aWfI(=m*U}0%Isvtz8*{IM+n6k+x}OZ=RorbWkug;wT$Hz#pS3fU;4)m=R>|VvixRC+8QdNj*IB*u>yT@(gRB(T z?LI}L_@Kf8S>e)F7cqdm@vtBI*>{LvrE-6*Q2A0tNv>lHSAREkyrj+2#6pbs_yay& z$E`36NGuCQ8m008JL&3HsExcsD)!Mh0UEPgy_Ft=`B1dpFW{rW^2@`OF(i?$W zm7*9|B4cL;U-bSNF+!~jvExI~lS`>IIoky_Dg+u)vopZ4SC34ynAS8cK0Ie_Lj8c$ zT0+y`wQx)`yO}UW@xINKXwaA`YGk)7cpVZlAH(Dagop)VcuH?zvhjcP2Fvs==H%=H z{C0=3l?UUbvebNXu=JMEh2j{0>gEE~?8Hdcug!Nv++QVb9x(M2!C zQIRLPWInzw&*KT&hS1LZXcQmm_}tzi#FZfQqq3-C>QI6C*~oG;q?{gHqze>q%N;Ne z)w3^be~cUnU|$~4H``h~!NmvX)wR+ZWArrF?+*Jt=S{Oq6`)i7dUJiMip~WLzcN+q zrTMs(Bj!8%sVetgM}>8=PzHxvLNs$UT)SuE2@GP8s=AN=(SPq|E%}{&RlxbL^;cx< zV~7rgy^XtUNZjT^@2a%N+Jr@5ULiH8);`0);{Z7>E#k0Q7%pIdVjRWXb) z9sWJIfmy-uhW9cKP+yTOnXMxhW3D%(>d@Koe$u*pc`Yyqj|Jz3=;X@8+1}o>iU?6H z1*5F@mRq^&m5$YKG9wi+VZ)bkqrES~4)wFDKXF_&n5t6H4_a$4Y8j$t$LK_4N9}$} z1w}Oq;EMz7G_^MGE`alZR^ccGtc*~5bEoGr*DlH$Ii*2oGx{>tzai7nY3VK(GZtz& zq?|_8OI}8hP~`@jjj+<~wRktV~WRzQD0q215F7ljgKsvU5}?XMl&iy7TBi zfZPNRd6P2v`-3hZJW4S$%3~{0JyPHm|&)_EDEAZ?=GL%e#Hdx>P zs&!kA8)=}d8Q!=Sk185a|Sjm`bbX9L~7%p)b&Phv6E$k|LqrOcEyXuUh zh21YGsO@<#fHX1$vWoqI_u&8>h$He0)v$WIb%PfPBC&K}#Z`y5HroGKR_O$?|HchV uGL`QDW^0lo2Qh!wQR?J6o$~zQr(_$|E-tV1%iYgPnyQLgs3*6qBmW0K#rw1X literal 0 HcmV?d00001 diff --git a/components/button/safe_mode.rst b/components/button/safe_mode.rst new file mode 100644 index 000000000..0bd4a4a0b --- /dev/null +++ b/components/button/safe_mode.rst @@ -0,0 +1,38 @@ +Safe Mode Button +================ + +.. seo:: + :description: Instructions for setting up buttons that can remotely reboot the ESP in ESPHome into safe mode. + :image: restart.svg + +The ``safe_mode`` button allows you to remotely reboot your node into :ref:`Safe Mode `. This is useful in certain situations +where a misbehaving component is preventing Over-The-Air updates from completing successfully. + +This component requires :ref:`OTA ` to be configured. + +.. figure:: images/safemode-ui.png + :align: center + :width: 80.0% + +.. code-block:: yaml + + # Example configuration entry + button: + - platform: safe_mode + name: "Living Room Restart (Safe Mode)" + +Configuration variables: +------------------------ + +- **name** (**Required**, string): The name for the button. +- **id** (*Optional*, :ref:`config-id`): Manually specify the ID used for code generation. +- All other options from :ref:`Button `. + +See Also +-------- + +- :doc:`shutdown` +- :doc:`restart` +- :doc:`template` +- :apiref:`safe_mode/safe_mode_button.h` +- :ghedit:`Edit` diff --git a/components/button/shutdown.rst b/components/button/shutdown.rst new file mode 100644 index 000000000..93c6e393c --- /dev/null +++ b/components/button/shutdown.rst @@ -0,0 +1,37 @@ +Shutdown Button +=============== + +.. seo:: + :description: Instructions for setting up buttons that can remotely shut down the ESP. + :image: power_settings.svg + +The ``shutdown`` button platform allows you to shutdown your node remotely +through Home Assistant. It does this by putting the node into deep sleep mode with no +wakeup source selected. After enabling, the only way to startup the ESP again is by +pressing the reset button or restarting the power supply. + +.. figure:: images/shutdown-ui.png + :align: center + :width: 80.0% + +.. code-block:: yaml + + # Example configuration entry + button: + - platform: shutdown + name: "Living Room Shutdown" + +Configuration variables: +------------------------ + +- **name** (**Required**, string): The name for the button. +- **id** (*Optional*, :ref:`config-id`): Manually specify the ID used for code generation. +- All other options from :ref:`Button `. + +See Also +-------- + +- :doc:`restart` +- :doc:`template` +- :apiref:`shutdown/shutdown_button.h` +- :ghedit:`Edit`