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 = 2023.10.6
|
||||
PROJECT_NUMBER = 2023.11.0
|
||||
|
||||
# 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 = 2023.10.6
|
||||
ESPHOME_REF = 2023.11.0
|
||||
|
||||
.PHONY: html html-strict cleanhtml deploy help live-html Makefile netlify netlify-api api netlify-dependencies svg2png copy-svg2png minify
|
||||
|
||||
|
BIN
_static/changelog-2023.11.0.png
Normal file
After Width: | Height: | Size: 133 KiB |
@ -1 +1 @@
|
||||
2023.10.6
|
||||
2023.11.0
|
282
changelog/2023.11.0.rst
Normal file
@ -0,0 +1,282 @@
|
||||
ESPHome 2023.11.0 - 15th November 2023
|
||||
======================================
|
||||
|
||||
.. seo::
|
||||
:description: Changelog for ESPHome 2023.11.0.
|
||||
:image: /_static/changelog-2023.11.0.png
|
||||
:author: Jesse Hills
|
||||
:author_twitter: @jesserockz
|
||||
|
||||
.. imgtable::
|
||||
:columns: 4
|
||||
|
||||
Text Core, components/text/index, folder-open.svg, dark-invert
|
||||
Template Text, components/text/template, description.svg, dark-invert
|
||||
UART Button, components/button/uart, uart.svg
|
||||
GREE Climate, components/climate/climate_ir, air-conditioner-ir.svg, dark-invert
|
||||
|
||||
|
||||
DFRobot mmWave Radar, components/dfrobot_sen0395, dfrobot_sen0395.jpg
|
||||
LD2420, components/sensor/ld2420, ld2420.jpg
|
||||
Qwiic PIR Motion, components/binary_sensor/qwiic_pir, qwiic_pir.jpg
|
||||
Noblex Climate, components/climate/climate_ir, air-conditioner-ir.svg, dark-invert
|
||||
|
||||
Honeywell ABP2, components/sensor/honeywellabp2_i2c, honeywellabp.jpg
|
||||
iAQ-Core, components/sensor/iaqcore, iaqcore.jpg
|
||||
SFA30, components/sensor/sfa30, sfa30.jpg
|
||||
ZH/LT-01 Climate, components/climate/climate_ir, air-conditioner-ir.svg, dark-invert
|
||||
|
||||
EMC2101, components/emc2101, emc2101.jpg
|
||||
MicroNova pellet stove, components/micronova, pellet.svg
|
||||
XGZP68xx Series, components/sensor/xgzp68xx, 6897d.jpg
|
||||
|
||||
Text Components
|
||||
---------------
|
||||
|
||||
We finally have implemented the :doc:`Text </components/text/index>` Components.
|
||||
Many people have been using "Text Input Helpers" to get user entered text into
|
||||
ESPHome for various reasons. Now ESPHome can expose text entities
|
||||
directly to Home Assistant. These require Home Assistant 2023.11 or above to use.
|
||||
|
||||
Various Automations
|
||||
-------------------
|
||||
|
||||
- BLE have had ``ble.enable`` and ``ble.disable`` actions added to turn on and off when not needed,
|
||||
as well as a new condition ``ble.enabled`` to check the state.
|
||||
|
||||
- Wi-Fi has new triggers for ``on_connect`` and ``on_disconnect``.
|
||||
|
||||
- ``api`` has new triggers ``on_client_connected`` and ``on_client_disconnected`` which were
|
||||
released in the 2023.10.5 patch version due to requiring that specific PR to not cause merge
|
||||
conflicts later.
|
||||
|
||||
|
||||
Areas
|
||||
-----
|
||||
|
||||
When you add a new ESPHome device to Home Assistant, you assign that device to an area.
|
||||
From Home Assistant 2023.12, you will be able to specify the suggested area that Home Assistant
|
||||
pre-populates when you connect the device.
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
esphome:
|
||||
name: living-room-light
|
||||
friendly_name: Living Room Light
|
||||
area: Living Room
|
||||
|
||||
|
||||
Full list of changes
|
||||
--------------------
|
||||
|
||||
New Components
|
||||
^^^^^^^^^^^^^^
|
||||
|
||||
- Add Support for Sensirion SFA30 sensor :esphomepr:`5519` by :ghuser:`ghsensdev` (new-integration)
|
||||
- add uart button :esphomepr:`5540` by :ghuser:`ssieb` (new-integration)
|
||||
- Add ZH/LT-01 climate component with IR receiver option :esphomepr:`4333` by :ghuser:`cfeenstra1024` (new-integration)
|
||||
- Feat: Add GREE climateir component :esphomepr:`4464` by :ghuser:`PiuPiuson` (new-integration)
|
||||
- AMS iAQ Core CO2 sensor component :esphomepr:`5192` by :ghuser:`yozik04` (new-integration)
|
||||
- Add IR Noblex climate component :esphomepr:`4913` by :ghuser:`AGalfra` (new-integration)
|
||||
- Add text component :esphomepr:`5336` by :ghuser:`EternityForest` (new-integration)
|
||||
- Add support for honeywellabp2 pressure sensor :esphomepr:`5422` by :ghuser:`jpfaff` (new-integration)
|
||||
- Add Emc2101 :esphomepr:`4491` by :ghuser:`ellull` (new-integration)
|
||||
- Add support for Qwiic PIR binary sensor :esphomepr:`5194` by :ghuser:`kahrendt` (new-integration)
|
||||
- Add dfrobot_sen0395 mmwave radar component :esphomepr:`4203` by :ghuser:`niklasweber` (new-integration)
|
||||
- Add HLK-LD2420 mmWave Radar module component. :esphomepr:`4847` by :ghuser:`descipher` (new-integration)
|
||||
- Add Micronova component :esphomepr:`4760` by :ghuser:`Jorre05` (new-integration)
|
||||
- Add differential pressure sensor support for CFSensor XGZP68xxD devices :esphomepr:`5562` by :ghuser:`gcormier` (new-integration)
|
||||
- Add spi support for ade7953 :esphomepr:`5439` by :ghuser:`angelnu` (new-integration)
|
||||
- Add resistance_sampler interface for config validation :esphomepr:`5718` by :ghuser:`jesserockz` (new-integration)
|
||||
|
||||
Breaking Changes
|
||||
^^^^^^^^^^^^^^^^
|
||||
|
||||
- Hydreon updates :esphomepr:`5424` by :ghuser:`jj-uk` (breaking-change)
|
||||
- Fix esp32_rmt_led_strip custom timing units :esphomepr:`5696` by :ghuser:`jesserockz` (breaking-change)
|
||||
|
||||
Beta Changes
|
||||
^^^^^^^^^^^^
|
||||
|
||||
- Handle nanoseconds in config :esphomepr:`5695` by :ghuser:`jesserockz`
|
||||
- Fix esp32_rmt_led_strip custom timing units :esphomepr:`5696` by :ghuser:`jesserockz` (breaking-change)
|
||||
- Fix static assets cache logic :esphomepr:`5700` by :ghuser:`bdraco`
|
||||
- Use piwheels for armv7 docker image builds :esphomepr:`5703` by :ghuser:`bdraco`
|
||||
- fix: Fix broken bluetooth_proxy and ble_clients after BLE enable/disable :esphomepr:`5704` by :ghuser:`Rapsssito`
|
||||
- Bump aioesphomeapi to 18.2.7 :esphomepr:`5706` by :ghuser:`bdraco`
|
||||
- Update Dockerfile to use piwheels for armv7 :esphomepr:`5709` by :ghuser:`bdraco`
|
||||
- Bump zeroconf from 0.120.0 to 0.122.3 :esphomepr:`5715` by :ghuser:`dependabot[bot]`
|
||||
- Add resistance_sampler interface for config validation :esphomepr:`5718` by :ghuser:`jesserockz` (new-integration)
|
||||
- Fix zeroconf name resolution refactoring error :esphomepr:`5725` by :ghuser:`bdraco`
|
||||
- Missed ifdefs :esphomepr:`5727` by :ghuser:`descipher`
|
||||
- Bump aioesphomeapi from 18.2.7 to 18.4.0 :esphomepr:`5735` by :ghuser:`dependabot[bot]`
|
||||
- Migrate to using aioesphomeapi for the log runner to fix multiple issues :esphomepr:`5733` by :ghuser:`bdraco`
|
||||
- Bump zeroconf to 0.123.0 :esphomepr:`5736` by :ghuser:`bdraco`
|
||||
- Handle wake word not set up internally :esphomepr:`5738` by :ghuser:`jesserockz`
|
||||
- dashboard: remove usage of codecs module :esphomepr:`5741` by :ghuser:`bdraco`
|
||||
- dashboard: Run get_serial_ports in the executor :esphomepr:`5740` by :ghuser:`bdraco`
|
||||
- Generate partitions.csv based on flash size :esphomepr:`5697` by :ghuser:`kbx81`
|
||||
- Allow setup to continue past mqtt if network/wifi is disabled :esphomepr:`5754` by :ghuser:`jesserockz`
|
||||
- Dont dump wifi info when disabled :esphomepr:`5755` by :ghuser:`jesserockz`
|
||||
|
||||
All changes
|
||||
^^^^^^^^^^^
|
||||
|
||||
- Splits FastLed test scripts out of test1.yaml :esphomepr:`5522` by :ghuser:`nielsnl68`
|
||||
- Add round sensor filter :esphomepr:`5532` by :ghuser:`jesserockz`
|
||||
- Add Support for Sensirion SFA30 sensor :esphomepr:`5519` by :ghuser:`ghsensdev` (new-integration)
|
||||
- Change UART source clock to `UART_SCLK_DEFAULT` when IDF >=v5 :esphomepr:`5533` by :ghuser:`leoshusar`
|
||||
- add uart button :esphomepr:`5540` by :ghuser:`ssieb` (new-integration)
|
||||
- add on/off options for uart switch :esphomepr:`5539` by :ghuser:`ssieb`
|
||||
- Update docker base and packages + docker python 3.11 :esphomepr:`5473` by :ghuser:`bdraco`
|
||||
- IDF 5 fixes for various components from test1.yaml :esphomepr:`5451` by :ghuser:`kbx81`
|
||||
- Bump aioesphomeapi from 15.0.0 to 18.0.6 :esphomepr:`5557` by :ghuser:`dependabot[bot]`
|
||||
- Bump zeroconf from 0.115.1 to 0.119.0 :esphomepr:`5560` by :ghuser:`dependabot[bot]`
|
||||
- Add config to allow suppression of warnings about use of strapping pins :esphomepr:`5287` by :ghuser:`clydebarrow`
|
||||
- Hydreon updates :esphomepr:`5424` by :ghuser:`jj-uk` (breaking-change)
|
||||
- Bump actions/checkout from 4.1.0 to 4.1.1 :esphomepr:`5551` by :ghuser:`dependabot[bot]`
|
||||
- Bump pyupgrade from 3.10.1 to 3.13.0 :esphomepr:`5428` by :ghuser:`dependabot[bot]`
|
||||
- Bump tzlocal from 5.0.1 to 5.1 :esphomepr:`5480` by :ghuser:`dependabot[bot]`
|
||||
- Bump black from 23.9.1 to 23.10.0 :esphomepr:`5561` by :ghuser:`dependabot[bot]`
|
||||
- Fan no off cycle action :esphomepr:`5564` by :ghuser:`skykingjwc`
|
||||
- Bump aioesphomeapi from 18.0.6 to 18.0.7 :esphomepr:`5573` by :ghuser:`dependabot[bot]`
|
||||
- Remove unnecessary checks in Nextion component :esphomepr:`5578` by :ghuser:`edwardtfn`
|
||||
- update storage version from mdns :esphomepr:`5584` by :ghuser:`glmnet`
|
||||
- set Nextion protocol reparse mode :esphomepr:`5484` by :ghuser:`edwardtfn`
|
||||
- Add address text sensor to WireGuard :esphomepr:`5576` by :ghuser:`droscy`
|
||||
- Add LibreTiny hardwares to PR Template :esphomepr:`5575` by :ghuser:`HeMan`
|
||||
- Bump pytest-mock from 3.11.1 to 3.12.0 :esphomepr:`5571` by :ghuser:`dependabot[bot]`
|
||||
- Bump pyupgrade from 3.13.0 to 3.15.0 :esphomepr:`5570` by :ghuser:`dependabot[bot]`
|
||||
- Add ZH/LT-01 climate component with IR receiver option :esphomepr:`4333` by :ghuser:`cfeenstra1024` (new-integration)
|
||||
- Feat: Add GREE climateir component :esphomepr:`4464` by :ghuser:`PiuPiuson` (new-integration)
|
||||
- AMS iAQ Core CO2 sensor component :esphomepr:`5192` by :ghuser:`yozik04` (new-integration)
|
||||
- Add IR Noblex climate component :esphomepr:`4913` by :ghuser:`AGalfra` (new-integration)
|
||||
- Bump aioesphomeapi from 18.0.7 to 18.0.12 :esphomepr:`5597` by :ghuser:`dependabot[bot]`
|
||||
- Add text component :esphomepr:`5336` by :ghuser:`EternityForest` (new-integration)
|
||||
- Fix exception handling when loading packages :esphomepr:`5569` by :ghuser:`dentra`
|
||||
- Add support for honeywellabp2 pressure sensor :esphomepr:`5422` by :ghuser:`jpfaff` (new-integration)
|
||||
- Add Emc2101 :esphomepr:`4491` by :ghuser:`ellull` (new-integration)
|
||||
- Fix: Incorporate unique serial number in preference's hash for multiple Sensirion sensors :esphomepr:`5479` by :ghuser:`kahrendt`
|
||||
- Add support for Qwiic PIR binary sensor :esphomepr:`5194` by :ghuser:`kahrendt` (new-integration)
|
||||
- Add ignore out of range option for clamp filter :esphomepr:`5455` by :ghuser:`kahrendt`
|
||||
- Print text mqtt command topic :esphomepr:`5601` by :ghuser:`jesserockz`
|
||||
- Correctly allow mqtt topics to be none so ESPHome does not sub/pub to them :esphomepr:`5213` by :ghuser:`jesserockz`
|
||||
- SX1509 output debounce fix (resolves esphome/issues#4402) :esphomepr:`4672` by :ghuser:`tracestep`
|
||||
- Add details when error loading package :esphomepr:`5603` by :ghuser:`dentra`
|
||||
- Fallback to main secrets.yaml for packages :esphomepr:`5604` by :ghuser:`dentra`
|
||||
- Add area (zone) to esphome core config to be suggested through API and MQTT. :esphomepr:`5602` by :ghuser:`Cossid`
|
||||
- Devcontainer: allow pip install and dont warn about root user :esphomepr:`5608` by :ghuser:`jesserockz`
|
||||
- Validate test files before compiling :esphomepr:`5611` by :ghuser:`jesserockz`
|
||||
- Minor defines.h updates :esphomepr:`5610` by :ghuser:`jesserockz`
|
||||
- timeout filter: return value :esphomepr:`5612` by :ghuser:`jesserockz`
|
||||
- Add dfrobot_sen0395 mmwave radar component :esphomepr:`4203` by :ghuser:`niklasweber` (new-integration)
|
||||
- refactor mcp4728 component :esphomepr:`5609` by :ghuser:`ssieb`
|
||||
- Fix HA error related to incorrect state class :esphomepr:`5605` by :ghuser:`nagyrobi`
|
||||
- Fix xpt2046 for IDF 5 :esphomepr:`5614` by :ghuser:`kbx81`
|
||||
- IDF 5 fixes for various components from test4.yaml :esphomepr:`5622` by :ghuser:`kbx81`
|
||||
- IDF 5 fixes for various components from test2.yaml :esphomepr:`5621` by :ghuser:`kbx81`
|
||||
- Fix armv7 docker builds :esphomepr:`5630` by :ghuser:`bdraco`
|
||||
- Bump aioesphomeapi from 18.0.12 to 18.2.0 :esphomepr:`5606` by :ghuser:`dependabot[bot]`
|
||||
- Add needs-docs workflow to fail CI :esphomepr:`5643` by :ghuser:`jesserockz`
|
||||
- Add support for PCA9535 16 bit I/O expander :esphomepr:`5634` by :ghuser:`clydebarrow`
|
||||
- Fix nextion waveform sending for multiple waveforms :esphomepr:`4408` by :ghuser:`gpambrozio`
|
||||
- Allow validation of pins based on hub config :esphomepr:`5647` by :ghuser:`jesserockz`
|
||||
- Bump aioesphomeapi from 18.2.0 to 18.2.1 :esphomepr:`5653` by :ghuser:`dependabot[bot]`
|
||||
- Validate sn74hc595 pin number are within range :esphomepr:`5655` by :ghuser:`jesserockz`
|
||||
- Update PCA9554 pin checks to new facility :esphomepr:`5656` by :ghuser:`clydebarrow`
|
||||
- Update mDNS component to 1.2.2 :esphomepr:`5654` by :ghuser:`HeMan`
|
||||
- Fix return value of run_external_command :esphomepr:`5657` by :ghuser:`jesserockz`
|
||||
- Update RTTTL component to allow I2S :esphomepr:`5177` by :ghuser:`nielsnl68`
|
||||
- Bump flake8 version in pre-commit to match requirements file :esphomepr:`5658` by :ghuser:`jesserockz`
|
||||
- Bump pytest from 7.4.2 to 7.4.3 :esphomepr:`5599` by :ghuser:`dependabot[bot]`
|
||||
- Bump tzlocal from 5.1 to 5.2 :esphomepr:`5594` by :ghuser:`dependabot[bot]`
|
||||
- Bump black from 23.10.0 to 23.10.1 :esphomepr:`5593` by :ghuser:`dependabot[bot]`
|
||||
- Add Healthcheck to Dockerfile :esphomepr:`5651` by :ghuser:`JcMinarro`
|
||||
- Add HLK-LD2420 mmWave Radar module component. :esphomepr:`4847` by :ghuser:`descipher` (new-integration)
|
||||
- Add Micronova component :esphomepr:`4760` by :ghuser:`Jorre05` (new-integration)
|
||||
- Add basic shell autocompletion using argcomplete :esphomepr:`5618` by :ghuser:`Nardol`
|
||||
- Fixed int variables for user defined service in case of ESP32-C3 :esphomepr:`5675` by :ghuser:`paveldn`
|
||||
- Add callback for raw sml messages :esphomepr:`5668` by :ghuser:`micw`
|
||||
- Fix compile with latest esp-idf on esp32c6 :esphomepr:`5677` by :ghuser:`DAVe3283`
|
||||
- Null topic_prefix disables MQTT publishing/subscription unless topic is explicitly configured :esphomepr:`5644` by :ghuser:`kahrendt`
|
||||
- feat: Add ESP32 BLE enable/disable automations :esphomepr:`5616` by :ghuser:`Rapsssito`
|
||||
- ble_client rssi sensor fix when not connected :esphomepr:`5632` by :ghuser:`jesserockz`
|
||||
- Add Byron Doorbell RF protocol :esphomepr:`4718` by :ghuser:`marshn`
|
||||
- Refactor dashboard zeroconf support :esphomepr:`5681` by :ghuser:`bdraco`
|
||||
- Allow static assets to be cached if not in debug mode :esphomepr:`5684` by :ghuser:`jesserockz`
|
||||
- Remove extra code in old sgp40 :esphomepr:`5685` by :ghuser:`jesserockz`
|
||||
- Allow pulse light effect to have separate on and off transition lengths :esphomepr:`5659` by :ghuser:`jesserockz`
|
||||
- Add differential pressure sensor support for CFSensor XGZP68xxD devices :esphomepr:`5562` by :ghuser:`gcormier` (new-integration)
|
||||
- Bump zeroconf from 0.119.0 to 0.120.0 :esphomepr:`5682` by :ghuser:`dependabot[bot]`
|
||||
- Add spi support for ade7953 :esphomepr:`5439` by :ghuser:`angelnu` (new-integration)
|
||||
- Remove page jump on Nextion startup :esphomepr:`5673` by :ghuser:`edwardtfn`
|
||||
- [web_server] Adds the ability to handle Private Network Access preflight requests :esphomepr:`5669` by :ghuser:`DanielBaulig`
|
||||
- Update esphome-dashboard to version 20231107.0 :esphomepr:`5686` by :ghuser:`jesserockz`
|
||||
- add wifi.on_connect and wifi.on_disconnect triggers :esphomepr:`3639` by :ghuser:`ChemicalXandco`
|
||||
- Implement a memory cache for dashboard entries to avoid frequent disk reads :esphomepr:`5687` by :ghuser:`bdraco`
|
||||
- support spi for sn74hc595 :esphomepr:`5491` by :ghuser:`angelnu`
|
||||
- Handle on_disconnect when Wi-Fi is disabled :esphomepr:`5691` by :ghuser:`kbx81`
|
||||
- Bump aioesphomeapi from 18.2.1 to 18.2.4 :esphomepr:`5692` by :ghuser:`dependabot[bot]`
|
||||
- Handle nanoseconds in config :esphomepr:`5695` by :ghuser:`jesserockz`
|
||||
- Fix esp32_rmt_led_strip custom timing units :esphomepr:`5696` by :ghuser:`jesserockz` (breaking-change)
|
||||
- Fix static assets cache logic :esphomepr:`5700` by :ghuser:`bdraco`
|
||||
- Use piwheels for armv7 docker image builds :esphomepr:`5703` by :ghuser:`bdraco`
|
||||
- fix: Fix broken bluetooth_proxy and ble_clients after BLE enable/disable :esphomepr:`5704` by :ghuser:`Rapsssito`
|
||||
- Bump aioesphomeapi to 18.2.7 :esphomepr:`5706` by :ghuser:`bdraco`
|
||||
- Update Dockerfile to use piwheels for armv7 :esphomepr:`5709` by :ghuser:`bdraco`
|
||||
- Bump zeroconf from 0.120.0 to 0.122.3 :esphomepr:`5715` by :ghuser:`dependabot[bot]`
|
||||
- Add resistance_sampler interface for config validation :esphomepr:`5718` by :ghuser:`jesserockz` (new-integration)
|
||||
- Fix zeroconf name resolution refactoring error :esphomepr:`5725` by :ghuser:`bdraco`
|
||||
- Missed ifdefs :esphomepr:`5727` by :ghuser:`descipher`
|
||||
- Bump aioesphomeapi from 18.2.7 to 18.4.0 :esphomepr:`5735` by :ghuser:`dependabot[bot]`
|
||||
- Migrate to using aioesphomeapi for the log runner to fix multiple issues :esphomepr:`5733` by :ghuser:`bdraco`
|
||||
- Bump zeroconf to 0.123.0 :esphomepr:`5736` by :ghuser:`bdraco`
|
||||
- Handle wake word not set up internally :esphomepr:`5738` by :ghuser:`jesserockz`
|
||||
- dashboard: remove usage of codecs module :esphomepr:`5741` by :ghuser:`bdraco`
|
||||
- dashboard: Run get_serial_ports in the executor :esphomepr:`5740` by :ghuser:`bdraco`
|
||||
- Generate partitions.csv based on flash size :esphomepr:`5697` by :ghuser:`kbx81`
|
||||
- Allow setup to continue past mqtt if network/wifi is disabled :esphomepr:`5754` by :ghuser:`jesserockz`
|
||||
- Dont dump wifi info when disabled :esphomepr:`5755` by :ghuser:`jesserockz`
|
||||
|
||||
Past Changelogs
|
||||
---------------
|
||||
|
||||
- :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`
|
@ -2,7 +2,7 @@ Changelog
|
||||
=========
|
||||
|
||||
.. redirect::
|
||||
:url: /changelog/2023.10.0.html
|
||||
:url: /changelog/2023.11.0.html
|
||||
|
||||
.. toctree::
|
||||
:glob:
|
||||
|
BIN
components/binary_sensor/images/qwiic_pir.jpg
Normal file
After Width: | Height: | Size: 33 KiB |
72
components/binary_sensor/qwiic_pir.rst
Normal file
@ -0,0 +1,72 @@
|
||||
Qwiic PIR Motion Binary Sensor
|
||||
==============================
|
||||
|
||||
.. seo::
|
||||
:description: Instructions for setting up the Qwiic PIR Motion binary sensor.
|
||||
:image: qwiic_pir.jpg
|
||||
|
||||
The Qwiic PIR Motion binary sensor allows you to use your Qwiic PIR (`EKMC4607112K based <https://www.sparkfun.com/products/17374>`__, `EKMB1107112 based <https://www.sparkfun.com/products/17375>`__, `firmware documentation <https://github.com/sparkfun/Qwiic_PIR>`__)
|
||||
sensors from SparkFun with ESPHome.
|
||||
|
||||
.. figure:: images/qwiic_pir.jpg
|
||||
:align: center
|
||||
:width: 30.0%
|
||||
|
||||
SparkFun Qwiic PIR sensor.
|
||||
(Credit: `Sparkfun <https://www.sparkfun.com/products/17374>`__, image cropped and compressed)
|
||||
|
||||
.. _Sparkfun: https://www.sparkfun.com/products/17374
|
||||
|
||||
The SparkFun Qwiic PIR Motion binary sensor uses PIR sensors to detect motion. It communicates over I²C. There are two models currently available. One uses the `Panasonic EKMC4607112K sensor <https://cdn.sparkfun.com/assets/7/2/a/4/3/EKMC460711xK_Spec.pdf>`__, and the other uses the `Panasonic EKMB1107112 sensor <https://cdn.sparkfun.com/assets/c/e/8/7/5/EKMB110711x_Spec.pdf>`__.
|
||||
|
||||
You can configure a debounce mode to reduce noise and false detections. See :ref:`debounce-modes` for the available options.
|
||||
|
||||
To use the sensor, first set up an :ref:`I²C Bus <i2c>` and connect the sensor to the specified pins.
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
# Example configuration entry
|
||||
binary_sensor:
|
||||
- platform: qwiic_pir
|
||||
name: "Qwiic PIR Motion Sensor"
|
||||
|
||||
Configuration variables:
|
||||
------------------------
|
||||
|
||||
- **debounce_mode** (*Optional*, enum): How the component debounces the motion sensor's signal. Must be one of ``HYBRID``, ``NATIVE``, or ``RAW``. See :ref:`debounce-modes` for details. Defaults to ``HYBRID``.
|
||||
- **debounce** (*Optional*, :ref:`config-time`): Only valid when using ``NATIVE`` debounce mode. Configures the debounce time on the sensor to reduce noise and false detections. Defaults to ``1ms``.
|
||||
|
||||
- All other options from :ref:`Binary Sensor <config-binary_sensor>`.
|
||||
|
||||
.. _debounce-modes:
|
||||
|
||||
Debounce Modes
|
||||
**************
|
||||
|
||||
There are three options for ``debounce_mode``.
|
||||
|
||||
- ``HYBRID``:
|
||||
|
||||
- Use a combination of the raw sensor reading and the sensor's native event detection to determine state.
|
||||
- Very reliable for detecting both object's being detected and no longer detected.
|
||||
- Use binary sensor filters to reduce noise and false detections.
|
||||
|
||||
- ``NATIVE``:
|
||||
|
||||
- Use the sensor's native event detection to debounce the signal.
|
||||
- Logic follows `SparkFun's reference example implementation <https://github.com/sparkfun/SparkFun_Qwiic_PIR_Arduino_Library/blob/master/examples/Example2_PrintPIRStatus/Example2_PrintPIRStatus.ino>`__.
|
||||
- May be unreliable at detecting when an object is removed, especially at high debounce rates.
|
||||
- Binary sensor filters are not necessary to reduce noise and false detections.
|
||||
|
||||
- ``RAW``:
|
||||
|
||||
- Use the raw state of the PIR sensor as reported by the firmware.
|
||||
- May miss a very short motion detection events if ESPHome's loop time is slow.
|
||||
- Use binary sensor filters to reduce noise and false detections.
|
||||
|
||||
See Also
|
||||
--------
|
||||
- :doc:`/components/binary_sensor/index`
|
||||
- :apiref:`qwiic_pir/qwiic_pir.h`
|
||||
- `SparkFun Qwiic PIR Library <https://github.com/sparkfun/SparkFun_Qwiic_PIR_Arduino_Library>`__ by `SparkFun <https://www.sparkfun.com/>`__
|
||||
- :ghedit:`Edit`
|
41
components/button/uart.rst
Normal file
@ -0,0 +1,41 @@
|
||||
UART Button
|
||||
===========
|
||||
|
||||
.. seo::
|
||||
:description: Instructions for setting up UART buttons in ESPHome that can output arbitrary UART sequences when activated.
|
||||
:image: uart.svg
|
||||
|
||||
The ``uart`` button platform allows you to send a pre-defined sequence of bytes on a
|
||||
:doc:`UART bus </components/uart>` when triggered.
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
# Example configuration entry
|
||||
uart:
|
||||
baud_rate: 9600
|
||||
tx_pin: D0
|
||||
|
||||
button:
|
||||
- platform: uart
|
||||
name: "UART String Output"
|
||||
data: 'DataToSend'
|
||||
- platform: uart
|
||||
name: "UART Bytes Output"
|
||||
data: [0xDE, 0xAD, 0xBE, 0xEF]
|
||||
|
||||
Configuration variables:
|
||||
------------------------
|
||||
|
||||
- **id** (*Optional*, :ref:`config-id`): Manually specify the ID used for code generation.
|
||||
- **name** (*Optional*, string): The name for the button.
|
||||
- **data** (**Required**, string or list of bytes): The data to send via UART. Either an ASCII string
|
||||
or a list of bytes.
|
||||
- **uart_id** (*Optional*, :ref:`config-id`): Manually specify the ID of the UART hub.
|
||||
- All other options from :ref:`Button <config-button>`.
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
- :doc:`/components/uart`
|
||||
- :apiref:`uart/button/uart_button.h`
|
||||
- :ghedit:`Edit`
|
@ -33,6 +33,8 @@ submit a feature request (see FAQ).
|
||||
+---------------------------------------+---------------------+----------------------+
|
||||
| Fujitsu General | ``fujitsu_general`` | yes |
|
||||
+---------------------------------------+---------------------+----------------------+
|
||||
| :ref:`GREE<gree_ir>` | ``gree`` | |
|
||||
+---------------------------------------+---------------------+----------------------+
|
||||
| Hitachi | ``hitachi_ac344`` | yes |
|
||||
| | ``hitachi_ac424`` | |
|
||||
+---------------------------------------+---------------------+----------------------+
|
||||
@ -42,6 +44,8 @@ submit a feature request (see FAQ).
|
||||
+---------------------------------------+---------------------+----------------------+
|
||||
| Mitsubishi | ``mitsubishi`` | |
|
||||
+---------------------------------------+---------------------+----------------------+
|
||||
| Noblex | ``noblex`` | yes |
|
||||
+---------------------------------------+---------------------+----------------------+
|
||||
| TCL112, Fuego | ``tcl112`` | yes |
|
||||
+---------------------------------------+---------------------+----------------------+
|
||||
| :ref:`Toshiba<toshiba>` | ``toshiba`` | yes |
|
||||
@ -52,6 +56,8 @@ submit a feature request (see FAQ).
|
||||
+---------------------------------------+---------------------+----------------------+
|
||||
| :ref:`Whynter<whynter>` | ``whynter`` | yes |
|
||||
+---------------------------------------+---------------------+----------------------+
|
||||
| :ref:`ZH/LT-01<zhlt01>` | ``zhlt01`` | yes |
|
||||
+---------------------------------------+---------------------+----------------------+
|
||||
|
||||
This component requires that you have configured a :doc:`/components/remote_transmitter`.
|
||||
|
||||
@ -322,6 +328,62 @@ Configuration variables:
|
||||
supports_heat: true
|
||||
|
||||
|
||||
.. _gree_ir:
|
||||
|
||||
|
||||
``gree`` Climate
|
||||
---------------------
|
||||
|
||||
Additional configuration is available for this model.
|
||||
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **model** (*Required*, string): GREE has a few different protocols depending on model. One of these will work for you.
|
||||
|
||||
- ``generic``
|
||||
- ``yan``
|
||||
- ``yaa``
|
||||
- ``yac``
|
||||
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
# Example configuration entry
|
||||
climate:
|
||||
- platform: gree
|
||||
name: "AC"
|
||||
sensor: room_temperature
|
||||
model: yan
|
||||
|
||||
.. _zhlt01:
|
||||
|
||||
|
||||
``zhlt01`` Climate
|
||||
---------------------
|
||||
|
||||
ZH/LT-01 is a remote control that is used with many locally branded split airconditioners.
|
||||
Supported brands include:
|
||||
|
||||
- Eurom
|
||||
- Chigo
|
||||
- Tristar
|
||||
- Tecnomaster
|
||||
- Elgin
|
||||
- Geant
|
||||
- Tekno
|
||||
- Topair
|
||||
- Proma
|
||||
- Sumikura
|
||||
- JBS
|
||||
- Turbo Air
|
||||
- Nakatomy
|
||||
- Celestial Air
|
||||
- Ager
|
||||
- Blueway
|
||||
- Airlux
|
||||
|
||||
No additional configuration is required for this model.
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
@ -193,6 +193,24 @@ Configuration variables:
|
||||
- **name** (**Required**, string): The name of the text sensor.
|
||||
- All other options from :ref:`Text Sensor <config-text_sensor>`.
|
||||
|
||||
Copy Text
|
||||
---------
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
# Example configuration entry
|
||||
text:
|
||||
- platform: copy
|
||||
source_id: source_text
|
||||
name: "Copy of source_text"
|
||||
|
||||
Configuration variables:
|
||||
************************
|
||||
|
||||
- **source_id** (**Required**, :ref:`config-id`): The text that should be mirrored.
|
||||
- **name** (**Required**, string): The name of the number.
|
||||
- All other options from :ref:`Text <config-text>`.
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
|
267
components/dfrobot_sen0395.rst
Normal file
@ -0,0 +1,267 @@
|
||||
DFRobot mmWave Radar
|
||||
====================
|
||||
|
||||
.. seo::
|
||||
:description: Instructions for setting up DFRobot mmWave Radar
|
||||
:image: dfrobot_sen0395.jpg
|
||||
:keywords: mmWave
|
||||
|
||||
The `DFRobot mmWave Radar <https://wiki.dfrobot.com/mmWave_Radar_Human_Presence_Detection_SKU_SEN0395>`__
|
||||
(aka ``SEN0395``) is a 24GHz 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.
|
||||
|
||||
It is possible to use this sensor with only a single GPIO pin; however, if you wish to change its settings,
|
||||
a :doc:`/components/uart` component (and its requisite GPIO pins) is required in your device's configuration.
|
||||
|
||||
.. figure:: images/dfrobot_sen0395-full.jpg
|
||||
:align: center
|
||||
:width: 75%
|
||||
|
||||
DFRobot mmWave Radar / presence detection sensor
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
# Example configuration entry
|
||||
dfrobot_sen0395:
|
||||
|
||||
binary_sensor:
|
||||
# Information coming from uart bus
|
||||
- platform: dfrobot_sen0395
|
||||
name: Mmwave Detected via UART
|
||||
|
||||
# Information coming from dedicated gpio (IO2)
|
||||
- platform: gpio
|
||||
name: Mmwave Detected via GPIO
|
||||
device_class: motion
|
||||
pin:
|
||||
number: REPLACEME
|
||||
mode: INPUT_PULLDOWN
|
||||
|
||||
switch:
|
||||
# Switch to turn on/off detection
|
||||
- platform: dfrobot_sen0395
|
||||
name: Mmwave Active
|
||||
|
||||
.. _dfrobot_sen0395-component:
|
||||
|
||||
Hub Component
|
||||
-------------
|
||||
|
||||
You only need to have the hub component (``dfrobot_sen0395:`` entry) defined if you want to change the sensor's
|
||||
settings or read its state via the UART. A :doc:`/components/binary_sensor/gpio` alone is sufficient if you only want
|
||||
to determine presence/occupancy. When you define ``dfrobot_sen0395:`` you'll need to have a ``uart:`` entry in
|
||||
your configuration with both the TX and RX pins defined and the baud rate must be set to ``115200``.
|
||||
|
||||
Multiple instances of this component may be defined if multiple :doc:`/components/uart` components are available:
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
dfrobot_sen0395:
|
||||
- id: mmWave_1
|
||||
uart_id: uart_1
|
||||
- id: mmWave_2
|
||||
uart_id: uart_2
|
||||
...
|
||||
|
||||
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.
|
||||
- **uart_id** (*Optional*, :ref:`config-id`): Manually specify the ID of the :doc:`/components/uart` if you want
|
||||
to use multiple UART buses.
|
||||
|
||||
.. _dfrobot_sen0395-binary_sensor:
|
||||
|
||||
Binary Sensor
|
||||
-------------
|
||||
|
||||
.. _dfrobot_sen0395-via_gpio:
|
||||
|
||||
Via GPIO
|
||||
********
|
||||
|
||||
To determine presence, you can simply use a :doc:`/components/binary_sensor/gpio` and connect a single GPIO pin
|
||||
from your processor to the IO2 pin of the mmWave radar. Using a dedicated GPIO pin may offer an advantage since
|
||||
it may wake the processor from sleep.
|
||||
|
||||
If you don't want/need to change the radar's settings and only need to determine presence/occupancy, the
|
||||
``dfrobot_sen0395:`` and ``uart:`` components are not necessary.
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
binary_sensor:
|
||||
- platform: gpio
|
||||
name: Presence Detected via GPIO
|
||||
device_class: motion
|
||||
pin:
|
||||
number: REPLACEME
|
||||
mode: INPUT_PULLDOWN
|
||||
|
||||
.. _dfrobot_sen0395-via_uart:
|
||||
|
||||
Via UART
|
||||
********
|
||||
|
||||
Connecting the sensor via the serial connection (UART) allows both changing its settings as well as reading its state.
|
||||
Note, however, that the UART peripheral cannot wake the processor; if you plan on sleeping the processor, you'll likely
|
||||
still need to use the :ref:`GPIO pin <dfrobot_sen0395-via_gpio>` approach described above (in addition to the UART).
|
||||
|
||||
First, setup a :doc:`/components/uart` and :ref:`dfrobot_sen0395-component` and then use its binary sensor platform
|
||||
to create individual binary sensors for each presence sensor.
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
binary_sensor:
|
||||
- platform: dfrobot_sen0395
|
||||
name: Presence Detected via UART
|
||||
|
||||
Configuration variables:
|
||||
************************
|
||||
|
||||
- **dfrobot_sen0395_id** (*Optional*, :ref:`config-id`): The ID of the DFRobot mmWave component defined above.
|
||||
Required when multiple instances of the ``dfrobot_sen0395`` component are defined.
|
||||
- All other options from :ref:`Binary Sensor <config-binary_sensor>`.
|
||||
|
||||
.. _dfrobot_sen0395-switch:
|
||||
|
||||
Switch
|
||||
------
|
||||
|
||||
:ref:`Switch components <config-switch>` are used to enable/disable various module features/functions.
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
switch:
|
||||
- platform: dfrobot_sen0395
|
||||
dfrobot_sen0395_id: mmWave
|
||||
type: sensor_active
|
||||
name: mmWave Active
|
||||
|
||||
Configuration variables:
|
||||
************************
|
||||
|
||||
- **dfrobot_sen0395_id** (*Optional*, :ref:`config-id`): The ID of the DFRobot mmWave component defined above.
|
||||
Required when multiple instances of the ``dfrobot_sen0395`` component are defined.
|
||||
- **type** (**Required**): One of:
|
||||
|
||||
- ``presence_via_uart``: when enabled, the module sends presence information via both the serial connection and
|
||||
GPIO pin; when disabled, presense is indicated only via the GPIO pin.
|
||||
- ``sensor_active``: when enabled, presence detection is reported; when disabled, presense will not be reported.
|
||||
- ``start_after_boot``: when enabled, the sensor will start immediately after power-on; when disabled, the sensor
|
||||
must be manually started.
|
||||
- ``turn_on_led``: when enabled, the mmWave sensor's LED blinks during operation; when disabled, the LED will always
|
||||
remain off.
|
||||
|
||||
- All other options from :ref:`Switch <config-switch>`.
|
||||
|
||||
.. _dfrobot_sen0395-actions:
|
||||
|
||||
Actions
|
||||
-------
|
||||
|
||||
.. _dfrobot_sen0395-action_settings:
|
||||
|
||||
``dfrobot_sen0395.settings`` Action
|
||||
***********************************
|
||||
|
||||
.. warning::
|
||||
|
||||
Each change to the configuration of the mmWave radar triggers a write to its internal flash/EEPROM.
|
||||
Write cycles to this memory are limited, so avoid the practice of changing settings frequently.
|
||||
Determine the appropriate settings for your device and avoid changing them unless absolutely necessary.
|
||||
|
||||
The DFRobot mmWave Radar has several settings which can be changed. These settings are saved in non-volatile memory
|
||||
and do not need to be set on each boot.
|
||||
|
||||
The settings action allows changing of any number of the mmWave radar's internal parameters/settings. With this
|
||||
action, any unspecified parameters will remain unchanged. All settings are tempatable.
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
on_...:
|
||||
- dfrobot_sen0395.settings:
|
||||
factory_reset: true
|
||||
detection_segments:
|
||||
# Define between one and four segments
|
||||
- [0cm, 3m]
|
||||
- [5.1m, 6.6m]
|
||||
output_latency:
|
||||
delay_after_detect: 0s
|
||||
delay_after_disappear: 0s
|
||||
sensitivity: 7
|
||||
|
||||
|
||||
Configuration variables:
|
||||
````````````````````````
|
||||
|
||||
- **id** (*Optional*, :ref:`config-id`): Manually specify the ID of the mmWave sensor on which settings should be
|
||||
changed. If only one radar is defined, this is optional.
|
||||
- **factory_reset** (*Optional*, boolean): If set to true, a factory reset of the sensor will be performed (before
|
||||
changing other options if present). Ignored if not set or set to ``false``.
|
||||
- **detection_segments** (*Optional*, list): A list of detection segments. A segment specifies from where to where
|
||||
detection should trigger. One to four segments and ranges from 0cm to 9m may be specified. Distances should be
|
||||
defined in steps of 15cm. Note that the specified ranges are rounded internally. Segments can be defined in a
|
||||
one or two dimensional list. Pairs of values must be defined (from distance to distance). The default is one
|
||||
range from 0cm to 3m.
|
||||
|
||||
**Examples**
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
detection_segments:
|
||||
- [0cm, 3m]
|
||||
- [5.1m, 6.6m]
|
||||
|
||||
|
||||
In the above example, if a person was present in the range between 0cm and 3m (distance from the sensor) or
|
||||
between 5.1m and 6.6m the sensor would trigger (meaning a person was detected). If a person is present
|
||||
between 3.1m and 5m or 6.7m and 9m it would not trigger.
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
detection_segments:
|
||||
- !lambda |-
|
||||
return 0;
|
||||
- !lambda |-
|
||||
return return id(mwave_max_distance).state;
|
||||
|
||||
Section values can be defined using lambdas, so you can set the distances depending on other entities. Distances
|
||||
are defined as a float in meters (10cm = 0.1). If you return a negative value (-1) the segment will not be set.
|
||||
|
||||
- **output_latency** (*Optional*, dictionary):
|
||||
|
||||
- **delay_after_detect** (**Required**, :ref:`config-time`): Time to wait before signaling that a person was
|
||||
detected. Specify in steps of 25 ms. Factory default is 2.5s. Value is tempatable: Return seconds value
|
||||
(100 ms = 0.1). Returning -1 keeps the value unchanged.
|
||||
- **delay_after_disappear** (**Required**, :ref:`config-time`): Time to wait before signaling that a person
|
||||
is no longer detected. Specify in steps of 25 ms. Factory default is 10 s. Value is tempatable: Return seconds
|
||||
value (100 ms = 0.1). Returning -1 keeps the value unchanged.
|
||||
|
||||
- **sensitivity** (*Optional*, int): Set the sensitivity of the sensor. Ranges from 0 to 9. Value is tempatable:
|
||||
Return 0-9. Returning -1 keeps the value unchanged.
|
||||
|
||||
``dfrobot_sen0395.reset`` Action
|
||||
********************************
|
||||
|
||||
Restart the sensor.
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
on_...:
|
||||
dfrobot_sen0395.reset:
|
||||
|
||||
Configuration variables:
|
||||
````````````````````````
|
||||
|
||||
- **id** (*Optional*, :ref:`config-id`): Manually specify the ID of the mmWave component. Useful when multiple instances of this component are defined.
|
||||
|
||||
See Also
|
||||
--------
|
||||
- :ref:`UART bus <uart>`
|
||||
- :ref:`Binary Sensor <config-binary_sensor>`
|
||||
- :ref:`config-id`
|
||||
- `DFRobot mmWave Radar Wiki page <https://wiki.dfrobot.com/mmWave_Radar_Human_Presence_Detection_SKU_SEN0395>`__
|
||||
- :ghedit:`Edit`
|
@ -64,6 +64,7 @@ Configuration variables:
|
||||
- **id** (*Optional*, :ref:`config-id`): Manually specify the ID used for code generation.
|
||||
- **tft_url** (*Optional*, string): The URL to download the TFT file from for updates. See :ref:`Nextion Upload <nextion_upload_tft>`.
|
||||
- **touch_sleep_timeout** (*Optional*, int): Sets internal No-touch-then-sleep timer in seconds.
|
||||
- **start_up_page** (*Optional*, int): Sets the page to display when ESPHome connects to the Nextion. (Nextion shows page 0 on start-up by default).
|
||||
- **wake_up_page** (*Optional*, int): Sets the page to display after waking up
|
||||
- **auto_wake_on_touch** (*Optional*, boolean): Sets if Nextion should auto-wake from sleep when touch press occurs.
|
||||
- **on_setup** (*Optional*, :ref:`Action <config-action>`): An action to be performed after ESPHome connects to the Nextion. See :ref:`Nextion Automation <nextion-on_setup>`.
|
||||
@ -197,7 +198,8 @@ With Nextion displays, it's possible to define several automation actions. Depen
|
||||
|
||||
This automation will be triggered once ESP establishes a connection with Nextion. This happens after a boot up and may take some
|
||||
noticeable time (e.g. hundreds of milliseconds) to establish a connection over UART. Typical use scenario for this automation is choosing of the initial
|
||||
page to display depending on some runtime conditions or simply showing a page with a non-zero index (Nextion shows page 0 by default).
|
||||
page to display depending on some runtime conditions or simply showing a page with a non-zero index (Nextion shows page 0 by default and ESPHome will
|
||||
use ``start_up_page`` on connection, if set).
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
@ -235,7 +237,7 @@ for that and :ref:`force-update <nextion_update_all_components>` the on-screen c
|
||||
***********
|
||||
|
||||
This automation is triggered when a page is changed on the Nextion display. This includes both ESP and Nextion initiated page changes.
|
||||
ESP initiates a page change by calling ``goto_page("page_name")`` function. Nextion can change pages as a reaction to user's activity (e.g. clicks) or using a timer.
|
||||
ESP initiates a page change by calling ``goto_page("page_name")`` or ``goto_page(page_id)`` function. Nextion can change pages as a reaction to user's activity (e.g. clicks) or using a timer.
|
||||
In either case, this automation can be helpful to update on-screen controls for the newly displayed page.
|
||||
|
||||
If you fully own your Nextoin HMI design and follow the best practice of setting the components' vscope to global in the Nextion Editor, you'll probably never need this trigger.
|
||||
|
138
components/emc2101.rst
Normal file
@ -0,0 +1,138 @@
|
||||
EMC2101 Fan Controller and Temperature sensor
|
||||
=============================================
|
||||
|
||||
.. seo::
|
||||
:description: Instructions for setting up EMC2101 fan controller and temperature sensor in ESPHome.
|
||||
:image: emc2101.jpg
|
||||
:keywords: EMC2101
|
||||
|
||||
The ``emc2101`` component allows you to control a cooling fan from ESPHome (`datasheet <https://ww1.microchip.com/downloads/aemDocuments/documents/MSLD/ProductDocuments/DataSheets/EMC2101-Data-Sheet-DS20006703.pdf>`__). It also provides temperature
|
||||
sensors and a tachometer. The fan can be controlled either by a PWM signal or by outputing a DC voltage
|
||||
using its DAC.
|
||||
|
||||
The :ref:`I²C Bus <i2c>` is required to be set up in your configuration for this sensor to work.
|
||||
|
||||
.. figure:: images/emc2101-full.png
|
||||
:align: center
|
||||
:width: 50.0%
|
||||
|
||||
EMC2101 Fan Controller and Temperature sensor
|
||||
|
||||
.. note::
|
||||
|
||||
Original image at https://learn.adafruit.com/assets/97827 created by
|
||||
by user `Bryan Siepert <https://learn.adafruit.com/u/siddacious>`__ under
|
||||
`Creative Commons BY-SA 3.0 <https://creativecommons.org/licenses/by-sa/3.0/>`__ and modified
|
||||
for this documentation.
|
||||
|
||||
|
||||
|
||||
EMC2101 Component
|
||||
-----------------
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
# Example configuration entry
|
||||
emc2101:
|
||||
pwm:
|
||||
resolution: 8
|
||||
|
||||
|
||||
Configuration variables:
|
||||
************************
|
||||
|
||||
- **address** (*Optional*, int): Manually specify the I²C address of the sensor. Defaults to ``0x4C``.
|
||||
- **inverted** (*Optional*, boolean): Inverts the output so 0 means 100% duty cycle and 1 means 0%. Defaults to ``false``.
|
||||
- **pwm** (*Optional*): Enable PWM output.
|
||||
|
||||
- **resolution** (*Optional*, int): Determines effective resolution and the frequency of the PWM signal. Defaults to ``23``.
|
||||
- **divider** (*Optional*, int): Value for the frequency divider. Defaults to ``1``.
|
||||
|
||||
- **dac** (*Optional*): Enable DAC output.
|
||||
|
||||
- **conversion_rate** (*Optional*, string): The number of digital to analog conversions perfomed per second. One of ``1/16``, ``1/8``,
|
||||
``1/4``, ``1/2``, ``1``, ``2``, ``4``, ``8``, ``16``, ``32``. Defaults to ``16``.
|
||||
|
||||
|
||||
The PWM signal frequency is determined by the following formula:
|
||||
|
||||
.. math::
|
||||
|
||||
\text{PWM Frequency} = \frac{360KHz}{2 \times resolution \times divider}
|
||||
|
||||
And the PWM resolution, the steps in the duty cycle, is calculated by the following formula:
|
||||
|
||||
.. math::
|
||||
|
||||
\text{PWM resolution} = \frac{100\%}{2 \times resolution}
|
||||
|
||||
So, with the default values the PWM signal will have a frequency of 7.83KHz and a resolution of 2.17%. The maximum
|
||||
resolution value is ``31`` which will configure a frequency of 5.81KHz with a resolution of 1.61%.
|
||||
|
||||
|
||||
|
||||
EMC2101 Output
|
||||
--------------
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
output:
|
||||
- platform: emc2101
|
||||
id: fan_duty_cycle
|
||||
|
||||
|
||||
Configuration variables:
|
||||
************************
|
||||
|
||||
- **id** (**Required**, :ref:`config-id`): The ID to use for code generation, and for reference by dependent components.
|
||||
|
||||
.. note::
|
||||
|
||||
When using the ``emc2101`` output with a :doc:`/components/fan/speed` it is advised to configure the **speed_count**
|
||||
as twice the **resolution** so the number of speeds in the fan matches the number of steps in the fan controller.
|
||||
|
||||
|
||||
|
||||
EMC2101 Sensors
|
||||
---------------
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
sensor:
|
||||
- platform: emc2101
|
||||
internal_temperature:
|
||||
id: internal_temperature_sensor
|
||||
name: "Internal Temperature Sensor"
|
||||
speed:
|
||||
id: speed_sensor
|
||||
name: "Speed Sensor"
|
||||
duty_cycle:
|
||||
id: duty_cycle_sensor
|
||||
name: "Duty Cycle Sensor"
|
||||
update_interval: 5s
|
||||
|
||||
|
||||
Configuration variables:
|
||||
************************
|
||||
- **internal_temperature** (*Optional*): The internal temperature sensor.
|
||||
All options from :ref:`Sensor <config-sensor>`.
|
||||
|
||||
- **external_temperature** (*Optional*): The external temperature sensor. More accurate but it needs an additional transistor to be installed.
|
||||
All options from :ref:`Sensor <config-sensor>`.
|
||||
|
||||
- **speed** (*Optional*): The fan speed sensor in RPMs.
|
||||
All options from :ref:`Sensor <config-sensor>`.
|
||||
|
||||
- **duty_cycle** (*Optional*): Duty cycle sensor.
|
||||
All options from :ref:`Sensor <config-sensor>`.
|
||||
|
||||
- **update_interval** (*Optional*, :ref:`config-time`): The interval to check the sensor. Defaults to ``60s``.
|
||||
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
- :ref:`config-sensor`
|
||||
- :doc:`/components/fan/speed`
|
||||
- :apiref:`emc2101/emc2101.h`
|
||||
- :ghedit:`Edit`
|
@ -23,13 +23,16 @@ Configuration variables:
|
||||
choose a generic board from Espressif such as ``esp32dev``.
|
||||
- **framework** (*Optional*): Options for the underlying framework used by ESPHome.
|
||||
See :ref:`esp32-arduino_framework` and :ref:`esp32-espidf_framework`.
|
||||
- **flash_size** (*Optional*, string): The amount of flash memory available on the ESP32 board/module. One of ``4MB``,
|
||||
``8MB``, ``16MB`` or ``32MB``. Defaults to ``4MB``. **Warning: specifying a size larger than that available on your
|
||||
board will cause the ESP32 to fail to boot.**
|
||||
- **variant** (*Optional*, string): The variant of the ESP32 that is used on this board. One of ``esp32``,
|
||||
``esp32s2``, ``esp32s3``, ``esp32c3`` and ``esp32h2``. Defaults to the variant that is detected from the board, if
|
||||
``esp32s2``, ``esp32s3``, ``esp32c3`` and ``esp32h2``. Defaults to the variant that is detected from the board; if
|
||||
a board that's unknown to ESPHome is used, this option is mandatory.
|
||||
|
||||
.. note::
|
||||
|
||||
Support for the ESP32-S2 and ESP32-C3 is still in development and there could be issues.
|
||||
Support for ESP32 variants such as the S2, S3 and C3 is still in development and there could be issues.
|
||||
|
||||
GPIO Pin Numbering
|
||||
------------------
|
||||
|
@ -34,6 +34,61 @@ Configuration variables:
|
||||
- ``keyboard_display`` - A keyboard and a display
|
||||
- ``display_yes_no`` - A display to show PIN codes and buttons to confirm or deny the connection
|
||||
|
||||
- **enable_on_boot** (*Optional*, boolean): If enabled, the BLE interface will be enabled on boot. Defaults to ``true``.
|
||||
|
||||
``ble.disable`` Action
|
||||
-----------------------
|
||||
|
||||
This action turns off the BLE interface on demand.
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
on_...:
|
||||
then:
|
||||
- ble.disable:
|
||||
|
||||
.. note::
|
||||
|
||||
The configuration option ``enable_on_boot`` can be set to ``false`` if you do not want BLE to be enabled on boot.
|
||||
|
||||
|
||||
``ble.enable`` Action
|
||||
----------------------
|
||||
|
||||
This action turns on the BLE interface on demand.
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
on_...:
|
||||
then:
|
||||
- ble.enable:
|
||||
|
||||
.. note::
|
||||
|
||||
The configuration option ``enable_on_boot`` can be set to ``false`` if you do not want BLE to be enabled on boot.
|
||||
|
||||
|
||||
.. _ble-enabled_condition:
|
||||
|
||||
``ble.enabled`` Condition
|
||||
--------------------------
|
||||
|
||||
This :ref:`Condition <config-condition>` checks if BLE is currently enabled or not.
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
on_...:
|
||||
- if:
|
||||
condition: ble.enabled
|
||||
then:
|
||||
- ble.disable:
|
||||
else:
|
||||
- ble.enable:
|
||||
|
||||
|
||||
The lambda equivalent for this is ``id(ble_id).is_active()``.
|
||||
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
|
@ -15,6 +15,7 @@ where you specify the **name** of the node.
|
||||
esphome:
|
||||
name: livingroom
|
||||
comment: Living room ESP32 controller
|
||||
area: Living Room
|
||||
|
||||
esp32:
|
||||
board: nodemcu-32s
|
||||
@ -32,6 +33,8 @@ Configuration variables:
|
||||
- **friendly_name** (*Optional*, string): This is the name sent to the frontend. It is used
|
||||
by Home Assistant as the integration name, device name, and is automatically prefixed to entities
|
||||
where necessary.
|
||||
- **area** (*Optional*, string): This is the area sent to the frontend. It is used
|
||||
by Home Assistant as the area / zone which the node belongs to.
|
||||
|
||||
Advanced options:
|
||||
|
||||
|
@ -137,14 +137,22 @@ Configuration options:
|
||||
``fan.cycle_speed`` Action
|
||||
--------------------------
|
||||
|
||||
Increments through speed levels of the fan with the given ID when executed. If the fan's speed level is set to maximum when executed, turns fan off.
|
||||
Increments through speed levels of the fan with the given ID when executed. If the fan's speed level is set to maximum when executed, fan will cycle off unless ``off_speed_cycle`` is set to ``false``.
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
on_...:
|
||||
then:
|
||||
- fan.cycle_speed:
|
||||
id: fan_1
|
||||
off_speed_cycle: true
|
||||
# Shorthand:
|
||||
- fan.cycle_speed: fan_1
|
||||
|
||||
Configuration options:
|
||||
|
||||
- **id** (**Required**, :ref:`config-id`): The ID of the fan.
|
||||
- **off_speed_cycle** (*Optional*, boolean, :ref:`templatable <config-templatable>`): Determines if the fan will cycle off after cycling though its highest speed. Can be ``true`` or ``false``. If ``false`` fan will cycle to its lowest speed instead of turning off. Defaults to ``true``.
|
||||
|
||||
.. _fan-is_on_condition:
|
||||
.. _fan-is_off_condition:
|
||||
|
BIN
components/images/dfrobot_sen0395-full.jpg
Normal file
After Width: | Height: | Size: 60 KiB |
BIN
components/images/emc2101-full.png
Normal file
After Width: | Height: | Size: 540 KiB |
BIN
components/images/micronova_optocouplers.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
components/images/micronova_serial.png
Normal file
After Width: | Height: | Size: 730 KiB |
BIN
components/images/micronova_serial_layout.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
@ -27,4 +27,5 @@ Components
|
||||
speaker/index
|
||||
time/index
|
||||
alarm_control_panel/index
|
||||
text/index
|
||||
*
|
||||
|
@ -492,11 +492,21 @@ This effect makes a pulsating light. The period can be defined by ``update_inter
|
||||
name: "Slow Pulse"
|
||||
# transition_length: 1s # defaults to 1s
|
||||
update_interval: 2s
|
||||
- pulse:
|
||||
name: "Asymmetrical Pulse"
|
||||
transition_length:
|
||||
on_length: 1s
|
||||
off_length: 500ms
|
||||
update_interval: 1.5s
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **name** (*Optional*, string): The name of the effect. Defaults to ``Pulse``.
|
||||
- **transition_length** (*Optional*, :ref:`config-time`): The duration of each transition. Defaults to ``1s``.
|
||||
- **transition_length** (*Optional*, :ref:`config-time`): The duration of each transition.
|
||||
Defaults to ``1s``. Can be a single time or split for on and off using these nested options.
|
||||
|
||||
- **on_length** (*Optional*, :ref:`config-time`): The duration of the transition when the light is turned on.
|
||||
- **off_length** (*Optional*, :ref:`config-time`): The duration of the transition when the light is turned off.
|
||||
- **update_interval** (*Optional*, :ref:`config-time`): The interval when the new transition is started. Defaults to ``1s``.
|
||||
- **min_brightness** (*Optional*, percentage): The minimum brightness value. Defaults to ``0%``
|
||||
- **max_brightness** (*Optional*, percentage): The maximum brightness value. Defaults to ``100%``
|
||||
|
227
components/micronova.rst
Normal file
@ -0,0 +1,227 @@
|
||||
MicroNova based pellet stove
|
||||
============================
|
||||
|
||||
.. seo::
|
||||
:description: Instructions for setting up a MicroNova board based pellet stove in ESPHome.
|
||||
|
||||
The MicroNova component allows you to integrate a pellet stove with a MicroNova board in ESPHome.
|
||||
It uses :ref:`UART <uart>` for communication.
|
||||
|
||||
The :ref:`UART <uart>` must be configured with a baud rate 1200, 8 data bits, 2 stop bits, no parity, no flow control.
|
||||
|
||||
.. warning::
|
||||
|
||||
MicroNova bords come in various flavours. This code is only tested on an ExtraFlame Ketty Evo 2.0 stove. The protocol is not
|
||||
documented but has been reverse engineerd by others. See the links below for all the info that helped me.
|
||||
The different sensors, buttons and stove switch may require specific **memory_location** and **memory_address** parameters that
|
||||
match your MicroNova specific board.
|
||||
|
||||
Also, switching your stove on or off can behave different on the various MicroNova flavours.
|
||||
|
||||
Use this integration at your own risk.
|
||||
|
||||
Connecting your stove
|
||||
---------------------
|
||||
|
||||
Most MicroNova based pellet stoves have a serial output. In most cases this output has 4 pins: GND, 5v, 20V and DATA.
|
||||
|
||||
.. figure:: images/micronova_serial.png
|
||||
:align: center
|
||||
:width: 50.0%
|
||||
|
||||
.. figure:: images/micronova_serial_layout.png
|
||||
:align: center
|
||||
:width: 50.0%
|
||||
|
||||
You will have to build a simple circuit to interface with your stove. It is based on optocouplers for galvanic separation and logic
|
||||
level shifting between 5v and 3V3.
|
||||
|
||||
.. figure:: images/micronova_optocouplers.png
|
||||
:align: center
|
||||
:width: 100.0%
|
||||
|
||||
Optocoupler interface circuit (credit: philibertc)
|
||||
|
||||
|
||||
|
||||
See the references below for all the details about te circuit.
|
||||
|
||||
You can use the 5V output from the stove to power the ESP module, but you will have to put a voltage regulator in between to
|
||||
get 3v3.
|
||||
|
||||
Component/Hub
|
||||
-------------
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
micronova:
|
||||
enable_rx_pin: REPLACEME
|
||||
|
||||
Configuration variables:
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
- **enable_rx_pin** (**Required**, :ref:`config-pin`): Output pin to be used to switch the line between RX and TX.
|
||||
- **update_interval** (*Optional*, :ref:`config-time`): The interval that the sensors should be checked.
|
||||
Defaults to 60 seconds.
|
||||
|
||||
.. note::
|
||||
|
||||
For all text sensors, sensors, numbers, buttons and switches hereafter most of the the default **memory_location** and **memory_address** parameters will work so you should
|
||||
not specify them. However your Micronova boad may require you to specify alternate values. So every text sensor, button,
|
||||
switch or number accepts these parameters:
|
||||
|
||||
- **memory_location** (*Optional*): The memory location where the parameter must be read. For most stoves this is 0x00 for RAM
|
||||
or 0x20 for EPROM.
|
||||
- **memory_address** (*Optional*): The address where the parameter is stored.
|
||||
|
||||
|
||||
Text Sensors
|
||||
------------
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
text_sensor:
|
||||
- platform: micronova
|
||||
stove_state:
|
||||
name: Stove status
|
||||
|
||||
Configuration variables:
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
- **stove_state** (*Optional*): The current stove state.
|
||||
All options from :ref:`Text Sensor <config-text_sensor>`.
|
||||
|
||||
Sensors
|
||||
-------
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
sensor:
|
||||
- platform: micronova
|
||||
room_temperature:
|
||||
name: Room temperature
|
||||
fumes_temperature:
|
||||
name: Fumes temperature
|
||||
stove_power:
|
||||
name: Stove power level
|
||||
fan_speed:
|
||||
fan_rpm_offset: 240
|
||||
name: Fan RPM
|
||||
water_temperature:
|
||||
name: Water temperature
|
||||
water_pressure:
|
||||
name: Water pressure
|
||||
memory_address_sensor:
|
||||
memory_location: 0x20
|
||||
memory_address: 0x7d
|
||||
name: Custom Address sensor
|
||||
|
||||
Configuration variables:
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
- **room_temperature** (*Optional*): Sensor that reads the stoves ambient room temperature.
|
||||
All options from :ref:`Sensor <config-sensor>`.
|
||||
- **fumes_temperature** (*Optional*): Fumes temperature.
|
||||
All options from :ref:`Sensor <config-sensor>`.
|
||||
- **stove_power** (*Optional*): Current stove power.
|
||||
All options from :ref:`Sensor <config-sensor>`.
|
||||
- **fan_speed** (*Optional*): Current fan speed. The raw value from the stove is multiplied by 10 + ``fan_rpm_offset``.
|
||||
|
||||
- **fan_rpm_offset** (*Optional*, integer): Offset the reported RPM value. Must be between 0 and 255. Defaults to 0.
|
||||
- All other options from :ref:`Sensor <config-sensor>`.
|
||||
- **water_temperature** (*Optional*): Internal boiler water termperature.
|
||||
All options from :ref:`Sensor <config-sensor>`.
|
||||
- **water_pressure** (*Optional*): Internal boiler water pressure.
|
||||
All options from :ref:`Sensor <config-sensor>`.
|
||||
- **memory_address_sensor** (*Optional*): Can be any **memory_location** / **memory_address** you want to track. Usefull
|
||||
when you don't know where the parameter is for your stove is.
|
||||
All options from :ref:`Sensor <config-sensor>`.
|
||||
|
||||
|
||||
Numbers
|
||||
-------
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
number:
|
||||
- platform: micronova
|
||||
thermostat_temperature:
|
||||
name: Thermostat temperature
|
||||
step: 0.5
|
||||
power_level:
|
||||
name: Thermostat temperature
|
||||
|
||||
Configuration variables:
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
- **thermostat_temperature** (*Optional*): Number that holds the current stove thermostat value.
|
||||
- **step** (*Optional*): Temperature step. This value is used to multiply/devide the raw value when setting/reading the **thermostat_temperature**
|
||||
- All other options from :ref:`Number <config-number>`.
|
||||
- **power_level** (*Optional*): Number that sets/reads the requested stove power.
|
||||
All options from :ref:`Number <config-number>`.
|
||||
|
||||
.. note::
|
||||
|
||||
Besides **memory_location** and **memory_address** you can specify a specific **memory_write_location** parameter.
|
||||
This parameter is a hex value for the **memory_location** where the new thermostat value must be written.
|
||||
|
||||
- **memory_write_location** (*Optional*): The **memory_location** where to write the new thermostat value.
|
||||
|
||||
Buttons
|
||||
-------
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
button:
|
||||
- platform: micronova
|
||||
custom_button:
|
||||
name: Custom button
|
||||
memory_location: 0x20
|
||||
memory_address: 0x7d
|
||||
memory_data: 0x08
|
||||
|
||||
Configuration variables:
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
- **custom_button** (*Optional*): Write the hex value **memory_data** to a **memory_location** and **memory_address**
|
||||
All options from :ref:`Button <config-button>`.
|
||||
|
||||
.. note::
|
||||
|
||||
Besides **memory_location** and **memory_address** you must specify a specific **memory_data** parameter.
|
||||
|
||||
- **memory_data** (*Required*): The hex value to be written to the **memory_location** and **memory_address**.
|
||||
|
||||
Switches
|
||||
--------
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
switch:
|
||||
- platform: micronova
|
||||
stove:
|
||||
name: Stove on/off switch
|
||||
|
||||
Configuration variables:
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
- **stove** (*Optional*): Turn the stove on or off. This switch will also reflect the current stove state.
|
||||
If the **stove_state** is "Off" the switch will be off, in all other states, the switch wil be on.
|
||||
All options from :ref:`Switch <config-switch>`.
|
||||
|
||||
.. note::
|
||||
|
||||
Besides **memory_location** and **memory_address** you can specify specific **memory_data_on** and **memory_data_off** parameters.
|
||||
These parameters contain the hex value to be written to the **memory_location** and **memory_address** when the switch
|
||||
turns on or off.
|
||||
|
||||
- **memory_data_on** (*Optional*): The data to write when turning the switch on.
|
||||
- **memory_data_off** (*Optional*): The data to write when turning the switch off.
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
- `ridiculouslab micronova <https://www.ridiculouslab.com/arguments/iot/stufa/micronova_en.php>`__
|
||||
- `philibertc / micronova_controller <https://github.com/philibertc/micronova_controller/>`__
|
||||
- `eni23 / micronova-controller <https://github.com/eni23/micronova-controller>`__
|
||||
- :ghedit:`Edit`
|
@ -60,8 +60,9 @@ Configuration variables:
|
||||
`Abbreviations <https://www.home-assistant.io/docs/mqtt/discovery/>`__
|
||||
in discovery messages. Defaults to ``true``.
|
||||
- **topic_prefix** (*Optional*, string): The prefix used for all MQTT
|
||||
messages. Should not contain trailing slash. Defaults to
|
||||
``<APP_NAME>``.
|
||||
messages. Should not contain trailing slash. Defaults to ``<APP_NAME>``.
|
||||
Use ``null`` to disable publishing or subscribing of any MQTT topic unless
|
||||
it is explicitly configured.
|
||||
- **log_topic** (*Optional*, :ref:`mqtt-message`): The topic to send MQTT log
|
||||
messages to. Use ``null`` if you want to disable sending logs to MQTT.
|
||||
|
||||
@ -373,9 +374,17 @@ Configuration variables:
|
||||
- **state_topic** (*Optional*, string): The topic to publish state
|
||||
updates to. Defaults to
|
||||
``<TOPIC_PREFIX>/<COMPONENT_TYPE>/<COMPONENT_NAME>/state``.
|
||||
|
||||
ESPHome will always publish a manually configured state topic, even if
|
||||
the component is internal. Use ``null`` to disable publishing the
|
||||
component's state.
|
||||
- **command_topic** (*Optional*, string): The topic to subscribe to for
|
||||
commands from the remote. Defaults to
|
||||
``<TOPIC_PREFIX>/<COMPONENT_TYPE>/<COMPONENT_NAME>/command``.
|
||||
|
||||
ESPHome will always subscribe to a manually configured command topic,
|
||||
even if the component is internal. Use ``null`` to disable subscribing
|
||||
to the component's command topic.
|
||||
- **command_retain** (*Optional*, boolean): Whether MQTT command messages
|
||||
sent to the device should be retained or not. Default to ``false``.
|
||||
|
||||
|
@ -11,6 +11,9 @@ The MCP4728 output component allows to use `12bit external quad DAC
|
||||
<https://www.adafruit.com/product/4470>`__
|
||||
in order to have analog outputs on any board by using :ref:`I²C <i2c>`. Devices default address is ``0x60``.
|
||||
|
||||
If you only have one, it is not necessary to explicitly specify the ``mcp4728:`` component in the config unless you need to change the parameters.
|
||||
It will be automatically created with the default settings if you use it.
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
# Example configuration entry
|
||||
@ -23,13 +26,12 @@ in order to have analog outputs on any board by using :ref:`I²C <i2c>`. Devices
|
||||
|
||||
# Set the component with default (address: 0x60 / global I²C)
|
||||
mcp4728:
|
||||
- platform: mcp4728
|
||||
id: dac_output
|
||||
- id: dac_output
|
||||
|
||||
Configuration variables:
|
||||
------------------------
|
||||
|
||||
- **id** (**Required**, :ref:`config-id`): The id to use for this output component.
|
||||
- **id** (*Optional*, :ref:`config-id`): The id to use for this output component.
|
||||
- **address** (*Optional*, int): Manually specify the I2C address of
|
||||
the DAC. Defaults to ``0x60``.
|
||||
- **store_in_eeprom** (*Optional*, boolean): Use SEQ_WRITE mode to also write to EEPROM sequentially. Defaults to ``false``.
|
||||
@ -57,14 +59,12 @@ The MCP4728 output component exposes 4 MCP4728 channels of a global :ref:`MCP472
|
||||
power_down: gnd_1k
|
||||
- platform: mcp4728
|
||||
id: ac_dimmer_3
|
||||
mcp4728_id: dac_output
|
||||
channel: C
|
||||
vref: internal
|
||||
gain: X1
|
||||
power_down: normal # default
|
||||
- platform: mcp4728
|
||||
id: ac_dimmer_4
|
||||
mcp4728_id: dac_output
|
||||
channel: D
|
||||
vref: internal
|
||||
gain: X2
|
||||
@ -96,5 +96,7 @@ When ``vref=internal``, output voltage will range from 0.000V to 2.048V with ``g
|
||||
See Also
|
||||
--------
|
||||
|
||||
- :doc:`/components/output/index`
|
||||
- :doc:`/components/output/esp32_dac`
|
||||
- :apiref:`mcp4728/mcp4728.h`
|
||||
- :ghedit:`Edit`
|
||||
|
@ -6,16 +6,21 @@ PCA9554 I/O Expander
|
||||
:image: ../images/pca9554a.jpg
|
||||
|
||||
|
||||
The PCA9554 component allows you to use **PCA9554**, **PCA9554A** or **PCA9536** I/O expanders in ESPHome.
|
||||
It uses :ref:`I²C Bus <i2c>` for communication.
|
||||
The PCA9554 component allows you to use a variety of Texas Instrument I/O expanders in ESPHome using the
|
||||
:ref:`I²C Bus <i2c>` for communication.
|
||||
|
||||
Devices tested as working with this component include **PCA9554**, **PCA9554A**, **PCA9536** and **PCA9535**.
|
||||
Equivalent TI I/O expanders with the same command interface and up to 16 I/O pins such as the **TCA9554**
|
||||
and **TCA9535** should also work.
|
||||
|
||||
|
||||
.. figure:: ../images/pca9554a.jpg
|
||||
:align: center
|
||||
|
||||
PCA9554A I/O Expander chip
|
||||
|
||||
Once configured, you can use any of the **8** pins (PCA9554, PCA9554A) or **4** pins (PCA9536) as
|
||||
pins for your projects. Within ESPHome they emulate a real internal GPIO pin
|
||||
Once configured, you can use any of the **16** (PCA9535), **8** (PCA9554, PCA9554A) or **4** (PCA9536) pins
|
||||
within your projects. Within ESPHome they emulate a real internal GPIO pin
|
||||
and can therefore be used with many of ESPHome's components such as the GPIO
|
||||
binary sensor or GPIO switch.
|
||||
|
||||
@ -23,19 +28,21 @@ binary sensor or GPIO switch.
|
||||
|
||||
The 7 bit I²C device address ranges are:
|
||||
|
||||
- PCA9554: ``0x20`` to ``0x27``
|
||||
- PCA9554 and PCA9535: ``0x20`` to ``0x27``
|
||||
- PCA9554A: ``0x38`` to ``0x3F``
|
||||
- PCA9536: ``0x41``
|
||||
|
||||
For the PCA9554 and PCA9554A, the actual choice of the I²C device address depends on state of the 3 address pins.
|
||||
For the PCA9535, PCA9554 and PCA9554A, the actual choice of the I²C device address depends on state of the 3 address pins.
|
||||
Please refer to the individual datasheets linked at the bottom of the page for further details to set the address.
|
||||
|
||||
Up to eight PCA9554 and an additional eight PCA9554A devices can reside on the same I²C bus.
|
||||
Up to eight PCA9535 or PCA9554 and an additional eight PCA9554A devices can reside on the same I²C bus.
|
||||
Please note that only one PCA9536 device is allowed per I²C bus due to its fixed address.
|
||||
|
||||
The PCA9554 and PCA9554A provide 8 bits of GPIO's (pin numbers 0-7).
|
||||
The PCA9535 provides 16 bits of GPIOs (pin numbers 0-15).
|
||||
|
||||
The PCA9554 and PCA9554A provide 8 bits of GPIOs (pin numbers 0-7).
|
||||
|
||||
The PCA9536 provides 4 bits of GPIO's (pin numbers 0-3).
|
||||
The PCA9536 provides 4 bits of GPIOs (pin numbers 0-3).
|
||||
|
||||
Any option accepting a :ref:`Pin Schema <config-pin_schema>` can theoretically be used, but some more
|
||||
complicated components that do communication through this I/O expander will not work.
|
||||
@ -67,6 +74,12 @@ Configuration variables:
|
||||
- **id** (**Required**, :ref:`config-id`): The id to use for this ``pca9554`` component.
|
||||
- **address** (*Optional*, int): The I²C address of the driver.
|
||||
Defaults to ``0x20``.
|
||||
- **pin_count** (*Optional*, int): The number of bits implemented in the expander. Defaults to 8. This should be set
|
||||
to 16 when using a PCA9535 and 4 when using a PCA95367.
|
||||
|
||||
.. note::
|
||||
|
||||
A PCA9535 will not work (even on the lower 8 bits) unless the **pin_count** is set to 16.
|
||||
|
||||
|
||||
|
||||
@ -88,6 +101,7 @@ See Also
|
||||
- :doc:`binary_sensor/gpio`
|
||||
- `PCA9554 datasheet <https://www.ti.com/lit/ds/symlink/pca9554.pdf>`__
|
||||
- `PCA9554A datasheet <https://www.ti.com/lit/ds/symlink/pca9554a.pdf>`__
|
||||
- `PCA9535 datasheet <https://www.ti.com/lit/ds/symlink/pca9535.pdf>`__
|
||||
- `PCA9536 datasheet <https://www.ti.com/lit/ds/symlink/pca9536.pdf>`__
|
||||
- :apiref:`pca9554/pca9554.h`
|
||||
- :ghedit:`Edit`
|
||||
|
@ -31,6 +31,7 @@ Configuration variables:
|
||||
Set to ``all`` to dump all available codecs:
|
||||
|
||||
- **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.
|
||||
@ -80,6 +81,9 @@ Automations:
|
||||
- **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.
|
||||
- **on_byronsx** (*Optional*, :ref:`Automation <automation>`): An automation to perform when a
|
||||
Byron SX doorbell RF code has been decoded. A variable ``x`` of type :apistruct:`remote_base::ByronSXData`
|
||||
is passed to the automation for use in lambdas.
|
||||
- **on_canalsat** (*Optional*, :ref:`Automation <automation>`): An automation to perform when a
|
||||
CanalSat remote code has been decoded. A variable ``x`` of type :apistruct:`remote_base::CanalSatData`
|
||||
is passed to the automation for use in lambdas.
|
||||
@ -205,6 +209,11 @@ Remote code selection (exactly one of these has to be included):
|
||||
- **data** (**Required**, 3-35 bytes list): The code to listen for, see :ref:`remote_transmitter-transmit_aeha`
|
||||
for more info. Usually you only need to copy this directly from the dumper output.
|
||||
|
||||
- **byronsx**: Trigger on a decoded Byron SX Doorbell RF remote code with the given data.
|
||||
|
||||
- **address** (**Required**, int): The 8-bit ID code to trigger on, see dumper output for more info.
|
||||
- **command** (**Optional**, int): The 4-bit command to listen for. If omitted, will match on any command.
|
||||
|
||||
- **canalsat**: Trigger on a decoded CanalSat remote code with the given data.
|
||||
|
||||
- **device** (**Required**, int): The device to trigger on, see dumper output for more info.
|
||||
|
@ -99,7 +99,25 @@ Configuration variables:
|
||||
|
||||
AEHA refers to the Association for Electric Home Appliances in Japan, a format used by Panasonic and many other companies.
|
||||
|
||||
.. _remote_transmitter-transmit_canalsat:
|
||||
.. _remote_transmitter-transmit_byronsx:
|
||||
|
||||
``remote_transmitter.transmit_byronsx`` Action
|
||||
**********************************************
|
||||
|
||||
This :ref:`action <config-action>` sends a Byron Doorbell RF protocol code to a remote transmitter.
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
on_...:
|
||||
- remote_transmitter.transmit_byronsx:
|
||||
address: '0x4f'
|
||||
command: '0x2'
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **address** (**Required**, int): The 8-bit ID to send, see dumper output for more info.
|
||||
- **command** (**Required**, int): The command to send, see dumper output for more info.
|
||||
- All other options from :ref:`remote_transmitter-transmit_action`... _remote_transmitter-transmit_canalsat:
|
||||
|
||||
``remote_transmitter.transmit_canalsat`` Action
|
||||
***********************************************
|
||||
|
@ -3,6 +3,7 @@ Rtttl Buzzer
|
||||
|
||||
.. seo::
|
||||
:description: Instructions for setting up a buzzer to play tones and rtttl songs with ESPHome.
|
||||
**NEW:** Or play the song using the I2S speaker.
|
||||
:image: buzzer.jpg
|
||||
|
||||
The ``rtttl``, component allows you to easily connect a passive piezo buzzer to your microcontroller
|
||||
@ -15,8 +16,8 @@ and play monophonic songs. It accepts the Ring Tone Text Transfer Language, rttt
|
||||
|
||||
Buzzer Module
|
||||
|
||||
Overview
|
||||
--------
|
||||
Overview Using a passive buzzer
|
||||
-------------------------------
|
||||
|
||||
It's important that your buzzer is a **passive** one, if it beeps when you feed it with 3.3V then it is not
|
||||
a passive one and this library will not work properly.
|
||||
@ -29,22 +30,42 @@ The tone generator needs a PWM capable output to work with, currently only the
|
||||
|
||||
# Example configuration entry
|
||||
output:
|
||||
- platform: ledc
|
||||
pin: GPIO22
|
||||
- platform: ...
|
||||
id: rtttl_out
|
||||
...
|
||||
|
||||
rtttl:
|
||||
output: rtttl_out
|
||||
id: my_rtttl
|
||||
|
||||
Overview Using the I2S speaker
|
||||
------------------------------
|
||||
|
||||
The tone generator can instead be used with a :doc:`Speaker </components/speaker/index>` to output the audio.
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
# Example configuration entry
|
||||
speaker:
|
||||
- platform: ...
|
||||
id: my_speaker
|
||||
...
|
||||
|
||||
rtttl:
|
||||
speaker: my_speaker
|
||||
id: my_rtttl
|
||||
|
||||
Configuration variables:
|
||||
------------------------
|
||||
|
||||
- **output** (**Required**, :ref:`config-id`): The id of the :ref:`float output <output>` to use for
|
||||
- **output** (**Exclusive**, :ref:`config-id`): The id of the :ref:`float output <output>` to use for
|
||||
this buzzer.
|
||||
- **speaker** (**Exclusive**, :ref:`config-id`): The id of the :ref:`speaker <i2s_audio>` to play the song on.
|
||||
- **id** (*Optional*, :ref:`config-id`): Manually specify the ID used for code generation.
|
||||
- **on_finished_playback** (*Optional*, :ref:`Automation <automation>`): An action to be
|
||||
performed when playback is finished.
|
||||
|
||||
Note: You can only use the **output** or **speaker** variable, not both at the same time.
|
||||
|
||||
``rtttl.play`` Action
|
||||
---------------------
|
||||
@ -103,7 +124,7 @@ Common beeps
|
||||
|
||||
You can do your own beep patterns too! Here's a short collection so you can just use right away or tweak them to your like:
|
||||
|
||||
.. code-block:: yaml
|
||||
.. code-block::
|
||||
|
||||
two_short:d=4,o=5,b=100:16e6,16e6
|
||||
long:d=1,o=5,b=100:e6
|
||||
@ -160,6 +181,8 @@ Sample code
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
- :doc:`/components/output/esp8266_pwm`
|
||||
- :doc:`/components/output/ledc`
|
||||
- :doc:`/components/speaker/index`
|
||||
- :apiref:`rtttl/rtttl.h`
|
||||
- :ghedit:`Edit`
|
||||
|
@ -15,7 +15,7 @@ ADE7953 Power Sensor
|
||||
|
||||
The ``ade7953`` sensor platform allows you to use ADE7953 single phase energy metering ICs
|
||||
(`datasheet <https://www.analog.com/media/en/technical-documentation/data-sheets/ADE7953.pdf>`__)
|
||||
with ESPHome. These are commonly found in **Shelly 2.5** devices.
|
||||
with ESPHome. These are commonly found in **Shelly** devices.
|
||||
|
||||
This sensor can measure voltage and has two channels for reading current and active power (A & B).
|
||||
|
||||
@ -23,42 +23,235 @@ This sensor can measure voltage and has two channels for reading current and act
|
||||
|
||||
SAFETY HAZARD: Some devices such as Sonoff POWs/Shelly/etc, have the digital GND connected directly to mains voltage so **the GPIOs become LIVE during normal operation**. Our advice is to mark these boards to prevent any use of the dangerous digital pins.
|
||||
|
||||
The :ref:`I²C Bus <i2c>` is
|
||||
required to be set up in your configuration for this sensor to work.
|
||||
The :ref:`I²C Bus <i2c>`
|
||||
or :ref:`SPI Bus <spi>`
|
||||
is required to be set up in your configuration for this sensor to work.
|
||||
|
||||
Over I²C
|
||||
--------
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
# Example configuration entry
|
||||
# Example configuration entry for i2c
|
||||
sensor:
|
||||
- platform: ade7953
|
||||
- platform: ade7953_i2c
|
||||
irq_pin: GPIO16
|
||||
voltage:
|
||||
name: ADE7953 Voltage
|
||||
frequency:
|
||||
name: ADE7953 Frequency
|
||||
current_a:
|
||||
name: ADE7953 Current A
|
||||
current_b:
|
||||
name: ADE7953 Current B
|
||||
power_factor_a:
|
||||
name: "ADE7953 Power Factor A"
|
||||
power_factor_b:
|
||||
name: "ADE7953 Power Factor B"
|
||||
apparent_power_a:
|
||||
name: "ADE7953 Apparent Power A"
|
||||
apparent_power_b:
|
||||
name: "ADE7953 Apparent Power B"
|
||||
active_power_a:
|
||||
name: ADE7953 Active Power A
|
||||
active_power_b:
|
||||
name: ADE7953 Active Power B
|
||||
update_interval: 60s
|
||||
reactive_power_a:
|
||||
name: "ADE7953 Reactive Power A"
|
||||
reactive_power_b:
|
||||
name: "ADE7953 Reactive Power B"
|
||||
|
||||
Configuration variables:
|
||||
------------------------
|
||||
************************
|
||||
|
||||
- **address** (*Optional*, int): Manually specify the I²C address of the sensor. Defaults to ``0x38``.
|
||||
- **irq_pin** (*Optional*, :ref:`config-pin`): The pin connected to the ADE7935 IRQ line (if connected)
|
||||
- **voltage** (*Optional*): Use the voltage value of the sensor in volt. All options from
|
||||
- **voltage** (*Optional*): Use the voltage value of the sensor in volts. All options from
|
||||
:ref:`Sensor <config-sensor>`.
|
||||
- **frequency** (*Optional*): Use the frequency value of the sensor in hertzs. All options from
|
||||
:ref:`Sensor <config-sensor>`.
|
||||
- **current_a** (*Optional*): Use the current value of the A channel in amperes. All options from
|
||||
:ref:`Sensor <config-sensor>`.
|
||||
- **current_b** (*Optional*): Use the current value of the B channel in amperes. All options from
|
||||
:ref:`Sensor <config-sensor>`.
|
||||
- **power_factor_a** (*Optional*): Use the power factor of the A channel in percentage. All options from
|
||||
:ref:`Sensor <config-sensor>`.
|
||||
- **power_factor_b** (*Optional*): Use the power factor of the B channel in percentage. All options from
|
||||
:ref:`Sensor <config-sensor>`.
|
||||
- **aparent_power_a** (*Optional*): Use the apparent power value of the A channel in volt ampers. All options from
|
||||
:ref:`Sensor <config-sensor>`.
|
||||
- **aparent_power_b** (*Optional*): Use the apparent power value of the B channel in volt ampers. All options from
|
||||
:ref:`Sensor <config-sensor>`.
|
||||
- **active_power_a** (*Optional*): Use the power value of the A channel in watts. All options from
|
||||
:ref:`Sensor <config-sensor>`.
|
||||
- **active_power_b** (*Optional*): Use the power value of the B channel in watts. All options from
|
||||
:ref:`Sensor <config-sensor>`.
|
||||
- **reactive_power_a** (*Optional*): Use the rective power value of the A channel in volt ampers. All options from
|
||||
:ref:`Sensor <config-sensor>`.
|
||||
- **reactive_power_b** (*Optional*): Use the rective power value of the B channel in volt ampers. All options from
|
||||
:ref:`Sensor <config-sensor>`.
|
||||
- **voltage_pga_gain** (*Optional*, mapping): Set the input PGA voltage amplification. Defaults to ``1x``. Possible values are:
|
||||
|
||||
- ``1x``
|
||||
- ``2x``
|
||||
- ``4x``
|
||||
- ``8x``
|
||||
- ``16x``
|
||||
- ``22x``
|
||||
|
||||
- **current_pga_gain_a** (*Optional*, mapping): Set the input PGA current amplification of the A channel. Defaults to ``1x``. Possible values are:
|
||||
|
||||
- ``1x``
|
||||
- ``2x``
|
||||
- ``4x``
|
||||
- ``8x``
|
||||
- ``16x``
|
||||
- ``22x``
|
||||
|
||||
- **current_pga_gain_b** (*Optional*, mapping): Set input PGA current amplification of the B channel. Defaults to ``1x``. Possible values are:
|
||||
|
||||
- ``1x``
|
||||
- ``2x``
|
||||
- ``4x``
|
||||
- ``8x``
|
||||
- ``16x``
|
||||
|
||||
- **voltage_gain** (*Optional*, int): Set the voltage amplification. Defaults to ``0x400000``.
|
||||
- **current_gain_a** (*Optional*, int): Set the current amplification of the A channel. Defaults to ``0x400000``.
|
||||
- **current_gain_b** (*Optional*, int): Set the current amplification of the B channel. Defaults to ``0x400000``.
|
||||
- **active_power_gain_a** (*Optional*, int): Set the active power amplification of the A channel. Defaults to ``0x400000``.
|
||||
- **active_power_gain_b** (*Optional*, int): Set the active power amplification of the B channel. Defaults to ``0x400000``.
|
||||
- **update_interval** (*Optional*, :ref:`config-time`): The interval to check the sensor. Defaults to ``60s``.
|
||||
|
||||
Over SPI
|
||||
--------
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
# Example configuration entry for SPI (taken from a Shelly Pro 4PM)
|
||||
sensor:
|
||||
- platform: ade7953_spi
|
||||
cs_pin: GPIO04
|
||||
irq_pin: GPIO35
|
||||
current_pga_gain_a: 2x
|
||||
current_pga_gain_b: 2x
|
||||
current_gain_a: 0x600000
|
||||
current_gain_b: 0x600000
|
||||
voltage:
|
||||
name: "Voltage"
|
||||
filters:
|
||||
- delta: 1
|
||||
frequency:
|
||||
name: ADE7953 Frequency
|
||||
filters:
|
||||
- delta: 0.1
|
||||
current_a:
|
||||
name: "Current A"
|
||||
filters:
|
||||
- delta: 0.01
|
||||
current_b:
|
||||
name: "Current B"
|
||||
filters:
|
||||
- delta: 0.01
|
||||
power_factor_a:
|
||||
name: "Power Factor A"
|
||||
filters:
|
||||
- delta: 5
|
||||
power_factor_b:
|
||||
name: "ADE7953 Power Factor B"
|
||||
filters:
|
||||
- delta: 5
|
||||
apparent_power_a:
|
||||
name: "Apparent Power A"
|
||||
filters:
|
||||
- delta: 1
|
||||
apparent_power_b:
|
||||
name: "Apparent Power B"
|
||||
filters:
|
||||
- delta: 1
|
||||
active_power_a:
|
||||
name: "Power A"
|
||||
id: active_power_1
|
||||
# active_power is inverted, so multiply by -1
|
||||
filters:
|
||||
- multiply: -1
|
||||
- delta: 1
|
||||
active_power_b:
|
||||
name: "Power B"
|
||||
id: active_power_2
|
||||
# active_power is inverted, so multiply by -1
|
||||
filters:
|
||||
- multiply: -1
|
||||
- delta: 1
|
||||
reactive_power_a:
|
||||
name: "Reactive Power A"
|
||||
filters:
|
||||
- delta: 1
|
||||
reactive_power_b:
|
||||
name: "Reactive Power B"
|
||||
filters:
|
||||
- delta: 1
|
||||
|
||||
Configuration variables:
|
||||
************************
|
||||
|
||||
- **cs_pin** (**Required**, :ref:`Pin Schema <config-pin_schema>`): The chip select pin.
|
||||
- **irq_pin** (*Optional*, :ref:`config-pin`): The pin connected to the ADE7935 IRQ line (if connected)
|
||||
- **voltage** (*Optional*): Use the voltage value of the sensor in volts. All options from
|
||||
:ref:`Sensor <config-sensor>`.
|
||||
- **frequency** (*Optional*): Use the frequency value of the sensor in hertzs. All options from
|
||||
:ref:`Sensor <config-sensor>`.
|
||||
- **current_a** (*Optional*): Use the current value of the A channel in amperes. All options from
|
||||
:ref:`Sensor <config-sensor>`.
|
||||
- **current_b** (*Optional*): Use the current value of the B channel in amperes. All options from
|
||||
:ref:`Sensor <config-sensor>`.
|
||||
- **power_factor_a** (*Optional*): Use the power factor of the A channel in percentage. All options from
|
||||
:ref:`Sensor <config-sensor>`.
|
||||
- **power_factor_b** (*Optional*): Use the power factor of the B channel in percentage. All options from
|
||||
:ref:`Sensor <config-sensor>`.
|
||||
- **aparent_power_a** (*Optional*): Use the apparent power value of the A channel in volt ampers. All options from
|
||||
:ref:`Sensor <config-sensor>`.
|
||||
- **aparent_power_b** (*Optional*): Use the apparent power value of the B channel in volt ampers. All options from
|
||||
:ref:`Sensor <config-sensor>`.
|
||||
- **active_power_a** (*Optional*): Use the power value of the A channel in watts. All options from
|
||||
:ref:`Sensor <config-sensor>`.
|
||||
- **active_power_b** (*Optional*): Use the power value of the B channel in watts. All options from
|
||||
:ref:`Sensor <config-sensor>`.
|
||||
- **reactive_power_a** (*Optional*): Use the rective power value of the A channel in volt ampers. All options from
|
||||
:ref:`Sensor <config-sensor>`.
|
||||
- **reactive_power_b** (*Optional*): Use the rective power value of the B channel in volt ampers. All options from
|
||||
:ref:`Sensor <config-sensor>`.
|
||||
- **voltage_pga_gain** (*Optional*, mapping): Set the input PGA voltage amplification. Defaults to ``1x``. Possible values are:
|
||||
|
||||
- ``1x``
|
||||
- ``2x``
|
||||
- ``4x``
|
||||
- ``8x``
|
||||
- ``16x``
|
||||
- ``22x``
|
||||
|
||||
- **current_pga_gain_a** (*Optional*, mapping): Set the input PGA current amplification of the A channel. Defaults to ``1x``. Possible values are:
|
||||
|
||||
- ``1x``
|
||||
- ``2x``
|
||||
- ``4x``
|
||||
- ``8x``
|
||||
- ``16x``
|
||||
- ``22x``
|
||||
|
||||
- **current_pga_gain_b** (*Optional*, mapping): Set input PGA current amplification of the B channel. Defaults to ``1x``. Possible values are:
|
||||
|
||||
- ``1x``
|
||||
- ``2x``
|
||||
- ``4x``
|
||||
- ``8x``
|
||||
- ``16x``
|
||||
|
||||
- **voltage_gain** (*Optional*, int): Set the voltage amplification. Defaults to ``0x400000``.
|
||||
- **current_gain_a** (*Optional*, int): Set the current amplification of the A channel. Defaults to ``0x400000``.
|
||||
- **current_gain_b** (*Optional*, int): Set the current amplification of the B channel. Defaults to ``0x400000``.
|
||||
- **active_power_gain_a** (*Optional*, int): Set the active power amplification of the A channel. Defaults to ``0x400000``.
|
||||
- **active_power_gain_b** (*Optional*, int): Set the active power amplification of the B channel. Defaults to ``0x400000``.
|
||||
- **update_interval** (*Optional*, :ref:`config-time`): The interval to check the sensor. Defaults to ``60s``.
|
||||
|
||||
Use with Shelly 2.5
|
||||
@ -84,7 +277,7 @@ Additionally, the device has an ::doc:`NTC temperature sensor <ntc>`.
|
||||
scl: GPIO14
|
||||
|
||||
sensor:
|
||||
- platform: ade7953
|
||||
- platform: ade7953_i2c
|
||||
irq_pin: GPIO16
|
||||
voltage:
|
||||
name: Shelly Voltage
|
||||
|
62
components/sensor/honeywellabp2_i2c.rst
Normal file
@ -0,0 +1,62 @@
|
||||
Honeywell ABP 2 Pressure Sensors
|
||||
================================
|
||||
|
||||
.. seo::
|
||||
:description: Instructions for setting up Honeywell ABP2 Pressure sensors
|
||||
:image: honeywellabp.jpg
|
||||
:keywords: Honeywell ABP2
|
||||
|
||||
The ``honeywellabp2_i2c`` sensor platform allows you to use your Honeywell ABP
|
||||
(`website <https://sps.honeywell.com/us/en/products/advanced-sensing-technologies/healthcare-sensing/board-mount-pressure-sensors/basic-abp2-series>`__,
|
||||
`datasheet <https://prod-edam.honeywell.com/content/dam/honeywell-edam/sps/siot/en-us/products/sensors/pressure-sensors/board-mount-pressure-sensors/basic-abp2-series/documents/sps-siot-abp2-series-datasheet-32350268-en.pdf?download=false>`_)
|
||||
pressure and temperature sensors with ESPHome. The :ref:`I2C <i2c>` is
|
||||
required to be set up in your configuration for this sensor to work
|
||||
|
||||
.. figure:: images/honeywellabp.jpg
|
||||
:align: center
|
||||
:width: 50.0%
|
||||
|
||||
Honeywell ABP Pressure and Temperature Sensor.
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
sensor:
|
||||
- platform: honeywellabp2_i2c
|
||||
pressure:
|
||||
name: "Honeywell2 pressure"
|
||||
min_pressure: 0
|
||||
max_pressure: 16000
|
||||
transfer_function: "A"
|
||||
temperature:
|
||||
name: "Honeywell2 temperature"
|
||||
|
||||
Configuration variables:
|
||||
------------------------
|
||||
|
||||
The values for ``min_pressure`` and ``max_pressure`` and ``transfer_function`` can be found in the device datasheet for the specific device.
|
||||
These are used to calculate the pressure reading published by the sensor. Some sensors measure pressure in ``bar`` or ``Psi``;
|
||||
set ``min_pressure`` and ``max_pressure`` to the measurement range, ``transfer_function`` to ``A`` or ``B`` and ``unit_of_measurement`` to the appropriate unit for your device.
|
||||
|
||||
- **pressure** (*Optional*): The information for the pressure sensor.
|
||||
|
||||
- **min_pressure** (**Required**, int or float): Minimum pressure for the pressure sensor.
|
||||
- **max_pressure** (**Required**, int or float): Maximum pressure for the pressure sensor.
|
||||
- **transfer_function** (**Required**, "A" or "B"): Transfer function used by the pressure sensor.
|
||||
- All other options from :ref:`Sensor <config-sensor>`.
|
||||
|
||||
Some sensors do not have temperature sensing ability, see datasheet. In some cases the sensor may return a valid temperature even though the
|
||||
datasheet indicates that the sensor does not measure temperature.
|
||||
|
||||
- **temperature** (*Optional*): The information for the temperature sensor.
|
||||
All options from :ref:`Sensor <config-sensor>`.
|
||||
|
||||
|
||||
- **update_interval** (*Optional*, :ref:`config-time`): The interval to check the
|
||||
sensor. Defaults to ``60s``.
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
- :ref:`sensor-filters`
|
||||
- :apiref:`honeywellabp/honeywellabp2.h`
|
||||
- :ghedit:`Edit`
|
@ -6,16 +6,22 @@ Hydreon Rain Sensor
|
||||
:image: hydreon_rg9.jpg
|
||||
:keywords: hydreon
|
||||
|
||||
The ``hydreon_rgxx`` sensor platform allows you to use rain sensors by Hydreon. Currently supported are the RG-9 and RG-15 (`rainsensors <https://rainsensors.com/products/model-comparison/>`_) sensors.
|
||||
The ``hydreon_rgxx`` sensor platform allows you to use rain sensors by Hydreon. Currently supported are the RG-9 and RG-15 sensors (`model comparison <https://rainsensors.com/products/model-comparison/>`_).
|
||||
|
||||
These optical rain sensors use a UART connection at 3.3V. The :ref:`UART <uart>` is
|
||||
required to be set up in your configuration for this sensor to work.
|
||||
|
||||
Supported firmware versions:
|
||||
- RG-15: v1.000
|
||||
- RG-9: v1.000, v1.100, v1.200
|
||||
|
||||
Device FAQ: `<https://rainsensors.com/support/rg-9-rg-15-faq/>`__
|
||||
|
||||
.. figure:: images/hydreon_rg9_full.jpg
|
||||
:align: center
|
||||
:width: 50.0%
|
||||
|
||||
Hydreon RG-9 Rain Sensor. Image by `Hydreon <https://rainsensors.com/products/rg-9/>`_.
|
||||
Hydreon RG-9 Rain Sensor. Image by `Hydreon <https://rainsensors.com/>`_.
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
@ -29,17 +35,26 @@ required to be set up in your configuration for this sensor to work.
|
||||
sensor:
|
||||
- platform: hydreon_rgxx
|
||||
model: "RG_9"
|
||||
update_interval: 60s
|
||||
id: "hydreon_1"
|
||||
update_interval: 20s
|
||||
disable_led: false
|
||||
moisture:
|
||||
name: "rain"
|
||||
expire_after: 120s
|
||||
name: "Rain Level"
|
||||
temperature:
|
||||
name: "Device Temperature"
|
||||
|
||||
binary_sensor:
|
||||
- platform: hydreon_rgxx
|
||||
hydreon_rgxx_id: "hydreon_1"
|
||||
too_cold:
|
||||
name: "too cold"
|
||||
entity_category: diagnostic
|
||||
name: "Temperature Status"
|
||||
lens_bad:
|
||||
name: "lens bad"
|
||||
entity_category: diagnostic
|
||||
name: "Lens Status"
|
||||
em_sat:
|
||||
entity_category: diagnostic
|
||||
name: "Emitter Saturation"
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
@ -68,10 +83,19 @@ Configuration variables:
|
||||
|
||||
- **model** (**Required**, string): Specify which rain sensor you have connected. Must be either ``RG_9`` or ``RG_15``.
|
||||
|
||||
- **disable_led** (*Optional*): Disables the on-board LED. Defaults to ``false``. Only on RG-9 firmware version 1.200-onwards.
|
||||
|
||||
|
||||
- **uart_id** (*Optional*, :ref:`config-id`): Manually specify the ID of the :ref:`UART Component <uart>` if you want
|
||||
to use multiple UART buses.
|
||||
|
||||
- **moisture** (*Optional*): Rain intensity level from 0-7. Only on RG-9.
|
||||
- **moisture** (*Optional*): Rain intensity level from 0-7 (`more detail <https://rainsensors.com/support/rg-9-rg-15-faq/#RG-9RValue>`__). Only on RG-9.
|
||||
|
||||
- **name** (**Required**, string): The name for the sensor.
|
||||
- **id** (*Optional*, :ref:`config-id`): Set the ID of this sensor for use in lambdas.
|
||||
- All other options from :ref:`Sensor <config-sensor>`.
|
||||
|
||||
- **temperature** (*Optional*): Device internal temperature in Celsius. Accuracy is ±5°C. Only on RG-9 firmware version 1.100-onwards.
|
||||
|
||||
- **name** (**Required**, string): The name for the sensor.
|
||||
- **id** (*Optional*, :ref:`config-id`): Set the ID of this sensor for use in lambdas.
|
||||
@ -101,12 +125,6 @@ Configuration variables:
|
||||
- **id** (*Optional*, :ref:`config-id`): Set the ID of this sensor for use in lambdas.
|
||||
- All other options from :ref:`Sensor <config-sensor>`.
|
||||
|
||||
- **temperature** (*Optional*): Temperature +-5°C. Only on RG-9 Version 1.100 or later.
|
||||
|
||||
- **name** (**Required**, string): The name for the sensor.
|
||||
- **id** (*Optional*, :ref:`config-id`): Set the ID of this sensor for use in lambdas.
|
||||
- All other options from :ref:`Sensor <config-sensor>`.
|
||||
|
||||
- **update_interval** (*Optional*, :ref:`config-time`): The interval to check the sensor. Defaults to ``60s``.
|
||||
|
||||
|
||||
@ -115,8 +133,14 @@ See Also
|
||||
|
||||
- :ref:`sensor-filters`
|
||||
- :doc:`../binary_sensor/hydreon_rgxx`
|
||||
|
||||
- `Hydreon RG-9 <https://rainsensors.com/products/rg-9/>`__
|
||||
- `Hydreon RG-15 <https://rainsensors.com/products/rg-15/>`__
|
||||
|
||||
- `RG-15 V1.000 manual <https://rainsensors.com/wp-content/uploads/sites/3/2020/07/rg-15_instructions_sw_1.000.pdf>`__
|
||||
- `RG-9 V1.000 manual <https://rainsensors.com/wp-content/uploads/sites/3/2021/03/2020.08.25-rg-9_instructions.pdf>`__
|
||||
|
||||
- `RG-9 1.000 manual <https://rainsensors.com/wp-content/uploads/sites/3/2021/03/2020.08.25-rg-9_instructions.pdf>`__
|
||||
- `RG-9 1.100 manual <https://rainsensors.com/wp-content/uploads/sites/3/2021/03/2021.03.11-rg-9_instructions.pdf>`__
|
||||
- `RG-9 1.200 manual <https://rainsensors.com/wp-content/uploads/sites/3/2022/03/2022.02.17-rev-1.200-rg-9_instructions.pdf>`__
|
||||
|
||||
- :ghedit:`Edit`
|
||||
|
51
components/sensor/iaqcore.rst
Normal file
@ -0,0 +1,51 @@
|
||||
AMS iAQ-Core Indoor Air Quality Sensor
|
||||
======================================
|
||||
|
||||
.. seo::
|
||||
:description: Instructions for setting up the iAQ-Core sensor.
|
||||
:image: iaqcore.jpg
|
||||
:keywords: co2, tvoc, i2c
|
||||
|
||||
The AMS iAQ-Core sensor allows you to use your
|
||||
(`datasheet <https://www.sciosense.com/wp-content/uploads/documents/iaQ-Core-Datasheet.pdf>`__)
|
||||
sensors with ESPHome.
|
||||
|
||||
.. figure:: images/iaqcore.jpg
|
||||
:align: center
|
||||
:width: 30.0%
|
||||
|
||||
AMS iAQ-Core Indoor Air Quality Sensor.
|
||||
|
||||
The iAQ-Core sensor module is used to measure VOC levels and provide CO2 equivalent and TVOC equivalent predictions. The data is available via I²C bus.
|
||||
|
||||
To use the sensor, first set up an :ref:`I²C Bus <i2c>` and connect the sensor to the specified pins.
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
# Example configuration entry
|
||||
sensor:
|
||||
- platform: iaqcore
|
||||
address: 0x5A
|
||||
update_interval: 60s
|
||||
co2:
|
||||
name: "iAQ Core CO2 Sensor"
|
||||
tvoc:
|
||||
name: "iAQ Core TVOC Sensor"
|
||||
|
||||
Configuration variables:
|
||||
------------------------
|
||||
|
||||
- **i2c_id** (*Optional*, ID): The id of the I²C Bus.
|
||||
- **address** (*Optional*, int): Manually specifiy the I²C address of the sensor. Defaults to ``0x5A``.
|
||||
- **update_interval** (*Optional*, :ref:`config-time`): The interval to check the sensor. Defaults to ``60s``.
|
||||
- **co2** (*Optional*): The configuration for the CO2 sensor. All options from
|
||||
:ref:`Sensor <config-sensor>`.
|
||||
- **tvoc** (*Optional*): The configuration for the TVOC sensor. All options from
|
||||
:ref:`Sensor <config-sensor>`.
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
- :ref:`sensor-filters`
|
||||
- :doc:`/components/sensor/index`
|
||||
- :ghedit:`Edit`
|
BIN
components/sensor/images/6897d.jpg
Normal file
After Width: | Height: | Size: 27 KiB |
BIN
components/sensor/images/iaqcore.jpg
Normal file
After Width: | Height: | Size: 17 KiB |
BIN
components/sensor/images/sfa30.jpg
Normal file
After Width: | Height: | Size: 47 KiB |
@ -262,12 +262,38 @@ degree with a least squares solver.
|
||||
``clamp``
|
||||
*********
|
||||
|
||||
Limits the value to the range between ``min_value`` and ``max_value``. Sensor values outside these bounds will be set to ``min_value`` or ``max_value``, respectively. If ``min_value`` is not set, there is no lower bound, if ``max_value`` is not set there is no upper bound.
|
||||
Limits the value to the range between ``min_value`` and ``max_value``. By default, sensor values outside these bounds will be set to ``min_value`` or ``max_value``, respectively. If ``ignore_out_of_range`` is true, then sensor values outside those bounds will be ignored. If ``min_value`` is not set, there is no lower bound; if ``max_value`` is not set there is no upper bound.
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **min_value** (*Optional*, float): The lower bound of the range.
|
||||
- **max_value** (*Optional*, float): The upper bound of the range.
|
||||
- **ignore_out_of_range** (*Optional*, bool): If true, ignores all sensor values out of the range. Defaults to ``false``.
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
# Example configuration entry
|
||||
- platform: wifi_signal
|
||||
# ...
|
||||
filters:
|
||||
- clamp:
|
||||
min_value: 10
|
||||
max_value: 75
|
||||
ignore_out_of_range: true
|
||||
|
||||
|
||||
|
||||
``round``
|
||||
*********
|
||||
|
||||
Rounds the value to the given decimal places.
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
- platform: ...
|
||||
filters:
|
||||
- round: 1 # will round to 1 decimal place
|
||||
|
||||
|
||||
``quantile``
|
||||
************
|
||||
|
446
components/sensor/ld2420.rst
Normal file
@ -0,0 +1,446 @@
|
||||
LD2420 24Ghz mmWave Radar Sensor
|
||||
================================
|
||||
|
||||
.. seo::
|
||||
:description: Instructions for setting up LD2420 sensors.
|
||||
:image: ld2420.jpg
|
||||
|
||||
Component
|
||||
---------
|
||||
.. _ld2420-component:
|
||||
|
||||
The ``ld2420`` sensor platform allows you to use the HLK-LD2420 motion and presence sensor.
|
||||
The :ref:`UART <uart>` is required to be set up in your configuration for this sensor to work.
|
||||
|
||||
Depending on the firmware you have serial baudrates will be 256000 for any module with less than
|
||||
firmware v1.5.3 and 115200 on newer versions. The tx_pin changed from ot2 to ot1 with firmware v1.5.3.
|
||||
Firmware v1.5.4 and up now features the ability to observe gate energy signal levels and with this
|
||||
release we can dynamically calibrate gate still and move thresholds.
|
||||
|
||||
This component has dynamic configuration functionallity with a compact UI format.
|
||||
Select, number and button components provide configuration value inputs and control.
|
||||
|
||||
|
||||
.. figure:: /images/ld2420.jpg
|
||||
:align: center
|
||||
:width: 50.0%
|
||||
|
||||
HLK-LD2420 Low power motion and presence sensor.
|
||||
|
||||
Module Pinouts
|
||||
--------------
|
||||
|
||||
.. list-table:: Firmware 1.5.2 and older
|
||||
:widths: 25 25 25
|
||||
:header-rows: 1
|
||||
|
||||
* - Pin#
|
||||
- Name
|
||||
- Function
|
||||
* - 1
|
||||
- 3v3
|
||||
- VCC
|
||||
* - 2
|
||||
- GND
|
||||
- GND
|
||||
* - 3
|
||||
- OT1
|
||||
- Presence Signal Output
|
||||
* - 4
|
||||
- RX
|
||||
- Serial Rx (to ESP Tx)
|
||||
* - 5
|
||||
- OT2
|
||||
- Serial Tx (to ESP Rx)
|
||||
|
||||
.. list-table:: Firmware 1.5.3 and newer
|
||||
:widths: 25 25 25
|
||||
:header-rows: 1
|
||||
|
||||
* - Pin#
|
||||
- Name
|
||||
- Function
|
||||
* - 1
|
||||
- 3v3
|
||||
- VCC
|
||||
* - 2
|
||||
- GND
|
||||
- GND
|
||||
* - 3
|
||||
- OT1
|
||||
- Serial Tx (to ESP Rx)
|
||||
* - 4
|
||||
- RX
|
||||
- Serial Rx (to ESP Tx)
|
||||
* - 5
|
||||
- OT2
|
||||
- Presence Signal Output
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
# Example configuration entry
|
||||
ld2420:
|
||||
|
||||
text_sensor:
|
||||
- platform: ld2420
|
||||
fw_version:
|
||||
name: LD2420 Firmware
|
||||
|
||||
sensor:
|
||||
- platform: ld2420
|
||||
moving_distance:
|
||||
name : Moving Distance
|
||||
|
||||
binary_sensor:
|
||||
- platform: ld2420
|
||||
has_target:
|
||||
name: Presence
|
||||
|
||||
select:
|
||||
- platform: ld2420
|
||||
operating_mode:
|
||||
name: Operating Mode
|
||||
|
||||
number:
|
||||
- platform: ld2420
|
||||
timeout:
|
||||
name: Detection Presence Timeout
|
||||
min_gate_distance:
|
||||
name: Detection Gate Minimum
|
||||
max_gate_distance:
|
||||
name: Detection Gate Maximum
|
||||
# See "Number" section below for detail
|
||||
gate_select:
|
||||
name: Select Gate to Set
|
||||
still_threshold:
|
||||
name: Set Still Threshold Value
|
||||
move_threshold:
|
||||
name: Set Move Threshold Value
|
||||
|
||||
button:
|
||||
- platform: ld2420
|
||||
apply_config:
|
||||
name: Apply Config
|
||||
factory_reset:
|
||||
name: Factory Reset
|
||||
restart_module:
|
||||
name: Restart Module
|
||||
revert_config:
|
||||
name: Undo Edits
|
||||
|
||||
|
||||
Platform
|
||||
--------
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
ld2420:
|
||||
|
||||
Configuration variables:
|
||||
************************
|
||||
|
||||
**ld2420** (*Required*): Component platform.
|
||||
|
||||
|
||||
Select
|
||||
------
|
||||
|
||||
**Operating Modes:**
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
select:
|
||||
- platform: ld2420
|
||||
operating_mode:
|
||||
name: Operating Mode
|
||||
|
||||
|
||||
The dynamic UI provides three operational modes: **Normal**, **Calibrate** and **Simple**. The select component allows
|
||||
you to choose the active mode.
|
||||
|
||||
- **Normal**: This is the default mode. It sets the ld2420 in energy reporting mode and is availble with firmware
|
||||
v1.5.4 or greater. When in this mode the module logs all gate energy levels continuouly in a local array making it
|
||||
available for dynamic calibration functions.
|
||||
- **Calibrate**: When calibration mode is selected the module will collect the average and peak energy levels,
|
||||
reporting them every five seconds. The report is provided in the log console for information only. In order to
|
||||
calibrate the gate configuration, no objects should be present in the target environment. The recording will
|
||||
establish the mmWave noise floor levels and undesirable reflections or signal distortions peaks. This should be
|
||||
collected for at least 30 seconds. Longer runs can catch more potential false signals when devices near the module
|
||||
are used such as microwave ovens and other sources of noise.
|
||||
|
||||
When the **apply_config** button is pressed in calibration mode the LD2420 will be configured with calculated values
|
||||
based on its collected noise floor data and the module will return to Normal Mode. Selecting any other mode drops the
|
||||
session's collected noise data and no changed settings are staged. Once the **apply_config** action is performed, the
|
||||
computed values will then persist. The gate values can be manually adjusted or calibrated again or you can use the
|
||||
factory reset button to restore the module's default settings.
|
||||
- **Simple**: Provides backward compatibility with firmware v1.5.3 and older and will be automatically set when the
|
||||
detected firmware version is v1.5.3 or older.
|
||||
|
||||
Configuration variables:
|
||||
************************
|
||||
|
||||
- **operating_mode** (*Required*): Provisions the operating mode select component.
|
||||
May contain any options from :ref:`Select <config-select>`.
|
||||
|
||||
Number
|
||||
------
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
number:
|
||||
- platform: ld2420
|
||||
presence_timeout:
|
||||
name: Detection Presence Timeout
|
||||
min_gate_distance:
|
||||
name: Detection Gate Minimum
|
||||
max_gate_distance:
|
||||
name: Detection Gate Maximum
|
||||
|
||||
gate_select:
|
||||
name: Select Gate to Set
|
||||
still_threshold:
|
||||
name: Set Still Threshold Value
|
||||
move_threshold:
|
||||
name: Set Move Threshold Value
|
||||
|
||||
gate_move_sensitivity:
|
||||
name: Move Calibration Sensitivity Factor
|
||||
gate_still_sensitivity:
|
||||
name: Still Calibration Sensitivity Factor
|
||||
|
||||
gate_0:
|
||||
move_threshold:
|
||||
name: Gate 0 Move Threshold
|
||||
still_threshold:
|
||||
name: Gate 0 Still Threshold
|
||||
gate_1:
|
||||
move_threshold:
|
||||
name: Gate 1 Move Threshold
|
||||
still_threshold:
|
||||
name: Gate 1 Still Threshold
|
||||
|
||||
Configuration variables:
|
||||
************************
|
||||
|
||||
- **presence_timeout** (*Optional*): The time in seconds during which the occupied state (presence) will persist after
|
||||
presence is no longer detected. Any energy detection within the time window restarts the countdown from this value.
|
||||
Defaults to 120s. **Required** when ``min_gate_distance`` and ``max_gate_distance`` is specified. May contain any
|
||||
options from :ref:`Number <config-number>`.
|
||||
- **min_gate_distance** (*Optional*): Minimum distance for move or still energy detection. Value between 0 and
|
||||
``max_gate_distance`` - 1. Each increment equals 70 cm. Defaults to 1. **Required** when ``presence_timeout`` and
|
||||
``max_gate_distance`` is specified. May contain any options from :ref:`Number <config-number>`.
|
||||
- **max_gate_distance** (*Optional*): Maximum gate for movement detection. Value from 1 to 15. Each gate detects
|
||||
movement and still energy at 70 cm increments. At the maximum value, the sensor’s range equates to 16 * 70 cm
|
||||
resulting in an approximately 12-meter range; however, accuracy at this range may be diminished. The recommended
|
||||
maximum value is 12 * 70 cm which results in approximately 9 meters. **Required** when ``presence_timeout`` and
|
||||
``min_gate_distance`` is specified. May contain any options from :ref:`Number <config-number>`.
|
||||
- **gate_still_sensitivity** (*Optional*): Gate still threshold calibration sensitivity factor. Defaults to 0.5 with a
|
||||
range of 0-1, 0 = high and 1 = low. May contain any options from :ref:`Number <config-number>`.
|
||||
- **gate_move_sensitivity** (*Optional*): Gate move threshold calibration sensitivity factor. Defaults to 0.5 with a
|
||||
range of 0-1, 0 = high and 1 = low. May contain any options from :ref:`Number <config-number>`.
|
||||
- **gate_select** (*Optional*): Selection of gate value to edit (gate # from 0 to 15). Gate thresholds
|
||||
are edited by selecting the gate number and then adjusting the move and still thresholds. **Note that when this
|
||||
variable is defined, the component will run in compact UI mode and the following two configuration variables are then
|
||||
required:** May contain any options from :ref:`Number <config-number>`.
|
||||
|
||||
- **still_threshold** (*Optional*): Gate still value threshold level for motion energy detection on a currently
|
||||
selected gate number. A value greater than that specified for the gate (distance) will trigger movement detection.
|
||||
May contain any options from :ref:`Number <config-number>`.
|
||||
- **move_threshold** (*Optional*): Gate move value threshold level for still energy detection on a currently selected
|
||||
gate number. A value less than that specified for the gate (distance) will trigger still detection. May contain any
|
||||
options from :ref:`Number <config-number>`.
|
||||
|
||||
- **gate_n** (*Optional*): Provides individual gate threshold number inputs. Range is ``gate_0`` to ``gate_15``.
|
||||
**May not be used with** ``gate_select`` (above). Each gate entry requires a ``still_threshold`` and ``move_threshold``:
|
||||
|
||||
- **still_threshold** (*Required for each gate_n entry*): Gate still value threshold level for motion energy
|
||||
detection on currently selected gate number. A value greater than that specified for the gate (distance) will
|
||||
trigger movement detection. May contain any options from :ref:`Number <config-number>`.
|
||||
- **move_threshold** (*Required for each gate_n entry*): Gate move value threshold level for still energy
|
||||
detection on currently selected gate number. A value less than that specified for the gate (distance) will
|
||||
trigger still detection. May contain any options from :ref:`Number <config-number>`.
|
||||
|
||||
Button
|
||||
------
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
button:
|
||||
- platform: ld2420
|
||||
apply_config:
|
||||
name: Apply Config
|
||||
factory_reset:
|
||||
name: Factory Reset
|
||||
restart_module:
|
||||
name: Restart Module
|
||||
revert_config:
|
||||
name: Undo Edits
|
||||
|
||||
Four button components are available enabling configuration controls for editing, saving, restarting and factory reseting the LD2420 module.
|
||||
|
||||
Configuration variables:
|
||||
************************
|
||||
|
||||
- **apply_config** (*Optional*): Saves both manual config tuning or the auto calibrate still and move threshold config
|
||||
settings. May contain any options from :ref:`Button <config-button>`.
|
||||
- **restart_module** (*Optional*): Reboots the LD2420 modules. May contain any options from :ref:`Button <config-button>`.
|
||||
- **revert_config** (*Optional*): Undoes in-progress edits prior to their application via the ``apply_config`` button.
|
||||
May contain any options from :ref:`Button <config-button>`.
|
||||
- **factory_reset** (*Optional*): Restores a base set of LD2420 configuration values. May contain any options from
|
||||
:ref:`Button <config-button>`.
|
||||
|
||||
Factory Reset Values:
|
||||
*********************
|
||||
|
||||
.. _ld2420-default_values_for_gate_threshold:
|
||||
|
||||
.. list-table::
|
||||
:widths: 25 25
|
||||
:header-rows: 1
|
||||
|
||||
* - Setting:
|
||||
- Value:
|
||||
|
||||
* - Timeout
|
||||
- 120s
|
||||
* - Min Gate Distance
|
||||
- 1
|
||||
* - Max Gate Distance
|
||||
- 12
|
||||
|
||||
.. list-table::
|
||||
:widths: 25 25 25
|
||||
:header-rows: 1
|
||||
|
||||
* - Gate Number:
|
||||
- Move threshold
|
||||
- Still threshold
|
||||
* - 0
|
||||
- 60000
|
||||
- 40000
|
||||
* - 1
|
||||
- 30000
|
||||
- 20000
|
||||
* - 2
|
||||
- 400
|
||||
- 200
|
||||
* - 3
|
||||
- 300
|
||||
- 250
|
||||
* - 4
|
||||
- 250
|
||||
- 150
|
||||
* - 5
|
||||
- 250
|
||||
- 150
|
||||
* - 6
|
||||
- 250
|
||||
- 150
|
||||
* - 7
|
||||
- 250
|
||||
- 150
|
||||
* - 8
|
||||
- 300
|
||||
- 150
|
||||
* - 9
|
||||
- 250
|
||||
- 150
|
||||
* - 10
|
||||
- 250
|
||||
- 150
|
||||
* - 11
|
||||
- 250
|
||||
- 150
|
||||
* - 12
|
||||
- 250
|
||||
- 100
|
||||
* - 13
|
||||
- 200
|
||||
- 100
|
||||
* - 14
|
||||
- 200
|
||||
- 100
|
||||
* - 15
|
||||
- 200
|
||||
- 100
|
||||
|
||||
Sensor
|
||||
------
|
||||
|
||||
The ``ld2420`` sensor allows you to use your :doc:`ld2420` to approximate the distance
|
||||
between the sensor and an object moving within its field of detection.
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
sensor:
|
||||
- platform: ld2420
|
||||
moving_distance:
|
||||
name : Moving Distance
|
||||
|
||||
|
||||
Configuration variables:
|
||||
************************
|
||||
|
||||
- **moving_distance** (*Optional*): Distance between the sensor and the detected moving target. May contain any options
|
||||
from :ref:`Sensor <config-sensor>`.
|
||||
|
||||
Binary Sensor
|
||||
-------------
|
||||
|
||||
The ``ld2420`` binary sensor allows you to use your :doc:`ld2420` to sense presence.
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
binary_sensor:
|
||||
- platform: ld2420
|
||||
has_target:
|
||||
name: Presence
|
||||
|
||||
Configuration variables:
|
||||
************************
|
||||
|
||||
- **has_target** (*Optional*): If a target is detected with either still or in movement **has_target** will be set true
|
||||
for the duration of the **presence_time_window** setting. May contain any options from
|
||||
:ref:`Binary Sensor <config-binary_sensor>`.
|
||||
|
||||
Text Sensor
|
||||
-----------
|
||||
|
||||
The ``ld2420`` text sensor provides version information for the :doc:`ld2420`.
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
text_sensor:
|
||||
- platform: ld2420
|
||||
fw_version:
|
||||
name: LD2420 Firmware
|
||||
|
||||
Configuration variables:
|
||||
************************
|
||||
|
||||
- **fw_version** (*Optional*): Allows you to retrieve the :doc:`ld2420` firmware version. May contain any options from
|
||||
:ref:`Text Sensor <config-text_sensor>`.
|
||||
|
||||
|
||||
Important Information
|
||||
---------------------
|
||||
|
||||
Solid objects and noise outside the ``detection_gate_max`` and ``detection_gate_min`` may cause false
|
||||
detections or result in abnormal gate thresholds. For example, a wall within the gate max range can result
|
||||
in signal reflections. If your sensor reports unexpected detections, you should test it by placing it in a
|
||||
completely open room with no moving objects.
|
||||
|
||||
Also, never place two or more sensors in a manner such that their detection fields overlap, as this will certainly
|
||||
result in false detections.
|
||||
|
||||
Firmware update capability is available using the LD2420 tool provided by HLKTech.
|
||||
You will need to email them and request the bin file.
|
||||
At this time only firmware version v1.5.6 and up can be upgraded.
|
||||
**DO NOT** attempt to update to older firmware versions. It will brick the module.
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
- Official Datasheet/Manuals are still in development; for info email `sales@hlktech.com`.
|
||||
- Official web site `https://www.hlktech.net/`
|
||||
- :ghedit:`Edit`
|
57
components/sensor/sfa30.rst
Normal file
@ -0,0 +1,57 @@
|
||||
SFA30 Formaldehyde Sensor
|
||||
=========================
|
||||
|
||||
.. seo::
|
||||
:description: Instructions for setting up SFA30 Formaldehyde Sensor
|
||||
:image: sfa30.jpg
|
||||
|
||||
The ``sfa30`` sensor platform allows you to use your Sensirion SFA30 Formaldehyde
|
||||
(`datasheet <https://sensirion.com/media/documents/DEB1C6D6/63D92360/Sensirion_formaldehyde_sensors_datasheet_SFA30.pdf>`__) sensors with ESPHome.
|
||||
The :ref:`I²C Bus <i2c>` is required to be set up in your configuration for this sensor to work.
|
||||
This sensor supports both UART and I²C communication. However, at the moment only I²C communication is implemented.
|
||||
|
||||
.. figure:: images/sfa30.jpg
|
||||
:align: center
|
||||
:width: 80.0%
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
# Example configuration entry
|
||||
sensor:
|
||||
- platform: sfa30
|
||||
formaldehyde:
|
||||
name: "Formaldehyde"
|
||||
temperature:
|
||||
name: "Temperature"
|
||||
humidity:
|
||||
name: "Humidity"
|
||||
|
||||
|
||||
Configuration variables:
|
||||
------------------------
|
||||
|
||||
- **formaldehyde** (*Optional*): The information for the Formaldehyde sensor.
|
||||
All options from :ref:`Sensor <config-sensor>`.
|
||||
|
||||
- **temperature** (*Optional*): The information for the Temperature sensor.
|
||||
All options from :ref:`Sensor <config-sensor>`.
|
||||
|
||||
|
||||
- **humidity** (*Optional*): The information for the Humidity sensor.
|
||||
All options from :ref:`Sensor <config-sensor>`.
|
||||
|
||||
|
||||
- **address** (*Optional*, int): Manually specify the I²C address of the sensor.
|
||||
Defaults to ``0x5D``.
|
||||
|
||||
- **update_interval** (*Optional*, :ref:`config-time`): The interval to check the
|
||||
sensor. Defaults to ``60s``.
|
||||
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
- :ref:`sensor-filters`
|
||||
- :doc:`absolute_humidity`
|
||||
- :apiref:`sfa30/sfa30.h`
|
||||
- :ghedit:`Edit`
|
56
components/sensor/xgzp68xx.rst
Normal file
@ -0,0 +1,56 @@
|
||||
CFSensor XGZP68xx Series Differential Pressure Sensor
|
||||
=====================================================
|
||||
|
||||
.. seo::
|
||||
:description: Instructions for setting up the CFSensor XGZP68xx Series Differential Pressure sensor.
|
||||
:image: 6897d.jpg
|
||||
:keywords: XGZP68xx, XGZP6897, XGZP6899, XGZP6899D, XGZP6897D
|
||||
|
||||
The XGZP68xx Differential Pressure sensor allows you to use digital differential pressure sensors such as the 6899D
|
||||
(`datasheet <https://cfsensor.com/wp-content/uploads/2022/11/XGZP6899D-Pressure-Sensor-V2.8.pdf>`__) or
|
||||
6897D Series (`datasheet <https://cfsensor.com/wp-content/uploads/2022/11/XGZP6897D-Pressure-Sensor-V2.7.pdf>`__)
|
||||
sensors with ESPHome. The sensors pressure ranges are specified in the datasheets.
|
||||
|
||||
Calibrating the sensor can be done by checking the value that is returned when
|
||||
the ports are open to the air. This value should be 0. If it is not, you can use the offset option to correct the
|
||||
reading. For example, if your sensor is reading -40Pa when the ports are disconnected, you can set the offset to 40.
|
||||
|
||||
.. figure:: images/6897d.jpg
|
||||
:align: center
|
||||
:width: 30.0%
|
||||
|
||||
XGZP6897D Differential Pressure Sensor.
|
||||
(Credit: `CFSensor <https://cfsensor.net/i2c-differential-pressure-sensor-xgzp6897d/>`__, image cropped and compressed)
|
||||
|
||||
.. _Sparkfun: https://www.sparkfun.com/products/17874
|
||||
|
||||
To use the sensor, set up an :ref:`I²C Bus <i2c>` and connect the sensor to the specified pins.
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
# Example configuration entry
|
||||
# It uses a filter offset to calibrate the sensor
|
||||
sensor:
|
||||
- platform: xgzp68xx
|
||||
temperature:
|
||||
name: "Temperature"
|
||||
pressure:
|
||||
name: "Differential Pressure"
|
||||
filters:
|
||||
- offset: 40.5
|
||||
|
||||
Configuration variables:
|
||||
------------------------
|
||||
|
||||
- **temperature** (*Optional*): All options from :ref:`Sensor <config-sensor>`.
|
||||
- **pressure** (*Optional*): All options from :ref:`Sensor <config-sensor>`.
|
||||
- **k_value** (*Optional*, int): The K value comes from the datasheet. It will default to 4096 if not specified, which is appropriate for a sensor with a range of +/- 0.5kPa.
|
||||
- **update_interval** (*Optional*, :ref:`config-time`): The interval to check the sensor. Defaults to ``60s``.
|
||||
|
||||
|
||||
See Also
|
||||
--------
|
||||
- `esphome-pressure device <https://github.com/gcormier/esphome-pressure/>`__
|
||||
- :ref:`sensor-filters`
|
||||
- :apiref:`sdp3x/sdp3x.h`
|
||||
- :ghedit:`Edit`
|
@ -47,6 +47,13 @@ smart meter. If you see checksum errors in the log try changing the interface pa
|
||||
sml:
|
||||
id: mysml
|
||||
uart_id: uart_bus
|
||||
on_data:
|
||||
- lambda: !lambda |-
|
||||
if (valid) {
|
||||
id(mqttclient).publish("gridmeter/sensor/sml/state", format_hex(bytes));
|
||||
} else {
|
||||
id(mqttclient).publish("gridmeter/sensor/sml/error", format_hex(bytes));
|
||||
}
|
||||
|
||||
sensor:
|
||||
- platform: sml
|
||||
@ -101,6 +108,21 @@ Text Sensor
|
||||
- **format** (*Optional*, string): Override the automatic interpretation of the transmitted binary data value. Possible values (`int`, `uint`, `bool`, `hex`, `text`).
|
||||
- All other options from :ref:`Text Sensor <config-text_sensor>`.
|
||||
|
||||
Automations:
|
||||
------------
|
||||
|
||||
- **on_data** (*Optional*, :ref:`Automation <automation>`): An automation to perform when a
|
||||
SML message is received. See :ref:`sml-on-data`.
|
||||
|
||||
.. _sml-on-data:
|
||||
|
||||
``on_data`` Trigger
|
||||
********************
|
||||
|
||||
This automation will be triggered when a valid SML message is received. The variable ``bytes`` (of type
|
||||
``std::vector<uint8_t>``) contains the raw sml data including start/end sequence. The variable ``valid``
|
||||
(of type ``bool``) contains the result of the checksum verification.
|
||||
|
||||
|
||||
Getting OBIS codes and sensor ids
|
||||
---------------------------------
|
||||
|
@ -6,9 +6,10 @@ SN74HC595 I/O Expander (shift register)
|
||||
|
||||
The SN74HC595 component allows you to use SN74HC595 shift registers as I/O expanders
|
||||
(`datasheet <http://www.ti.com/lit/ds/symlink/sn74hc595.pdf>`__,
|
||||
`SparkFun`_) in ESPHome. It uses 3 wires (optionally 4) for communication.
|
||||
`SparkFun`_) in ESPHome. It uses 3 wires (optionally 4) for communication. Optionally, it can be added
|
||||
to a SPI bus to allow sharing pins with other components.
|
||||
|
||||
Once configured, you can use any of the 8 pins for your projects. Up-to 256 shift registers can be daisy-chained
|
||||
Once configured, you can use any of the 8 pins for your projects. Up to 256 shift registers can be daisy-chained
|
||||
to provide more pins, without using more GPIO pins on the controller.
|
||||
|
||||
Use of the OE pin is optional. If used, the pin should be pulled up externally.
|
||||
@ -21,6 +22,11 @@ Use of the OE pin is optional. If used, the pin should be pulled up externally.
|
||||
|
||||
.. _SparkFun: https://www.sparkfun.com/products/13699
|
||||
|
||||
The component can be configured using :ref:`GPIO pins <config-pin_schema>` or the :ref:`SPI Bus <spi>`.
|
||||
|
||||
Over GPIO
|
||||
---------
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
# Example configuration entry
|
||||
@ -53,6 +59,46 @@ Configuration variables:
|
||||
- **sr_count** (*Optional*, int): Number of daisy-chained shift registers, up-to 256. Defaults to ``1``.
|
||||
|
||||
|
||||
Pin configuration variables:
|
||||
****************************
|
||||
|
||||
- **sn74hc595** (**Required**, :ref:`config-id`): The id of the SN74HC595 component the pin belongs to.
|
||||
- **number** (**Required**, int): The pin number.
|
||||
- **inverted** (*Optional*, boolean): If all written values should be treated as inverted.
|
||||
Defaults to ``false``.
|
||||
|
||||
Over SPI
|
||||
--------
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
# Example configuration entry
|
||||
spi:
|
||||
sn74hc595:
|
||||
- id: 'sn74hc595_hub'
|
||||
latch_pin: D7
|
||||
oe_pin: D6
|
||||
sr_count: 2
|
||||
|
||||
# Individual outputs
|
||||
switch:
|
||||
- platform: gpio
|
||||
name: "SN74HC595 Pin #0"
|
||||
pin:
|
||||
sn74hc595: sn74hc595_hub
|
||||
# Use pin number 0
|
||||
number: 0
|
||||
inverted: false
|
||||
|
||||
Configuration variables:
|
||||
************************
|
||||
|
||||
- **id** (**Required**, :ref:`config-id`): The id to use for this SN74HC595 component.
|
||||
- **latch_pin** (**Required**, :ref:`Pin Schema <config-pin_schema>`): Pin connected to SN74HC595 RCLK (ST_CP) pin
|
||||
- **oe_pin** (*Optional*, :ref:`Pin Schema <config-pin_schema>`): Pin connected to SN74HC595 OE pin
|
||||
- **sr_count** (*Optional*, int): Number of daisy-chained shift registers, up to 256. Defaults to ``1``.
|
||||
|
||||
|
||||
Pin configuration variables:
|
||||
****************************
|
||||
|
||||
|
@ -26,15 +26,23 @@ The ``uart`` switch platform allows you to send a pre-defined sequence of bytes
|
||||
name: "UART Recurring Output"
|
||||
data: [0xDE, 0xAD, 0xBE, 0xEF]
|
||||
send_every: 1s
|
||||
- platform: uart
|
||||
name: "UART On/Off"
|
||||
data:
|
||||
turn_on: "TurnOn\r\n"
|
||||
turn_off: "TurnOff\r\n"
|
||||
|
||||
Configuration variables:
|
||||
------------------------
|
||||
|
||||
- **data** (**Required**, string or list of bytes): The data to send via UART. Either an ASCII string
|
||||
or a list of bytes.
|
||||
- **name** (**Required**, string): The name for the switch.
|
||||
- **uart_id** (*Optional*, :ref:`config-id`): Manually specify the ID of the UART hub.
|
||||
- **id** (*Optional*, :ref:`config-id`): Manually specify the ID used for code generation.
|
||||
- **name** (*Optional*, string): The name for the switch.
|
||||
- **uart_id** (*Optional*, :ref:`config-id`): Manually specify the ID of the UART hub.
|
||||
- **data** (*Optional*, string or list of bytes): The data to send via UART. Either an ASCII string
|
||||
or a list of bytes or one or both of the following nested options (see example above).
|
||||
|
||||
- **turn_on** (*Optional*, string or list of bytes): The data to send when turning on.
|
||||
- **turn_off** (*Optional*, string or list of bytes): The data to send when turning off.
|
||||
- **send_every** (*Optional*, :ref:`config-time`): Sends recurring data instead of sending once.
|
||||
- All other options from :ref:`Switch <config-switch>`.
|
||||
|
||||
|
144
components/text/index.rst
Normal file
@ -0,0 +1,144 @@
|
||||
Text Component
|
||||
==============
|
||||
|
||||
.. seo::
|
||||
:description: Instructions for setting up text components in ESPHome.
|
||||
:image: folder-open.svg
|
||||
|
||||
ESPHome has support for components to create a text entity. A text entity is
|
||||
like a ``text_sensor`` that can read a value from a device, but is useful when that value
|
||||
can be set by the user/frontend.
|
||||
|
||||
.. note::
|
||||
|
||||
Home Assistant Core 2023.11 or higher is required for ESPHome text entities to work.
|
||||
|
||||
.. _config-text:
|
||||
|
||||
Base Text Configuration
|
||||
-----------------------
|
||||
|
||||
All texts in ESPHome have a name and an optional icon.
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
# Example text configuration
|
||||
name: Livingroom Text
|
||||
|
||||
# Optional variables:
|
||||
icon: "mdi:cursor-text"
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **id** (*Optional*, string): Manually specify the ID for code generation. At least one of **id** and **name** must be specified.
|
||||
- **name** (**Required**, string): The name for the text.
|
||||
|
||||
.. note::
|
||||
|
||||
If you have a :ref:`friendly_name <esphome-configuration_variables>` set for your device and
|
||||
you want the text to use that name, you can set ``name: None``.
|
||||
|
||||
- **icon** (*Optional*, icon): Manually set the icon to use for the text in the frontend.
|
||||
- **internal** (*Optional*, boolean): Mark this component as internal. Internal components will
|
||||
not be exposed to the frontend (like Home Assistant). Only specifying an ``id`` without
|
||||
a ``name`` will implicitly set this to true.
|
||||
- **disabled_by_default** (*Optional*, boolean): If true, then this entity should not be added to any client's frontend,
|
||||
(usually Home Assistant) without the user manually enabling it (via the Home Assistant UI).
|
||||
Defaults to ``false``.
|
||||
- **entity_category** (*Optional*, string): The category of the entity.
|
||||
See https://developers.home-assistant.io/docs/core/entity/#generic-properties
|
||||
for a list of available options. Set to ``""`` to remove the default entity category.
|
||||
- **mode** (**Required**, string): Defines how the text should be displayed in the frontend.
|
||||
One of ``text`` or ``password``.
|
||||
|
||||
Automations:
|
||||
|
||||
- **on_value** (*Optional*, :ref:`Automation <automation>`): An automation to perform
|
||||
when a new value is published. See :ref:`text-on_value`.
|
||||
|
||||
MQTT Options:
|
||||
|
||||
- All other options from :ref:`MQTT Component <config-mqtt-component>`.
|
||||
|
||||
Text Automation
|
||||
---------------
|
||||
|
||||
You can access the most recent state of the text in :ref:`lambdas <config-lambda>` using
|
||||
``id(text_id).state``.
|
||||
|
||||
.. _text-on_value:
|
||||
|
||||
``on_value``
|
||||
************
|
||||
|
||||
This automation will be triggered when a new value is published. In :ref:`Lambdas <config-lambda>`
|
||||
you can get the value from the trigger with ``x``.
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
text:
|
||||
- platform: template
|
||||
# ...
|
||||
on_value:
|
||||
then:
|
||||
- logger.log:
|
||||
format: "%s"
|
||||
args: ["x.c_str()"]
|
||||
|
||||
Configuration variables: See :ref:`Automation <automation>`.
|
||||
|
||||
.. _text-set_action:
|
||||
|
||||
``text.set`` Action
|
||||
*******************
|
||||
|
||||
This is an :ref:`Action <config-action>` for setting a text state.
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
- text.set:
|
||||
id: my_text
|
||||
value: "Hello World"
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **id** (**Required**, :ref:`config-id`): The ID of the text to set.
|
||||
- **value** (**Required**, string, :ref:`templatable <config-templatable>`):
|
||||
The value to set the text to.
|
||||
|
||||
.. _text-lambda_calls:
|
||||
|
||||
lambda calls
|
||||
************
|
||||
|
||||
From :ref:`lambdas <config-lambda>`, you can call certain methods on all texts to do some
|
||||
advanced stuff (see the full API Reference for more info).
|
||||
|
||||
- ``.make_call()``: Make a call for updating the text value.
|
||||
|
||||
.. code-block:: cpp
|
||||
|
||||
// Within lambda, push a value of 42
|
||||
auto call = id(my_text).make_call();
|
||||
call.set_value("Hello World");
|
||||
call.perform();
|
||||
|
||||
- ``.state``: Retrieve the current value of the text.
|
||||
|
||||
.. code-block:: cpp
|
||||
|
||||
// For example, create a custom log message when a value is received:
|
||||
ESP_LOGI("main", "Value of my text: %s", id(my_text).state.c_str());
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
- :apiref:`Text <text/text.h>`
|
||||
- :apiref:`TextCall <text/text_call.h>`
|
||||
- :ghedit:`Edit`
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
:glob:
|
||||
|
||||
*
|
51
components/text/template.rst
Normal file
@ -0,0 +1,51 @@
|
||||
Template Text
|
||||
=============
|
||||
|
||||
.. seo::
|
||||
:description: Instructions for setting up template texts with ESPHome.
|
||||
:image: description.svg
|
||||
|
||||
The ``template`` text platform allows you to create a text with templated values
|
||||
using :ref:`lambdas <config-lambda>`.
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
# Example configuration entry
|
||||
text:
|
||||
- platform: template
|
||||
name: "Template text"
|
||||
optimistic: true
|
||||
min_length: 0
|
||||
max_length: 100
|
||||
mode: text
|
||||
|
||||
Configuration variables:
|
||||
------------------------
|
||||
|
||||
- **min_length** (*Optional*, int): The minimum length this text can be. Defaults to ``0``.
|
||||
- **max_length** (*Optional*, int): The maximum length this text can be. Defaults to ``255``.
|
||||
- **lambda** (*Optional*, :ref:`lambda <config-lambda>`):
|
||||
Lambda to be evaluated every update interval to get the current value of the text.
|
||||
- **set_action** (*Optional*, :ref:`Action <config-action>`): The action that should
|
||||
be performed when the remote (like Home Assistant's frontend) requests to set the
|
||||
text value. The new value is available to lambdas in the ``x`` variable.
|
||||
- **update_interval** (*Optional*, :ref:`config-time`): The interval on which to update the text
|
||||
by executing the ``lambda``. Defaults to ``60s``.
|
||||
- **optimistic** (*Optional*, boolean): Whether to operate in optimistic mode - when in this mode,
|
||||
any command sent to the template text will immediately update the reported state.
|
||||
Cannot be used with ``lambda``. Defaults to ``false``.
|
||||
- **restore_value** (*Optional*, boolean): Saves and loads the state to RTC/Flash.
|
||||
Cannot be used with ``lambda``. Defaults to ``false``.
|
||||
- **initial_value** (*Optional*, String): The value to set the state to on setup if not
|
||||
restored with ``restore_value``.
|
||||
Cannot be used with ``lambda``.
|
||||
Defaults to the empty string.
|
||||
- All other options from :ref:`Text <config-text>`.
|
||||
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
- :ref:`automation`
|
||||
- :apiref:`template/text/template_text.h`
|
||||
- :ghedit:`Edit`
|
@ -56,6 +56,10 @@ Configuration variables:
|
||||
|
||||
- **include_internal** (*Optional*, boolean): Whether ``internal`` entities should be displayed on the
|
||||
web interface. Defaults to ``false``.
|
||||
- **enable_private_network_access** (*Optional*, boolean): Enables support for
|
||||
`Private Network Access <https://wicg.github.io/private-network-access>`__ and the
|
||||
`Private Network Access Permission Prompt <https://wicg.github.io/private-network-access/#permission-prompt>`__.
|
||||
Defaults to ``true``.
|
||||
- **log** (*Optional*, boolean): Turn on or off the log feature inside webserver. Defaults to ``true``.
|
||||
- **ota** (*Optional*, boolean): Turn on or off the OTA feature inside webserver. Strongly not suggested without enabled authentication settings. Defaults to ``true``. Cannot be used with the ``esp-idf`` framework.
|
||||
- **id** (*Optional*, :ref:`config-id`): Manually specify the ID used for code generation.
|
||||
|
@ -89,6 +89,8 @@ Configuration variables:
|
||||
- **enable_btm** (*Optional*, bool): Only on ``esp32`` with ``esp-idf``. Enable 802.11v BSS Transition Management support.
|
||||
- **enable_rrm** (*Optional*, bool): Only on ``esp32`` with ``esp-idf``. Enable 802.11k Radio Resource Management support.
|
||||
|
||||
- **on_connect** (*Optional*, :ref:`Automation <automation>`): An action to be performed when a connection is established.
|
||||
- **on_disconnect** (*Optional*, :ref:`Automation <automation>`): An action to be performed when the connection is dropped.
|
||||
- **enable_on_boot** (*Optional*, boolean): If enabled, the WiFi interface will be enabled on boot. Defaults to ``true``.
|
||||
|
||||
- **id** (*Optional*, :ref:`config-id`): Manually specify the ID used for code generation.
|
||||
@ -272,6 +274,23 @@ Configuration variables:
|
||||
- **key** (*Optional*, string): Path to a PEM encoded private key matching ``certificate`` for EAP-TLS authentication.
|
||||
Optionally encrypted with ``password``.
|
||||
|
||||
.. _wifi-on_connect_disconnect:
|
||||
|
||||
``on_connect`` / ``on_disconnect`` Trigger
|
||||
------------------------------------------
|
||||
|
||||
This trigger is activated when a WiFi connection is established or dropped.
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
wifi:
|
||||
# ...
|
||||
on_connect:
|
||||
- switch.turn_on: switch1
|
||||
on_disconnect:
|
||||
- switch.turn_off: switch1
|
||||
|
||||
.. _wifi-on_disable:
|
||||
|
||||
``wifi.disable`` Action
|
||||
-----------------------
|
||||
@ -288,6 +307,7 @@ This action turns off the WiFi interface on demand.
|
||||
|
||||
Be aware that if you disable WiFi, the API timeout will need to be disabled otherwise the device will reboot.
|
||||
|
||||
.. _wifi-on_enable:
|
||||
|
||||
``wifi.enable`` Action
|
||||
----------------------
|
||||
|
@ -241,6 +241,22 @@ This sensor reports the *timestamp* of the latest completed handshake.
|
||||
All options from :ref:`Sensor <config-sensor>` can be added to the
|
||||
above configuration.
|
||||
|
||||
Address Text Sensor
|
||||
^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
This sensor exposes to the frontend the configured :ref:`address <wireguard-address>`.
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
# Example configuration entry
|
||||
text_sensor:
|
||||
- platform: wireguard
|
||||
address:
|
||||
name: 'WireGuard Address'
|
||||
|
||||
All options from :ref:`Text Sensor <config-text_sensor>` can be added to the
|
||||
above configuration.
|
||||
|
||||
.. _wireguard-installation:
|
||||
|
||||
Remote peer setup
|
||||
|
4
conf.py
@ -67,9 +67,9 @@ author = "ESPHome"
|
||||
# built documents.
|
||||
#
|
||||
# The short X.Y version.
|
||||
version = "2023.10"
|
||||
version = "2023.11"
|
||||
# The full version, including alpha/beta/rc tags.
|
||||
release = "2023.10.6"
|
||||
release = "2023.11.0"
|
||||
|
||||
# The language for content autogenerated by Sphinx. Refer to documentation
|
||||
# for a list of supported languages.
|
||||
|
@ -348,6 +348,7 @@ All Triggers
|
||||
:ref:`ota.on_state_change <ota-on_state_change>`
|
||||
- :ref:`display.on_page_change <display-on_page_change-trigger>`
|
||||
- :ref:`cover.on_open <cover-on_open_trigger>` / :ref:`cover.on_closed <cover-on_closed_trigger>`
|
||||
- :ref:`wifi.on_connect / wifi.on_disconnect <wifi-on_connect_disconnect>`
|
||||
|
||||
All Actions
|
||||
-----------
|
||||
|
@ -240,3 +240,16 @@ The ``esphome logs <CONFIG>`` command validates the configuration and shows all
|
||||
|
||||
Manually specify a serial port/IP to use. For example ``/dev/cu.SLAB_USBtoUART``.
|
||||
|
||||
Using Bash or ZSH auto-completion
|
||||
---------------------------------
|
||||
|
||||
ESPHome's command line interface provides the ability to use auto-completion features provided by Bash or ZSH.
|
||||
|
||||
You can register ESPHome for auto-completion by adding the following to your ~/.bashrc file:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
eval "$(register-python-argcomplete esphome)"
|
||||
|
||||
For more information, see `argcomplete <https://kislyuk.github.io/argcomplete/>`__ documentation.
|
||||
|
||||
|
@ -117,6 +117,14 @@ Advanced options:
|
||||
- **drive_strength** (*Optional*, string): On ESP32s with esp-idf framework the pad drive strength,
|
||||
i.e. the maximum amount of current can additionally be set. Defaults to ``20mA``.
|
||||
Options are ``5mA``, ``10mA``, ``20mA``, ``40mA``.
|
||||
- **ignore_strapping_warning** (*Optional*, boolean): Certain pins on ESP32s are designated *strapping pins* and are read
|
||||
by the chip on reset to configure initial operation, e.g. to enable bootstrap mode.
|
||||
Using such pins for I/O should be avoided and ESPHome will warn if I/O is configured on a strapping pin.
|
||||
|
||||
For more detail see :ref:`strapping-warnings`.
|
||||
|
||||
If you are *absolutely* sure that you are using a strapping pin for I/O in a way that will not cause problems,
|
||||
you can suppress the warning by setting this option to ``true`` in the pin configuration.
|
||||
|
||||
.. _config-time:
|
||||
|
||||
|
@ -409,6 +409,8 @@ The top level ``name:`` field in your .yaml file defines the node name(/hostname
|
||||
|
||||
Important: follow these `instructions </components/esphome.html#changing-esphome-node-name>`_ to use the ``use_address`` parameter when renaming a live device, as the connection to an existing device will only work with the old name until the name change is complete.
|
||||
|
||||
.. _strapping-warnings:
|
||||
|
||||
Why am I getting a warning about strapping pins?
|
||||
--------------------------------------------------
|
||||
|
||||
@ -419,6 +421,13 @@ It's recommended to avoid them unless you have a pressing need to use them and y
|
||||
|
||||
Some development boards connect GPIO 0 to a button, often labeled "boot". Holding this button while the ESP is turning on will cause it to go into bootloader mode. Once the ESP is fully booted up, this button can be used as a normal input safely.
|
||||
|
||||
Strapping pins should be safe to use as outputs if they are *only* connected to other devices that have hi-impedance inputs
|
||||
with no pull-up or pull-down resistors. Note that I2C clock and data lines *do* have pull-up resistors and are not
|
||||
safe on strapping pins.
|
||||
|
||||
If you are absolutely sure that your use of strapping pins is safe, and want to suppress the warning, you can
|
||||
add ``ignore_strapping_warning: true`` to the relevant pin configurations.
|
||||
|
||||
How can I test a Pull Request?
|
||||
------------------------------
|
||||
|
||||
|
@ -124,6 +124,7 @@ Contributors
|
||||
- `Avirsaam (@Avirsaam) <https://github.com/Avirsaam>`__
|
||||
- `Arsène von Wyss (@avonwyss) <https://github.com/avonwyss>`__
|
||||
- `Andrew Weddle (@aweddle2) <https://github.com/aweddle2>`__
|
||||
- `Alexis Iglauer (@ax42) <https://github.com/ax42>`__
|
||||
- `Achilleas Pipinellis (@axilleas) <https://github.com/axilleas>`__
|
||||
- `Kamil Trzciński (@ayufan) <https://github.com/ayufan>`__
|
||||
- `Nicholas Peters (@Azimath) <https://github.com/Azimath>`__
|
||||
@ -219,6 +220,7 @@ Contributors
|
||||
- `carlywarly (@carlywarly) <https://github.com/carlywarly>`__
|
||||
- `Carson Full (@CarsonF) <https://github.com/CarsonF>`__
|
||||
- `carstenschroeder (@carstenschroeder) <https://github.com/carstenschroeder>`__
|
||||
- `Christian Anders Schwarzgruber (@casch-at) <https://github.com/casch-at>`__
|
||||
- `Valentin Ochs (@Cat-Ion) <https://github.com/Cat-Ion>`__
|
||||
- `Stroe Andrei Catalin (@catalin2402) <https://github.com/catalin2402>`__
|
||||
- `Carter Nelson (@caternuson) <https://github.com/caternuson>`__
|
||||
@ -236,6 +238,7 @@ Contributors
|
||||
- `Filipe Mendonça (@cfilipem) <https://github.com/cfilipem>`__
|
||||
- `cg089 (@cg089) <https://github.com/cg089>`__
|
||||
- `Audric Schiltknecht (@chemicalstorm) <https://github.com/chemicalstorm>`__
|
||||
- `Charles Johnson (@ChemicalXandco) <https://github.com/ChemicalXandco>`__
|
||||
- `chris-jennings (@chris-jennings) <https://github.com/chris-jennings>`__
|
||||
- `Chris (@chrismaki) <https://github.com/chrismaki>`__
|
||||
- `Christoph Wagner (@Christoph-Wagner) <https://github.com/Christoph-Wagner>`__
|
||||
@ -273,7 +276,6 @@ Contributors
|
||||
- `Corey Rice (@crice009) <https://github.com/crice009>`__
|
||||
- `crp500 (@crp500) <https://github.com/crp500>`__
|
||||
- `cryptelli (@cryptelli) <https://github.com/cryptelli>`__
|
||||
- `Christian Schwarzgruber (@cslux) <https://github.com/cslux>`__
|
||||
- `cstaahl (@cstaahl) <https://github.com/cstaahl>`__
|
||||
- `Chris Talkington (@ctalkington) <https://github.com/ctalkington>`__
|
||||
- `cvwillegen (@cvwillegen) <https://github.com/cvwillegen>`__
|
||||
@ -470,6 +472,7 @@ Contributors
|
||||
- `Frankster-NL (@Frankster-NL) <https://github.com/Frankster-NL>`__
|
||||
- `Fredrik Erlandsson (@fredrike) <https://github.com/fredrike>`__
|
||||
- `freeasabeer (@freeasabeer) <https://github.com/freeasabeer>`__
|
||||
- `FreeBear-nc (@FreeBear-nc) <https://github.com/FreeBear-nc>`__
|
||||
- `Evgeny (@freekode) <https://github.com/freekode>`__
|
||||
- `Brett McKenzie (@freerangeeggs) <https://github.com/freerangeeggs>`__
|
||||
- `Franck Nijhof (@frenck) <https://github.com/frenck>`__
|
||||
@ -640,7 +643,6 @@ Contributors
|
||||
- `Joel Goguen (@jgoguen) <https://github.com/jgoguen>`__
|
||||
- `Yuval Brik (@jhamhader) <https://github.com/jhamhader>`__
|
||||
- `Joe (@jhansche) <https://github.com/jhansche>`__
|
||||
- `Jan Pieter Waagmeester (@jieter) <https://github.com/jieter>`__
|
||||
- `Jim Bauwens (@jimbauwens) <https://github.com/jimbauwens>`__
|
||||
- `jimtng (@jimtng) <https://github.com/jimtng>`__
|
||||
- `jivesinger (@jivesinger) <https://github.com/jivesinger>`__
|
||||
@ -648,6 +650,7 @@ Contributors
|
||||
- `John K. Luebs (@jkl1337) <https://github.com/jkl1337>`__
|
||||
- `Jeppe Ladefoged (@jladefoged) <https://github.com/jladefoged>`__
|
||||
- `Jean-Luc Béchennec (@jlbirccyn) <https://github.com/jlbirccyn>`__
|
||||
- `JLo (@jlpouffier) <https://github.com/jlpouffier>`__
|
||||
- `Jonas De Kegel (@jlsjonas) <https://github.com/jlsjonas>`__
|
||||
- `Jeff Anderson (@jman203) <https://github.com/jman203>`__
|
||||
- `Jonathan Martens (@jmartens) <https://github.com/jmartens>`__
|
||||
@ -704,7 +707,6 @@ Contributors
|
||||
- `AngeloGioacchino Del Regno (@kholk) <https://github.com/kholk>`__
|
||||
- `Kilowatt (@Kilowatt-W) <https://github.com/Kilowatt-W>`__
|
||||
- `Ed (@kixtarter) <https://github.com/kixtarter>`__
|
||||
- `Kurt Kellner (@kkellner) <https://github.com/kkellner>`__
|
||||
- `Klaas Schoute (@klaasnicolaas) <https://github.com/klaasnicolaas>`__
|
||||
- `Klarstein (@Klarstein) <https://github.com/Klarstein>`__
|
||||
- `Marcus Klein (@kleini) <https://github.com/kleini>`__
|
||||
@ -730,7 +732,6 @@ Contributors
|
||||
- `Fredrik Lindqvist (@Landrash) <https://github.com/Landrash>`__
|
||||
- `lanik (@lanik) <https://github.com/lanik>`__
|
||||
- `Lawrie George (@lawriege) <https://github.com/lawriege>`__
|
||||
- `Laszlo Gazdag (@lazlyhu) <https://github.com/lazlyhu>`__
|
||||
- `Ludovic BOUÉ (@lboue) <https://github.com/lboue>`__
|
||||
- `lcavalli (@lcavalli) <https://github.com/lcavalli>`__
|
||||
- `Craig Fletcher (@leakypixel) <https://github.com/leakypixel>`__
|
||||
@ -983,6 +984,7 @@ Contributors
|
||||
- `Florian Ragwitz (@rafl) <https://github.com/rafl>`__
|
||||
- `Ben V. Brown (@Ralim) <https://github.com/Ralim>`__
|
||||
- `randomllama (@randomllama) <https://github.com/randomllama>`__
|
||||
- `Rodrigo Martín (@Rapsssito) <https://github.com/Rapsssito>`__
|
||||
- `Marc Seeger (@rb2k) <https://github.com/rb2k>`__
|
||||
- `rbaron (@rbaron) <https://github.com/rbaron>`__
|
||||
- `Robert Cambridge (@rcambrj) <https://github.com/rcambrj>`__
|
||||
@ -1251,4 +1253,4 @@ Contributors
|
||||
- `Zsolt Zsiros (@ZsZs73) <https://github.com/ZsZs73>`__
|
||||
- `Christian Zufferey (@zuzu59) <https://github.com/zuzu59>`__
|
||||
|
||||
*This page was last updated November 3, 2023.*
|
||||
*This page was last updated November 15, 2023.*
|
||||
|
BIN
images/6897d.jpg
Normal file
After Width: | Height: | Size: 5.8 KiB |
BIN
images/dfrobot_sen0395.jpg
Normal file
After Width: | Height: | Size: 17 KiB |
BIN
images/emc2101.jpg
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
images/iaqcore.jpg
Normal file
After Width: | Height: | Size: 17 KiB |
BIN
images/ld2420.jpg
Normal file
After Width: | Height: | Size: 22 KiB |
1
images/pellet.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg viewBox="0 0 160 25" id="svg5" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><defs id="defs9"/><path d="M5 0H155a5 5 0 015 5v15a5 5 0 01-5 5H5a5 5 0 01-5-5V5a5 5 0 015-5z" style="fill:#000" id="path2"/><g aria-label="MicroNova" id="component-text" style="font-weight:900;font-size:25px;font-family:Montserrat;letter-spacing:1.1px;fill:#fffffc"><path d="M6.425 21V3.5h4.85l7 11.425h-2.55L22.525 3.5h4.85L27.425 21H22.05L22 11.6h.85L18.2 19.425H15.6L10.75 11.6H11.8V21z" id="path11"/><path d="M31.200012 21V7.325h5.65V21zm2.825-14.775q-1.55.0-2.475-.825-.925-.825-.925-2.05.0-1.225.925-2.05.925-.825 2.475-.825 1.55.0 2.475.775.925.775.925 2 0 1.3-.925 2.15-.925.825-2.475.825z" id="path13"/><path d="m47.800016 21.25q-2.35.0-4.175-.9-1.825-.9-2.875-2.5-1.025-1.625-1.025-3.7t1.025-3.675q1.05-1.6 2.875-2.5t4.175-.9q2.5.0 4.275 1.075t2.45 2.975l-4.375 2.15q-.425-.95-1.05-1.375-.6-.425-1.325-.425-.625.0-1.175.3-.525.3-.85.9-.3.575-.3 1.475t.3 1.5q.325.6.85.9.55.3 1.175.3.725.0 1.325-.425.625-.425 1.05-1.375l4.375 2.15q-.675 1.9-2.45 2.975-1.775 1.075-4.275 1.075z" id="path15"/><path d="M56.925011 21V7.325h5.375v4.125l-.875-1.175q.625-1.6 2-2.4 1.375-.8 3.3-.8v5q-.375-.05-.675-.075-.275-.025-.575-.025-1.275.0-2.1.675-.8.65-.8 2.275V21z" id="path17"/><path d="m76.525018 21.25q-2.325.0-4.125-.9-1.775-.925-2.8-2.525-1.025-1.6-1.025-3.675t1.025-3.675q1.025-1.6 2.8-2.5 1.8-.9 4.125-.9t4.125.9 2.8 2.5q1.025 1.6 1.025 3.675t-1.025 3.675q-1 1.6-2.8 2.525-1.8.9-4.125.9zm0-4.4q.625.0 1.125-.3t.8-.9q.3-.625.3-1.5.0-.9-.3-1.475-.3-.6-.8-.9t-1.125-.3-1.125.3-.8.9q-.3.575-.3 1.475.0.875.3 1.5.3.6.8.9t1.125.3z" id="path19"/><path d="M87.525006 21V3.5h4.85l8.900004 10.65H99.025006V3.5h5.750004V21h-4.850004l-8.9-10.65h2.25V21z" id="path21"/><path d="m115.77503 21.25q-2.325.0-4.125-.9-1.775-.925-2.8-2.525-1.025-1.6-1.025-3.675t1.025-3.675q1.025-1.6 2.8-2.5 1.8-.9 4.125-.9t4.125.9 2.8 2.5q1.025 1.6 1.025 3.675t-1.025 3.675q-1 1.6-2.8 2.525-1.8.9-4.125.9zm0-4.4q.625.0 1.125-.3t.8-.9q.3-.625.3-1.5.0-.9-.3-1.475-.3-.6-.8-.9t-1.125-.3-1.125.3-.8.9q-.3.575-.3 1.475.0.875.3 1.5.3.6.8.9t1.125.3z" id="path23"/><path d="m130.10003 21-5.5-13.675h5.8l4.175 11.1h-2.925l4.45-11.1h5.35l-5.5 13.675z" id="path25"/><path d="m151.19999 21v-2.425l-.4-.65v-4.6q0-1-.625-1.525-.6-.525-1.975-.525-.925.0-1.875.3-.95.275-1.625.775l-1.8-3.725q1.2-.75 2.875-1.15t3.275-.4q3.525.0 5.45 1.575 1.95 1.575 1.95 5V21zm-3.875.25q-1.675.0-2.8-.575t-1.7-1.525q-.575-.975-.575-2.15.0-1.325.675-2.25t2.05-1.4q1.4-.475 3.525-.475h2.85V15.6h-1.95q-.9.0-1.325.3-.4.275-.4.85.0.475.35.8.375.3 1 .3.575.0 1.05-.3.5-.325.725-1l.725 1.675q-.325 1.525-1.375 2.275t-2.825.75z" id="path27"/></g></svg>
|
After Width: | Height: | Size: 2.6 KiB |
BIN
images/qwiic_pir.jpg
Normal file
After Width: | Height: | Size: 24 KiB |
BIN
images/sfa30.jpg
Normal file
After Width: | Height: | Size: 21 KiB |
29
index.rst
@ -196,12 +196,14 @@ Air Quality
|
||||
SenseAir, components/sensor/senseair, senseair_s8.jpg, CO2
|
||||
SCD30, components/sensor/scd30, scd30.jpg, CO2 & Temperature & Humidity
|
||||
SCD4X, components/sensor/scd4x, scd4x.jpg, CO2 & Temperature & Humidity
|
||||
SFA30, components/sensor/sfa30, sfa30.jpg, Formaldehyde
|
||||
SGP30, components/sensor/sgp30, sgp30.jpg, CO2 & Volatile organics
|
||||
SGP4x, components/sensor/sgp4x, sgp40.jpg, Volatile organics and NOx
|
||||
SM300D2, components/sensor/sm300d2, sm300d2.jpg, Air quality
|
||||
SPS30, components/sensor/sps30, sps30.jpg, Particulate
|
||||
T6613/15, components/sensor/t6615, t6615.jpg, CO2
|
||||
ZyAura, components/sensor/zyaura, zgm053.jpg, CO2 & Temperature & Humidity
|
||||
iAQ-Core, components/sensor/iaqcore, iaqcore.jpg, CO2 & Volatile organics
|
||||
|
||||
|
||||
Analogue
|
||||
@ -306,10 +308,12 @@ Environmental
|
||||
DHT, components/sensor/dht, dht.jpg, Temperature & Humidity
|
||||
DHT12, components/sensor/dht12, dht12.jpg, Temperature & Humidity
|
||||
DPS310, components/sensor/dps310, dps310.jpg, Temperature & Pressure
|
||||
EMC2101, components/emc2101, emc2101.jpg, Temperature
|
||||
ENS210, components/sensor/ens210, ens210.jpg, Temperature & Humidity
|
||||
HDC1080, components/sensor/hdc1080, hdc1080.jpg, Temperature & Humidity
|
||||
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
|
||||
HTU21D / Si7021 / SHT21, components/sensor/htu21d, htu21d.jpg, Temperature & Humidity
|
||||
Hydreon Rain Sensor, components/sensor/hydreon_rgxx, hydreon_rg9.jpg, Rain
|
||||
Inkbird IBS-TH1 Mini, components/sensor/inkbird_ibsth1_mini, inkbird_isbth1_mini.jpg, Temperature & Humidity
|
||||
@ -327,6 +331,7 @@ Environmental
|
||||
SCD30, components/sensor/scd30, scd30.jpg, CO2 & Temperature & Humidity
|
||||
SCD4X, components/sensor/scd4x, scd4x.jpg, CO2 & Temperature & Humidity
|
||||
SDP3x / SDP800 Series, components/sensor/sdp3x, sdp31.jpg, Pressure
|
||||
SFA30, components/sensor/sfa30, sfa30.jpg, Formaldehyde
|
||||
SHT3X-D, components/sensor/sht3xd, sht3xd.jpg, Temperature & Humidity
|
||||
SHT4X, components/sensor/sht4x, sht4x.jpg, Temperature & Humidity
|
||||
SHTCx, components/sensor/shtcx, shtc3.jpg, Temperature & Humidity
|
||||
@ -337,6 +342,7 @@ Environmental
|
||||
TMP117, components/sensor/tmp117, tmp117.jpg, Temperature
|
||||
TMP1075, components/sensor/tmp1075, tmp1075.jpg, Temperature
|
||||
HYT271, components/sensor/hyt271, hyt271.jpg, Temperature & Humidity
|
||||
XGZP68xx Series, components/sensor/xgzp68xx, 6897d.jpg, Differential Pressure
|
||||
|
||||
|
||||
Light
|
||||
@ -392,6 +398,7 @@ Miscellaneous
|
||||
Person Sensor (SEN21231), components/sensor/sen21231, sen21231.png
|
||||
Kuntze pool sensor, components/sensor/kuntze, kuntze.jpg
|
||||
WireGuard, components/wireguard, wireguard_custom_logo.svg
|
||||
MicroNova pellet stove, components/micronova, pellet.svg
|
||||
|
||||
|
||||
Motion
|
||||
@ -401,6 +408,7 @@ Motion
|
||||
APDS9960, components/sensor/apds9960, apds9960.jpg, Colour & Gesture
|
||||
BMI160, components/sensor/bmi160, bmi160.jpg, Accelerometer & Gyroscope
|
||||
LD2410, components/sensor/ld2410, ld2410.jpg, Motion & Presence
|
||||
LD2420, components/sensor/ld2420, ld2420.jpg, Motion & Presence
|
||||
MPU6050, components/sensor/mpu6050, mpu6050.jpg, Accelerometer & Gyroscope
|
||||
MPU6886, components/sensor/mpu6886, mpu6886.jpg, Accelerometer & Gyroscope
|
||||
RuuviTag, components/sensor/ruuvitag, ruuvitag.jpg, Temperature & Humidity & Accelerometer
|
||||
@ -484,6 +492,14 @@ Touchscreen
|
||||
TT21100, components/touchscreen/tt21100, esp32-s3-korvo-2-lcd.png
|
||||
XPT2046, components/binary_sensor/xpt2046, xpt2046.jpg
|
||||
|
||||
Presence Detection
|
||||
******************
|
||||
.. imgtable::
|
||||
|
||||
DFRobot mmWave Radar, components/dfrobot_sen0395, dfrobot_sen0395.jpg
|
||||
LD2410, components/sensor/ld2410, ld2410.jpg
|
||||
LD2420, components/sensor/ld2420, ld2420.jpg
|
||||
|
||||
Miscellaneous
|
||||
*************
|
||||
.. imgtable::
|
||||
@ -491,9 +507,9 @@ Miscellaneous
|
||||
Analog Threshold, components/binary_sensor/analog_threshold, analog_threshold.svg, dark-invert
|
||||
ESP32 BLE Presence, components/binary_sensor/ble_presence, bluetooth.svg, dark-invert
|
||||
Hydreon Rain Sensor Binary Sensor, components/binary_sensor/hydreon_rgxx, hydreon_rg9.jpg
|
||||
LD2410, components/sensor/ld2410, ld2410.jpg
|
||||
Modbus Binary Sensor, components/binary_sensor/modbus_controller, modbus.png
|
||||
PipSolar - compatible PV Inverter, components/pipsolar, pipsolar.jpg
|
||||
Qwiic PIR Motion, components/binary_sensor/qwiic_pir, qwiic_pir.jpg
|
||||
Remote Receiver, components/remote_receiver, remote.svg, dark-invert
|
||||
Resol VBus, components/vbus, resol_deltasol_bs_plus.jpg
|
||||
Tuya Binary Sensor, components/binary_sensor/tuya, tuya.png
|
||||
@ -533,6 +549,7 @@ Output Components
|
||||
BP5758D, components/output/bp5758d, bp5758d.svg
|
||||
X9C Potentiometer, components/output/x9c, x9c.jpg
|
||||
GP8403, components/output/gp8403, gp8403.svg
|
||||
EMC2101, components/emc2101, emc2101.jpg
|
||||
|
||||
Light Components
|
||||
----------------
|
||||
@ -602,6 +619,7 @@ Button Components
|
||||
Shutdown Button, components/button/shutdown, power_settings.svg, dark-invert
|
||||
Factory Reset Button, components/button/factory_reset, restart-alert.svg, dark-invert
|
||||
Wake-on-LAN, components/button/wake_on_lan, power_settings.svg, dark-invert
|
||||
UART Button, components/button/uart, uart.svg
|
||||
|
||||
|
||||
Fan Components
|
||||
@ -694,6 +712,7 @@ Text Sensor Components
|
||||
Tuya Text Sensor, components/text_sensor/tuya, tuya.png
|
||||
WL-134 Pet Tag Sensor , components/text_sensor/wl_134, fingerprint.svg, dark-invert
|
||||
LibreTiny, components/text_sensor/libretiny, libretiny.svg
|
||||
WireGuard, components/wireguard, wireguard_custom_logo.svg
|
||||
|
||||
Climate Components
|
||||
------------------
|
||||
@ -741,6 +760,14 @@ Lock Components
|
||||
Generic Output Lock, components/lock/output, upload.svg, dark-invert
|
||||
Template Lock, components/lock/template, description.svg, dark-invert
|
||||
|
||||
Text Components
|
||||
---------------
|
||||
|
||||
.. imgtable::
|
||||
|
||||
Text Core, components/text/index, folder-open.svg, dark-invert
|
||||
Template Text, components/text/template, description.svg, dark-invert
|
||||
|
||||
Media Player Components
|
||||
-----------------------
|
||||
|
||||
|