From 437a19218f586d1fa03fa016dcd609c951bd62c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sybren=20A=2E=20St=C3=BCvel?= Date: Sat, 18 Mar 2023 22:39:41 +0100 Subject: [PATCH 01/15] Document how to return 'no value' from a lambda filter (#2761) * Document how to filter out values in a lambda filter * Fix the code example --- components/sensor/index.rst | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/components/sensor/index.rst b/components/sensor/index.rst index 42dd1b993..6ee6f5ded 100644 --- a/components/sensor/index.rst +++ b/components/sensor/index.rst @@ -493,6 +493,16 @@ the result of the lambda is used as the output (use ``return``). Make sure to add ``.0`` to all values in the lambda, otherwise divisions of integers will result in integers (not floating point values). +To prevent values from being published, return ``{}``: + +.. code-block:: yaml + + filters: + - lambda: !lambda |- + if (x < 10) return {}; + return x-10; + + Example: Converting Celsius to Fahrenheit ----------------------------------------- From a31483f14ed1c0a52f2073d75c925ee197a474e1 Mon Sep 17 00:00:00 2001 From: mrtoy-me <118446898+mrtoy-me@users.noreply.github.com> Date: Mon, 20 Mar 2023 23:34:57 +1000 Subject: [PATCH 02/15] Update bme280.rst (#2766) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Update bme280.rst Small addition - added a sentence in the first para to explain that Forced Mode per datasheet section 3.3 is used for measurement. * Update bme280.rst --------- Co-authored-by: H. Árkosi Róbert --- components/sensor/bme280.rst | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/components/sensor/bme280.rst b/components/sensor/bme280.rst index 107847075..037f36c99 100644 --- a/components/sensor/bme280.rst +++ b/components/sensor/bme280.rst @@ -8,7 +8,9 @@ BME280 Temperature+Pressure+Humidity Sensor The ``bme280`` sensor platform allows you to use your BME280 (`datasheet `__, -`Adafruit`_) temperature, pressure and humidity sensors with ESPHome. The :ref:`I²C ` is +`Adafruit`_) temperature, pressure and humidity sensors with ESPHome. The sensor +is used in *Forced Mode* where measurement is performed and then +the sensor returns to sleep mode until next measurement. The :ref:`I²C ` is required to be set up in your configuration for this sensor to work. .. figure:: images/bme280-full.jpg From 7398834ec9871840a9fdfe17b8ae9d1651ff0955 Mon Sep 17 00:00:00 2001 From: B48D81EFCC <111175947+B48D81EFCC@users.noreply.github.com> Date: Mon, 20 Mar 2023 15:10:42 +0100 Subject: [PATCH 03/15] Update title of ADS1115 component (ads1115.rst) (#2764) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Update ads1115.rst Edited document title to align with other adc components * Update ads1115.rst Increased size of title underlie * Update ads1115.rst --------- Co-authored-by: H. Árkosi Róbert --- components/sensor/ads1115.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/components/sensor/ads1115.rst b/components/sensor/ads1115.rst index ae2c30c10..09ef99c54 100644 --- a/components/sensor/ads1115.rst +++ b/components/sensor/ads1115.rst @@ -1,5 +1,5 @@ -ADS1115 Sensor -============== +ADS1115 4-Channel 16-Bit A/D Converter +====================================== .. seo:: :description: Instructions for setting up ADS1115/ADS1015 multiplexed analog voltage sensors. From 2321eb4de0974875256e24d76806422f35c1b579 Mon Sep 17 00:00:00 2001 From: Jesse Hills <3060199+jesserockz@users.noreply.github.com> Date: Wed, 22 Mar 2023 12:03:35 +1300 Subject: [PATCH 04/15] Bump version to 2023.3.1 --- Doxygen | 2 +- Makefile | 2 +- _static/version | 2 +- conf.py | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Doxygen b/Doxygen index 2e97a9a0f..17525364e 100644 --- a/Doxygen +++ b/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.3.0 +PROJECT_NUMBER = 2023.3.1 # 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 diff --git a/Makefile b/Makefile index 360bed4b7..46aba063f 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ ESPHOME_PATH = ../esphome -ESPHOME_REF = 2023.3.0 +ESPHOME_REF = 2023.3.1 .PHONY: html html-strict cleanhtml deploy help live-html Makefile netlify netlify-api api netlify-dependencies svg2png copy-svg2png minify diff --git a/_static/version b/_static/version index 3f30a503d..09bde9dc3 100644 --- a/_static/version +++ b/_static/version @@ -1 +1 @@ -2023.3.0 \ No newline at end of file +2023.3.1 \ No newline at end of file diff --git a/conf.py b/conf.py index e4cd278a4..be71202d4 100644 --- a/conf.py +++ b/conf.py @@ -69,7 +69,7 @@ author = "ESPHome" # The short X.Y version. version = "2023.3" # The full version, including alpha/beta/rc tags. -release = "2023.3.0" +release = "2023.3.1" # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. From 1fd755a055608047919b874d3ae4f7c5b3e79966 Mon Sep 17 00:00:00 2001 From: Jesse Hills <3060199+jesserockz@users.noreply.github.com> Date: Wed, 22 Mar 2023 12:05:52 +1300 Subject: [PATCH 05/15] Update changelog for 2023.3.1 --- changelog/2023.3.0.rst | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/changelog/2023.3.0.rst b/changelog/2023.3.0.rst index 73aefd1de..94e523028 100644 --- a/changelog/2023.3.0.rst +++ b/changelog/2023.3.0.rst @@ -39,6 +39,14 @@ SN74HC165 The pin/bit order has been reversed per shift register so that ``pin 0`` is now ``input A``. + +Release 2023.3.1 - March 22 +--------------------------- + +- climate: brown paper bag fix for on_configure :esphomepr:`4573` by :ghuser:`nwf` +- rp2040: Use fake Mutex lock :esphomepr:`4602` by :ghuser:`jesserockz` + + Full list of changes -------------------- From 5f633c1299a5f79357f011405fb74a2b350d5678 Mon Sep 17 00:00:00 2001 From: Jesse Hills <3060199+jesserockz@users.noreply.github.com> Date: Wed, 22 Mar 2023 12:06:20 +1300 Subject: [PATCH 06/15] Update supporters for 2023.3.1 --- guides/supporters.rst | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/guides/supporters.rst b/guides/supporters.rst index 0da152409..e46d0e615 100644 --- a/guides/supporters.rst +++ b/guides/supporters.rst @@ -26,6 +26,7 @@ Contributors - `Alessandro Campolo (@a13ssandr0) `__ - `Aalian Khan (@AalianKhan) `__ - `Adam Liddell (@aaliddell) `__ +- `Aaron S. Jackson (@AaronJackson) `__ - `Abel Matser (@abelmatser) `__ - `Abílio Costa (@abmantis) `__ - `Antonio (@acarvajalperez) `__ @@ -100,6 +101,7 @@ Contributors - `Kamil Trzciński (@ayufan) `__ - `Nicholas Peters (@Azimath) `__ - `Daniel (@azrael783) `__ +- `B48D81EFCC (@B48D81EFCC) `__ - `Florian Mösch (@badbadc0ffee) `__ - `Marco Tombesi (@baggior) `__ - `balk77 (@balk77) `__ @@ -340,6 +342,7 @@ Contributors - `gazoodle (@gazoodle) `__ - `GeekVisit (@GeekVisit) `__ - `Ian Reinhart Geiser (@geiseri) `__ +- `R Huish (@genestealer) `__ - `Geoff Davis (@geoffdavis) `__ - `Geoffrey Van Landeghem (@geoffrey-vl) `__ - `Gérald Guiony (@gerald-guiony) `__ @@ -386,7 +389,6 @@ Contributors - `Hermann Kraus (@herm) `__ - `Hamish Moffatt (@hmoffatt) `__ - `Marcel Hoppe (@hobbypunk90) `__ -- `Sebastian Raff (@hobbyquaker) `__ - `MoA (@honomoa) `__ - `Hopperpop (@Hopperpop) `__ - `Yang Hau (@howjmay) `__ @@ -406,7 +408,6 @@ Contributors - `iKK001 (@iKK001) `__ - `imgbot[bot] (@imgbot[bot]) `__ - `ImSorryButWho (@ImSorryButWho) `__ -- `Lorenzo Ortiz (@Infinitte) `__ - `Dom (@Ing-Dom) `__ - `Ingurum (@Ingurum) `__ - `Ivo Roefs (@ironirc) `__ @@ -549,6 +550,7 @@ Contributors - `Lazar Obradovic (@lobradov) `__ - `Lode Vermeiren (@lodev) `__ - `Barry Loong (@loongyh) `__ +- `Michael Bisbjerg (@LordMike) `__ - `LuBeDa (@lubeda) `__ - `Joakim Sørensen (@ludeeus) `__ - `ludrao (@ludrao) `__ @@ -700,6 +702,7 @@ Contributors - `per1234 (@per1234) `__ - `Peter Valkov (@peter-valkov) `__ - `Peter Galantha (@peterg79) `__ +- `Peter Halicky (@peterhalicky) `__ - `Philippe FOUQUET (@Philippe12) `__ - `pieterbrink123 (@pieterbrink123) `__ - `Piotr Kubiak (@piotr-kubiak) `__ @@ -728,6 +731,7 @@ Contributors - `Richard Miles (@r89m) `__ - `Aaron Zhang (@rabbit-aaron) `__ - `RadekHvizdos (@RadekHvizdos) `__ +- `Raph (@rafal83) `__ - `Florian Ragwitz (@rafl) `__ - `Rai-Rai (@Rai-Rai) `__ - `randomllama (@randomllama) `__ @@ -767,12 +771,10 @@ Contributors - `RubyBailey (@RubyBailey) `__ - `rweather (@rweather) `__ - `ryanalden (@ryanalden) `__ -- `Silvio (@s1lvi0) `__ - `Jan Čermák (@sairon) `__ - `sascha lammers (@sascha432) `__ - `Søren Christian Aarup (@scaarup) `__ - `Matthew Schinckel (@schinckel) `__ -- `Lukas Schulte (@Schluggi) `__ - `Nils Schulte (@Schnilz) `__ - `Wolle (@schreibfaul1) `__ - `Ville Skyttä (@scop) `__ @@ -780,7 +782,6 @@ Contributors - `sebcaps (@sebcaps) `__ - `Stefan Seyfried (@seife) `__ - `SenexCrenshaw (@SenexCrenshaw) `__ -- `Sergio (@sergio303) `__ - `Sergio Mayoral Martínez (@sermayoral) `__ - `Emanuele Tessore (@setola) `__ - `Abdelkader Boudih (@seuros) `__ @@ -789,7 +790,6 @@ Contributors - `ShellAddicted (@ShellAddicted) `__ - `sherbang (@sherbang) `__ - `Shish (@shish) `__ -- `Shreyas Karnik (@shreyaskarnik) `__ - `SiliconAvatar (@SiliconAvatar) `__ - `Francisco J. Solis (@sisco0) `__ - `Derek Hageman (@Sizurka) `__ @@ -800,7 +800,6 @@ Contributors - `Jordan W. Cobb (@skykingjwc) `__ - `Sebastian Lövdahl (@slovdahl) `__ - `smischny (@smischny) `__ -- `Luca Zimmermann (@soundstorm) `__ - `Sourabh Jaiswal (@sourabhjaiswal) `__ - `Philip Allgaier (@spacegaier) `__ - `spacemanspiff2007 (@spacemanspiff2007) `__ @@ -819,6 +818,7 @@ Contributors - `Jordan Vohwinkel (@sublime93) `__ - `sumirati (@sumirati) `__ - `swifty99 (@swifty99) `__ +- `Sybren A. Stüvel (@sybrenstuvel) `__ - `synco (@synco) `__ - `Marcel Feix (@Syndlex) `__ - `Suryandaru Triandana (@syndtr) `__ @@ -864,7 +864,6 @@ Contributors - `tubalainen (@tubalainen) `__ - `tube0013 (@tube0013) `__ - `Alexey Vlasov (@turbulator) `__ -- `Seppel Hardt (@tuxBurner) `__ - `Thorsten von Eicken (@tve) `__ - `Ubi de Feo (@ubidefeo) `__ - `uPesy Electronics (@uPesy) `__ @@ -904,11 +903,10 @@ Contributors - `Yuval Aboulafia (@yuvalabou) `__ - `Björn Stenberg (@zagor) `__ - `david reid (@zathras777) `__ -- `San (@zhujunsan) `__ - `Geek_cat (@zhzhzhy) `__ - `I. Tomita (@ziceva) `__ - `Michael Labuschke (@zigman79) `__ - `Zack Barett (@zsarnett) `__ - `Christian Zufferey (@zuzu59) `__ -*This page was last updated March 16, 2023.* +*This page was last updated March 22, 2023.* From d493079e075f982555a91112bef32705830fba24 Mon Sep 17 00:00:00 2001 From: David Newgas Date: Wed, 22 Mar 2023 01:13:54 -0700 Subject: [PATCH 07/15] Document what remote "raw format" is (#2773) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Document what remote "raw format" is Add a note explaining that raw format is pulse widths (in microseconds) with sign indicating mark or space. This understanding is based on RemoteReceiverComponent::decode_rmt_, RemoteReceiverComponentStore::gpio_intr and RawDumper::dump. * Update remote_receiver.rst * Update remote_receiver.rst --------- Co-authored-by: H. Árkosi Róbert --- components/remote_receiver.rst | 63 +++++++++++++++++----------------- 1 file changed, 31 insertions(+), 32 deletions(-) diff --git a/components/remote_receiver.rst b/components/remote_receiver.rst index ad1361822..1333615fe 100644 --- a/components/remote_receiver.rst +++ b/components/remote_receiver.rst @@ -66,6 +66,11 @@ Configuration variables: - **id** (*Optional*, :ref:`config-id`): Manually specify the ID used for code generation. Use this if you have multiple remote receivers. +.. note:: + + The dumped **raw** code is sequence of pulse widths (durations in microseconds), positive for on-pulses (mark) + and negative for off-pulses (space). Usually you can to copy this directly to the configuration or automation to be used later. + Automations: ------------ @@ -101,13 +106,6 @@ Automations: - **on_nec** (*Optional*, :ref:`Automation `): An automation to perform when a NEC remote code has been decoded. A variable ``x`` of type :apistruct:`remote_base::NECData` is passed to the automation for use in lambdas. - - .. note:: - - In version 2021.12, the order of transferring bits was corrected from MSB to LSB in accordance with the NEC standard. - Therefore, if the configuration file has come from an earlier version of ESPhome, it is necessary to reverse the order of the address and command bits when moving to 2021.12 or above. - For example, address: 0x84ED, command: 0x13EC becomes 0xB721 and 0x37C8 respectively. - - **on_nexa** (*Optional*, :ref:`Automation `): An automation to perform when a Nexa RF code has been decoded. A variable ``x`` of type :apiclass:`remote_base::NexaData` is passed to the automation for use in lambdas. @@ -201,22 +199,12 @@ Remote code selection (exactly one of these has to be included): - **canalsat**: Trigger on a decoded CanalSat remote code with the given data. - .. note:: - - The CanalSat and CanalSatLD protocols use a higher carrier frequency (56khz) and are very similar. - Depending on the hardware used they may interfere with each other when enabled simultaneously. - - **device** (**Required**, int): The device to trigger on, see dumper output for more info. - **address** (**Optional**, int): The address (or subdevice) to trigger on, see dumper output for more info. Defaults to ``0`` - **command** (**Required**, int): The command to listen for. - **canalsatld**: Trigger on a decoded CanalSatLD remote code with the given data. - .. note:: - - The CanalSat and CanalSatLD protocols use a higher carrier frequency (56khz) and are very similar. - Depending on the hardware used they may interfere with each other when enabled simultaneously. - - **device** (**Required**, int): The device to trigger on, see dumper output for more info. - **address** (**Optional**, int): The address (or subdevice) to trigger on, see dumper output for more info. Defaults to ``0`` - **command** (**Required**, int): The command to listen for. @@ -252,12 +240,6 @@ Remote code selection (exactly one of these has to be included): - **nec**: Trigger on a decoded NEC remote code with the given data. - .. note:: - - In version 2021.12, the order of transferring bits was corrected from MSB to LSB in accordance with the NEC standard. - Therefore, if the configuration file has come from an earlier version of ESPhome, it is necessary to reverse the order of the address and command bits when moving to 2021.12 or above. - For example, address: 0x84ED, command: 0x13EC becomes 0xB721 and 0x37C8 respectively. - - **address** (**Required**, int): The address to trigger on, see dumper output for more info. - **command** (**Required**, int): The NEC command to listen for. @@ -355,18 +337,16 @@ Remote code selection (exactly one of these has to be included): .. note:: - For the Sonoff RF Bridge you can use `this hack `__ - created by the GitHub user wildwiz. Then use this configuration for the remote receiver/transmitter hubs: + The **CanalSat** and **CanalSatLD** protocols use a higher carrier frequency (56khz) and are very similar. + Depending on the hardware used they may interfere with each other when enabled simultaneously. - .. code-block:: yaml - remote_receiver: - pin: 4 - dump: all +.. note:: + + **NEC codes**: In version 2021.12, the order of transferring bits was corrected from MSB to LSB in accordance with the NEC standard. + Therefore, if the configuration file has come from an earlier version of ESPhome, it is necessary to reverse the order of the address + and command bits when moving to 2021.12 or above. For example, address: 0x84ED, command: 0x13EC becomes 0xB721 and 0x37C8 respectively. - remote_transmitter: - pin: 5 - carrier_duty_percent: 100% .. note:: @@ -384,11 +364,30 @@ Remote code selection (exactly one of these has to be included): dump: all +.. note:: + + For the Sonoff RF Bridge, you can bypass the EFM8BB1 microcontroller handling RF signals with + `this hack `__ + created by the GitHub user wildwiz. Then use this configuration for the remote receiver/transmitter hubs: + + .. code-block:: yaml + + remote_receiver: + pin: 4 + dump: all + + remote_transmitter: + pin: 5 + carrier_duty_percent: 100% + + + See Also -------- - :doc:`index` - :doc:`/components/remote_transmitter` +- :doc:`/components/rf_bridge` - `RCSwitch `__ by `Suat Özgür `__ - `IRRemoteESP8266 `__ by `Mark Szabo-Simon `__ - :apiref:`remote/remote_receiver.h` From 4b729f98858222431159194681b67dea11b66a2a Mon Sep 17 00:00:00 2001 From: Michael Jahn <47208217+thatSecOpsGuy@users.noreply.github.com> Date: Wed, 22 Mar 2023 11:06:28 +0100 Subject: [PATCH 08/15] fix typo in mqtt doc ypi -> you (#2776) --- components/mqtt.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/mqtt.rst b/components/mqtt.rst index dcc21a200..38589c5ff 100644 --- a/components/mqtt.rst +++ b/components/mqtt.rst @@ -83,7 +83,7 @@ Configuration variables: - **skip_cert_cn_check** (*Optional*, bool): Only with ``esp-idf``. Don't verify if the common name in the server certificate matches the value of ``broker``. - **idf_send_async** (*Optional*, bool): Only with ``esp-idf``. If true publishing the message happens from the internal mqtt task. The client only enqueues the message. Defaults to ``false``. The advantage of asyncronous publishing is that it doesn't block the esphome main thread. The disadvantage is a delay (up to 1-2 seconds) until the messages are actually sent out. - Set this to true if ypi send large amounts of of data over mqtt. + Set this to true if you send large amounts of of data over mqtt. - **reboot_timeout** (*Optional*, :ref:`config-time`): The amount of time to wait before rebooting when no MQTT connection exists. Can be disabled by setting this to ``0s``. Defaults to ``15min``. - **keepalive** (*Optional*, :ref:`config-time`): The time From 4b5f4c9dc8d1d9c5124eaab02a4a80a1bf87c31f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=2E=20=C3=81rkosi=20R=C3=B3bert?= Date: Wed, 22 Mar 2023 11:07:25 +0100 Subject: [PATCH 09/15] Add remote_* to seealso (#2775) * Add remote_* to seealso * Update rf_bridge.rst --- components/rf_bridge.rst | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/components/rf_bridge.rst b/components/rf_bridge.rst index f8c6a9644..1a9e5308d 100644 --- a/components/rf_bridge.rst +++ b/components/rf_bridge.rst @@ -6,8 +6,8 @@ RF Bridge Component :image: rf_bridge.jpg :keywords: RF Bridge -The ``RF Bridge`` Component provides the ability to send and receive 433MHz remote codes without hardware -hacking the circuit board to bypass the ``efm8bb1`` MCU. This component implements the communication protocol +The ``RF Bridge`` Component provides the ability to send and receive 433MHz remote codes using the +embedded EFM8BB1 microcontroller. This component implements the communication protocol that the original ``efm8bb1`` firmware implements. The device is connected via the :doc:`UART bus `. The uart bus must be configured at the same speed of the module which is 19200bps. @@ -402,5 +402,8 @@ See Also -------- - :apiref:`rf_bridge/rf_bridge.h` +- `RF-Bridge-EFM8BB1 `__ by `Portisch `__ - :doc:`/components/uart` +- :doc:`/components/remote_receiver` +- :doc:`/components/remote_transmitter` - :ghedit:`Edit` From ab2ef41640ceb19b2e56ea2baa49280a04736662 Mon Sep 17 00:00:00 2001 From: "Andrew J.Swan" Date: Fri, 24 Mar 2023 11:20:35 +0200 Subject: [PATCH 10/15] Update metadata description on Web Server API page (#2780) --- web-api/index.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/web-api/index.rst b/web-api/index.rst index 4ef75a961..481ab6c1e 100644 --- a/web-api/index.rst +++ b/web-api/index.rst @@ -2,8 +2,8 @@ Web Server API ============== .. seo:: - :description: Migration guide for installing ESPHome on ESPs running ESPEasy. - :image: espeasy.svg + :description: Information on Web Server APIs, including Event Source APIs and REST APIs. + :image: logo-text.svg Since version 1.3, ESPHome includes a built-in web server that can be used to view states and send commands. In addition to the web-frontend available under the root index of the From efe665228efe31080e56b957cb0dfb9d6d2ae0bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=2E=20=C3=81rkosi=20R=C3=B3bert?= Date: Sat, 25 Mar 2023 10:14:17 +0100 Subject: [PATCH 11/15] brush up pca9554.rst (#2781) * Update pca9554.rst * Update pca9554.rst --- components/pca9554.rst | 48 +++++++++++++++++++++++++----------------- 1 file changed, 29 insertions(+), 19 deletions(-) diff --git a/components/pca9554.rst b/components/pca9554.rst index 373466cf4..713959e52 100644 --- a/components/pca9554.rst +++ b/components/pca9554.rst @@ -1,37 +1,47 @@ PCA9554 I/O Expander ==================== -The PCA9554 component allows you to use PCA9554, PCA9554A or PCA9536 I/O expanders +.. seo:: + :description: Instructions for setting up PCA9554, PCA9554A, PCA9536 digital port expanders in ESPHome. + :image: pca9554a.jpg + + +The PCA9554 component allows you to use **PCA9554**, **PCA9554A** or **PCA9536** I/O expanders (`PCA9554 datasheet `__, `PCA9554A datasheet `__, `PCA9536 datasheet `__) in ESPHome. It uses :ref:`I²C Bus ` for communication. -Once configured, you can use any of the 8 pins (PCA9554, PCA9554A) or 4 pins (PCA9536) as +.. 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 and can therefore be used with many of ESPHome's components such as the GPIO binary sensor or GPIO switch. -The 7 bit I2C device address ranges are: +.. note:: -PCA9554 : 0x20 to 0x27 + The 7 bit I²C device address ranges are: -PCA9554A : 0x38 to 0x3F + - PCA9554: ``0x20`` to ``0x27`` + - PCA9554A: ``0x38`` to ``0x3F`` + - PCA9536: ``0x41`` -PCA9536 : 0x41 + For the 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 for further details to choose the address. -For the PCA9554 and PCA9554A, the actual choice of the I2C device address depends on state of the 3 address pins. -Please refer to the individual datasheets for further details. + Up to eight 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. -Up to eight PCA9554 and an additional eight PCA9554A devices can reside on the same I2C bus. -Please note that only one PCA9536 device is allowed per I2C bus due to its fixed address. + The PCA9554 and PCA9554A provide 8 bits of GPIO's (pin numbers 0-7). + + The PCA9536 provides 4 bits of GPIO's (pin numbers 0-3). -The PCA9554 and PCA9554A provide 8 bits of GPIO's (pin numbers 0-7) -The PCA9536 provides 4 bits of GPIO's (pin numbers 0-3). - -Any option accepting a :ref:`Pin Schema ` can theoretically be used, but some more -complicated components that do communication through this I/O expander will -not work. + Any option accepting a :ref:`Pin Schema ` can theoretically be used, but some more + complicated components that do communication through this I/O expander will not work. .. code-block:: yaml @@ -40,7 +50,6 @@ not work. - id: 'pca9554a_device' address: 0x38 - # Individual outputs switch: - platform: gpio @@ -54,10 +63,11 @@ not work. output: true inverted: false + Configuration variables: ************************ -- **id** (**Required**, :ref:`config-id`): The id to use for this PCF9554 component. +- **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``. @@ -66,7 +76,7 @@ Configuration variables: Pin configuration variables: **************************** -- **pca9554** (**Required**, :ref:`config-id`): The id of the PCA9554 component of the pin. +- **pca9554** (**Required**, :ref:`config-id`): The id of the ``pca9554`` component of the pin. - **number** (**Required**, int): The pin number. - **inverted** (*Optional*, boolean): If all read and written values should be treated as inverted. Defaults to ``false``. From e023e0d3b99e7f43284e11919b67fa47999d8d2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=2E=20=C3=81rkosi=20R=C3=B3bert?= Date: Sat, 25 Mar 2023 12:43:12 +0100 Subject: [PATCH 12/15] move datasheet links to bottom (#2782) --- components/pca9554.rst | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/components/pca9554.rst b/components/pca9554.rst index 713959e52..fbeb69b14 100644 --- a/components/pca9554.rst +++ b/components/pca9554.rst @@ -3,13 +3,10 @@ PCA9554 I/O Expander .. seo:: :description: Instructions for setting up PCA9554, PCA9554A, PCA9536 digital port expanders in ESPHome. - :image: pca9554a.jpg + :image: ../images/pca9554a.jpg -The PCA9554 component allows you to use **PCA9554**, **PCA9554A** or **PCA9536** I/O expanders -(`PCA9554 datasheet `__, -`PCA9554A datasheet `__, -`PCA9536 datasheet `__) in ESPHome. +The PCA9554 component allows you to use **PCA9554**, **PCA9554A** or **PCA9536** I/O expanders in ESPHome. It uses :ref:`I²C Bus ` for communication. .. figure:: ../images/pca9554a.jpg @@ -31,7 +28,7 @@ binary sensor or GPIO switch. - PCA9536: ``0x41`` For the 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 for further details to choose the address. + 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. Please note that only one PCA9536 device is allowed per I²C bus due to its fixed address. @@ -89,5 +86,8 @@ See Also - :ref:`i2c` - :doc:`switch/gpio` - :doc:`binary_sensor/gpio` +- `PCA9554 datasheet `__ +- `PCA9554A datasheet `__ +- `PCA9536 datasheet `__ - :apiref:`pca9554/pca9554.h` - :ghedit:`Edit` From 019178551126f2d6a588a1f9ef50f60453041531 Mon Sep 17 00:00:00 2001 From: LuBeDa Date: Sat, 25 Mar 2023 21:31:50 +0100 Subject: [PATCH 13/15] Add EHMTX to cookbook (#2369) --- cookbook/ehmtx.rst | 43 ++++++++++++++++++++++++++++++++++++++ cookbook/images/ehmtx.jpg | Bin 0 -> 78391 bytes images/ehmtx.jpg | Bin 0 -> 23667 bytes index.rst | 3 ++- 4 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 cookbook/ehmtx.rst create mode 100644 cookbook/images/ehmtx.jpg create mode 100644 images/ehmtx.jpg diff --git a/cookbook/ehmtx.rst b/cookbook/ehmtx.rst new file mode 100644 index 000000000..2dcb1edbb --- /dev/null +++ b/cookbook/ehmtx.rst @@ -0,0 +1,43 @@ +ehmtx a matrix status display +============================= + +.. seo:: + :description: A simple DIY status display, build with a flexible 8x32 RGB LED panel. + :image: ehmtx.jpg + :keywords: DIY matrix display RGB + +Based on a cheap 8x32 RGB matrix you can build flexible status displays for all kind of informations. It is expandable with sensors etc. + +.. figure:: images/ehmtx.jpg + :align: center + :width: 40% + + +Introduction +------------ + +Based a on a 8x32 RGB flexible matrix it displays a clock, the date and up to 16 other screens provided by home assistant. +Each screen (value/text) can be associated with a 8x8 bit RGB icon or gif animation (see installation). +The values/text can be updated or deleted from the display queue. Each screen has a lifetime, if not refreshed in its lifetime it will disapear. + +ESPHome Configuration +--------------------- +Documentation: + +- `Source for the component on github `__ +- `Discussion in the homeassistant community `__ +- `Second discussion in the homeassistant community `__ +- `Optional notify component `__ + +`sample YAML configuration for ESP32 `__ + +Sample video: + +.. raw:: html + + + + +See Also +-------- +- :ghedit:`Edit` diff --git a/cookbook/images/ehmtx.jpg b/cookbook/images/ehmtx.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f1ec551cbed6bcf72415da39383dff0bf5047d17 GIT binary patch literal 78391 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

D`yQ5 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∨BI;_EQ4rh7^%;dRl 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 Wd$wcF{9lYoqf<@&;nQQfjQ`o+5lAio literal 0 HcmV?d00001 diff --git a/index.rst b/index.rst index 18d68bf6b..83c2f5197 100644 --- a/index.rst +++ b/index.rst @@ -784,8 +784,9 @@ Cookbook IWOOLE Table Lamp, cookbook/iwoole_rgbw_table_lamp, iwoole_rgbw_table_lamp.png EPEVER Tracer, cookbook/tracer-an, tracer-an.jpg Ilonda Wifi Smart Fish Feeder, cookbook/ilonda-wifi-smart-fish-feeder, ilonda-wifi-smart-fish-feeder-cookbook.jpg - AirGradient DIY Air Quality Sensor, cookbook/air_gradient_diy_air_quality_sensor, air_gradient_diy_air_quality_sensor.jpg + AirGradient DIY Air Quality Sensor, cookbook/air_gradient_diy_air_quality_sensor, air_gradient_diy_air_quality_sensor.jpg Geiger Counter, cookbook/geiger-counter, radiationD-v1-1-cajoe_small.jpg + EHMTX a matrix status/text display, cookbook/ehmtx, ehmtx.jpg Do you have other awesome automations or cool setups? Please feel free to add them to the documentation for others to copy. See :doc:`Contributing `. From bc65c0cc8e7129c892fcd95cbe7ffe9119e6128f Mon Sep 17 00:00:00 2001 From: zivillian Date: Sun, 26 Mar 2023 10:31:39 +0200 Subject: [PATCH 14/15] Update tuya.rst (#2777) --- components/climate/tuya.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/climate/tuya.rst b/components/climate/tuya.rst index 10f61618d..fe48beb1b 100644 --- a/components/climate/tuya.rst +++ b/components/climate/tuya.rst @@ -7,7 +7,7 @@ Tuya Climate The ``tuya`` climate platform creates a climate device from a tuya component. -The Tuya fan requires a :doc:`/components/tuya` to be configured. +Tuya climate requires a :doc:`/components/tuya` to be configured. .. code-block:: text From 5cd9720f4b64801202c3510c0b309d459838f287 Mon Sep 17 00:00:00 2001 From: Jesse Hills <3060199+jesserockz@users.noreply.github.com> Date: Sun, 26 Mar 2023 21:41:11 +1300 Subject: [PATCH 15/15] Add variable name for touchscreen touches (#2785) --- components/touchscreen/index.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/touchscreen/index.rst b/components/touchscreen/index.rst index 5efa2da00..8e3e463ef 100644 --- a/components/touchscreen/index.rst +++ b/components/touchscreen/index.rst @@ -38,7 +38,7 @@ Configuration variables: This automation will be triggered when the touchscreen detects a touch. -This trigger provides one arguments of type :apistruct:`touchscreen::TouchPoint` which has two integer members: ``x`` and ``y`` which +This trigger provides one argument named ``touch`` of type :apistruct:`touchscreen::TouchPoint` which has two integer members: ``x`` and ``y`` which represent the position of the touch in relation to the display width and height. It also has optional members that will be set depending on the touchscreen platform.