Merge branch 'current' into next

This commit is contained in:
Jesse Hills 2023-09-28 11:52:14 +13:00
commit 8930faec4f
No known key found for this signature in database
GPG Key ID: BEAAE804EFD8E83A
16 changed files with 293 additions and 29 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

254
changelog/2023.9.0.rst Normal file
View File

@ -0,0 +1,254 @@
ESPHome 2023.9.0 - 27th September 2023
======================================
.. seo::
:description: Changelog for ESPHome 2023.9.0.
:image: /_static/changelog-2023.9.0.png
:author: Jesse Hills
:author_twitter: @jesserockz
.. imgtable::
:columns: 3
BK72xx, components/libretiny, bk72xx.svg
RTL87xx, components/libretiny, rtl87xx.svg
WireGuard, components/wireguard, wireguard_custom_logo.svg, dark-invert
PMWCS3, components/sensor/pmwcs3, pmwcs3.jpg
SEN0321, components/sensor/sen0321, sen0321.jpg
LightWaveRF, components/light/lightwaverf, brightness-medium.svg, dark-invert
BMI160, components/sensor/bmi160, bmi160.jpg
SPI LED Strips, components/light/spi_led_strip, apa102.jpg
LibreTiny
---------
:doc:`LibreTiny </components/libretiny>` is a platform for the RTL87xx and BK72xx family of chips. ESPHome leverages
this platform and brings the powerful yet simple YAML configuration to these chips.
It has been months in the making, and many back and forwards with :ghuser:`kuba2k2`
(and all of the contributors to LibreTiny), but we finally got there and merged it in.
.. |wireguard| unicode:: WireGuard 0xAE
Wireguard
---------
:doc:`WireGuard </components/wireguard>` is a new component that allows you to connect to a |wireguard| Peer.
LED Strips
----------
Following on from the previously added :doc:`/components/light/esp32_rmt_led_strip`, we now have
:doc:`SPI LED Strips </components/light/spi_led_strip>`. These are replacement components for
:doc:`/components/light/neopixelbus` and :doc:`/components/light/fastled` that
do not rely on the Arduino framework.
Breaking Changes
----------------
Home Assistant Add-on
^^^^^^^^^^^^^^^^^^^^^
The ``/config/esphome/.esphome`` folder has been removed and replaced with ``/data`` when running ESPHome as a Home Assistant add-on.
This was done because it is exactly what the add-on ``/data`` folder was made for and there were many files in the ``.esphome`` folder
that were making the Home Assistant Backup larger for no reason at all. All files in there are generated or sourced from online based
on your configurations files which have not been touched.
Enum device class
^^^^^^^^^^^^^^^^^
The ``enum`` device class was removed from ESPHome to keep in sync with Home Assistant. The class was already not able to be used by
any of the built in components and only potentially used by ``external_components``.
Full list of changes
--------------------
New Components
^^^^^^^^^^^^^^
- Add pmwcs3 capacitive soil moisture & temperature sensor component :esphomepr:`4624` by :ghuser:`SeByDocKy` (new-integration)
- Support for LibreTiny platform (RTL8710, BK7231 & other modules) :esphomepr:`3509` by :ghuser:`kuba2k2` (new-integration)
- Adding DFRobot Ozone Sensor Support (sen0321) :esphomepr:`4782` by :ghuser:`notjj` (new-integration)
- Integration LightwaveRF switches :esphomepr:`4812` by :ghuser:`max246` (new-integration)
- Refactor SPI code; Add ESP-IDF hardware support :esphomepr:`5311` by :ghuser:`clydebarrow` (new-integration)
- Add BMI160 support :esphomepr:`5143` by :ghuser:`flaviut` (new-integration)
- Native SPI RGB LED component :esphomepr:`5288` by :ghuser:`clydebarrow` (new-integration)
- Wireguard component :esphomepr:`4256` by :ghuser:`lhoracek` (new-integration)
Breaking Changes
^^^^^^^^^^^^^^^^
- Synchronise Device Classes from Home Assistant :esphomepr:`5328` by :ghuser:`esphomebot` (breaking-change)
- Use /data directory for .esphome folder when running as HA add-on :esphomepr:`5374` by :ghuser:`jesserockz` (breaking-change)
Beta Changes
^^^^^^^^^^^^
- Add patch to apt install :esphomepr:`5389` by :ghuser:`synesthesiam`
- Fix Waveshare 7.5v2 epaper screens are always powered on :esphomepr:`5283` by :ghuser:`phoenixswiss`
- Update radon_eye_listener.cpp :esphomepr:`5401` by :ghuser:`rmmacias`
- Add shelly-dimmer-stm32 51.7 to known versions :esphomepr:`5400` by :ghuser:`trvrnrth`
- Add E-Trailer Gaslevel support to Mopeka Std Check :esphomepr:`5397` by :ghuser:`Phhere`
- fix disabled wifi power on 8266 :esphomepr:`5409` by :ghuser:`ssieb`
- fix handling of web server version :esphomepr:`5405` by :ghuser:`ssieb`
- Climate preset fix :esphomepr:`5407` by :ghuser:`Jorre05`
- Remove Wi-Fi dependency from Midea component :esphomepr:`5394` by :ghuser:`AnthonyMaiorani`
- http_request: Cleanups and safety improvements :esphomepr:`5360` by :ghuser:`kpfleming`
- Make the pulse meter timeout on startup when no pulses are received :esphomepr:`5388` by :ghuser:`TrentHouliston`
- Wizard: fix colored text in input prompts :esphomepr:`5313` by :ghuser:`kuba2k2`
- support keypads with pulldowns :esphomepr:`5404` by :ghuser:`ssieb`
- Fix SPI inverted clock on ESP8266 :esphomepr:`5416` by :ghuser:`clydebarrow`
- [RP2040W] Fix WiFi bootloop upon LibreTiny support :esphomepr:`5414` by :ghuser:`hostcc`
- dallas: limit addresses to 64 bits :esphomepr:`5413` by :ghuser:`oddstr13`
- Bump zeroconf from 0.108.0 to 0.112.0 :esphomepr:`5392` by :ghuser:`dependabot[bot]`
- LibreTiny: enable MQTT, bump to v1.4.1 :esphomepr:`5419` by :ghuser:`kuba2k2`
- Wireguard keepalive remove uint16 type :esphomepr:`5430` by :ghuser:`glmnet`
- Fix #4896 and #4903 :esphomepr:`5433` by :ghuser:`clydebarrow`
All changes
^^^^^^^^^^^
- Updated my username in Code Owners :esphomepr:`5247` by :ghuser:`mreditor97`
- remote_base: change dumpers log level :esphomepr:`5253` by :ghuser:`dudanov`
- Add `libfreetype-dev` Debian package for armv7 Docker builds :esphomepr:`5262` by :ghuser:`pierlon`
- Add delay before enabling ipv6 :esphomepr:`5256` by :ghuser:`HeMan`
- Bump zeroconf from 0.74.0 to 0.80.0 :esphomepr:`5260` by :ghuser:`dependabot[bot]`
- Bump click from 8.1.6 to 8.1.7 :esphomepr:`5272` by :ghuser:`dependabot[bot]`
- Remove support for ESP-IDF version < 4 :esphomepr:`5261` by :ghuser:`HeMan`
- Add pmwcs3 capacitive soil moisture & temperature sensor component :esphomepr:`4624` by :ghuser:`SeByDocKy` (new-integration)
- Add manufacturer data config to BLE server :esphomepr:`5251` by :ghuser:`clydebarrow`
- Add support for ESP32-{S2,S3,C3} to debug component :esphomepr:`4731` by :ghuser:`jayme-github`
- Support for ESP32-C2 & ESP32-C6 :esphomepr:`4377` by :ghuser:`vidplace7`
- Bump arduino-heatpumpir to v1.0.23 :esphomepr:`5269` by :ghuser:`rob-deutsch`
- Fix equality check when setting current-based cover position :esphomepr:`5167` by :ghuser:`kroimon`
- Bump platformio from 6.1.9 to 6.1.10 :esphomepr:`5237` by :ghuser:`dependabot[bot]`
- Add Invert method for SSD1306 :esphomepr:`5292` by :ghuser:`max246`
- Update PSRAM config params for IDF4+ :esphomepr:`5298` by :ghuser:`kbx81`
- Fix legacy zeroconf record update method :esphomepr:`5294` by :ghuser:`bdraco`
- Bump zeroconf from 0.80.0 to 0.86.0 :esphomepr:`5308` by :ghuser:`dependabot[bot]`
- Add PSRAM mode and speed config :esphomepr:`5312` by :ghuser:`kbx81`
- Add extra SLPOUT for waking up some ST7789 chips :esphomepr:`5319` by :ghuser:`clydebarrow`
- 7789 controller fixes take 2 :esphomepr:`5320` by :ghuser:`clydebarrow`
- Bump Arduino Pico to 3.4.0 :esphomepr:`5321` by :ghuser:`HeMan`
- Use gzip compression for the web server component's static resources :esphomepr:`5291` by :ghuser:`EternityForest`
- Bump zeroconf from 0.86.0 to 0.88.0 :esphomepr:`5315` by :ghuser:`dependabot[bot]`
- Adding heating coil and fan icons, enum device_class :esphomepr:`5325` by :ghuser:`barndawgie`
- Add dashboard API to get firmware binaries :esphomepr:`4675` by :ghuser:`kuba2k2`
- Make uart error message go away :esphomepr:`5329` by :ghuser:`clydebarrow`
- add heating functionality to SI7021 :esphomepr:`4828` by :ghuser:`max246`
- Bump esphome-dashboard to 20230904.0 :esphomepr:`5339` by :ghuser:`jesserockz`
- Added Handling for Nack "file not found" :esphomepr:`5338` by :ghuser:`croessi`
- Prepare api and time for ESP-IDF >= 5 :esphomepr:`5332` by :ghuser:`HeMan`
- Tweak Improv serial to build in IDF 5 :esphomepr:`5331` by :ghuser:`kbx81`
- Support for LibreTiny platform (RTL8710, BK7231 & other modules) :esphomepr:`3509` by :ghuser:`kuba2k2` (new-integration)
- Extend ESP32 CAN bit rates /bus speed support :esphomepr:`5280` by :ghuser:`mkaiser`
- Debug component: add free PSRAM sensor :esphomepr:`5334` by :ghuser:`kahrendt`
- libretiny: fix uart_port framework config :esphomepr:`5343` by :ghuser:`jesserockz`
- Bump actions/checkout from 3 to 4 :esphomepr:`5341` by :ghuser:`dependabot[bot]`
- Add Lilygo T-Embed to st7789v display config. :esphomepr:`5337` by :ghuser:`clydebarrow`
- Disable IPv6 when config explicitly says false :esphomepr:`5310` by :ghuser:`HeMan`
- Add defines.h to ethernet_component.h for ENABLE_IPV6 :esphomepr:`5344` by :ghuser:`kbx81`
- Synchronise Device Classes from Home Assistant :esphomepr:`5328` by :ghuser:`esphomebot` (breaking-change)
- Bump pytest from 7.4.0 to 7.4.1 :esphomepr:`5342` by :ghuser:`dependabot[bot]`
- Fixed default temperature step values for haier climate :esphomepr:`5330` by :ghuser:`paveldn`
- Add debug component to all tests :esphomepr:`5333` by :ghuser:`HeMan`
- Support MaxBotix XL in addition to HRXL :esphomepr:`4510` by :ghuser:`notjj`
- Adding DFRobot Ozone Sensor Support (sen0321) :esphomepr:`4782` by :ghuser:`notjj` (new-integration)
- mdns: bump IDF mdns component to 1.2.0 :esphomepr:`5217` by :ghuser:`stintel`
- Integration LightwaveRF switches :esphomepr:`4812` by :ghuser:`max246` (new-integration)
- Bump flake8 from 6.0.0 to 6.1.0 :esphomepr:`5171` by :ghuser:`dependabot[bot]`
- Bump tornado from 6.3.2 to 6.3.3 :esphomepr:`5236` by :ghuser:`dependabot[bot]`
- Bump platformio from 6.1.10 to 6.1.11 :esphomepr:`5323` by :ghuser:`dependabot[bot]`
- Only run ci-docker when ci-docker workflow changes :esphomepr:`5347` by :ghuser:`jesserockz`
- esp32: Extra build customization :esphomepr:`5322` by :ghuser:`jesserockz`
- Allow upload command to flash file via serial :esphomepr:`5274` by :ghuser:`jesserockz`
- Allow "--device SERIAL" on cli to flash only via serial :esphomepr:`5351` by :ghuser:`jesserockz`
- Fix PN532 for IDF 5 and ultralight enhancements :esphomepr:`5352` by :ghuser:`kbx81`
- Fix cpu_ll_get_cycle_count() deprecated warning :esphomepr:`5353` by :ghuser:`kbx81`
- Refactor SPI code; Add ESP-IDF hardware support :esphomepr:`5311` by :ghuser:`clydebarrow` (new-integration)
- Bump actions/cache from 3.3.1 to 3.3.2 :esphomepr:`5367` by :ghuser:`dependabot[bot]`
- Bump zeroconf from 0.88.0 to 0.102.0 :esphomepr:`5368` by :ghuser:`dependabot[bot]`
- Fix repeat.count = 0 case :esphomepr:`5364` by :ghuser:`Xmister`
- Fix dashboard download for ESP32 variants :esphomepr:`5355` by :ghuser:`kuba2k2`
- Bump pytest from 7.4.1 to 7.4.2 :esphomepr:`5357` by :ghuser:`dependabot[bot]`
- [ADC] Support measuring VCC on Raspberry Pico (W) :esphomepr:`5335` by :ghuser:`hostcc`
- Move CONF_PHASE_A/B/C constants to const.py. :esphomepr:`5304` by :ghuser:`kpfleming`
- Add BMI160 support :esphomepr:`5143` by :ghuser:`flaviut` (new-integration)
- Use black-pre-commit-mirror to speed up pre-commit runs. :esphomepr:`5372` by :ghuser:`kpfleming`
- Native SPI RGB LED component :esphomepr:`5288` by :ghuser:`clydebarrow` (new-integration)
- Wireguard component :esphomepr:`4256` by :ghuser:`lhoracek` (new-integration)
- Bump LibreTiny version to 1.4.0 :esphomepr:`5375` by :ghuser:`kuba2k2`
- time: Make std::string version of strftime() avoid runaway memory allocations :esphomepr:`5348` by :ghuser:`kpfleming`
- Fix disabled wifi crash on boot :esphomepr:`5370` by :ghuser:`Xmister`
- debug: add ESP32-C6 support :esphomepr:`5354` by :ghuser:`stintel`
- Make string globals persist-able using fixed size allocations :esphomepr:`5296` by :ghuser:`EternityForest`
- Use /data directory for .esphome folder when running as HA add-on :esphomepr:`5374` by :ghuser:`jesserockz` (breaking-change)
- Bump zeroconf from 0.102.0 to 0.108.0 :esphomepr:`5376` by :ghuser:`dependabot[bot]`
- Bump black from 23.7.0 to 23.9.1 :esphomepr:`5377` by :ghuser:`dependabot[bot]`
- Attempt to fix rp2040 adc with vcc :esphomepr:`5378` by :ghuser:`jesserockz`
- Enable IPv6 for ESP8266 and Raspberry pi pico w (RP2040) :esphomepr:`4759` by :ghuser:`HeMan`
- Workflow updates :esphomepr:`5384` by :ghuser:`jesserockz`
- Modbus Controller added some features :esphomepr:`5318` by :ghuser:`0x3333`
- Force heater off on setup :esphomepr:`5161` by :ghuser:`rufuswilson`
- Add IDF 5 test yaml, add adc to IDF tests, fix adc for IDF 5 :esphomepr:`5379` by :ghuser:`kbx81`
- Add patch to apt install :esphomepr:`5389` by :ghuser:`synesthesiam`
- Fix Waveshare 7.5v2 epaper screens are always powered on :esphomepr:`5283` by :ghuser:`phoenixswiss`
- Update radon_eye_listener.cpp :esphomepr:`5401` by :ghuser:`rmmacias`
- Add shelly-dimmer-stm32 51.7 to known versions :esphomepr:`5400` by :ghuser:`trvrnrth`
- Add E-Trailer Gaslevel support to Mopeka Std Check :esphomepr:`5397` by :ghuser:`Phhere`
- fix disabled wifi power on 8266 :esphomepr:`5409` by :ghuser:`ssieb`
- fix handling of web server version :esphomepr:`5405` by :ghuser:`ssieb`
- Climate preset fix :esphomepr:`5407` by :ghuser:`Jorre05`
- Remove Wi-Fi dependency from Midea component :esphomepr:`5394` by :ghuser:`AnthonyMaiorani`
- http_request: Cleanups and safety improvements :esphomepr:`5360` by :ghuser:`kpfleming`
- Make the pulse meter timeout on startup when no pulses are received :esphomepr:`5388` by :ghuser:`TrentHouliston`
- Wizard: fix colored text in input prompts :esphomepr:`5313` by :ghuser:`kuba2k2`
- support keypads with pulldowns :esphomepr:`5404` by :ghuser:`ssieb`
- Fix SPI inverted clock on ESP8266 :esphomepr:`5416` by :ghuser:`clydebarrow`
- [RP2040W] Fix WiFi bootloop upon LibreTiny support :esphomepr:`5414` by :ghuser:`hostcc`
- dallas: limit addresses to 64 bits :esphomepr:`5413` by :ghuser:`oddstr13`
- Bump zeroconf from 0.108.0 to 0.112.0 :esphomepr:`5392` by :ghuser:`dependabot[bot]`
- LibreTiny: enable MQTT, bump to v1.4.1 :esphomepr:`5419` by :ghuser:`kuba2k2`
- Wireguard keepalive remove uint16 type :esphomepr:`5430` by :ghuser:`glmnet`
- Fix #4896 and #4903 :esphomepr:`5433` by :ghuser:`clydebarrow`
Past Changelogs
---------------
- :doc:`2023.8.0`
- :doc:`2023.7.0`
- :doc:`2023.6.0`
- :doc:`2023.5.0`
- :doc:`2023.4.0`
- :doc:`2023.3.0`
- :doc:`2023.2.0`
- :doc:`2022.12.0`
- :doc:`2022.11.0`
- :doc:`2022.10.0`
- :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/2023.8.0.html
:url: /changelog/2023.9.0.html
.. toctree::
:glob:

View File

@ -86,7 +86,7 @@ The TM1637 has a similar API to the fully fledged :ref:`display-engine`, but it'
7-segment displays don't have a concept of individual pixels. In the lambda you're passed a variable called ``it``
as with all other displays. In this case however, ``it`` is a TM1637 instance (see API Reference).
The most basic operation with the TM1637 is wiring a simple number to the screen as in the configuration example
The most basic operation with the TM1637 is writing a simple number to the screen as in the configuration example
at the top of this page. But even though you're passing in a string (here ``"0123"``), ESPHome converts it
into a representation that the TM1637 can understand: The exact pixels that should be turned on. And of course,
not all characters can be represented. You can see a full list of characters :ref:`at the MAX7219 docs <display-max7219_characters>`.

View File

@ -108,7 +108,7 @@ Configuration variables:
.. warning::
The BUSY pin on the gdew0154m09 must be inverted to prevent permanent display damage. Set the pin to
The BUSY pin on the gdew0154m09 and Waveshare 7.50in V2 models must be inverted to prevent permanent display damage. Set the pin to
``inverted: true`` in the config.
- **busy_pin** (*Optional*, :ref:`Pin Schema <config-pin_schema>`): The BUSY pin. Defaults to not connected.

View File

@ -23,7 +23,7 @@ Configuration variables:
choose a generic board from Espressif such as ``esp32dev``.
- **framework** (*Optional*): Options for the underlying framework used by ESPHome.
See :ref:`esp32-arduino_framework` and :ref:`esp32-espidf_framework`.
- **variant** (*Optional*, boolean): The variant of the ESP32 that is used on this board. One of ``esp32``,
- **variant** (*Optional*, string): The variant of the ESP32 that is used on this board. One of ``esp32``,
``esp32s2``, ``esp32s3``, ``esp32c3`` and ``esp32h2``. Defaults to the variant that is detected from the board, if
a board that's unknown to ESPHome is used, this option is mandatory.

