Skip to content

Commit

Permalink
Merge branch 'next' into bakerkj/add-npi19-sensor-support
Browse files Browse the repository at this point in the history
  • Loading branch information
bakerkj authored Oct 4, 2024
2 parents a2dbd35 + df96b67 commit 6493334
Show file tree
Hide file tree
Showing 101 changed files with 703 additions and 190 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
repo: cloudcannon/pagefind
-
name: Checkout source code
uses: actions/checkout@v4.1.7
uses: actions/checkout@v4.2.0
-
name: Set up QEMU
uses: docker/setup-qemu-action@v3
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:
uses: jaxxstorm/action-install-gh-release@v1.12.0
with:
repo: cloudcannon/pagefind
- uses: actions/checkout@v4.1.7
- uses: actions/checkout@v4.2.0
- name: Set up Python 3.8
uses: actions/setup-python@v5
with:
Expand Down
2 changes: 1 addition & 1 deletion Doxygen
Original file line number Diff line number Diff line change
Expand Up @@ -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 = 2024.9.0b3
PROJECT_NUMBER = 2024.9.2

# 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
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
ESPHOME_PATH = ../esphome
ESPHOME_REF = 2024.9.0b3
ESPHOME_REF = 2024.9.2
PAGEFIND_VERSION=1.1.0
PAGEFIND=pagefind
NET_PAGEFIND=../pagefindbin/pagefind
Expand Down
2 changes: 1 addition & 1 deletion _static/version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
2024.9.0b3
2024.9.2
2 changes: 1 addition & 1 deletion changelog/2023.11.0.rst
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ ESPHome 2023.11.0 - 15th November 2023
ZH/LT-01 Climate, components/climate/climate_ir, air-conditioner-ir.svg, dark-invert

EMC2101, components/emc2101, emc2101.jpg
MicroNova pellet stove, components/micronova, pellet.svg
MicroNova pellet stove, components/micronova, micronova.svg
XGZP68xx Series, components/sensor/xgzp68xx, 6897d.jpg

Text Components
Expand Down
49 changes: 49 additions & 0 deletions changelog/2024.9.0.rst
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,49 @@ ESPHome 2024.9.0 - 18th September 2024
BMP280 SPI, components/sensor/bmp280, bmp280.jpg
LTR501 & LTR301 & LTR558, components/sensor/ltr501, ltr501.jpg

UDP & StatsD Components
-----------------------

This release brings two new data driven components to ESPHome.

The first is the :doc:`UDP Component </components/udp>` which allows direct communication between ESPHome
devices over the local network. To start off, only sensor and binary sensor data can be transmitted, and
hopefully more entity types will be supported in the future.

Next is the :doc:`StatsD Component </components/statsd>` which allows you to send sensor data
directly to a statsd server for monitoring.


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

There are a few breaking changes this release that will require changes in YAML if you are
using the affected components. Please make sure to check the list below for details about each one.
The documentation is always the best place to find the most up-to-date information on configuration for
any given component found in ESPHome.


Thank you for your support
--------------------------

Did you know that Jesse and Keith both are employed at `Nabu Casa <https://nabucasa.com/>`__ to work full-time on ESPHome?
Yep, that's possible thanks to everyone who subscribes to Home Assistant Cloud. Thank you!


Release 2024.9.1 - September 23
-------------------------------

- Copy active wake words to message :esphomepr:`7481` by :ghuser:`synesthesiam`


Release 2024.9.2 - October 1
----------------------------

- fix bl0906 reset energy action :esphomepr:`7488` by :ghuser:`ssieb`
- [config_validation] Fix bug with extras on schemas :esphomepr:`7497` by :ghuser:`jesserockz`
- Prevent rp2040 randomly breaking the build :esphomepr:`7507` by :ghuser:`nkinnan`
- [rp2040] Always use maxgerhardt platform fork :esphomepr:`7514` by :ghuser:`jesserockz`


Full list of changes
--------------------
Expand Down Expand Up @@ -46,6 +89,9 @@ Beta Changes
- Improve manufacturer data tracing to identify BLE devices a bit easie… :esphomepr:`7332` by :ghuser:`tomer-w`
- Add sample_bytes to media player supported format :esphomepr:`7451` by :ghuser:`synesthesiam`
- [docker] Bump git from 1:2.39.2-1.1 to 1:2.39.5-0+deb12u1 :esphomepr:`7452` by :ghuser:`jesserockz`
- Add voice assistant configuration messages :esphomepr:`7445` by :ghuser:`synesthesiam`
- Dont replace project name spaces with underlines :esphomepr:`7455` by :ghuser:`jesserockz`
- Add voice assistant methods for configuration :esphomepr:`7459` by :ghuser:`synesthesiam`

