Changelog - Version 1.18.0 - 19th May 2021
==========================================

.. seo::
    :description: Changelog for ESPHome version 1.18.0.
    :image: /_static/changelog-1.18.0.png
    :author: ESPHome
    :author_twitter: @esphome_

.. imgtable::
    :columns: 4

    BME680 via BSEC, components/sensor/bme680_bsec, bme680.jpg
    b-parasite, components/sensor/b_parasite, b_parasite.jpg
    SGP40, components/sensor/sgp40, sgp40.jpg
    SHT4X, components/sensor/sht4x, sht4x.jpg

    TCA9548A I²C Multiplexer, components/tca9548a, tca9548a.jpg
    Grow Fingerprint Reader, components/fingerprint_grow, fingerprint.svg, dark-invert
    TOF10120, components/sensor/tof10120, tof10120.jpg
    SM2135, components/output/sm2135, sm2135.svg

    ESP32 BLE Client, components/ble_client, bluetooth.svg, dark-invert
    BLE Sensor, components/sensor/ble_sensor, bluetooth.svg, dark-invert
    External Components, components/external_components, external_components.svg, dark-invert


It feels like I was just writing the release notes for 1.17 not long ago, so here's to getting ESPHome going on a regular schedule.

Releases will be set for the 3rd Wednesday of each month, with a beta release starting 1 week earlier for those who would like to test
that and help make sure it is stable.

Apart from a few new sensors, we now have built in support for :doc:`/components/external_components`, check it out. Thanks :ghuser:`OttoWinter` and :ghuser:`glmnet`

Also now, an ESPHome device is able to connect to other BLE devices and become a :doc:`/components/ble_client`, reading sensors and controlling switches etc.
You can read basic sensor values using the :doc:`/components/sensor/ble_client` component or use the data displayed in the logs to build a new native component
that provides the sensors/switches/etc directly.

Jesse


New Integrations
----------------

- esphome: Add I2CMultiplexer in general and the TCA9548A in special :esphomepr:`1410` by :ghuser:`andreashergert1984` (new-integration)
- esphome: Add BME680 via BSEC integration :esphomepr:`1313` by :ghuser:`trvrnrth` (new-integration)
- esphome: Adds support for b-parasite soil moisture sensor :esphomepr:`1666` by :ghuser:`rbaron` (new-integration)
- esphome: Sgp40 :esphomepr:`1513` by :ghuser:`SenexCrenshaw` (new-integration)
- esphome: Add support for SHT4X :esphomepr:`1512` by :ghuser:`sjtrny` (new-integration)
- esphome: Add Grow Fingerprint Reader :esphomepr:`1356` by :ghuser:`loongyh` (new-integration)
- esphome: Support for TOF10120 distance sensor :esphomepr:`1375` by :ghuser:`wstrzalka` (new-integration)
- esphome: BLE client support on ESP32 :esphomepr:`1177` by :ghuser:`buxtronix` (new-integration)
- esphome: Implement external custom components installing from YAML :esphomepr:`1630` by :ghuser:`OttoWinter` (new-integration)
- esphome: Add sm2135 component :esphomepr:`1736` by :ghuser:`BoukeHaarsma23` (cherry-picked) (new-integration)

Breaking Changes
----------------

- esphome: Raise minimum python version to 3.7 :esphomepr:`1673` by :ghuser:`OttoWinter` (breaking-change)
- esphome: Change wifi signal strength unit to dBm :esphomepr:`1734` by :ghuser:`mbo18` (breaking-change)
- esphome: Use core constants for sample duration on bh1750 :esphomepr:`1764` by :ghuser:`yuvalabou` (breaking-change) (cherry-picked)

Beta Fixes
----------

