diff --git a/_static/changelog-2022.9.0.png b/_static/changelog-2022.9.0.png
new file mode 100644
index 000000000..bc85399f4
Binary files /dev/null and b/_static/changelog-2022.9.0.png differ
diff --git a/changelog/2022.9.0.rst b/changelog/2022.9.0.rst
new file mode 100644
index 000000000..c9ac57d8a
--- /dev/null
+++ b/changelog/2022.9.0.rst
@@ -0,0 +1,167 @@
+ESPHome 2022.9.0 - 21st September 2022
+======================================
+
+.. seo::
+ :description: Changelog for ESPHome 2022.9.0.
+ :image: /_static/changelog-2022.9.0.png
+ :author: Jesse Hills
+ :author_twitter: @jesserockz
+
+.. imgtable::
+ :columns: 4
+
+ DPS310, components/sensor/dps310, dps310.jpg
+ MCP9600, components/sensor/mcp9600, mcp9600.jpg
+ TM1621, components/display/tm1621, tm1621.jpg
+ MPL3115A2, components/sensor/mpl3115a2, mpl3115a2.jpg
+ uFire EC sensor, components/sensor/ufire_ec, ufire_ec.png
+ uFire ISE sensor, components/sensor/ufire_ise, ufire_ise.png
+ Factory Reset Switch, components/switch/factory_reset, restart-alert.svg
+ Factory Reset Button, components/button/factory_reset, restart-alert.svg
+ TM1638, components/display/tm1638, tm1638.jpg
+ BL0942, components/sensor/bl0942, bl0942.png
+
+
+ESPHome Editor
+--------------
+
+The editor used in ESPHome has been swapped out for Monaco thanks to :ghuser:`glmnet`. He has
+been working hard to make the experience of writing your YAML configurations easier and it now
+supports auto completion with popups to show you more information.
+
+Factory Reset
+-------------
+
+A new Factory Reset switch and button has been added this release, allowing resetting of information such
+as counters, restored values, and more importantly, the wifi credentials of a device that has been set up
+using the captive portal such as pre-flashed devices you would have purchased.
+
+
+Full list of changes
+--------------------
+
+New Components
+^^^^^^^^^^^^^^
+
+- Add dps310 sensor support :esphomepr:`3704` by :ghuser:`kbx81` (new-integration)
+- Support for MCP9600 Thermocouple Amplifier :esphomepr:`3700` by :ghuser:`MrEditor97` (new-integration)
+- Add support to tm1621 display :esphomepr:`3737` by :ghuser:`Philippe12` (new-integration)
+- u-fire EC sensor :esphomepr:`3774` by :ghuser:`pvizeli` (new-integration)
+- Add support for MPL3115A2 Pressure/Altitude and Temperature Sensor :esphomepr:`3371` by :ghuser:`kbickar` (new-integration)
+- Add support for BL0942 voltage, current, energy and power Sensor :esphomepr:`3777` by :ghuser:`dbuezas` (new-integration)
+- Add Factory Reset button and switch :esphomepr:`3724` by :ghuser:`anatoly-savchenkov` (new-integration)
+- Add support for TM1638 Led and Key component :esphomepr:`3340` by :ghuser:`skykingjwc` (new-integration)
+- Add uFire ISE sensor :esphomepr:`3789` by :ghuser:`pvizeli` (new-integration)
+
+Beta Changes
+^^^^^^^^^^^^
+
+- null initialize total sensor for pulse counter :esphomepr:`3803` by :ghuser:`RoboMagus`
+- Sim800l add calls, multiline sms and ussd :esphomepr:`3630` by :ghuser:`glmnet`
+- Unify 'nullptr' initalization of class members; :esphomepr:`3805` by :ghuser:`RoboMagus`
+- Initialize all child sensors to nullptr :esphomepr:`3808` by :ghuser:`jesserockz`
+- Remove floating point calculation from ac_dimmer ISR :esphomepr:`3770` by :ghuser:`Azimath`
+- split pronto codes if they are too long :esphomepr:`3812` by :ghuser:`ssieb`
+- [BME280] raise standby time :esphomepr:`3804` by :ghuser:`h3ndrik`
+- Make sprinkler reset_resume() method public :esphomepr:`3824` by :ghuser:`kbx81`
+- Bump dashboard to 20220919.1 :esphomepr:`3828` by :ghuser:`balloob`
+- Fix-esphome-validation-line-number :esphomepr:`3815` by :ghuser:`glmnet`
+- Bump dashboard to 20220920.0 :esphomepr:`3831` by :ghuser:`balloob`
+- Bump dashboard to 20220920.1 :esphomepr:`3834` by :ghuser:`glmnet`
+
+All changes
+^^^^^^^^^^^
+
+- support modifying the apds9960 settings :esphomepr:`3708` by :ghuser:`ssieb`
+- Add support for pvvx mithermometer display via ble client :esphomepr:`3333` by :ghuser:`puuu`
+- Improve OTA error messages adding return codes :esphomepr:`3698` by :ghuser:`IgnacioHR`
+- Send CR also for commands for sim800l :esphomepr:`3719` by :ghuser:`ssieb`
+- hydreon_rgxx: Support lens_bad, em_sat and temperature :esphomepr:`3642` by :ghuser:`functionpointer`
+- wifi: support 802.11k and 802.11v :esphomepr:`3600` by :ghuser:`stintel`
+- Add final validate for i2c with mix/max frequency :esphomepr:`3727` by :ghuser:`jesserockz`
+- Add dps310 sensor support :esphomepr:`3704` by :ghuser:`kbx81` (new-integration)
+- Let favicon be cached :esphomepr:`3729` by :ghuser:`slovdahl`
+- Add bitmap font support :esphomepr:`3573` by :ghuser:`justfalter`
+- add log messages for bad pronto codes :esphomepr:`3738` by :ghuser:`ssieb`
+- add color compare operator's :esphomepr:`3730` by :ghuser:`nielsnl68`
+- Support for MCP9600 Thermocouple Amplifier :esphomepr:`3700` by :ghuser:`MrEditor97` (new-integration)
+- Support high update rates and fix several bugs in the cse7766 component. :esphomepr:`3675` by :ghuser:`fhriley`
+- Add Prometheus metrics relabeling :esphomepr:`3734` by :ghuser:`jangrewe`
+- mcp23017: read output latch registers during setup :esphomepr:`3744` by :ghuser:`andyboeh`
+- Captive portal show nearby WiFi with no ssid configured :esphomepr:`3748` by :ghuser:`anatoly-savchenkov`
+- Remove unnecessary schema extension on template button :esphomepr:`3753` by :ghuser:`jesserockz`
+- Tidy up switch schemas :esphomepr:`3754` by :ghuser:`jesserockz`
+- Add IP101 support to Ethernet component :esphomepr:`3751` by :ghuser:`kbx81`
+- Add BedJet Fan child component :esphomepr:`3735` by :ghuser:`jhansche`
+- ibeacon support for the ble_rssi sensor :esphomepr:`3745` by :ghuser:`wjtje`
+- Add AEHA IR Protocol :esphomepr:`3726` by :ghuser:`hazi`
+- Add sum type to binary_sensor_map :esphomepr:`3541` by :ghuser:`fbrthld`
+- Bump aioesphomeapi from 10.11.0 to 10.13.0 :esphomepr:`3740` by :ghuser:`dependabot[bot]`
+- Bump pylint from 2.14.5 to 2.15.0 :esphomepr:`3746` by :ghuser:`dependabot[bot]`
+- Esp32 pulsecounter optional pcnt :esphomepr:`3691` by :ghuser:`RoboMagus`
+- Bump black from 22.6.0 to 22.8.0 :esphomepr:`3760` by :ghuser:`dependabot[bot]`
+- Various ili9341 fixes :esphomepr:`3756` by :ghuser:`nielsnl68`
+- Add the same docker tags as used in HA :esphomepr:`3752` by :ghuser:`andrey-yantsen`
+- Bump pytest from 7.1.1 to 7.1.3 :esphomepr:`3766` by :ghuser:`dependabot[bot]`
+- Remove unneeded line (spi component adds it) :esphomepr:`3778` by :ghuser:`jesserockz`
+- Move crc16 to helpers :esphomepr:`3780` by :ghuser:`jesserockz`
+- YAML linting :esphomepr:`3779` by :ghuser:`jesserockz`
+- Add support to tm1621 display :esphomepr:`3737` by :ghuser:`Philippe12` (new-integration)
+- u-fire EC sensor :esphomepr:`3774` by :ghuser:`pvizeli` (new-integration)
+- Add support for MPL3115A2 Pressure/Altitude and Temperature Sensor :esphomepr:`3371` by :ghuser:`kbickar` (new-integration)
+- Add support for BL0942 voltage, current, energy and power Sensor :esphomepr:`3777` by :ghuser:`dbuezas` (new-integration)
+- Bump pylint from 2.15.0 to 2.15.2 :esphomepr:`3785` by :ghuser:`dependabot[bot]`
+- Add Factory Reset button and switch :esphomepr:`3724` by :ghuser:`anatoly-savchenkov` (new-integration)
+- [MPU6050] Support devices with WHOAMI 0x98 :esphomepr:`3784` by :ghuser:`CarlosGS`
+- Bump zeroconf from 0.39.0 to 0.39.1 :esphomepr:`3782` by :ghuser:`dependabot[bot]`
+- Add support for TM1638 Led and Key component :esphomepr:`3340` by :ghuser:`skykingjwc` (new-integration)
+- Remove status_set_error from ufire_ec :esphomepr:`3792` by :ghuser:`pvizeli`
+- Bump frenck/action-yamllint from 1.2.0 to 1.3.0 :esphomepr:`3798` by :ghuser:`dependabot[bot]`
+- esp32_ble_tracker continuous and one shot scanning modes :esphomepr:`3649` by :ghuser:`jonofmac`
+- Add stop action for ble scanning :esphomepr:`3799` by :ghuser:`jesserockz`
+- Add Prometheus Service Discovery for online devices :esphomepr:`3788` by :ghuser:`cznewt`
+- Allow ble tracker to subscribe to ota start and stop the scanning :esphomepr:`3800` by :ghuser:`jesserockz`
+- Add uFire ISE sensor :esphomepr:`3789` by :ghuser:`pvizeli` (new-integration)
+- fix spi timing issues :esphomepr:`3763` by :ghuser:`IgnacioHR`
+- null initialize total sensor for pulse counter :esphomepr:`3803` by :ghuser:`RoboMagus`
+- Sim800l add calls, multiline sms and ussd :esphomepr:`3630` by :ghuser:`glmnet`
+- Unify 'nullptr' initalization of class members; :esphomepr:`3805` by :ghuser:`RoboMagus`
+- Initialize all child sensors to nullptr :esphomepr:`3808` by :ghuser:`jesserockz`
+- Remove floating point calculation from ac_dimmer ISR :esphomepr:`3770` by :ghuser:`Azimath`
+- split pronto codes if they are too long :esphomepr:`3812` by :ghuser:`ssieb`
+- [BME280] raise standby time :esphomepr:`3804` by :ghuser:`h3ndrik`
+- Make sprinkler reset_resume() method public :esphomepr:`3824` by :ghuser:`kbx81`
+- Bump dashboard to 20220919.1 :esphomepr:`3828` by :ghuser:`balloob`
+- Fix-esphome-validation-line-number :esphomepr:`3815` by :ghuser:`glmnet`
+- Bump dashboard to 20220920.0 :esphomepr:`3831` by :ghuser:`balloob`
+- Bump dashboard to 20220920.1 :esphomepr:`3834` by :ghuser:`glmnet`
+
+Past Changelogs
+---------------
+
+- :doc:`2022.8.0`
+- :doc:`2022.6.0`
+- :doc:`2022.5.0`
+- :doc:`2022.4.0`
+- :doc:`2022.3.0`
+- :doc:`2022.2.0`
+- :doc:`2022.1.0`
+- :doc:`2021.12.0`
+- :doc:`2021.11.0`
+- :doc:`2021.10.0`
+- :doc:`2021.9.0`
+- :doc:`2021.8.0`
+- :doc:`v1.20.0`
+- :doc:`v1.19.0`
+- :doc:`v1.18.0`
+- :doc:`v1.17.0`
+- :doc:`v1.16.0`
+- :doc:`v1.15.0`
+- :doc:`v1.14.0`
+- :doc:`v1.13.0`
+- :doc:`v1.12.0`
+- :doc:`v1.11.0`
+- :doc:`v1.10.0`
+- :doc:`v1.9.0`
+- :doc:`v1.8.0`
+- :doc:`v1.7.0`
diff --git a/changelog/index.rst b/changelog/index.rst
index ff1d3bebd..db152813d 100644
--- a/changelog/index.rst
+++ b/changelog/index.rst
@@ -2,7 +2,7 @@ Changelog
=========
.. redirect::
- :url: /changelog/2022.8.0.html
+ :url: /changelog/2022.9.0.html
.. toctree::
:glob:
diff --git a/components/bluetooth_proxy.rst b/components/bluetooth_proxy.rst
index e9cb2ef4f..50aa68e8a 100644
--- a/components/bluetooth_proxy.rst
+++ b/components/bluetooth_proxy.rst
@@ -18,6 +18,18 @@ The Bluetooth proxy depends on :doc:`esp32_ble_tracker` so make sure to add that
Bluetooth proxy requires Home Assistant 2022.9 or later.
+.. note::
+
+ The Bluetooth proxy of ESPHome currently only provides Home Assistant with passive sensor
+ data that is advertised by certain devices. Not all devices are supported and ESPHome does not decode or keep a list.
+ To find out if your device is supported, please search for it in the `Home Assistant Integrations `__ list.
+
+ The Individual device integrations in Home Assistant (such as BTHome) will receive the data from the Bluetooth Integration in Home Assistant
+ which automatically aggregates all ESPHome bluetooth proxies with any USB Bluetooth Adapters you might have.
+
+Configuration:
+--------------
+
.. code-block::
bluetooth_proxy:
diff --git a/components/ota.rst b/components/ota.rst
index 0c44b90ab..1e053fa4f 100644
--- a/components/ota.rst
+++ b/components/ota.rst
@@ -177,6 +177,9 @@ enum. These values are:
Updating the password:
----------------------
+Changing an existing password:
+******************************
+
Since the password is used both for compiling and uploading the regular ``esphome run``
won't work of course. This issue can be worked around by executing the operations separately
through an ``on_boot`` trigger:
@@ -191,6 +194,12 @@ through an ``on_boot`` trigger:
password: "Old password"
id: my_ota
+Adding a password:
+******************
+
+If OTA is already enabled without a password, simply add a ``password:`` line to the existing
+``ota:`` config block.
+
See Also
--------
diff --git a/components/sensor/xiaomi_miscale.rst b/components/sensor/xiaomi_miscale.rst
index 277397ed8..c054788d9 100644
--- a/components/sensor/xiaomi_miscale.rst
+++ b/components/sensor/xiaomi_miscale.rst
@@ -91,7 +91,7 @@ You have to replace the numbers in the lambdas to determine your weight which is
- platform: template
name: Impedance Aurélien
id: impedance_user1
- unit_of_measurement: 'ohm'
+ unit_of_measurement: 'Ω'
icon: mdi:omega
accuracy_decimals: 0
- platform: template
@@ -103,7 +103,7 @@ You have to replace the numbers in the lambdas to determine your weight which is
- platform: template
name: Impedance Siham
id: impedance_user2
- unit_of_measurement: 'ohm'
+ unit_of_measurement: 'Ω'
icon: mdi:omega
accuracy_decimals: 0
diff --git a/guides/automations.rst b/guides/automations.rst
index b1838fd8a..3e11e91f0 100644
--- a/guides/automations.rst
+++ b/guides/automations.rst
@@ -730,6 +730,12 @@ script was already running.
then:
- script.execute: my_script
+or as lambda
+
+.. code-block:: yaml
+
+ lambda: 'id(my_script).execute();
+
.. _script-stop_action:
``script.stop`` Action
@@ -757,6 +763,12 @@ will not be executed.
then:
- script.stop: my_script
+or as lambda
+
+.. code-block:: yaml
+
+ lambda: 'id(my_script).stop();'
+
.. _script-wait_action:
``script.wait`` Action
@@ -783,6 +795,14 @@ of the script are running in parallel, this will block until all of them have te
- script.execute: my_script
- script.wait: my_script
+or as lambda
+
+.. code-block:: yaml
+
+ lambda: |-
+ id(my_script).execute();
+ id(my_script).wait();
+
.. _script-is_running_condition:
``script.is_running`` Condition
@@ -801,6 +821,15 @@ of the given id is running, not how many.
then:
- logger.log: Script is running!
+or as lambda
+
+.. code-block:: yaml
+
+ lambda: -|
+ if(id(my_script).is_running() {
+ ESP_LOGI("main", "Script is running!");
+ }
+
.. _for_condition:
``for`` Condition
diff --git a/guides/supporters.rst b/guides/supporters.rst
index f4875b0ab..621da5100 100644
--- a/guides/supporters.rst
+++ b/guides/supporters.rst
@@ -118,6 +118,7 @@ Contributors
- `Bill Church (@billchurch) `__
- `Brian Kaufman (@bkaufx) `__
- `JDavid (@blackhack) `__
+- `blakadder (@blakadder) `__
- `Branimir Lambov (@blambov) `__
- `Jim Ekman (@blejdfist) `__
- `Scott Smith (@blurfl) `__
@@ -182,6 +183,7 @@ Contributors
- `cwitting (@cwitting) `__
- `Alex Solomaha (@CyanoFresh) `__
- `Luar Roji (@cyberplant) `__
+- `Aleš Komárek (@cznewt) `__
- `d-two (@d-two) `__
- `dab0g (@dab0g) `__
- `Dale Higgs (@dale3h) `__
@@ -350,6 +352,7 @@ Contributors
- `guillempages (@guillempages) `__
- `Guyohms (@Guyohms) `__
- `Gilles van den Hoven (@gvdhoven) `__
+- `h3ndrik (@h3ndrik) `__
- `haade (@haade-administrator) `__
- `Peter van Dijk (@Habbie) `__
- `Hagai Shatz (@hagai-shatz) `__
@@ -442,6 +445,7 @@ Contributors
- `Jonathan Adams (@jonathanadams) `__
- `Jonathan Treffler (@JonathanTreffler) `__
- `JonnyaiR (@jonnyair) `__
+- `Jonathan V (@jonofmac) `__
- `Joppy (@JoppyFurr) `__
- `joseph douce (@josephdouce) `__
- `Joshua Spence (@joshuaspence) `__
@@ -495,7 +499,6 @@ Contributors
- `Kyle Hendricks (@kylehendricks) `__
- `Kyle Manna (@kylemanna) `__
- `Kalashnikov Ilya (@l1bbcsg) `__
-- `la7dja (@la7dja) `__
- `Limor "Ladyada" Fried (@ladyada) `__
- `Luca Adrian L (@lal12) `__
- `Fredrik Lindqvist (@Landrash) `__
@@ -510,7 +513,6 @@ Contributors
- `Lubos Horacek (@lhoracek) `__
- `Juraj Liso (@LiJu09) `__
- `lingex (@lingex) `__
-- `lkomurcu (@lkomurcu) `__
- `Lazar Obradovic (@lobradov) `__
- `Barry Loong (@loongyh) `__
- `LuBeDa (@lubeda) `__
@@ -545,7 +547,6 @@ Contributors
- `Mario (@mario-tux) `__
- `Marek Marczykowski-Górecki (@marmarek) `__
- `Matthew Harrold (@marrold) `__
-- `marshn (@marshn) `__
- `marsjan155 (@marsjan155) `__
- `Martin (@martgras) `__
- `Martin Hjelmare (@MartinHjelmare) `__
@@ -562,7 +563,6 @@ Contributors
- `Maurice Schleußinger (@maurice-schleussinger) `__
- `Maximilian Gerhardt (@maxgerhardt) `__
- `mbo18 (@mbo18) `__
-- `mckaymatthew (@mckaymatthew) `__
- `Me No Dev (@me-no-dev) `__
- `Alexandr Zarubkin (@me21) `__
- `Joseph Mearman (@Mearman) `__
@@ -576,15 +576,14 @@ Contributors
- `Marco Lusini (@met67) `__
- `Martin Flasskamp (@MFlasskamp) `__
- `Michael Gorven (@mgorven) `__
-- `mhentschke (@mhentschke) `__
- `Michaël Arnauts (@michaelarnauts) `__
- `Micha Nordmann (@Michanord) `__
-- `micronen (@micronen) `__
- `Pauline Middelink (@middelink) `__
- `Mikko Tervala (@MikkoTervala) `__
- `MiKuBB (@MiKuBB) `__
- `Minideezel (@minideezel) `__
- `André Klitzing (@misery) `__
+- `Tomasz (@Misiu) `__
- `Matthew Edwards (@mje-nz) `__
- `Matthew Garrett (@mjg59) `__
- `Maarten (@mjkl-gh) `__
@@ -676,6 +675,7 @@ Contributors
- `Peter Foreman (@peterforeman) `__
- `Peter Galantha (@peterg79) `__
- `Peter Remøy Paulsen (@petrepa) `__
+- `Philippe FOUQUET (@Philippe12) `__
- `Philip Rosenberg-Watt (@PhilRW) `__
- `pieterbrink123 (@pieterbrink123) `__
- `Tommy van der Vorst (@pixelspark) `__
@@ -693,6 +693,7 @@ Contributors
- `Patrick Toal (@ptoal) `__
- `Leandro Puerari (@puerari) `__
- `puuu (@puuu) `__
+- `Pascal Vizeli (@pvizeli) `__
- `[pʲɵs] (@pyos) `__
- `Qc (@qc24) `__
- `Karol Zlot (@qqgg231) `__
@@ -761,6 +762,7 @@ Contributors
- `Niklas Wagner (@Skaronator) `__
- `Rafael Treviño (@skasi7) `__
- `Brian Slesinsky (@skybrian) `__
+- `Jordan W. Cobb (@skykingjwc) `__
- `Sebastian Lövdahl (@slovdahl) `__
- `smischny (@smischny) `__
- `Luca Zimmermann (@soundstorm) `__
@@ -891,9 +893,10 @@ Contributors
- `Zebble (@Zebble) `__
- `ZJY (@zhangjingye03) `__
- `San (@zhujunsan) `__
+- `Geek_cat (@zhzhzhy) `__
- `I. Tomita (@ziceva) `__
- `Michael Labuschke (@zigman79) `__
- `Zack Barett (@zsarnett) `__
- `Christian Zufferey (@zuzu59) `__
-*This page was last updated September 6, 2022.*
+*This page was last updated September 21, 2022.*