View File

@ -106,7 +106,7 @@ on the chipset, ESP platform and pin.
Each of these has their own advantages/disadvantages regarding stability and speed. By default
ESPHome will choose the best one that is available on the device. However, you can override this
by manually supplying the method option.
by manually supplying the ``method`` option.
.. code-block:: yaml

View File

@ -150,6 +150,10 @@ Configuration variables:
kilo watt hours. All options from :ref:`Sensor <config-sensor>`.
- **inverter_module_temp** (*Optional*): Use the inverter module temperature value of the sensor in
degree celsius. All options from :ref:`Sensor <config-sensor>`.
- **update_interval** (*Optional*, :ref:`config-time`): The interval to check the
sensor. Defaults to ``10s``.
- **address** (*Optional*, int): The address of the sensor if multiple sensors are attached to
the same UART bus. You will need to set the address of each device manually. Defaults to ``1``.
See Also
--------

View File

@ -66,7 +66,7 @@ required to be set up in your configuration for this sensor to work.
Configuration variables:
------------------------
- **model** (**Required**, int): Specify which rain sensor you have connected. Must be either ``RG_9`` or ``RG_15``.
- **model** (**Required**, string): Specify which rain sensor you have connected. Must be either ``RG_9`` or ``RG_15``.
- **uart_id** (*Optional*, :ref:`config-id`): Manually specify the ID of the :ref:`UART Component <uart>` if you want
to use multiple UART buses.

