Merge branch 'current' into next

This commit is contained in:
Jesse Hills 2022-10-26 12:07:51 +13:00
commit 1f2fad852c
No known key found for this signature in database
GPG Key ID: BEAAE804EFD8E83A
13 changed files with 156 additions and 26 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

127
changelog/2022.10.0.rst Normal file
View File

@ -0,0 +1,127 @@
ESPHome 2022.10.0 - 19th October 2022
=====================================
.. seo::
:description: Changelog for ESPHome 2022.10.0.
:image: /_static/changelog-2022.10.0.png
:author: Jesse Hills
:author_twitter: @jesserockz
.. imgtable::
:columns: 2
BLE Client RSSI Sensor, components/sensor/ble_client, bluetooth.svg
ZHLT01 IR Climate, components/climate/climate_ir, air-conditioner-ir.svg
This month we have been busy upgrading the Bluetooth Proxy support for Home Assistant.
This meant there are many PRs awaiting reviews for new components that were unable to be
reviewed and merged in time. We will be trying to pack the next release.
Python Version 3.9
------------------
ESPHome now requires Python 3.9 or newer. This is taken care of if you use the Home Assistant addon
or docker image. If using pip, you will need to upgrade your Python version manually before ESPHome will
upgrade.
BLE Client Sensors
------------------
Due to adding a new RSSI sensor to the ``ble_client`` sensor platform, a new ``type`` configuration variable.
You will get a validation error when you try to install and you have not added a ``type`` to your
existing configurations.
XPT2046 Touchscreen
-------------------
The ``xpt2046`` touchscreen component has been updated to be a platform of ``touchscreen`` instead of a
top level component. This requires a small change to your configuration, see :doc:`/components/touchscreen/xpt2046`
for the new way to configure.
Full list of changes
--------------------
Breaking Changes
^^^^^^^^^^^^^^^^
- Thermostat remove deprecated config :esphomepr:`3643` by :ghuser:`MrMDavidson` (breaking-change)
- Bump python min to 3.9 :esphomepr:`3871` by :ghuser:`jesserockz` (breaking-change)
- Refactor xpt2046 to be a touchscreen platform :esphomepr:`3793` by :ghuser:`nielsnl68` (breaking-change)
- Add ble RSSI sensor for connected devices :esphomepr:`3860` by :ghuser:`RoboMagus` (breaking-change)
Beta Changes
^^^^^^^^^^^^
- fix never calling preset change trigger :esphomepr:`3864` by :ghuser:`glmnet`
- Modbus QWORD fix :esphomepr:`3856` by :ghuser:`dudanov`
- Send true and not RSSI in ble_presence :esphomepr:`3904` by :ghuser:`fjouault`
- Remove address type map from bluetooth proxy :esphomepr:`3905` by :ghuser:`jesserockz`
All changes
^^^^^^^^^^^
- Update mcp23s17.cpp :esphomepr:`3797` by :ghuser:`pawel3410`
- Allow CORS for web_server :esphomepr:`3819` by :ghuser:`zhzhzhy`
- Dont fail fast on CI for docker :esphomepr:`3832` by :ghuser:`jesserockz`
- Thermostat remove deprecated config :esphomepr:`3643` by :ghuser:`MrMDavidson` (breaking-change)
- Add support for parsing the short local name in the tracker :esphomepr:`3854` by :ghuser:`bdraco`
- Add display GPIO setup instruction for Aliexpress display :esphomepr:`3851` by :ghuser:`kbx81`
- fix dump preset string type :esphomepr:`3863` by :ghuser:`glmnet`
- Bump CI to python 3.9 :esphomepr:`3869` by :ghuser:`jesserockz`
- Add cg.with_local_variable :esphomepr:`3577` by :ghuser:`jpeletier`
- Fix time/automation (cron) wdt crash when time jumps ahead too much :esphomepr:`3844` by :ghuser:`jpeletier`
- Bump pyupgrade from 2.37.3 to 3.0.0 :esphomepr:`3867` by :ghuser:`dependabot[bot]`
- Add min_version to esphome config :esphomepr:`3866` by :ghuser:`jesserockz`
- Bump python min to 3.9 :esphomepr:`3871` by :ghuser:`jesserockz` (breaking-change)
- Bump pylint from 2.15.2 to 2.15.3 :esphomepr:`3870` by :ghuser:`dependabot[bot]`
- Add new sensor device classes :esphomepr:`3895` by :ghuser:`jesserockz`
- Refactor xpt2046 to be a touchscreen platform :esphomepr:`3793` by :ghuser:`nielsnl68` (breaking-change)
- Proxy friendly host url resolution for `use_address` with path. :esphomepr:`3653` by :ghuser:`RoboMagus`
- Update webserver index file :esphomepr:`3896` by :ghuser:`jesserockz`
- Correctly set ble_write UUIDs based on their lengths. :esphomepr:`3885` by :ghuser:`RoboMagus`
- Fix default unit for ble_rssi sensor :esphomepr:`3874` by :ghuser:`RoboMagus`
- Exposing coordinates from touchscreen binary sensor :esphomepr:`3891` by :ghuser:`gpambrozio`
- Fix type annotation on `extract_registry_entry_config` :esphomepr:`3623` by :ghuser:`quentinmit`
- Add ble RSSI sensor for connected devices :esphomepr:`3860` by :ghuser:`RoboMagus` (breaking-change)
- Fix pulse_meter filter logic :esphomepr:`3321` by :ghuser:`cstaahl`
- Add support for ZHLT01 heatpump IR protocol :esphomepr:`3655` by :ghuser:`cfeenstra1024`
- Send GATT error events to HA :esphomepr:`3884` by :ghuser:`jesserockz`
- Do not require CS pin for ST7789V :esphomepr:`3888` by :ghuser:`definitio`
- fix never calling preset change trigger :esphomepr:`3864` by :ghuser:`glmnet`
- Modbus QWORD fix :esphomepr:`3856` by :ghuser:`dudanov`
- Send true and not RSSI in ble_presence :esphomepr:`3904` by :ghuser:`fjouault`
- Remove address type map from bluetooth proxy :esphomepr:`3905` by :ghuser:`jesserockz`
Past Changelogs
---------------
- :doc:`2022.9.0`
- :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`

View File

@ -2,7 +2,7 @@ Changelog
=========
.. redirect::
:url: /changelog/2022.9.0.html
:url: /changelog/2022.10.0.html
.. toctree::
:glob:

View File

@ -19,7 +19,7 @@ nearby COVID-19 exposure notification bluetooth messages sent by phones running
then:
- lambda: |
ESP_LOGD("main", "Got notification:");
ESP_LOGD("main", " RPI: %s", hexencode(x.rolling_proximity_identifier).c_str());
ESP_LOGD("main", " RPI: %s", format_hex_pretty(x.rolling_proximity_identifier).c_str());
ESP_LOGD("main", " RSSI: %d", x.rssi);
Configuration variables:
@ -67,7 +67,7 @@ minute, the indicator will be on.
then:
- lambda: |
ESP_LOGD("main", "Got notification:");
ESP_LOGD("main", " RPI: %s", hexencode(x.rolling_proximity_identifier).c_str());
ESP_LOGD("main", " RPI: %s", format_hex_pretty(x.rolling_proximity_identifier).c_str());
ESP_LOGD("main", " RSSI: %d", x.rssi);
# Stop existing timer so that turn_off doesn't get called

View File

@ -6,9 +6,10 @@ Logger Component
:image: file-document-box.svg
The logger component automatically logs all log messages through the
serial port and through MQTT topics. By default, all logs with a
severity higher than ``DEBUG`` will be shown. Decreasing the log level
can help with the performance of the application and memory size.
serial port and through MQTT topics (if there is an MQTT client in the
configuration). By default, all logs with a severity higher than
``DEBUG`` will be shown. Decreasing the log level can help with the
performance of the application and memory size.
.. code-block:: yaml
@ -54,7 +55,9 @@ The logger component makes use of platform-specific hardware UARTs for serial lo
By default, the logger will occupy ``UART0``. The ESP32 has three hardware UARTs, all of
which can be used for both transmit and receive. The ESP8266 only has two hardware UARTs,
one of which is transmit-only. The ESP8266 ``UART0`` can also be 'swapped' to TX/RX on the
CTS/RTS pins, if you need to use GPIO1 and GPIO3 for something else.
CTS/RTS pins, if you need to use GPIO1 and GPIO3 for something else. Note that the common
NodeMCU boards have their USB-UART Adapters fixed to the default GPIOs used by ``UART0``,
so if you use anything else you will not get log messages over the on-board USB.
Possible Hardware UART configurations:

View File

@ -7,7 +7,7 @@ CSE7766 Power Sensor
: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
(`datasheet <https://itead.cc/wp-content/uploads/2022/05/CSE7766.pdf>`__) sensors with
ESPHome. This sensor is commonly found in Sonoff POW R2. CSE7759B is similar to CSE7766
and works with this integration.

