mirror of
https://github.com/esphome/esphome-docs.git
synced 2025-02-01 23:21:29 +01:00
Merge branch 'current' into next
This commit is contained in:
commit
5eae51ea9e
@ -90,7 +90,7 @@ and you will need to reverse them in your YAML configuration.
|
|||||||
BH1750
|
BH1750
|
||||||
------
|
------
|
||||||
|
|
||||||
When using the default resolution of 0.5 for the BH17850, the result is now divided by 2 as per the finidings of the community.
|
When using the default resolution of 0.5 for the BH1750, the result is now divided by 2 as per the finidings of the community.
|
||||||
|
|
||||||
|
|
||||||
Binary sensor device classes
|
Binary sensor device classes
|
||||||
|
@ -24,12 +24,12 @@ If you use the ``web_server`` and rely on the credentials for security, then you
|
|||||||
disable the ``web_server`` completely. The `Security Advisory on GitHub <https://github.com/esphome/esphome/security/advisories/GHSA-48mj-p7x2-5jfm>`__
|
disable the ``web_server`` completely. The `Security Advisory on GitHub <https://github.com/esphome/esphome/security/advisories/GHSA-48mj-p7x2-5jfm>`__
|
||||||
has been given ``CVE-2021-41104``.
|
has been given ``CVE-2021-41104``.
|
||||||
|
|
||||||
`Home Assistant Amber <https://home-assistant.io/amber>`__
|
`Home Assistant Yellow <https://home-assistant.io/yellow>`__
|
||||||
----------------------------------------------------------
|
------------------------------------------------------------
|
||||||
|
|
||||||
You get the most out of your ESPHome devices when you combine it with Home Assistant,
|
You get the most out of your ESPHome devices when you combine it with Home Assistant,
|
||||||
which offers a seamless and local integration to control and manage all your ESPHome devices.
|
which offers a seamless and local integration to control and manage all your ESPHome devices.
|
||||||
Today Home Assistant launched a crowdfunding campaign for the `Home Assistant Amber <https://home-assistant.io/amber>`__,
|
Today Home Assistant launched a crowdfunding campaign for the `Home Assistant Yellow <https://home-assistant.io/yellow>`__,
|
||||||
the easiest way to get started with Home Assistant and a privacy focused smart home.
|
the easiest way to get started with Home Assistant and a privacy focused smart home.
|
||||||
|
|
||||||
API Encryption
|
API Encryption
|
||||||
|
@ -32,7 +32,7 @@ required to be set up in your configuration for this sensor to work.
|
|||||||
address: 0x29
|
address: 0x29
|
||||||
reset_pin: 14
|
reset_pin: 14
|
||||||
touch_threshold: 0x40
|
touch_threshold: 0x40
|
||||||
allow_multiple_touches: 0x80
|
allow_multiple_touches: true
|
||||||
|
|
||||||
binary_sensor:
|
binary_sensor:
|
||||||
- platform: cap1188
|
- platform: cap1188
|
||||||
@ -49,7 +49,7 @@ The configuration is made up of two parts: The central component, and individual
|
|||||||
- **id** (*Optional*, :ref:`config-id`): Set the ID of this sensor.
|
- **id** (*Optional*, :ref:`config-id`): Set the ID of this sensor.
|
||||||
- **reset_pin** (*Optional*, :ref:`config-pin`): Set the pin that is used to reset the CAP1188 board on boot.
|
- **reset_pin** (*Optional*, :ref:`config-pin`): Set the pin that is used to reset the CAP1188 board on boot.
|
||||||
- **touch_threshold** (*Optional*, integer): The touch threshold for all channels. This defines the sensitivity for touch detection.
|
- **touch_threshold** (*Optional*, integer): The touch threshold for all channels. This defines the sensitivity for touch detection.
|
||||||
- ``0x00``: Maximum sensitivity - Most sensitive to touch
|
- ``0x01``: Maximum sensitivity - Most sensitive to touch
|
||||||
- ``0x20``: Default sensitivity
|
- ``0x20``: Default sensitivity
|
||||||
- ``0x40``: Medium sensitivity (I used this sensitivity when being used through a 3mm sheet of plastic)
|
- ``0x40``: Medium sensitivity (I used this sensitivity when being used through a 3mm sheet of plastic)
|
||||||
- ``0x80``: Minimum sensitivity - Least sensitive to touch
|
- ``0x80``: Minimum sensitivity - Least sensitive to touch
|
||||||
|
@ -46,7 +46,7 @@ two methods (:apiclass:`Climate <climate::Climate>`):
|
|||||||
// The capabilities of the climate device
|
// The capabilities of the climate device
|
||||||
auto traits = climate::ClimateTraits();
|
auto traits = climate::ClimateTraits();
|
||||||
traits.set_supports_current_temperature(true);
|
traits.set_supports_current_temperature(true);
|
||||||
traits.set_supports_heat_cool_mode(true);
|
traits.set_supported_modes({climate::CLIMATE_MODE_HEAT_COOL});
|
||||||
return traits;
|
return traits;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -426,9 +426,9 @@ Configuration variables:
|
|||||||
- **width** (**Required**, integer): The graph width in pixels
|
- **width** (**Required**, integer): The graph width in pixels
|
||||||
- **height** (**Required**, integer): The graph height in pixels
|
- **height** (**Required**, integer): The graph height in pixels
|
||||||
- **duration** (**Required**, seconds): The total graph history duration.
|
- **duration** (**Required**, seconds): The total graph history duration.
|
||||||
- **border** (*Optional*, boolean): Specifics if a border will be draw around the graph. Default is True.
|
- **border** (*Optional*, boolean): Specifies if a border will be drawn around the graph. Default is True.
|
||||||
- **x_grid** (*Optional*): Specifies the time per division. If not specified, no vertical grid will be drawn.
|
- **x_grid** (*Optional*): Specifies the time per division. If not specified, no vertical grid will be drawn.
|
||||||
- **y_grid** (*Optional*, float): Specifics the number of units per division. If not specified, no horizontal grid will be drawn.
|
- **y_grid** (*Optional*, float): Specifies the number of units per division. If not specified, no horizontal grid will be drawn.
|
||||||
- **max_range** (*Optional*): Specifies the maximum Y-axis range.
|
- **max_range** (*Optional*): Specifies the maximum Y-axis range.
|
||||||
- **min_range** (*Optional*): Specifies the minimum Y-axis range.
|
- **min_range** (*Optional*): Specifies the minimum Y-axis range.
|
||||||
- **max_value** (*Optional*): Specifies the maximum Y-axis value.
|
- **max_value** (*Optional*): Specifies the maximum Y-axis value.
|
||||||
|
@ -26,21 +26,22 @@ Configuration variables:
|
|||||||
|
|
||||||
- **name** (**Required**, string): This is the name of the node. It
|
- **name** (**Required**, string): This is the name of the node. It
|
||||||
should always be unique in your ESPHome network. May only contain lowercase
|
should always be unique in your ESPHome network. May only contain lowercase
|
||||||
characters, digits and hyphens. See :ref:`esphome-changing_node_name`.
|
characters, digits and hyphens, and can be at most 31 characters long.
|
||||||
|
See :ref:`esphome-changing_node_name`.
|
||||||
|
|
||||||
Advanced options:
|
Advanced options:
|
||||||
|
|
||||||
- **build_path** (*Optional*, string): Customize where ESPHome will store the build files
|
- **build_path** (*Optional*, string): Customize where ESPHome will store the build files
|
||||||
for your node. By default, ESPHome puts all PlatformIO project files under a folder ``<NODE_NAME>/``,
|
for your node. By default, ESPHome puts the PlatformIO project it uses to build the
|
||||||
but you can customize this behavior using this option.
|
firmware in the ``.esphome/build/<NODE>`` directory, but you can customize this
|
||||||
|
behavior using this option.
|
||||||
- **platformio_options** (*Optional*, mapping): Additional options to pass over to PlatformIO in the
|
- **platformio_options** (*Optional*, mapping): Additional options to pass over to PlatformIO in the
|
||||||
platformio.ini file. See :ref:`esphome-platformio_options`.
|
platformio.ini file. See :ref:`esphome-platformio_options`.
|
||||||
- **includes** (*Optional*, list of files): A list of C/C++ files to include in the main (auto-generated) sketch file
|
- **includes** (*Optional*, list of files): A list of C/C++ files to include in the main (auto-generated) sketch file
|
||||||
for custom components. The paths in this list are relative to the directory where the YAML configuration file
|
for custom components. The paths in this list are relative to the directory where the YAML configuration file
|
||||||
is in. See :ref:`esphome-includes` for more info.
|
is in. See :ref:`esphome-includes` for more info.
|
||||||
- **libraries** (*Optional*, list of libraries): A list of `platformio libraries <https://platformio.org/lib>`__
|
- **libraries** (*Optional*, list of libraries): A list of libraries to include in the project. See
|
||||||
to include in the project. See `platformio lib install <https://docs.platformio.org/en/latest/userguide/lib/cmd_install.html>`__.
|
:ref:`esphome-libraries` for more information.
|
||||||
The ``<name>=<source>`` syntax can be used to override the source used for a library that is included by a component.
|
|
||||||
- **comment** (*Optional*, string): Additional text information about this node. Only for display in UI.
|
- **comment** (*Optional*, string): Additional text information about this node. Only for display in UI.
|
||||||
- **name_add_mac_suffix** (*Optional*, boolean): Appends the last 3 bytes of the mac address of the device to
|
- **name_add_mac_suffix** (*Optional*, boolean): Appends the last 3 bytes of the mac address of the device to
|
||||||
the name in the form ``<name>-aabbcc``. Defaults to ``false``.
|
the name in the form ``<name>-aabbcc``. Defaults to ``false``.
|
||||||
@ -174,7 +175,7 @@ You can view a full list of PlatformIO options here: https://docs.platformio.org
|
|||||||
With ``includes`` you can include source files in the generated PlatformIO project.
|
With ``includes`` you can include source files in the generated PlatformIO project.
|
||||||
All files declared with this option are copied to the project each time it is compiled.
|
All files declared with this option are copied to the project each time it is compiled.
|
||||||
|
|
||||||
You can always look at the generated PlatformIO project (``<CONFIG_DIR>/<NODENAME>``) to see what
|
You can always look at the generated PlatformIO project (``.esphome/build/<NODE>``) to see what
|
||||||
is happening - and if you want you can even copy the include files directly into the ``src/`` folder.
|
is happening - and if you want you can even copy the include files directly into the ``src/`` folder.
|
||||||
The ``includes`` option is only a helper option that does that for you.
|
The ``includes`` option is only a helper option that does that for you.
|
||||||
|
|
||||||
@ -196,6 +197,42 @@ This option behaves differently depending on what the included file is pointing
|
|||||||
AND compiled into the binary. This way implementation of classes and functions in header files can
|
AND compiled into the binary. This way implementation of classes and functions in header files can
|
||||||
be provided.
|
be provided.
|
||||||
|
|
||||||
|
.. _esphome-libraries:
|
||||||
|
|
||||||
|
``libraries``
|
||||||
|
-------------
|
||||||
|
|
||||||
|
With the ``libraries`` option it is possible to include libraries in the PlatformIO project. These libraries will then
|
||||||
|
be compiled into the resulting firmware, and can be used in code from :ref:`lambdas <config-lambda>` and from
|
||||||
|
custom components.
|
||||||
|
|
||||||
|
.. code-block:: yaml
|
||||||
|
|
||||||
|
# Example configuration entry
|
||||||
|
esphome:
|
||||||
|
# ...
|
||||||
|
libraries:
|
||||||
|
# a library from PlatformIO
|
||||||
|
- espressif/esp32-camera
|
||||||
|
|
||||||
|
# a library bundled with Arduino
|
||||||
|
- Wire
|
||||||
|
|
||||||
|
# use the git version of a library used by a component
|
||||||
|
- esphome/Improv=https://github.com/improv-wifi/sdk-cpp.git#v1.0.0
|
||||||
|
|
||||||
|
The most common usage of this option is to include third-party libraries that are available in the `PlatformIO registry
|
||||||
|
<https://platformio.org/lib>`__. They can be added by listing their name under this option. It is also possible to use
|
||||||
|
specific versions, or to fetch libraries from a file or git repository. ESPHome accepts the same syntax as the
|
||||||
|
`pio lib install <https://docs.platformio.org/en/latest/userguide/lib/cmd_install.html>`__ command.
|
||||||
|
|
||||||
|
Using ``<name>=<source>`` syntax, it is possible to override the version used for libraries that are automatically added
|
||||||
|
by one of ESPHome's components. This can be useful during development to make ESPHome use a custom fork of a library.
|
||||||
|
|
||||||
|
By default, ESPHome does not include any libraries into the project. This means that libraries that are bundled with
|
||||||
|
Arduino, such as ``Wire`` or ``EEPROM``, aren't available. If you need to use them, you should list them manually under
|
||||||
|
this option. If they are used by another library, they should be listed before the library that uses them.
|
||||||
|
|
||||||
.. _preferences-flash_write_interval:
|
.. _preferences-flash_write_interval:
|
||||||
|
|
||||||
Adjusting flash writes
|
Adjusting flash writes
|
||||||
|
@ -429,6 +429,10 @@ entries with each having a unique name like so:
|
|||||||
transition_length: 4s
|
transition_length: 4s
|
||||||
update_interval: 5s
|
update_interval: 5s
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
After setting a light effect, it is possible to reset the in-use effect back to a static light by setting the ``effect`` to ``none`` when it is being called through Home Assistant or directly on the device.
|
||||||
|
|
||||||
Pulse Effect
|
Pulse Effect
|
||||||
************
|
************
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@ in ESPHome for an individually addressable lights like NeoPixel or WS2812.
|
|||||||
|
|
||||||
It is very similar to the :doc:`fastled` platform.
|
It is very similar to the :doc:`fastled` platform.
|
||||||
In fact, most addressable lights are supported through both light platforms. The
|
In fact, most addressable lights are supported through both light platforms. The
|
||||||
difference is that they use different libraries: While the fastled platform uses
|
difference is that they use different libraries: while the fastled platform uses
|
||||||
the `FastLED <https://github.com/FastLED/FastLED>`__ library, this integration uses
|
the `FastLED <https://github.com/FastLED/FastLED>`__ library, this integration uses
|
||||||
the `NeoPixelBus <https://github.com/Makuna/NeoPixelBus/>`__ library internally.
|
the `NeoPixelBus <https://github.com/Makuna/NeoPixelBus/>`__ library internally.
|
||||||
|
|
||||||
@ -20,6 +20,7 @@ the `NeoPixelBus <https://github.com/Makuna/NeoPixelBus/>`__ library internally.
|
|||||||
light:
|
light:
|
||||||
- platform: neopixelbus
|
- platform: neopixelbus
|
||||||
type: GRB
|
type: GRB
|
||||||
|
variant: WS2811
|
||||||
pin: GPIO23
|
pin: GPIO23
|
||||||
num_leds: 60
|
num_leds: 60
|
||||||
name: "NeoPixel Light"
|
name: "NeoPixel Light"
|
||||||
@ -31,53 +32,135 @@ Configuration variables:
|
|||||||
|
|
||||||
- **name** (**Required**, string): The name of the light.
|
- **name** (**Required**, string): The name of the light.
|
||||||
- **id** (*Optional*, :ref:`config-id`): Manually specify the ID used for code generation.
|
- **id** (*Optional*, :ref:`config-id`): Manually specify the ID used for code generation.
|
||||||
|
- **num_leds** (**Required**, int): The number of LEDs attached.
|
||||||
- **effects** (*Optional*, list): A list of :ref:`light effects <light-effects>` to use for this light.
|
- **effects** (*Optional*, list): A list of :ref:`light effects <light-effects>` to use for this light.
|
||||||
|
|
||||||
**Type Options:**
|
**Type Options:**
|
||||||
|
|
||||||
- **type** (*Optional*, string): The type of light. This is used to specify
|
- **type** (*Optional*, string): The type of light. This is used to specify
|
||||||
if it is an RGBW or RGB light and in which order the colors are. Defaults to
|
if it is an RGBW or RGB light and in which order the colors are. Defaults to
|
||||||
``GRB``. Change this if you have lights with white value and/or the colors are in the wrong order.
|
``GRB``. Change this if you have lights with white channel and/or the colors are in the wrong order.
|
||||||
- **variant** (*Optional*, string): The chipset variant. You can read more about these
|
- **variant** (**Required**, string): The chipset of the light.
|
||||||
`here <https://github.com/Makuna/NeoPixelBus/wiki/NeoPixelBus-object#neopixel-led-model-specific-methods>`__
|
|
||||||
(some of the info on that page is not entirely correct).
|
|
||||||
One of these values:
|
|
||||||
|
|
||||||
- ``800KBPS`` (default)
|
The following options are supported:
|
||||||
|
|
||||||
|
- ``800KBPS`` (generic option, recommended for chipsets without explicit support)
|
||||||
- ``400KBPS``
|
- ``400KBPS``
|
||||||
|
- ``WS2811``
|
||||||
|
- ``WS2812``
|
||||||
- ``WS2812X``
|
- ``WS2812X``
|
||||||
|
- ``WS2813``
|
||||||
- ``SK6812``
|
- ``SK6812``
|
||||||
- ``WS2813`` (same as ``WS2812X``)
|
- ``TM1814``
|
||||||
- ``WS2812`` (same as ``800KBPS``)
|
- ``TM1829``
|
||||||
- ``LC8812`` (same as ``SK6812``)
|
- ``TM1914``
|
||||||
|
- ``APA106``
|
||||||
|
- ``LC8812``
|
||||||
|
|
||||||
- **method** (*Optional*, string): The method to transmit the data with. You can read
|
Additionally the following two-wire chipsets (set ``data_pin`` and ``clock_pin``)
|
||||||
more about these here: `ESP32 <https://github.com/Makuna/NeoPixelBus/wiki/ESP32-NeoMethods>`__,
|
are supported:
|
||||||
`ESP8266 <https://github.com/Makuna/NeoPixelBus/wiki/ESP8266-NeoMethods>`__
|
|
||||||
|
|
||||||
- ``ESP8266_DMA`` (default for ESP8266, only on pin GPIO3)
|
- ``WS2801``
|
||||||
- ``ESP8266_UART0`` (only on pin GPIO1)
|
- ``DotStar``
|
||||||
- ``ESP8266_UART1`` (only on pin GPIO2)
|
- ``LPD6803``
|
||||||
- ``ESP8266_ASYNC_UART0`` (only on pin GPIO1)
|
- ``LPD8806``
|
||||||
- ``ESP8266_ASYNC_UART1`` (only on pin GPIO2)
|
- ``P9813``
|
||||||
- ``ESP32_I2S_0``
|
|
||||||
- ``ESP32_I2S_1`` (default for ESP32)
|
|
||||||
- ``BIT_BANG`` (can flicker a bit)
|
|
||||||
|
|
||||||
- **num_leds** (**Required**, int): The number of LEDs attached.
|
- **method** (*Optional*, string): The method used to transmit the data. By default, ESPHome will try to use the best method
|
||||||
- **invert** (*Optional*, boolean): Invert data output, for use with n-type transistor. Defaults to ``no``.
|
available for this chipset, ESP platform, and the given pin. See :ref:`methods <neopixelbus-methods>` for more information.
|
||||||
|
|
||||||
**Pin Options:** Some chipsets have two data pins to connect, others only have one.
|
- **invert** (*Optional*, boolean): Invert data output, for use with n-type transistors. Defaults to ``no``.
|
||||||
|
|
||||||
|
**Pin Options:**
|
||||||
|
|
||||||
|
Some chipsets have two data pins to connect, others only have one.
|
||||||
If you have one line, only specify ``pin``, otherwise specify both ``clock_pin`` and ``data_pin``.
|
If you have one line, only specify ``pin``, otherwise specify both ``clock_pin`` and ``data_pin``.
|
||||||
|
|
||||||
- **pin** (**Required**, :ref:`config-pin`): The pin for the data line of the light.
|
- **pin** (**Required**, :ref:`config-pin`): The pin for the data line of the light.
|
||||||
- **clock_pin** (**Required**, :ref:`config-pin`): The pin for the clock line of the light, for two-pin lights.
|
- **clock_pin** (**Required**, :ref:`config-pin`): The pin for the clock line of the light, for two-wire lights.
|
||||||
- **data_pin** (**Required**, :ref:`config-pin`): The pin for the data line of the light, for two-pin lights.
|
- **data_pin** (**Required**, :ref:`config-pin`): The pin for the data line of the light, for two-wire lights.
|
||||||
|
|
||||||
**Advanced Options:**
|
**Advanced Options:**
|
||||||
|
|
||||||
- All other options from :ref:`Light <config-light>`.
|
- All other options from :ref:`Light <config-light>`.
|
||||||
|
|
||||||
|
.. warning::
|
||||||
|
|
||||||
|
On ESP8266 it's highly recommended to connect the light strip to pin
|
||||||
|
GPIO3 to reduce flickering.
|
||||||
|
|
||||||
|
.. _neopixelbus-methods:
|
||||||
|
|
||||||
|
Methods
|
||||||
|
-------
|
||||||
|
|
||||||
|
NeoPixelBus supports different methods to transmit the pixel data to the light strip depending
|
||||||
|
on the chipset, ESP platform and pin.
|
||||||
|
|
||||||
|
Each of these has their own advantages/disadvantages regarding stability and speed. By default
|
||||||
|
ESPHome will choose the best one that is available on the device. However, you can override this
|
||||||
|
by manually supplying the method option.
|
||||||
|
|
||||||
|
.. code-block:: yaml
|
||||||
|
|
||||||
|
light:
|
||||||
|
- platform: neopixelbus
|
||||||
|
# ...
|
||||||
|
method:
|
||||||
|
type: esp8266_uart
|
||||||
|
bus: 0
|
||||||
|
async: false
|
||||||
|
|
||||||
|
Use the ``type`` configuration variable to select the method used. The additional configuration
|
||||||
|
settings vary by method:
|
||||||
|
|
||||||
|
- **bit_bang**: The simplest method and available on all platforms. However, it can produce quite a bit of flickering,
|
||||||
|
and so is not recommended for use. On ESP8266, supports pins GPIO0-GPIO15, on ESP32 pins GPIO0-GPIO31.
|
||||||
|
|
||||||
|
- **esp8266_dma**: The recommended method for ESP8266s. Only available on pin GPIO3.
|
||||||
|
|
||||||
|
- **esp8266_uart**: An alternative method for ESP8266s that uses the UART peripheral to send data.
|
||||||
|
Available on pin GPIO1 for bus 0, and GPIO2 for bus 1. Additional options:
|
||||||
|
|
||||||
|
- **bus** (*Optional*, int): The UART bus to use. If 0, the logger ``baud_rate`` option must
|
||||||
|
be set to 0 and logs over USB/serial won't work.
|
||||||
|
- **async** (*Optional*, boolean): Use an asynchronous transfer. Defaults to ``false``. If enabled,
|
||||||
|
the logger must be disabled even if bus 1 is used.
|
||||||
|
|
||||||
|
- **esp32_i2s**: The recommended method for ESP32. Available on all output pins. Additional options:
|
||||||
|
|
||||||
|
- **bus** (*Optional*): The I2S bus to use. The ESP32 has bus 0 or 1 available, but the ESP32-S2 only bus 0.
|
||||||
|
One of ``0``, ``1``, ``dynamic``.
|
||||||
|
|
||||||
|
- **esp32_rmt**: An alternative method for ESP32 that uses the RMT peripheral to send data.
|
||||||
|
Available on all output pins. Additional options:
|
||||||
|
|
||||||
|
- **channel** (*Optional*): The RMT channel to use. The ESP32 has channels 0-7, ESP32-S2 0-3 and ESP32-C3 0-1.
|
||||||
|
Defaults to 6 on ESP32, and 1 on other ESP32 variants.
|
||||||
|
|
||||||
|
The following method is available only for two-wire chips (specify ``data_pin`` and ``clock_pin``):
|
||||||
|
|
||||||
|
- **spi**: Uses the hardware SPI interface to transmit the data. Available on both ESP platforms.
|
||||||
|
Additional options:
|
||||||
|
|
||||||
|
- **bus** (*Optional*, string): On ESP32s the SPI bus to be used can be selected. One of ``vspi`` and ``hspi``.
|
||||||
|
- **speed** (*Optional*, int): The frequency to send data with. Defaults to ``10MHz``. One of
|
||||||
|
``40MHz``, ``20MHz``, ``10MHz``, ``5MHz``, ``2MHz``, ``1MHz``, ``500KHz``.
|
||||||
|
|
||||||
|
On ESP8266 only GPIO13 can be used for ``data_pin`` and only GPIO14 can be used for ``clock_pin``.
|
||||||
|
|
||||||
|
The ``method`` key also accepts a short-hand syntax consisting of a single value for historic reasons. Usage of
|
||||||
|
this method is no longer recommended, but documented here for reference purposes. Possible values were:
|
||||||
|
|
||||||
|
- ``ESP8266_DMA`` (for ``esp8266_dma``)
|
||||||
|
- ``ESP8266_UART0`` (for ``esp8266_uart`` on bus 0)
|
||||||
|
- ``ESP8266_UART1`` (for ``esp8266_uart`` on bus 1)
|
||||||
|
- ``ESP8266_ASYNC_UART0`` (for ``esp8266_uart`` on bus 0 with async enabled)
|
||||||
|
- ``ESP8266_ASYNC_UART1`` (for ``esp8266_uart`` on bus 1 with async enabled)
|
||||||
|
- ``ESP32_I2S_0`` (for ``esp32_i2s`` on bus 0)
|
||||||
|
- ``ESP32_I2S_1`` (for ``esp32_i2s`` on bus 1)
|
||||||
|
- ``BIT_BANG`` (for ``bit_bang``)
|
||||||
|
|
||||||
See Also
|
See Also
|
||||||
--------
|
--------
|
||||||
|
|
||||||
|
28
components/mdns.rst
Normal file
28
components/mdns.rst
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
mDNS Component
|
||||||
|
==============
|
||||||
|
|
||||||
|
.. seo::
|
||||||
|
:description: Instructions for setting up the mDNS configuration for your ESP node in ESPHome.
|
||||||
|
:image: mdns.svg
|
||||||
|
:keywords: WiFi, WLAN, ESP8266, ESP32, mDNS
|
||||||
|
|
||||||
|
The ``mdns`` component makes the node announce itself on the local network using the multicast DNS (mDNS) protocol.
|
||||||
|
|
||||||
|
Both Home Assistant and the ESPHome dashboard use mDNS to identify the IP address of all ESPHome nodes on the network.
|
||||||
|
If mDNS is disabled, they will no longer be able to automatically find your devices. It may be necessary to use a static
|
||||||
|
IP for all nodes and to enable the ping option in the Home Assistant add-on.
|
||||||
|
|
||||||
|
It is recommended to leave mDNS enabled.
|
||||||
|
|
||||||
|
.. code-block:: yaml
|
||||||
|
|
||||||
|
# Example configuration entry
|
||||||
|
mdns:
|
||||||
|
disabled: false
|
||||||
|
|
||||||
|
.. _mdns-configuration_variables:
|
||||||
|
|
||||||
|
Configuration variables:
|
||||||
|
------------------------
|
||||||
|
|
||||||
|
- **disabled** (*Optional*, boolean): Set to true to disable mDNS usage. Defaults to false.
|
@ -31,7 +31,7 @@ Configuration variables:
|
|||||||
- **name** (**Required**, string): The name of the voltage sensor.
|
- **name** (**Required**, string): The name of the voltage sensor.
|
||||||
- **attenuation** (*Optional*): Only on ESP32. Specify the ADC
|
- **attenuation** (*Optional*): Only on ESP32. Specify the ADC
|
||||||
attenuation to use. See :ref:`adc-esp32_attenuation`. Defaults to ``0db``.
|
attenuation to use. See :ref:`adc-esp32_attenuation`. Defaults to ``0db``.
|
||||||
- **raw** (*Optional*): Allows to read the raw ADC output without any conversion or calibration. Defaults to ``false``.
|
- **raw** (*Optional*): Allows to read the raw ADC output without any conversion or calibration. See :ref:`adc-raw`. Defaults to ``false``.
|
||||||
- **update_interval** (*Optional*, :ref:`config-time`): The interval
|
- **update_interval** (*Optional*, :ref:`config-time`): The interval
|
||||||
to check the sensor. Defaults to ``60s``.
|
to check the sensor. Defaults to ``60s``.
|
||||||
- **id** (*Optional*, :ref:`config-id`): Manually specify the ID used for code generation.
|
- **id** (*Optional*, :ref:`config-id`): Manually specify the ID used for code generation.
|
||||||
@ -71,6 +71,27 @@ To simplify this, we provide the setting ``attenuation: auto`` for an automatic/
|
|||||||
Even though the measurements are calibrated, the range *limits* are variable among chips due to differences in the internal voltage reference.
|
Even though the measurements are calibrated, the range *limits* are variable among chips due to differences in the internal voltage reference.
|
||||||
|
|
||||||
|
|
||||||
|
.. _adc-raw:
|
||||||
|
|
||||||
|
Different ESP32-ADC behavior since 2021.11
|
||||||
|
------------------------------------------
|
||||||
|
|
||||||
|
The ADC output reads voltage very accurately since 2021.11 where manufacturer calibration was incorporated. Before this every ESP32 would read different voltages and be largely innacurate/nonlinear. Users with a manually calibrated setup are encouraged to check their the installations to ensure proper output.
|
||||||
|
For users that don't need a precise voltage reading, the "raw" output option allows to have the raw ADC values (0-4095 for ESP32) prior to manufacturer calibration. It is possible to get the old uncalibrated measurements with a filter multiplier:
|
||||||
|
|
||||||
|
.. code-block:: yaml
|
||||||
|
|
||||||
|
# To replicate old uncalibrated output, set raw:true and keep only one of the multiplier lines.
|
||||||
|
raw: true
|
||||||
|
filters:
|
||||||
|
- multiply: 0.00026862 # 1.1/4095, for attenuation 0db
|
||||||
|
- multiply: 0.00036630 # 1.5/4095, for attenuation 2.5db
|
||||||
|
- multiply: 0.00053724 # 2.2/4095, for attenuation 6db
|
||||||
|
- multiply: 0.00095238 # 3.9/4095, for attenuation 11db
|
||||||
|
# your existing filters would go here
|
||||||
|
|
||||||
|
Note we don't recommend this method as it will change between chips, and newer ESP32 modules have different ranges (i.e. 0-8191); it is better to use the new calibrated voltages and update any existing filters accordingly.
|
||||||
|
|
||||||
.. _adc-esp8266_vcc:
|
.. _adc-esp8266_vcc:
|
||||||
|
|
||||||
ESP8266 Measuring VCC
|
ESP8266 Measuring VCC
|
||||||
|
@ -231,6 +231,55 @@ Configuration variables:
|
|||||||
- **id** (*Optional*, :ref:`config-id`): Set the ID of this sensor for use in lambdas.
|
- **id** (*Optional*, :ref:`config-id`): Set the ID of this sensor for use in lambdas.
|
||||||
- All other options from :ref:`Text Sensor <config-text_sensor>`.
|
- All other options from :ref:`Text Sensor <config-text_sensor>`.
|
||||||
|
|
||||||
|
- **timestamp** (*Optional*): Timestamp
|
||||||
|
|
||||||
|
- **name** (**Required**, string): The name for the timestamp sensor.
|
||||||
|
- **id** (*Optional*, :ref:`config-id`): Set the ID of this sensor for use in lambdas.
|
||||||
|
- All other options from :ref:`Text Sensor <config-text_sensor>`.
|
||||||
|
|
||||||
|
- **electricity_tariff** (*Optional*): The current tariff. According to the specs value
|
||||||
|
'0001' means 'normal tariff' and value '0002' means 'low tariff'. Your meter may report differently.
|
||||||
|
|
||||||
|
- **name** (**Required**, string): The name for the electricity_tariff sensor.
|
||||||
|
- **id** (*Optional*, :ref:`config-id`): Set the ID of this sensor for use in lambdas.
|
||||||
|
- All other options from :ref:`Text Sensor <config-text_sensor>`.
|
||||||
|
|
||||||
|
- **electricity_failure_log** (*Optional*): Electricity Failure Log
|
||||||
|
|
||||||
|
- **name** (**Required**, string): The name for the electricity_failure_log sensor.
|
||||||
|
- **id** (*Optional*, :ref:`config-id`): Set the ID of this sensor for use in lambdas.
|
||||||
|
- All other options from :ref:`Text Sensor <config-text_sensor>`.
|
||||||
|
|
||||||
|
- **message_short** (*Optional*): Message Short
|
||||||
|
|
||||||
|
- **name** (**Required**, string): The name for the message_short sensor.
|
||||||
|
- **id** (*Optional*, :ref:`config-id`): Set the ID of this sensor for use in lambdas.
|
||||||
|
- All other options from :ref:`Text Sensor <config-text_sensor>`.
|
||||||
|
|
||||||
|
- **message_long** (*Optional*): Message Long
|
||||||
|
|
||||||
|
- **name** (**Required**, string): The name for the message_long sensor.
|
||||||
|
- **id** (*Optional*, :ref:`config-id`): Set the ID of this sensor for use in lambdas.
|
||||||
|
- All other options from :ref:`Text Sensor <config-text_sensor>`.
|
||||||
|
|
||||||
|
- **gas_equipment_id** (*Optional*): Gas Equipment ID.
|
||||||
|
|
||||||
|
- **name** (**Required**, string): The name for the gas_equipment_id sensor.
|
||||||
|
- **id** (*Optional*, :ref:`config-id`): Set the ID of this sensor for use in lambdas.
|
||||||
|
- All other options from :ref:`Text Sensor <config-text_sensor>`.
|
||||||
|
|
||||||
|
- **water_equipment_id** (*Optional*): Water Equipment ID
|
||||||
|
|
||||||
|
- **name** (**Required**, string): The name for the water_equipment_id sensor.
|
||||||
|
- **id** (*Optional*, :ref:`config-id`): Set the ID of this sensor for use in lambdas.
|
||||||
|
- All other options from :ref:`Text Sensor <config-text_sensor>`.
|
||||||
|
|
||||||
|
- **sub_equipment_id** (*Optional*): Sub Equipment ID
|
||||||
|
|
||||||
|
- **name** (**Required**, string): The name for the sub_equipment_id sensor.
|
||||||
|
- **id** (*Optional*, :ref:`config-id`): Set the ID of this sensor for use in lambdas.
|
||||||
|
- All other options from :ref:`Text Sensor <config-text_sensor>`.
|
||||||
|
|
||||||
- **gas_delivered_text** (*Optional*): A text sensor which unformatted gas data. You need to
|
- **gas_delivered_text** (*Optional*): A text sensor which unformatted gas data. You need to
|
||||||
apply a custom parsing of this value depending on your meter format.
|
apply a custom parsing of this value depending on your meter format.
|
||||||
|
|
||||||
|
@ -16,7 +16,7 @@ temperature sensor (`datasheet <https://datasheets.maximintegrated.com/en/ds/MAX
|
|||||||
|
|
||||||
.. _SainSmart: https://www.sainsmart.com/products/max6675-module-k-type-thermocouple-thermocouple-sensor-temperature-0-1024-for-arduino
|
.. _SainSmart: https://www.sainsmart.com/products/max6675-module-k-type-thermocouple-thermocouple-sensor-temperature-0-1024-for-arduino
|
||||||
|
|
||||||
As the communication with the MAX66775 is done using SPI, you need
|
As the communication with the MAX6675 is done using SPI, you need
|
||||||
to have an :ref:`SPI bus <spi>` in your configuration with the **miso_pin** set (MOSI is not required).
|
to have an :ref:`SPI bus <spi>` in your configuration with the **miso_pin** set (MOSI is not required).
|
||||||
|
|
||||||
Connect ``GND`` to ``GND``, ``VCC`` to ``3.3V`` and the other three ``MISO`` (or ``SO`` for short),
|
Connect ``GND`` to ``GND``, ``VCC`` to ``3.3V`` and the other three ``MISO`` (or ``SO`` for short),
|
||||||
|
@ -50,12 +50,12 @@ Automation:
|
|||||||
- **on_sunrise** (*Optional*, :ref:`Automation <automation>`): An automation to perform at sunrise
|
- **on_sunrise** (*Optional*, :ref:`Automation <automation>`): An automation to perform at sunrise
|
||||||
when the sun crosses a specified angle.
|
when the sun crosses a specified angle.
|
||||||
|
|
||||||
- **elevation** (*Optional*, float): The elevation to cross. Defaults to 0° (horizon).
|
- **elevation** (*Optional*, float): The elevation to cross. Defaults to -0.833° (the horizon, slightly less than 0° to compensate for atmospheric refraction).
|
||||||
|
|
||||||
- **on_sunset** (*Optional*, :ref:`Automation <automation>`): An automation to perform at sunset
|
- **on_sunset** (*Optional*, :ref:`Automation <automation>`): An automation to perform at sunset
|
||||||
when the sun crosses a specified angle.
|
when the sun crosses a specified angle.
|
||||||
|
|
||||||
- **elevation** (*Optional*, float): The elevation to cross. Defaults to 0° (horizon).
|
- **elevation** (*Optional*, float): The elevation to cross. Defaults to -0.833° (the horizon, slightly less than 0° to compensate for atmospheric refraction).```
|
||||||
|
|
||||||
``sun`` Sensor
|
``sun`` Sensor
|
||||||
--------------
|
--------------
|
||||||
@ -111,7 +111,7 @@ Configuration variables:
|
|||||||
``sunset``.
|
``sunset``.
|
||||||
- **name** (**Required**, string): The name of the text sensor.
|
- **name** (**Required**, string): The name of the text sensor.
|
||||||
- **elevation** (*Optional*, float): The elevation to calculate the next sunrise/sunset event
|
- **elevation** (*Optional*, float): The elevation to calculate the next sunrise/sunset event
|
||||||
for. Defaults to ``0°``.
|
for. Defaults to -0.833° (the horizon, slightly less than 0° to compensate for atmospheric refraction).
|
||||||
- **format** (*Optional*, string): The format to format the time value with, see :ref:`display-strftime`
|
- **format** (*Optional*, string): The format to format the time value with, see :ref:`display-strftime`
|
||||||
for more information. Defaults to ``%X``.
|
for more information. Defaults to ``%X``.
|
||||||
|
|
||||||
|
@ -150,7 +150,7 @@ of the debugging feature.
|
|||||||
- **bytes** (*Optional*, int): Trigger after accumulating the specified number of bytes. Defaults to 150.
|
- **bytes** (*Optional*, int): Trigger after accumulating the specified number of bytes. Defaults to 150.
|
||||||
- **timeout** (*Optional*, :ref:`config-time`): Trigger after no communication has been seen during the
|
- **timeout** (*Optional*, :ref:`config-time`): Trigger after no communication has been seen during the
|
||||||
specified timeout, while one or more bytes have been accumulated. Defaults to 100ms.
|
specified timeout, while one or more bytes have been accumulated. Defaults to 100ms.
|
||||||
- **sequence** (*Optional*, string or list of bytes): Trigger after the specified sequence of bytes is
|
- **delimiter** (*Optional*, string or list of bytes): Trigger after the specified sequence of bytes is
|
||||||
detected in the communication.
|
detected in the communication.
|
||||||
|
|
||||||
- **sequence** (*Optional*, :ref:`config-action`): Action(s) to perform for publishing debugging data.
|
- **sequence** (*Optional*, :ref:`config-action`): Action(s) to perform for publishing debugging data.
|
||||||
|
@ -62,7 +62,6 @@ Configuration variables:
|
|||||||
- **ap_timeout** (*Optional*, :ref:`time <config-time>`): The time after which to enable the
|
- **ap_timeout** (*Optional*, :ref:`time <config-time>`): The time after which to enable the
|
||||||
configured fallback hotspot. Defaults to ``1min``.
|
configured fallback hotspot. Defaults to ``1min``.
|
||||||
|
|
||||||
- **enable_mdns** (*Optional*, boolean): Controls if your node should advertise its presence and services using mDNS. When set to ``false`` you won't be able to access your node using its hostname which can break certain functionalities. Please see :ref:`notes on disabling mDNS <faq-notes_on_disabling_mdns>`. Defaults to ``true``.
|
|
||||||
- **domain** (*Optional*, string): Set the domain of the node hostname used for uploading.
|
- **domain** (*Optional*, string): Set the domain of the node hostname used for uploading.
|
||||||
For example, if it's set to ``.local``, all uploads will be sent to ``<HOSTNAME>.local``.
|
For example, if it's set to ``.local``, all uploads will be sent to ``<HOSTNAME>.local``.
|
||||||
Defaults to ``.local``.
|
Defaults to ``.local``.
|
||||||
|
1
images/radio-tower.svg
Normal file
1
images/radio-tower.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"><path d="M12,10A2,2 0 0,1 14,12C14,12.5 13.82,12.94 13.53,13.29L16.7,22H14.57L12,14.93L9.43,22H7.3L10.47,13.29C10.18,12.94 10,12.5 10,12A2,2 0 0,1 12,10M12,8A4,4 0 0,0 8,12C8,12.5 8.1,13 8.28,13.46L7.4,15.86C6.53,14.81 6,13.47 6,12A6,6 0 0,1 12,6A6,6 0 0,1 18,12C18,13.47 17.47,14.81 16.6,15.86L15.72,13.46C15.9,13 16,12.5 16,12A4,4 0 0,0 12,8M12,4A8,8 0 0,0 4,12C4,14.36 5,16.5 6.64,17.94L5.92,19.94C3.54,18.11 2,15.23 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12C22,15.23 20.46,18.11 18.08,19.94L17.36,17.94C19,16.5 20,14.36 20,12A8,8 0 0,0 12,4Z" /></svg>
|
After Width: | Height: | Size: 829 B |
@ -569,6 +569,7 @@ Misc Components
|
|||||||
Remote Transmitter, components/remote_transmitter, remote.svg
|
Remote Transmitter, components/remote_transmitter, remote.svg
|
||||||
Status LED, components/status_led, led-on.svg
|
Status LED, components/status_led, led-on.svg
|
||||||
HTTP Request, components/http_request, connection.svg
|
HTTP Request, components/http_request, connection.svg
|
||||||
|
mDNS, components/mdns, radio-tower.svg
|
||||||
|
|
||||||
Time, components/time, clock-outline.svg
|
Time, components/time, clock-outline.svg
|
||||||
Sun, components/sun, weather-sunny.svg
|
Sun, components/sun, weather-sunny.svg
|
||||||
|
Loading…
Reference in New Issue
Block a user