View File

@ -262,8 +262,7 @@ degree with a least squares solver.
``clamp``
*********
Limits the value to the range between ``min_value`` and ``max_value``. If ``min_value`` is not set, there is
no lower bound, if ``max_value`` is not set there is no upper bound.
Limits the value to the range between ``min_value`` and ``max_value``. Sensor values outside these bounds will be set to ``min_value`` or ``max_value``, respectively. If ``min_value`` is not set, there is no lower bound, if ``max_value`` is not set there is no upper bound.
Configuration variables:

View File

@ -30,17 +30,17 @@ The :ref:`I²C Bus <i2c>` is required to be set up in your configuration for thi
pm_10_0:
name: "PM10.0"
pmc_0_3:
name: "PMC <0.3µm"
name: "PMC >0.3µm"
pmc_0_5:
name: "PMC <0.5µm"
name: "PMC >0.5µm"
pmc_1_0:
name: "PMC <1µm"
name: "PMC >1µm"
pmc_2_5:
name: "PMC <2.5µm"
name: "PMC >2.5µm"
pmc_5_0:
name: "PMC <5µm"
name: "PMC >5µm"
pmc_10_0:
name: "PMC <10µm"
name: "PMC >10µm"
Configuration variables:
------------------------

View File

@ -1,7 +1,7 @@
Share data directly between ESPHome nodes
=========================================
In certain special cases it might be desired to avoid placing any middleware like an MQTT or a home automation server just to transfer small bits of data from one node to another. Direct data polling is possibvle using HTTP, but beware that the involved components are resource hungry and may be less stable on long term. The webserver embedded in the node is not designed to constantly serve a large amount of requests.
In certain special cases it might be desired to avoid placing any middleware like an MQTT or a home automation server just to transfer small bits of data from one node to another. Direct data polling is possible using HTTP, but beware that the involved components are resource hungry and may be less stable on long term. The webserver embedded in the node is not designed to constantly serve a large amount of requests.
The primary node holding the data we need to retrieve from will be the server, and the others polling for it will be the clients (can be multiple).