View File

@ -91,7 +91,7 @@ measure the total consumed energy in kWh.
# Example configuration entry
sensor:
- platform: pulse_counter
- platform: pulse_counter
pin: 12
unit_of_measurement: 'kW'
name: 'Power Meter House'

View File

@ -7,10 +7,10 @@ uFire Isolated EC sensor
:keywords: ufire ec sensor temperature esphome
The ``ufire_ec`` sensor platform allows you to use your uFire Isolated EC sensor
with ESPHome. The :ref:`I²C Bus <i2c>` is
required to be set up in your configuration for this sensor to work.
It required also to have an temperature sensor in the liquit tank; this can
be on the same board or external sensor linked to the uFire EC configuration.
with ESPHome. The :ref:`I²C Bus <i2c>` is required to be set up in your
configuration for this sensor to work. It requires also to have a temperature
sensor in the liquid tank; this can be on the same board or an external sensor
linked to the uFire EC configuration.
.. figure:: images/ufire_ec.png
:align: center

View File

@ -6,7 +6,7 @@ Xiaomi Mijia BLE Sensors
:image: xiaomi_mijia_logo.jpg
:keywords: Xiaomi, Mi Home, Mijia, BLE, Bluetooth, HHCCJCY01, GCLS002, HHCCPOT002, LYWSDCGQ, LYWSD02, CGG1, LYWSD03MMC, CGD1, JQJCY01YM, MUE4094RT, WX08ZM, MHO, C401, MHOC401
The ``xiaomi_ble`` sensor platform lets you track the output of Xiaomi Bluetooth Low Energy devices using the :doc:`/components/esp32_ble_tracker`. This component will track, for example, the temperature, humidity, moisture, conductivity, illuminance, formaldehyde, mosquito tablet and battery level of the device every time the sensor sends out a BLE broadcast. Contrary to other implementations, ``xiaomi_ble`` listens passively to advertisement packets and does not pair with the device. Hence ESPHome has no impact on battery life. Thus, if you only use such sensors, you can safely set ``active: false`` in ``esp32_ble_tracker`` configuration, to save from spamming your RF environment with useless scan requests.
The ``xiaomi_ble`` sensor platform lets you track the output of Xiaomi Bluetooth Low Energy devices using the :doc:`/components/esp32_ble_tracker`. This component will track, for example, the temperature, humidity, moisture, conductivity, illuminance, formaldehyde, mosquito tablet and battery level of the device every time the sensor sends out a BLE broadcast. Contrary to other implementations, ``xiaomi_ble`` listens passively to advertisement packets and does not pair with the device. Hence ESPHome has no impact on battery life. Thus, if you only use such sensors, you can safely set ``scan_parameters.active: false`` in ``esp32_ble_tracker`` configuration, to save from spamming your RF environment with useless scan requests.
Supported Devices
-----------------
@ -92,7 +92,7 @@ Configuration example:
LYWSDCGQ
********
Hygro thermometer, round body, segment LCD, broadcasts temperature, humidity and battery level.
Hygro thermometer, round body, segment LCD, broadcasts temperature, humidity and battery level. This device is also known as MJ_HT_V1. In HA's native Xiaomi BLE integration, the device info page shows it as "MJ_HT_V1 (LYWSDCGQ by Xiaomi)".
.. figure:: images/xiaomi_lywsdcgq.jpg
:align: center

