Merge branch 'next' into ltr303

This commit is contained in:
Anton Viktorov 2024-04-29 10:01:04 +02:00 committed by GitHub
commit 9fb29b7167
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
37 changed files with 1030 additions and 313 deletions

View File

@ -16,6 +16,7 @@
<link rel="icon" type="image/png" sizes="16x16" href="/_static/favicon-16x16.png">
<link rel="manifest" href="/_static/site.webmanifest">
<link rel="mask-icon" href="/_static/safari-pinned-tab.svg" color="#646464">
<link rel="me" href="https://fosstodon.org/@esphome">
<meta name="apple-mobile-web-app-title" content="ESPHome">
<meta name="application-name" content="ESPHome">
<meta name="msapplication-TileColor" content="#dfdfdf">

View File

@ -14,7 +14,7 @@ ESPHome 2023.12.0 - 20th December 2023
GT911, components/touchscreen/gt911, esp32_s3_box_3.png
Pylontech Batteries, components/pylontech, pylontech.jpg
HE60R Cover, components/cover/he60r, he60r.jpg
Graphical Display Menu, components/display_menu/graphical_display_menu, graphical_display_menu.jpg
Graphical Display Menu, components/display_menu/graphical_display_menu, graphical_display_menu.png
FT63X6, components/touchscreen/ft63x6, wt32-sc01.png
A02YYUW, components/sensor/a02yyuw, a02yyuw.jpg
PN7150, components/binary_sensor/pn7150, pn7150.jpg

View File

@ -34,7 +34,6 @@ Configuration variables:
- **entity_id** (**Required**, string): The entity ID to import from Home Assistant.
- **attribute** (*Optional*, string): The name of the state attribute to import from the
specified entity. The entity state is used when this option is omitted.
Requires Home Assistant 2021.6 or newer.
- **id** (*Optional*, :ref:`config-id`): Manually specify the ID used for code generation.
- All other options from :ref:`Binary Sensor <config-binary_sensor>`.

View File

@ -66,12 +66,12 @@ Advanced options:
a ``name`` will implicitly set this to true.
- **disabled_by_default** (*Optional*, boolean): If true, then this entity should not be added to any client's frontend,
(usually Home Assistant) without the user manually enabling it (via the Home Assistant UI).
Requires Home Assistant 2021.9 or newer. Defaults to ``false``.
Defaults to ``false``.
- **publish_initial_state** (*Optional*, boolean): If true, then the sensor will publish its initial state at boot or when
HA first connects, depending on the platform. This means that any applicable triggers will be run. Defaults to ``false``.
- **entity_category** (*Optional*, string): The category of the entity.
See https://developers.home-assistant.io/docs/core/entity/#generic-properties
for a list of available options. Requires Home Assistant 2021.11 or newer.
for a list of available options.
Set to ``""`` to remove the default entity category.
- If MQTT enabled, all other options from :ref:`MQTT Component <config-mqtt-component>`.

View File

@ -32,7 +32,7 @@ our `Bluetooth Proxy installer <https://esphome.github.io/bluetooth-proxies/>`__
The :doc:`web_server` component should be disabled as the device is likely
to run out of memory and will malfunction when both components are enabled simultaneously.
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 <https://www.home-assistant.io/integrations/>`__ list.
@ -43,15 +43,11 @@ Configuration:
bluetooth_proxy:
- **active** (*Optional*, boolean): Enables proxying active connections. Defaults to ``false``. Requires Home Assistant 2022.10 or later.
- **active** (*Optional*, boolean): Enables proxying active connections. Defaults to ``false``.
- **cache_services** (*Optional*, boolean): Enables caching GATT services in NVS flash storage which significantly speeds up active connections. Defaults to ``true`` when using the ESP-IDF framework.
The Bluetooth proxy depends on :doc:`esp32_ble_tracker` so make sure to add that to your configuration.
.. note::
Bluetooth proxy requires Home Assistant 2022.9 or later. ESPHome 2022.12.0 and Home Assistant 2022.12.6 or later is recommended.
Improving reception performance
-------------------------------

View File

@ -80,10 +80,10 @@ Advanced options:
a ``name`` will implicitly set this to true.
- **disabled_by_default** (*Optional*, boolean): If true, then this entity should not be added to any client's frontend,
(usually Home Assistant) without the user manually enabling it (via the Home Assistant UI).
Requires Home Assistant 2021.9 or newer. Defaults to ``false``.
Defaults to ``false``.
- **entity_category** (*Optional*, string): The category of the entity.
See https://developers.home-assistant.io/docs/core/entity/#generic-properties
for a list of available options. Requires Home Assistant 2021.11 or newer.
for a list of available options.
Set to ``""`` to remove the default entity category.
MQTT options:

View File

@ -46,10 +46,10 @@ Advanced options:
a ``name`` will implicitly set this to true.
- **disabled_by_default** (*Optional*, boolean): If true, then this entity should not be added to any client's frontend,
(usually Home Assistant) without the user manually enabling it (via the Home Assistant UI).
Requires Home Assistant 2021.9 or newer. Defaults to ``false``.
Defaults to ``false``.
- **entity_category** (*Optional*, string): The category of the entity.
See https://developers.home-assistant.io/docs/core/entity/#generic-properties
for a list of available options. Requires Home Assistant 2021.11 or newer.
for a list of available options.
Set to ``""`` to remove the default entity category.
MQTT options:

View File

@ -42,22 +42,27 @@ Configuration variables:
a ``name`` will implicitly set this to true.
- **disabled_by_default** (*Optional*, boolean): If true, then this entity should not be added to any client's frontend,
(usually Home Assistant) without the user manually enabling it (via the Home Assistant UI).
Requires Home Assistant 2021.9 or newer. Defaults to ``false``.
Defaults to ``false``.
- **entity_category** (*Optional*, string): The category of the entity.
See https://developers.home-assistant.io/docs/core/entity/#generic-properties
for a list of available options. Requires Home Assistant 2021.11 or newer.
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.
MQTT Options:
- All other options from :ref:`MQTT Component <config-mqtt-component>`.
Datetime Automation
-------------------
Time and DateTime Options:
You can access the most recent state as a string of the datetime in :ref:`lambdas <config-lambda>` using
``id(datetime_id).state``.
You can also access it as a ``ESPTime`` object by ``id(datetime_id).state_as_time``
- **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.
Automation
----------
You can access the most recent state as a ``ESPTime`` object by ``id(datetime_id).state_as_esptime()``
.. _datetime-on_value:
@ -225,14 +230,94 @@ advanced stuff (see the full API Reference for more info).
ESP_LOGI("main", "Value of my datetime: %0d:%02d:%02d", id(my_time).hour, id(my_time).minute, id(my_time).second);
DateTime Automation
-------------------
.. _datetime-datetime_set_action:
``datetime.datetime.set`` Action
********************************
This is an :ref:`Action <config-action>` for setting a datetime datetime state.
The ``datetime`` provided can be in one of 3 formats:
.. code-block:: yaml
# String datetime
- datetime.time.set:
id: my_datetime
datetime: "2024-12-31 12:34:56"
# Individual datetime parts
- datetime.datetime.set:
id: my_datetime
datetime:
year: 2024
month: 12
day: 31
hour: 12
minute: 34
second: 56
# Using a lambda
- datetime.datetime.set:
id: my_datetime
datetime: !lambda |-
// Return an ESPTime struct
return {.second: 56, .minute: 34, .hour: 12, .day_of_month: 31, .month: 12, .year: 2024};
Configuration variables:
- **id** (**Required**, :ref:`config-id`): The ID of the datetime to set.
- **datetime** (**Required**, string, datetime parts, :ref:`templatable <config-templatable>`):
The value to set the datetime to.
.. _datetime-datetime-lambda_calls:
Lambda calls
************
For more complex use cases, several methods are available for use on datetimes from within :ref:`lambdas <config-lambda>`. See the full API Reference for more information.
- ``.make_call()``: Make a call for updating the datetime value.
.. code-block:: cpp
// Within lambda, set the datetime to 2024-12-31 12:34:56
auto call = id(my_datetime).make_call();
call.set_date("2024-12-31 12:34:56");
call.perform();
Check the API reference for information on the methods that are available for
the ``DateTimeCall`` object.
- ``.year``: Retrieve the current year of the ``datetime``. It will be ``0`` if no value has been set.
- ``.month``: Retrieve the current month of the ``datetime``. It will be ``0`` if no value has been set.
- ``.day``: Retrieve the current day of the ``datetime``. It will be ``0`` if no value has been set.
- ``.hour``: Retrieve the current hour of the ``datetime``. It will be ``0`` if no value has been set.
- ``.minute``: Retrieve the current minute of the ``datetime``. It will be ``0`` if no value has been set.
- ``.second``: Retrieve the current second of the ``datetime``. It will be ``0`` if no value has been set.
- ``.state_as_esptime()``: Retrieve the current value of the datetime as a :apistruct:`ESPTime` object.
.. code-block:: cpp
// For example, create a custom log message when a value is received:
ESP_LOGI("main", "Value of my datetime: %04d-%02d-%02d %0d:%02d:%02d",
id(my_datetime).year, id(my_datetime).month, id(my_datetime).day,
id(my_datetime).hour, id(my_datetime).minute, id(my_datetime).second);
See Also
--------
- :apiref:`DateTimeBase <datetime/datetime_base.h>`
- :apiref:`DateEntity <datetime/date_entity.h>`
- :apiref:`DateCall <datetime/date_entity.h>`
- :apiref:`TimeeEntity <datetime/time_entity.h>`
- :apiref:`TimeEntity <datetime/time_entity.h>`
- :apiref:`TimeCall <datetime/time_entity.h>`
- :apiref:`DateTimeEntity <datetime/datetime_entity.h>`
- :apiref:`DateTimeCall <datetime/datetime_entity.h>`
- :ghedit:`Edit`
.. toctree::

View File

@ -29,6 +29,15 @@ using :ref:`lambdas <config-lambda>`.
initial_value: "12:34:56"
restore_value: true
# Example DateTime
- platform: template
id: my_datetime
type: datetime
name: Pick a DateTime
optimistic: yes
initial_value: "2024-12-31 12:34:56"
restore_value: true
Configuration variables:
------------------------
@ -72,6 +81,21 @@ Configuration variables:
minute: 34
second: 56
- For ``type: datetime``:
- A string in the format ``%Y-%m-%d %H:%M:%S`` , eg: ``"2023-12-04 12:34:56"``.
- An object including ``year``, ``month``, ``day``, ``hour``, ``minute``, ``second``.
.. code-block:: yaml
initial_value:
year: 2023
month: 12
day: 4
hour: 12
minute: 34
second: 56
- All other options from :ref:`Datetime <config-datetime>`.
See Also

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

View File