View File

@ -67,7 +67,7 @@ Native API Custom Component
---------------------------
If you want to communicate directly with Home Assistant via the :doc:`native API </components/api>`
you can use the :apiclass:`CustomAPIDevice` class to declare services that can be executed from
you can use the :apiclass:`api::CustomAPIDevice` class to declare services that can be executed from
Home Assistant, as well as starting services in Home Assistant.
.. code-block:: cpp

View File

@ -90,6 +90,7 @@ Custom Components & Code
- `Winsen ZE08-CH2O (Formaldehyde sensor) custom component <https://gist.github.com/cretep/f96606dc6a4eae0d85993d6085959220>`__ by :ghuser:`cretep`
- `ZclMqttBridge custom component <https://github.com/HyperReap/zcl_mqtt_bridge>`__ by :ghuser:`HyperReap`
- `Custom esp32 media player and notifier <https://www.printables.com/model/327708-esphome-nodemcu-esp32-media-player>`__ by :ghuser:`rananna`
- `Blauberg recuperator S22 controller replacement <https://github.com/Benas09/Blauberg_S22>`__ by :ghuser:`Benas09`
Sample Configurations
---------------------

View File

@ -82,7 +82,7 @@ in ``/config/esphome/garage-door.yaml``.
command line is not very straightforward, but it's possible. To do that,
install Home Assistant's SSH addon, configure a username and a password,
and disable `Protection Mode` (please assess the risks you take with that).
Then, for example to access the logs form a device through an SSH client,
Then, for example to access the logs from a device through an SSH client,
log in, and you can use a command like
`docker exec -it addon_15ef4d2f_esphome esphome logs /config/esphome/garage-door.yaml`.
See :doc:`getting_started_command_line` for more.

