2
Doxygen
@ -38,7 +38,7 @@ PROJECT_NAME = "ESPHome"
|
||||
# could be handy for archiving the generated documentation or if some version
|
||||
# control system is used.
|
||||
|
||||
PROJECT_NUMBER = 2024.3.2
|
||||
PROJECT_NUMBER = 2024.4.0b1
|
||||
|
||||
# Using the PROJECT_BRIEF tag one can provide an optional one line description
|
||||
# for a project that appears at the top of each page and should give viewer a
|
||||
|
2
Makefile
@ -1,5 +1,5 @@
|
||||
ESPHOME_PATH = ../esphome
|
||||
ESPHOME_REF = 2024.3.2
|
||||
ESPHOME_REF = 2024.4.0b1
|
||||
|
||||
.PHONY: html html-strict cleanhtml deploy help live-html Makefile netlify netlify-api api netlify-dependencies svg2png copy-svg2png minify
|
||||
|
||||
|
BIN
_static/changelog-2024.4.0.png
Normal file
After Width: | Height: | Size: 278 KiB |
@ -1 +1 @@
|
||||
2024.3.2
|
||||
2024.4.0b1
|
176
changelog/2024.4.0.rst
Normal file
@ -0,0 +1,176 @@
|
||||
ESPHome 2024.4.0 - 17th April 2024
|
||||
==================================
|
||||
|
||||
.. seo::
|
||||
:description: Changelog for ESPHome 2024.4.0.
|
||||
:image: /_static/changelog-2024.4.0.png
|
||||
:author: Jesse Hills
|
||||
:author_twitter: @jesserockz
|
||||
|
||||
.. imgtable::
|
||||
:columns: 4
|
||||
|
||||
Template Datetime Time, components/datetime/template, description.svg, dark-invert
|
||||
SUN-GTIL2 inverter, components/sun_gtil2, sun_1000g2.png
|
||||
AT581X, components/at581x, at581x.png
|
||||
JSN-SR04T, components/sensor/jsn_sr04t, jsn-sr04t-v3.jpg
|
||||
|
||||
Daikin ARC, components/climate/climate_ir, air-conditioner-ir.svg, dark-invert
|
||||
HHCCJCY10 (MiFlora Pink), components/sensor/xiaomi_hhccjcy10, xiaomi_hhccjcy10.jpg
|
||||
TLC5971, components/output/tlc5971, tlc5971.jpg
|
||||
Dooya, components/remote_transmitter, remote.svg
|
||||
|
||||
Full list of changes
|
||||
--------------------
|
||||
|
||||
New Components
|
||||
^^^^^^^^^^^^^^
|
||||
|
||||
- Add sun_gtil2 component (for SUN-1000G2 / SUN-2000G2 grid tie inverters) :esphomepr:`4958` by :ghuser:`Mat931` (new-integration)
|
||||
- Add support for AT581x component :esphomepr:`6297` by :ghuser:`X-Ryl669` (new-integration)
|
||||
- Add new Component: Ultrasonic Distance Sensor JSN-SR04T :esphomepr:`6023` by :ghuser:`Mafus1` (new-integration)
|
||||
- feat: Add Daikin ARC (tested on Daikin ARC472A62) :esphomepr:`6429` by :ghuser:`magicbear` (new-integration)
|
||||
- add support for Tuya pink version of miflora :esphomepr:`5402` by :ghuser:`fariouche` (new-integration)
|
||||
- Implemented support for the TLC5971 as an output component :esphomepr:`6494` by :ghuser:`IJIJI` (new-integration)
|
||||
|
||||
Breaking Changes
|
||||
^^^^^^^^^^^^^^^^
|
||||
|
||||
- Add support for new modes in Tuya Climate :esphomepr:`5159` by :ghuser:`moriahmorgan` (breaking-change)
|
||||
- IPv6 string representation follows RFC5952 :esphomepr:`6449` by :ghuser:`HeMan` (breaking-change)
|
||||
|
||||
All changes
|
||||
^^^^^^^^^^^
|
||||
|
||||
- Bump docker/login-action from 3.0.0 to 3.1.0 :esphomepr:`6367` by :ghuser:`dependabot[bot]`
|
||||
- Bump peter-evans/create-pull-request from 6.0.1 to 6.0.2 :esphomepr:`6361` by :ghuser:`dependabot[bot]`
|
||||
- Bump docker/build-push-action from 5.2.0 to 5.3.0 in /.github/actions/build-image :esphomepr:`6373` by :ghuser:`dependabot[bot]`
|
||||
- Bump docker/setup-buildx-action from 3.1.0 to 3.2.0 :esphomepr:`6372` by :ghuser:`dependabot[bot]`
|
||||
- Fix deep_sleep for ESP32-C6 :esphomepr:`6377` by :ghuser:`ferrets6`
|
||||
- Fix keeloq for IDF 5+ :esphomepr:`6382` by :ghuser:`kbx81`
|
||||
- Fix Nextion set_component_picture call :esphomepr:`6378` by :ghuser:`edwardtfn`
|
||||
- Add line_at_angle method to Display component :esphomepr:`6381` by :ghuser:`deisterhold`
|
||||
- Check generated proto files are as expected if any are modified in PRs :esphomepr:`6254` by :ghuser:`jesserockz`
|
||||
- ld2420: fix energy mode documentation :esphomepr:`6225` by :ghuser:`andresv`
|
||||
- Add actions for component tests A, B and C :esphomepr:`6256` by :ghuser:`kbx81`
|
||||
- Add some components to the new testing framework (V) :esphomepr:`6231` by :ghuser:`kbx81`
|
||||
- Add some components to the new testing framework (X,Y,Z) :esphomepr:`6233` by :ghuser:`kbx81`
|
||||
- Add some components to the new testing framework (E) :esphomepr:`6176` by :ghuser:`kbx81`
|
||||
- Make SPI compile with IDF >= 5.0 :esphomepr:`6383` by :ghuser:`HeMan`
|
||||
- Fix esp32-camera test yaml :esphomepr:`6398` by :ghuser:`kbx81`
|
||||
- Bump pytest-asyncio from 0.23.5.post1 to 0.23.6 :esphomepr:`6402` by :ghuser:`dependabot[bot]`
|
||||
- Bump actions/cache from 4.0.1 to 4.0.2 in /.github/actions/restore-python :esphomepr:`6403` by :ghuser:`dependabot[bot]`
|
||||
- Bump actions/cache from 4.0.1 to 4.0.2 :esphomepr:`6404` by :ghuser:`dependabot[bot]`
|
||||
- Bump ESP8266 Arduino versions :esphomepr:`5359` by :ghuser:`HeMan`
|
||||
- Allow accept/reject delta to be specified. :esphomepr:`5060` by :ghuser:`cvwillegen`
|
||||
- Allow setting htop for ledc :esphomepr:`6340` by :ghuser:`Gagootron`
|
||||
- sm2135: add separate_modes option to support different chip variants :esphomepr:`6152` by :ghuser:`jasperro`
|
||||
- AHT10: fix temperature-only operation; add warning/error messages :esphomepr:`6405` by :ghuser:`clydebarrow`
|
||||
- Add support for new modes in Tuya Climate :esphomepr:`5159` by :ghuser:`moriahmorgan` (breaking-change)
|
||||
- Add sun_gtil2 component (for SUN-1000G2 / SUN-2000G2 grid tie inverters) :esphomepr:`4958` by :ghuser:`Mat931` (new-integration)
|
||||
- SPI: Make some validation failures give more useful messages. :esphomepr:`6413` by :ghuser:`clydebarrow`
|
||||
- Bump aioesphomeapi from 23.1.1 to 23.2.0 :esphomepr:`6412` by :ghuser:`dependabot[bot]`
|
||||
- Add check for use of GPIOXX in config :esphomepr:`6419` by :ghuser:`clydebarrow`
|
||||
- WireGuard for esp8266 :esphomepr:`6365` by :ghuser:`droscy`
|
||||
- setup.cfg: drop duplicate, underintended trove classifier :esphomepr:`6421` by :ghuser:`mweinelt`
|
||||
- Store preferences in disk file on host platform :esphomepr:`6428` by :ghuser:`clydebarrow`
|
||||
- Add support for AT581x component :esphomepr:`6297` by :ghuser:`X-Ryl669` (new-integration)
|
||||
- Add some components to the new testing framework (F) :esphomepr:`6177` by :ghuser:`kbx81`
|
||||
- Add get_contrast() and get_brightness() to SSD1306 class to get protected variables :esphomepr:`6435` by :ghuser:`benediktkr`
|
||||
- Add new Component: Ultrasonic Distance Sensor JSN-SR04T :esphomepr:`6023` by :ghuser:`Mafus1` (new-integration)
|
||||
- Add some components to the new testing framework (G) :esphomepr:`6178` by :ghuser:`kbx81`
|
||||
- Add some components to the new testing framework (K) :esphomepr:`6186` by :ghuser:`kbx81`
|
||||
- Add some components to the new testing framework (N) :esphomepr:`6210` by :ghuser:`kbx81`
|
||||
- Add some components to the new testing framework (Q) :esphomepr:`6218` by :ghuser:`kbx81`
|
||||
- Add some components to the new testing framework (U) :esphomepr:`6230` by :ghuser:`kbx81`
|
||||
- Fix spacing in new test yaml :esphomepr:`6441` by :ghuser:`kbx81`
|
||||
- Add some components to the new testing framework (W) :esphomepr:`6232` by :ghuser:`kbx81`
|
||||
- Add some components to the new testing framework (L) :esphomepr:`6195` by :ghuser:`kbx81`
|
||||
- feat: Add Daikin ARC (tested on Daikin ARC472A62) :esphomepr:`6429` by :ghuser:`magicbear` (new-integration)
|
||||
- Disable truthy yamllint rule :esphomepr:`6442` by :ghuser:`jesserockz`
|
||||
- Add get_size method to QR Code header :esphomepr:`6430` by :ghuser:`deisterhold`
|
||||
- Minor change to support sht85 sensor :esphomepr:`6415` by :ghuser:`mrtoy-me`
|
||||
- IPv6 string representation follows RFC5952 :esphomepr:`6449` by :ghuser:`HeMan` (breaking-change)
|
||||
- Bump actions/setup-python from 5.0.0 to 5.1.0 :esphomepr:`6437` by :ghuser:`dependabot[bot]`
|
||||
- Bump actions/setup-python from 5.0.0 to 5.1.0 in /.github/actions/restore-python :esphomepr:`6438` by :ghuser:`dependabot[bot]`
|
||||
- Optimize QMC5883L: Read registers only for enabled sensors :esphomepr:`6458` by :ghuser:`tronikos`
|
||||
- minor refactor to allow commit hash as ref value. :esphomepr:`6446` by :ghuser:`LelandSindt`
|
||||
- TMP117 fix polling period config :esphomepr:`6452` by :ghuser:`mrtoy-me`
|
||||
- Bump Arduino Pico Framework to 3.7.2 and Platform to 1.12.0 :esphomepr:`6386` by :ghuser:`HeMan`
|
||||
- Display menu: Allow "left" key to exit current menu if not editing :esphomepr:`6460` by :ghuser:`jesserockz`
|
||||
- Fix NOLINT on inclusive-language check :esphomepr:`6464` by :ghuser:`jesserockz`
|
||||
- Add yamllint to dev requirements :esphomepr:`6466` by :ghuser:`jesserockz`
|
||||
- Add temperature for QMC5883L :esphomepr:`6456` by :ghuser:`tronikos`
|
||||
- web_server: Return early if no clients connected :esphomepr:`6467` by :ghuser:`jesserockz`
|
||||
- ESP32 Arduino WiFi: misc bug fixes :esphomepr:`6470` by :ghuser:`paravoid`
|
||||
- Replace std::regex with sscanf calls :esphomepr:`6468` by :ghuser:`jesserockz`
|
||||
- Include "Failed" status in config log. :esphomepr:`6482` by :ghuser:`clydebarrow`
|
||||
- Fix Microphone IsCapturingCondition :esphomepr:`6490` by :ghuser:`RaymiiOrg`
|
||||
- Remove misleading tag/line in messages :esphomepr:`6495` by :ghuser:`clydebarrow`
|
||||
- Send/Receive Voice Assistant audio via API :esphomepr:`6471` by :ghuser:`jesserockz`
|
||||
- Datetime date initial value fix :esphomepr:`6483` by :ghuser:`RFDarter`
|
||||
- If the loop() took more than the required time, don't delay further :esphomepr:`6496` by :ghuser:`clydebarrow`
|
||||
- Bump LibreTiny version to 1.5.1 :esphomepr:`6500` by :ghuser:`kuba2k2`
|
||||
- Internal temperature: Support Beken platform :esphomepr:`6491` by :ghuser:`Mat931`
|
||||
- Bump docker/setup-buildx-action from 3.2.0 to 3.3.0 :esphomepr:`6502` by :ghuser:`dependabot[bot]`
|
||||
- add support for Tuya pink version of miflora :esphomepr:`5402` by :ghuser:`fariouche` (new-integration)
|
||||
- Add MAC address to WiFi config reply :esphomepr:`6489` by :ghuser:`cvwillegen`
|
||||
- Adds i2c timeout config :esphomepr:`4614` by :ghuser:`tracestep`
|
||||
- Add ABB-Welcome / Busch-Welcome Door Intercom Protocol :esphomepr:`4689` by :ghuser:`Mat931`
|
||||
- Add support for time entities :esphomepr:`6399` by :ghuser:`jesserockz`
|
||||
- Fix Match by IRK :esphomepr:`6499` by :ghuser:`MRemy2`
|
||||
- Add rmt_channel to remote_transmitter and remote_receiver :esphomepr:`6497` by :ghuser:`jesserockz` (new-integration)
|
||||
- Rework tlc5947 to remove AUTO_LOAD :esphomepr:`6503` by :ghuser:`jesserockz`
|
||||
- UART: ignore require_tx/rx if not a native uart implementation :esphomepr:`6504` by :ghuser:`jesserockz`
|
||||
- esp32_rmt_led_strip bugfixes :esphomepr:`6506` by :ghuser:`Mat931`
|
||||
- Implemented support for the TLC5971 as an output component :esphomepr:`6494` by :ghuser:`IJIJI` (new-integration)
|
||||
- Add Dooya protocol to remote_base :esphomepr:`6488` by :ghuser:`bukureckid`
|
||||
- Only give error for connected sensors at startup :esphomepr:`6474` by :ghuser:`leejoow`
|
||||
- Webserver float to string fix :esphomepr:`6507` by :ghuser:`RFDarter`
|
||||
|
||||
Past Changelogs
|
||||
---------------
|
||||
|
||||
- :doc:`2024.3.0`
|
||||
- :doc:`2024.2.0`
|
||||
- :doc:`2023.12.0`
|
||||
- :doc:`2023.11.0`
|
||||
- :doc:`2023.10.0`
|
||||
- :doc:`2023.9.0`
|
||||
- :doc:`2023.8.0`
|
||||
- :doc:`2023.7.0`
|
||||
- :doc:`2023.6.0`
|
||||
- :doc:`2023.5.0`
|
||||
- :doc:`2023.4.0`
|
||||
- :doc:`2023.3.0`
|
||||
- :doc:`2023.2.0`
|
||||
- :doc:`2022.12.0`
|
||||
- :doc:`2022.11.0`
|
||||
- :doc:`2022.10.0`
|
||||
- :doc:`2022.9.0`
|
||||
- :doc:`2022.8.0`
|
||||
- :doc:`2022.6.0`
|
||||
- :doc:`2022.5.0`
|
||||
- :doc:`2022.4.0`
|
||||
- :doc:`2022.3.0`
|
||||
- :doc:`2022.2.0`
|
||||
- :doc:`2022.1.0`
|
||||
- :doc:`2021.12.0`
|
||||
- :doc:`2021.11.0`
|
||||
- :doc:`2021.10.0`
|
||||
- :doc:`2021.9.0`
|
||||
- :doc:`2021.8.0`
|
||||
- :doc:`v1.20.0`
|
||||
- :doc:`v1.19.0`
|
||||
- :doc:`v1.18.0`
|
||||
- :doc:`v1.17.0`
|
||||
- :doc:`v1.16.0`
|
||||
- :doc:`v1.15.0`
|
||||
- :doc:`v1.14.0`
|
||||
- :doc:`v1.13.0`
|
||||
- :doc:`v1.12.0`
|
||||
- :doc:`v1.11.0`
|
||||
- :doc:`v1.10.0`
|
||||
- :doc:`v1.9.0`
|
||||
- :doc:`v1.8.0`
|
||||
- :doc:`v1.7.0`
|
194
components/at581x.rst
Normal file
@ -0,0 +1,194 @@
|
||||
AirTouch AT581x Radar
|
||||
=====================
|
||||
|
||||
.. seo::
|
||||
:description: Instructions for setting up AirTouch AT581x Radar
|
||||
:image: at581x.png
|
||||
:keywords: radar
|
||||
|
||||
The `AirTouch AT581x radar <https://en.airtouching.com/product/32.html>`__
|
||||
(aka ``AT581x``) is a familly of 5.8GHz radar which can be used for human presence detection. It can detect tiny movements
|
||||
and compared to a PIR sensor **it can detect presence continuously**. This can be useful, for example, to turn
|
||||
the lights on when you enter a room, keep them on as long as you are there (without waving your hands at the
|
||||
sensor) and turn them off almost immediately after you leave the room.
|
||||
|
||||
They are ultra-low power (as low as 40µA of current consumption) and are extremely simple to use, yet can be setup by I2C.
|
||||
It's installed in many low cost appliance, like the ESP32S3-BOX-3, and can be found by many different manufacturer or reference,
|
||||
like the MoreSense MS58-3909S68U4.
|
||||
|
||||
It is possible to use this sensor with only a single GPIO pin; however, if you wish to change its settings,
|
||||
a :doc:`/components/i2c` component (and its requisite GPIO pins) is required in your device's configuration.
|
||||
|
||||
.. figure:: ../images/at581x.png
|
||||
:align: center
|
||||
:width: 75%
|
||||
|
||||
AirTouch AT581x Radar / presence detection sensor
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
# Example configuration entry
|
||||
at581x:
|
||||
id: "Radar"
|
||||
i2c_id: bus_a
|
||||
|
||||
binary_sensor:
|
||||
- platform: gpio
|
||||
pin: GPIO21
|
||||
name: "Radar motion"
|
||||
|
||||
switch:
|
||||
# Switch to turn on/off RF emission
|
||||
- platform: at581x
|
||||
at581x_id: "Radar"
|
||||
name: "Enable Radar"
|
||||
|
||||
.. _at581x-component:
|
||||
|
||||
Component/Hub
|
||||
-------------
|
||||
|
||||
You need to have the hub component (``at581x:`` entry) defined to be able to change the sensor's
|
||||
settings, get it listed as an motion entity or being able to turn on/off the radio frequency emmission.
|
||||
A :doc:`/components/binary_sensor/gpio` alone could be sufficient if you only want
|
||||
to determine presence/occupancy. When you define ``at581x:`` you'll need to have a ``i2c:`` entry in
|
||||
your configuration with both the SDA and SCL pins defined.
|
||||
|
||||
Multiple instances of this component may be defined if multiple :doc:`/components/i2c` components are available:
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
at581x:
|
||||
- id: mmWave_1
|
||||
i2c_id: bus_a
|
||||
address: 0x28
|
||||
- id: mmWave_2
|
||||
i2c_id: bus_a
|
||||
address: 0x29
|
||||
...
|
||||
|
||||
Configuration variables:
|
||||
************************
|
||||
|
||||
- **id** (*Optional*, :ref:`config-id`): Manually specify the ID used for code generation. Necessary if you want
|
||||
to define multiple instances of this component.
|
||||
- **i2c_id** (*Optional*, :ref:`config-id`): Manually specify the ID of the :doc:`/components/i2c` if you want
|
||||
to use multiple I2C buses.
|
||||
|
||||
.. _at581x-binary_sensor:
|
||||
|
||||
Binary Sensor
|
||||
-------------
|
||||
|
||||
The state of the radar detection is available via its GPIO pin. It's required to use a GPIO binary sensor to monitor the motion status
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
binary_sensor:
|
||||
- platform: gpio
|
||||
name: "Human in front"
|
||||
pin: GPIO21
|
||||
|
||||
Configuration variables:
|
||||
************************
|
||||
|
||||
- Refer to other options from :ref:`Binary Sensor <config-binary_sensor>` and :doc:`GPIO Binary Sensor </components/binary_sensor/gpio>`.
|
||||
|
||||
.. _at581x-switch:
|
||||
|
||||
Switch
|
||||
------
|
||||
|
||||
:ref:`Switch components <config-switch>` are used to enable/disable radio frequency hardware.
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
switch:
|
||||
- platform: at581x
|
||||
at581x_id: Radar
|
||||
name: "Enable Radar"
|
||||
|
||||
Configuration variables:
|
||||
************************
|
||||
|
||||
- **at581x_id** (*Optional*, :ref:`config-id`): The ID of the AT581x component defined above.
|
||||
Required when multiple instances of the ``at581x`` component are defined.
|
||||
- All other options from :ref:`Switch <config-switch>`.
|
||||
|
||||
.. _at581x-actions:
|
||||
|
||||
Actions
|
||||
-------
|
||||
|
||||
.. _at581x-action_settings:
|
||||
|
||||
``at581x.settings`` Action
|
||||
**************************
|
||||
|
||||
.. warning::
|
||||
|
||||
The hardware frontend reset option is only required to reset the frontend in case it is struck, before sending the
|
||||
new configuration. However, a frontend reset is always performed after changing the settings.
|
||||
|
||||
The radar has several settings which can be changed. These settings are not saved in non-volatile memory
|
||||
and need to be set on each boot.
|
||||
|
||||
The settings action allows changing of any number of the radar's internal parameters/settings. With this
|
||||
action, any unspecified parameters will remain unchanged.
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
on_...:
|
||||
- at581x.settings:
|
||||
id: "Waveradar"
|
||||
hw_frontend_reset: false
|
||||
frequency: 5800MHz
|
||||
sensing_distance: 200 # 0-1023
|
||||
poweron_selfcheck_time: 2000ms
|
||||
protect_time: 1s
|
||||
trigger_base: 500ms
|
||||
trigger_keep: 10s
|
||||
stage_gain: 3 # 0-12 the higher the value the smaller the gain
|
||||
power_consumption: 70µA
|
||||
|
||||
|
||||
Configuration variables:
|
||||
````````````````````````
|
||||
|
||||
- **id** (*Optional*, :ref:`config-id`): Manually specify the ID of the sensor on which settings should be
|
||||
changed. If only one radar is defined, this is optional.
|
||||
- **hw_frontend_reset** (*Optional*, boolean): If set to true, a reset of the analog frontend will be performed before
|
||||
changing other options. Ignored if not set or set to ``false``. Upon applying the settings a frontend reset
|
||||
will be performed anyway, this is only useful if the sensor is not answering or locked up.
|
||||
- **frequency** (*Optional*, int): Any of the possible frequencies (5696, 5715, 5730, 5748, 5765, 5784, 5800, 5819, 5836, 5851, 5869, 5888) in MHz.
|
||||
- **sensing_distance** (*Optional*, int): A unitless number, in range 0-1023, specifying the maximum distance to detect motion
|
||||
- **poweron_selfcheck_time** (*Optional*, int): The delay to perform self check and calibration on power on. Recommanded not to change this
|
||||
- **protect_time** (*Optional*, int): The delay after an end-of-trigger event where the detection will not trigger anymore. Max 65535ms
|
||||
- **trigger_base** (*Optional*, int): The delay while a detection must be active to change the state of the sensor. Max 65535ms
|
||||
- **trigger_keep** (*Optional*, int): The delay that the output will stay high after a detection event. This is usually what you want to change.
|
||||
- **stage_gain** (*Optional*, int): The analog gain to use for threshold test. Any value in range 0-12, with 12 being the lowest gain and 0 the highest
|
||||
- **power_consumption** (*Optional*, int): Any of the possible power profile (48, 56, 63, 70, 77, 91, 105, 115, 40, 44, 47, 51, 54, 61, 68, 78) in µA
|
||||
|
||||
|
||||
``at581x.reset`` Action
|
||||
***********************
|
||||
|
||||
Restart the sensor.
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
on_...:
|
||||
at581x.reset:
|
||||
|
||||
Configuration variables:
|
||||
````````````````````````
|
||||
|
||||
- **id** (*Optional*, :ref:`config-id`): Manually specify the ID of the AT581x component. Useful when multiple instances of this component are defined.
|
||||
|
||||
See Also
|
||||
--------
|
||||
- :ref:`I2C bus <i2c>`
|
||||
- :ref:`Binary Sensor <config-binary_sensor>`
|
||||
- :doc:`GPIO Binary Sensor </components/binary_sensor/gpio>`
|
||||
- :ref:`config-id`
|
||||
- :ghedit:`Edit`
|
@ -27,6 +27,8 @@ submit a feature request (see FAQ).
|
||||
+---------------------------------------+---------------------+----------------------+
|
||||
| Daikin | ``daikin`` | yes |
|
||||
+---------------------------------------+---------------------+----------------------+
|
||||
| :ref:`Daikin ARC<daikin_arc>` | ``daikin_arc`` | yes |
|
||||
+---------------------------------------+---------------------+----------------------+
|
||||
| :ref:`Daikin BRC<daikin_brc>` | ``daikin_brc`` | yes |
|
||||
+---------------------------------------+---------------------+----------------------+
|
||||
| :ref:`Delonghi<delonghi_ir>` | ``delonghi`` | yes |
|
||||
@ -222,6 +224,21 @@ Configuration variables:
|
||||
header_high: 3265us # AC Units from LG in Brazil, for example use these timings
|
||||
header_low: 9856us
|
||||
|
||||
.. _daikin_arc:
|
||||
|
||||
``daikin_arc`` Climate
|
||||
-------------------------
|
||||
|
||||
The Daikin ARC remotes are used by the japanese model of Daikin.
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
# Example configuration entry
|
||||
climate:
|
||||
- platform: daikin_arc
|
||||
name: "AC"
|
||||
sensor: room_temperature
|
||||
|
||||
.. _daikin_brc:
|
||||
|
||||
``daikin_brc`` Climate
|
||||
|
@ -39,8 +39,10 @@ Based on this, you can create the climate device as follows:
|
||||
switch_datapoint: 1
|
||||
target_temperature_datapoint: 3
|
||||
current_temperature_datapoint: 4
|
||||
eco_datapoint: 7
|
||||
eco_temperature: 20 °C
|
||||
preset:
|
||||
eco:
|
||||
datapoint: 8
|
||||
temperature: 28
|
||||
|
||||
Configuration variables:
|
||||
------------------------
|
||||
@ -50,22 +52,46 @@ Configuration variables:
|
||||
- **supports_heat** (*Optional*, boolean): Specifies if the device has a heating mode. Defaults to ``true``.
|
||||
- **supports_cool** (*Optional*, boolean): Specifies if the device has a cooling mode. Defaults to ``false``.
|
||||
- **switch_datapoint** (**Required**, int): The datapoint id number of the climate switch (device on/off).
|
||||
- **active_state_datapoint** (*Optional*, int): The datapoint id number of the active state - :ref:`see below <active_state_detection>`.
|
||||
- **active_state_heating_value** (*Optional*, int): The active state datapoint value the device reports when heating. Defaults to ``1`` - :ref:`see below <active_state_detection>`.
|
||||
- **active_state_cooling_value** (*Optional*, int): The active state datapoint value the device reports when cooling - :ref:`see below <active_state_detection>`.
|
||||
- **active_state** (*Optional*): Configuration for the Active State Configuration.
|
||||
|
||||
- **datapoint** (**Required**, int): The datapoint id number of the active state - :ref:`see below <active_state_detection>`.
|
||||
- **heating_value** (*Optional*, int): The active state datapoint value the device reports when heating. Defaults to ``1`` - :ref:`see below <active_state_detection>`.
|
||||
- **cooling_value** (*Optional*, int): The active state datapoint value the device reports when cooling - :ref:`see below <active_state_detection>`.
|
||||
- **drying_value** (*Optional*, int): The active state datapoint value the device reports when in drying mode.
|
||||
- **fanonly_value** (*Optional*, int): The active state datapoint value the device reports when in Fan Only mode.
|
||||
- **preset** (*Optional*): Configuration for presets.
|
||||
|
||||
- **eco** (*Optional*): Configuration for Eco preset.
|
||||
|
||||
- **datapoint** (**Required**, int): The datapoint id number of the Eco action.
|
||||
- **temperature** (*Optional*, int): Temperature setpoint for Eco preset.
|
||||
- **sleep** (*Optional*): Configuration for Sleep preset
|
||||
|
||||
- **datapoint** (**Required**, int): The Datapoint id number of the Sleep Action
|
||||
- **swing_mode** (*Optional*): Configuration for the swing (oscillation) modes.
|
||||
|
||||
- **vertical_datapoint** (*Optional*, int): The datapoint id number of the vertical swing action.
|
||||
- **horizontal_datapoint** (*Optional*, int): The datapoint id number of the horizontal swing action.
|
||||
- **fan_mode** (*Optional*): Configuration for fan modes/fan speeds.
|
||||
|
||||
- **datapoint** (**Required**, int): The datapoint id number of the Fan value state.
|
||||
- **auto_value** (*Optional*, int): The datapoint value the device reports when the fan is on ``auto`` speed.
|
||||
- **low_value** (*Optional*, int): The datapoint value the device reports when the fan is on ``low`` speed.
|
||||
- **medium_value** (*Optional*, int): The datapoint value the device reports when the fan is on ``medium`` speed.
|
||||
- **middle_value** (*Optional*, int): The datapoint value the device reports when the fan is on ``middle`` speed. (May set to device's ``high`` value if you have a ``Turbo`` option).
|
||||
- **high_value** (*Optional*, int): The datapoint value the device reports when the fan is on ``high`` speed. (Sometimes called ``Turbo``).
|
||||
- **heating_state_pin** (*Optional*, :ref:`config-pin`): The input pin indicating that the device is heating - :ref:`see below <active_state_detection>`. Only used if **active_state_datapoint** is not configured.
|
||||
- **cooling_state_pin** (*Optional*, :ref:`config-pin`): The input pin indicating that the device is cooling - :ref:`see below <active_state_detection>`. Only used if **active_state_datapoint** is not configured.
|
||||
- **target_temperature_datapoint** (**Required**, int): The datapoint id number of the target temperature.
|
||||
- **current_temperature_datapoint** (**Required**, int): The datapoint id number of the current temperature.
|
||||
- **temperature_multiplier** (*Optional*, float): A multiplier to modify the incoming and outgoing temperature values - :ref:`see below <temperature-multiplier>`.
|
||||
- **eco_datapoint** (*Optional*, int): The datapoint id number of the eco mode state.
|
||||
- **eco_temperature** (*Optional*, float): The target temperature the controller uses while the eco mode is active.
|
||||
|
||||
- **reports_fahrenheit** (*Optional*, boolean): Set to ``true`` if the device reports temperatures in Fahrenheit. ESPHome expects all climate temperatures to be in Celcius, otherwise unexpected conversions will take place when it is published to Home Assistant. Defaults to ``false``.
|
||||
|
||||
If the device has different multipliers for current and target temperatures, **temperature_multiplier** can be replaced with both of:
|
||||
|
||||
- **current_temperature_multiplier** (*Optional*, float): A multiplier to modify the current temperature value.
|
||||
- **target_temperature_multiplier** (*Optional*, float): A multiplier to modify the target temperature value.
|
||||
- **current_temperature_multiplier** (*Optional*, float): A multiplier to modify the current temperature value.
|
||||
- **target_temperature_multiplier** (*Optional*, float): A multiplier to modify the target temperature value.
|
||||
|
||||
- All other options from :ref:`Climate <config-climate>`.
|
||||
|
||||
|
@ -83,6 +83,9 @@ you can get the value as a ESPTime object from the trigger with ``x``.
|
||||
|
||||
Configuration variables: See :ref:`Automation <automation>`.
|
||||
|
||||
Date Automation
|
||||
---------------
|
||||
|
||||
.. _datetime-date_set_action:
|
||||
|
||||
``datetime.date.set`` Action
|
||||
@ -151,12 +154,85 @@ advanced stuff (see the full API Reference for more info).
|
||||
// For example, create a custom log message when a value is received:
|
||||
ESP_LOGI("main", "Value of my datetime: %04d-%02d-%02d", id(my_date).year, id(my_date).month, id(my_date).day);
|
||||
|
||||
Time Automation
|
||||
---------------
|
||||
|
||||
.. _datetime-time_set_action:
|
||||
|
||||
``datetime.time.set`` Action
|
||||
****************************
|
||||
|
||||
This is an :ref:`Action <config-action>` for setting a datetime time state.
|
||||
The ``time`` provided can be in one of 3 formats:
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
# String time
|
||||
- datetime.time.set:
|
||||
id: my_time
|
||||
time: "12:34:56"
|
||||
|
||||
# Individual time parts
|
||||
- datetime.time.set:
|
||||
id: my_time
|
||||
time:
|
||||
hour: 12
|
||||
minute: 34
|
||||
second: 56
|
||||
|
||||
# Using a lambda
|
||||
- datetime.time.set:
|
||||
id: my_time
|
||||
time: !lambda |-
|
||||
// Return an ESPTime struct
|
||||
return {.second: 56, .minute: 34, .hour: 12};
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **id** (**Required**, :ref:`config-id`): The ID of the datetime to set.
|
||||
- **time** (**Required**, string, time parts, :ref:`templatable <config-templatable>`):
|
||||
The value to set the datetime to.
|
||||
|
||||
|
||||
.. _datetime-time-lambda_calls:
|
||||
|
||||
lambda calls
|
||||
************
|
||||
|
||||
From :ref:`lambdas <config-lambda>`, you can call several methods on all datetimes to do some
|
||||
advanced stuff (see the full API Reference for more info).
|
||||
|
||||
- ``.make_call()``: Make a call for updating the datetime value.
|
||||
|
||||
.. code-block:: cpp
|
||||
|
||||
// Within lambda, set the time to 12:34:56
|
||||
auto call = id(my_time).make_call();
|
||||
call.set_date("12:34:56");
|
||||
call.perform();
|
||||
|
||||
Check the API reference for information on the methods that are available for
|
||||
the ``TimeCall`` object.
|
||||
|
||||
- ``.hour``: Retrieve the current hour of the ``time``. It will be ``0`` if no value has been set.
|
||||
- ``.minute``: Retrieve the current minute of the ``time``. It will be ``0`` if no value has been set.
|
||||
- ``.second``: Retrieve the current second of the ``time``. 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: %0d:%02d:%02d", id(my_time).hour, id(my_time).minute, id(my_time).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:`TimeCall <datetime/time_entity.h>`
|
||||
- :ghedit:`Edit`
|
||||
|
||||
.. toctree::
|
||||
|
@ -10,8 +10,8 @@ using :ref:`lambdas <config-lambda>`.
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
# Example configuration entry
|
||||
datetime:
|
||||
# Example Date
|
||||
- platform: template
|
||||
id: my_date
|
||||
type: date
|
||||
@ -20,10 +20,19 @@ using :ref:`lambdas <config-lambda>`.
|
||||
initial_value: "2024-01-30"
|
||||
restore_value: true
|
||||
|
||||
# Example Time
|
||||
- platform: template
|
||||
id: my_time
|
||||
type: time
|
||||
name: Pick a Time
|
||||
optimistic: yes
|
||||
initial_value: "12:34:56"
|
||||
restore_value: true
|
||||
|
||||
Configuration variables:
|
||||
------------------------
|
||||
|
||||
- **type** (*Required*, enum): The type of the datetime. Can only be ``date``.
|
||||
- **type** (*Required*, enum): The type of the datetime. Can be one of ``date`` or ``time``.
|
||||
- **lambda** (*Optional*, :ref:`lambda <config-lambda>`):
|
||||
Lambda to be evaluated every update interval to get the current value of the datetime.
|
||||
- **set_action** (*Optional*, :ref:`Action <config-action>`): The action that should
|
||||
@ -39,15 +48,29 @@ Configuration variables:
|
||||
- **initial_value** (*Optional*, string): The value to set the state to on setup if not
|
||||
restored with ``restore_value``. Can be one of:
|
||||
|
||||
- A string in the format ``%Y-%m-%d``, eg: ``"2023-12-04"``.
|
||||
- An object including ``year``, ``month``, ``day``.
|
||||
- For ``type: date``:
|
||||
|
||||
.. code-block:: yaml
|
||||
- A string in the format ``%Y-%m-%d`` , eg: ``"2023-12-04"``.
|
||||
- An object including ``year``, ``month``, ``day``.
|
||||
|
||||
initial_value:
|
||||
year: 2023
|
||||
month: 12
|
||||
day: 4
|
||||
.. code-block:: yaml
|
||||
|
||||
initial_value:
|
||||
year: 2023
|
||||
month: 12
|
||||
day: 4
|
||||
|
||||
- For ``type: time``:
|
||||
|
||||
- A string in the format ``%H:%M:%S`` , eg: ``"12:34:56"``.
|
||||
- An object including ``hour``, ``minute``, ``second``.
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
initial_value:
|
||||
hour: 12
|
||||
minute: 34
|
||||
second: 56
|
||||
|
||||
- All other options from :ref:`Datetime <config-datetime>`.
|
||||
|
||||
|
@ -85,6 +85,10 @@ and circles:
|
||||
lambda: |-
|
||||
// Draw a line from [0,0] to [100,50]
|
||||
it.line(0, 0, 100, 50);
|
||||
// Draw an angled line from [0,0] at 45° with a length of 30
|
||||
it.line_at_angle(0, 0, 45, 30);
|
||||
// Draw an angled line from [0,0] at 30° with a start radius of 10 and stop radius of 20
|
||||
it.line_at_angle(0, 0, 30, 10, 20);
|
||||
// Draw the outline of a rectangle with the top left at [50,60], a width of 30 and a height of 42
|
||||
it.rectangle(50, 60, 30, 42);
|
||||
// Draw the same rectangle, but this time filled.
|
||||
@ -602,6 +606,12 @@ To draw the QR-code, call the ``it.qr_code`` function from your render lambda:
|
||||
// Draw the QR-code at position [x=50,y=0] with white color and a 2x scale
|
||||
it.qr_code(50, 0, id(homepage_qr), Color(255,255,255), 2);
|
||||
|
||||
// Draw the QR-code in the center of the screen with white color and a 2x scale
|
||||
auto size = id(homepage_qr).get_size() * 2; // Multiply by scale
|
||||
auto x = (it.get_width() / 2) - (size / 2);
|
||||
auto y = (it.get_height() / 2) - (size / 2);
|
||||
it.qr_code(x, y, id(homepage_qr), Color(255,255,255), 2);
|
||||
|
||||
|
||||
.. _display-image:
|
||||
|
||||
|
@ -37,6 +37,9 @@ Configuration variables:
|
||||
Defaults to ``true``.
|
||||
- **frequency** (*Optional*, float): Set the frequency the I²C bus should operate on.
|
||||
Defaults to ``50kHz``. Values are ``10kHz``, ``50kHz``, ``100kHz``, ``200kHz``, ... ``800kHz``
|
||||
- **timeout** (*Optional*, :ref:`config-time`): Set the I²C bus timeout.
|
||||
Defaults to the framework defaults (``100us`` on ``esp32`` with ``esp-idf``, ``50ms`` on ``esp32`` with ``Arduino``,
|
||||
``1s`` on ``esp8266`` and ``1s`` on ``rp2040``). Maximum on ``esp-idf`` is 13ms.
|
||||
- **id** (*Optional*, :ref:`config-id`): Manually specify the ID for this I²C bus if you need multiple I²C buses.
|
||||
|
||||
.. note::
|
||||
|
BIN
components/images/sun_gtil2_controller_board.png
Normal file
After Width: | Height: | Size: 115 KiB |
BIN
components/images/sun_gtil2_display_board.png
Normal file
After Width: | Height: | Size: 124 KiB |
BIN
components/images/sun_gtil2_schematic.png
Normal file
After Width: | Height: | Size: 14 KiB |
@ -24,10 +24,14 @@ Configuration variables
|
||||
- **pin** (**Required**, :ref:`config-pin`): The pin for the data line of the light.
|
||||
- **num_leds** (**Required**, int): The number of LEDs in the strip.
|
||||
- **rmt_channel** (**Required**, int): The RMT channel to use. If using multiple strips, you need to use different channels.
|
||||
- **ESP32**: ``0`` to ``7``
|
||||
- **ESP32-S2**: ``0`` to ``3``
|
||||
- **ESP32-S3**: ``0`` to ``3``
|
||||
- **ESP32-C3**: ``0`` or ``1``
|
||||
|
||||
.. csv-table::
|
||||
:header: "ESP32 Variant", "Channels"
|
||||
|
||||
"ESP32", "0, 1, 2, 3, 4, 5, 6, 7"
|
||||
"ESP32-S2", "0, 1, 2, 3"
|
||||
"ESP32-S3", "0, 1, 2, 3"
|
||||
"ESP32-C3", "0, 1"
|
||||
|
||||
- **chipset** (**Required**, enum): The chipset to apply known timings from. Not used if specifying the timings manually, see below.
|
||||
- ``WS2812``
|
||||
|
BIN
components/output/images/tlc5971.jpg
Normal file
After Width: | Height: | Size: 289 KiB |
@ -83,6 +83,11 @@ channel 0, 2, 4, 6 for each output. This will prevent issues that arise from aut
|
||||
which chooses adjacent channels with shared timers. See
|
||||
`Issue #3114 <https://github.com/esphome/issues/issues/3114>`__ for more details.
|
||||
|
||||
- **phase_angle** (*Optional*, float): Set a phase angle to the other channel of this timer.
|
||||
Range 0-360°, defaults to 0°
|
||||
|
||||
Note: this variable is only available for the esp-idf framework
|
||||
|
||||
Recommended frequencies
|
||||
-----------------------
|
||||
|
||||
|
@ -68,6 +68,9 @@ Configuration variables:
|
||||
- **rgb_current** (*Optional*, current): The current used for the RGB channel.
|
||||
Defaults to ``20mA``.
|
||||
Can be one of ``10mA``, ``15mA``, ``20mA``, ``25mA``, ``30mA``, ``35mA``, ``40mA``, ``45mA``.
|
||||
- **separate_modes** (*Optional*, bool): Use separate RGB/CW modes instead of writing all 5 values as RGB.
|
||||
Defaults to ``true``, keep it at ``true`` if your SM2135 chip variant does not support simultaneous CW and RGB modes (e.g. SM2135E).
|
||||
Set this to ``false`` when your SM2135 chip variant supports having CW and RGB leds on at the same time (e.g. SM2135EH/SM2135EJ).
|
||||
|
||||
.. _sm2135-output:
|
||||
|
||||
|
101
components/output/tlc5971.rst
Normal file
@ -0,0 +1,101 @@
|
||||
TLC5971 LED driver
|
||||
==================
|
||||
|
||||
.. seo::
|
||||
:description: Instructions for setting up TLC5971 LED drivers in ESPHome.
|
||||
:image: tlc5971.jpg
|
||||
:keywords: tlc5971,
|
||||
|
||||
.. _tlc5971-component:
|
||||
|
||||
Component/Hub
|
||||
-------------
|
||||
.. figure:: images/tlc5971.jpg
|
||||
:align: center
|
||||
:width: 75.0%
|
||||
|
||||
Adafruit's TLC59711 board
|
||||
|
||||
This component represents a chain of `TLC5971 12-Channel, 16-Bit PWM LED Drivers <https://www.ti.com/lit/ds/symlink/tlc5971.pdf>`_,
|
||||
which is used e.g. on this `board from Adafruit <https://www.adafruit.com/product/1455>`_.
|
||||
|
||||
To use the channels of this components, you first need to setup the
|
||||
global ``tlc5971`` hub and give it an id, and then define the
|
||||
:ref:`individual output channels <tlc5971-output>`.
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
# Example configuration entry
|
||||
tlc5971:
|
||||
data_pin: GPIO12
|
||||
clock_pin: GPIO14
|
||||
|
||||
# Individual outputs
|
||||
output:
|
||||
- platform: tlc5971
|
||||
id: output_red
|
||||
channel: 0
|
||||
- platform: tlc5971
|
||||
id: output_green
|
||||
channel: 1
|
||||
- platform: tlc5971
|
||||
id: output_blue
|
||||
channel: 2
|
||||
|
||||
Configuration variables:
|
||||
************************
|
||||
|
||||
- **data_pin** (**Required**, :ref:`Pin Schema <config-pin_schema>`): The pin connected to DIN.
|
||||
- **clock_pin** (**Required**, :ref:`Pin Schema <config-pin_schema>`): The pin connected to CLK.
|
||||
- **num_chips** (*Optional*, int): Number of chips in the chain. Must be
|
||||
in range from 1 to 85. Defaults to 1.
|
||||
- **id** (*Optional*, :ref:`config-id`): The id to use for
|
||||
this ``tlc5971`` component. Use this if you have multiple TLC5971 chains
|
||||
connected at the same time.
|
||||
|
||||
.. _tlc5971-output:
|
||||
|
||||
Output
|
||||
------
|
||||
|
||||
The tlc5971 output component exposes a tlc5971 channel of a global
|
||||
:ref:`tlc5971-component` as a float output.
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
# Example configuration entry
|
||||
tlc5971:
|
||||
data_pin: GPIO12
|
||||
clock_pin: GPIO14
|
||||
|
||||
# Individual outputs
|
||||
output:
|
||||
- platform: tlc5971
|
||||
id: output_red
|
||||
channel: 0
|
||||
- platform: tlc5971
|
||||
id: output_green
|
||||
channel: 1
|
||||
- platform: tlc5971
|
||||
id: output_blue
|
||||
channel: 2
|
||||
|
||||
Configuration variables:
|
||||
************************
|
||||
|
||||
- **id** (**Required**, :ref:`config-id`): The id to use for this output component.
|
||||
- **channel** (**Required**, int): Chose the channel of the TLC5971 chain of
|
||||
this output component.
|
||||
- **tlc5971_id** (*Optional*, :ref:`config-id`): Manually specify the ID of the
|
||||
:ref:`TLC5971-component`.
|
||||
Use this if you have multiple TLC5971 chains you want to use at the same time.
|
||||
- All other options from :ref:`Output <config-output>`.
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
- :doc:`/components/output/index`
|
||||
- :doc:`/components/light/monochromatic`
|
||||
- :doc:`/components/power_supply`
|
||||
- :apiref:`tlc5971/tlc5971.h`
|
||||
- :ghedit:`Edit`
|
@ -30,12 +30,14 @@ Configuration variables:
|
||||
- **dump** (*Optional*, list): Decode and dump these remote codes in the logs (at log.level=DEBUG).
|
||||
Set to ``all`` to dump all available codecs:
|
||||
|
||||
- **abbwelcome**: Decode and dump ABB-Welcome codes. Messages are sent via copper wires. See :ref:`remote_transmitter-transmit_abbwelcome`
|
||||
- **aeha**: Decode and dump AEHA infrared codes.
|
||||
- **byronsx**: Decode and dump Byron SX doorbell RF codes.
|
||||
- **canalsat**: Decode and dump CanalSat infrared codes.
|
||||
- **canalsatld**: Decode and dump CanalSatLD infrared codes.
|
||||
- **coolix**: Decode and dump Coolix infrared codes.
|
||||
- **dish**: Decode and dump Dish infrared codes.
|
||||
- **dooya**: Decode and dump Dooya RF codes.
|
||||
- **drayton**: Decode and dump Drayton Digistat RF codes.
|
||||
- **jvc**: Decode and dump JVC infrared codes.
|
||||
- **keeloq**: Decode and dump KeeLoq RF codes.
|
||||
@ -61,6 +63,17 @@ Configuration variables:
|
||||
decoding process. Defaults to ``25%``.
|
||||
- **buffer_size** (*Optional*, int): The size of the internal buffer for storing the remote codes. Defaults to ``10kB``
|
||||
on the ESP32 and ``1kB`` on the ESP8266.
|
||||
- **rmt_channel** (*Optional*, int): The RMT channel to use. Only on **esp32**.
|
||||
The following ESP32 variants have these channels available:
|
||||
|
||||
.. csv-table::
|
||||
:header: "ESP32 Variant", "Channels"
|
||||
|
||||
"ESP32", "0, 1, 2, 3, 4, 5, 6, 7"
|
||||
"ESP32-S2", "0, 1, 2, 3"
|
||||
"ESP32-S3", "4, 5, 6, 7"
|
||||
"ESP32-C3", "2, 3"
|
||||
|
||||
- **memory_blocks** (*Optional*, int): The number of RMT memory blocks used. Only used on ESP32 platform. Defaults to
|
||||
``3``.
|
||||
- **filter** (*Optional*, :ref:`config-time`): Filter any pulses that are shorter than this. Useful for removing
|
||||
@ -79,6 +92,9 @@ Configuration variables:
|
||||
Automations:
|
||||
------------
|
||||
|
||||
- **on_abbwelcome** (*Optional*, :ref:`Automation <automation>`): An automation to perform when a
|
||||
ABB-Welcome code has been decoded. A variable ``x`` of type :apiclass:`remote_base::ABBWelcomeData`
|
||||
is passed to the automation for use in lambdas.
|
||||
- **on_aeha** (*Optional*, :ref:`Automation <automation>`): An automation to perform when a
|
||||
AEHA remote code has been decoded. A variable ``x`` of type :apiclass:`remote_base::AEHAData`
|
||||
is passed to the automation for use in lambdas.
|
||||
@ -98,6 +114,9 @@ Automations:
|
||||
dish network remote code has been decoded. A variable ``x`` of type :apistruct:`remote_base::DishData`
|
||||
is passed to the automation for use in lambdas.
|
||||
Beware that Dish remotes use a different carrier frequency (57.6kHz) that many receiver hardware don't decode.
|
||||
- **on_dooya** (*Optional*, :ref:`Automation <automation>`): An automation to perform when a
|
||||
Dooya RF remote code has been decoded. A variable ``x`` of type :apistruct:`remote_base::DooyaData`
|
||||
is passed to the automation for use in lambdas.
|
||||
- **on_drayton** (*Optional*, :ref:`Automation <automation>`): An automation to perform when a
|
||||
Drayton Digistat RF code has been decoded. A variable ``x`` of type :apistruct:`remote_base::DraytonData`
|
||||
is passed to the automation for use in lambdas.
|
||||
@ -207,6 +226,21 @@ Configuration variables:
|
||||
|
||||
Remote code selection (exactly one of these has to be included):
|
||||
|
||||
- **abbwelcome**: Trigger on a decoded ABB-Welcome code with the given data.
|
||||
|
||||
- **source_address** (**Required**, int): The source address to trigger on, see :ref:`remote_transmitter-transmit_abbwelcome`
|
||||
for more info.
|
||||
- **destination_address** (**Required**, int): The destination address to trigger on, see
|
||||
:ref:`remote_transmitter-transmit_abbwelcome` for more info.
|
||||
- **three_byte_address** (**Optional**, boolean): The length of the source and destination address. ``false`` means two bytes
|
||||
and ``true`` means three bytes. Defaults to ``false``.
|
||||
- **retransmission** (**Optional**, boolean): ``true`` if the message was re-transmitted. Defaults to ``false``.
|
||||
- **message_type** (**Required**, int): The message type to trigger on, see :ref:`remote_transmitter-transmit_abbwelcome`
|
||||
for more info.
|
||||
- **message_id** (**Optional**, int): The random message ID to trigger on, see dumper output for more info. Defaults to any ID.
|
||||
- **data** (**Optional**, 0-7 bytes list): The code to listen for. Usually you only need to copy this directly from the
|
||||
dumper output. Defaults to ``[]``
|
||||
|
||||
- **aeha**: Trigger on a decoded AEHA remote code with the given data.
|
||||
|
||||
- **address** (**Required**, int): The address to trigger on, see dumper output for more info.
|
||||
@ -243,6 +277,13 @@ Remote code selection (exactly one of these has to be included):
|
||||
- **address** (*Optional*, int): The number of the receiver to target, between 1 and 16 inclusive. Defaults to ``1``.
|
||||
- **command** (**Required**, int): The Dish command to listen for, between 0 and 63 inclusive.
|
||||
|
||||
- **dooya**: Trigger on a decoded Dooya RF remote code with the given data.
|
||||
|
||||
- **id** (**Required**, int): The 24-bit ID code to trigger on.
|
||||
- **channel** (**Required**, int): The 8-bit channel to listen for.
|
||||
- **button** (**Required**, int): The 4-bit button to listen for.
|
||||
- **check** (**Required**, int): The 4-bit check to listen for. Includes an indication that a button is being held down.
|
||||
|
||||
- **drayton**: Trigger on a decoded Drayton Digistat RF remote code with the given data.
|
||||
|
||||
- **address** (**Required**, int): The 16-bit ID code to trigger on, see dumper output for more info.
|
||||
@ -304,6 +345,8 @@ Remote code selection (exactly one of these has to be included):
|
||||
|
||||
- **data** (**Required**, string): The code to listen for, see :ref:`remote_transmitter-transmit_raw`
|
||||
for more info. Usually you only need to copy this directly from the dumper output.
|
||||
- **delta** (**Optional**, integer): This parameter allows you to manually specify the allowed difference
|
||||
between what Pronto code is specified, and what IR signal has been sent by the remote control.
|
||||
|
||||
- **raw**: Trigger on a raw remote code with the given code.
|
||||
|
||||
@ -432,3 +475,4 @@ See Also
|
||||
- `IRRemoteESP8266 <https://github.com/markszabo/IRremoteESP8266/>`__ by `Mark Szabo-Simon <https://github.com/markszabo>`__
|
||||
- :apiref:`remote/remote_receiver.h`
|
||||
- :ghedit:`Edit`
|
||||
|
||||
|
@ -43,6 +43,17 @@ Configuration variables:
|
||||
- **carrier_duty_percent** (*Optional*, int): How much of the time the remote is on. For example, infrared
|
||||
protocols modulate the signal using a carrier signal. Set this to ``50%`` if you're working with IR LEDs and to
|
||||
``100%`` if working with other things like 433MHz transmitters.
|
||||
- **rmt_channel** (*Optional*, int): The RMT channel to use. Only on **esp32**.
|
||||
The following ESP32 variants have these channels available:
|
||||
|
||||
.. csv-table::
|
||||
:header: "ESP32 Variant", "Channels"
|
||||
|
||||
"ESP32", "0, 1, 2, 3, 4, 5, 6, 7"
|
||||
"ESP32-S2", "0, 1, 2, 3"
|
||||
"ESP32-S3", "0, 1, 2, 3"
|
||||
"ESP32-C3", "0, 1"
|
||||
|
||||
- **id** (*Optional*, :ref:`config-id`): Manually specify
|
||||
the ID used for code generation. Use this if you have multiple remote transmitters.
|
||||
|
||||
@ -78,6 +89,56 @@ Configuration variables:
|
||||
If you're looking for the same functionality as is default in the ``rpi_rf`` integration in
|
||||
Home Assistant, you'll want to set the **times** to 10 and the **wait_time** to 0s.
|
||||
|
||||
.. _remote_transmitter-transmit_abbwelcome:
|
||||
|
||||
``remote_transmitter.transmit_abbwelcome`` Action
|
||||
*************************************************
|
||||
|
||||
This :ref:`action <config-action>` sends a ABB-Welcome message to the intercom bus. The
|
||||
message type, addresses, address length and data can vary a lot between ABB-Welcome
|
||||
systems. Please refer to the received messages while performing actions like ringing a
|
||||
doorbell or opening a door.
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
on_...:
|
||||
- remote_transmitter.transmit_abbwelcome:
|
||||
source_address: 0x1001 # your indoor station address
|
||||
destination_address: 0x4001 # door address
|
||||
three_byte_address: false # address length of your system
|
||||
message_type: 0x0d # unlock door, on some systems 0x0e is used instead
|
||||
data: [0xab, 0xcd, 0xef] # message data, see receiver dump
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **source_address** (**Required**, int):The source address to send the command from,
|
||||
see received messages for more info. For indoor stations the last byte of the address
|
||||
represents the apartment number set by the dials on the back of the indoor station and is
|
||||
transmitted in hexadecimal format.
|
||||
- **destination_address** (**Required**, int): The destination address to send the command to,
|
||||
see received messages for more info.
|
||||
- **three_byte_address** (**Required**, int): The destination address to send the command to,
|
||||
see received messages for more info.
|
||||
- **three_byte_address** (**Optional**, boolean): The length of the source and destination address. ``false``
|
||||
means two bytes and ``true`` means three bytes. Please check the received messages to see which address length
|
||||
is used by your system. For example, ``[XXXX > XXXX]`` appears in the receiver log for two byte addresses and
|
||||
``[XXXXXX > XXXXXX]`` for three byte addresses. Defaults to ``false``.
|
||||
- **retransmission** (**Optional**, boolean): Should only be ``true`` if this message has been transmitted
|
||||
before with the same ``message_id``. Typically, messages are transmitted up to three times with a 1 second
|
||||
interval if no reply is received. Defaults to ``false``.
|
||||
- **message_type** (**Required**, int): The message type, see dumper output for more info.
|
||||
The highest bit indicates a reply.
|
||||
- **message_id** (**Optional**, int): The message ID, see dumper output for more info.
|
||||
Defaults to a randomly generated ID if this message is not a reply or retransmission.
|
||||
- **data** (**Optional**, 0-7 bytes list): The code to send.
|
||||
Usually you only need to copy this directly from the dumper output. Defaults to ``[]``
|
||||
|
||||
.. note::
|
||||
|
||||
ABB-Welcome messages are sent over the two-wire bus of your intercom system.
|
||||
A custom receiver and transmitter circuit is required.
|
||||
`More info <https://github.com/Mat931/esp32-doorbell-bus-interface>`__
|
||||
|
||||
.. _remote_transmitter-transmit_aeha:
|
||||
|
||||
``remote_transmitter.transmit_aeha`` Action
|
||||
@ -212,6 +273,30 @@ Configuration variables:
|
||||
|
||||
You can find a list of commands in the `LIRC project <https://sourceforge.net/p/lirc-remotes/code/ci/master/tree/remotes/dishnet/Dish_Network.lircd.conf>`__.
|
||||
|
||||
.. _remote_transmitter-transmit_dooya:
|
||||
|
||||
``remote_transmitter.transmit_dooya`` Action
|
||||
**********************************************
|
||||
|
||||
This :ref:`action <config-action>` sends a Dooya RF remote code to a remote transmitter.
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
on_...:
|
||||
- remote_transmitter.transmit_dooya:
|
||||
id: 0x001612E5
|
||||
channel: 142
|
||||
button: 12
|
||||
check: 3
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **id** (**Required**, int): The 24-bit ID to send. Each remote has a unique one.
|
||||
- **channel** (**Required**, int): The 8-bit channel to send, between 0 and 255 inclusive.
|
||||
- **button** (**Required**, int): The 4-bit button to send, between 0 and 15 inclusive.
|
||||
- **check** (**Required**, int): The 4-bit check to send. Includes an indication that a button is being held down. See dumper output for more info.
|
||||
- All other options from :ref:`remote_transmitter-transmit_action`.
|
||||
|
||||
.. _remote_transmitter-transmit_drayton:
|
||||
|
||||
``remote_transmitter.transmit_drayton`` Action
|
||||
@ -267,7 +352,7 @@ This :ref:`action <config-action>` sends KeeLoq RF remote code to a remote trans
|
||||
code: '0xd19ef0a9'
|
||||
repeat:
|
||||
times: 3
|
||||
wait_time: 15ms
|
||||
wait_time: 15ms
|
||||
|
||||
Configuration variables:
|
||||
|
||||
|
BIN
components/sensor/images/jsn-sr04t-v3-mode-select-pads.jpg
Normal file
After Width: | Height: | Size: 161 KiB |
BIN
components/sensor/images/jsn-sr04t-v3.jpg
Normal file
After Width: | Height: | Size: 330 KiB |
BIN
components/sensor/images/xiaomi_hhccjcy10.jpg
Normal file
After Width: | Height: | Size: 18 KiB |
@ -2,12 +2,12 @@ Internal Temperature Sensor
|
||||
===========================
|
||||
|
||||
.. seo::
|
||||
:description: Instructions for setting up the integrated temperature sensor of the ESP32 and RP2040.
|
||||
:description: Instructions for setting up the integrated temperature sensor of the ESP32, RP2040 and BK72XX.
|
||||
:image: thermometer.svg
|
||||
:keywords: esp32, rp2040, cpu, internal, temperature
|
||||
|
||||
The ``internal_temperature`` sensor platform allows you to use the integrated
|
||||
temperature sensor of the ESP32 and RP2040 chip.
|
||||
temperature sensor of the ESP32, RP2040 and BK72XX chip.
|
||||
|
||||
.. note::
|
||||
|
||||
|
66
components/sensor/jsn_sr04t.rst
Normal file
@ -0,0 +1,66 @@
|
||||
JSN-SR04T Waterproof Ultrasonic Range Finder
|
||||
============================================
|
||||
|
||||
.. seo::
|
||||
:description: Instructions for setting up JSN-SR04T waterproof ultrasonic distance sensor in ESPHome.
|
||||
:image: jsn-sr04t-v3.jpg
|
||||
:keywords: JSN-SR04T
|
||||
|
||||
This sensor allows you to use the JSN-SR04T Waterproof Ultrasonic Range Finder **in Mode 1 and 2**
|
||||
with ESPHome to measure distances. This sensor can measure
|
||||
ranges between 25 centimeters and 600 centimeters with a resolution of 1 millimeter.
|
||||
|
||||
Configure the JSN-SR04T for mode 1:
|
||||
- **V1.0 and V2.0**: Add a 47k resistor to pad R27.
|
||||
- **V3.0**: Short pad M1 or add 47k resistor to pad mode.
|
||||
|
||||
Configure the JSN-SR04T for mode 2:
|
||||
- **V1.0 and V2.0**: Add a 120k resistor to pad R27.
|
||||
- **V3.0**: Short pad M2 or add 120k resistor to pad mode.
|
||||
|
||||
.. figure:: images/jsn-sr04t-v3-mode-select-pads.jpg
|
||||
:align: center
|
||||
:width: 50.0%
|
||||
|
||||
JSN-SR04T Waterproof Ultrasonic Range Finder Mode Select Pads.
|
||||
|
||||
In mode 1 the module continuously takes measurements approximately every 100mS and outputs the distance on the TX pin at 9600 baud.
|
||||
In this mode :ref:`sensor-filters` are highly recommended.
|
||||
|
||||
In mode 2 the module takes a measurement only when a trigger command of 0x55 is sent to the RX pin on the module.
|
||||
The module then outputs the distance on its TX pin. The frequency of the measurements can be set with the **update_interval** option.
|
||||
|
||||
To use the sensor, first set up an :ref:`uart` with a baud rate of 9600 and connect the sensor to the specified pin.
|
||||
|
||||
.. figure:: images/jsn-sr04t-v3.jpg
|
||||
:align: center
|
||||
:width: 70.0%
|
||||
|
||||
JSN-SR04T Waterproof Ultrasonic Range Finder.
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
# Example configuration entry
|
||||
sensor:
|
||||
- platform: "jsn_sr04t"
|
||||
name: "Distance"
|
||||
update_interval: 1s
|
||||
|
||||
|
||||
Configuration variables:
|
||||
------------------------
|
||||
|
||||
- **name** (**Required**, string): The name of the sensor.
|
||||
- **update_interval** (*Optional*, :ref:`config-time`): The interval to check the
|
||||
sensor. Defaults to ``60s``. Not applicable in mode 1.
|
||||
- **uart_id** (*Optional*, :ref:`config-id`): The ID of the :ref:`UART bus <uart>` you wish to use for this sensor.
|
||||
Use this if you want to use multiple UART buses at once.
|
||||
- All other options from :ref:`Sensor <config-sensor>`.
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
- :ref:`uart`
|
||||
- :ref:`sensor-filters`
|
||||
- :apiref:`jsn_sr04t/jsn_sr04t.h`
|
||||
- :ghedit:`Edit`
|
@ -33,6 +33,10 @@ configuration for this sensor to work.
|
||||
name: "QMC5883L Field Strength Z"
|
||||
heading:
|
||||
name: "QMC5883L Heading"
|
||||
temperature:
|
||||
name: "QMC5883L Temperature"
|
||||
filters:
|
||||
- offset: 34.0
|
||||
range: 200uT
|
||||
oversampling: 512x
|
||||
update_interval: 60s
|
||||
@ -49,6 +53,10 @@ Configuration variables:
|
||||
:ref:`Sensor <config-sensor>`.
|
||||
- **heading** (*Optional*): The heading of the sensor in degrees. All options from
|
||||
:ref:`Sensor <config-sensor>`.
|
||||
- **temperature** (*Optional*): The temperature of the sensor. Per the datasheet:
|
||||
"Temperature sensor gain is factory-calibrated, but its offset has not been compensated, only relative
|
||||
temperature value is accurate". Above example has an offset that you need to calibrate. All options from
|
||||
:ref:`Sensor <config-sensor>`.
|
||||
- **range** (*Optional*): The range parameter for the sensor.
|
||||
- **oversampling** (*Optional*): The oversampling parameter for the sensor.
|
||||
- **update_interval** (*Optional*, :ref:`config-time`): The interval to check the sensor. Defaults to ``60s``.
|
||||
|
@ -2,16 +2,17 @@ SHT3X-D Temperature+Humidity Sensor
|
||||
===================================
|
||||
|
||||
.. seo::
|
||||
:description: Instructions for setting up SHT31-D/SHT3x temperature and humidity sensors
|
||||
:description: Instructions for setting up SHT31-D/SHT3x and SHT85 temperature and humidity sensors
|
||||
:image: sht3xd.jpg
|
||||
|
||||
The ``sht3xd`` sensor platform Temperature+Humidity sensor allows you to use your Sensirion SHT31-D/SHT3x
|
||||
(`datasheet <https://cdn-shop.adafruit.com/product-files/2857/Sensirion_Humidity_SHT3x_Datasheet_digital-767294.pdf>`__,
|
||||
`Adafruit`_ ) sensors with
|
||||
ESPHome. The :ref:`I²C Bus <i2c>` is
|
||||
required to be set up in your configuration for this sensor to work.
|
||||
`Adafruit`_ ) and SHT85 (`datasheet <https://sensirion.com/media/documents/4B40CEF3/640B2346/Sensirion_Humidity_Sensors_SHT85_Datasheet.pdf>`__,
|
||||
`Sensirion`_ ) sensors with Esphome.
|
||||
The :ref:`I²C Bus <i2c>` is required to be set up in your configuration for this sensor to work.
|
||||
|
||||
.. _Adafruit: https://www.adafruit.com/product/2857
|
||||
.. _Sensirion: https://sensirion.com/products/catalog/SHT85/
|
||||
|
||||
.. figure:: images/temperature-humidity.png
|
||||
:align: center
|
||||
@ -32,20 +33,20 @@ required to be set up in your configuration for this sensor to work.
|
||||
Configuration variables:
|
||||
------------------------
|
||||
|
||||
- **temperature** (**Required**): The information for the temperature sensor.
|
||||
- **temperature** (*Optional*): The information for the temperature sensor.
|
||||
|
||||
- **name** (**Required**, string): The name for the temperature sensor.
|
||||
- **id** (*Optional*, :ref:`config-id`): Set the ID of this sensor for use in lambdas.
|
||||
- All other options from :ref:`Sensor <config-sensor>`.
|
||||
|
||||
- **humidity** (**Required**): The information for the humidity sensor.
|
||||
- **humidity** (*Optional*): The information for the humidity sensor.
|
||||
|
||||
- **name** (**Required**, string): The name for the humidity sensor.
|
||||
- **id** (*Optional*, :ref:`config-id`): Set the ID of this sensor for use in lambdas.
|
||||
- All other options from :ref:`Sensor <config-sensor>`.
|
||||
|
||||
- **address** (*Optional*, int): Manually specify the I²C address of the sensor.
|
||||
Defaults to ``0x44``.
|
||||
Defaults to ``0x44``. For SHT3x, an alternate address can be ``0x45`` while SHT85 supports only address ``0x44``
|
||||
- **update_interval** (*Optional*, :ref:`config-time`): The interval to check the
|
||||
sensor. Defaults to ``60s``.
|
||||
- **heater_enabled** (*Optional*, bool): Turn on/off heater at boot.
|
||||
|
51
components/sensor/xiaomi_hhccjcy10.rst
Normal file
@ -0,0 +1,51 @@
|
||||
HHCCJCY10 Xiaomi MiFlora (Pink version)
|
||||
=======================================
|
||||
|
||||
|
||||
.. seo::
|
||||
:description: Instructions for setting up a Xiaomi MiFlora HHCCJCY10 (Pink) using ESPHome.
|
||||
:image: xiaomi_hhccjcy10.jpg
|
||||
|
||||
MiFlora, tuya (pink) version, measures temperature, moisture, ambient light and nutrient levels in the soil.
|
||||
|
||||
.. figure:: images/xiaomi_hhccjcy10.jpg
|
||||
:align: center
|
||||
:width: 60.0%
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
sensor:
|
||||
- platform: xiaomi_hhccjcy10
|
||||
mac_address: '94:2B:FF:5C:91:61'
|
||||
temperature:
|
||||
name: "Xiaomi HHCCJCY10 Temperature"
|
||||
moisture:
|
||||
name: "Xiaomi HHCCJCY10 Moisture"
|
||||
illuminance:
|
||||
name: "Xiaomi HHCCJCY10 Illuminance"
|
||||
conductivity:
|
||||
name: "Xiaomi HHCCJCY10 Soil Conductivity"
|
||||
battery_level:
|
||||
name: "Xiaomi HHCCJCY10 Battery Level"
|
||||
|
||||
Configuration variables:
|
||||
------------------------
|
||||
|
||||
- **mac_address** (**Required**, string): The MAC address of the device.
|
||||
- **temperature** (*Optional*): The temperature sensor.
|
||||
All options from :ref:`Sensor <config-sensor>`.
|
||||
- **moisture** (*Optional*): The moisture sensor.
|
||||
All options from :ref:`Sensor <config-sensor>`.
|
||||
- **illuminance** (*Optional*): The illuminance sensor.
|
||||
All options from :ref:`Sensor <config-sensor>`.
|
||||
- **conductivity** (*Optional*): The conductivity sensor.
|
||||
All options from :ref:`Sensor <config-sensor>`.
|
||||
- **battery_level** (*Optional*): The battery level sensor.
|
||||
All options from :ref:`Sensor <config-sensor>`.
|
||||
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
- :doc:`ble_client`
|
||||
- :ghedit:`Edit`
|
145
components/sun_gtil2.rst
Normal file
@ -0,0 +1,145 @@
|
||||
SUN_GTIL2 Grid Tie Inverter
|
||||
===========================
|
||||
|
||||
.. seo::
|
||||
:description: Instructions for reading data from a SUN-1000G2 grid tie inverter using ESPHome
|
||||
:keywords: sun-1000g2, sun-2000g2, sun1000, sun2000, sun-1000gtil2, sun-2000gtil2
|
||||
|
||||
The ``sun_gtil2`` component allows you to get voltage, power and temperature readings from your ``SUN-1000G2``
|
||||
or ``SUN-2000G2`` grid tie inverter. This is done by reading the UART data transmitted from the inverter's
|
||||
controller board to the display board.
|
||||
|
||||
.. note::
|
||||
|
||||
You need to open your inverter to apply this modification. Use at your own risk! If you want to connect your
|
||||
inverter via the (more limited) external RS232 interface you should use the
|
||||
:doc:`Modbus </components/modbus_controller>` component instead.
|
||||
|
||||
.. figure:: images/sun_gtil2_controller_board.png
|
||||
:align: center
|
||||
:width: 50.0%
|
||||
|
||||
Pinout of the inverter's controller board
|
||||
|
||||
.. figure:: images/sun_gtil2_display_board.png
|
||||
:align: center
|
||||
:width: 50.0%
|
||||
|
||||
Pinout of the inverter's display board
|
||||
|
||||
.. figure:: images/sun_gtil2_schematic.png
|
||||
:align: center
|
||||
:width: 75.0%
|
||||
|
||||
Simplified connection diagram
|
||||
|
||||
As the data is read from the inverter using UART, you need to have an :ref:`UART bus <uart>` in your
|
||||
configuration with the ``rx_pin`` connected to the TX pin of the inverter's controller board. Additionally, you
|
||||
need to set the ``baud_rate`` to 9600.
|
||||
|
||||
|
||||
|
||||
The inverter will report new measurements approximately every 1.3 seconds.
|
||||
|
||||
Component/Hub
|
||||
-------------
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
# Example configuration entry
|
||||
sun_gtil2:
|
||||
uart_id: control_to_display
|
||||
|
||||
Configuration variables:
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
- **id** (**Required**, :ref:`config-id`): The id to use for this component.
|
||||
- **uart_id** (*Optional*): The UART Bus ID for receiving messages sent from the inverter's controller to the display.
|
||||
|
||||
Sensor
|
||||
------
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
# Example configuration entry
|
||||
sensor:
|
||||
- platform: sun_gtil2
|
||||
temperature:
|
||||
id: gtil_temperature
|
||||
name: "Heatsink Temperature"
|
||||
filters:
|
||||
- throttle_average: 30s
|
||||
dc_voltage:
|
||||
id: gtil_dc_voltage
|
||||
name: "DC Voltage"
|
||||
filters:
|
||||
- throttle_average: 30s
|
||||
ac_voltage:
|
||||
id: gtil_ac_voltage
|
||||
name: "AC Voltage"
|
||||
filters:
|
||||
- throttle_average: 30s
|
||||
ac_power:
|
||||
id: gtil_ac_power
|
||||
name: "AC Power"
|
||||
dc_power:
|
||||
id: gtil_dc_power
|
||||
name: "DC Power"
|
||||
limiter_power:
|
||||
id: gtil_limiter_power
|
||||
internal: True
|
||||
|
||||
Configuration variables:
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
- **sun_gtil2_id** (*Optional*): Manually specify the ID of the sun_gtil2 instance if there are multiple.
|
||||
|
||||
- **temperature** (*Optional*): The temperature of your inverter's heatsink.
|
||||
All options from :ref:`Sensor <config-sensor>`.
|
||||
|
||||
- **dc_voltage** (*Optional*): The voltage of your DC source. (battery or solar panels)
|
||||
All options from :ref:`Sensor <config-sensor>`.
|
||||
|
||||
- **ac_voltage** (*Optional*): The grid voltage measured by the inverter.
|
||||
All options from :ref:`Sensor <config-sensor>`.
|
||||
|
||||
- **dc_power** (*Optional*): The inverter's input power.
|
||||
All options from :ref:`Sensor <config-sensor>`.
|
||||
|
||||
- **ac_power** (*Optional*): The inverter's output power.
|
||||
All options from :ref:`Sensor <config-sensor>`.
|
||||
|
||||
- **limiter_power** (*Optional*): The power measured by the inverter's "Internal" limiter.
|
||||
All options from :ref:`Sensor <config-sensor>`.
|
||||
|
||||
Text Sensor
|
||||
-----------
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
# Example configuration entry
|
||||
text_sensor:
|
||||
- platform: sun_gtil2
|
||||
state:
|
||||
id: gtil_state
|
||||
name: "State"
|
||||
serial_number:
|
||||
id: gtil_serial_number
|
||||
internal: True
|
||||
|
||||
Configuration variables:
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
- **sun_gtil2_id** (*Optional*): Manually specify the ID of the sun_gtil2 instance if there are multiple.
|
||||
|
||||
- **state** (*Optional*): The inverter's state.
|
||||
All options from :ref:`Text Sensor <config-text_sensor>`.
|
||||
|
||||
- **serial_number** (*Optional*): The inverter's serial number.
|
||||
All options from :ref:`Text Sensor <config-text_sensor>`.
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
- :ref:`sensor-filters`
|
||||
- :ghedit:`Edit`
|
@ -6,12 +6,12 @@ WireGuard Component
|
||||
|
||||
.. seo::
|
||||
:description: Instructions to setup WireGuard for your ESP board.
|
||||
:keywords: WireGuard, VPN, ESP32
|
||||
:keywords: WireGuard, VPN
|
||||
|
||||
|wireguard|_ is an extremely simple yet fast and modern VPN that utilizes
|
||||
state-of-the-art cryptography. This component uses a **custom**
|
||||
implementation not developed by original authors and currently
|
||||
available for **ESP32 platform only**.
|
||||
available for ESP32 and ESP8266 platforms *only*.
|
||||
|
||||
Please note that *"WireGuard" and the "WireGuard" logo are
|
||||
registered trademarks of Jason A. Donenfeld.* See
|
||||
@ -146,7 +146,7 @@ Configuration variables
|
||||
Static routes and outgoing connections
|
||||
--------------------------------------
|
||||
|
||||
Currently there is no way on ESP32 devices to configure static routes for
|
||||
Currently there is no way on ESP devices to configure static routes for
|
||||
network interfaces, so the ``peer_allowed_ips`` list is used only to allow
|
||||
(or drop) packets that pass through the VPN tunnel, not to define static
|
||||
routes for remote hosts.
|
||||
|
4
conf.py
@ -67,9 +67,9 @@ author = "ESPHome"
|
||||
# built documents.
|
||||
#
|
||||
# The short X.Y version.
|
||||
version = "2024.3"
|
||||
version = "2024.4"
|
||||
# The full version, including alpha/beta/rc tags.
|
||||
release = "2024.3.2"
|
||||
release = "2024.4.0b1"
|
||||
|
||||
# The language for content autogenerated by Sphinx. Refer to documentation
|
||||
# for a list of supported languages.
|
||||
|
@ -228,6 +228,7 @@ Contributors
|
||||
- `bwynants (@bwynants) <https://github.com/bwynants>`__
|
||||
- `c0ffeeca7 (@c0ffeeca7) <https://github.com/c0ffeeca7>`__
|
||||
- `Captain Haddock (@ca-haddock) <https://github.com/ca-haddock>`__
|
||||
- `Caleb Gabbie (@calebgab) <https://github.com/calebgab>`__
|
||||
- `Cal Howard (@calhoward) <https://github.com/calhoward>`__
|
||||
- `callacomp (@callacomp) <https://github.com/callacomp>`__
|
||||
- `Callum Gare (@callumgare) <https://github.com/callumgare>`__
|
||||
@ -467,12 +468,14 @@ Contributors
|
||||
- `Eric Hiller (@erichiller) <https://github.com/erichiller>`__
|
||||
- `Ernst Klamer (@Ernst79) <https://github.com/Ernst79>`__
|
||||
- `Eduardo Roldan (@eroldan) <https://github.com/eroldan>`__
|
||||
- `ervede (@ervede) <https://github.com/ervede>`__
|
||||
- `escoand (@escoand) <https://github.com/escoand>`__
|
||||
- `Eric Severance (@esev) <https://github.com/esev>`__
|
||||
- `esphomebot (@esphomebot) <https://github.com/esphomebot>`__
|
||||
- `espressif2022 (@espressif2022) <https://github.com/espressif2022>`__
|
||||
- `Daniel Dunn (@EternityForest) <https://github.com/EternityForest>`__
|
||||
- `EtienneMD (@EtienneMD) <https://github.com/EtienneMD>`__
|
||||
- `etzisim (@etzisim) <https://github.com/etzisim>`__
|
||||
- `Evan Coleman (@evandcoleman) <https://github.com/evandcoleman>`__
|
||||
- `Clemens Kirchgatterer (@everslick) <https://github.com/everslick>`__
|
||||
- `Everything Smart Home (@EverythingSmartHome) <https://github.com/EverythingSmartHome>`__
|
||||
@ -630,6 +633,7 @@ Contributors
|
||||
- `Fredrik Gustafsson (@jagheterfredrik) <https://github.com/jagheterfredrik>`__
|
||||
- `jakehdk (@jakehdk) <https://github.com/jakehdk>`__
|
||||
- `Jake Shirley (@JakeShirley) <https://github.com/JakeShirley>`__
|
||||
- `Jonathan Kollasch (@jakllsch) <https://github.com/jakllsch>`__
|
||||
- `jakub-medrzak (@jakub-medrzak) <https://github.com/jakub-medrzak>`__
|
||||
- `James Hirka (@jameshirka) <https://github.com/jameshirka>`__
|
||||
- `James Lakin (@jamesorlakin) <https://github.com/jamesorlakin>`__
|
||||
@ -855,6 +859,7 @@ Contributors
|
||||
- `Michal Fapso (@michalfapso) <https://github.com/michalfapso>`__
|
||||
- `Michał (@michau-krakow) <https://github.com/michau-krakow>`__
|
||||
- `Michel Munzert (@michelde) <https://github.com/michelde>`__
|
||||
- `michlann (@michlann) <https://github.com/michlann>`__
|
||||
- `micw (@micw) <https://github.com/micw>`__
|
||||
- `Pauline Middelink (@middelink) <https://github.com/middelink>`__
|
||||
- `Joel Midstjärna (@midstar) <https://github.com/midstar>`__
|
||||
@ -879,6 +884,7 @@ Contributors
|
||||
- `Moriah Morgan (@moriahmorgan) <https://github.com/moriahmorgan>`__
|
||||
- `moritzj29 (@moritzj29) <https://github.com/moritzj29>`__
|
||||
- `Chris Laplante (@mostthingsweb) <https://github.com/mostthingsweb>`__
|
||||
- `Michael P. Flaga (@mpflaga) <https://github.com/mpflaga>`__
|
||||
- `MrEditor97 (@mreditor97) <https://github.com/mreditor97>`__
|
||||
- `Mariusz Kryński (@mrk-its) <https://github.com/mrk-its>`__
|
||||
- `Michael Davidson (@MrMDavidson) <https://github.com/MrMDavidson>`__
|
||||
@ -1030,6 +1036,7 @@ Contributors
|
||||
- `Pascal Vizeli (@pvizeli) <https://github.com/pvizeli>`__
|
||||
- `Alex (@pxe-la) <https://github.com/pxe-la>`__
|
||||
- `[pʲɵs] (@pyos) <https://github.com/pyos>`__
|
||||
- `Peter Zich (@pzich) <https://github.com/pzich>`__
|
||||
- `Qc (@qc24) <https://github.com/qc24>`__
|
||||
- `Quinn Casey (@qcasey) <https://github.com/qcasey>`__
|
||||
- `qianh-wan (@qianh-wan) <https://github.com/qianh-wan>`__
|
||||
@ -1115,6 +1122,7 @@ Contributors
|
||||
- `scamiv (@scamiv) <https://github.com/scamiv>`__
|
||||
- `Nils Schulte (@Schnilz) <https://github.com/Schnilz>`__
|
||||
- `Wolle (@schreibfaul1) <https://github.com/schreibfaul1>`__
|
||||
- `Scobber (@Scobber) <https://github.com/Scobber>`__
|
||||
- `Ville Skyttä (@scop) <https://github.com/scop>`__
|
||||
- `Dan (@ScrewLooseDan) <https://github.com/ScrewLooseDan>`__
|
||||
- `Sean True (@seantrue) <https://github.com/seantrue>`__
|
||||
@ -1336,4 +1344,4 @@ Contributors
|
||||
- `Christian Zufferey (@zuzu59) <https://github.com/zuzu59>`__
|
||||
- `Zynth-dev (@Zynth-dev) <https://github.com/Zynth-dev>`__
|
||||
|
||||
*This page was last updated April 4, 2024.*
|
||||
*This page was last updated April 10, 2024.*
|
||||
|
BIN
images/at581x.png
Normal file
After Width: | Height: | Size: 17 KiB |
BIN
images/jsn-sr04t-v3.jpg
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
images/sun_1000g2.png
Normal file
After Width: | Height: | Size: 17 KiB |
BIN
images/tlc5971.jpg
Normal file
After Width: | Height: | Size: 22 KiB |
BIN
images/xiaomi_hhccjcy10.jpg
Normal file
After Width: | Height: | Size: 18 KiB |
@ -234,6 +234,7 @@ Bluetooth Low Energy (BLE)
|
||||
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
|
||||
|
||||
|
||||
@ -258,7 +259,7 @@ 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
|
||||
***********
|
||||
@ -319,6 +320,7 @@ Environmental
|
||||
ENS160, components/sensor/ens160, ens160.jpg, CO2 & Air Quality
|
||||
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
|
||||
@ -517,6 +519,7 @@ Presence Detection
|
||||
.. imgtable::
|
||||
|
||||
DFRobot mmWave Radar, components/dfrobot_sen0395, dfrobot_sen0395.jpg
|
||||
AT581X, components/at581x, at581x.png
|
||||
LD2410, components/sensor/ld2410, ld2410.jpg
|
||||
LD2420, components/sensor/ld2420, ld2420.jpg
|
||||
Seeed Studio MR24HPC1 mmWave, components/seeed_mr24hpc1, seeed-mr24hpc1.jpg
|
||||
@ -553,6 +556,7 @@ Output Components
|
||||
PCA9685, components/output/pca9685, pca9685.jpg
|
||||
TLC59208F, components/output/tlc59208f, tlc59208f.jpg
|
||||
TLC5947, components/output/tlc5947, tlc5947.jpg
|
||||
TLC5971, components/output/tlc5971, tlc5971.jpg
|
||||
MY9231/MY9291, components/output/my9231, my9231.svg
|
||||
SM16716, components/output/sm16716, sm16716.svg
|
||||
SM2135, components/output/sm2135, sm2135.svg
|
||||
@ -933,6 +937,7 @@ Miscellaneous Components
|
||||
PipSolar - compatible PV Inverter, components/pipsolar, pipsolar.jpg
|
||||
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
|
||||
|