@ -935,49 +935,30 @@ Additionally the old page will be given as the variable ``from`` and the new one
Troubleshooting
---------------
Color Test Pattern
------------------
Using the Color Test Card
-------------------------
If you're experiencing issues with your color display, the script below can help you to identify what might be wrong.
It will show 3 color bars in **RED**, **GREEN** and **BLUE**. To help the graphics display team determine
the best way to help you, **a picture of the result of this script is very helpful.**
If you're experiencing issues with your color display, the ``show_test_card: true`` option can help you to identify what might be wrong.
- It will show bars for Red, Green and Blue, graduating to black and white.
- Together with that it will show the letters "**R**", "**G**" and "**B**" to validate the display geometry.
- There will be a rectangle around the corners of the display with a marker at the 0,0 corner which should be at the top left of the screen.
.. figure:: images/test_card.jpg
:align: center
:width: 50.0%
When all points above are shown correctly then the display is working as expected.
To help the graphics display team determine the best way to help you, **a picture of the result of this option is very helpful.**
Should you `create an issue <https://github.com/esphome/issues/issues>`__ in GitHub regarding your display, please
be sure to **include a link to where you purchased it** so that we can validate the configuration you've used.
be sure to **include a link to where you purchased the display** so that we can validate the configuration you've used.
.. code-block:: yaml
.. note::
display:
- platform: ...
...
lambda: |-
int shift_x = (it.get_width()-310)/2;
int shift_y = (it.get_height()-256)/2;
for(auto i = 0; i<256; i++) {
it.horizontal_line(shift_x+ 0,i+shift_y,50, my_red.fade_to_white(i));
it.horizontal_line(shift_x+ 50,i+shift_y,50, my_red.fade_to_black(i));
it.horizontal_line(shift_x+105,i+shift_y,50, my_green.fade_to_white(i));
it.horizontal_line(shift_x+155,i+shift_y,50, my_green.fade_to_black(i));
it.horizontal_line(shift_x+210,i+shift_y,50, my_blue.fade_to_white(i));
it.horizontal_line(shift_x+260,i+shift_y,50, my_blue.fade_to_black(i));
}
it.rectangle(shift_x+ 0, 0+shift_y, shift_x+ 310, 256+shift_y, my_yellow);
color:
- id: my_blue
blue: 100%
- id: my_red
red: 100%
- id: my_green
green: 100%
- id: my_white
red: 100%
blue: 100%
green: 100%
- id: my_yellow
hex: ffff00
For displays in 8 bit mode you will see distinct color blocks rather than a smooth gradient.
See Also
--------

View File

@ -96,6 +96,7 @@ Configuration variables:
- ``2.70in-b`` - Black/White/Red
- ``2.70in-bv2`` - Black/White/Red
- ``2.90in``
- ``2.90in-dke``
- ``2.90inv2``
- ``2.90inv2-r2`` - 2.9in V2 display, but with different initialization and full/partial display refresh management than ``2.90inv2``
- ``2.90in-b`` - B/W rendering only

View File

@ -12,7 +12,7 @@ on graphical displays. This offers the user an interactive method to display
labels, control entities like ``switch``, ``select``, ``number`` available locally on the
ESPHome node, without the requirement of a network connection.
.. figure:: images/graphical_display_menu.jpg
.. figure:: images/graphical_display_menu.png
:align: center
:width: 60.0%

Binary file not shown.

Before

Width:  |  Height:  |  Size: 101 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

View File

@ -37,10 +37,10 @@ Configuration variables:
a ``name`` will implicitly set this to true.
- **disabled_by_default** (*Optional*, boolean): If true, then this entity should not be added to any client's frontend,
(usually Home Assistant) without the user manually enabling it (via the Home Assistant UI).
Requires Home Assistant 2021.9 or newer. Defaults to ``false``.
Defaults to ``false``.
- **entity_category** (*Optional*, string): The category of the entity.
See https://developers.home-assistant.io/docs/core/entity/#generic-properties
for a list of available options. Requires Home Assistant 2021.11 or newer.
for a list of available options.
Set to ``""`` to remove the default entity category.
Connection Options:
@ -179,7 +179,7 @@ Configuration for Ai-Thinker Camera
.. warning::
GPIO16 on this board (and possibly other boards below) is connected to onboard PSRAM.
GPIO16 on this board (and possibly other boards below) is connected to onboard PSRAM.
Using this GPIO for other purposes (eg as a button) will trigger the watchdog.
Further information on pin notes can be found here: https://github.com/raphaelbs/esp32-cam-ai-thinker/blob/master/docs/esp32cam-pin-notes.md

147
components/event/index.rst Normal file
View File

@ -0,0 +1,147 @@
Event Component
===============
.. seo::
:description: Instructions for setting up event components in ESPHome.
:image: folder-open.svg
ESPHome supports the creation of event entities in Home Assistant.
These entities allow for the triggering of custom events within the Home Assistant ecosystem,
enabling complex automations and integrations. An event entity is represented as a stateless
entity associated with a device that has a pre-defined set of event types which can be
triggered in Home Assistant via automations.
.. note::
Events in ESPHome are designed to trigger an action in Home Assistant, and have a unidirectional flow from ESPHome to Home Assistant.
Home Assistant event entities are different from events on event bus. If you just want to trigger an event on the
Home Assistant event bus, you should use a :ref:`Home Assistant event <api-homeassistant_event_action>` instead.
.. note::
Home Assistant Core 2024.5 or higher is required for ESPHome event entities to work.
.. _config-event:
Base Event Configuration
------------------------
Each event in ESPHome needs to be configured with a list of event types it can trigger and an optional device class.
.. code-block:: yaml
# Example event configuration
event:
- platform: ...
name: Motion Detected Event
id: my_event
# Optional variables:
icon: "mdi:motion-sensor"
device_class: "motion"
on_event:
then:
- logger.log: "Event triggered"
Configuration variables:
One of ``id`` or ``name`` is required.
- **id** (**Required**, :ref:`config-id`): Manually specify the ID used for code generation, allowing for further customization or interaction with this event within ESPHome scripts or lambda functions.
- **name** (**Required**, string): The name for the event.
.. note::
If you have a :ref:`friendly_name <esphome-configuration_variables>` set for your device and
you want the event to use that name, you can set ``name: None``.
- **icon** (*Optional*, icon): Manually set the icon to use for the event in the frontend.
- **internal** (*Optional*, boolean): Mark this component as internal. Internal components will
not be exposed to the frontend (like Home Assistant). Only specifying an ``id`` without
a ``name`` will implicitly set this to true.
- **disabled_by_default** (*Optional*, boolean): If true, then this entity should not be added to any client's frontend,
(usually Home Assistant) without the user manually enabling it (via the Home Assistant UI).
- **entity_category** (*Optional*, string): The category of the entity.
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.
- **device_class** (*Optional*, string): The device class for the event. The following device classes are supported by event entities:
- None: Generic event. This is the default and doesn't need to be set.
- ``button``: For remote control buttons.
- ``doorbell``: Specifically for buttons that are used as a doorbell.
- ``motion``: For motion events detected by a motion sensor.
See https://www.home-assistant.io/integrations/event/#device-class
for a list of available options.
Automations:
- **on_event** (*Optional*, :ref:`Automation <automation>`): An automation to perform when an event is triggered.
MQTT options:
- All other options from :ref:`MQTT Component <config-mqtt-component>`.
Event Automation
----------------
.. _event-on_event:
``on_event``
************
This automation will be triggered when an event of the specified types is triggered.
.. code-block:: yaml
event:
- platform: template
# ...
on_event:
then:
- logger.log: "Event Triggered"
Configuration variables: see :ref:`Automation <automation>`.
``event.trigger`` Action
************************
This action allows for the triggering of an event from within an automation.
.. code-block:: yaml
- event.trigger:
id: my_event
event_type: "custom_event"
Configuration variables:
- **id** (**Required**, :ref:`config-id`): The ID of the event.
- **event_type** (**Required**, string): The type of event to trigger.
.. _event-lambda_calls:
lambda Calls
************
From :ref:`lambdas <config-lambda>`, you can trigger an event.
- ``trigger(std::string event_type)``: Trigger an event with the specified type.
.. code-block:: cpp
// Within lambda, trigger the event.
id(my_event).trigger("custom_event");
See Also
--------
- :apiref:`event/event.h`
- :ghedit:`Edit`
.. toctree::
:maxdepth: 1
:glob:
*

View File

@ -0,0 +1,31 @@
Template Event
==============
.. seo::
:description: Instructions for setting up template events that can trigger arbitrary automations when an event occurs.
:image: description.svg
The ``template`` event platform enables you to define events that trigger specific automations or actions within Home Assistant. These custom events can be utilized to orchestrate complex behaviors across your smart home ecosystem based on conditions or sequences defined in your ESPHome configuration.
.. code-block:: yaml
# Example configuration entry
event:
- platform: template
name: "Template Event"
event_types:
- "custom_event_1"
- "custom_event_2"
Configuration variables:
------------------------
- **event_types** (**Required**, list): A list of custom event identifiers that this template event is capable of triggering. These identifiers can be used in Home Assistant automations or ESPHome scripts to perform actions when the event occurs.
- All other options from :ref:`Event <config-event>`.
See Also
--------
- :doc:`/guides/automations`
- :doc:`/components/event/index`
- :ghedit:`Edit`

View File

@ -49,10 +49,10 @@ Configuration variables:
a ``name`` will implicitly set this to true.
- **disabled_by_default** (*Optional*, boolean): If true, then this entity should not be added to any client's frontend
(usually Home Assistant) without the user manually enabling it (via the Home Assistant UI).
Requires Home Assistant 2021.9 or newer. Defaults to ``false``.
Defaults to ``false``.
- **entity_category** (*Optional*, string): The category of the entity.
See https://developers.home-assistant.io/docs/core/entity/#generic-properties
for a list of available options. Requires Home Assistant 2021.11 or newer.
for a list of available options.
Set to ``""`` to remove the default entity category.
MQTT options:

Binary file not shown.

After

Width:  |  Height:  |  Size: 110 KiB

View File

@ -17,6 +17,7 @@ Components
sensor/index
switch/index
button/index
event/index
display/index
text_sensor/index
stepper/index

View File

@ -77,10 +77,10 @@ Advanced options:
a ``name`` will implicitly set this to true.
- **disabled_by_default** (*Optional*, boolean): If true, then this entity should not be added to any client's frontend,
(usually Home Assistant) without the user manually enabling it (via the Home Assistant UI).
Requires Home Assistant 2021.9 or newer. Defaults to ``false``.
Defaults to ``false``.
- **entity_category** (*Optional*, string): The category of the entity.
See https://developers.home-assistant.io/docs/core/entity/#generic-properties
for a list of available options. Requires Home Assistant 2021.11 or newer.
for a list of available options.
Set to ``""`` to remove the default entity category.
- If MQTT enabled, all other options from :ref:`MQTT Component <config-mqtt-component>`.
@ -583,6 +583,7 @@ Configuration variables:
- **cold_white** (*Optional*, percentage): The cold white channel of the light, if applicable. Defaults to ``100%``.
- **warm_white** (*Optional*, percentage): The warm white channel of the light, if applicable. Defaults to ``100%``.
- **duration** (**Required**, :ref:`config-time`): The duration this color should be active.
- **transition_length** (*Optional*, :ref:`config-time`): The duration of each transition. Defaults to ``0s``.
See `light.turn_on <light-turn_on_action>` for more information on the various color fields.

View File

@ -8,10 +8,6 @@ Lock Component
The ``lock`` domain includes all platforms that should function like a lock
with lock/unlock actions.
.. note::
ESPHome lock components requires Home Assistant 2022.3 or newer
.. _config-lock:
Base Lock Configuration

View File

@ -43,16 +43,16 @@ Configuration variables:
a ``name`` will implicitly set this to true.
- **disabled_by_default** (*Optional*, boolean): If true, then this entity should not be added to any client's frontend,
(usually Home Assistant) without the user manually enabling it (via the Home Assistant UI).
Requires Home Assistant 2021.9 or newer. Defaults to ``false``.
Defaults to ``false``.
- **entity_category** (*Optional*, string): The category of the entity.
See https://developers.home-assistant.io/docs/core/entity/#generic-properties
for a list of available options. Requires Home Assistant 2021.11 or newer.
for a list of available options.
Set to ``""`` to remove the default entity category.
- **unit_of_measurement** (*Optional*, string): Manually set the unit
of measurement for the number. Requires Home Assistant Core 2021.12 or newer.
of measurement for the number.
- **mode** (*Optional*, string): Defines how the number should be displayed in the frontend.
See https://developers.home-assistant.io/docs/core/entity/number/#properties
for a list of available options. Requires Home Assistant Core 2021.12 or newer.
for a list of available options.
Defaults to ``"auto"``.
- **device_class** (*Optional*, string): The device class for the number.
See https://www.home-assistant.io/integrations/number/#device-class