All changes
^^^^^^^^^^^
Expand Down Expand Up @@ -139,6 +185,9 @@ All changes
- Improve manufacturer data tracing to identify BLE devices a bit easie… :esphomepr:`7332` by :ghuser:`tomer-w`
- Add sample_bytes to media player supported format :esphomepr:`7451` by :ghuser:`synesthesiam`
- [docker] Bump git from 1:2.39.2-1.1 to 1:2.39.5-0+deb12u1 :esphomepr:`7452` by :ghuser:`jesserockz`
- Add voice assistant configuration messages :esphomepr:`7445` by :ghuser:`synesthesiam`
- Dont replace project name spaces with underlines :esphomepr:`7455` by :ghuser:`jesserockz`
- Add voice assistant methods for configuration :esphomepr:`7459` by :ghuser:`synesthesiam`

Past Changelogs
---------------
Expand Down
2 changes: 1 addition & 1 deletion components/binary_sensor/gpio.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ GPIO Binary Sensor

.. seo::
:description: Instructions for setting up GPIO binary sensors with ESPHome.
:image: pin.svg
:image: gpio.svg

The GPIO Binary Sensor platform allows you to use any input pin on your
device as a binary sensor.
Expand Down
6 changes: 6 additions & 0 deletions components/binary_sensor/homeassistant.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,12 @@ Home Assistant Binary Sensor
The ``homeassistant`` binary sensor platform allows you to create binary sensors that **import**
states from your Home Assistant instance using the :doc:`native API </components/api>`.

.. note::

Although you might not plan to *export* states from the node and you do not need an entity of the node
in Home Assistant, this component still requires you to register the node under Home Assistant. See:
:ref:`connecting-your-device-to-home-assistant`.

.. code-block:: yaml
# Example configuration entry
Expand Down
25 changes: 12 additions & 13 deletions components/ch422g.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,22 +7,23 @@ CH422G I/O Expander


The CH422G component allows you to use the **CH422G** I/O expander in ESPHome.
It uses an :ref:`I²C Bus <i2c>` for communication.
It uses an :ref:`I²C Bus <i2c>` for communication. The I²C address is not configurable as the CH422G has a separate address for each internal register.

Once configured, you can use any of the 8 available GPIO pins for your projects.
Once configured, you can use any of the 12 available GPIO pins in many places a GPIO pin is required.
Within ESPHome they can be used in place of internal GPIO pins in many of ESPHome's components such as the GPIO Binary Sensor or GPIO Switch. They are not usable for PWM or other situations requiring an internal GPIO pin.

Pins 0-7 correspond to the bidirectional I/O (segment) pins on the CH422G. Pins 8-11 correspond to the OC (digit) output pins 0-3.

.. note::

This I/O Expander chip is used in the *Waveshare ESP32-S3-Touch-LCD-4.3*
This I/O Expander chip is used in several Waveshare ESP32-S3 display boards.

.. code-block:: yaml
# Example configuration entry
ch422g:
- id: ch422g_hub
address: 0x24
# Individual outputs
switch:
- platform: gpio
Expand All @@ -39,21 +40,19 @@ Configuration variables:
************************

- **id** (**Required**, :ref:`config-id`): The id to use for this ``ch422g`` component.
- **address** (*Optional*, int): The I²C address of the driver.
Defaults to ``0x24``.
- **restore_value** (*Optional*, boolean): Writes default flags on setup, overriding values from chips cache.
Defaults to ``false``.



Pin configuration variables:
****************************

- **ch422g** (**Required**, :ref:`config-id`): The id of the ``ch422g`` component of the pin.
- **number** (**Required**, int): The pin number. Valid numbers are 0-7.
- **inverted** (*Optional*, boolean): If all read and written values
should be treated as inverted. Defaults to ``false``.
- **mode** (*Optional*, string): A pin mode to set the pin at. One of ``INPUT`` or ``OUTPUT``.
- **number** (**Required**, int): The pin number. Valid numbers are 0-11.
- **inverted** (*Optional*, boolean): If the pin state should be inverted. Defaults to ``false``.
- **mode** (*Optional*, string): A pin mode to set the pin at. One of ``INPUT`` or ``OUTPUT``, or ``OUTPUT_OPEN_DRAIN``.


