From bcbbd1dacd16092dc42653f3b4a7c96599959c10 Mon Sep 17 00:00:00 2001
From: Nikola <n@bobetic.com>
Date: Sun, 9 May 2021 22:00:01 +0200
Subject: [PATCH 01/21] Fixed datasheet link for RC522 (#1144)

---
 components/binary_sensor/rc522.rst | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/components/binary_sensor/rc522.rst b/components/binary_sensor/rc522.rst
index bcf3e9ad4..9100c7966 100644
--- a/components/binary_sensor/rc522.rst
+++ b/components/binary_sensor/rc522.rst
@@ -9,7 +9,7 @@ RC522 RFID
 .. _rc522-component:
 
 The ``rc522`` component allows you to use RC522 RFID controllers
-(`datasheet <hthttps://www.nxp.com/docs/en/data-sheet/MFRC522.pdff>`__, `Ali Express <https://es.aliexpress.com/item/1260729519.html>`__)
+(`datasheet <https://www.nxp.com/docs/en/data-sheet/MFRC522.pdf>`__, `Ali Express <https://es.aliexpress.com/item/1260729519.html>`__)
 with ESPHome. ESPHome can read the tag UID from it, every RFID tag comes with a unique
 UID value. Each known tag can be associated to a binary sensor, or you can use the tag information directly.
 See :ref:`rc522-setting_up_tags` for information on how to setup individual binary sensors for this component.

From 436efccf69f3f184c6550bd9b802c858e6d74432 Mon Sep 17 00:00:00 2001
From: Alex <alexrichards.github@gmail.com>
Date: Mon, 10 May 2021 09:37:50 +1200
Subject: [PATCH 02/21] Added receive for Fujitsu ACs (#1037)

Co-authored-by: Alex Richards <alex.github@gmail.com>
---
 components/climate/ir_climate.rst | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/components/climate/ir_climate.rst b/components/climate/ir_climate.rst
index fe0a8bbfe..232920c5e 100755
--- a/components/climate/ir_climate.rst
+++ b/components/climate/ir_climate.rst
@@ -23,7 +23,7 @@ request so it will be added (see FAQ).
 +---------------------------------------+---------------------+----------------------+
 | Daikin                                | ``daikin``          | yes                  |
 +---------------------------------------+---------------------+----------------------+
-| Fujitsu General                       | ``fujitsu_general`` |                      |
+| Fujitsu General                       | ``fujitsu_general`` | yes                  |
 +---------------------------------------+---------------------+----------------------+
 | Mitsubishi                            | ``mitsubishi``      |                      |
 +---------------------------------------+---------------------+----------------------+

From fc793e06827e0e11e3c89344f6a555893b4129b6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jakub=20=C5=A0imo?= <kubik369@users.noreply.github.com>
Date: Mon, 10 May 2021 00:01:02 +0200
Subject: [PATCH 03/21] Update docs: Add references to alternative ICs to
 HLW8012 and CSE7766 (#902)

---
 components/sensor/cse7766.rst | 5 +++--
 components/sensor/hlw8012.rst | 6 ++++--
 2 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/components/sensor/cse7766.rst b/components/sensor/cse7766.rst
index 8aef0884a..287db2c8a 100644
--- a/components/sensor/cse7766.rst
+++ b/components/sensor/cse7766.rst
@@ -4,11 +4,12 @@ CSE7766 Power Sensor
 .. seo::
     :description: Instructions for setting up CSE7766 power sensors for the Sonoff Pow R2
     :image: cse7766.png
-    :keywords: cse7766, Sonoff Pow R2
+    :keywords: cse7766, cse7759b, Sonoff Pow R2
 
 The ``cse7766`` sensor platform allows you to use your CSE7766 voltage/current and power sensors
 (`datasheet <http://dl.itead.cc/S31/CSE7766.pdf>`__) sensors with
-ESPHome. This sensor is commonly found in Sonoff POW R2.
+ESPHome. This sensor is commonly found in Sonoff POW R2. CSE7759B is similar to CSE7766
+and works with this integration.
 
 As the communication with the CSE7766 done using UART, you need
 to have an :ref:`UART bus <uart>` in your configuration with the ``rx_pin`` connected to the CSE7766.
diff --git a/components/sensor/hlw8012.rst b/components/sensor/hlw8012.rst
index d6b8bd46a..f02f5c852 100644
--- a/components/sensor/hlw8012.rst
+++ b/components/sensor/hlw8012.rst
@@ -4,11 +4,13 @@ HLW8012 Power Sensor
 .. seo::
     :description: Instructions for setting up HLW8012 power sensors for the Sonoff Pow R1
     :image: hlw8012.png
-    :keywords: HLW8012, Sonoff Pow R1
+    :keywords: HLW8012, CSE7759, BL0937, Sonoff Pow R1
 
 The ``hlw8012`` sensor platform allows you to use your HLW8012 voltage/current and power sensors
 (`datasheet <https://github.com/xoseperez/hlw8012/blob/master/docs/HLW8012.pdf>`__) sensors with
-ESPHome. This sensor is commonly found in Sonoff POWs.
+ESPHome. This sensor is commonly found in Sonoff POWs. CSE7759 and BL0937 are similar to HLW8012
+and work with this integration. Beware that CSE7759B is different and should be used
+with the :doc:`CSE7766 <cse7766>` integration.
 
 This sensor has two data outputs which both encode values using the frequency of a modulated signal: CF and CF1.
 CF's frequency is proportional to the (active) power measured and CF1 is proportional to the current/voltage. Using

From 7dce09c4bcf070effb413ed672e94d61a51d6f87 Mon Sep 17 00:00:00 2001
From: Pavel Skuratovich <chupaka@gmail.com>
Date: Mon, 10 May 2021 01:12:16 +0300
Subject: [PATCH 04/21] Update pulse_counter.rst (#1089)

---
 components/sensor/pulse_counter.rst | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/components/sensor/pulse_counter.rst b/components/sensor/pulse_counter.rst
index 0030b4779..b6304849b 100644
--- a/components/sensor/pulse_counter.rst
+++ b/components/sensor/pulse_counter.rst
@@ -48,8 +48,9 @@ Configuration variables:
 
 - **id** (*Optional*, :ref:`config-id`): Manually specify the ID used for code generation.
 
-- **total** (*Optional*): Report the total number of pulses
-  All options from :ref:`Sensor <config-sensor>`.
+- **total** (*Optional*): Report the total number of pulses.
+
+  - All options from :ref:`Sensor <config-sensor>`.
 
 - All other options from :ref:`Sensor <config-sensor>`.
 

From 5b613f25fd63b64a1bdeaea84a5a1770301d4ba0 Mon Sep 17 00:00:00 2001
From: Franck Nijhof <frenck@frenck.nl>
Date: Mon, 10 May 2021 00:34:21 +0200
Subject: [PATCH 05/21] Remove deprecated board_flash_mode from configuration
 example (#1149)

---
 guides/configuration-types.rst | 1 -
 1 file changed, 1 deletion(-)

diff --git a/guides/configuration-types.rst b/guides/configuration-types.rst
index 87fde6d27..87f656ca7 100644
--- a/guides/configuration-types.rst
+++ b/guides/configuration-types.rst
@@ -248,7 +248,6 @@ added ``board``, and overridden ``name`` substitutions):
       platform: ESP8266
       board: esp01_1m
       includes: []
-      board_flash_mode: dout
       libraries: []
       esp8266_restore_from_flash: false
       build_path: device01

From 8b4d0867d6d37052238008a41daa9b30383ca0c7 Mon Sep 17 00:00:00 2001
From: Simon <simon@proatomic.com.au>
Date: Mon, 10 May 2021 16:59:48 +1000
Subject: [PATCH 06/21] Update deep_sleep.rst (#1152)

The documentation is wrong, as discussed on discord. This fixes that.
---
 components/deep_sleep.rst | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/components/deep_sleep.rst b/components/deep_sleep.rst
index c056e3b66..4e9d65245 100644
--- a/components/deep_sleep.rst
+++ b/components/deep_sleep.rst
@@ -82,8 +82,9 @@ This action makes the given deep sleep component enter deep sleep immediately.
 
     on_...:
       then:
-        - deep_sleep.enter: deep_sleep_1
-          sleep_duration: 20min
+        - deep_sleep.enter:
+            id: deep_sleep_1
+            sleep_duration: 20min
 
 Configuration options:
 

From e6afa1d228af5561f4661cb7c1c706a7fcc0ff33 Mon Sep 17 00:00:00 2001
From: rradar <34582688+rradar@users.noreply.github.com>
Date: Mon, 10 May 2021 11:43:19 +0100
Subject: [PATCH 07/21] Utalize pip3 for commands (#1143)

---
 guides/faq.rst | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/guides/faq.rst b/guides/faq.rst
index 89d356b2c..c179c01ab 100644
--- a/guides/faq.rst
+++ b/guides/faq.rst
@@ -121,7 +121,7 @@ It's simple. Run:
 
 .. code-block:: bash
 
-    pip install -U esphome
+    pip3 install -U esphome
     # From docker:
     docker pull esphome/esphome:latest
 
@@ -139,7 +139,7 @@ by installing the tested beta:
 .. code-block:: bash
 
     # For pip-based installs
-    pip install --pre -U esphome
+    pip3 install --pre -U esphome
 
     # For docker-based installs
     docker run [...] -it esphome/esphome:beta livingroom.yaml run
@@ -161,7 +161,7 @@ To install the dev version of ESPHome:
 
 - In Hass.io: Add the ESPHome repository `https://github.com/esphome/hassio <https://github.com/esphome/hassio>`
   in Add-on store -> Repositories. Then install the add-on  ``ESPHome Dev``
-- From ``pip``: Run ``pip install https://github.com/esphome/esphome/archive/dev.zip``
+- From ``pip``: Run ``pip3 install https://github.com/esphome/esphome/archive/dev.zip``
 - From docker, use the `esphome/esphome:dev <https://hub.docker.com/r/esphome/esphome/tags?page=1&name=dev>`__ image
 
   .. code-block:: bash

From 743bd9b4a4c55bbabc109858aa93133da5e7c213 Mon Sep 17 00:00:00 2001
From: Philip Allgaier <philip.allgaier@gmx.de>
Date: Mon, 10 May 2021 12:45:22 +0200
Subject: [PATCH 08/21] FAQ page: Converting from "I" to "we" wording (#1103)

---
 guides/faq.rst | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/guides/faq.rst b/guides/faq.rst
index c179c01ab..22d0a58ff 100644
--- a/guides/faq.rst
+++ b/guides/faq.rst
@@ -96,12 +96,12 @@ That's no good. Here are some steps that resolve some problems:
 How to submit an issue report
 -----------------------------
 
-First of all, thank you very much to everybody submitting issue reports! While I try to test ESPHome/yaml as much as
-I can using my own hardware, I don't own every single device type and mostly only do tests with my own home automation
-system. When doing some changes in the core, it can quickly happen that something somewhere breaks. Issue reports are a
-great way for me to track and (hopefully) fix issues, so thank you!
+First of all, thank you very much to everybody submitting issue reports! While we try to test ESPHome/YAML as much as
+we can using our available hardware, we don't own every single device type and rely on testing done by the community 
+and the contributors. When doing some changes in the core, it can quickly happen that something somewhere breaks. 
+Issue reports are a great way for us to track and (hopefully) fix issues, so thank you!
 
-For me to fix the issue quickly, there are some things that would be really helpful:
+For us to fix the issue quickly, there are some things that would be really helpful:
 
 1.  **Just writing "X doesn't work" or "X gives bug" is not helpful!!!** Seriously, how do you expect
     help given just that information?
@@ -155,7 +155,7 @@ How do I use the latest bleeding edge version?
 ----------------------------------------------
 
 First, a fair warning that the latest bleeding edge version is not always stable and might have issues.
-If you find some, please do however report them if you have time :)
+If you find some, please do however report them.
 
 To install the dev version of ESPHome:
 
@@ -192,7 +192,7 @@ request in the `ESPHome feature request tracker <https://github.com/esphome/feat
 I have a question... How can I contact you?
 -------------------------------------------
 
-Sure! I'd be happy to help :) You can contact me here:
+Sure! We are be happy to help :) You can contact us here:
 
 -  `Discord <https://discord.gg/KhAMKrd>`__
 -  `Home Assistant Community Forums <https://community.home-assistant.io/c/third-party/esphome>`__
@@ -206,8 +206,8 @@ Sure! I'd be happy to help :) You can contact me here:
 My node keeps reconnecting randomly
 -----------------------------------
 
-Jep, that's a known issue. However, it seems to be very low-level and I don't really know
-how to solve it. I'm working on possible workarounds for the issue but currently I do
+Jep, that's a known issue. However, it seems to be very low-level and we don't really know
+how to solve it. We are working on possible workarounds for the issue but currently we do
 not have a real solution.
 
 Some steps that can help with the issue:

From 2edeb7883843c5e7e1f2daae9287af66a612aabb Mon Sep 17 00:00:00 2001
From: larsonmpdx <larsonm.pdx@gmail.com>
Date: Mon, 10 May 2021 03:55:06 -0700
Subject: [PATCH 09/21] thermostat min/max temperature clarification (#1057)

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
---
 components/climate/thermostat.rst | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/components/climate/thermostat.rst b/components/climate/thermostat.rst
index 2d6f52549..33fb18f7d 100644
--- a/components/climate/thermostat.rst
+++ b/components/climate/thermostat.rst
@@ -152,6 +152,9 @@ These temperatures are used when the device first starts up.
 **At least one of** ``default_target_temperature_low`` **and** ``default_target_temperature_high``
 **must be specified.**
 
+``min_temperature`` and ``max_temperature`` from the base climate component **are used to define the range**
+of allowed temperature values in the thermostat component. See :doc:`/components/climate/index`
+
 Heating and Cooling Actions
 ***************************
 
@@ -267,7 +270,9 @@ Advanced Options
 .. note::
 
     While this platform uses the term temperature everywhere, it can also be used to regulate other values.
-    For example, controlling humidity is also possible with this platform.
+    For example, controlling humidity is also possible with this platform. Note that ``min_temperature`` and
+    ``max_temperature`` from the base climate component are used the define the range of adjustability and the
+    defaults will probably not make sense for control of things like humidity. See :doc:`/components/climate/index`
 
 Bang-bang vs. Thermostat
 ------------------------

From 7cbd96e9551014d4897ca0e1d8b0433a260cb7f4 Mon Sep 17 00:00:00 2001
From: Dezorian <Dezorian@users.noreply.github.com>
Date: Mon, 10 May 2021 12:58:29 +0200
Subject: [PATCH 10/21] Added compatibility notes (#1033)

---
 components/display/waveshare_epaper.rst | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/components/display/waveshare_epaper.rst b/components/display/waveshare_epaper.rst
index bc5f632b3..aa3bc1342 100644
--- a/components/display/waveshare_epaper.rst
+++ b/components/display/waveshare_epaper.rst
@@ -73,7 +73,7 @@ Configuration variables:
 
   - ``1.54in``
   - ``2.13in`` (not tested)
-  - ``2.13in-ttgo`` (T5_V2.3 tested)
+  - ``2.13in-ttgo`` (T5_V2.3 tested. Also works for Wemos D1 Mini ePaper Shield 2.13 1.0.0 "LOLIN")
   - ``2.13in-ttgo-b73`` (T5_V2.3 with B73 display tested)
   - ``2.13in-ttgo-b1`` (T5_V2.3 with B1 display tested)
   - ``2.70in`` (currently not working with the HAT Rev 2.1 version)

From 63d36b4d7d344565fec06dc4ca4e0c67d7b8e1ee Mon Sep 17 00:00:00 2001
From: Marc Teale <marcteale@users.noreply.github.com>
Date: Mon, 10 May 2021 14:57:02 -0500
Subject: [PATCH 11/21] Specify format for BSSID entries. (#1046)

Co-authored-by: Marc Teale <marc.teale@openmarket.com>
---
 components/wifi.rst | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/components/wifi.rst b/components/wifi.rst
index 4a3a9b083..a7a45f6df 100644
--- a/components/wifi.rst
+++ b/components/wifi.rst
@@ -176,8 +176,8 @@ Configuration variables:
 - **eap** (*Optional*): See :ref:`eap`.
 - **channel** (*Optional*, int): The channel of the network (1-14). If given, only connects to networks
   that are on this channel.
-- **bssid** (*Optional*, string): Optionally define a BSSID (MAC-Address) of the network to connect to.
-  This can be used to further restrict which networks to connect to.
+- **bssid** (*Optional*, string): The connection's BSSID (MAC address). BSSIDs must consist of six
+  two-digit hexadecimal values separated by colon characters ("``:``"). All letters must be in upper case.
 - **hidden** (*Optional*, boolean): Whether this network is hidden. Defaults to false.
   If you add this option you also have to specify ssid.
 - **priority** (*Optional*, float): The priority of this network. After each time, the network with

From cd361ae115b9efa10c63af5ace2eb727f2d2ef28 Mon Sep 17 00:00:00 2001
From: Daniel <44697375+azrael783@users.noreply.github.com>
Date: Tue, 11 May 2021 00:07:58 +0200
Subject: [PATCH 12/21] add font to usage example (#1050)

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
---
 components/display/waveshare_epaper.rst | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/components/display/waveshare_epaper.rst b/components/display/waveshare_epaper.rst
index aa3bc1342..9d296b096 100644
--- a/components/display/waveshare_epaper.rst
+++ b/components/display/waveshare_epaper.rst
@@ -49,6 +49,11 @@ configuration.
 .. code-block:: yaml
 
     # Example configuration entry
+    font:
+      - file: 'fonts/Comic Sans MS.ttf'
+        id: font1
+        size: 8
+    
     spi:
       clk_pin: D0
       mosi_pin: D1
@@ -62,7 +67,7 @@ configuration.
         model: 2.90in
         full_update_every: 30
         lambda: |-
-          it.print(0, 0, id(font), "Hello World!");
+          it.print(0, 0, id(font1), "Hello World!");
 
 Configuration variables:
 ------------------------

From 39d5fc63121c71fd7f63c54c9c9e74e78dce5d42 Mon Sep 17 00:00:00 2001
From: James Callaghan <james@jcallaghan.com>
Date: Tue, 11 May 2021 13:40:52 +0100
Subject: [PATCH 13/21] Sample codeblock has incorrect variables (#1156)

Four of the variables in the sample codeblock don't include underscores as defined in the variables section. This throws an error when using this sample code. To avoid others getting these errors I have updated the sample so it uses the right variables.
---
 components/display/st7735.rst | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/components/display/st7735.rst b/components/display/st7735.rst
index 2c5554ad5..58e5c341c 100644
--- a/components/display/st7735.rst
+++ b/components/display/st7735.rst
@@ -34,10 +34,10 @@ There are numerous board types out there. Some initialize differently as well. T
         cs_pin: D1
         dc_pin: D2
         rotation: 0
-        devicewidth: 128
-        deviceheight: 160
-        colstart: 0
-        rowstart: 0
+        device_width: 128
+        device_height: 160
+        col_start: 0
+        row_start: 0
         eightbitcolor: true
         update_interval: 5s
 

From 34b2bef1d1d4d73ecafba114fa0b2fa382e8b4fa Mon Sep 17 00:00:00 2001
From: Fredrik Erlandsson <fredrik.e@gmail.com>
Date: Tue, 11 May 2021 16:21:47 +0200
Subject: [PATCH 14/21] Show how calculations are made (#861)

Co-authored-by: Franck Nijhof <git@frenck.dev>
---
 components/sensor/pulse_counter.rst |  6 +++---
 cookbook/power_meter.rst            | 14 +++++++++++++-
 2 files changed, 16 insertions(+), 4 deletions(-)

diff --git a/components/sensor/pulse_counter.rst b/components/sensor/pulse_counter.rst
index b6304849b..c43c6c048 100644
--- a/components/sensor/pulse_counter.rst
+++ b/components/sensor/pulse_counter.rst
@@ -76,7 +76,7 @@ count the light pulses on a power meter, you can do the following:
         unit_of_measurement: 'kW'
         name: 'Power Meter House'
         filters:
-          - multiply: 0.06
+          - multiply: 0.06  # (60s/1000 pulses per kWh)
 
 
 Counting total pulses
@@ -95,13 +95,13 @@ measure the total consumed energy in kWh.
         unit_of_measurement: 'kW'
         name: 'Power Meter House'
         filters:
-          - multiply: 0.06
+          - multiply: 0.06  # (60s/1000 pulses per kWh)
 
         total:
           unit_of_measurement: 'kWh'
           name: 'Energy Meter House'
           filters:
-            - multiply: 0.001
+            - multiply: 0.001  # (1/1000 pulses per kWh)
 
 See Also
 --------
diff --git a/cookbook/power_meter.rst b/cookbook/power_meter.rst
index b67186154..268e6d6e7 100644
--- a/cookbook/power_meter.rst
+++ b/cookbook/power_meter.rst
@@ -24,6 +24,18 @@ And... that should already be it :)
     :align: center
     :width: 80.0%
 
+.. note::
+
+    Some energy meters have an exposed S0 port (which essentially just is a switch that closes), if
+    that is the case the photodiode can be replaced with the following connection.
+
+    .. code-block::
+
+        S0 ------------ VCC
+        S0 --+-- 10k -- GND
+        .    |
+        .    +--------- GPIO12
+
 For ESPHome, you can then use the
 :doc:`pulse counter sensor </components/sensor/pulse_counter>` using below configuration:
 
@@ -35,7 +47,7 @@ For ESPHome, you can then use the
         unit_of_measurement: 'kW'
         name: 'Power Meter'
         filters:
-          - multiply: 0.06
+          - multiply: 0.06  # (60s/1000 pulses per kWh)
 
 Adjust ``GPIO12`` to match your set up of course. The output from the pulse counter sensor is in
 ``pulses/min`` and we also know that 1000 pulses from the LED should equal 1kWh of power usage.

From 26f183bdfd5fe87eb9c4134060f8556674530879 Mon Sep 17 00:00:00 2001
From: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
Date: Wed, 12 May 2021 09:54:35 +1200
Subject: [PATCH 15/21] Add past changelogs

---
 changelog/v1.16.0.rst | 16 ++++++++++++++++
 changelog/v1.17.0.rst | 17 +++++++++++++++++
 2 files changed, 33 insertions(+)

diff --git a/changelog/v1.16.0.rst b/changelog/v1.16.0.rst
index 20c6cc4d0..b1e28a9bc 100644
--- a/changelog/v1.16.0.rst
+++ b/changelog/v1.16.0.rst
@@ -387,3 +387,19 @@ All changes
 - docs: Update scd30 docs to show sensors are optional :docspr:`970` by :ghuser:`jesserockz` (cherry-picked)
 - esphome: fix esp8266 remote_transmitter using incorrect timings :esphomepr:`1465` by :ghuser:`hcoohb` (cherry-picked)
 - esphome: rc522 increased retry loop count :esphomepr:`1506` by :ghuser:`glmnet` (cherry-picked)
+
+Past Changelogs
+---------------
+
+.. toctree::
+    :maxdepth: 1
+
+    v1.15.0
+    v1.14.0
+    v1.13.0
+    v1.12.0
+    v1.11.0
+    v1.10.0
+    v1.9.0
+    v1.8.0
+    v1.7.0
diff --git a/changelog/v1.17.0.rst b/changelog/v1.17.0.rst
index d9ccf5178..69745deeb 100644
--- a/changelog/v1.17.0.rst
+++ b/changelog/v1.17.0.rst
@@ -221,3 +221,20 @@ All changes
 - docs: Update canbus.rst :docspr:`1115` by :ghuser:`meijerwynand`
 - docs: Update diy.rst :docspr:`1114` by :ghuser:`murilobaliego`
 - docs: Update email addresses :docspr:`1122` by :ghuser:`jesserockz`
+
+Past Changelogs
+---------------
+
+.. toctree::
+    :maxdepth: 1
+
+    v1.16.0
+    v1.15.0
+    v1.14.0
+    v1.13.0
+    v1.12.0
+    v1.11.0
+    v1.10.0
+    v1.9.0
+    v1.8.0
+    v1.7.0

From ebcec7b03a2068ea93954ec5fffebee8a915d025 Mon Sep 17 00:00:00 2001
From: Peter Kuehne <pkuehne@users.noreply.github.com>
Date: Sun, 9 May 2021 22:55:44 +0100
Subject: [PATCH 16/21] Update allowed characters for node names (#1072)

---
 components/esphome.rst | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/components/esphome.rst b/components/esphome.rst
index 66c94e886..4a013d659 100644
--- a/components/esphome.rst
+++ b/components/esphome.rst
@@ -24,7 +24,7 @@ Configuration variables:
 
 - **name** (**Required**, string): This is the name of the node. It
   should always be unique in your ESPhome network. May only contain lowercase
-  characters, digits, underscores and hyphens. See :ref:`esphome-changing_node_name`.
+  characters, digits and hyphens. See :ref:`esphome-changing_node_name`.
 - **platform** (**Required**, string): The platform your board is on,
   either ``ESP32`` or ``ESP8266``. See :ref:`esphome-arduino_version`.
 - **board** (**Required**, string): The board ESPHome should

From 37045859da286afb94b10f14cc19163b7f26d8b3 Mon Sep 17 00:00:00 2001
From: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
Date: Tue, 11 May 2021 19:28:30 +1200
Subject: [PATCH 17/21] Fix missed merge conflict (#1155)

---
 components/light/index.rst | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/components/light/index.rst b/components/light/index.rst
index fa3de18bd..73fc1862b 100644
--- a/components/light/index.rst
+++ b/components/light/index.rst
@@ -900,10 +900,7 @@ Configuration variables:
 
 - **method** (*Optional*): Listening method, one of ``multicast`` or ``unicast``. Defaults to ``multicast``.
 
-<<<<<<< HEAD
 The udp port esphome is listening on is 5568.
-=======
->>>>>>> current
 
 .. _E1.31: https://www.doityourselfchristmas.com/wiki/index.php?title=E1.31_(Streaming-ACN)_Protocol
 .. _JINX: http://www.live-leds.de/jinx-v1-3-with-resizable-mainwindow-real-dmx-and-sacne1-31/

From 1de3e29bd3184e9112d235d0f7d4a3bbfeb88d8e Mon Sep 17 00:00:00 2001
From: Paul Deen <paulext@gmail.com>
Date: Tue, 11 May 2021 16:13:30 +0200
Subject: [PATCH 18/21] Replaced set_password with new_password (#1157)

incorrect syntax in documentation
---
 components/fingerprint_grow.rst | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/components/fingerprint_grow.rst b/components/fingerprint_grow.rst
index 9b5c3339b..b19b3425b 100644
--- a/components/fingerprint_grow.rst
+++ b/components/fingerprint_grow.rst
@@ -106,7 +106,7 @@ Base Configuration:
 - **id** (*Optional*, :ref:`config-id`): Manually specify the ID used for code generation.
 - **sensing_pin** (*Optional*, :ref:`Pin Schema <config-pin_schema>`): Pin connected to the reader's finger detection signal (WAKEUP) output.
 - **password** (*Optional*, int): Password to use for authentication. Defaults to ``0x00``.
-- **set_password** (*Optional*, int): Sets a new password to use for authentication. See :ref:`fingerprint_grow-set_new_password` for more information.
+- **new_password** (*Optional*, int): Sets a new password to use for authentication. See :ref:`fingerprint_grow-set_new_password` for more information.
 - **on_finger_scan_matched** (*Optional*, :ref:`Automation <automation>`): An action to be performed when an enrolled fingerprint is scanned. See :ref:`fingerprint_grow-on_finger_scan_matched`.
 - **on_finger_scan_unmatched** (*Optional*, :ref:`Automation <automation>`): An action to be performed when an unknown fingerprint is scanned. See :ref:`fingerprint_grow-on_finger_scan_unmatched`.
 - **on_enrollment_scan** (*Optional*, :ref:`Automation <automation>`): An action to be performed when a fingerprint is scanned during enrollment. See :ref:`fingerprint_grow-on_enrollment_scan`.
@@ -169,15 +169,15 @@ Setting a New Password
 
     Forgetting the password will render your fingerprint reader unusable!
 
-You can set a new password for your fingerprint reader using the ``set_password:`` configuration option. The password is defined as a 32-bit unsigned integer.
+You can set a new password for your fingerprint reader using the ``new_password:`` configuration option. The password is defined as a 32-bit unsigned integer.
 
 .. code-block:: yaml
 
     fingerprint_grow:
       password: 0x275FE3D2      # Existing password, can be omitted if it's the default of 0x00
-      set_password: 0x72AB96CD  # New password
+      new_password: 0x72AB96CD  # New password
 
-The ``set_password:`` configuration option is meant to be compiled, flashed to the ESP device and run once, after which it's removed and the new password is defined in the ``password:`` configuration option to be compiled and flashed again.
+The ``new_password:`` configuration option is meant to be compiled, flashed to the ESP device and run once, after which it's removed and the new password is defined in the ``password:`` configuration option to be compiled and flashed again.
 
 .. code-block:: yaml
 

From 2e958566ec77b6d5ad7ba551fa5ac0492bbf4389 Mon Sep 17 00:00:00 2001
From: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
Date: Wed, 12 May 2021 09:57:45 +1200
Subject: [PATCH 19/21] Bump version to v1.18.0b2

---
 Doxygen         | 2 +-
 Makefile        | 2 +-
 _static/version | 2 +-
 conf.py         | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/Doxygen b/Doxygen
index 5f634dfbd..c94cba3d0 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.18.0b1
+PROJECT_NUMBER         = 1.18.0b2
 
 # 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 672b9e0ad..b5c10856b 100644
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,5 @@
 ESPHOME_PATH = ../esphome
-ESPHOME_REF = v1.18.0b1
+ESPHOME_REF = v1.18.0b2
 
 .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 e4e8fab72..a4ed401b5 100644
--- a/_static/version
+++ b/_static/version
@@ -1 +1 @@
-1.18.0b1
\ No newline at end of file
+1.18.0b2
\ No newline at end of file
diff --git a/conf.py b/conf.py
index 880d76804..67471dea6 100644
--- a/conf.py
+++ b/conf.py
@@ -69,7 +69,7 @@ author = "Otto Winter"
 # The short X.Y version.
 version = "1.18"
 # The full version, including alpha/beta/rc tags.
-release = "1.18.0b1"
+release = "1.18.0b2"
 
 # The language for content autogenerated by Sphinx. Refer to documentation
 # for a list of supported languages.

From 84a116158e844c8e7ed04bfbeca4347bed27f6ff Mon Sep 17 00:00:00 2001
From: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
Date: Wed, 12 May 2021 10:00:33 +1200
Subject: [PATCH 20/21] Update changelog for 1.18.0b2

---
 changelog/v1.18.0.rst | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/changelog/v1.18.0.rst b/changelog/v1.18.0.rst
index 401c91140..c05ed4ec3 100644
--- a/changelog/v1.18.0.rst
+++ b/changelog/v1.18.0.rst
@@ -41,6 +41,13 @@ Breaking Changes
 - esphome: Raise minimum python version to 3.7 :esphomepr:`1673` (breaking-change)
 - esphome: Change wifi signal strength unit to dBm :esphomepr:`1734` by :ghuser:`mbo18` (breaking-change)
 
+Beta Fixes
+----------
+
+- docs: Update allowed characters for node names :docspr:`1072` by :ghuser:`pkuehne`
+- docs: Replaced set_password with new_password :docspr:`1157` by :ghuser:`PaulAntonDeen`
+- esphome: Fix build issues for idf 4.2 (Support ESP32-S2) :esphomepr:`1433` by :ghuser:`misery`
+
 All changes
 -----------
 
@@ -103,3 +110,21 @@ All changes
 - docs: add External components docs :docspr:`1107` by :ghuser:`glmnet`
 - esphome: Implement external custom components installing from YAML :esphomepr:`1630` (new-integration)
 - esphome: Update copyright year :esphomepr:`1760` by :ghuser:`bonanitech`
+
+Past Changelogs
+---------------
+
+.. toctree::
+    :maxdepth: 1
+
+    v1.17.0
+    v1.16.0
+    v1.15.0
+    v1.14.0
+    v1.13.0
+    v1.12.0
+    v1.11.0
+    v1.10.0
+    v1.9.0
+    v1.8.0
+    v1.7.0

From 24750125bba5617ca9857e04c7103cd20cff3409 Mon Sep 17 00:00:00 2001
From: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
Date: Wed, 12 May 2021 10:00:54 +1200
Subject: [PATCH 21/21] Update supporters for 1.18.0b2

---
 guides/supporters.rst | 23 ++++++++++++++++++++++-
 1 file changed, 22 insertions(+), 1 deletion(-)

diff --git a/guides/supporters.rst b/guides/supporters.rst
index de2560017..b7db11e6b 100644
--- a/guides/supporters.rst
+++ b/guides/supporters.rst
@@ -45,6 +45,7 @@ Contributors
 - `Alex Mekkering (@AlexMekkering) <https://github.com/AlexMekkering>`__
 - `Alex (@alexyao2015) <https://github.com/alexyao2015>`__
 - `Amish Vishwakarma (@amishv) <https://github.com/amishv>`__
+- `andig (@andig) <https://github.com/andig>`__
 - `András Bíró (@andrasbiro) <https://github.com/andrasbiro>`__
 - `Andreas Hergert (@andreashergert1984) <https://github.com/andreashergert1984>`__
 - `Andrzej (@andriej) <https://github.com/andriej>`__
@@ -57,9 +58,11 @@ Contributors
 - `Darius Ratkevičius (@aphex008) <https://github.com/aphex008>`__
 - `Ash McKenzie (@ashmckenzie) <https://github.com/ashmckenzie>`__
 - `Pavel Pletenev (@ASMfreaK) <https://github.com/ASMfreaK>`__
+- `Mike Dunston (@atanisoft) <https://github.com/atanisoft>`__
 - `Achilleas Pipinellis (@axilleas) <https://github.com/axilleas>`__
 - `Kamil Trzciński (@ayufan) <https://github.com/ayufan>`__
 - `Nicholas Peters (@Azimath) <https://github.com/Azimath>`__
+- `Daniel (@azrael783) <https://github.com/azrael783>`__
 - `Florian Mösch (@badbadc0ffee) <https://github.com/badbadc0ffee>`__
 - `balk77 (@balk77) <https://github.com/balk77>`__
 - `Paulus Schoutsen (@balloob) <https://github.com/balloob>`__
@@ -69,6 +72,7 @@ Contributors
 - `Ben Suffolk (@bensuffolk) <https://github.com/bensuffolk>`__
 - `Bierchermuesli (@Bierchermuesli) <https://github.com/Bierchermuesli>`__
 - `Jim Ekman (@blejdfist) <https://github.com/blejdfist>`__
+- `Bob (@Bmooij) <https://github.com/Bmooij>`__
 - `Mauricio Bonani (@bonanitech) <https://github.com/bonanitech>`__
 - `boradwell (@boradwell) <https://github.com/boradwell>`__
 - `Patrik Hermansson (@bphermansson) <https://github.com/bphermansson>`__
@@ -82,13 +86,16 @@ Contributors
 - `Carlos Gustavo Sarmiento (@carlos-sarmiento) <https://github.com/carlos-sarmiento>`__
 - `Carlos Garcia Saura (@CarlosGS) <https://github.com/CarlosGS>`__
 - `cbialobos (@cbialobos) <https://github.com/cbialobos>`__
+- `Ciprian Constantinescu (@cciprian5) <https://github.com/cciprian5>`__
 - `Marco (@cdrfun) <https://github.com/cdrfun>`__
 - `chris-jennings (@chris-jennings) <https://github.com/chris-jennings>`__
+- `Pavel Skuratovich (@Chupaka) <https://github.com/Chupaka>`__
 - `John (@CircuitSetup) <https://github.com/CircuitSetup>`__
 - `Chris Debenham (@cjd) <https://github.com/cjd>`__
 - `Cody James (@codyjamestechnical) <https://github.com/codyjamestechnical>`__
 - `John Coggeshall (@coogle) <https://github.com/coogle>`__
 - `James Crook (@cooljimy84) <https://github.com/cooljimy84>`__
+- `copercini (@copercini) <https://github.com/copercini>`__
 - `Corban Mailloux (@corbanmailloux) <https://github.com/corbanmailloux>`__
 - `Dmitry Berezovsky (@corvis) <https://github.com/corvis>`__
 - `Connor Prussin (@cprussin) <https://github.com/cprussin>`__
@@ -122,6 +129,7 @@ Contributors
 - `Mickaël Le Baillif (@demikl) <https://github.com/demikl>`__
 - `dependabot[bot] (@dependabot[bot]) <https://github.com/dependabot[bot]>`__
 - `Destix (@Destix) <https://github.com/Destix>`__
+- `Dezorian (@Dezorian) <https://github.com/Dezorian>`__
 - `Alain Turbide (@Dilbert66) <https://github.com/Dilbert66>`__
 - `Mark  (@Diramu) <https://github.com/Diramu>`__
 - `Dirk Heinke (@DirkHeinke) <https://github.com/DirkHeinke>`__
@@ -181,6 +189,7 @@ Contributors
 - `Fredrik Erlandsson (@fredrike) <https://github.com/fredrike>`__
 - `Evgeny (@freekode) <https://github.com/freekode>`__
 - `Brett McKenzie (@freerangeeggs) <https://github.com/freerangeeggs>`__
+- `Franck Nijhof (@frenck) <https://github.com/frenck>`__
 - `Fritz Mueller (@fritzm) <https://github.com/fritzm>`__
 - `Marc Egli (@frog32) <https://github.com/frog32>`__
 - `mr G1K (@G1K) <https://github.com/G1K>`__
@@ -227,6 +236,7 @@ Contributors
 - `Jason-nz (@Jason-nz) <https://github.com/Jason-nz>`__
 - `Jason Hines (@jasonehines) <https://github.com/jasonehines>`__
 - `JbLb (@jblb) <https://github.com/jblb>`__
+- `James Callaghan (@jcallaghan) <https://github.com/jcallaghan>`__
 - `Joshua Dadswell (@jdads1) <https://github.com/jdads1>`__
 - `jeff-h (@jeff-h) <https://github.com/jeff-h>`__
 - `Jeff Rescignano (@JeffResc) <https://github.com/JeffResc>`__
@@ -272,6 +282,7 @@ Contributors
 - `KristopherMackowiak (@KristopherMackowiak) <https://github.com/KristopherMackowiak>`__
 - `kroimon (@kroimon) <https://github.com/kroimon>`__
 - `Kendell R (@KTibow) <https://github.com/KTibow>`__
+- `Jakub Šimo (@kubik369) <https://github.com/kubik369>`__
 - `kvvoff (@kvvoff) <https://github.com/kvvoff>`__
 - `Ken Davidson (@kwdavidson) <https://github.com/kwdavidson>`__
 - `Kyle Manna (@kylemanna) <https://github.com/kylemanna>`__
@@ -279,6 +290,7 @@ Contributors
 - `Stefan Lässer (@Laess3r) <https://github.com/Laess3r>`__
 - `Steffen Weinreich (@lairsdragon) <https://github.com/lairsdragon>`__
 - `Fredrik Lindqvist (@Landrash) <https://github.com/Landrash>`__
+- `larsonmpdx (@larsonmpdx) <https://github.com/larsonmpdx>`__
 - `lein1013 (@lein1013) <https://github.com/lein1013>`__
 - `Riku Lindblad (@lepinkainen) <https://github.com/lepinkainen>`__
 - `Juraj Liso (@LiJu09) <https://github.com/LiJu09>`__
@@ -299,6 +311,7 @@ Contributors
 - `Major Péter (@majorpeter) <https://github.com/majorpeter>`__
 - `Manuel Díez (@manutenfruits) <https://github.com/manutenfruits>`__
 - `Marcel van der Veldt (@marcelveldt) <https://github.com/marcelveldt>`__
+- `Marc Teale (@marcteale) <https://github.com/marcteale>`__
 - `marecabo (@marecabo) <https://github.com/marecabo>`__
 - `Marvin Gaube (@margau) <https://github.com/margau>`__
 - `Martynas Griškonis (@Margriko) <https://github.com/Margriko>`__
@@ -310,8 +323,10 @@ Contributors
 - `MasterTim17 (@MasterTim17) <https://github.com/MasterTim17>`__
 - `matikij (@matikij) <https://github.com/matikij>`__
 - `Michel Marti (@matoxp) <https://github.com/matoxp>`__
+- `matt123p (@matt123p) <https://github.com/matt123p>`__
 - `Maurice Schleußinger (@maurice-schleussinger) <https://github.com/maurice-schleussinger>`__
 - `mbo18 (@mbo18) <https://github.com/mbo18>`__
+- `Me No Dev (@me-no-dev) <https://github.com/me-no-dev>`__
 - `Joseph Mearman (@Mearman) <https://github.com/Mearman>`__
 - `Mechotronic (@Mechotronic) <https://github.com/Mechotronic>`__
 - `MeIchthys (@meichthys) <https://github.com/meichthys>`__
@@ -322,6 +337,7 @@ Contributors
 - `Pauline Middelink (@middelink) <https://github.com/middelink>`__
 - `mikosoft83 (@mikosoft83) <https://github.com/mikosoft83>`__
 - `Minideezel (@minideezel) <https://github.com/minideezel>`__
+- `André Klitzing (@misery) <https://github.com/misery>`__
 - `Matthew Edwards (@mje-nz) <https://github.com/mje-nz>`__
 - `Maarten (@mjkl-gh) <https://github.com/mjkl-gh>`__
 - `mjoshd (@mjoshd) <https://github.com/mjoshd>`__
@@ -361,6 +377,7 @@ Contributors
 - `Stanislav Meduna (@numo68) <https://github.com/numo68>`__
 - `Nuno Sousa (@nunofgs) <https://github.com/nunofgs>`__
 - `Chris Nussbaum (@nuttytree) <https://github.com/nuttytree>`__
+- `obrain17 (@obrain17) <https://github.com/obrain17>`__
 - `Dave Walker (@oddsockmachine) <https://github.com/oddsockmachine>`__
 - `Olivér Falvai (@ofalvai) <https://github.com/ofalvai>`__
 - `Omar Ghader (@omarghader) <https://github.com/omarghader>`__
@@ -413,6 +430,7 @@ Contributors
 - `rnauber (@rnauber) <https://github.com/rnauber>`__
 - `Rob Deutsch (@rob-deutsch) <https://github.com/rob-deutsch>`__
 - `Rob de Jonge (@robdejonge) <https://github.com/robdejonge>`__
+- `Robert Alfaro (@robert-alfaro) <https://github.com/robert-alfaro>`__
 - `Robin Smidsrød (@robinsmidsrod) <https://github.com/robinsmidsrod>`__
 - `RockBomber (@RockBomber) <https://github.com/RockBomber>`__
 - `RoganDawes (@RoganDawes) <https://github.com/RoganDawes>`__
@@ -459,6 +477,7 @@ Contributors
 - `Teemu Mikkonen (@T3m3z) <https://github.com/T3m3z>`__
 - `Taigar2015 (@Taigar2015) <https://github.com/Taigar2015>`__
 - `Levente Tamas (@tamisoft) <https://github.com/tamisoft>`__
+- `tantive (@tantive) <https://github.com/tantive>`__
 - `TBobsin (@TBobsin) <https://github.com/TBobsin>`__
 - `Team Super Panda (@teamsuperpanda) <https://github.com/teamsuperpanda>`__
 - `teffcz (@teffcz) <https://github.com/teffcz>`__
@@ -472,6 +491,7 @@ Contributors
 - `Mateusz Soszyński (@TheLastGimbus) <https://github.com/TheLastGimbus>`__
 - `Andrew Quested (@thenameiwantedwastaken) <https://github.com/thenameiwantedwastaken>`__
 - `Zixuan Wang (@TheNetAdmin) <https://github.com/TheNetAdmin>`__
+- `Simon (@theOzzieRat) <https://github.com/theOzzieRat>`__
 - `Florian Gareis (@TheZoker) <https://github.com/TheZoker>`__
 - `Thomas Klingbeil (@thomasklingbeil) <https://github.com/thomasklingbeil>`__
 - `Andrew Thompson (@thompsa) <https://github.com/thompsa>`__
@@ -497,6 +517,7 @@ Contributors
 - `Tuckie (@Tuckie) <https://github.com/Tuckie>`__
 - `Alexey Vlasov (@turbulator) <https://github.com/turbulator>`__
 - `Seppel Hardt (@tuxBurner) <https://github.com/tuxBurner>`__
+- `Thorsten von Eicken (@tve) <https://github.com/tve>`__
 - `tyomikh (@tyomikh) <https://github.com/tyomikh>`__
 - `ukewea (@ukewea) <https://github.com/ukewea>`__
 - `Vc (@Valcob) <https://github.com/Valcob>`__
@@ -530,4 +551,4 @@ Contributors
 - `San (@zhujunsan) <https://github.com/zhujunsan>`__
 - `Christian Zufferey (@zuzu59) <https://github.com/zuzu59>`__
 
-*This page was last updated May 10, 2021.*
+*This page was last updated May 12, 2021.*