View File

@ -54,6 +54,7 @@ Configuration variables:
- **rc5**: Decode and dump RC5 IR codes.
- **rc6**: Decode and dump RC6 IR codes.
- **rc_switch**: Decode and dump RCSwitch RF codes.
- **roomba**: Decode and dump Roomba infrared codes.
- **samsung**: Decode and dump Samsung infrared codes.
- **samsung36**: Decode and dump Samsung36 infrared codes.
- **sony**: Decode and dump Sony infrared codes.
@ -165,6 +166,9 @@ Automations:
- **on_rc_switch** (*Optional*, :ref:`Automation <automation>`): An automation to perform when a
RCSwitch RF code has been decoded. A variable ``x`` of type :apistruct:`remote_base::RCSwitchData`
is passed to the automation for use in lambdas.
- **on_roomba** (*Optional*, :ref:`Automation <automation>`): An automation to perform when a
Roomba remote code has been decoded. A variable ``x`` of type :apistruct:`remote_base::RoombaData`
is passed to the automation for use in lambdas.
- **on_samsung** (*Optional*, :ref:`Automation <automation>`): An automation to perform when a
Samsung remote code has been decoded. A variable ``x`` of type :apistruct:`remote_base::SamsungData`
is passed to the automation for use in lambdas.
@ -398,6 +402,10 @@ Remote code selection (exactly one of these has to be included):
- **state** (**Required**, boolean): The on/off state to trigger on.
- **protocol** (*Optional*): The RC Switch protocol to use, see :ref:`remote_transmitter-rc_switch-protocol` for more info.
- **roomba**: Trigger on a decoded Roomba remote code with the given data.
- **data** (**Required**, int): The Roomba code to trigger on, see dumper output for more info.
- **samsung**: Trigger on a decoded Samsung remote code with the given data.
- **data** (**Required**, int): The data to trigger on, see dumper output for more info.

View File

@ -781,6 +781,29 @@ Configuration variables:
for more information.
- All other options from :ref:`remote_transmitter-transmit_action`.
.. _remote_transmitter-transmit_roomba:
``remote_transmitter.transmit_roomba`` Action
*********************************************
This :ref:`action <config-action>` sends a Roomba infrared remote code to a remote transmitter.
.. code-block:: yaml
on_...:
- remote_transmitter.transmit_roomba:
data: 0x88 # clean
repeat:
times: 3
wait_time: 17ms
Configuration variables:
- **data** (**Required**, int): The Roomba code to send, see dumper output for more info.
- Note that ``repeat`` is still optional, however **Roomba vacuums require that a given code is received at least three times before they will act on it.** If your Roomba still does not respond to sent command increase this value.
- Note that ``wait_time`` is still optional; it will even work without this parameter, but Roomba Remote uses this 17 ms wait time between sent commands.
- All other options from :ref:`remote_transmitter-transmit_action`.
.. _remote_transmitter-transmit_samsung:
``remote_transmitter.transmit_samsung`` Action

View File

@ -43,10 +43,10 @@ Configuration variables:
a ``name`` will implicitly set this to true.
- **disabled_by_default** (*Optional*, boolean): If true, then this entity should not be added to any client's frontend,
(usually Home Assistant) without the user manually enabling it (via the Home Assistant UI).
Requires Home Assistant 2021.9 or newer. Defaults to ``false``.
Defaults to ``false``.
- **entity_category** (*Optional*, string): The category of the entity.
See https://developers.home-assistant.io/docs/core/entity/#generic-properties
for a list of available options. Requires Home Assistant 2021.11 or newer.
for a list of available options.
Set to ``""`` to remove the default entity category.
Automations:

View File

@ -31,7 +31,7 @@ Entity state attributes can also be imported:
This component is only for numeral states. If you want to import arbitrary text states
from Home Assistant, use the :doc:`Home Assistant Text Sensor </components/text_sensor/homeassistant>`.
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:
:doc:`Getting started with Home Assistant </guides/getting_started_hassio>`
@ -43,16 +43,15 @@ Configuration variables:
- **entity_id** (**Required**, string): The entity ID to import from Home Assistant.
- **attribute** (*Optional*, string): The name of the state attribute to import from the
specified entity. The entity state is used when this option is omitted.
Requires Home Assistant 2021.6 or newer.
- **id** (*Optional*, :ref:`config-id`): Manually specify the ID used for code generation.
- All other options from :ref:`Sensor <config-sensor>`.
.. note::
The sensors implemented by this component are by default ``internal``, to avoid exporting them back to
The sensors implemented by this component are by default ``internal``, to avoid exporting them back to
Home Assistant. Should you still want to do that (eg. because you use ESPHome's very efficient filters
on them) you need to specifically configure ``internal: false``. Also, ``state_class``, ``unit_of_measurement``
on them) you need to specifically configure ``internal: false``. Also, ``state_class``, ``unit_of_measurement``
are not inherited from the imported sensor so you need to set them manually.

View File

@ -68,10 +68,10 @@ Configuration variables:
significantly increase the database size. Defaults to ``false``.
- **disabled_by_default** (*Optional*, boolean): If true, then this entity should not be added to any client's frontend,
(usually Home Assistant) without the user manually enabling it (via the Home Assistant UI).
Requires Home Assistant 2021.9 or newer. Defaults to ``false``.
Defaults to ``false``.
- **entity_category** (*Optional*, string): The category of the entity.
See https://developers.home-assistant.io/docs/core/entity/#generic-properties
for a list of available options. Requires Home Assistant 2021.11 or newer.
for a list of available options.
Set to ``""`` to remove the default entity category.
Automations:

View File

@ -59,14 +59,14 @@ Configuration variables:
when the switch is turned off. See :ref:`switch-on_turn_on_off_trigger`.
- **disabled_by_default** (*Optional*, boolean): If true, then this entity should not be added to any client's frontend,
(usually Home Assistant) without the user manually enabling it (via the Home Assistant UI).
Requires Home Assistant 2021.9 or newer. Defaults to ``false``.
Defaults to ``false``.
- **entity_category** (*Optional*, string): The category of the entity.
See https://developers.home-assistant.io/docs/core/entity/#generic-properties
for a list of available options. Requires Home Assistant 2021.11 or newer.
for a list of available options.
Set to ``""`` to remove the default entity category.
- **device_class** (*Optional*, string): The device class for the switch.
See https://www.home-assistant.io/integrations/switch/#device-class
for a list of available options. Requires Home Assistant 2022.3 or newer.
for a list of available options.
- If MQTT enabled, All other options from :ref:`MQTT Component <config-mqtt-component>`.
.. _switch-toggle_action:

View File

@ -41,10 +41,10 @@ Configuration variables:
a ``name`` will implicitly set this to true.
- **disabled_by_default** (*Optional*, boolean): If true, then this entity should not be added to any client's frontend,
(usually Home Assistant) without the user manually enabling it (via the Home Assistant UI).
Requires Home Assistant 2021.9 or newer. Defaults to ``false``.
Defaults to ``false``.
- **entity_category** (*Optional*, string): The category of the entity.
See https://developers.home-assistant.io/docs/core/entity/#generic-properties
for a list of available options. Requires Home Assistant 2021.11 or newer.
for a list of available options.
Set to ``""`` to remove the default entity category.
- If MQTT enabled, All other options from :ref:`MQTT Component <config-mqtt-component>`.

340
components/weikai.rst Normal file
View File

