From 251357b76973d0c43dabb59dd4262cd685707ed2 Mon Sep 17 00:00:00 2001 From: Guillermo Ruffino Date: Wed, 13 Jan 2021 13:32:31 -0300 Subject: [PATCH 1/9] add cli link (#937) --- guides/getting_started_command_line.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/guides/getting_started_command_line.rst b/guides/getting_started_command_line.rst index f20eae1a9..506e8ae19 100644 --- a/guides/getting_started_command_line.rst +++ b/guides/getting_started_command_line.rst @@ -187,6 +187,7 @@ After that, you will be able to access the dashboard through ``localhost:6052``. See Also -------- +- :doc:`cli` - :doc:`ESPHome index ` - :doc:`getting_started_hassio` - :ghedit:`Edit` From 5abc39ba0162ba047edd7cf1f5cb4f692f534e36 Mon Sep 17 00:00:00 2001 From: foxsam21 Date: Thu, 14 Jan 2021 10:37:53 -0500 Subject: [PATCH 2/9] cli.rst add --help (#939) * Update cli.rst Added that --help works for esphome commands. i.e. esphome logs --help * Update cli.rst * Update guides/cli.rst Co-authored-by: Guillermo Ruffino --- guides/cli.rst | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/guides/cli.rst b/guides/cli.rst index b7c4540f6..8537d5a83 100644 --- a/guides/cli.rst +++ b/guides/cli.rst @@ -20,7 +20,18 @@ ESPHome's command line interface always has the following format .. code-block:: console - esphome livingroom.yaml kitchen.yaml run + esphome livingroom.yaml kitchen.yaml run + +``--help`` Option +-------------------- + +.. option:: -h|--help + + Output possible and [arguments]. + Note: you can also use ``--help`` for any command to get arguments specific to that command. +.. code-block:: console + + esphome --help ``--verbose`` Option -------------------- @@ -208,4 +219,3 @@ through a graphical user interface. If set, opens the dashboard UI in a browser once the server is up and running. - From e44eb01685c1c55e1ca6fcfb7c2acb8b1f77a1a5 Mon Sep 17 00:00:00 2001 From: Guillermo Ruffino Date: Tue, 12 Jan 2021 10:14:11 -0300 Subject: [PATCH 3/9] add rc522 i2c config variant (#933) * add i2c config variant * add i2c address --- components/binary_sensor/rc522.rst | 70 +++++++++++++++++++++--------- 1 file changed, 50 insertions(+), 20 deletions(-) diff --git a/components/binary_sensor/rc522.rst b/components/binary_sensor/rc522.rst index 0fb6438af..5c4602887 100644 --- a/components/binary_sensor/rc522.rst +++ b/components/binary_sensor/rc522.rst @@ -13,8 +13,8 @@ Component/Hub The ``rc522`` component allows you to use RC522 RFID controllers (`datasheet `__, `Ali Express `__) -with ESPHome. This component is a global hub that establishes the connection to the RC522 via :ref:`SPI ` and -outputs its data. Using the :ref:`RC522 binary sensors ` you can then +with ESPHome. This component is a global hub that establishes the connection to the RC522 via either :ref:`SPI ` or +:ref:`I²C ` and outputs its data. Using the :ref:`RC522 binary sensors ` you can then create individual binary sensors that track if an RFID tag is currently detected by the RC522. .. figure:: images/rc522-full.jpg @@ -23,20 +23,37 @@ create individual binary sensors that track if an RFID tag is currently detected See :ref:`rc522-setting_up_tags` for information on how to setup individual binary sensors for this component. -As the communication with the RC522 is done using SPI you need to have an :ref:`SPI bus ` in your configuration with both -the **miso_pin** and **mosi_pin** set. +The RC522 supports SPI, I²C and UART communication protocols, ESPHome can use either SPI or I²C. + +* If you have a module like the image above, it can only be used in SPI mode (`unless hacked `__) + and you need to have an :ref:`SPI bus ` in your configuration with both the **miso_pin** and **mosi_pin** set. + +* If you have a RC522 which communicates via I²C like in the M5 Stack then you need to have an :ref:`I²C ` bus configured. + +SPI Option +********** .. code-block:: yaml - # Example configuration entry spi: - clk_pin: D0 - miso_pin: D1 - mosi_pin: D2 rc522_spi: - cs_pin: D3 - update_interval: 1s + cs_pin: GPIO15 + + binary_sensor: + - platform: rc522 + uid: 74-10-37-94 + name: "RC522 RFID Tag" + +I²C Option +********** + +.. code-block:: yaml + + i2c: + + rc522_i2c: + cs_pin: GPIO2 binary_sensor: - platform: rc522 @@ -46,18 +63,31 @@ the **miso_pin** and **mosi_pin** set. Configuration variables: ************************ -- **cs_pin** (**Required**, :ref:`Pin Schema `): The pin on the ESP that the chip select line - is connected to. - **reset_pin** (*Optional*, :ref:`Pin Schema `): The pin connected to the RST line. Some tests shows the RC522 working okay without this. - **update_interval** (*Optional*, :ref:`config-time`): The duration of each scan on the RC522. This affects the duration that the individual binary sensors stay active when they're found. - If a device is not found within this time window, it will be marked as not present. Defaults to 1s. -- **on_tag** (*Optional*, :ref:`Automation `): An automation to perform - when a tag is read. See :ref:`rc522-on_tag`. + If a device is not found within this time window, it will be marked as not present. Defaults to ``1s``. +- **on_tag** (*Optional*, :ref:`Automation `): An automation to perform when a tag is read. See + :ref:`rc522-on_tag`. +- **id** (*Optional*, :ref:`config-id`): Manually specify the ID for this component. + +SPI Only: +^^^^^^^^^ + +- **cs_pin** (**Required**, :ref:`Pin Schema `): The pin on the ESP that the chip select line + is connected to. - **spi_id** (*Optional*, :ref:`config-id`): Manually specify the ID of the :ref:`SPI Component ` if you want to use multiple SPI buses. -- **id** (*Optional*, :ref:`config-id`): Manually specify the ID for this component. + + +I²C Only: +^^^^^^^^^ + +- **address** (*Optional*, int): Manually specify the I²C address of the sensor. Defaults to ``0x28``. +- **i2c_id** (*Optional*, :ref:`config-id`): Manually specify the ID of the :ref:`I²C Component ` if you want + to use multiple I²C buses. + .. _rc522-on_tag: @@ -73,7 +103,7 @@ The parameter ``x`` this trigger provides is of type ``std::string`` and is the .. code-block:: yaml - rc522: + rc522_spi: # or rc522_i2c # ... on_tag: then: @@ -86,7 +116,7 @@ using :ref:`api-homeassistant_tag_scanned_action`. .. code-block:: yaml - rc522: + rc522_spi: # or rc522_i2c # ... on_tag: then: @@ -108,7 +138,7 @@ unique id (``uid``) is currently being detected by the RC522 or not. miso_pin: D1 mosi_pin: D2 - rc522_spi: + rc522_spi: # or rc522_i2c cs_pin: D3 update_interval: 1s @@ -149,5 +179,5 @@ See Also - :doc:`index` - :doc:`rdm6300` - :doc:`pn532` -- :apiref:`rc522_spi/rc522_spi.h` +- :apiref:`rc522/rc522.h` - :ghedit:`Edit` From 334ae67f8162e68643458ad525fe36587353189c Mon Sep 17 00:00:00 2001 From: SenexCrenshaw <35600301+SenexCrenshaw@users.noreply.github.com> Date: Wed, 13 Jan 2021 13:33:24 -0500 Subject: [PATCH 4/9] Updated Mcp3008 to support reference_voltage and voltage_sampler::VoltageSampler (#874) Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com> --- changelog/v1.15.0.rst | 2 +- components/sensor/images/mcp3008.jpg | Bin 0 -> 11235 bytes components/{ => sensor}/mcp3008.rst | 42 +++++++++++++++++---------- images/mcp3008.jpg | Bin 0 -> 11235 bytes images/mcp3008.png | Bin 71364 -> 0 bytes index.rst | 2 +- 6 files changed, 29 insertions(+), 17 deletions(-) create mode 100644 components/sensor/images/mcp3008.jpg rename components/{ => sensor}/mcp3008.rst (62%) create mode 100644 images/mcp3008.jpg delete mode 100644 images/mcp3008.png diff --git a/changelog/v1.15.0.rst b/changelog/v1.15.0.rst index 261c6fca3..983619682 100644 --- a/changelog/v1.15.0.rst +++ b/changelog/v1.15.0.rst @@ -41,7 +41,7 @@ Changelog - Version 1.15.0 - September 13, 2020 PID Controller, components/climate/pid, function.svg IR Remote Climate, components/climate/ir_climate, air-conditioner-ir.svg HTTP Request, components/http_request, connection.svg - MCP3008 8-Channel 10-Bit A/D Converter, components/mcp3008, mcp3008.png + MCP3008 8-Channel 10-Bit A/D Converter, components/mcp3008, mcp3008.jpg SN74HC595 I/O Expander, components/sn74hc595, sn74hc595.jpg TM1651 Battery Display, components/tm1651, tm1651_battery_display.jpg RF Bridge, components/rf_bridge, rf_bridge.jpg diff --git a/components/sensor/images/mcp3008.jpg b/components/sensor/images/mcp3008.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0aa0670b838d7717b262e7242410438973ec4323 GIT binary patch literal 11235 zcmbWdb95(N^Dp|1t%)Yq#J25ZV%xTD+txR>Z6_0BVrQa>ZJj*N@4fH3_n&jmI@P^a zcURS}-n)C(`c&=OpDUj`0AwjKNihHj2mk=`bpSp;00hEzHujDtPEIDqgoYl3mi8uQ zw2mf5|6zWv1A+nI|0PIB2uMh1s4s$shxv!#QQ;BczfM#XG-M=XG!%SHbaYI7Vmur? zVk%NnDi$Ud5fN>W|F#GJzccVT06>8TEQ1Jufe-^gQ9!^@Kt6{6cwd762m5C%|0Pf` zNGK3+2xyqkH30PgNFJ~LBV|=vV7V71eMyV|9|oi5f(xsl`bjy0(dlsXzr62(3n}Ql zs+RfKue1jAg{vQ@|FBWf%PnDD>*9)Ya&)p!O!}-W%JWuCz61_bRIvqRB&Kx+8|k?Y z_d_((GsrerB%ORrF`{AH zk7{2zkvP<8zl*$^33-bdTpK|q%E@tU9nE#(Q1XmCaW#IOUj=VbqtEzBCD3(yqz9|2 zu_Be>?X%46za+MhRK0mQUfPY-Dzz3a3S-<;JZiW>%+FCC%GhwSVJ*wLd3m?*lac4@ zw-Il%=`1v%NshjfJxPpA-GzGFJH1w6!?8H3E8R_;`bcAY7IAze)_~VVQT0G`12~U$ zu$*W@B7TZWsBLEdp=e>}IkS0ecwO#6nd54?__GR+%JugJ`kpIie-+&p#twkh6q9P+@B~OyA~jj+&yhiD-cI;G z3uz@%suPzfy9VhNJ7AiLjP}BRYF8D(6)^dKR%06DMg~5>T27pUDgyvyNlWQ7o1voT zztLDnm#L?$7#52!aU zUlyRe^LL|AZEN5EJON-&D;fTC3-;w!X#XFN`d9F;H-RGmN9q6P^1m?w_J3}I6Bz&k z1_A*A2>}KU3ii({K>(m&DB$0S7?~iDQ5^!%2pI$w42YQpgoGUv@=1QkE27US1=jz^ z@j>{(UTz-PmHZF$>>8MFmQyKTbr}noJW9{41ZS}qUUf=jlsMJT=_5@S505$C9SBX$ z^K2SMvjeEjak^?EIo%K z;ivT=KMx-Xk2uV0u11{y`n)E^FC~uEUhO+*UUc){gD)C4ItGaVYdDSM)ooG(5AM zE9jWhU?ic!^UbOVdM>JXABy5oZUHO!bE|yP(4L6cz!7OJ^Io4KuFHg*pUpf>s$4bQ zQr{ejq^(kQ$prY)!st*EJTKH_xQ0-kHc71R76Z?Yll=<%3F$)C*z+4U*1 z7(N>%LDo?D9S=^n`D^oY;D4(eH+NL+KiW@DI$22R^c%fy>!Wqj{Y?zd zxUkJkp<*xG!>ihii1pstLT7ajuc8!}yISY*;hU)Dj|3~W53n40q_)wGG7TKRmbl?o zar?C?w3n}PPwI48@ul{am~_#cOQL;A<~Z*&5(pAVM4^gR2u4FyS=z7}?;iR>{2)hh zCkx?%YM&!N0oRgl;UD;syKPU-R2ZKCh3v&TKL_%T+DP5K0EbNw{fulu)n&AmHnyH0 zp1yp+@X66VWX2v{Ev9h_e>2C3?eG?DM&W?ZDVFJ5P9*lbxW32*sTkT0;oElkeYY~r z65BsdsF?O^yL1a<`9AQ_w+`}-#9sniTN1-OLkJ6JW?e^>+d!_FPAgAS)KG>P)MO>6 zo$4LP^MXW$%C{;i&^f6|bLJ=K4i2l&y3sH1sT`8Jq}<&rsN6w{^5L@0F-^^%6YKn_ zQcXVrou7cGX~ZKJFcwCX2qz9@82*>_dyP#-1h`=M^2SBm50 z#sS?s5g5TvxB#<|3g6E)3t)0$IFS40Kzabzr z0X=d8Z{=vdi5SAxleN1%Cj-2McevTMFnQADDu+;4Kx4U3>Q#wE;n@=w9fW3@+?4zA z0thO6bG7^^f~Y$-*MC5hsh1-f-pON9(}yQma5*U%#&Oi&V8&ZR58rL*^Jlzww(@5!Nm0@7NgP_!^r#g`{&Vtz|x&g?))bp zgI;7R^Rh>9&ec8L!nNsE8H{$;XWWM*&!@_%L80Z;T){}PT+tsIcq4y$++za)Kk8=A z6o+&VeOOU{Cs;$FQC$3IP}H7~=9~c8!>vSuJ^+wUk^@*9vhu1A!=cr>3Dv>kS5)bESfs?}JZksKb8E@T*URdv*Vq|SU z$mlhov;i^hdbRQ;{ycUb463f+%#j<*RN-tX9%ZuwdPUD}Ny(+3 zPg%H1MzDDrf>J0LoZ%GPMO^3I{!3#!HpjQxJ1I|Lvypb}lqy^)I*W z{Ef~8b66YU)WfJD@RcALtIl5+al&p>U#;|HZr)nmbgDNNxY*+nE&biii2ccl+7ooq zE6h76*ySF|?pr%C0(yLe6T@_$q52N;9D{!UjWx>*l0541&YEIZ@_6J`=3<{_Nr7gs zyq8WOVm`cfz>z1=?jZG zO#;nyH@3!EadCujHJQ)o_#}>p!jt$tWww0`=%s&4myKbQ(lA>0NUy9K zywG+bhFXA?T)Lvul-Qf~%fFL-?NH9?9>e)n+v+C0jRaAG#zZlrzsT4DQwEbZC^6kE z4wG#3UAs5zcbO&rDna-{F;ABqYF;mkXubsrRXz&rp4 zt1p5h3vDun{RxPfS9O@AyGnXYv zr-k*RY=e<0$Z8ur?@>??Z9~A%G;73*!6o>u^=B>zXqk(w0!xJGsHoTA52wc_l^)pH z*|3ZrG;%}7#ORtp81$x+clqC-sK&^~@;@il@I?`ZBm?K_8BfyfT?1jbxsIODx6O-{ zcg723O@*z#>lcfwJLD@YQw|Ip809F$bZ$_BH;NAQa}oq`8Hh)-qoG;~1Xo8}b@&;S zQe6q(^p4Sy5IeHr5B&5tU{XU|A!eru&WM1nQ1A}2o~>`uj#i>O9-*14Gp|?F_@*jx zA}$?@4h$mua{(Rj2>@fVsS5;G4hpCm%g>H-L{-GHMjl3DTvVSx96}V~GINylG_aaU zyK<*yx}y2brhq*;Ilr=hF4FXEn-P`WMK7R`coQ`QTFl*6m~?kV!jX{TI5{S8jZ9m( zTF=;wMDE)oH1;`MbAz-=Ao>IHs!X*x|{s6_Z<{eX)FK9VUU5m^%Mu zJd_X@octZTtjlNgp{^ESIjTcL_X#x!e*Xczk8;usjGMk3RaYm0o|0b==dM37!6miH*DzZ$@ zSvw4vx)19-R*(D)SKVsw7>>^Q(PGNJm~|BwQHRe8Aj%OM6Ew@IyHSNBux}lOWJvrq zhK7;^k3cPzM(62D+C;3wr3-r&YX3NpF#i`y@R<|#SQ`D!E@bDKy!RlZhaKU^{O*rQ z1d$eWP|}diu=#a#ml+{RDflf2V^u;e0p3aPA`d)%>r6ap#(Y`>A&FMRh6NZ8Xl0f7 zpqAIdM|8;H7noaxRz;VRCS$EqILzw0o9n9y9*2TNbrZB3@%sCw&T*cQ-)+Wc%E6~n zY1vbDmF$1@g8I^k9uop~mym4_PRjQ#V0Qmri&vgPRSRUVr+_mgvItakXVk=%Ep*TF zJK?+)*z$T>N5+rDd;;9V41%k^4Sx_{!uxb_J*YFvmNQ$z-jOTK)7I06ZOg4&>J7VM zv_=%gRE^)uHviRqte5z$Ca;!xt=E5hnES3d~(I$p04?h&};)`L!fBX+T@d-SDFc-Wt9hCAeGUP1<$6P{*!D=#O^$FMiht~f>ZaBeuL5gA9ZVeBxYB%f zMN#u>ZeN)&&p)sOtVHlSIVwIP{E}Vef_1p4da=`nQ3D?@I4zcJ{A*f~Ju)orNksP; z8ucEG=|wXk;36bA70vt6RxY`a8@}C&L#bE!{z^2FeGAW8)havs1Q={n!=+DWen?5% zoob7pNFj}L6kh&VjP>5Jt&~R_*Rm+vM%+FVhGrf%uGts;uS}TW!DJfvl&%*2>;ew}!IOs#B=OP)n` zxt$v~q;XC4Y^Xi@>4n}cZMFrWbV_0m7y?06`uru#n}>j zJ|sK0i)&_Ck|a{?(9V(9SLjM0(*msjiYqK5=0UF~XpzQ@ve^ukoE(6;U_jc9#g zo{!PaFydwUcME!7-9~70YwF;)?P==t<#rP}@ZJ&(GNb+Asq!2R-Ah{!Y`?1A91)bznMhkzp$BlwwrD%BcTtX(#PMEhnNnP+W0|OzFNb zwc2jmhinN;&Y;{mgRGf;V=rZIX?o|bsAqD@tFB*ZTfB3OWB)EKoWL}l0-z~yW~ZmC zYk84&8HCq!Dqee$x{N*XIQJBUQrF_3y~-#?>|DKEBN(q_vKDPXp)KB>*TTU$x%O46 zr)ZH)^e-vc{GGEzc-P;;U0geb@o_TZsEo)}kBsPqJHob&72wvk8Dy-tN}FUhMCm%P zQM^PZx~RQP%53ddHR7V1_;G!cQkpWp7?(z4kFlVYWo`}9OgmOuyL}iYt!%D4YH?Az{v1T7cV;ltM%OZ?|%16nqb6o`* zcoPGa^r4}lmbMgek2>jg#jWh|`OpTKGJ!SdPCDymdMXHx&Hc-DTb)P=J6Jo){GdHT zuM?guIfp-P7&2Cf8!1Grso1wu&h$vX)x5O0CFK~fUEC~c?%12!ate;G1oaaTn*?Re z|3^n#fErcTLWXl#P(Y6>{g1JQp%rr#Hd?ItsKm0ykw(;AkTNWeX3Bc*n1{2H)$_=S zF3*k3C|yd1P(eh2;mu9EiNdz1Iq_aoTen*#Tct!yw^Q_O=7x+_uZF9^t$#%^mtYAx zCEoKyA1hVjJu(ja8hbp69ECVg7+EDOghoer-niRA->D?`?>bS+6jR7%hW~+5z`WBD z^U>6>eU2K9K-KdQH5#3oI5?=TEvE+BPPL40D7;ohk-pc{uBewB5y>OuMsKN!Y1)A#=A^qR(j@kA z^YbC>6{pF9HiwMBdwsHIG^NN;=LKN?k>ZLJ8ue=$?{86MXQa1Wn`tgXrILc$$1P8Y z4NVZHN*8Q#++)9m8^`xOH|9;CP4RQzbP0lUpz8P5NqZyhR+@Q(C50oJq-)b$C%*=Q zlWfj)e#ce)LC6}HHluJNIVC<6ho7QEvuoCbOgENYukZyb{C%1!gX6)69&k zJ@pLi8B40zUV|iY656@5c39z++C&X0(fww@+%NtedEcg?-Ll$;Of?yJMUCQ`TG~bD zKQe;vB-eJf#>&Bem|Je{!7<82UI9}Owob^}m#y^S0q%Ft_JO<8r9#2a7U*Nyv03( zstutPYkTs0p-A6%((`}=&g~;|4)_Dy#2dqc5she9t5j9p`sN@jwQr1-lczVx+1!IH za>7hy+WIYNRy-4ouc8KR%<&VJe@)o4Z*!eYz&nrnd)=FD94MSJ2CP*R^wdF9-U{;E z<2CAf31vE)y4OwF>!sgFMY0Sy2Ei-!EZiQVHGg{;g5ztt7mEL;Kg!@Ua2uV8g@1Il z&*W0zHyLNT1w&`pgFd_p9B+Xa%UD9(HZRR{Pc&)2AtL+OOA|Z-VYXAR6{WS*CGzcA z1qxWOZ*NFfz*gpXi|h~@f=_L{hZ(>2fd&?q^uD_5W9~H&2rgbV*#7pYbCR3+TA3>PvcB; zG@oa8yP|A-qlK;8OLgxdNmtsPiO^(+-M##d5cRscd^!hfvv$QiRH|A)S4Z8C=f*~M zuzBP-8_$zQPdsPz-z)|(dW#>@ND%7~N7S1l&+eFp>P8k=Jf@4irhe~TWH(~YXZt}T z6$-LySMm-vLFh>WhL0(cBzbIKBhv}CkT75TnC*`903Dn$YDCL@`_!FIw+u+#A9(j( zQ@MUgqXexPk2-!hHwK<7MwlmUj_dt;*<}2OSwaX>JtI4yyo)^wsv;0nudN8Q0F22C zD^Yi5*81o3ojg%JP4!79HTBqD_ zNj!=6u^!tIa=Z5$H!=i#lnWYaQ*Xb-+Kt*C8mlWI5^tY)4$;{T>RB^vIq}I5w`n#O zU5SFn*mqM%RCD;-ixdN!RYkwdL)oe3x$_Rr{j*l2cCni#5MVACdx zcBTFVFmGm1_#j`A0h@rww3TYE<8-IYEA`8ZwS$tEzPhBXDc)1QOqeZq!m`WYXk6%f z1~v70SDoNKNBR6gL&h(IjCR!@-_zFqG&s}a3>f&fGLr~1W%Uk9;EO*Eq&dA#>XyAf zMdRn4L^ZGtz7OIe$@n={u3}3kFYX}9x++G znbEPKA~d$3fe{asl;5}5FEWv;>@rAA8OtAno%{sA+lOO78lBb^63o#=Il|#%kuOA-#`muUjm)F4mwC&bQBa6qw?%UEJ1Yr($NBv$7lb3 zrQxeW#{A(MFckBCVOTHJ{FZvrZO_B=uZv$DYu7i@*Uqrafv;~VHcz&go4$sd7#Pcu zashR9Ju&??l!(T}NC$gtmZ04Hmp zv_O$#)k%9`AIpRl&KV)$V5)rzI1Wm@6@B!exbk(_w?it@15%vEwXVFYOe3S6DE_5K z4`p1Ac;6~+DBQfsVrRT8xoYFZ=E>ICo|H*(1&Zyoc|{mIL8>wVmM{>wr2$ClsLD#h z4aop_j7?fH;1>s& zAEHm(uWoy0|4?62@Ie)NHDJQ8i={vZE?;jKDKf6wFK6cP4#_mlQaM!O813wUM206s zmSPgBRk!X}$ryCF2^DwGX87S+5DdhdQaX}WZ2%zyV z@mY5F?ELN#fthr>uwVw=!fxmdj9j4d-CiBKT@z6kaRSRBSTb)4>6>)H?5NF;C?JFZ z4G5_w<-t|vULq|T3?0Uc)2c5ktHDy-F+QPsDISsV*6*YOA{wlV>qf&CR5W^#qD8H~ zDbdui;hf+pRsC`&W?IvUC6+GvS)4aufjwm=hnytAvbYZTQNDjz2so7I9)iFHk%ssQ z`3h`j&XDbxiZL7d4%@%($hY@xxV2_+2!Igk4K~>ghc8BjGI>zH!!wfh9fP7e(2r?= zWrbUQK}x*?z3~u2(_I+6EBTj-<|A#2MoS~T{BXU#;z_?g_m*Hz16U>aMu)=&sA4)F zt1Bqz0#NZ3%SgYXy?z#}O+0$L6I4|jW2opEG+M<)fID^jRJ~-QP7t4`ng^r9p*)PK z6m}~CN93?cE`X-Y*2uee?`mg-F|=_R&qr^g5IJ_WvUn&?@+CD{f z36tPL)%8eBDsp`|a$8}XO{v$N>3Oo_N}ENZxXQdEOUQ*l1kUhJ8cN;?LUSl8_bnAT zTmC?|;ci+rJef)xJu+;0WRD1j8rkM#>ec3^hZk`P1hdX~9VOi-AW%^ht%jscD8R$W zM47V0t4;f=i!1U@b_x5KRD>!Iib{YDmzvZKL1w;iRV`&g>{L&0Tl`QgigT70p;yU4 z3wHzB5OR`)d2T8&@G$r$p~YdEcH_IgMhJ6}l}F^IDw*q~@#F~YP6wlb`aw$#2pdL} zmw$)mkl5u{sLH@tF$h9iOot+GpC+iLI3d%7Hfm%QrRSuLKoZJPNx8q9Op8BKYD+=O2K zvWz$VkDTtef^6dBm=Qnl~&2)Z)z>^GYOi14GdlUMO_;-2V6d}|=^(?ExIL1%cjSB*?aW1V}3n zqNiBp-;8q>;Ag#}gGr+qbaj0nF(*!78a}dBPFf^{iwCR?B|s-P#N;4Eo=&d*b6k1}2V7Z?`<+1oyr}6f^g3L2AQ}Gf znW^%hi(O^Vsb)}vC5yv@;v_H;7LijLDdHuKFuDm1FG{CPs6JjpF2!xPOmX%>p~2d{ zWI@e=T%wmkB)(&i)1R4)rX?g&b4bgT;sql+!wD695s(H#YA^yiQD0_+ME zVOEtncVaN5$*KiE`Dk3+8igLi*8EGL_mbjON3Gew99!KkWL2Jo!Ui?48tz0r9_O zC4m9nSLzh)%2taMHY3|}f@i}YBRrUck1r0%&Ya;L1E&GF`rZx4_{p_xB$WBS`BBYH zJJn*X1XZ-<1{L-cHp8YUd+#aPlqT(yo&tmeNK#ak^A&w!(|aMmy|2-E7Dbn&5Fq1k{bG2t3y%4PKWPQ^%>U#MW8P@YC5(&hAi%jtxX{G<+)Rht(6g~c-#2!$G_49-{Lf}J>(JB`Unp1%CWK`f#GIA&+7v{53+KtZ@I_D* zDzAwV&R(EK@%uQnd&j0WLqu@{TKaH=029nn8%%&iDhVuvYzQK8uM8?RsoF1JADQb! zbDs}`Dr`R1*hFqWr~~%z;uU!$um}*(vmgAd+Y0>^Q3P$&exot;8&#p|*lQExq$0qK zoHT3PoO7ENb>tFA6>&cbrX%l}WM9RhK>xo~W_iMoZ$a3x@1$yZw`3}1YZ*}oq)-ml zwo#r0iN?bUf*+{Z)WtX3S)NtTNyzTLy+C)slf0O;)8Qu|Z#u+PmI7JpsgDNm z4wC;4^1)pCu6ICRSQ}Zpck5%se7K|2fA0Sgpp#B^34;=oL`ehi<)`50pWupYoq`qC z{mY-~B^RF$uEOpN$8_`&?F=LC)Z*QT(ejmo=Kr&44(0#7ll7k+Z~p%#t)L(v`~Y~r O|Bc31Y5iY~)&B+joXU6r literal 0 HcmV?d00001 diff --git a/components/mcp3008.rst b/components/sensor/mcp3008.rst similarity index 62% rename from components/mcp3008.rst rename to components/sensor/mcp3008.rst index 33929be67..173f878e6 100644 --- a/components/mcp3008.rst +++ b/components/sensor/mcp3008.rst @@ -3,20 +3,17 @@ MCP3008 I/O Expander .. seo:: :description: Instructions for setting up MCP3008 10 Bit Analog to Digital Converter in ESPHome. - :image: mcp3008.png - -.. note:: - - This page is incomplete and could some work. If you want to contribute, please read the - :doc:`contributing guide `. This page is missing: - - - An image for the front page. - - Formal documentation of the mcp3008 sensor entry (parent, update_interval, number, etc.) - - See Dallas sensor for reference model + :keywords: MCP3008 + :image: images/mcp3008.jpg The Microchip Technology Inc. MCP3008 devices are successive approximation 10-bit Analogto-Digital (A/D) converters with on-board sample and -hold circuitry. Each pin will respond with a 0-1023 result depending on the voltage it is reading +hold circuitry. + +.. figure:: images/mcp3008.jpg + :align: center + :width: 50.0% + MCP3008 ------- @@ -29,6 +26,14 @@ It uses the :ref:`SPI Bus ` for communication. Once configured, you can use any of the 8 pins as sensors for your projects. +Each pin will respond with a voltage calculated off of the reference_voltage (default is 3.3v). +It calculates the voltage by multplying the reference_voltage * value on the pin (basically the percentage of VREF) + +Most configurations will set the reference_voltage = VREF (pin 13 on the chip) + +If you want just the scaled value you can use the read_data function + ``float MCP3008::read_data(uint8_t pin)`` + .. code-block:: yaml # Example configuration entry @@ -41,10 +46,10 @@ sensors for your projects. # See `resistance` and `ntc` platorms for other options sensor: - platform: mcp3008 # Attached to pin 0 of the MCP3008. - # The result will be a reading from 0-1023 + reference_voltage: 3.19 update_interval: 1s id: freezer_temp_source - number: 0 # pin number + number: 0 # MCP3008 pin number - platform: resistance id: freezer_resistance_sensor sensor: freezer_temp_source @@ -61,14 +66,21 @@ sensors for your projects. Configuration variables: ~~~~~~~~~~~~~~~~~~~~~~~~ - +MCP3008 Component +***************** - **id** (**Required**, :ref:`config-id`): The id to use for this MCP3008 component. - **cs_pin** (**Required**, int): The SPI cable select pin to use +MCP3008 Sensor Component +************************ +- **id** (**Required**, :ref:`config-id`): The id of the parent MCP3008 component. +- **number** (**Required**, int): The pin number of the MCP3008 +- **reference_voltage** (*Optional*, float): The reference voltage. Defaults to ``3.3V``. +- **update_interval** (*Optional*, :ref:`config-time`): The interval to check the sensor. Defaults to ``1s``. + See Also -------- - :ref:`spi` - :apiref:`mcp3008/mcp3008.h` - :ghedit:`Edit` - diff --git a/images/mcp3008.jpg b/images/mcp3008.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0aa0670b838d7717b262e7242410438973ec4323 GIT binary patch literal 11235 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 O|Bc31Y5iY~)&B+joXU6r literal 0 HcmV?d00001 diff --git a/images/mcp3008.png b/images/mcp3008.png deleted file mode 100644 index 170a5c9380be7df72c047fa6d773457548341a8a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 71364 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 Date: Fri, 15 Jan 2021 09:30:01 +1300 Subject: [PATCH 5/9] Add docs for pn532 NDEF functionality (#936) --- components/binary_sensor/pn532.rst | 80 ++++++++++++++++++++++++++++-- 1 file changed, 77 insertions(+), 3 deletions(-) diff --git a/components/binary_sensor/pn532.rst b/components/binary_sensor/pn532.rst index 549083b1e..bab9ca903 100644 --- a/components/binary_sensor/pn532.rst +++ b/components/binary_sensor/pn532.rst @@ -77,9 +77,11 @@ if the tag is changed or goes away for one cycle of ``update_interval``. The parameter ``x`` this trigger provides is of type ``std::string`` and is the tag UID in the format ``74-10-37-94``. The configuration below will for example publish the tag ID on the MQTT topic ``pn532/tag``. +See :ref:`pn532-ndef_reading` below for how to use the second ``tag`` parameter that is provided to this trigger. + .. code-block:: yaml - pn532: + pn532_...: # ... on_tag: then: @@ -92,7 +94,7 @@ using :ref:`api-homeassistant_tag_scanned_action`. .. code-block:: yaml - pn532: + pn532_...: # ... on_tag: then: @@ -103,7 +105,7 @@ Alternatively you could also send the value directly to Home Assistant via a .. code-block:: yaml - pn532: + pn532_...: # ... on_tag: then: @@ -167,10 +169,82 @@ When your code is running and you approach the PN532 with an NFC Tag, you should Then copy this id and create a ``binary_sensor`` entry as in the configuration example. Repeat this process for each tag. +.. _pn532-ndef: + +NDEF +==== + +The PN532 supports reading and writing NDEF formatted data into the cards. + +.. _pn532-ndef_reading: + +NDEF reading +------------ + +The following example will read an NFC tag that has been formatted and written using the Home Assistant Companion +App and send it to Home Assistant using the :ref:`api-homeassistant_tag_scanned_action`. The ``tag`` variable is +supplied to the ``on_tag`` trigger and any actions that run and can be used as below. + +.. code-block:: yaml + + pn532_...: + # ... + on_tag: + then: + - homeassistant.tag_scanned: !lambda | + if (!tag.has_ndef_message()) { + return x; + } + auto message = tag.get_ndef_message(); + auto records = message->get_records(); + for (auto &record : records) { + std::string payload = record->get_payload(); + size_t pos = payload.find("https://www.home-assistant.io/tag/"); + if (pos != std::string::npos) { + return payload.substr(pos + 34); + } + } + return x; + +.. _pn532-ndef_writing: + +NDEF Writing +------------ + +The following example can be used to write a (pseudo) random UUID to the tag in the same format as the +Home Assistant Companion App does. + +.. code-block:: yaml + + on_... + then: + - lambda: |- + static const char alphanum[] = "0123456789abcdef"; + std::string uri = "https://www.home-assistant.io/tag/"; + for (int i = 0; i < 8; i++) + uri += alphanum[random_uint32() % (sizeof(alphanum) - 1)]; + uri += "-"; + for (int j = 0; j < 3; j++) { + for (int i = 0; i < 4; i++) + uri += alphanum[random_uint32() % (sizeof(alphanum) - 1)]; + uri += "-"; + } + for (int i = 0; i < 12; i++) + uri += alphanum[random_uint32() % (sizeof(alphanum) - 1)]; + auto message = new nfc::NdefMessage(); + message->add_uri_record(uri); + ESP_LOGD("ndef", "Writing payload: %s", uri.c_str()); + id(pn532_board).write_mode(message); + - wait_until: + not: + pn532.is_writing: + - logger.log: "Finished writing tag" + See Also -------- - :doc:`index` - :doc:`rdm6300` +- :doc:`rc522` - :apiref:`pn532/pn532.h` - :ghedit:`Edit` From 26d88bfdc0315074d820bb74f3d38de7fa201132 Mon Sep 17 00:00:00 2001 From: Zvonimir Haramustek Date: Sat, 16 Jan 2021 01:20:08 +0100 Subject: [PATCH 6/9] Adding Inkplate 6 docs (#778) * Added Inkplate. * Fixing Inkplate docs. * Added Configuration variables for Inkplate. * Update components/display/Inkplate.rst Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com> * Added another warning. * Fixed indents. * Done requested change * Add pin configurations to docs * Apply suggestions from code review Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com> --- components/display/Inkplate.rst | 277 +++++++++++++++++++++++++ components/display/images/Inkplate.jpg | Bin 0 -> 33233 bytes images/Inkplate.jpg | Bin 0 -> 33233 bytes index.rst | 1 + 4 files changed, 278 insertions(+) create mode 100644 components/display/Inkplate.rst create mode 100644 components/display/images/Inkplate.jpg create mode 100644 images/Inkplate.jpg diff --git a/components/display/Inkplate.rst b/components/display/Inkplate.rst new file mode 100644 index 000000000..8158629c1 --- /dev/null +++ b/components/display/Inkplate.rst @@ -0,0 +1,277 @@ +Inkplate 6 +========== + +.. seo:: + :description: Instructions for setting up Inkplate E-Paper displays in ESPHome. + :image: Inkplate.jpg + +All-in-one e-paper display ``Inkplate 6`` +Inkplate 6 is a powerful, Wi-Fi enabled ESP32 based six-inch e-paper display – recycled from a Kindle e-reader. Its main feature is simplicity. +Learn more at `Inkplate's website `__ + +.. figure:: images/Inkplate.jpg + :align: center + :width: 75.0% + + Inkplate 6 + + +.. code-block:: yaml + + # Example minimal configuration entry + + mcp23017: + - id: mcp23017_hub + address: 0x20 + + display: + - platform: inkplate + id: inkplate_display + greyscale: false + partial_updating: false + update_interval: 60s + + ckv_pin: 32 + sph_pin: 33 + gmod_pin: + mcp23017: mcp23017_hub + number: 1 + gpio0_enable_pin: + mcp23017: mcp23017_hub + number: 8 + oe_pin: + mcp23017: mcp23017_hub + number: 0 + spv_pin: + mcp23017: mcp23017_hub + number: 2 + powerup_pin: + mcp23017: mcp23017_hub + number: 4 + wakeup_pin: + mcp23017: mcp23017_hub + number: 3 + vcom_pin: + mcp23017: mcp23017_hub + number: 5 + +.. warning:: + + When using the Inkplate epaper module, the GPIO pin numbers above *cannot be changed* as they are + hardwired within the module/PCB. + +.. warning:: + + Inkplate module cannot perform partial update if 3 bit mode is on. + It just ignores the function call in that case. + + +Configuration variables +*********************** + +- **id** (*Optional*, :ref:`config-id`): Manually specify the ID used for code generation. +- **greyscale** (*Optional*, boolean): Makes the screen display 3 bit colors. Defaults to ``False`` +- **partial_updating** (*Optional*, boolean): Makes the screen update partially, which is faster, but leaves burnin. Defaults to ``False`` +- **full_update_every** (*Optional*, int): When partial updating is enabled, forces a full screen update after chosen number of updates. Defaults to ``10`` +- **lambda** (*Optional*, :ref:`lambda `): The lambda to use for rendering the content on the display. + See :ref:`display-engine` for more information. +- **update_interval** (*Optional*, :ref:`config-time`): The interval to re-draw the screen. Defaults to ``5s``. +- **pages** (*Optional*, list): Show pages instead of a single lambda. See :ref:`display-pages`. + +- **ckv_pin** (**Required**, :ref:`config-pin`): The CKV pin for the Inkplate display. +- **gmod_pin** (**Required**, :ref:`config-pin`): The GMOD pin for the Inkplate display. +- **gpio0_enable_pin** (**Required**, :ref:`config-pin`): The GPIO0 Enable pin for the Inkplate display. +- **oe_pin** (**Required**, :ref:`config-pin`): The OE pin for the Inkplate display. +- **powerup_pin** (**Required**, :ref:`config-pin`): The Powerup pin for the Inkplate display. +- **sph_pin** (**Required**, :ref:`config-pin`): The SPH pin for the Inkplate display. +- **spv_pin** (**Required**, :ref:`config-pin`): The SPV pin for the Inkplate display. +- **vcom_pin** (**Required**, :ref:`config-pin`): The VCOM pin for the Inkplate display. +- **cl_pin** (*Optional*, :ref:`config-pin`): The CL pin for the Inkplate display. + Defaults to GPIO0. +- **le_pin** (*Optional*, :ref:`config-pin`): The LE pin for the Inkplate display. + Defaults to GPIO2. + +- **display_data_0_pin** (*Optional*, :ref:`config-pin`): The Data 0 pin for the Inkplate display. + Defaults to GPIO4. +- **display_data_1_pin** (*Optional*, :ref:`config-pin`): The Data 1 pin for the Inkplate display. + Defaults to GPIO5. +- **display_data_2_pin** (*Optional*, :ref:`config-pin`): The Data 2 pin for the Inkplate display. + Defaults to GPIO18. +- **display_data_3_pin** (*Optional*, :ref:`config-pin`): The Data 3 pin for the Inkplate display. + Defaults to GPIO19. +- **display_data_4_pin** (*Optional*, :ref:`config-pin`): The Data 4 pin for the Inkplate display. + Defaults to GPIO23. +- **display_data_5_pin** (*Optional*, :ref:`config-pin`): The Data 5 pin for the Inkplate display. + Defaults to GPIO25. +- **display_data_6_pin** (*Optional*, :ref:`config-pin`): The Data 6 pin for the Inkplate display. + Defaults to GPIO26. +- **display_data_7_pin** (*Optional*, :ref:`config-pin`): The Data 7 pin for the Inkplate display. + Defaults to GPIO27. + + +Complete example +**************** + +The following is a complete example YAML configuration that does a few things beyond the usual +Wi-Fi, API, and OTA configuration. + +.. code-block:: yaml + + # Example configuration entry + esphome: + name: inkplate + platform: ESP32 + board: esp-wrover-kit + + logger: + + wifi: + ssid: + password: + ap: + ssid: Inkplate-AP + password: '12345678' + + captive_portal: + + ota: + + api: + + switch: + - platform: restart + name: "Inkplate Reboot" + id: reboot + + - platform: gpio + id: battery_read_mosfet + pin: + mcp23017: mcp23017_hub + number: 9 + inverted: true + + - platform: template + name: "Inkplate Greyscale mode" + lambda: return id(inkplate_display).get_greyscale(); + turn_on_action: + - lambda: id(inkplate_display).set_greyscale(true); + turn_off_action: + - lambda: id(inkplate_display).set_greyscale(false); + + - platform: template + name: "Inkplate Partial Updating" + lambda: return id(inkplate_display).get_partial_updating(); + turn_on_action: + - lambda: id(inkplate_display).set_partial_updating(true); + turn_off_action: + - lambda: id(inkplate_display).set_partial_updating(false); + + sensor: + - platform: adc + id: battery_voltage + update_interval: never + attenuation: 11db + pin: 35 + - platform: template + name: "Inkplate Battery Voltage" + lambda: |- + id(battery_read_mosfet).turn_on(); + delay(1); + float adc = id(battery_voltage).sample(); + id(battery_read_mosfet).turn_off(); + return adc; + filters: + - multiply: 2 + + i2c: + + mcp23017: + - id: mcp23017_hub + address: 0x20 + + binary_sensor: + - platform: status + name: "Inkplate Status" + id: system_status + + - platform: gpio + name: "Inkplate Touch Pad 1" + pin: + mcp23017: mcp23017_hub + number: 10 + - platform: gpio + name: "Inkplate Touch Pad 2" + pin: + mcp23017: mcp23017_hub + number: 11 + - platform: gpio + name: "Inkplate Touch Pad 3" + pin: + mcp23017: mcp23017_hub + number: 12 + + time: + - platform: sntp + id: esptime + + font: + - file: "Helvetica.ttf" + id: helvetica_96 + size: 96 + - file: "Helvetica.ttf" + id: helvetica_48 + size: 48 + + + display: + - platform: inkplate + id: inkplate_display + greyscale: false + partial_updating: false + update_interval: 60s + + ckv_pin: 32 + sph_pin: 33 + gmod_pin: + mcp23017: mcp23017_hub + number: 1 + gpio0_enable_pin: + mcp23017: mcp23017_hub + number: 8 + oe_pin: + mcp23017: mcp23017_hub + number: 0 + spv_pin: + mcp23017: mcp23017_hub + number: 2 + powerup_pin: + mcp23017: mcp23017_hub + number: 4 + wakeup_pin: + mcp23017: mcp23017_hub + number: 3 + vcom_pin: + mcp23017: mcp23017_hub + number: 5 + + lambda: |- + it.fill(COLOR_ON); + + it.print(100, 100, id(helvetica_48), COLOR_OFF, TextAlign::TOP_LEFT, "ESPHome"); + + it.strftime(400, 300, id(helvetica_48), COLOR_OFF, TextAlign::CENTER, "%Y-%m-%d", id(esptime).now()); + it.strftime(400, 400, id(helvetica_96), COLOR_OFF, TextAlign::CENTER, "%H:%M", id(esptime).now()); + + if (id(system_status).state) { + it.print(700, 100, id(helvetica_48), COLOR_OFF, TextAlign::TOP_RIGHT, "Online"); + } else { + it.print(700, 100, id(helvetica_48), COLOR_OFF, TextAlign::TOP_RIGHT, "Offline"); + } + + +See Also +-------- + +- :doc:`index` +- `Arduino Inkplate 6 library `__ by `E-radionica.com `__ +- :ghedit:`Edit` diff --git a/components/display/images/Inkplate.jpg b/components/display/images/Inkplate.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a373c8082cb9688984eb329fe6418df658792c3b GIT binary patch literal 33233 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 E08z>P0{{R3 literal 0 HcmV?d00001 diff --git a/images/Inkplate.jpg b/images/Inkplate.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a373c8082cb9688984eb329fe6418df658792c3b GIT binary patch literal 33233 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 E08z>P0{{R3 literal 0 HcmV?d00001 diff --git a/index.rst b/index.rst index 4baffe963..bffba46ef 100644 --- a/index.rst +++ b/index.rst @@ -291,6 +291,7 @@ Display Components ST7789V, components/display/st7789v, st7789v.jpg ILI9341, components/display/ili9341, ili9341.jpg Waveshare E-Paper, components/display/waveshare_epaper, waveshare_epaper.jpg + Inkplate 6, components/display/Inkplate, Inkplate.jpg PCD8544 (Nokia 5110/ 3310), components/display/pcd8544, pcd8544.jpg Cover Components From fe4d9dac581fab0dca8ba0eec8957a7d42240996 Mon Sep 17 00:00:00 2001 From: Jesse Hills <3060199+jesserockz@users.noreply.github.com> Date: Sun, 17 Jan 2021 17:06:45 +1300 Subject: [PATCH 7/9] Bump version to v1.16.0b4 --- Doxygen | 2 +- Makefile | 2 +- _static/version | 2 +- conf.py | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Doxygen b/Doxygen index 086870826..e7ef0f54f 100644 --- a/Doxygen +++ b/Doxygen @@ -38,7 +38,7 @@ PROJECT_NAME = "ESPHome" # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = 1.16.0b3 +PROJECT_NUMBER = 1.16.0b4 # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a diff --git a/Makefile b/Makefile index 9475a4199..edb91b0b6 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ ESPHOME_PATH = ../esphome -ESPHOME_REF = v1.16.0b3 +ESPHOME_REF = v1.16.0b4 .PHONY: html html-strict cleanhtml deploy help webserver Makefile netlify netlify-api api netlify-dependencies svg2png copy-svg2png diff --git a/_static/version b/_static/version index d07a70c60..022cee66e 100644 --- a/_static/version +++ b/_static/version @@ -1 +1 @@ -1.16.0b3 \ No newline at end of file +1.16.0b4 \ No newline at end of file diff --git a/conf.py b/conf.py index 9214f44e8..9e0480dd1 100644 --- a/conf.py +++ b/conf.py @@ -72,7 +72,7 @@ author = 'Otto Winter' # The short X.Y version. version = '1.16' # The full version, including alpha/beta/rc tags. -release = '1.16.0b3' +release = '1.16.0b4' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. From 10959e09211481d8ea672c77bac911a838f032b1 Mon Sep 17 00:00:00 2001 From: Jesse Hills <3060199+jesserockz@users.noreply.github.com> Date: Sun, 17 Jan 2021 17:07:07 +1300 Subject: [PATCH 8/9] Update changelog for 1.16.0b4 --- changelog/v1.16.0.rst | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/changelog/v1.16.0.rst b/changelog/v1.16.0.rst index d7a5f8314..237627fc9 100644 --- a/changelog/v1.16.0.rst +++ b/changelog/v1.16.0.rst @@ -245,3 +245,16 @@ All changes - docs: Add hint for swapped data and clock pin :docspr:`914` by :ghuser:`DirkHeinke` - docs: Update nextion.rst :docspr:`912` by :ghuser:`wernight` - docs: Update mirabella-genio-bulb.rst to show potential use of GPIO14 instead of GPIO13 for specific monochromatic dimmable globes :docspr:`911` by :ghuser:`imeekle` +- esphome: Whirlpool ac :esphomepr:`1467` by :ghuser:`mmanza` +- esphome: Bump pytest-mock from 3.3.1 to 3.5.1 :esphomepr:`1458` by :ghuser:`dependabot[bot]` +- esphome: Add rc522 i2c :esphomepr:`1432` by :ghuser:`glmnet` (new-integration) +- docs: add rc522 i2c config variant :docspr:`933` by :ghuser:`glmnet` +- esphome: make time components polling components :esphomepr:`1443` by :ghuser:`badbadc0ffee` +- docs: add cli link :docspr:`937` by :ghuser:`glmnet` +- esphome: Updated Mcp3008 to support reference_voltage and voltage_sampler::VoltageSampler :esphomepr:`1387` by :ghuser:`SenexCrenshaw` (breaking-change) +- docs: Updated Mcp3008 to support reference_voltage and voltage_sampler::VoltageSampler :docspr:`874` by :ghuser:`SenexCrenshaw` +- docs: cli.rst add --help :docspr:`939` by :ghuser:`foxsam21` +- esphome: Add NDEF reading and writing to PN532 :esphomepr:`1351` by :ghuser:`jesserockz` (new-integration) +- docs: Add docs for pn532 NDEF functionality :docspr:`936` by :ghuser:`jesserockz` +- esphome: Inkplate 6 support for ESPHome :esphomepr:`1283` by :ghuser:`davidzovko` (new-integration) +- docs: Adding Inkplate 6 docs :docspr:`778` by :ghuser:`nitko12` From 58a58d0cda9d786ebcdf623cb1a0dd81fa3e1f5a Mon Sep 17 00:00:00 2001 From: Jesse Hills <3060199+jesserockz@users.noreply.github.com> Date: Sun, 17 Jan 2021 17:07:23 +1300 Subject: [PATCH 9/9] Update supporters for 1.16.0b4 --- guides/supporters.rst | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/guides/supporters.rst b/guides/supporters.rst index d789fc0c1..4699c01a6 100644 --- a/guides/supporters.rst +++ b/guides/supporters.rst @@ -140,7 +140,7 @@ Contributors - `Achilleas Pipinellis (@axilleas) `__ - 1 contribution - `Kamil Trzciński (@ayufan) `__ - 7 contributions - `Nicholas Peters (@Azimath) `__ - 2 contributions -- `Florian Mösch (@badbadc0ffee) `__ - 5 contributions +- `Florian Mösch (@badbadc0ffee) `__ - 6 contributions - `balk77 (@balk77) `__ - 2 contributions - `Paulus Schoutsen (@balloob) `__ - 41 contributions - `Andrew Zaborowski (@balrog-kun) `__ - 7 contributions @@ -186,12 +186,13 @@ Contributors - `Dave Wongillies (@davewongillies) `__ - 1 contribution - `David De Sloovere (@DavidDeSloovere) `__ - 3 contributions - `David Beitey (@davidjb) `__ - 1 contribution +- `David Zovko (@davidzovko) `__ - 1 contribution - `Debashish Sahu (@debsahu) `__ - 1 contribution - `declanshanaghy (@declanshanaghy) `__ - 3 contributions - `deftdawg (@deftdawg) `__ - 1 contribution - `Rsan (@deltazerorsan) `__ - 1 contribution - `Mickaël Le Baillif (@demikl) `__ - 2 contributions -- `dependabot[bot] (@dependabot[bot]) `__ - 41 contributions +- `dependabot[bot] (@dependabot[bot]) `__ - 43 contributions - `Destix (@Destix) `__ - 1 contribution - `Alain Turbide (@Dilbert66) `__ - 2 contributions - `Mark (@Diramu) `__ - 1 contribution @@ -229,12 +230,13 @@ Contributors - `Eric Hiller (@erichiller) `__ - 1 contribution - `Ernst Klamer (@Ernst79) `__ - 1 contribution - `escoand (@escoand) `__ - 7 contributions -- `esphomebot (@esphomebot) `__ - 7 contributions +- `esphomebot (@esphomebot) `__ - 8 contributions - `Evan Coleman (@evandcoleman) `__ - 3 contributions - `Malte Franken (@exxamalte) `__ - 2 contributions - `Fabian Affolter (@fabaff) `__ - 28 contributions - `C W (@fake-name) `__ - 2 contributions - `Christian Ferbar (@ferbar) `__ - 2 contributions +- `foxsam21 (@foxsam21) `__ - 1 contribution - `Fractal147 (@Fractal147) `__ - 1 contribution - `Francis-labo (@Francis-labo) `__ - 1 contribution - `Francisk0 (@Francisk0) `__ - 1 contribution @@ -252,7 +254,7 @@ Contributors - `Giovanni (@Gio-dot) `__ - 2 contributions - `gitolicious (@gitolicious) `__ - 16 contributions - `The Gitter Badger (@gitter-badger) `__ - 1 contribution -- `Guillermo Ruffino (@glmnet) `__ - 185 contributions +- `Guillermo Ruffino (@glmnet) `__ - 187 contributions - `Giorgos Logiotatidis (@glogiotatidis) `__ - 1 contribution - `Germain Masse (@gmasse) `__ - 2 contributions - `Jelle Raaijmakers (@GMTA) `__ - 1 contribution @@ -286,7 +288,7 @@ Contributors - `Joshua Dadswell (@jdads1) `__ - 1 contribution - `jeff-h (@jeff-h) `__ - 2 contributions - `Jeff Rescignano (@JeffResc) `__ - 11 contributions -- `Jesse Hills (@jesserockz) `__ - 52 contributions +- `Jesse Hills (@jesserockz) `__ - 53 contributions - `Jonathan Jefferies (@jjok) `__ - 1 contribution - `Jeppe Ladefoged (@jladefoged) `__ - 2 contributions - `Jonathan Martens (@jmartens) `__ - 1 contribution @@ -365,6 +367,7 @@ Contributors - `Maarten (@mjkl-gh) `__ - 1 contribution - `mjoshd (@mjoshd) `__ - 2 contributions - `mknjc (@mknjc) `__ - 2 contributions +- `mmanza (@mmanza) `__ - 1 contribution - `mnaz (@mnaz) `__ - 1 contribution - `Michael Nieß (@mniess) `__ - 1 contribution - `Matt N. (@mnoorenberghe) `__ - 1 contribution @@ -450,7 +453,7 @@ Contributors - `Nils Schulte (@Schnilz) `__ - 1 contribution - `Ville Skyttä (@scop) `__ - 5 contributions - `sekkr1 (@sekkr1) `__ - 1 contribution -- `SenexCrenshaw (@SenexCrenshaw) `__ - 6 contributions +- `SenexCrenshaw (@SenexCrenshaw) `__ - 7 contributions - `Sergio (@sergio303) `__ - 2 contributions - `Sergio Mayoral Martínez (@sermayoral) `__ - 2 contributions - `sethcohn (@sethcohn) `__ - 1 contribution @@ -535,4 +538,4 @@ Contributors - `ZabojnikM (@ZabojnikM) `__ - 1 contribution - `San (@zhujunsan) `__ - 1 contribution -*This page was last updated January 12, 2021.* +*This page was last updated January 17, 2021.*