View File

@ -19,6 +19,7 @@ Contributors
- `007hacky007 (@007hacky007) <https://github.com/007hacky007>`__
- `0hax (@0hax) <https://github.com/0hax>`__
- `0x0a11c0de (@0x0a11c0de) <https://github.com/0x0a11c0de>`__
- `Tercio Filho (@0x3333) <https://github.com/0x3333>`__
- `Denis Bodor (aka Lefinnois) (@0xDRRB) <https://github.com/0xDRRB>`__
- `2016for (@2016for) <https://github.com/2016for>`__
- `2mikrobi (@2mikrobi) <https://github.com/2mikrobi>`__
@ -95,6 +96,7 @@ Contributors
- `Sergey Anisimov (@anisimovsergey) <https://github.com/anisimovsergey>`__
- `Nikolay Vasilchuk (@Anonym-tsk) <https://github.com/Anonym-tsk>`__
- `Anthony Keane (@anthonykeane) <https://github.com/anthonykeane>`__
- `Anthony (@AnthonyMaiorani) <https://github.com/AnthonyMaiorani>`__
- `Rémi K. (@antibill51) <https://github.com/antibill51>`__
- `Antonio Fiol (@antonio-fiol) <https://github.com/antonio-fiol>`__
- `Adriaan Peeters (@apeeters) <https://github.com/apeeters>`__
@ -147,6 +149,7 @@ Contributors
- `Bella Coola (@BellaCoola) <https://github.com/BellaCoola>`__
- `Pierre (@bemble) <https://github.com/bemble>`__
- `Ben-Schwabe (@Ben-Schwabe) <https://github.com/Ben-Schwabe>`__
- `Benas09 (@Benas09) <https://github.com/Benas09>`__
- `Ben Hoff (@benhoff) <https://github.com/benhoff>`__
- `Benjamin Aigner (@benjaminaigner) <https://github.com/benjaminaigner>`__
- `Benno Pütz (@bennop) <https://github.com/bennop>`__
@ -167,6 +170,7 @@ Contributors
- `Bill Church (@billchurch) <https://github.com/billchurch>`__
- `Brian Kaufman (@bkaufx) <https://github.com/bkaufx>`__
- `JDavid (@blackhack) <https://github.com/blackhack>`__
- `blackshoals (@blackshoals) <https://github.com/blackshoals>`__
- `blacktirion (@blacktirion) <https://github.com/blacktirion>`__
- `blakadder (@blakadder) <https://github.com/blakadder>`__
- `Branimir Lambov (@blambov) <https://github.com/blambov>`__
@ -224,6 +228,7 @@ Contributors
- `Carlos Cordero (@ccorderor) <https://github.com/ccorderor>`__
- `cdmonk (@cdmonk) <https://github.com/cdmonk>`__
- `ceaswaran (@ceaswaran) <https://github.com/ceaswaran>`__
- `Xavi (@Cebeerre) <https://github.com/Cebeerre>`__
- `Cellie (@CelliesProjects) <https://github.com/CelliesProjects>`__
- `Jeppe H. (@cenobitedk) <https://github.com/cenobitedk>`__
- `Chris Feenstra (@cfeenstra1024) <https://github.com/cfeenstra1024>`__
@ -280,6 +285,7 @@ Contributors
- `d-rez (@d-rez) <https://github.com/d-rez>`__
- `Dale Higgs (@dale3h) <https://github.com/dale3h>`__
- `damanti-me (@damanti-me) <https://github.com/damanti-me>`__
- `Justin Grover (@dancingcactus) <https://github.com/dancingcactus>`__
- `Dan C Williams (@dancwilliams) <https://github.com/dancwilliams>`__
- `Daniel Bjørnbakk (@danibjor) <https://github.com/danibjor>`__
- `Daniel Kucera (@danielkucera) <https://github.com/danielkucera>`__
@ -324,6 +330,7 @@ Contributors
- `denes44 (@denes44) <https://github.com/denes44>`__
- `Dennis (@dennisvbussel) <https://github.com/dennisvbussel>`__
- `dentra (@dentra) <https://github.com/dentra>`__
- `depasseg (@depasseg) <https://github.com/depasseg>`__
- `Davide Depau (@depau) <https://github.com/depau>`__
- `dependabot[bot] (@dependabot[bot]) <https://github.com/dependabot[bot]>`__
- `Joeri Colman (@depuits) <https://github.com/depuits>`__
@ -354,7 +361,6 @@ Contributors
- `Dominik (@DomiStyle) <https://github.com/DomiStyle>`__
- `Derek M. (@doolbneerg) <https://github.com/doolbneerg>`__
- `Dorian Zedler (@dorianim) <https://github.com/dorianim>`__
- `Mark Dietzer (@Doridian) <https://github.com/Doridian>`__
- `Sebastian Krzyszkowiak (@dos1) <https://github.com/dos1>`__
- `Jiang Sheng (@doskoi) <https://github.com/doskoi>`__
- `Artem Sheremet (@dotdoom) <https://github.com/dotdoom>`__
@ -495,6 +501,7 @@ Contributors
- `Germain Masse (@gmasse) <https://github.com/gmasse>`__
- `Garret Buell (@gmbuell) <https://github.com/gmbuell>`__
- `Jelle Raaijmakers (@gmta) <https://github.com/gmta>`__
- `gnicolasb (@gnicolasb) <https://github.com/gnicolasb>`__
- `Go0oSer (@Go0oSer) <https://github.com/Go0oSer>`__
- `Dario Gogliandolo (@godario) <https://github.com/godario>`__
- `Gonzalo Paniagua Javier (@gonzalop) <https://github.com/gonzalop>`__
@ -506,12 +513,12 @@ Contributors
- `Greg Arnold (@GregJArnold) <https://github.com/GregJArnold>`__
- `Greg MacLellan (@gregmac) <https://github.com/gregmac>`__
- `Gil Peeters (@grillp) <https://github.com/grillp>`__
- `Guillaume Rischard (@grischard) <https://github.com/grischard>`__
- `George (@grob6000) <https://github.com/grob6000>`__
- `groovejumper (@groovejumper) <https://github.com/groovejumper>`__
- `gsexton (@gsexton) <https://github.com/gsexton>`__
- `Gabriel Sieben (@gsieben) <https://github.com/gsieben>`__
- `Jadson Santos (@gtjadsonsantos) <https://github.com/gtjadsonsantos>`__
- `guardmedia (@guardmedia) <https://github.com/guardmedia>`__
- `Guillaume DELVIT (@guiguid) <https://github.com/guiguid>`__
- `guillempages (@guillempages) <https://github.com/guillempages>`__
- `Guyohms (@Guyohms) <https://github.com/Guyohms>`__
@ -538,7 +545,10 @@ Contributors
- `Hermann Kraus (@herm) <https://github.com/herm>`__
- `Herr Frei (@herrfrei) <https://github.com/herrfrei>`__
- `highground88 (@highground88) <https://github.com/highground88>`__
- `hindenbugbite (@hindenbugbite) <https://github.com/hindenbugbite>`__
- `Henrik Fransson (@hmfhmf) <https://github.com/hmfhmf>`__
- `Hamish Moffatt (@hmoffatt) <https://github.com/hmoffatt>`__
- `Hobby Components (@HobbyComponents) <https://github.com/HobbyComponents>`__
- `Marcel Hoppe (@hobbypunk90) <https://github.com/hobbypunk90>`__
- `Hopperpop (@Hopperpop) <https://github.com/Hopperpop>`__
- `Ilia Sotnikov (@hostcc) <https://github.com/hostcc>`__
@ -640,8 +650,6 @@ Contributors
- `jmichiel (@jmichiel) <https://github.com/jmichiel>`__
- `JMoratelli (@JMoratelli) <https://github.com/JMoratelli>`__
- `Jonathas Barbosa (@jnthas) <https://github.com/jnthas>`__
- `Joe Gross (@joegross) <https://github.com/joegross>`__
- `Johan van der Kuijl (@johanvanderkuijl) <https://github.com/johanvanderkuijl>`__
- `Johboh (@Johboh) <https://github.com/Johboh>`__
- `John Britton (@johndbritton) <https://github.com/johndbritton>`__
- `John Erik Halse (@johnerikhalse) <https://github.com/johnerikhalse>`__
@ -675,6 +683,7 @@ Contributors
- `kaegi (@kaegi) <https://github.com/kaegi>`__
- `kahrendt (@kahrendt) <https://github.com/kahrendt>`__
- `Kamahat (@kamahat) <https://github.com/kamahat>`__
- `Kapil Yedidi (@kapily) <https://github.com/kapily>`__
- `Karl0ss (@karl0ss) <https://github.com/karl0ss>`__
- `Kattni (@kattni) <https://github.com/kattni>`__
- `Krzysztof Białek (@kbialek) <https://github.com/kbialek>`__
@ -777,10 +786,8 @@ Contributors
- `Ben Marengo (@marengaz) <https://github.com/marengaz>`__
- `Marvin Gaube (@margau) <https://github.com/margau>`__
- `maringeph (@maringeph) <https://github.com/maringeph>`__
- `Mario (@mario-tux) <https://github.com/mario-tux>`__
- `Mark Hildreth (@markhildreth) <https://github.com/markhildreth>`__
- `Mark Schabacker (@markschabacker) <https://github.com/markschabacker>`__
- `Marek Marczykowski-Górecki (@marmarek) <https://github.com/marmarek>`__
- `marshn (@marshn) <https://github.com/marshn>`__
- `marsjan155 (@marsjan155) <https://github.com/marsjan155>`__
- `Martin (@martgras) <https://github.com/martgras>`__
@ -876,7 +883,6 @@ Contributors
- `Nicky Ivy (@nickyivyca) <https://github.com/nickyivyca>`__
- `NP v/d Spek (@nielsnl68) <https://github.com/nielsnl68>`__
- `Niels Zeilemaker (@NielsZeilemaker) <https://github.com/NielsZeilemaker>`__
- `Joakim Vindgard (@nigobo) <https://github.com/nigobo>`__
- `nikito7 (@nikito7) <https://github.com/nikito7>`__
- `niklasweber (@niklasweber) <https://github.com/niklasweber>`__
- `Zvonimir Haramustek (@nitko12) <https://github.com/nitko12>`__
@ -950,7 +956,6 @@ Contributors
- `Peter Kuehne (@pkuehne) <https://github.com/pkuehne>`__
- `Plácido Revilla (@placidorevilla) <https://github.com/placidorevilla>`__
- `PlainTechEnthusiast (@PlainTechEnthusiast) <https://github.com/PlainTechEnthusiast>`__
- `Marcus Kempe (@plopp) <https://github.com/plopp>`__
- `Jan Pluskal (@pluskal) <https://github.com/pluskal>`__
- `DK (@poldim) <https://github.com/poldim>`__
- `poloswiss (@poloswiss) <https://github.com/poloswiss>`__
@ -972,7 +977,6 @@ Contributors
- `Quinn Casey (@qcasey) <https://github.com/qcasey>`__
- `Tommy Jonsson (@quazzie) <https://github.com/quazzie>`__
- `Quentin Smith (@quentinmit) <https://github.com/quentinmit>`__
- `Johannes Rebling (@r0oland) <https://github.com/r0oland>`__
- `Richard Kuhnt (@r15ch13) <https://github.com/r15ch13>`__
- `Richard Miles (@r89m) <https://github.com/r89m>`__
- `Aaron Zhang (@rabbit-aaron) <https://github.com/rabbit-aaron>`__
@ -988,7 +992,6 @@ Contributors
- `reddn (@reddn) <https://github.com/reddn>`__
- `redlukas (@redlukas) <https://github.com/redlukas>`__
- `Alex (@redwngsrul) <https://github.com/redwngsrul>`__
- `Refferic (@Refferic) <https://github.com/Refferic>`__
- `Regev Brody (@regevbr) <https://github.com/regevbr>`__
- `Rei Vilo (@rei-vilo) <https://github.com/rei-vilo>`__
- `Alex Reid (@reidprojects) <https://github.com/reidprojects>`__
@ -1117,6 +1120,7 @@ Contributors
- `testbughub (@testbughub) <https://github.com/testbughub>`__
- `Greg Lincoln (@tetious) <https://github.com/tetious>`__
- `Terry Hardie (@thardie) <https://github.com/thardie>`__
- `Michael Jahn (@thatSecOpsGuy) <https://github.com/thatSecOpsGuy>`__
- `thatslolo (@thatslolo) <https://github.com/thatslolo>`__
- `The-Paran0id-Andr0id (@The-Paran0id-Andr0id) <https://github.com/The-Paran0id-Andr0id>`__
- `Thomas Eckerstorfer (@TheEggi) <https://github.com/TheEggi>`__
@ -1128,6 +1132,7 @@ Contributors
- `Bart (@TheNameIsBart) <https://github.com/TheNameIsBart>`__
- `Zixuan Wang (@TheNetAdmin) <https://github.com/TheNetAdmin>`__
- `Dominik Bruhn (@theomega) <https://github.com/theomega>`__
- `Alan Lord (@theopensourcerer) <https://github.com/theopensourcerer>`__
- `Brian Levinsen (@therealeldaria) <https://github.com/therealeldaria>`__
- `Steve Scott (@thewishy) <https://github.com/thewishy>`__
- `Florian Gareis (@TheZoker) <https://github.com/TheZoker>`__
@ -1205,6 +1210,7 @@ Contributors
- `Wauter (@Wauter) <https://github.com/Wauter>`__
- `WeekendWarrior1 (@WeekendWarrior1) <https://github.com/WeekendWarrior1>`__
- `Ian Wells (@wellsi) <https://github.com/wellsi>`__
- `Andrew Garrett (@werdnum) <https://github.com/werdnum>`__
- `whimsee (@whimsee) <https://github.com/whimsee>`__
- `wifwucite (@wifwucite) <https://github.com/wifwucite>`__
- `wilberforce (@wilberforce) <https://github.com/wilberforce>`__
@ -1218,10 +1224,10 @@ Contributors
- `workingmanrob (@workingmanrob) <https://github.com/workingmanrob>`__
- `Sven Serlier (@wrt54g) <https://github.com/wrt54g>`__
- `Wolfgang Tremmel (@wtremmel) <https://github.com/wtremmel>`__
- `Wvirgil123 (@Wvirgil123) <https://github.com/Wvirgil123>`__
- `wysiwyng (@wysiwyng) <https://github.com/wysiwyng>`__
- `Jakob (@XDjackieXD) <https://github.com/XDjackieXD>`__
- `Mike Brown (@xenoxaos) <https://github.com/xenoxaos>`__
- `Péter Sárközi (@Xmister) <https://github.com/Xmister>`__
- `Xose Pérez (@xoseperez) <https://github.com/xoseperez>`__
- `WitchKing (@xvil) <https://github.com/xvil>`__
- `Andrew Kroll (@xxxajk) <https://github.com/xxxajk>`__
@ -1240,4 +1246,4 @@ Contributors
- `Zsolt Zsiros (@ZsZs73) <https://github.com/ZsZs73>`__
- `Christian Zufferey (@zuzu59) <https://github.com/zuzu59>`__
*This page was last updated September 6, 2023.*
*This page was last updated September 27, 2023.*