@ -0,0 +1,340 @@
WeiKai SPI/I²C UART/IO Expander
===============================
.. seo::
:description: Instructions for setting up WeiKai SPI/I²C to UART Expanders in ESPHome.
:image: wk2168.jpg
:keywords: UART, SPI, I²C, WK2132, WK2168, WK2204, WK2212, wk2124
**WeiKai Microelectronics** provides a family of UART & GPIO expansion chips
that interfaces to a micro-controller through SPI or I²C bus.
The ESPHome ``WeiKai`` component supports the following WeiKai chips:
- `WK2168-IQPG <https://jlcpcb.com/partdetail/WEIKAI-WK2168IQPG/C401041>`__
- `WK2132-ISSG <https://jlcpcb.com/partdetail/WeiKai-WK2132ISSG/C401039>`__
- `WK2124-ISSG <https://jlcpcb.com/partdetail/WeiKai-WK2124ISSG/C86332>`__
- `WK2204-IQNG <https://jlcpcb.com/partdetail/WeiKai-WK2204IQNG/C401040>`__
- `WK2212-IQNG <https://jlcpcb.com/partdetail/WeiKai-WK2212IQNG/C2987671>`__
It can also be used with evaluation board equipped with these chips, such as:
- `WK2168 Chip Development Board <https://fr.aliexpress.com/item/1005002198759633.html>`__
- `WK2132 Chip Development Board <https://www.aliexpress.com/item/1005002018579265.html>`__
- `DFROBOT Gravity: I²C to Dual UART Module <https://www.dfrobot.com/product-2001.html>`__
.. figure:: images/DFR0627.jpg
:align: center
The features provided by the different WeiKai chips are described in the following table:
.. list-table:: WeiKai chip's features
:header-rows: 1
:width: 450px
:align: center
* - Chip
- Bus
- UART
- GPIO
* - WK2132-ISSG
- S/I
- 2
-
* - WK2212-IQNG
- S/I
- 2
- 8
* - WK2124-ISSG
- S
- 4
-
* - WK2204-IQNG
- S/I
- 4
-
* - WK2168-IQPG
- S/I
- 4
- 8
As you can see most of the components can interface either through an I²C bus or a SPI bus,
they provide either 2 or 4 serial channels, and some provide 8 input/output pins.
Each UART channel has two independent 256-byte FIFO hardware buffers to transmit and
receive and support data transmission rates up to 1 Mbps.
The baud rate and parity format of each UART channel can be configured independently.
However, the data bit length is fixed at 8.
Utilizing the UART channels enables you to connect your UART devices, with each channel functioning
as a virtual UART bus for the connected component.
The I/O pins of the WeiKai chips can be use as any of the other GPIO pins.
Any option accepting a :ref:`Pin Schema <config-pin_schema>` can theoretically
be used, but some more complicated components that do communication through
this I/O expander might not work.
Connecting via an SPI bus
-------------------------
The ``wk2132_spi``, ``wk2212_spi``, ``wk2204_spi``, ``wk2168_spi`` components allows
you to connect the WeiKai chip with ESPHome via a :ref:`SPI <spi>` bus.
You can connect several of these modules to a single SPI controller circuit effectively expanding
the number of hardware serial ports available. Each WeiKai chip needs to be selected
with a individual CS.
Here is an example of configuration entry for a wk2168_spi component. For the other components
in the list just replace the name of the component and make sure you do not use more channels that the chip
can support (an error message will be generated otherwise). Note that for the ``WK2124-ISSG`` chip
you need to use ``wk2204_spi`` as the two chips are similar.
.. code-block:: yaml
wk2168_spi:
- id: wk2168_bridge_spi
cs_pin: 5
uart:
- id: spi_uart_0
channel: 0
baud_rate: 128200
parity: even
- id: spi_uart_1
channel: 1
baud_rate: 19200
- id: spi_uart_2
channel: 2
baud_rate: 9600
- id: spi_uart_3
channel: 3
baud_rate: 19200
Configuration variables:
************************
- **id** (**Required**, :ref:`config-id`): The id to use for this WeiKai component.
- **spi_id** (*Optional*, :ref:`config-id`): Manually specify the ID of the :ref:`SPI Component <spi>` if you want
to use multiple SPI buses.
- **cs_pin** (**Required**, :ref:`Pin Schema <config-pin_schema>`): The pin on the ESP that the chip select line
of the chip is connected to.
- **data_rate** (*Optional*): Set the data rate of the controller. One of ``80MHz``, ``40MHz``, ``20MHz``, ``10MHz``,
``5MHz``, ``4MHz``, ``2MHz``, ``1MHz`` (default), ``200kHz``, ``75kHz`` or ``1kHz``. A numeric value in Hz can
alternatively be specified.
- **crystal** (*Optional*): The frequency in Hz of the crystal connected to the chip.
The default value is 14745600 Hz.
- **uart** (**Required**): The UART channels.
- **id** (**Required**, :ref:`config-id`): The id to use for this UART channel.
- **channel** (**Required**): Unique channel number of this virtual UART.
Options: ``0`` to ``1`` or ``0`` to ``3`` depending on the model.
- **baud_rate** (**Required**): The baud rate of the UART channel.
- **parity** (*Optional*): The parity used on the UART channel. Options: ``NONE``, ``EVEN``,
``ODD``. Defaults to ``NONE``.
- **stop_bits** (*Optional*): The number of stop bits to send. Options: ``1``, ``2``.
Defaults to ``1``.
Connecting via an I²C bus
-------------------------
The ``wk2132_i2c`` ``wk2212_i2c`` ``wk2204_i2c`` ``wk2168_i2c`` components allows you
to connect the WeiKai chip with ESPHome via an :ref:`I²C <i2c>` bus.
Up to four WeiKai chips can be connected to an I²C controller board, effectively expanding the
available hardware serial ports. The base addresses of these boards are defined by the
positions of two switches, A0 and A1, on the board.
.. list-table:: WeiKai address selection
:header-rows: 1
:width: 350px
:align: center
* - I²C address
- A1
- A0
* - 0x10 - 0x17
- 0
- 0
* - 0x30 - 0x37
- 0
- 1
* - 0x50 - 0x57
- 1
- 0
* - 0x70 - 0x77
- 1
- 1
.. important::
Note that the address is given as a **range** a not a number as you usually find on other I²C component.
Indeed due to a peculiar way of addressing the different internal registers each component actually occupy
8 consecutive addresses. For example if the component base address is 0x10, it will occupy the addresses ranging from
0x10 to 0x17 on the I²C bus.
This is important to know if you want to connect other devices on the same I²C bus.
Here is an example of configuration entry for a ``wk2168_i2c`` component. For the other components
just replace the name of the component and do not use more channels that the chip can
support (an error message will be generated in this case).
.. code-block:: yaml
wk2168_i2c:
- address: 0x70
id: wk2168_bridge_i2c
uart:
- id: i2c_uart_0
channel: 0
baud_rate: 9600
parity: even
- id: i2c_uart_1
channel: 1
baud_rate: 19200
- id: i2c_uart_2
channel: 2
baud_rate: 9600
- id: i2c_uart_3
channel: 3
baud_rate: 19200
Configuration variables:
************************
- **id** (**Required**, :ref:`config-id`): The id to use for this WeiKai component.
- **address** (*Optional*): The I²C address of this component. Defaults to ``0x10``.
- **i2c_id** (*Optional*): The I²C Bus ID. Defaults to the default i²c bus.
- **crystal** (*Optional*): The frequency in Hz of the crystal connected to the chip.
The default value is 14745600 Hz.
- **uart** (*Required*): The UART channels.
- **id** (**Required**, :ref:`config-id`): The id to use for this UART channel.
- **channel** (**Required**): Unique channel number of this virtual UART.
Options: ``0`` to ``1`` or ``0`` to ``3`` depending on the model.
- **baud_rate** (**Required**): The baud rate of the UART channel.
- **parity** (*Optional*): The parity used on the UART channel. Options: ``NONE``, ``EVEN``,
``ODD``. Defaults to ``NONE``.
- **stop_bits** (*Optional*): The number of stop bits to send. Options: ``1``, ``2``.
Defaults to ``1``.
Using the GPIO pins
-------------------
For the ``WK2212``, and ``WK2168`` it is possible to use the chip I/O pins as any of the other GPIO pins.
For example for a wk2168_spi chip:
.. code-block:: yaml
# individual binary_sensor inputs
binary_sensor:
- platform: gpio
name: "pin_0"
pin:
wk2168_spi: wk2168_bridge_spi
number: 0
mode:
input: true
- platform: gpio
name: "pin_1"
pin:
wk2168_spi: wk2168_bridge_spi
number: 1
mode:
input: true
inverted: true
# Individual binary outputs
switch:
- platform: gpio
name: "pin_2"
pin:
wk2168_spi: wk2168_bridge_spi
number: 2
mode:
output: true
- platform: gpio
name: "pin_3"
pin:
wk2168_spi: wk2168_bridge_spi
number: 3
mode:
output: true
inverted: true
Pin configuration variables:
****************************
- **wkxxxx_xxx** (**Required**, :ref:`config-id`): The id of the ``wkxxxx_xxx`` component for the pin. For
example ``wk2212_i2c: wk2168_bridge_spi``
- **number** (**Required**): The pin number (``0`` to ``7``)
- **inverted** (*Optional*): If all read and written values should be treated as inverted. Defaults to ``false``.
- **mode** (*Optional*): A pin mode to set for the pin at. One of ``INPUT`` or ``OUTPUT``. Default to ``INPUT``
Performance considerations:
---------------------------
Bus speed
*********
Please be aware that the communication between the WeiKai chips and the processor occurs on an external bus,
with a relatively low operating frequency. Therefore tasks such as checking the status of the chip's
registers or transferring bytes from the internal FIFOs to the processor may take time.
To improve this situation, it is strongly recommended to increase the default bus frequency.
- With a SPI bus this can be done on the WeiKai component by specifying ``data_rate``. For example:
.. code-block:: yaml
wk2168_spi:
- id: wk2168_bridge_spi
spi_id: spi_bus_id
cs_pin: 5
data_rate: 4MHz
- With an I²C bus this needs to be done on the ``i2c`` declaration and therefore this frequency will
apply to all components connected to this bus.
.. code-block:: yaml
i2c:
sda: 21
scl: 22
scan: true
id: bus_i2c
frequency: 800kHz
Maximum Baud rate
*****************
The maximum baud_rate is proportional to the crystal frequency. The following table
gives the maximum baud_rate at usual system clock:
.. list-table:: maximum baud rate
:header-rows: 1
:width: 300px
:align: center
* - Clock
- Max Bd
* - 14,745,600 Hz
- 921,600 Bd
* - 11,059,200 Hz
- 691,200 Bd
* - 7,372,800 Hz
- 460,800 Bd
* - 3,686,400 Hz
- 230,400 Bd
* - 1,843,200 Hz
- 115,200 Bd
If you try to use a baud rate superior to the maximum baud_rate an error will be displayed in the
log file and the baud rate will automatically be decreased.
See Also
--------
- :ref:`i2c`
- :ref:`spi`
- :doc:`switch/gpio`
- :doc:`binary_sensor/gpio`
- :apiref:`weika/weika.h`
- :ghedit:`Edit`

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

BIN
images/wk2168.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

531
index.rst
View File