- docs: Update allowed characters for node names :docspr:`1072` by :ghuser:`pkuehne` (cherry-picked)
- docs: Fix missed merge conflict :docspr:`1155` by :ghuser:`jesserockz` (cherry-picked)
- docs: Replaced set_password with new_password :docspr:`1157` by :ghuser:`PaulAntonDeen` (cherry-picked)
- esphome: Fix build issues for idf 4.2 (Support ESP32-S2) :esphomepr:`1433` by :ghuser:`misery` (cherry-picked)
- esphome: Upgrade the version of AsyncTCP-esphome to v1.2.2 :esphomepr:`1762` by :ghuser:`glmnet` (cherry-picked)
- esphome: Use core constants for sample duration on bh1750 :esphomepr:`1764` by :ghuser:`yuvalabou` (breaking-change) (cherry-picked)
- esphome: Add sm2135 component :esphomepr:`1736` by :ghuser:`BoukeHaarsma23` (cherry-picked) (new-integration)
- docs: Add sm2135 component :docspr:`1127` by :ghuser:`BoukeHaarsma23` (cherry-picked)
- docs: Some clarification added to external components. :docspr:`1165` by :ghuser:`mmakaay` (cherry-picked)
- esphome: Allow RC522 components to have multiple configurations :esphomepr:`1782` by :ghuser:`jesserockz` (cherry-picked)

All changes
-----------