View File

@ -107,7 +107,7 @@ The type of ``x`` variable is depending on ``datapoint_type`` configuration vari
datapoint_type: raw
then:
- lambda: |-
ESP_LOGD("main", "on_datapoint_update %s", hexencode(x).c_str());
ESP_LOGD("main", "on_datapoint_update %s", format_hex_pretty(x).c_str());
id(voltage).publish_state((x[0] << 8 | x[1]) * 0.1);
id(current).publish_state((x[3] << 8 | x[4]) * 0.001);
id(power).publish_state((x[6] << 8 | x[7]) * 0.1);
@ -126,7 +126,7 @@ The type of ``x`` variable is depending on ``datapoint_type`` configuration vari
then:
- lambda: |-
if (x.type == tuya::TuyaDatapointType::RAW) {
ESP_LOGD("main", "on_datapoint_update %s", hexencode(x.value_raw).c_str());
ESP_LOGD("main", "on_datapoint_update %s", format_hex_pretty(x.value_raw).c_str());
} else {
ESP_LOGD("main", "on_datapoint_update %hhu", x.type);
}

View File

@ -40,7 +40,7 @@ extensions = [
"github",
"seo",
"components",
"sitemap"
"sitemap",
]
# Add any paths that contain templates here, relative to this directory.

View File