@ -121,41 +121,113 @@ ESPHome is a system to control your microcontrollers by simple yet powerful conf
.. _devices:
Platforms
---------
Supported Microcontrollers
--------------------------
.. imgtable::
ESP8266, components/esp8266, esp8266.svg
ESP32, components/esp32, esp32.svg
ESP8266, components/esp8266, esp8266.svg
RP2040, components/rp2040, rp2040.svg
BK72xx, components/libretiny, bk72xx.svg
RTL87xx, components/libretiny, rtl87xx.svg
Core Components
---------------
Microcontroller Peripherals
---------------------------
Peripherals which directly support the operation of the microcontroller's processor(s).
.. imgtable::
PSRAM, components/psram, psram.svg
Deep Sleep, components/deep_sleep, hotel.svg, dark-invert
ESPHome Components
------------------
ESPHome-specific components or components supporting ESPHome device provisioning post-installation.
.. imgtable::
Core, components/esphome, cloud-circle.svg, dark-invert
PSRAM, components/psram, psram.svg
WiFi, components/wifi, network-wifi.svg, dark-invert
Network, components/network, network-wifi.svg, dark-invert
I²C Bus, components/i2c, i2c.svg
SPI Bus, components/spi, spi.svg
UART Bus, components/uart, uart.svg
CAN Bus, components/canbus, canbus.svg
MQTT, components/mqtt, mqtt.png
OTA Updates, components/ota, system-update.svg, dark-invert
Logger, components/logger, file-document-box.svg, dark-invert
Web Server, components/web_server, http.svg, dark-invert
Native API, components/api, server-network.svg, dark-invert
Power Supply, components/power_supply, power.svg, dark-invert
Deep Sleep, components/deep_sleep, hotel.svg, dark-invert
Captive Portal, components/captive_portal, wifi-strength-alert-outline.svg, dark-invert
Copy, components/copy, content-copy.svg, dark-invert
Demo, components/demo, description.svg, dark-invert
External Components, components/external_components, external_components.svg, dark-invert
Improv via BLE, components/esp32_improv, improv.svg, dark-invert
Improv via Serial, components/improv_serial, improv.svg, dark-invert
Network Hardware
----------------
.. imgtable::
WiFi, components/wifi, network-wifi.svg, dark-invert
ESP32 Ethernet, components/ethernet, ethernet.svg, dark-invert
Network Protocols
-----------------
.. imgtable::
Network Core, components/network, server-network.svg, dark-invert
Native API, components/api, server-network.svg, dark-invert
MQTT, components/mqtt, mqtt.png
HTTP Request, components/http_request, connection.svg, dark-invert
mDNS, components/mdns, radio-tower.svg, dark-invert
WireGuard, components/wireguard, wireguard_custom_logo.svg
Bluetooth/BLE
-------------
.. imgtable::
ESP32 BLE Beacon, components/esp32_ble_beacon, bluetooth.svg, dark-invert
ESP32 BLE Client, components/ble_client, bluetooth.svg, dark-invert
ESP32 BLE Tracker, components/esp32_ble_tracker, bluetooth.svg, dark-invert
Bluetooth Proxy, components/bluetooth_proxy, bluetooth.svg, dark-invert
Improv via BLE, components/esp32_improv, improv.svg, dark-invert
Management and Monitoring
-------------------------
.. imgtable::
Debug, components/debug, bug-report.svg, dark-invert
Logger, components/logger, file-document-box.svg, dark-invert
OTA Updates, components/ota, system-update.svg, dark-invert
Prometheus, components/prometheus, prometheus.svg
Web Server, components/web_server, http.svg, dark-invert
ESP32 Camera Web Server, components/esp32_camera_web_server, camera.svg, dark-invert
Hardware Peripheral Interfaces/Busses
-------------------------------------
.. imgtable::
CAN Bus, components/canbus, canbus.svg
I²C Bus, components/i2c, i2c.svg
I²S Audio, components/i2s_audio, i2s_audio.svg
SPI Bus, components/spi, spi.svg
UART, components/uart, uart.svg
I/O Expanders/Multiplexers
--------------------------
.. imgtable::
MAX6956 - I²C Bus, components/max6956, max6956.jpg
MCP230XX - I²C Bus, components/mcp230xx, mcp230xx.svg
MCP23SXX - SPI Bus, components/mcp23Sxx, mcp230xx.svg
PCA6416A, components/pca6416a, pca6416a.svg
PCA9554, components/pca9554, pca9554a.jpg
PCF8574, components/pcf8574, pcf8574.jpg
SN74HC165, components/sn74hc165, sn74hc595.jpg
SN74HC595, components/sn74hc595, sn74hc595.jpg
SX1509, components/sx1509, sx1509.jpg
TCA9548A I²C Multiplexer, components/tca9548a, tca9548a.jpg
WeiKai SPI/I²C UART/IO Expander, components/weikai, wk2168.jpg
XL9535, components/xl9535, xl9535.svg
Sensor Components
-----------------
@ -164,19 +236,19 @@ Sensors are split into categories. If a sensor fits into more than one category,
Core
****
.. imgtable::
Sensor Core, components/sensor/index, folder-open.svg, dark-invert
Template Sensor, components/sensor/template, description.svg, dark-invert
Home Assistant, components/sensor/homeassistant, home-assistant.svg, dark-invert
MQTT Subscribe, components/sensor/mqtt_subscribe, mqtt.png
Uptime Sensor, components/sensor/uptime, timer.svg, dark-invert
WiFi Signal Strength, components/sensor/wifi_signal, network-wifi.svg, dark-invert
Template Sensor, components/sensor/template, description.svg, dark-invert
Custom Sensor, components/sensor/custom, language-cpp.svg, dark-invert
Air Quality
***********
.. imgtable::
AGS10, components/sensor/ags10, ags10.jpg, Volatile Organic Compound Sensor
@ -186,18 +258,19 @@ Air Quality
ENS160, components/sensor/ens160, ens160.jpg, CO2 & Air Quality
GCJA5, components/sensor/gcja5, gcja5.svg, Particulate
HM3301, components/sensor/hm3301, hm3301.jpg, Particulate
iAQ-Core, components/sensor/iaqcore, iaqcore.jpg, CO2 & Volatile organics
MH-Z19, components/sensor/mhz19, mhz19.jpg, CO2 & Temperature
MiCS-4514, components/sensor/mics_4514, mics_4514.jpg, Gas concentration
PM1006 Sensor, components/sensor/pm1006, pm1006.jpg, Particulate
PMSA003I, components/sensor/pmsa003i, pmsa003i.jpg, Particulate
PMSX003, components/sensor/pmsx003, pmsx003.svg, Particulate
RadonEye BLE, components/sensor/radon_eye_ble, radon_eye_logo.png, Radon
SCD30, components/sensor/scd30, scd30.jpg, CO2 & Temperature & Humidity
SCD4X, components/sensor/scd4x, scd4x.jpg, CO2 & Temperature & Humidity
SDS011 Sensor, components/sensor/sds011, sds011.jpg, Particulate
SEN0321, components/sensor/sen0321, sen0321.jpg, Ozone
SEN5x, components/sensor/sen5x, sen54.jpg, Temperature & Humidity, Volatile organics and NOx
SenseAir, components/sensor/senseair, senseair_s8.jpg, CO2
SCD30, components/sensor/scd30, scd30.jpg, CO2 & Temperature & Humidity
SCD4X, components/sensor/scd4x, scd4x.jpg, CO2 & Temperature & Humidity
SFA30, components/sensor/sfa30, sfa30.jpg, Formaldehyde
SGP30, components/sensor/sgp30, sgp30.jpg, CO2 & Volatile organics
SGP4x, components/sensor/sgp4x, sgp40.jpg, Volatile organics and NOx
@ -205,11 +278,10 @@ Air Quality
SPS30, components/sensor/sps30, sps30.jpg, Particulate
T6613/15, components/sensor/t6615, t6615.jpg, CO2
ZyAura, components/sensor/zyaura, zgm053.jpg, CO2 & Temperature & Humidity
iAQ-Core, components/sensor/iaqcore, iaqcore.jpg, CO2 & Volatile organics
Analogue
********
.. imgtable::
ADC, components/sensor/adc, flash.svg, ESP internal, dark-invert
@ -221,25 +293,25 @@ Analogue
MCP3204 / MCP3208, components/sensor/mcp3204, mcp3204.jpg, 4-channel ADC
Resistance, components/sensor/resistance, omega.svg, dark-invert
Bluetooth Low Energy (BLE)
**************************
.. imgtable::
Alpha3, components/sensor/alpha3, alpha3.jpg
AM43, components/sensor/am43, am43.jpg, Lux & Battery level
BLE Client Sensor, components/sensor/ble_client, bluetooth.svg, dark-invert
BLE RSSI, components/sensor/ble_rssi, bluetooth.svg, dark-invert
HHCCJCY10 (MiFlora Pink), components/sensor/xiaomi_hhccjcy10, xiaomi_hhccjcy10.jpg, Soil moisture & Temperature & Light
Inkbird IBS-TH1 Mini, components/sensor/inkbird_ibsth1_mini, inkbird_isbth1_mini.jpg, Temperature & Humidity
Mopeka Pro Check LP, components/sensor/mopeka_pro_check, mopeka_pro_check.jpg, tank level
Mopeka Standard Check LP, components/sensor/mopeka_std_check, mopeka_std_check.jpg, tank level
RuuviTag, components/sensor/ruuvitag, ruuvitag.jpg, Temperature & Humidity & Accelerometer
Xiaomi BLE, components/sensor/xiaomi_ble, xiaomi_mijia_logo.jpg, Various
HHCCJCY10 (MiFlora Pink), components/sensor/xiaomi_hhccjcy10, xiaomi_hhccjcy10.jpg, Soil moisture & Temperature & Light
Alpha3, components/sensor/alpha3, alpha3.jpg
Digital Signals
***************
.. imgtable::
Duty Cycle, components/sensor/duty_cycle, percent.svg, dark-invert
@ -247,22 +319,23 @@ Digital Signals
Pulse Meter, components/sensor/pulse_meter, pulse.svg, dark-invert
Pulse Width, components/sensor/pulse_width, pulse.svg, dark-invert
Distance
********
.. imgtable::
A01NYUB, components/sensor/a01nyub, a01nyub.jpg, Acoustic distance
A02YYUW, components/sensor/a02yyuw, a02yyuw.jpg, Acoustic distance
HRXL MaxSonar WR, components/sensor/hrxl_maxsonar_wr, hrxl_maxsonar_wr.jpg, Acoustic distance
JSN-SR04T, components/sensor/jsn_sr04t, jsn-sr04t-v3.jpg, Acoustic distance
TOF10120, components/sensor/tof10120, tof10120.jpg, IR optical distance
Ultrasonic Sensor, components/sensor/ultrasonic, ultrasonic.jpg, Acoustic distance
VL53L0x, components/sensor/vl53l0x, vl53l0x.jpg, IR optical distance
Zio Ultrasonic Sensor, components/sensor/zio_ultrasonic, zio_ultrasonic.jpg, Acoustic distance
JSN-SR04T, components/sensor/jsn_sr04t, jsn-sr04t-v3.jpg, Acoustic distance
Electricity
***********
.. imgtable::
ADE7880, components/sensor/ade7880, ade7880.svg, Voltage & Current & Power
@ -293,7 +366,6 @@ Electricity
Teleinfo, components/sensor/teleinfo, teleinfo.jpg, Electrical counter
Total Daily Energy, components/sensor/total_daily_energy, sigma.svg, dark-invert
Environmental
*************
@ -304,14 +376,14 @@ Environmental
AirThings BLE, components/sensor/airthings_ble, airthings_logo.png, Temperature & Humidity & Pressure
AM2315C, components/sensor/am2315c, am2315c.jpg, Temperature & Humidity
AM2320, components/sensor/am2320, am2320.jpg, Temperature & Humidity
b-parasite, components/sensor/b_parasite, b_parasite.jpg, Moisture & Temperature & Humidity & Light
BME280, components/sensor/bme280, bme280.jpg, Temperature & Humidity & Pressure
BME680, components/sensor/bme680, bme680.jpg, Temperature & Humidity & Pressure & Gas
BME680 via BSEC, components/sensor/bme680_bsec, bme680.jpg, Temperature & Humidity & Pressure & Gas
BME680, components/sensor/bme680, bme680.jpg, Temperature & Humidity & Pressure & Gas
BMP085, components/sensor/bmp085, bmp180.jpg, Temperature & Pressure
BMP280, components/sensor/bmp280, bmp280.jpg, Temperature & Pressure
BMP388 and BMP390, components/sensor/bmp3xx, bmp388.jpg, Temperature & Pressure
BMP581, components/sensor/bmp581, bmp581.jpg, Temperature & Pressure
b-parasite, components/sensor/b_parasite, b_parasite.jpg, Moisture & Temperature & Humidity & Light
Dallas DS18B20, components/sensor/dallas, dallas.jpg, Temperature
DHT, components/sensor/dht, dht.jpg, Temperature & Humidity
DHT12, components/sensor/dht12, dht12.jpg, Temperature & Humidity
@ -321,13 +393,14 @@ Environmental
ENS210, components/sensor/ens210, ens210.jpg, Temperature & Humidity
HDC1080, components/sensor/hdc1080, hdc1080.jpg, Temperature & Humidity
HHCCJCY10 (MiFlora Pink), components/sensor/xiaomi_hhccjcy10, xiaomi_hhccjcy10.jpg, Soil moisture & Temperature & Light
HTE501, components/sensor/hte501, HTE501.png, Temperature & Humidity
Honeywell ABP, components/sensor/honeywellabp, honeywellabp.jpg, Pressure & Temperature
Honeywell ABP2 I2C, components/sensor/honeywellabp2_i2c, honeywellabp.jpg, Pressure & Temperature
Honeywell HIH I2C, components/sensor/honeywell_hih_i2c, honeywellhih.jpg, Temperature & Humidity
HTE501, components/sensor/hte501, HTE501.png, Temperature & Humidity
HTU21D / Si7021 / SHT21, components/sensor/htu21d, htu21d.jpg, Temperature & Humidity
HTU31D, components/sensor/htu31d, htu31d.jpg, Temperature & Humidity
Hydreon Rain Sensor, components/sensor/hydreon_rgxx, hydreon_rg9.jpg, Rain
HYT271, components/sensor/hyt271, hyt271.jpg, Temperature & Humidity
Inkbird IBS-TH1 Mini, components/sensor/inkbird_ibsth1_mini, inkbird_isbth1_mini.jpg, Temperature & Humidity
Internal Temperature, components/sensor/internal_temperature, thermometer.svg, Temperature, dark-invert
MCP9808, components/sensor/mcp9808, mcp9808.jpg, Temperature
@ -352,14 +425,13 @@ Environmental
STS3X, components/sensor/sts3x, sts3x.jpg, Temperature
TEE501, components/sensor/tee501, TEE501.png, Temperature
TMP102, components/sensor/tmp102, tmp102.jpg, Temperature
TMP117, components/sensor/tmp117, tmp117.jpg, Temperature
TMP1075, components/sensor/tmp1075, tmp1075.jpg, Temperature
HYT271, components/sensor/hyt271, hyt271.jpg, Temperature & Humidity
TMP117, components/sensor/tmp117, tmp117.jpg, Temperature
XGZP68xx Series, components/sensor/xgzp68xx, 6897d.jpg, Differential Pressure
Light
*****
.. imgtable::
AM43, components/sensor/am43, am43.jpg, Lux
@ -381,65 +453,65 @@ Light
VEML6030, components/sensor/veml7700, veml6030.jpg, Lux
VEML7700, components/sensor/veml7700, veml7700.jpg, Lux
Magnetic
********
.. imgtable::
ESP32 Hall Sensor, components/sensor/esp32_hall, magnet.svg, ESP internal, dark-invert
AS5600, components/sensor/as5600, as5600.jpg, 12-Bit Magnetic Position Sensor
ESP32 Hall Sensor, components/sensor/esp32_hall, magnet.svg, ESP internal, dark-invert
HMC5883L, components/sensor/hmc5883l, hmc5883l.jpg, 3-Axis magnetometer
MLX90393, components/sensor/mlx90393, mlx90393.jpg, 3-Axis magnetometer
MMC5603, components/sensor/mmc5603, mmc5603.jpg, 3-Axis magnetometer
MMC5983, components/sensor/mmc5983, mmc5983.jpg, 3-Axis magnetometer
MLX90393, components/sensor/mlx90393, mlx90393.jpg, 3-Axis magnetometer
QMC5883L, components/sensor/qmc5883l, qmc5883l.jpg, 3-Axis magnetometer
Miscellaneous
*************
.. imgtable::
AS3935, components/sensor/as3935, as3935.jpg, Storm lightning
Binary Sensor Map, components/sensor/binary_sensor_map, binary_sensor_map.jpg, Map binary to value
b-parasite, components/sensor/b_parasite, b_parasite.jpg, Moisture & Temperature & Humidity & Light
Binary Sensor Map, components/sensor/binary_sensor_map, binary_sensor_map.jpg, Map binary to value
Combination, components/sensor/combination, function.svg, dark-invert
Duty Time, components/sensor/duty_time, timer-play-outline.svg, dark-invert
EZO sensor circuits, components/sensor/ezo, ezo-ph-circuit.png, (pH)
FS3000, components/sensor/fs3000, fs3000.jpg, Air velocity
Growatt Solar, components/sensor/growatt_solar, growatt.jpg, Solar rooftop
Havells Solar, components/sensor/havells_solar, havellsgti5000d_s.jpg, Solar rooftop
Integration, components/sensor/integration, sigma.svg, dark-invert
Growatt Solar, components/sensor/growatt_solar, growatt.jpg, Solar rooftop
Kuntze pool sensor, components/sensor/kuntze, kuntze.jpg
MicroNova pellet stove, components/micronova, pellet.svg
Modbus Sensor, components/sensor/modbus_controller, modbus.png
Nextion, components/sensor/nextion, nextion.jpg, Sensors from display
Person Sensor (SEN21231), components/sensor/sen21231, sen21231.png
Resol VBus, components/vbus, resol_deltasol_bs_plus.jpg
Rotary Encoder, components/sensor/rotary_encoder, rotary_encoder.jpg
SMT100, components/sensor/smt100, smt100.jpg, Moisture & Temperature
Tuya Sensor, components/sensor/tuya, tuya.png
TX20, components/sensor/tx20, tx20.jpg, Wind speed & Wind direction
uFire EC sensor, components/sensor/ufire_ec, ufire_ec.png, EC & Temperature
uFire ISE sensor, components/sensor/ufire_ise, ufire_ise.png, pH & Temperature
Resol VBus, components/vbus, resol_deltasol_bs_plus.jpg
Person Sensor (SEN21231), components/sensor/sen21231, sen21231.png
Kuntze pool sensor, components/sensor/kuntze, kuntze.jpg
WireGuard, components/wireguard, wireguard_custom_logo.svg
MicroNova pellet stove, components/micronova, pellet.svg
Motion
******
.. imgtable::
APDS9960, components/sensor/apds9960, apds9960.jpg, Colour & Gesture
BMI160, components/sensor/bmi160, bmi160.jpg, Accelerometer & Gyroscope
LD2410, components/sensor/ld2410, ld2410.jpg, Motion & Presence
LD2420, components/sensor/ld2420, ld2420.jpg, Motion & Presence
Seeed Studio MR24HPC1 mmWave, components/seeed_mr24hpc1, seeed-mr24hpc1.jpg, Motion & Presence
MPU6050, components/sensor/mpu6050, mpu6050.jpg, Accelerometer & Gyroscope
MPU6886, components/sensor/mpu6886, mpu6886.jpg, Accelerometer & Gyroscope
RuuviTag, components/sensor/ruuvitag, ruuvitag.jpg, Temperature & Humidity & Accelerometer
Seeed Studio MR24HPC1 mmWave, components/seeed_mr24hpc1, seeed-mr24hpc1.jpg, Motion & Presence
Thermocouple
************
.. imgtable::
KMeterISO, components/sensor/kmeteriso, kmeteriso.jpg, K-Type,
@ -449,9 +521,9 @@ Thermocouple
MAX6675, components/sensor/max6675, max6675.jpg, K-Type,
MCP9600, components/sensor/mcp9600, mcp9600.jpg, All types
Weight
******
.. imgtable::
HX711, components/sensor/hx711, hx711.jpg, Load cell amplifier
@ -470,17 +542,18 @@ Binary Sensors are split into categories. If a sensor fits into more than one ca
Core
****
.. imgtable::
Binary Sensor Core, components/binary_sensor/index, folder-open.svg, dark-invert
Custom Binary Sensor, components/binary_sensor/custom, language-cpp.svg, dark-invert
Template Binary Sensor, components/binary_sensor/template, description.svg, dark-invert
GPIO, components/binary_sensor/gpio, pin.svg, dark-invert
Home Assistant, components/binary_sensor/homeassistant, home-assistant.svg, dark-invert
Status, components/binary_sensor/status, server-network.svg, dark-invert
Template Binary Sensor, components/binary_sensor/template, description.svg, dark-invert
Capacitive Touch
****************
.. imgtable::
CAP1188 Capacitive Touch Sensor, components/binary_sensor/cap1188, cap1188.jpg
@ -490,14 +563,15 @@ Capacitive Touch
Mechanical
**********
.. imgtable::
Matrix Keypad, components/matrix_keypad, matrix_keypad.jpg
TM1637, components/display/tm1637, tm1637.jpg
TM1638, components/display/tm1638, tm1638.jpg
NFC/RFID Components
*******************
NFC/RFID
********
Often known as "tag" or "card" readers within the community.
@ -509,29 +583,33 @@ Often known as "tag" or "card" readers within the community.
PN716X, components/pn7160, pn716x.jpg
RC522, components/binary_sensor/rc522, rc522.jpg
RDM6300, components/binary_sensor/rdm6300, rdm6300.jpg
Wiegand Reader, components/wiegand, wiegand.jpg
Touchscreen
***********
.. imgtable::
Nextion Binary Sensor, components/binary_sensor/nextion, nextion.jpg
Touchscreen, components/touchscreen/index, touch.svg, dark-invert
TT21100, components/touchscreen/tt21100, esp32-s3-korvo-2-lcd.png
Touchscreen Core, components/touchscreen/index, touch.svg, dark-invert
FT5X06, components/touchscreen/ft5x06, indicator.jpg
GT911, components/touchscreen/gt911, esp32_s3_box_3.png
Nextion Binary Sensor, components/binary_sensor/nextion, nextion.jpg
TT21100, components/touchscreen/tt21100, esp32-s3-korvo-2-lcd.png
Presence Detection
******************
.. imgtable::
DFRobot mmWave Radar, components/dfrobot_sen0395, dfrobot_sen0395.jpg
AT581X, components/at581x, at581x.png
DFRobot mmWave Radar, components/dfrobot_sen0395, dfrobot_sen0395.jpg
LD2410, components/sensor/ld2410, ld2410.jpg
LD2420, components/sensor/ld2420, ld2420.jpg
Seeed Studio MR24HPC1 mmWave, components/seeed_mr24hpc1, seeed-mr24hpc1.jpg
Miscellaneous
*************
.. imgtable::
Analog Threshold, components/binary_sensor/analog_threshold, analog_threshold.svg, dark-invert
@ -552,36 +630,35 @@ Output Components
.. imgtable::
Output Core, components/output/index, folder-open.svg, dark-invert
ESP8266 Software PWM, components/output/esp8266_pwm, pwm.png
Slow PWM, components/output/slow_pwm, pwm.png
GPIO Output, components/output/gpio, pin.svg, dark-invert
Template Output, components/output/template, description.svg, dark-invert
AC Dimmer, components/output/ac_dimmer, ac_dimmer.svg, dark-invert
BLE Binary Output, components/output/ble_client, bluetooth.svg, dark-invert
BP1658CJ, components/output/bp1658cj, bp1658cj.svg
BP5758D, components/output/bp5758d, bp5758d.svg
DAC7678, components/output/dac7678, dac7678.svg
EMC2101, components/emc2101, emc2101.jpg
ESP32 DAC, components/output/esp32_dac, dac.svg
ESP32 LEDC, components/output/ledc, pwm.png
ESP8266 Software PWM, components/output/esp8266_pwm, pwm.png
GP8403, components/output/gp8403, gp8403.svg
GPIO Output, components/output/gpio, pin.svg, dark-invert
LibreTiny PWM, components/output/libretiny_pwm, pwm.png
AC Dimmer, components/output/ac_dimmer, ac_dimmer.svg, dark-invert
PCA9685, components/output/pca9685, pca9685.jpg
TLC59208F, components/output/tlc59208f, tlc59208f.jpg
TLC5947, components/output/tlc5947, tlc5947.jpg
TLC5971, components/output/tlc5971, tlc5971.jpg
MCP4725, components/output/mcp4725, mcp4725.jpg
MCP4728, components/output/mcp4728, mcp4728.jpg
MCP47A1, components/output/mcp47a1, mcp47a1.svg
Modbus Output, components/output/modbus_controller, modbus.png
MY9231/MY9291, components/output/my9231, my9231.svg
PCA9685, components/output/pca9685, pca9685.jpg
Sigma-Delta Output, components/output/sigma_delta_output, sigma-delta.svg, dark-invert
Slow PWM, components/output/slow_pwm, pwm.png
SM16716, components/output/sm16716, sm16716.svg
SM2135, components/output/sm2135, sm2135.svg
SM2235, components/output/sm2235, sm2235.svg
SM2335, components/output/sm2335, sm2335.svg
MCP4725, components/output/mcp4725, mcp4725.jpg
MCP4728, components/output/mcp4728, mcp4728.jpg
MCP47A1, components/output/mcp47a1, mcp47a1.svg
DAC7678, components/output/dac7678, dac7678.svg
BLE Binary Output, components/output/ble_client, bluetooth.svg, dark-invert
Modbus Output, components/output/modbus_controller, modbus.png
Custom Output, components/output/custom, language-cpp.svg, dark-invert
Sigma-Delta Output, components/output/sigma_delta_output, sigma-delta.svg, dark-invert
Template Output, components/output/template, description.svg, dark-invert
BP1658CJ, components/output/bp1658cj, bp1658cj.svg
BP5758D, components/output/bp5758d, bp5758d.svg
TLC59208F, components/output/tlc59208f, tlc59208f.jpg
TLC5947, components/output/tlc5947, tlc5947.jpg
TLC5971, components/output/tlc5971, tlc5971.jpg
X9C Potentiometer, components/output/x9c, x9c.jpg
GP8403, components/output/gp8403, gp8403.svg
EMC2101, components/emc2101, emc2101.jpg
Light Components
----------------
@ -590,33 +667,29 @@ Light Components
Light Core, components/light/index, folder-open.svg, dark-invert
Binary Light, components/light/binary, lightbulb.svg, dark-invert
Status Led, components/light/status_led, led-on.svg, dark-invert
Monochromatic Light, components/light/monochromatic, brightness-medium.svg, dark-invert
Cold+Warm White Light, components/light/cwww, brightness-medium.svg, dark-invert
Color Temperature Light, components/light/color_temperature, brightness-medium.svg, dark-invert
ESP32 RMT, components/light/esp32_rmt_led_strip, color_lens.svg, dark-invert
FastLED Light, components/light/fastled, color_lens.svg, dark-invert
H-bridge Light, components/light/hbridge, brightness-medium.svg, dark-invert
Light Partition, components/light/partition, color_lens.svg, dark-invert
LightWaveRF, components/lightwaverf, brightness-medium.svg
Monochromatic Light, components/light/monochromatic, brightness-medium.svg, dark-invert
NeoPixelBus Light, components/light/neopixelbus, color_lens.svg, dark-invert
RGB Light, components/light/rgb, rgb.png
RGBCT Light, components/light/rgbct, rgbw.png
RGBW Light, components/light/rgbw, rgbw.png
RGBWW Light, components/light/rgbww, rgbw.png
RGBCT Light, components/light/rgbct, rgbw.png
ESP32 RMT, components/light/esp32_rmt_led_strip, color_lens.svg, dark-invert
RP2040 PIO, components/light/rp2040_pio_led_strip, color_lens.svg, dark-invert
FastLED Light, components/light/fastled, color_lens.svg, dark-invert
NeoPixelBus Light, components/light/neopixelbus, color_lens.svg, dark-invert
Light Partition, components/light/partition, color_lens.svg, dark-invert
SPI LED Strips, components/light/spi_led_strip, apa102.jpg
Tuya Dimmer, components/light/tuya, tuya.png
Shelly Dimmer, components/light/shelly_dimmer, shellydimmer2.jpg
Custom Light, components/light/custom, language-cpp.svg, dark-invert
LightWaveRF, components/lightwaverf, brightness-medium.svg
H-bridge Light, components/light/hbridge, brightness-medium.svg, dark-invert
Sonoff D1 Dimmer, components/light/sonoff_d1, sonoff_d1.jpg
SPI LED Strips, components/light/spi_led_strip, apa102.jpg
Status Led, components/light/status_led, led-on.svg, dark-invert
Tuya Dimmer, components/light/tuya, tuya.png
Looking for WS2811 and similar individually addressable lights? Have a look at the
:doc:`FastLED Light </components/light/fastled>`.
**Looking for WS2811 and similar individually addressable lights?** For the ESP32 and its variants, we
recommend the :doc:`components/light/esp32_rmt_led_strip` or :doc:`components/light/spi_led_strip`; for
other processors, have a look at the :doc:`FastLED Light </components/light/fastled>`.
Switch Components
-----------------
@ -624,19 +697,18 @@ Switch Components
.. imgtable::
Switch Core, components/switch/index, folder-open.svg, dark-invert
Template Switch, components/switch/template, description.svg, dark-invert
BLE Client Switch, components/switch/ble_client, bluetooth.svg, dark-invert
Factory Reset Switch, components/switch/factory_reset, restart-alert.svg, dark-invert
Generic Output Switch, components/switch/output, upload.svg, dark-invert
GPIO Switch, components/switch/gpio, pin.svg, dark-invert
Modbus Switch, components/switch/modbus_controller, modbus.png
Nextion Switch, components/switch/nextion, nextion.jpg
Restart Switch, components/switch/restart, restart.svg, dark-invert
Safe Mode Switch, components/switch/safe_mode, restart-alert.svg, dark-invert
Shutdown Switch, components/switch/shutdown, power_settings.svg, dark-invert
Factory Reset Switch, components/switch/factory_reset, restart-alert.svg, dark-invert
Generic Output Switch, components/switch/output, upload.svg, dark-invert
Template Switch, components/switch/template, description.svg, dark-invert
UART Switch, components/switch/uart, uart.svg
Custom Switch, components/switch/custom, language-cpp.svg, dark-invert
Tuya Switch, components/switch/tuya, tuya.png
Modbus Switch, components/switch/modbus_controller, modbus.png
BLE Client Switch, components/switch/ble_client, bluetooth.svg, dark-invert
Nextion Switch, components/switch/nextion, nextion.jpg
UART Switch, components/switch/uart, uart.svg
Button Components
-----------------
@ -645,14 +717,21 @@ Button Components
Button Core, components/button/index, folder-open.svg, dark-invert
Template Button, components/button/template, description.svg, dark-invert
Factory Reset Button, components/button/factory_reset, restart-alert.svg, dark-invert
Generic Output Button, components/button/output, upload.svg, dark-invert
Restart Button, components/button/restart, restart.svg, dark-invert
Safe Mode Button, components/button/safe_mode, restart-alert.svg, dark-invert
Shutdown Button, components/button/shutdown, power_settings.svg, dark-invert
Factory Reset Button, components/button/factory_reset, restart-alert.svg, dark-invert
Wake-on-LAN, components/button/wake_on_lan, power_settings.svg, dark-invert
UART Button, components/button/uart, uart.svg
Wake-on-LAN, components/button/wake_on_lan, power_settings.svg, dark-invert
Event Components
-----------------
.. imgtable::
Event Core, components/event/index, folder-open.svg, dark-invert
Template Event, components/event/template, description.svg, dark-invert
Fan Components
--------------
@ -660,11 +739,11 @@ Fan Components
.. imgtable::
Fan Core, components/fan/index, folder-open.svg, dark-invert
Template Fan, components/fan/template, description.svg, dark-invert
Binary Fan, components/fan/binary, fan.svg, dark-invert
H-bridge Fan, components/fan/hbridge, fan.svg, dark-invert
Speed Fan, components/fan/speed, fan.svg, dark-invert
Tuya Fan, components/fan/tuya, tuya.png
Template Fan, components/fan/template, description.svg, dark-invert
Display Components
------------------
@ -672,7 +751,17 @@ Display Components
.. imgtable::
Display Core, components/display/index, folder-open.svg, dark-invert
Display Menu Core, components/display_menu/index, folder-open.svg, dark-invert
Font Renderer, components/display/fonts, format-font.svg, dark-invert
Graphical Display Menu, components/display_menu/graphical_display_menu, graphical_display_menu.png
LCD Menu, components/display_menu/lcd_menu, lcd_menu.png
Display Hardware Platforms
--------------------------
.. imgtable::
Addressable Light, components/display/addressable_light, addressable_light.jpg
ILI9xxx, components/display/ili9xxx, ili9341.jpg
ILI9341, components/display/ili9xxx, ili9341.svg
@ -681,15 +770,14 @@ Display Components
ILI9486, components/display/ili9xxx, ili9341.jpg
ILI9488, components/display/ili9xxx, ili9488.svg
WSPICOLCD, components/display/ili9xxx, ili9488.svg
Inkplate, components/display/inkplate6, inkplate6.jpg
LCD Display, components/display/lcd_display, lcd.jpg
MAX7219, components/display/max7219, max7219.jpg
MAX7219 Dot Matrix, components/display/max7219digit, max7219digit.jpg
MAX7219, components/display/max7219, max7219.jpg
Nextion, components/display/nextion, nextion.jpg
PCD8544 (Nokia 5110/ 3310), components/display/pcd8544, pcd8544.jpg
Quad SPI AMOLED, components/display/qspi_amoled, t4-s3.jpg
PVVX MiThermometer, components/display/pvvx_mithermometer, ../components/sensor/images/xiaomi_lywsd03mmc.jpg
Quad SPI AMOLED, components/display/qspi_amoled, t4-s3.jpg
RPI_DPI_RGB, components/display/rpi_dpi_rgb, waveshare_touch-s3.jpg
SSD1306, components/display/ssd1306, ssd1306.jpg
SSD1322, components/display/ssd1322, ssd1322.jpg
@ -698,14 +786,15 @@ Display Components
SSD1331, components/display/ssd1331, ssd1331.jpg
SSD1351, components/display/ssd1351, ssd1351.jpg
ST7567, components/display/st7567, st7567.jpg
ST7735, components/display/st7735, st7735.jpg
ST7701S, components/display/st7701s, indicator.jpg
ST7735, components/display/st7735, st7735.jpg
ST7789V, components/display/st7789v, st7789v.jpg
ST7796, components/display/ili9xxx, st7796.svg
ST7920, components/display/st7920, st7920.jpg
TM1621, components/display/tm1621, tm1621.jpg
TM1637, components/display/tm1637, tm1637.jpg
TM1638, components/display/tm1638, tm1638.jpg
TM1651 Battery Display, components/tm1651, tm1651_battery_display.jpg
Waveshare E-Paper, components/display/waveshare_epaper, waveshare_epaper.jpg
Touchscreen Components
@ -714,14 +803,14 @@ Touchscreen Components
.. imgtable::
Touchscreen Core, components/touchscreen/index, folder-open.svg, dark-invert
CST226, components/touchscreen/cst226, t4-s3.jpg
CST816, components/touchscreen/cst816, cst816.jpg
EKTF2232, components/touchscreen/ektf2232, ektf2232.svg, Inkplate 6 Plus
FT63X6, components/touchscreen/ft63x6, wt32-sc01.png
GT911, components/touchscreen/gt911, esp32_s3_box_3.png
Lilygo T5 4.7", components/touchscreen/lilygo_t5_47, lilygo_t5_47_touch.jpg
TT21100, components/touchscreen/tt21100, esp32-s3-korvo-2-lcd.png
XPT2046, components/touchscreen/xpt2046, xpt2046.jpg
CST226, components/touchscreen/cst226, t4-s3.jpg
GT911, components/touchscreen/gt911, esp32_s3_box_3.png
FT63X6, components/touchscreen/ft63x6, wt32-sc01.png
Cover Components
----------------
@ -730,14 +819,21 @@ Cover Components
Cover Core, components/cover/index, folder-open.svg, dark-invert
Template Cover, components/cover/template, description.svg, dark-invert
Feedback Cover, components/cover/feedback, feedback_cover.svg, dark-invert
Endstop Cover, components/cover/endstop, electric-switch.svg, dark-invert
Current-Based Cover, components/cover/current_based, flash.svg, dark-invert
Time-Based Cover, components/cover/time_based, timer.svg, dark-invert
Custom Cover, components/cover/custom, language-cpp.svg, dark-invert
AM43 Cover, components/cover/am43, am43.jpg
Tuya Cover, components/cover/tuya, tuya.png
Current-Based Cover, components/cover/current_based, flash.svg, dark-invert
Endstop Cover, components/cover/endstop, electric-switch.svg, dark-invert
Feedback Cover, components/cover/feedback, feedback_cover.svg, dark-invert
HE60R Cover, components/cover/he60r, he60r.jpg
Time-Based Cover, components/cover/time_based, timer.svg, dark-invert
Tuya Cover, components/cover/tuya, tuya.png
Text Components
---------------
.. imgtable::
Text Core, components/text/index, folder-open.svg, dark-invert
Template Text, components/text/template, description.svg, dark-invert
Valve Components
----------------
@ -753,20 +849,19 @@ Text Sensor Components
.. imgtable::
Text Sensor Core, components/text_sensor/index, folder-open.svg, dark-invert
Home Assistant, components/text_sensor/homeassistant, home-assistant.svg, dark-invert
MQTT Subscribe Text, components/text_sensor/mqtt_subscribe, mqtt.png
Version, components/text_sensor/version, new-box.svg, dark-invert
WiFi Info, components/text_sensor/wifi_info, network-wifi.svg, dark-invert
Ethernet Info, components/text_sensor/ethernet_info, ethernet.svg, dark-invert
BLE Scanner, components/text_sensor/ble_scanner, bluetooth.svg, dark-invert
Modbus Text Sensor, components/text_sensor/modbus_controller, modbus.png
Template Text Sensor, components/text_sensor/template, description.svg, dark-invert
Custom Text Sensor, components/text_sensor/custom, language-cpp.svg, dark-invert
BLE Scanner, components/text_sensor/ble_scanner, bluetooth.svg, dark-invert
Ethernet Info, components/text_sensor/ethernet_info, ethernet.svg, dark-invert
Home Assistant, components/text_sensor/homeassistant, home-assistant.svg, dark-invert
LibreTiny, components/text_sensor/libretiny, libretiny.svg
Modbus Text Sensor, components/text_sensor/modbus_controller, modbus.png
MQTT Subscribe Text, components/text_sensor/mqtt_subscribe, mqtt.png
Nextion Text Sensor, components/text_sensor/nextion, nextion.jpg
Tuya Text Sensor, components/text_sensor/tuya, tuya.png
WL-134 Pet Tag Sensor , components/text_sensor/wl_134, fingerprint.svg, dark-invert
LibreTiny, components/text_sensor/libretiny, libretiny.svg
Version, components/text_sensor/version, new-box.svg, dark-invert
WiFi Info, components/text_sensor/wifi_info, network-wifi.svg, dark-invert
WireGuard, components/wireguard, wireguard_custom_logo.svg
WL-134 Pet Tag Sensor , components/text_sensor/wl_134, fingerprint.svg, dark-invert
Climate Components
------------------
@ -774,16 +869,15 @@ Climate Components
.. imgtable::
Climate Core, components/climate/index, folder-open.svg, dark-invert
Bang Bang Controller, components/climate/bang_bang, air-conditioner.svg, dark-invert
Thermostat Controller, components/climate/thermostat, air-conditioner.svg, dark-invert
Custom Climate, components/climate/custom, language-cpp.svg, dark-invert
PID Controller, components/climate/pid, function.svg, dark-invert
IR Remote Climate, components/climate/climate_ir, air-conditioner-ir.svg, dark-invert
Tuya Climate, components/climate/tuya, tuya.png
Midea, components/climate/midea, midea.svg
Anova Cooker, components/climate/anova, anova.png
Bang Bang Controller, components/climate/bang_bang, air-conditioner.svg, dark-invert
BedJet Climate System, components/climate/bedjet, bedjet.png
Haier Climate, components/climate/haier, haier.svg
IR Remote Climate, components/climate/climate_ir, air-conditioner-ir.svg, dark-invert
Midea, components/climate/midea, midea.svg
PID Controller, components/climate/pid, function.svg, dark-invert
Thermostat Controller, components/climate/thermostat, air-conditioner.svg, dark-invert
Tuya Climate, components/climate/tuya, tuya.png
Uponor Smatrix Base Pulse Underfloor Heating, components/uponor_smatrix, uponor.svg
Number Components
@ -792,8 +886,8 @@ Number Components
.. imgtable::
Number Core, components/number/index, folder-open.svg, dark-invert
Modbus Number, components/number/modbus_controller, modbus.png
Template Number, components/number/template, description.svg, dark-invert
Modbus Number, components/number/modbus_controller, modbus.png
Tuya Number, components/number/tuya, tuya.png
Select Components
@ -812,16 +906,8 @@ Lock Components
.. imgtable::
Lock Core, components/lock/index, folder-open.svg, dark-invert
Generic Output Lock, components/lock/output, upload.svg, dark-invert
Template Lock, components/lock/template, description.svg, dark-invert
Text Components
---------------
.. imgtable::
Text Core, components/text/index, folder-open.svg, dark-invert
Template Text, components/text/template, description.svg, dark-invert
Generic Output Lock, components/lock/output, upload.svg, dark-invert
Media Player Components
-----------------------
@ -829,6 +915,7 @@ Media Player Components
.. imgtable::
Media Player Core, components/media_player/index, folder-open.svg, dark-invert
DFPlayer, components/dfplayer, dfplayer.svg, dark-invert
I2S Audio, components/media_player/i2s_audio, i2s_audio.svg
Microphone Components
@ -853,24 +940,26 @@ Time Components
.. imgtable::
Time Core, components/time/index, clock-outline.svg, dark-invert
Home Assistant Time, components/time/homeassistant, home-assistant.svg, dark-invert
SNTP, components/time/sntp, clock-outline.svg, dark-invert
GPS Time, components/time/gps, crosshairs-gps.svg, dark-invert
DS1307 RTC, components/time/ds1307, clock-outline.svg, dark-invert
PCF8563 RTC, components/time/pcf8563, clock-outline.svg, dark-invert
GPS Time, components/time/gps, crosshairs-gps.svg, dark-invert
Home Assistant Time, components/time/homeassistant, home-assistant.svg, dark-invert
PCF85063 RTC, components/time/pcf85063, clock-outline.svg, dark-invert
PCF8563 RTC, components/time/pcf8563, clock-outline.svg, dark-invert
SNTP, components/time/sntp, clock-outline.svg, dark-invert
Home Assistant Companion Components
-----------------------------------
Home Assistant Components
-------------------------
Components specifically for interacting with Home Assistant.
.. imgtable::
Binary Sensor, components/binary_sensor/homeassistant, home-assistant.svg, dark-invert
Bluetooth Proxy, components/bluetooth_proxy, bluetooth.svg, dark-invert
Voice Assistant, components/voice_assistant, voice-assistant.svg, dark-invert
micro Wake Word, components/micro_wake_word, voice-assistant.svg, dark-invert
Sensor, components/sensor/homeassistant, home-assistant.svg, dark-invert
Text Sensor, components/text_sensor/homeassistant, home-assistant.svg, dark-invert
Binary Sensor, components/binary_sensor/homeassistant, home-assistant.svg, dark-invert
Voice Assistant, components/voice_assistant, voice-assistant.svg, dark-invert
Alarm Control Panel Components
@ -889,81 +978,75 @@ Datetime Components
Datetime Core, components/datetime/index, clock-outline.svg, dark-invert
Template Datetime, components/datetime/template, description.svg, dark-invert
Energy/Solar Management
-----------------------
.. imgtable::
PipSolar-compatible PV Inverter, components/pipsolar, pipsolar.jpg
Power Supply, components/power_supply, power.svg, dark-invert
Resol VBus, components/vbus, resol_deltasol_bs_plus.jpg
SML, components/sml, sml.svg
SUN-GTIL2 inverter, components/sun_gtil2, sun_1000g2.png
Electromechanical
-----------------
.. imgtable::
Atlas Scientific Peristaltic Pump, components/ezo_pmp, ezo-pmp.jpg
Grove TB6612FNG, components/grove_tb6612fng, motor.png
Matrix Keypad, components/matrix_keypad, matrix_keypad.jpg
RTTTL Buzzer, components/rtttl, buzzer.jpg
Servo, components/servo, servo.svg
Stepper, components/stepper/index, stepper.svg
Wireless Communication
----------------------
Wireless communication that is **not Wi-Fi.**
.. imgtable::
IR Remote Climate, components/climate/climate_ir, air-conditioner-ir.svg, dark-invert
Remote Receiver, components/remote_receiver, remote.svg, dark-invert
Remote Transmitter, components/remote_transmitter, remote.svg, dark-invert
RF Bridge, components/rf_bridge, rf_bridge.jpg
SIM800L, components/sim800l, sim800l.jpg
Miscellaneous Components
------------------------
.. imgtable::
Remote Receiver, components/remote_receiver, remote.svg, dark-invert
Remote Transmitter, components/remote_transmitter, remote.svg, dark-invert
Status LED, components/status_led, led-on.svg, dark-invert
Display Menu Core, components/display_menu/index, folder-open.svg, dark-invert
LCD Menu, components/display_menu/lcd_menu, lcd_menu.png
Graphical Display Menu, components/display_menu/graphical_display_menu, graphical_display_menu.jpg
Matrix Keypad, components/matrix_keypad, matrix_keypad.jpg
Wiegand Reader, components/wiegand, wiegand.jpg
HTTP Request, components/http_request, connection.svg, dark-invert
mDNS, components/mdns, radio-tower.svg, dark-invert
Sun, components/sun, weather-sunny.svg, dark-invert
GPS, components/gps, crosshairs-gps.svg, dark-invert
Bluetooth Proxy, components/bluetooth_proxy, bluetooth.svg, dark-invert
ESP32 BLE Client, components/ble_client, bluetooth.svg, dark-invert
ESP32 BLE Tracker, components/esp32_ble_tracker, bluetooth.svg, dark-invert
ESP32 BLE Beacon, components/esp32_ble_beacon, bluetooth.svg, dark-invert
ESP32 Ethernet, components/ethernet, ethernet.svg, dark-invert
ESP32 Camera, components/esp32_camera, camera.svg, dark-invert
ESP32 Camera Web Server, components/esp32_camera_web_server, camera.svg, dark-invert
I²S Audio, components/i2s_audio, i2s_audio.svg
Stepper, components/stepper/index, stepper.svg
Servo, components/servo, servo.svg
Sprinkler, components/sprinkler, sprinkler-variant.svg, dark-invert
Grove TB6612FNG, components/grove_tb6612fng, motor.png
PCA6416A I/O Expander, components/pca6416a, pca6416a.svg
PCA9554 I/O Expander, components/pca9554, pca9554a.jpg
PCF8574 I/O Expander, components/pcf8574, pcf8574.jpg
MAX6956 I/O expander - I²C Bus, components/max6956, max6956.jpg
MCP230XX I/O Expander - I²C Bus, components/mcp230xx, mcp230xx.svg
TCA9548A I²C Multiplexer, components/tca9548a, tca9548a.jpg
MCP23SXX I/O Expander - SPI Bus, components/mcp23Sxx, mcp230xx.svg
SX1509 I/O Expander, components/sx1509, sx1509.jpg
SN74HC165 I/O Expander, components/sn74hc165, sn74hc595.jpg
SN74HC595 I/O Expander, components/sn74hc595, sn74hc595.jpg
XL9535 I/O Expander, components/xl9535, xl9535.svg
SIM800L, components/sim800l, sim800l.jpg
DFPlayer, components/dfplayer, dfplayer.svg, dark-invert
Captive Portal, components/captive_portal, wifi-strength-alert-outline.svg, dark-invert
Improv via BLE, components/esp32_improv, improv.svg, dark-invert
Improv via Serial, components/improv_serial, improv.svg, dark-invert
Debug Component, components/debug, bug-report.svg, dark-invert
TM1651 Battery Display, components/tm1651, tm1651_battery_display.jpg
RF Bridge, components/rf_bridge, rf_bridge.jpg
Tuya MCU, components/tuya, tuya.png
Modbus Controller, components/modbus_controller, modbus.png
Exposure Notifications, components/exposure_notifications, exposure_notifications.png
RTTTL Buzzer, components/rtttl, buzzer.jpg
Prometheus, components/prometheus, prometheus.svg
PipSolar - compatible PV Inverter, components/pipsolar, pipsolar.jpg
GPS, components/gps, crosshairs-gps.svg, dark-invert
Grow Fingerprint Reader, components/fingerprint_grow, fingerprint.svg, dark-invert
SML, components/sml, sml.svg
SUN-GTIL2 inverter, components/sun_gtil2, sun_1000g2.png
Atlas Scientific Peristaltic Pump, components/ezo_pmp, ezo-pmp.jpg
Resol VBus, components/vbus, resol_deltasol_bs_plus.jpg
WireGuard, components/wireguard, wireguard_custom_logo.svg
Demo, components/demo, description.svg, dark-invert
Copy, components/copy, content-copy.svg, dark-invert
Modbus Controller, components/modbus_controller, modbus.png
Sprinkler, components/sprinkler, sprinkler-variant.svg, dark-invert
Status LED, components/status_led, led-on.svg, dark-invert
Sun, components/sun, weather-sunny.svg, dark-invert
Tuya MCU, components/tuya, tuya.png
Additional Custom Components
----------------------------
Custom Components
-----------------
**Note: Custom Components are deprecated in favor of** :doc:`components/external_components`!
.. imgtable::
Generic Custom Component, custom/custom_component, language-cpp.svg, dark-invert
Custom Binary Sensor, components/binary_sensor/custom, language-cpp.svg, dark-invert
Custom Climate, components/climate/custom, language-cpp.svg, dark-invert
Custom Cover, components/cover/custom, language-cpp.svg, dark-invert
Custom Light, components/light/custom, language-cpp.svg, dark-invert
Custom Output, components/output/custom, language-cpp.svg, dark-invert
Custom Sensor, components/sensor/custom, language-cpp.svg, dark-invert
Custom Switch, components/switch/custom, language-cpp.svg, dark-invert
Custom Text Sensor, components/text_sensor/custom, language-cpp.svg, dark-invert
Custom I²C Component, custom/i2c, language-cpp.svg, dark-invert
Custom SPI Component, custom/spi, language-cpp.svg, dark-invert
Custom UART Component, custom/uart, language-cpp.svg, dark-invert

View File

@ -85,6 +85,7 @@ PLATFORMS_TITLES = {
"Microphone": "microphone",
"Speaker": "speaker",
"Alarm Control Panel": "alarm_control_panel",
"Event": "event",
}
CUSTOM_DOCS = {