Open drain mode is supported only on pins 8-11. Input is supported only on pins 0-7.


See Also
Expand Down
9 changes: 4 additions & 5 deletions components/climate/haier.rst
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ Newer Haier models using a module called ESP32-for-Haier. It is an ESP32 single-

Also, you can use any other ESP32, ESP8266, or an RPI pico W board. In this case, you will need to cut the original wire or make a connector yourself (the board has a JST SM04B-GHS-TB connector)

This component requires a :ref:`uart` to be setup.
This component requires a :ref:`UART bus <uart>` to be setup.

.. code-block:: yaml
Expand All @@ -65,7 +65,6 @@ This component requires a :ref:`uart` to be setup.
name: Haier AC
uart_id: ac_port
wifi_signal: true
beeper: true
display: true
visual:
min_temperature: 16 °C
Expand All @@ -85,7 +84,6 @@ This component requires a :ref:`uart` to be setup.
- BOTH
supported_presets:
- AWAY
- ECO
- BOOST
- SLEEP
on_alarm_start:
Expand Down Expand Up @@ -124,7 +122,7 @@ Configuration variables:
- **beeper** (*Optional*, boolean): Can be used to disable beeping on commands from AC. Supported only by hOn protocol.
- **supported_modes** (*Optional*, list): Can be used to disable some of AC modes. Possible values: ``'OFF'``, ``HEAT_COOL``, ``COOL``, ``HEAT``, ``DRY``, ``FAN_ONLY``.
- **supported_swing_modes** (*Optional*, list): Can be used to disable some swing modes if your AC does not support it. Possible values: ``'OFF'``, ``VERTICAL``, ``HORIZONTAL``, ``BOTH``.
- **supported_presets** (*Optional*, list): Can be used to disable some presets. Possible values for smartair2 are: ``AWAY``, ``BOOST``, ``COMFORT``. Possible values for hOn are: ``AWAY``, ``ECO``, ``BOOST``, ``SLEEP``. ``AWAY`` preset can be enabled only in ``HEAT`` mode, it is disabled by default.
- **supported_presets** (*Optional*, list): Can be used to disable some presets. Possible values for smartair2 are: ``AWAY``, ``BOOST``, ``COMFORT``. Possible values for hOn are: ``AWAY``, ``BOOST``, ``SLEEP``. ``AWAY`` preset can be enabled only in ``HEAT`` mode, it is disabled by default.
- **on_alarm_start** (*Optional*, :ref:`Automation <automation>`): (supported only by hOn) Automation to perform when AC activates a new alarm. See :ref:`haier-on_alarm_start`.
- **on_alarm_end** (*Optional*, :ref:`Automation <automation>`): (supported only by hOn) Automation to perform when AC deactivates a new alarm. See :ref:`haier-on_alarm_end`.
- **on_status_message** (*Optional*, :ref:`Automation <automation>`): Automation to perform when status message received from AC. See :ref:`haier-on_status_message`.
Expand Down Expand Up @@ -343,6 +341,7 @@ See Also
- :doc:`Haier Climate Binary Sensors </components/binary_sensor/haier>`
- :doc:`Haier Climate Text Sensors </components/text_sensor/haier>`
- :doc:`Haier Climate Buttons </components/button/haier>`
- :doc:`Haier Climate Switches </components/switch/haier>`
- :doc:`/components/climate/index`
- :apiref:`haier/climate/haier.h`
- :apiref:`haier/climate/haier_base.h`
- :ghedit:`Edit`
6 changes: 3 additions & 3 deletions components/datetime/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,8 @@ Configuration variables:
See https://developers.home-assistant.io/docs/core/entity/#generic-properties
for a list of available options.
Set to ``""`` to remove the default entity category.
- **time_id** (**Required**, :ref:`config-id`): The ID of the time entity. Automatically set
to the ID of a time component if only a single one is defined.
- **time_id** (**Optional**, :ref:`config-id`): The ID of the time entity. Automatically set
to the ID of a time component if only a single one is defined. Required if ``on_time`` is used.
- If Webserver enabled, ``web_server_sorting_weight`` can be set. See :ref:`Webserver Entity Sorting <config-webserver-sorting>`.

MQTT Options:
Expand All @@ -59,7 +59,7 @@ MQTT Options:
Time and DateTime Options:

- **on_time** (*Optional*, :ref:`automation`): Automation to run when the current datetime or time matches the current state.
Only valid on ``time`` or ``datetime`` types.
Only valid on ``time`` or ``datetime`` types. Use of ``on_time`` causes ``time_id`` to be required, ``time_id`` will be automatically assigned if a time source exists in the config, and will cause an invalid configuration if there is no :doc:`/components/time/index` configured.

Automation
----------
Expand Down
18 changes: 11 additions & 7 deletions components/display/ili9xxx.rst
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,8 @@ beyond the basic SPI connections, and a reasonable amount of RAM, it is not well
Configuration variables:
************************

All :ref:`graphical display configuration<display-configuration>` options are available, plus the following.

- **model** (**Required**): The model of the display. Options are:

- ``M5STACK``, ``TFT 2.4``, ``TFT 2.4R``, ``S3BOX``, ``S3BOX_LITE``, ``WSPICOLCD``
Expand All @@ -78,13 +80,15 @@ Configuration variables:

- **dc_pin** (**Required**, :ref:`Pin Schema <config-pin_schema>`): The DC pin.
- **reset_pin** (*Optional*, :ref:`Pin Schema <config-pin_schema>`): The RESET pin.
- **lambda** (*Optional*, :ref:`lambda <config-lambda>`): The lambda to use for rendering the content on the display.
See :ref:`display-engine` for more information.
- **update_interval** (*Optional*, :ref:`config-time`): The interval to re-draw the screen. Defaults to ``5s``.
- **auto_clear_enabled** (*Optional*, boolean): Whether to automatically clear the display in each loop (''true'', default),
or to keep the existing display content (must overwrite explicitly, e.g., only on data change).
- **pages** (*Optional*, list): Show pages instead of a single lambda. See :ref:`display-pages`.
- **id** (*Optional*, :ref:`config-id`): Manually specify the ID used for code generation.
- **cs_pin** (*Optional*, :ref:`Pin Schema <config-pin_schema>`): The CS pin.


.. note::

A DC pin is always required, the CS pin and RESET pin will only be needed if the specific board has those
pins wired to GPIOs.


- **color_palette** (*Optional*): The type of color pallet that will be used in the ESP's internal 8-bits-per-pixel buffer. This can be used to improve color depth quality of the image. For example if you know that the display will only be showing grayscale images, the clarity of the display can be improved by targeting the available colors to monochrome only. Options are:

- ``NONE`` (default)
Expand Down
25 changes: 22 additions & 3 deletions components/display/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,34 @@ engine. Fundamentally, there are these types of displays:
- Character displays like :doc:`7-Segment displays <max7219>` or
:doc:`LCD displays <lcd_display>`.
- Serial displays like :doc:`nextion` that have their own processors for graphics rendering.
- Graphical binary displays which can toggle ON/OFF any pixel, like :doc:`E-Paper <waveshare_epaper>`,

- Graphical displays with fully addressable pixels, like :doc:`E-Paper <waveshare_epaper>`,
:doc:`OLED <ssd1306>` or :doc:`TFT <ili9xxx>` displays.

For graphical displays, which offer the greatest flexibility, there are two options:
For graphical displays, which offer the greatest flexibility, there are two options for displaying content:

- ESPHome's :ref:`own rendering engine <display-engine>`
- :doc:`LVGL </components/lvgl/index>` - Light and Versatile Graphics Library

.. _display-configuration:

Configuration variables:
************************

All display components inherit these configuration variables.

- **id** (*Optional*, :ref:`config-id`): Manually specify the ID used for code generation. Required if there are multiple displays.
- **update_interval** (*Optional*, :ref:`config-time`): The interval to re-draw the screen. Defaults to ``1s``.
- **lambda** (*Optional*, :ref:`lambda <config-lambda>`): The lambda to use for rendering the content on the display.
See :ref:`display-engine` for more information.

All *graphical* displays also inherit these configuration variables.

- **auto_clear_enabled** (*Optional*, boolean): If the display should be cleared before each update. Defaults to ``true``.
- **show_test_card** (*Optional*, boolean): If the display should show a test card. Defaults to ``false``. If set, any code in the ``lambda`` config option will be ignored.
- **rotation** (*Optional*, integer): The rotation of the display in degrees, one of 0, 90, 180 or 270. Defaults to ``0``.
- **pages** (*Optional*, list): Pages configuration - see below.


.. _display-engine:

Display Rendering Engine
Expand Down
Loading

0 comments on commit 6493334

Please sign in to comment.