- esphome: Add I2CMultiplexer in generel and the TCA9548A in special :esphomepr:`1410` by :ghuser:`andreashergert1984` (new-integration)
- docs: Add i2c multiplexer :docspr:`897` by :ghuser:`andreashergert1984`
- esphome: Add the display.is_displaying_page condition :esphomepr:`1646` by :ghuser:`numo68`
- docs: Add documentation for the display.is_displaying_page condition :docspr:`1079` by :ghuser:`numo68`
- esphome: Add BME680 via BSEC integration :esphomepr:`1313` by :ghuser:`trvrnrth` (new-integration)
- docs: Add BME680 BSEC docs :docspr:`793` by :ghuser:`trvrnrth`
- esphome: Fixed CustomComponentConstructor::get_component() :esphomepr:`1653` by :ghuser:`dataway`
- esphome: Bump pytest from 6.2.2 to 6.2.3 :esphomepr:`1663` by :ghuser:`dependabot[bot]`
- esphome: Bump protobuf from 3.15.6 to 3.15.7 :esphomepr:`1662` by :ghuser:`dependabot[bot]`
- esphome: Rewrite sun component calculations :esphomepr:`1661` by :ghuser:`OttoWinter`
- esphome: Raise minimum python version to 3.7 :esphomepr:`1673` by :ghuser:`OttoWinter` (breaking-change)
- esphome: Adds support for b-parasite soil moisture sensor :esphomepr:`1666` by :ghuser:`rbaron` (new-integration)
- docs: Adds docs for the b-parasite soil moisture sensor :docspr:`1086` by :ghuser:`rbaron`
- esphome: mqtt_client: Added MQTTClientComponent::unsubscribe() :esphomepr:`1672` by :ghuser:`dataway`
- esphome: Disallow _ in node name :esphomepr:`1632` by :ghuser:`pkuehne`
- esphome: Receive long MQTT payload :esphomepr:`1590` by :ghuser:`gaco79`
- esphome: Daylight Saving Time spelling fix :esphomepr:`1677` by :ghuser:`dashdrum`
- esphome: Support custom build_flags for bme680_bsec :esphomepr:`1678` by :ghuser:`SenexCrenshaw`
- esphome: Add Arduino ESP32 version mapping :esphomepr:`1679` by :ghuser:`OttoWinter`
- esphome: Automate building and publishing of esphome-lint docker image :esphomepr:`1680` by :ghuser:`OttoWinter`
- esphome: Sgp40 :esphomepr:`1513` by :ghuser:`SenexCrenshaw` (new-integration)
- docs: sgp40 :docspr:`985` by :ghuser:`SenexCrenshaw`
- esphome: Bump protobuf from 3.15.7 to 3.15.8 :esphomepr:`1682` by :ghuser:`dependabot[bot]`
- esphome: Implementing the remainder of GPS data for the GPS component. :esphomepr:`1676` by :ghuser:`coogle`
- docs: Updating docs for the gps component. :docspr:`1094` by :ghuser:`coogle`
- esphome: Bump AsyncTCP-esphome to 1.2.1. :esphomepr:`1693` by :ghuser:`mmakaay`
- esphome: Revert "Bump AsyncTCP-esphome to 1.2.1." :esphomepr:`1709` by :ghuser:`glmnet`
- esphome: Fix name_add_mac_suffix using _ instead of - :esphomepr:`1702` by :ghuser:`glmnet`
- docs: Update name_add_mac_suffix use dash :docspr:`1111` by :ghuser:`glmnet`
- esphome: Add monochromatic effects: Pulse, Random :esphomepr:`1616` by :ghuser:`ferbar`
- docs: Add 'pulse' effect doc :docspr:`1067` by :ghuser:`ferbar`
- esphome: Add support for SHT4X :esphomepr:`1512` by :ghuser:`sjtrny` (new-integration)
- docs: Add docs for SHT4X :docspr:`1002` by :ghuser:`sjtrny`
- esphome: Addition of forward and reverse active energy counters to ATM90E32 sensor component :esphomepr:`1271` by :ghuser:`elyorkhakimov`
- docs: Add Atm90e32 energy docs :docspr:`1120` by :ghuser:`jesserockz`
- esphome: Add Grow Fingerprint Reader :esphomepr:`1356` by :ghuser:`loongyh` (new-integration)
- docs: Add Grow fingerprint reader docs :docspr:`835` by :ghuser:`loongyh`
- esphome: Support for TOF10120 distance sensor :esphomepr:`1375` by :ghuser:`wstrzalka` (new-integration)
- docs: Documentation for TOF10120 support :docspr:`846` by :ghuser:`wstrzalka`
- esphome: Swap fan and swing fields for Fujitu ACs :esphomepr:`1635` by :ghuser:`alex-richards`
- esphome: BLE client support on ESP32 :esphomepr:`1177` by :ghuser:`buxtronix` (new-integration)
- docs: Ble client docs :docspr:`702` by :ghuser:`buxtronix`
- esphome: Update email addresses :esphomepr:`1733` by :ghuser:`jesserockz`
- esphome: Ble client fixes :esphomepr:`1739` by :ghuser:`buxtronix`
- esphome: Fix #1940: Implement speed_count in TuyaFan :esphomepr:`1654` by :ghuser:`0x0a11c0de`
- docs: Add speed_count to tuya fan :docspr:`1080` by :ghuser:`0x0a11c0de`
- docs: Fix mcp3008 reference :docspr:`1131` by :ghuser:`jesserockz`
- esphome: Add Hyperion Support :esphomepr:`1339` by :ghuser:`d-two`
- docs: Add note about hyperion classic udp port :docspr:`1135` by :ghuser:`jesserockz`
- esphome: Call ``Stepper::should_step_`` every loop iteration :esphomepr:`1373` by :ghuser:`akonradi`
- esphome: Add support for controlling Tuya fan direction :esphomepr:`1409` by :ghuser:`rmounce`
- docs: Document Tuya fan direction datapoint :docspr:`877` by :ghuser:`rmounce`
- esphome: Change wifi signal strength unit to dBm :esphomepr:`1734` by :ghuser:`mbo18` (breaking-change)
- docs: Change wifi signal strength unit to dBm :docspr:`1125` by :ghuser:`mbo18`
- esphome: Added an option to disable mDNS :esphomepr:`1716` by :ghuser:`dnetguru`
- docs: Added docs for enable_mdns option :docspr:`1118` by :ghuser:`dnetguru`
- docs: add External components docs :docspr:`1107` by :ghuser:`glmnet`
- esphome: Implement external custom components installing from YAML :esphomepr:`1630` by :ghuser:`OttoWinter` (new-integration)
- esphome: Update copyright year :esphomepr:`1760` by :ghuser:`bonanitech`
- docs: Fixed datasheet link for RC522 :docspr:`1144` by :ghuser:`0nikola1`
- docs: Added receive for Fujitsu ACs :docspr:`1037` by :ghuser:`alex-richards`
- docs: Update allowed characters for node names :docspr:`1072` by :ghuser:`pkuehne` (cherry-picked)
- docs: Update docs: Add references to alternative ICs to HLW8012 and CSE7766 :docspr:`902` by :ghuser:`kubik369`
- docs: Update pulse_counter.rst :docspr:`1089` by :ghuser:`Chupaka`
- docs: Remove deprecated board_flash_mode from configuration example :docspr:`1149` by :ghuser:`frenck`
- docs: Update deep_sleep.rst :docspr:`1152` by :ghuser:`theOzzieRat`
- docs: Utalize pip3 for commands :docspr:`1143` by :ghuser:`rradar`
- docs: FAQ page: Converting from "I" to "we" wording :docspr:`1103` by :ghuser:`spacegaier`
- docs: thermostat min/max temperature clarification :docspr:`1057` by :ghuser:`larsonmpdx`
- docs: Added compatibility notes :docspr:`1033` by :ghuser:`Dezorian`
- docs: Specify format for BSSID entries. :docspr:`1046` by :ghuser:`marcteale`
- docs: add font to usage example :docspr:`1050` by :ghuser:`azrael783`
- docs: Fix missed merge conflict :docspr:`1155` by :ghuser:`jesserockz` (cherry-picked)
- docs: Sample codeblock has incorrect variables :docspr:`1156` by :ghuser:`jcallaghan`
- docs: Replaced set_password with new_password :docspr:`1157` by :ghuser:`PaulAntonDeen` (cherry-picked)
- docs: pulse counter: Show how calculations are made :docspr:`861` by :ghuser:`fredrike`
- esphome: Upgrade the version of AsyncTCP-esphome to v1.2.2 :esphomepr:`1762` by :ghuser:`glmnet` (cherry-picked)
- esphome: Fix build issues for idf 4.2 (Support ESP32-S2) :esphomepr:`1433` by :ghuser:`misery` (cherry-picked)
- esphome: Use core constants for sample duration on bh1750 :esphomepr:`1764` by :ghuser:`yuvalabou` (breaking-change) (cherry-picked)
- docs: Fix docs for inkplate :docspr:`1158` by :ghuser:`NobodysNightmare`
- docs: Fixed wrong link in i2c_id :docspr:`1163` by :ghuser:`petrepa`
- docs: Explain where to upload .ttf font files :docspr:`1133` by :ghuser:`TheGroundZero`
- esphome: Add sm2135 component :esphomepr:`1736` by :ghuser:`BoukeHaarsma23` (cherry-picked) (new-integration)
- docs: Add sm2135 component :docspr:`1127` by :ghuser:`BoukeHaarsma23` (cherry-picked)
- docs: Some clarification added to external components. :docspr:`1165` by :ghuser:`mmakaay` (cherry-picked)
- docs: Add new disconnect reasons to the FAQ. :docspr:`1129` by :ghuser:`mmakaay`
- esphome: Allow RC522 components to have multiple configurations :esphomepr:`1782` by :ghuser:`jesserockz` (cherry-picked)
- docs: Update max frequency :docspr:`1172` by :ghuser:`bookcasey`
- docs: Update web-api id component :docspr:`1168` by :ghuser:`meijerwynand`
- docs: Fix docker build failure :docspr:`1179` by :ghuser:`martgras`
- docs: Update ifan02 example with new fan speed options :docspr:`1177` by :ghuser:`workingmanrob`
- docs: Document missing use_address in Ethernet component :docspr:`1176` by :ghuser:`xsnoopy`
- docs: Lambda over multiple lines. added :docspr:`1173` by :ghuser:`klenaers`
- docs: changed LG example to existing, working code :docspr:`1171` by :ghuser:`qqgg231`
- docs: GPIO Switch: simplify Momentary Switch example :docspr:`1121` by :ghuser:`ianchi`
- docs: Added warning: GPIOs are LIVE in power measurement devices :docspr:`583` by :ghuser:`CarlosGS`

Past Changelogs
---------------

- :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`