@ -274,7 +274,7 @@ global variables can be used to store the state of a garage door.
- id: my_global_string
type: std::string
restore_value: no # Strings cannot be saved/restored
initial_value: '"hello world"'
initial_value: '"Global value is"'
# In an automation
on_press:
@ -287,7 +287,7 @@ global variables can be used to store the state of a garage door.
id(my_global_int) += 10;
}
ESP_LOGD(TAG, "Global value is: %d", id(my_global_int));
ESP_LOGD(TAG, "%s: %d", id(my_global_string), id(my_global_int));
Configuration variables:

View File

@ -152,6 +152,7 @@ Contributors
- `Ciprian Constantinescu (@cciprian5) <https://github.com/cciprian5>`__
- `Marco (@cdrfun) <https://github.com/cdrfun>`__
- `Cellie (@CelliesProjects) <https://github.com/CelliesProjects>`__
- `Chris Feenstra (@cfeenstra1024) <https://github.com/cfeenstra1024>`__
- `Kostas Chatzikokolakis (@chatziko) <https://github.com/chatziko>`__
- `chris-jennings (@chris-jennings) <https://github.com/chris-jennings>`__
- `Chris (@chrismaki) <https://github.com/chrismaki>`__
@ -210,6 +211,7 @@ Contributors
- `Donovan Baarda (@dbaarda) <https://github.com/dbaarda>`__
- `David Buezas (@dbuezas) <https://github.com/dbuezas>`__
- `dckiller51 (@dckiller51) <https://github.com/dckiller51>`__
- `Daniel Correa Lobato (@dclobato) <https://github.com/dclobato>`__
- `Debashish Sahu (@debsahu) <https://github.com/debsahu>`__
- `declanshanaghy (@declanshanaghy) <https://github.com/declanshanaghy>`__
- `definitio (@definitio) <https://github.com/definitio>`__
@ -297,6 +299,7 @@ Contributors
- `Christian Ferbar (@ferbar) <https://github.com/ferbar>`__
- `FeuerSturm (@FeuerSturm) <https://github.com/FeuerSturm>`__
- `Frank Riley (@fhriley) <https://github.com/fhriley>`__
- `Frédéric Jouault (@fjouault) <https://github.com/fjouault>`__
- `fkirill (@fkirill) <https://github.com/fkirill>`__
- `Sean Vig (@flacjacket) <https://github.com/flacjacket>`__
- `Diego Elio Pettenò (@Flameeyes) <https://github.com/Flameeyes>`__
@ -399,6 +402,7 @@ Contributors
- `James Braid (@jamesbraid) <https://github.com/jamesbraid>`__
- `James Duke (@jamesduke) <https://github.com/jamesduke>`__
- `James Gao (@jamesgao) <https://github.com/jamesgao>`__
- `James Lakin (@jamesorlakin) <https://github.com/jamesorlakin>`__
- `Juraj Andrássy (@JAndrassy) <https://github.com/JAndrassy>`__
- `Jan Grewe (@jangrewe) <https://github.com/jangrewe>`__
- `János Rusiczki (@janosrusiczki) <https://github.com/janosrusiczki>`__
@ -452,7 +456,6 @@ Contributors
- `Javier Peletier (@jpeletier) <https://github.com/jpeletier>`__
- `jsuanet (@jsuanet) <https://github.com/jsuanet>`__
- `James Szalay (@jtszalay) <https://github.com/jtszalay>`__
- `junnikokuki (@junnikokuki) <https://github.com/junnikokuki>`__
- `Justahobby01 (@Justahobby01) <https://github.com/Justahobby01>`__
- `Mike Ryan (@justfalter) <https://github.com/justfalter>`__
- `Justin Gerhardt (@justin-gerhardt) <https://github.com/justin-gerhardt>`__
@ -464,7 +467,6 @@ Contributors
- `Kris (@K-r-i-s-t-i-a-n) <https://github.com/K-r-i-s-t-i-a-n>`__
- `Harald Nagel (@k7hpn) <https://github.com/k7hpn>`__
- `kaegi (@kaegi) <https://github.com/kaegi>`__
- `kahrendt (@kahrendt) <https://github.com/kahrendt>`__
- `Karol Zlot (@karolzlot) <https://github.com/karolzlot>`__
- `Kattni (@kattni) <https://github.com/kattni>`__
- `Krasimir Nedelchev (@kaykayehnn) <https://github.com/kaykayehnn>`__
@ -483,10 +485,8 @@ Contributors
- `Kevin Lewis (@kll) <https://github.com/kll>`__
- `Koen Vervloesem (@koenvervloesem) <https://github.com/koenvervloesem>`__
- `Petr Vraník (@konikvranik) <https://github.com/konikvranik>`__
- `korellas (@korellas) <https://github.com/korellas>`__
- `Kevin Pelzel (@kpelzel) <https://github.com/kpelzel>`__
- `Karl Q. (@kquinsland) <https://github.com/kquinsland>`__
- `krahabb (@krahabb) <https://github.com/krahabb>`__
- `Kodey Converse (@krconv) <https://github.com/krconv>`__
- `KristopherMackowiak (@KristopherMackowiak) <https://github.com/KristopherMackowiak>`__
- `kroimon (@kroimon) <https://github.com/kroimon>`__
@ -617,7 +617,6 @@ Contributors
- `H. Árkosi Róbert (@nagyrobi) <https://github.com/nagyrobi>`__
- `Viktor Nagy (@nagyv) <https://github.com/nagyv>`__
- `Oskar Napieraj (@napieraj) <https://github.com/napieraj>`__
- `Patrick ZAJDA (@Nardol) <https://github.com/Nardol>`__
- `Nate Lust (@natelust) <https://github.com/natelust>`__
- `ueno (@nayuta-ueno) <https://github.com/nayuta-ueno>`__
- `Nazar Mokrynskyi (@nazar-pc) <https://github.com/nazar-pc>`__
@ -699,6 +698,7 @@ Contributors
- `Qc (@qc24) <https://github.com/qc24>`__
- `Karol Zlot (@qqgg231) <https://github.com/qqgg231>`__
- `Tommy Jonsson (@quazzie) <https://github.com/quazzie>`__
- `Quentin Smith (@quentinmit) <https://github.com/quentinmit>`__
- `Quinn Hosler (@quinnhosler) <https://github.com/quinnhosler>`__
- `Johannes Rebling (@r0oland) <https://github.com/r0oland>`__
- `Richard Kuhnt (@r15ch13) <https://github.com/r15ch13>`__
@ -898,4 +898,4 @@ Contributors
- `Zack Barett (@zsarnett) <https://github.com/zsarnett>`__
- `Christian Zufferey (@zuzu59) <https://github.com/zuzu59>`__
*This page was last updated October 7, 2022.*
*This page was last updated October 19, 2022.*