mirror of
https://github.com/esphome/esphome-docs.git
synced 2024-09-21 03:21:20 +02:00
remote_transmitter
documentation clarification and refactoring (#4080)
* refactor remote_transmitter.rst - declutter the TOC by removing the undistinguishable actions - change `switch` in examples to `button` (at the time this doc was originally created `button` didn't exist yet) - move the **Setting up** guides above the actions list - remove the IRRemoteESP8266 seealso link as it's not currently supported in any way * fix test 1 * oops * Fix links * examples correction * Update remote_transmitter.rst * Update remote_transmitter.rst * Update remote_transmitter.rst
This commit is contained in:
parent
34d3c4aed5
commit
e85bcac260
@ -32,7 +32,7 @@ Configuration variables:
|
|||||||
- **dump** (*Optional*, list): Decode and dump these remote codes in the logs (at log.level=DEBUG).
|
- **dump** (*Optional*, list): Decode and dump these remote codes in the logs (at log.level=DEBUG).
|
||||||
Set to ``all`` to dump all available codecs:
|
Set to ``all`` to dump all available codecs:
|
||||||
|
|
||||||
- **abbwelcome**: Decode and dump ABB-Welcome codes. Messages are sent via copper wires. See :ref:`remote_transmitter-transmit_abbwelcome`
|
- **abbwelcome**: Decode and dump ABB-Welcome codes. Messages are sent via copper wires. See :ref:`transmitter description <remote_transmitter-transmit_abbwelcome>` for more details.
|
||||||
- **aeha**: Decode and dump AEHA infrared codes.
|
- **aeha**: Decode and dump AEHA infrared codes.
|
||||||
- **byronsx**: Decode and dump Byron SX doorbell RF codes.
|
- **byronsx**: Decode and dump Byron SX doorbell RF codes.
|
||||||
- **canalsat**: Decode and dump CanalSat infrared codes.
|
- **canalsat**: Decode and dump CanalSat infrared codes.
|
||||||
@ -242,17 +242,14 @@ Configuration variables:
|
|||||||
|
|
||||||
Remote code selection (exactly one of these has to be included):
|
Remote code selection (exactly one of these has to be included):
|
||||||
|
|
||||||
- **abbwelcome**: Trigger on a decoded ABB-Welcome code with the given data.
|
- **abbwelcome**: Trigger on a decoded ABB-Welcome code with the given data, see the :ref:`transmitter description <remote_transmitter-transmit_abbwelcome>` for more info.
|
||||||
|
|
||||||
- **source_address** (**Required**, int): The source address to trigger on, see :ref:`remote_transmitter-transmit_abbwelcome`
|
- **source_address** (**Required**, int): The source address to trigger on.
|
||||||
for more info.
|
- **destination_address** (**Required**, int): The destination address to trigger on.
|
||||||
- **destination_address** (**Required**, int): The destination address to trigger on, see
|
|
||||||
:ref:`remote_transmitter-transmit_abbwelcome` for more info.
|
|
||||||
- **three_byte_address** (**Optional**, boolean): The length of the source and destination address. ``false`` means two bytes
|
- **three_byte_address** (**Optional**, boolean): The length of the source and destination address. ``false`` means two bytes
|
||||||
and ``true`` means three bytes. Defaults to ``false``.
|
and ``true`` means three bytes. Defaults to ``false``.
|
||||||
- **retransmission** (**Optional**, boolean): ``true`` if the message was re-transmitted. Defaults to ``false``.
|
- **retransmission** (**Optional**, boolean): ``true`` if the message was re-transmitted. Defaults to ``false``.
|
||||||
- **message_type** (**Required**, int): The message type to trigger on, see :ref:`remote_transmitter-transmit_abbwelcome`
|
- **message_type** (**Required**, int): The message type to trigger on.
|
||||||
for more info.
|
|
||||||
- **message_id** (**Optional**, int): The random message ID to trigger on, see dumper output for more info. Defaults to any ID.
|
- **message_id** (**Optional**, int): The random message ID to trigger on, see dumper output for more info. Defaults to any ID.
|
||||||
- **data** (**Optional**, 0-7 bytes list): The code to listen for. Usually you only need to copy this directly from the
|
- **data** (**Optional**, 0-7 bytes list): The code to listen for. Usually you only need to copy this directly from the
|
||||||
dumper output. Defaults to ``[]``
|
dumper output. Defaults to ``[]``
|
||||||
@ -260,7 +257,7 @@ Remote code selection (exactly one of these has to be included):
|
|||||||
- **aeha**: Trigger on a decoded AEHA remote code with the given data.
|
- **aeha**: Trigger on a decoded AEHA remote code with the given data.
|
||||||
|
|
||||||
- **address** (**Required**, int): The address to trigger on, see dumper output for more info.
|
- **address** (**Required**, int): The address to trigger on, see dumper output for more info.
|
||||||
- **data** (**Required**, 3-35 bytes list): The code to listen for, see :ref:`remote_transmitter-transmit_aeha`
|
- **data** (**Required**, 3-35 bytes list): The code to listen for, see :ref:`transmitter description <remote_transmitter-transmit_aeha>`
|
||||||
for more info. Usually you only need to copy this directly from the dumper output.
|
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.
|
- **byronsx**: Trigger on a decoded Byron SX Doorbell RF remote code with the given data.
|
||||||
@ -317,7 +314,7 @@ Remote code selection (exactly one of these has to be included):
|
|||||||
|
|
||||||
- **haier**: Trigger on a Haier remote code with the given code.
|
- **haier**: Trigger on a Haier remote code with the given code.
|
||||||
|
|
||||||
- **code** (**Required**, 13-bytes list): The code to listen for, see :ref:`remote_transmitter-transmit_haier`
|
- **code** (**Required**, 13-bytes list): The code to listen for, see :ref:`transmitter description <remote_transmitter-transmit_haier>`
|
||||||
for more info. Usually you only need to copy this directly from the dumper output.
|
for more info. Usually you only need to copy this directly from the dumper output.
|
||||||
|
|
||||||
- **lg**: Trigger on a decoded LG remote code with the given data.
|
- **lg**: Trigger on a decoded LG remote code with the given data.
|
||||||
@ -332,7 +329,7 @@ Remote code selection (exactly one of these has to be included):
|
|||||||
|
|
||||||
- **midea**: Trigger on a Midea remote code with the given code.
|
- **midea**: Trigger on a Midea remote code with the given code.
|
||||||
|
|
||||||
- **code** (**Required**, 5-bytes list): The code to listen for, see :ref:`remote_transmitter-transmit_midea`
|
- **code** (**Required**, 5-bytes list): The code to listen for, see :ref:`transmitter description <remote_transmitter-transmit_midea>`
|
||||||
for more info. Usually you only need to copy first 5 bytes directly from the dumper output.
|
for more info. Usually you only need to copy first 5 bytes directly from the dumper output.
|
||||||
|
|
||||||
- **nec**: Trigger on a decoded NEC remote code with the given data.
|
- **nec**: Trigger on a decoded NEC remote code with the given data.
|
||||||
@ -359,14 +356,14 @@ Remote code selection (exactly one of these has to be included):
|
|||||||
|
|
||||||
- **pronto**: Trigger on a Pronto remote code with the given code.
|
- **pronto**: Trigger on a Pronto remote code with the given code.
|
||||||
|
|
||||||
- **data** (**Required**, string): The code to listen for, see :ref:`remote_transmitter-transmit_raw`
|
- **data** (**Required**, string): The code to listen for, see :ref:`transmitter description <remote_transmitter-transmit_raw>`
|
||||||
for more info. Usually you only need to copy this directly from the dumper output.
|
for more info. Usually you only need to copy this directly from the dumper output.
|
||||||
- **delta** (**Optional**, integer): This parameter allows you to manually specify the allowed difference
|
- **delta** (**Optional**, integer): This parameter allows you to manually specify the allowed difference
|
||||||
between what Pronto code is specified, and what IR signal has been sent by the remote control.
|
between what Pronto code is specified, and what IR signal has been sent by the remote control.
|
||||||
|
|
||||||
- **raw**: Trigger on a raw remote code with the given code.
|
- **raw**: Trigger on a raw remote code with the given code.
|
||||||
|
|
||||||
- **code** (**Required**, list): The code to listen for, see :ref:`remote_transmitter-transmit_raw`
|
- **code** (**Required**, list): The code to listen for, see :ref:`transmitter description <remote_transmitter-transmit_raw>`
|
||||||
for more info. Usually you only need to copy this directly from the dumper output.
|
for more info. Usually you only need to copy this directly from the dumper output.
|
||||||
|
|
||||||
- **rc5**: Trigger on a decoded RC5 remote code with the given data.
|
- **rc5**: Trigger on a decoded RC5 remote code with the given data.
|
||||||
@ -440,7 +437,7 @@ Remote code selection (exactly one of these has to be included):
|
|||||||
|
|
||||||
- **mirage**: Trigger on a Mirage remote code with the given code.
|
- **mirage**: Trigger on a Mirage remote code with the given code.
|
||||||
|
|
||||||
- **code** (**Required**, 14-bytes list): The code to listen for, see :ref:`remote_transmitter-transmit_mirage`
|
- **code** (**Required**, 14-bytes list): The code to listen for, see :ref:`transmitter description <remote_transmitter-transmit_mirage>`
|
||||||
for more info. Usually you only need to copy this directly from the dumper output.
|
for more info. Usually you only need to copy this directly from the dumper output.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
@ -495,8 +492,9 @@ See Also
|
|||||||
|
|
||||||
- :doc:`index`
|
- :doc:`index`
|
||||||
- :doc:`/components/remote_transmitter`
|
- :doc:`/components/remote_transmitter`
|
||||||
|
- :ref:`remote-setting-up-infrared`
|
||||||
|
- :ref:`remote-setting-up-rf`
|
||||||
- :doc:`/components/rf_bridge`
|
- :doc:`/components/rf_bridge`
|
||||||
- `RCSwitch <https://github.com/sui77/rc-switch>`__ by `Suat Özgür <https://github.com/sui77>`__
|
- `RCSwitch <https://github.com/sui77/rc-switch>`__ by `Suat Özgür <https://github.com/sui77>`__
|
||||||
- `IRRemoteESP8266 <https://github.com/markszabo/IRremoteESP8266/>`__ by `Mark Szabo-Simon <https://github.com/markszabo>`__
|
|
||||||
- :apiref:`remote/remote_receiver.h`
|
- :apiref:`remote/remote_receiver.h`
|
||||||
- :ghedit:`Edit`
|
- :ghedit:`Edit`
|
||||||
|
@ -2,9 +2,9 @@ Remote Transmitter
|
|||||||
==================
|
==================
|
||||||
|
|
||||||
.. seo::
|
.. seo::
|
||||||
:description: Instructions for setting up switches that send out pre-defined sequences of IR or RF signals
|
:description: Instructions for setting up configurations that send out pre-defined sequences of IR or RF signals
|
||||||
:image: remote.svg
|
:image: remote.svg
|
||||||
:keywords: Infrared, IR, RF, Remote, TX
|
:keywords: Infrared, IR, RF, Remote, TX, 433, Blaster
|
||||||
|
|
||||||
The ``remote_transmitter`` component lets you send digital packets to control
|
The ``remote_transmitter`` component lets you send digital packets to control
|
||||||
devices in your home. For example this includes infrared data or 433MHz RF signals.
|
devices in your home. For example this includes infrared data or 433MHz RF signals.
|
||||||
@ -71,8 +71,8 @@ Configuration variables:
|
|||||||
- **repeat** (*Optional*): Optionally set the code to be repeated a number of times.
|
- **repeat** (*Optional*): Optionally set the code to be repeated a number of times.
|
||||||
Defaults to sending the code only once.
|
Defaults to sending the code only once.
|
||||||
|
|
||||||
- **times** (int): The number of times to repeat the code.
|
- **times** (:ref:`templatable <config-templatable>`, int): The number of times to repeat the code.
|
||||||
- **wait_time** (:ref:`config-time`): The time to wait between repeats.
|
- **wait_time** (:ref:`templatable <config-templatable>`, :ref:`config-time`): The time to wait between repeats (in µs as a result of a :ref:`lambda <config-lambda>`).
|
||||||
|
|
||||||
- **transmitter_id** (*Optional*, :ref:`config-id`): The remote transmitter to send the
|
- **transmitter_id** (*Optional*, :ref:`config-id`): The remote transmitter to send the
|
||||||
remote code with. Defaults to the first one defined in the configuration.
|
remote code with. Defaults to the first one defined in the configuration.
|
||||||
@ -82,8 +82,7 @@ Home Assistant, you'll want to set the **times** to 10 and the **wait_time** to
|
|||||||
|
|
||||||
.. _remote_transmitter-transmit_abbwelcome:
|
.. _remote_transmitter-transmit_abbwelcome:
|
||||||
|
|
||||||
``remote_transmitter.transmit_abbwelcome`` Action
|
``remote_transmitter.transmit_abbwelcome`` **Action**
|
||||||
*************************************************
|
|
||||||
|
|
||||||
This :ref:`action <config-action>` sends a ABB-Welcome message to the intercom bus. The
|
This :ref:`action <config-action>` sends a ABB-Welcome message to the intercom bus. The
|
||||||
message type, addresses, address length and data can vary a lot between ABB-Welcome
|
message type, addresses, address length and data can vary a lot between ABB-Welcome
|
||||||
@ -123,6 +122,7 @@ Configuration variables:
|
|||||||
Defaults to a randomly generated ID if this message is not a reply or retransmission.
|
Defaults to a randomly generated ID if this message is not a reply or retransmission.
|
||||||
- **data** (**Optional**, 0-7 bytes list): The code to send.
|
- **data** (**Optional**, 0-7 bytes list): The code to send.
|
||||||
Usually you only need to copy this directly from the dumper output. Defaults to ``[]``
|
Usually you only need to copy this directly from the dumper output. Defaults to ``[]``
|
||||||
|
- All other options from :ref:`remote_transmitter-transmit_action`.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
|
|
||||||
@ -132,8 +132,7 @@ Configuration variables:
|
|||||||
|
|
||||||
.. _remote_transmitter-transmit_aeha:
|
.. _remote_transmitter-transmit_aeha:
|
||||||
|
|
||||||
``remote_transmitter.transmit_aeha`` Action
|
``remote_transmitter.transmit_aeha`` **Action**
|
||||||
*********************************************
|
|
||||||
|
|
||||||
This :ref:`action <config-action>` sends a AEHA code to a remote transmitter.
|
This :ref:`action <config-action>` sends a AEHA code to a remote transmitter.
|
||||||
|
|
||||||
@ -150,13 +149,13 @@ Configuration variables:
|
|||||||
- **data** (**Required**, list): The command to send, A length of 2-35 bytes can be specified for one packet.
|
- **data** (**Required**, list): The command to send, A length of 2-35 bytes can be specified for one packet.
|
||||||
- **carrier_frequency** (*Optional*, float): Set a frequency to send the signal
|
- **carrier_frequency** (*Optional*, float): Set a frequency to send the signal
|
||||||
with for infrared signals. Defaults to ``38000Hz``.
|
with for infrared signals. Defaults to ``38000Hz``.
|
||||||
|
- All other options from :ref:`remote_transmitter-transmit_action`.
|
||||||
|
|
||||||
AEHA refers to the Association for Electric Home Appliances in Japan, a format used by Panasonic and many other companies.
|
AEHA refers to the Association for Electric Home Appliances in Japan, a format used by Panasonic and many other companies.
|
||||||
|
|
||||||
.. _remote_transmitter-transmit_byronsx:
|
.. _remote_transmitter-transmit_byronsx:
|
||||||
|
|
||||||
``remote_transmitter.transmit_byronsx`` Action
|
``remote_transmitter.transmit_byronsx`` **Action**
|
||||||
**********************************************
|
|
||||||
|
|
||||||
This :ref:`action <config-action>` sends a Byron Doorbell RF protocol code to a remote transmitter.
|
This :ref:`action <config-action>` sends a Byron Doorbell RF protocol code to a remote transmitter.
|
||||||
|
|
||||||
@ -171,10 +170,11 @@ Configuration variables:
|
|||||||
|
|
||||||
- **address** (**Required**, int): The 8-bit ID to send, see dumper output for more info.
|
- **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.
|
- **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:
|
- All other options from :ref:`remote_transmitter-transmit_action`.
|
||||||
|
|
||||||
``remote_transmitter.transmit_canalsat`` Action
|
.. _remote_transmitter-transmit_canalsat:
|
||||||
***********************************************
|
|
||||||
|
``remote_transmitter.transmit_canalsat`` **Action**
|
||||||
|
|
||||||
This :ref:`action <config-action>` sends a CanalSat infrared remote code to a remote transmitter.
|
This :ref:`action <config-action>` sends a CanalSat infrared remote code to a remote transmitter.
|
||||||
|
|
||||||
@ -200,8 +200,7 @@ Configuration variables:
|
|||||||
|
|
||||||
.. _remote_transmitter-transmit_canalsatld:
|
.. _remote_transmitter-transmit_canalsatld:
|
||||||
|
|
||||||
``remote_transmitter.transmit_canalsatld`` Action
|
``remote_transmitter.transmit_canalsatld`` **Action**
|
||||||
*************************************************
|
|
||||||
|
|
||||||
This :ref:`action <config-action>` sends a CanalSatLD infrared remote code to a remote transmitter.
|
This :ref:`action <config-action>` sends a CanalSatLD infrared remote code to a remote transmitter.
|
||||||
|
|
||||||
@ -227,8 +226,7 @@ Configuration variables:
|
|||||||
|
|
||||||
.. _remote_transmitter-transmit_coolix:
|
.. _remote_transmitter-transmit_coolix:
|
||||||
|
|
||||||
``remote_transmitter.transmit_coolix`` Action
|
``remote_transmitter.transmit_coolix`` **Action**
|
||||||
*********************************************
|
|
||||||
|
|
||||||
This :ref:`action <config-action>` sends one or two (stricted or not) 24-bit Coolix infrared remote codes to a remote transmitter.
|
This :ref:`action <config-action>` sends one or two (stricted or not) 24-bit Coolix infrared remote codes to a remote transmitter.
|
||||||
|
|
||||||
@ -243,11 +241,11 @@ Configuration variables:
|
|||||||
|
|
||||||
- **first** (**Required**, :ref:`templatable <config-templatable>`, uint32_t): The first 24-bit Coolix code to send, see dumper output for more info.
|
- **first** (**Required**, :ref:`templatable <config-templatable>`, uint32_t): The first 24-bit Coolix code to send, see dumper output for more info.
|
||||||
- **second** (*Optional*, :ref:`templatable <config-templatable>`, uint32_t): The second 24-bit Coolix code to send, see dumper output for more info.
|
- **second** (*Optional*, :ref:`templatable <config-templatable>`, uint32_t): The second 24-bit Coolix code to send, see dumper output for more info.
|
||||||
|
- All other options from :ref:`remote_transmitter-transmit_action`.
|
||||||
|
|
||||||
.. _remote_transmitter-transmit_dish:
|
.. _remote_transmitter-transmit_dish:
|
||||||
|
|
||||||
``remote_transmitter.transmit_dish`` Action
|
``remote_transmitter.transmit_dish`` **Action**
|
||||||
*******************************************
|
|
||||||
|
|
||||||
This :ref:`action <config-action>` sends a Dish Network infrared remote code to a remote transmitter.
|
This :ref:`action <config-action>` sends a Dish Network infrared remote code to a remote transmitter.
|
||||||
|
|
||||||
@ -268,8 +266,7 @@ You can find a list of commands in the `LIRC project <https://sourceforge.net/p/
|
|||||||
|
|
||||||
.. _remote_transmitter-transmit_dooya:
|
.. _remote_transmitter-transmit_dooya:
|
||||||
|
|
||||||
``remote_transmitter.transmit_dooya`` Action
|
``remote_transmitter.transmit_dooya`` **Action**
|
||||||
**********************************************
|
|
||||||
|
|
||||||
This :ref:`action <config-action>` sends a Dooya RF remote code to a remote transmitter.
|
This :ref:`action <config-action>` sends a Dooya RF remote code to a remote transmitter.
|
||||||
|
|
||||||
@ -292,8 +289,7 @@ Configuration variables:
|
|||||||
|
|
||||||
.. _remote_transmitter-transmit_drayton:
|
.. _remote_transmitter-transmit_drayton:
|
||||||
|
|
||||||
``remote_transmitter.transmit_drayton`` Action
|
``remote_transmitter.transmit_drayton`` **Action**
|
||||||
**********************************************
|
|
||||||
|
|
||||||
This :ref:`action <config-action>` sends a Draton Digistat RF remote code to a remote transmitter.
|
This :ref:`action <config-action>` sends a Draton Digistat RF remote code to a remote transmitter.
|
||||||
|
|
||||||
@ -314,8 +310,7 @@ Configuration variables:
|
|||||||
|
|
||||||
.. _remote_transmitter-transmit_jvc:
|
.. _remote_transmitter-transmit_jvc:
|
||||||
|
|
||||||
``remote_transmitter.transmit_jvc`` Action
|
``remote_transmitter.transmit_jvc`` **Action**
|
||||||
******************************************
|
|
||||||
|
|
||||||
This :ref:`action <config-action>` sends a JVC infrared remote code to a remote transmitter.
|
This :ref:`action <config-action>` sends a JVC infrared remote code to a remote transmitter.
|
||||||
|
|
||||||
@ -328,11 +323,11 @@ This :ref:`action <config-action>` sends a JVC infrared remote code to a remote
|
|||||||
Configuration variables:
|
Configuration variables:
|
||||||
|
|
||||||
- **data** (**Required**, int): The JVC code to send, see dumper output for more info.
|
- **data** (**Required**, int): The JVC code to send, see dumper output for more info.
|
||||||
|
- All other options from :ref:`remote_transmitter-transmit_action`.
|
||||||
|
|
||||||
.. _remote_transmitter-transmit_keeloq:
|
.. _remote_transmitter-transmit_keeloq:
|
||||||
|
|
||||||
``remote_transmitter.transmit_keeloq`` Action
|
``remote_transmitter.transmit_keeloq`` **Action**
|
||||||
**********************************************
|
|
||||||
|
|
||||||
This :ref:`action <config-action>` sends KeeLoq RF remote code to a remote transmitter.
|
This :ref:`action <config-action>` sends KeeLoq RF remote code to a remote transmitter.
|
||||||
|
|
||||||
@ -358,8 +353,7 @@ Configuration variables:
|
|||||||
|
|
||||||
.. _remote_transmitter-transmit_haier:
|
.. _remote_transmitter-transmit_haier:
|
||||||
|
|
||||||
``remote_transmitter.transmit_haier`` Action
|
``remote_transmitter.transmit_haier`` **Action**
|
||||||
********************************************
|
|
||||||
|
|
||||||
This :ref:`action <config-action>` sends a 104-bit Haier code to a remote transmitter. 8-bits of checksum added automatically.
|
This :ref:`action <config-action>` sends a 104-bit Haier code to a remote transmitter. 8-bits of checksum added automatically.
|
||||||
|
|
||||||
@ -376,8 +370,7 @@ Configuration variables:
|
|||||||
|
|
||||||
.. _remote_transmitter-transmit_lg:
|
.. _remote_transmitter-transmit_lg:
|
||||||
|
|
||||||
``remote_transmitter.transmit_lg`` Action
|
``remote_transmitter.transmit_lg`` **Action**
|
||||||
*****************************************
|
|
||||||
|
|
||||||
This :ref:`action <config-action>` sends an LG infrared remote code to a remote transmitter.
|
This :ref:`action <config-action>` sends an LG infrared remote code to a remote transmitter.
|
||||||
|
|
||||||
@ -396,8 +389,7 @@ Configuration variables:
|
|||||||
|
|
||||||
.. _remote_transmitter-transmit_magiquest:
|
.. _remote_transmitter-transmit_magiquest:
|
||||||
|
|
||||||
``remote_transmitter.transmit_magiquest`` Action
|
``remote_transmitter.transmit_magiquest`` **Action**
|
||||||
************************************************
|
|
||||||
|
|
||||||
This :ref:`action <config-action>` sends a MagiQuest wand code to a remote transmitter.
|
This :ref:`action <config-action>` sends a MagiQuest wand code to a remote transmitter.
|
||||||
|
|
||||||
@ -416,8 +408,7 @@ Configuration variables:
|
|||||||
|
|
||||||
.. _remote_transmitter-transmit_midea:
|
.. _remote_transmitter-transmit_midea:
|
||||||
|
|
||||||
``remote_transmitter.transmit_midea`` Action
|
``remote_transmitter.transmit_midea`` **Action**
|
||||||
********************************************
|
|
||||||
|
|
||||||
This :ref:`action <config-action>` sends a 40-bit Midea code to a remote transmitter. 8-bits of checksum added automatically.
|
This :ref:`action <config-action>` sends a 40-bit Midea code to a remote transmitter. 8-bits of checksum added automatically.
|
||||||
|
|
||||||
@ -438,8 +429,7 @@ Configuration variables:
|
|||||||
- **code** (**Required**, list, :ref:`templatable <config-templatable>`): The 40-bit Midea code to send as a list of hex or integers.
|
- **code** (**Required**, list, :ref:`templatable <config-templatable>`): The 40-bit Midea code to send as a list of hex or integers.
|
||||||
- All other options from :ref:`remote_transmitter-transmit_action`.
|
- All other options from :ref:`remote_transmitter-transmit_action`.
|
||||||
|
|
||||||
``remote_transmitter.transmit_nec`` Action
|
``remote_transmitter.transmit_nec`` **Action**
|
||||||
******************************************
|
|
||||||
|
|
||||||
This :ref:`action <config-action>` sends an NEC infrared remote code to a remote transmitter.
|
This :ref:`action <config-action>` sends an NEC infrared remote code to a remote transmitter.
|
||||||
|
|
||||||
@ -466,8 +456,7 @@ Configuration variables:
|
|||||||
- **command_repeats** (*Optional*, int): The number of times the command bytes are sent in one transmission. Defaults to `1`.
|
- **command_repeats** (*Optional*, int): The number of times the command bytes are sent in one transmission. Defaults to `1`.
|
||||||
- All other options from :ref:`remote_transmitter-transmit_action`.
|
- All other options from :ref:`remote_transmitter-transmit_action`.
|
||||||
|
|
||||||
``remote_transmitter.transmit_nexa`` Action
|
``remote_transmitter.transmit_nexa`` **Action**
|
||||||
*******************************************
|
|
||||||
|
|
||||||
This :ref:`action <config-action>` a Nexa RF remote code to a remote transmitter.
|
This :ref:`action <config-action>` a Nexa RF remote code to a remote transmitter.
|
||||||
|
|
||||||
@ -492,8 +481,7 @@ Configuration variables:
|
|||||||
|
|
||||||
.. _remote_transmitter-transmit_panasonic:
|
.. _remote_transmitter-transmit_panasonic:
|
||||||
|
|
||||||
``remote_transmitter.transmit_panasonic`` Action
|
``remote_transmitter.transmit_panasonic`` **Action**
|
||||||
************************************************
|
|
||||||
|
|
||||||
This :ref:`action <config-action>` sends a Panasonic infrared remote code to a remote transmitter.
|
This :ref:`action <config-action>` sends a Panasonic infrared remote code to a remote transmitter.
|
||||||
|
|
||||||
@ -512,8 +500,7 @@ Configuration variables:
|
|||||||
|
|
||||||
.. _remote_transmitter-transmit_pioneer:
|
.. _remote_transmitter-transmit_pioneer:
|
||||||
|
|
||||||
``remote_transmitter.transmit_pioneer`` Action
|
``remote_transmitter.transmit_pioneer`` **Action**
|
||||||
**********************************************
|
|
||||||
|
|
||||||
This :ref:`action <config-action>` sends a Pioneer infrared remote code to a remote transmitter.
|
This :ref:`action <config-action>` sends a Pioneer infrared remote code to a remote transmitter.
|
||||||
|
|
||||||
@ -543,8 +530,7 @@ are largely shared among devices within a given class.
|
|||||||
|
|
||||||
.. _remote_transmitter-transmit_pronto:
|
.. _remote_transmitter-transmit_pronto:
|
||||||
|
|
||||||
``remote_transmitter.transmit_pronto`` Action
|
``remote_transmitter.transmit_pronto`` **Action**
|
||||||
*********************************************
|
|
||||||
|
|
||||||
This :ref:`action <config-action>` sends a raw code to a remote transmitter specified in Pronto format.
|
This :ref:`action <config-action>` sends a raw code to a remote transmitter specified in Pronto format.
|
||||||
|
|
||||||
@ -562,8 +548,7 @@ Configuration variables:
|
|||||||
|
|
||||||
.. _remote_transmitter-transmit_raw:
|
.. _remote_transmitter-transmit_raw:
|
||||||
|
|
||||||
``remote_transmitter.transmit_raw`` Action
|
``remote_transmitter.transmit_raw`` **Action**
|
||||||
******************************************
|
|
||||||
|
|
||||||
This :ref:`action <config-action>` sends a raw code to a remote transmitter.
|
This :ref:`action <config-action>` sends a raw code to a remote transmitter.
|
||||||
|
|
||||||
@ -590,8 +575,7 @@ Configuration variables:
|
|||||||
|
|
||||||
.. _remote_transmitter-transmit_rc5:
|
.. _remote_transmitter-transmit_rc5:
|
||||||
|
|
||||||
``remote_transmitter.transmit_rc5`` Action
|
``remote_transmitter.transmit_rc5`` **Action**
|
||||||
******************************************
|
|
||||||
|
|
||||||
This :ref:`action <config-action>` sends an RC5 infrared remote code to a remote transmitter.
|
This :ref:`action <config-action>` sends an RC5 infrared remote code to a remote transmitter.
|
||||||
|
|
||||||
@ -610,8 +594,7 @@ Configuration variables:
|
|||||||
|
|
||||||
.. _remote_transmitter-transmit_rc6:
|
.. _remote_transmitter-transmit_rc6:
|
||||||
|
|
||||||
``remote_transmitter.transmit_rc6`` Action
|
``remote_transmitter.transmit_rc6`` **Action**
|
||||||
******************************************
|
|
||||||
|
|
||||||
This :ref:`action <config-action>` sends an RC6 infrared remote code to a remote transmitter.
|
This :ref:`action <config-action>` sends an RC6 infrared remote code to a remote transmitter.
|
||||||
|
|
||||||
@ -630,8 +613,7 @@ Configuration variables:
|
|||||||
|
|
||||||
.. _remote_transmitter-transmit_rc_switch_raw:
|
.. _remote_transmitter-transmit_rc_switch_raw:
|
||||||
|
|
||||||
``remote_transmitter.transmit_rc_switch_raw`` Action
|
``remote_transmitter.transmit_rc_switch_raw`` **Action**
|
||||||
****************************************************
|
|
||||||
|
|
||||||
This :ref:`action <config-action>` sends a raw RC-Switch code to a
|
This :ref:`action <config-action>` sends a raw RC-Switch code to a
|
||||||
remote transmitter.
|
remote transmitter.
|
||||||
@ -650,28 +632,9 @@ Configuration variables:
|
|||||||
for more information.
|
for more information.
|
||||||
- All other options from :ref:`remote_transmitter-transmit_action`.
|
- All other options from :ref:`remote_transmitter-transmit_action`.
|
||||||
|
|
||||||
.. _remote_transmitter-rc_switch-protocol:
|
|
||||||
|
|
||||||
RC Switch Protocol
|
|
||||||
^^^^^^^^^^^^^^^^^^
|
|
||||||
|
|
||||||
All RC Switch ``protocol`` settings have these settings:
|
|
||||||
|
|
||||||
- Either the value is an integer, then the inbuilt protocol definition with the given number
|
|
||||||
is used.
|
|
||||||
- Or a key-value mapping is given, then there are these settings:
|
|
||||||
|
|
||||||
- **pulse_length** (**Required**, int): The pulse length of the protocol - how many microseconds
|
|
||||||
one pulse should last for.
|
|
||||||
- **sync** (*Optional*): The number of high/low pulses for the sync header, defaults to ``[1, 31]``
|
|
||||||
- **zero** (*Optional*): The number of high/low pulses for a zero bit, defaults to ``[1, 3]``
|
|
||||||
- **one** (*Optional*): The number of high/low pulses for a one bit, defaults to ``[3, 1]``
|
|
||||||
- **inverted** (*Optional*, boolean): If this protocol is inverted. Defaults to ``false``.
|
|
||||||
|
|
||||||
.. _remote_transmitter-transmit_rc_switch_type_a:
|
.. _remote_transmitter-transmit_rc_switch_type_a:
|
||||||
|
|
||||||
``remote_transmitter.transmit_rc_switch_type_a`` Action
|
``remote_transmitter.transmit_rc_switch_type_a`` **Action**
|
||||||
*******************************************************
|
|
||||||
|
|
||||||
This :ref:`action <config-action>` sends a type A RC-Switch code to a
|
This :ref:`action <config-action>` sends a type A RC-Switch code to a
|
||||||
remote transmitter.
|
remote transmitter.
|
||||||
@ -696,8 +659,7 @@ Configuration variables:
|
|||||||
|
|
||||||
.. _remote_transmitter-transmit_rc_switch_type_b:
|
.. _remote_transmitter-transmit_rc_switch_type_b:
|
||||||
|
|
||||||
``remote_transmitter.transmit_rc_switch_type_b`` Action
|
``remote_transmitter.transmit_rc_switch_type_b`` **Action**
|
||||||
*******************************************************
|
|
||||||
|
|
||||||
This :ref:`action <config-action>` sends a type B RC-Switch code to a
|
This :ref:`action <config-action>` sends a type B RC-Switch code to a
|
||||||
remote transmitter.
|
remote transmitter.
|
||||||
@ -722,8 +684,7 @@ Configuration variables:
|
|||||||
|
|
||||||
.. _remote_transmitter-transmit_rc_switch_type_c:
|
.. _remote_transmitter-transmit_rc_switch_type_c:
|
||||||
|
|
||||||
``remote_transmitter.transmit_rc_switch_type_c`` Action
|
``remote_transmitter.transmit_rc_switch_type_c`` **Action**
|
||||||
*******************************************************
|
|
||||||
|
|
||||||
This :ref:`action <config-action>` sends a type C RC-Switch code to a
|
This :ref:`action <config-action>` sends a type C RC-Switch code to a
|
||||||
remote transmitter.
|
remote transmitter.
|
||||||
@ -750,8 +711,7 @@ Configuration variables:
|
|||||||
|
|
||||||
.. _remote_transmitter-transmit_rc_switch_type_d:
|
.. _remote_transmitter-transmit_rc_switch_type_d:
|
||||||
|
|
||||||
``remote_transmitter.transmit_rc_switch_type_d`` Action
|
``remote_transmitter.transmit_rc_switch_type_d`` **Action**
|
||||||
*******************************************************
|
|
||||||
|
|
||||||
This :ref:`action <config-action>` sends a type D RC-Switch code to a
|
This :ref:`action <config-action>` sends a type D RC-Switch code to a
|
||||||
remote transmitter.
|
remote transmitter.
|
||||||
@ -776,8 +736,7 @@ Configuration variables:
|
|||||||
|
|
||||||
.. _remote_transmitter-transmit_roomba:
|
.. _remote_transmitter-transmit_roomba:
|
||||||
|
|
||||||
``remote_transmitter.transmit_roomba`` Action
|
``remote_transmitter.transmit_roomba`` **Action**
|
||||||
*********************************************
|
|
||||||
|
|
||||||
This :ref:`action <config-action>` sends a Roomba infrared remote code to a remote transmitter.
|
This :ref:`action <config-action>` sends a Roomba infrared remote code to a remote transmitter.
|
||||||
|
|
||||||
@ -799,8 +758,7 @@ Configuration variables:
|
|||||||
|
|
||||||
.. _remote_transmitter-transmit_samsung:
|
.. _remote_transmitter-transmit_samsung:
|
||||||
|
|
||||||
``remote_transmitter.transmit_samsung`` Action
|
``remote_transmitter.transmit_samsung`` **Action**
|
||||||
**********************************************
|
|
||||||
|
|
||||||
This :ref:`action <config-action>` sends a Samsung infrared remote code to a remote transmitter.
|
This :ref:`action <config-action>` sends a Samsung infrared remote code to a remote transmitter.
|
||||||
It transmits codes up to 64 bits in length in a single packet.
|
It transmits codes up to 64 bits in length in a single packet.
|
||||||
@ -823,8 +781,7 @@ Configuration variables:
|
|||||||
|
|
||||||
.. _remote_transmitter-transmit_samsung36:
|
.. _remote_transmitter-transmit_samsung36:
|
||||||
|
|
||||||
``remote_transmitter.transmit_samsung36`` Action
|
``remote_transmitter.transmit_samsung36`` **Action**
|
||||||
************************************************
|
|
||||||
|
|
||||||
This :ref:`action <config-action>` sends a Samsung36 infrared remote code to a remote transmitter.
|
This :ref:`action <config-action>` sends a Samsung36 infrared remote code to a remote transmitter.
|
||||||
It transmits the ``address`` and ``command`` in two packets separated by a "space".
|
It transmits the ``address`` and ``command`` in two packets separated by a "space".
|
||||||
@ -844,8 +801,7 @@ Configuration variables:
|
|||||||
|
|
||||||
.. _remote_transmitter-transmit_sony:
|
.. _remote_transmitter-transmit_sony:
|
||||||
|
|
||||||
``remote_transmitter.transmit_sony`` Action
|
``remote_transmitter.transmit_sony`` **Action**
|
||||||
*******************************************
|
|
||||||
|
|
||||||
This :ref:`action <config-action>` a Sony infrared remote code to a remote transmitter.
|
This :ref:`action <config-action>` a Sony infrared remote code to a remote transmitter.
|
||||||
|
|
||||||
@ -864,8 +820,7 @@ Configuration variables:
|
|||||||
|
|
||||||
.. _remote_transmitter-transmit_toshiba_ac:
|
.. _remote_transmitter-transmit_toshiba_ac:
|
||||||
|
|
||||||
``remote_transmitter.transmit_toshiba_ac`` Action
|
``remote_transmitter.transmit_toshiba_ac`` **Action**
|
||||||
*************************************************
|
|
||||||
|
|
||||||
This :ref:`action <config-action>` sends a Toshiba AC infrared remote code to a remote transmitter.
|
This :ref:`action <config-action>` sends a Toshiba AC infrared remote code to a remote transmitter.
|
||||||
|
|
||||||
@ -885,13 +840,11 @@ Configuration variables:
|
|||||||
- **rc_code_1** (**Required**, int): The remote control code to send, see dumper output for more details.
|
- **rc_code_1** (**Required**, int): The remote control code to send, see dumper output for more details.
|
||||||
- **rc_code_2** (*Optional*, int): The secondary remote control code to send; some codes are sent in
|
- **rc_code_2** (*Optional*, int): The secondary remote control code to send; some codes are sent in
|
||||||
two parts.
|
two parts.
|
||||||
|
|
||||||
- All other options from :ref:`remote_transmitter-transmit_action`.
|
- All other options from :ref:`remote_transmitter-transmit_action`.
|
||||||
|
|
||||||
.. _remote_transmitter-transmit_mirage:
|
.. _remote_transmitter-transmit_mirage:
|
||||||
|
|
||||||
``remote_transmitter.transmit_mirage`` Action
|
``remote_transmitter.transmit_mirage`` **Action**
|
||||||
*********************************************
|
|
||||||
|
|
||||||
This :ref:`action <config-action>` sends a 112-bit Mirage code to a remote transmitter. 8-bits of checksum added automatically.
|
This :ref:`action <config-action>` sends a 112-bit Mirage code to a remote transmitter. 8-bits of checksum added automatically.
|
||||||
|
|
||||||
@ -906,6 +859,24 @@ Configuration variables:
|
|||||||
- **code** (**Required**, list): The 14 byte Mirage code to send.
|
- **code** (**Required**, list): The 14 byte Mirage code to send.
|
||||||
- All other options from :ref:`remote_transmitter-transmit_action`.
|
- All other options from :ref:`remote_transmitter-transmit_action`.
|
||||||
|
|
||||||
|
.. _remote_transmitter-rc_switch-protocol:
|
||||||
|
|
||||||
|
RC Switch Protocol
|
||||||
|
******************
|
||||||
|
|
||||||
|
All RC Switch ``protocol`` settings have these settings:
|
||||||
|
|
||||||
|
- Either the value is an integer, then the inbuilt protocol definition with the given number
|
||||||
|
is used.
|
||||||
|
- Or a key-value mapping is given, then there are these settings:
|
||||||
|
|
||||||
|
- **pulse_length** (**Required**, int): The pulse length of the protocol - how many microseconds
|
||||||
|
one pulse should last for.
|
||||||
|
- **sync** (*Optional*): The number of high/low pulses for the sync header, defaults to ``[1, 31]``
|
||||||
|
- **zero** (*Optional*): The number of high/low pulses for a zero bit, defaults to ``[1, 3]``
|
||||||
|
- **one** (*Optional*): The number of high/low pulses for a one bit, defaults to ``[3, 1]``
|
||||||
|
- **inverted** (*Optional*, boolean): If this protocol is inverted. Defaults to ``false``.
|
||||||
|
|
||||||
Lambda calls
|
Lambda calls
|
||||||
************
|
************
|
||||||
|
|
||||||
@ -924,202 +895,15 @@ See the full API Reference for more info.
|
|||||||
call.set_send_times(2);
|
call.set_send_times(2);
|
||||||
call.perform();
|
call.perform();
|
||||||
|
|
||||||
|
|
||||||
.. _remote-setting-up-infrared:
|
|
||||||
|
|
||||||
Setting up Infrared Devices
|
|
||||||
---------------------------
|
|
||||||
|
|
||||||
In this guide an infrared device will be set up with ESPHome. First, the remote code
|
|
||||||
will be captured with an IR receiver module (like `this one <https://www.sparkfun.com/products/10266>`__).
|
|
||||||
We will use ESPHome's dumping ability to output the decoded remote code directly.
|
|
||||||
|
|
||||||
Then we will set up a new remote transmitter with an infrared LED (like
|
|
||||||
`this one <https://learn.sparkfun.com/tutorials/ir-communication/all>`__) to transmit the
|
|
||||||
code when a switch is triggered.
|
|
||||||
|
|
||||||
First, connect the infrared receiver module to a pin on your board and set up a
|
|
||||||
remote_receiver instance:
|
|
||||||
|
|
||||||
.. code-block:: yaml
|
|
||||||
|
|
||||||
remote_receiver:
|
|
||||||
pin: GPIOXX
|
|
||||||
dump: all
|
|
||||||
|
|
||||||
Compile and upload the code. While viewing the log output from the ESP,
|
|
||||||
press a button on an infrared remote you want to capture (one at a time).
|
|
||||||
|
|
||||||
You should see log output like below:
|
|
||||||
|
|
||||||
.. code-block:: text
|
|
||||||
|
|
||||||
# If the codec is known:
|
|
||||||
[D][remote.panasonic] Received Panasonic: address=0x4004 command=0x8140DFA2
|
|
||||||
|
|
||||||
# Or raw output if it's not known yet
|
|
||||||
# The values may fluctuate a bit, but as long as they're similar it's ok
|
|
||||||
[D][remote.raw] Received Raw: 4088, -1542, 1019, -510, 513, -1019, 510, -509, 511, -510, 1020,
|
|
||||||
[D][remote.raw] -1020, 1022, -1019, 510, -509, 511, -510, 511, -509, 511, -510,
|
|
||||||
[D][remote.raw] 1020, -1019, 510, -511, 1020, -510, 512, -508, 510, -1020, 1022
|
|
||||||
|
|
||||||
If the codec is already implemented in ESPHome, you will see the decoded value directly -
|
|
||||||
otherwise you will see the raw data dump (which you can use just as well). You have
|
|
||||||
just successfully captured your first infrared code.
|
|
||||||
|
|
||||||
Now let's use this information to emulate a button press from the ESP. First, wire up the
|
|
||||||
IR diode to a new pin on the ESP and configure a global ``remote_transmitter`` instance:
|
|
||||||
|
|
||||||
.. code-block:: yaml
|
|
||||||
|
|
||||||
remote_transmitter:
|
|
||||||
pin: GPIOXX
|
|
||||||
# Infrared remotes use a 50% carrier signal
|
|
||||||
carrier_duty_percent: 50%
|
|
||||||
|
|
||||||
This will allow us to send any data we want via the IR LED. To replicate the codes we decoded
|
|
||||||
earlier, create a new template switch that sends the infrared code when triggered:
|
|
||||||
|
|
||||||
.. code-block:: yaml
|
|
||||||
|
|
||||||
switch:
|
|
||||||
- platform: template
|
|
||||||
name: Panasonic Power Button
|
|
||||||
turn_on_action:
|
|
||||||
- remote_transmitter.transmit_panasonic:
|
|
||||||
address: 0x4004
|
|
||||||
command: 0x8140DFA2
|
|
||||||
|
|
||||||
# Or for raw code
|
|
||||||
switch:
|
|
||||||
- platform: template
|
|
||||||
name: Raw Code Power Button
|
|
||||||
turn_on_action:
|
|
||||||
- remote_transmitter.transmit_raw:
|
|
||||||
carrier_frequency: 38kHz
|
|
||||||
code: [4088, -1542, 1019, -510, 513, -1019, 510, -509, 511, -510, 1020,
|
|
||||||
-1020, 1022, -1019, 510, -509, 511, -510, 511, -509, 511, -510,
|
|
||||||
1020, -1019, 510, -511, 1020, -510, 512, -508, 510, -1020, 1022]
|
|
||||||
|
|
||||||
Recompile again, when you power up the device the next time you will see a new switch
|
|
||||||
in the frontend. Click on it and you should see the remote signal being transmitted. Done!
|
|
||||||
|
|
||||||
.. _remote-setting-up-rf:
|
|
||||||
|
|
||||||
Setting Up RF Devices
|
|
||||||
---------------------
|
|
||||||
|
|
||||||
The ``remote_transmitter`` and ``remote_receiver`` components can also be used to send
|
|
||||||
and receive 433MHz RF signals. This guide will discuss setting up a 433MHz receiver to
|
|
||||||
capture a device's remote codes. After that we will set up a 433MHz transmitter to replicate
|
|
||||||
the remote code with the press of a switch in the frontend.
|
|
||||||
|
|
||||||
First, connect the RF module to a pin on the ESP and set up a remote_receiver instance:
|
|
||||||
|
|
||||||
.. code-block:: yaml
|
|
||||||
|
|
||||||
remote_receiver:
|
|
||||||
pin: GPIOXX
|
|
||||||
dump: all
|
|
||||||
# Settings to optimize recognition of RF devices
|
|
||||||
tolerance: 50%
|
|
||||||
filter: 250us
|
|
||||||
idle: 4ms
|
|
||||||
buffer_size: 2kb
|
|
||||||
|
|
||||||
Compile and upload the code. While viewing the log output from the ESP,
|
|
||||||
press a button on an RF remote you want to capture (one at a time).
|
|
||||||
|
|
||||||
You should see log output like below:
|
|
||||||
|
|
||||||
.. code-block:: text
|
|
||||||
|
|
||||||
# If the codec is known:
|
|
||||||
[D][remote.rc_switch] Received RCSwitch: protocol=2 data='100010000000000010111110'
|
|
||||||
|
|
||||||
# Or raw output if it's not known yet
|
|
||||||
# The values may fluctuate a bit, but as long as they're similar it's ok
|
|
||||||
[D][remote.raw] Received Raw: 4088, -1542, 1019, -510, 513, -1019, 510, -509, 511, -510, 1020,
|
|
||||||
[D][remote.raw] -1020, 1022, -1019, 510, -509, 511, -510, 511, -509, 511, -510,
|
|
||||||
[D][remote.raw] 1020, -1019, 510, -511, 1020, -510, 512, -508, 510, -1020, 1022
|
|
||||||
|
|
||||||
.. note::
|
|
||||||
|
|
||||||
If the log output is flooded with "Received Raw" messages, you can also disable raw
|
|
||||||
remote code reporting and rely on rc_switch to decode the values.
|
|
||||||
|
|
||||||
.. code-block:: yaml
|
|
||||||
|
|
||||||
remote_receiver:
|
|
||||||
pin: GPIOXX
|
|
||||||
dump:
|
|
||||||
- rc_switch
|
|
||||||
tolerance: 50%
|
|
||||||
filter: 250us
|
|
||||||
idle: 4ms
|
|
||||||
buffer_size: 2kb
|
|
||||||
|
|
||||||
If the codec is already implemented in ESPHome, you will see the decoded value directly -
|
|
||||||
otherwise you will see the raw data dump (which you can use just as well). You have
|
|
||||||
just successfully captured your first RF code.
|
|
||||||
|
|
||||||
Now let's use this information to emulate a button press from the ESP. First, wire up the
|
|
||||||
RF transmitter to a new pin on the ESP and configure a global ``remote_transmitter`` instance:
|
|
||||||
|
|
||||||
.. code-block:: yaml
|
|
||||||
|
|
||||||
remote_transmitter:
|
|
||||||
pin: GPIOXX
|
|
||||||
# RF uses a 100% carrier signal
|
|
||||||
carrier_duty_percent: 100%
|
|
||||||
|
|
||||||
This will allow us to send any data we want via the RF transmitter. To replicate the codes we decoded
|
|
||||||
earlier, create a new template switch that sends the RF code when triggered:
|
|
||||||
|
|
||||||
.. code-block:: yaml
|
|
||||||
|
|
||||||
switch:
|
|
||||||
- platform: template
|
|
||||||
name: RF Power Button
|
|
||||||
optimistic: true
|
|
||||||
turn_on_action:
|
|
||||||
- remote_transmitter.transmit_rc_switch_raw:
|
|
||||||
code: '100010000000000010111110'
|
|
||||||
protocol: 2
|
|
||||||
repeat:
|
|
||||||
times: 10
|
|
||||||
wait_time: 0s
|
|
||||||
|
|
||||||
|
|
||||||
# Or for raw code
|
|
||||||
switch:
|
|
||||||
- platform: template
|
|
||||||
name: Raw Code Power Button
|
|
||||||
turn_on_action:
|
|
||||||
- remote_transmitter.transmit_raw:
|
|
||||||
code: [4088, -1542, 1019, -510, 513, -1019, 510, -509, 511, -510, 1020,
|
|
||||||
-1020, 1022, -1019, 510, -509, 511, -510, 511, -509, 511, -510,
|
|
||||||
1020, -1019, 510, -511, 1020, -510, 512, -508, 510, -1020, 1022]
|
|
||||||
|
|
||||||
Recompile again, when you power up the device the next time you will see a new switch
|
|
||||||
in the frontend. Click on it and you should see the remote signal being transmitted. Done!
|
|
||||||
|
|
||||||
.. note::
|
|
||||||
|
|
||||||
Some devices require that the transmitted code be repeated for the signal to be picked up
|
|
||||||
as valid. Also the interval between repetitions can be important. Check that the pace of
|
|
||||||
repetition logs are consistent between the remote controller and the transmitter node.
|
|
||||||
You can adjust the ``repeat:`` settings accordingly.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
See Also
|
See Also
|
||||||
--------
|
--------
|
||||||
|
|
||||||
- :doc:`index`
|
- :doc:`index`
|
||||||
- :doc:`/components/remote_receiver`
|
- :doc:`/components/remote_receiver`
|
||||||
|
- :ref:`remote-setting-up-infrared`
|
||||||
|
- :ref:`remote-setting-up-rf`
|
||||||
|
- :doc:`/components/rf_bridge`
|
||||||
- :ref:`lambda_magic_rf_queues`
|
- :ref:`lambda_magic_rf_queues`
|
||||||
- `RCSwitch <https://github.com/sui77/rc-switch>`__ by `Suat Özgür <https://github.com/sui77>`__
|
- `RCSwitch <https://github.com/sui77/rc-switch>`__ by `Suat Özgür <https://github.com/sui77>`__
|
||||||
- `IRRemoteESP8266 <https://github.com/markszabo/IRremoteESP8266/>`__ by `Mark Szabo-Simon <https://github.com/markszabo>`__
|
|
||||||
- :apiref:`remote_transmitter/remote_transmitter.h`
|
- :apiref:`remote_transmitter/remote_transmitter.h`
|
||||||
- :ghedit:`Edit`
|
- :ghedit:`Edit`
|
||||||
|
@ -21,6 +21,8 @@ which is 19200bps.
|
|||||||
:align: center
|
:align: center
|
||||||
:width: 60.0%
|
:width: 60.0%
|
||||||
|
|
||||||
|
Sonoff RF Bridge 433, version R1 or R2 V1.0
|
||||||
|
|
||||||
.. code-block:: yaml
|
.. code-block:: yaml
|
||||||
|
|
||||||
# Example configuration entry
|
# Example configuration entry
|
||||||
|
192
guides/setting_up_rmt_devices.rst
Normal file
192
guides/setting_up_rmt_devices.rst
Normal file
@ -0,0 +1,192 @@
|
|||||||
|
.. seo::
|
||||||
|
:description: Set up guide for configuring IR and RF devices in ESPHome.
|
||||||
|
:image: remote.svg
|
||||||
|
|
||||||
|
.. _remote-setting-up-infrared:
|
||||||
|
|
||||||
|
Setting up IR Devices
|
||||||
|
=====================
|
||||||
|
|
||||||
|
In this guide an infrared device will be set up with ESPHome. First, the remote code
|
||||||
|
will be captured with an IR receiver module (like `this one <https://www.sparkfun.com/products/10266>`__).
|
||||||
|
We will use ESPHome's dumping ability to output the decoded remote code directly.
|
||||||
|
|
||||||
|
Then we will set up a new remote transmitter with an infrared LED (like
|
||||||
|
`this one <https://learn.sparkfun.com/tutorials/ir-communication/all>`__) to transmit the
|
||||||
|
code when a button is pressed.
|
||||||
|
|
||||||
|
First, connect the infrared receiver module to a pin on your board and set up a
|
||||||
|
remote_receiver instance:
|
||||||
|
|
||||||
|
.. code-block:: yaml
|
||||||
|
|
||||||
|
remote_receiver:
|
||||||
|
pin: GPIOXX
|
||||||
|
dump: all
|
||||||
|
|
||||||
|
Compile and upload the code. While viewing the log output from the ESP,
|
||||||
|
press a button on an infrared remote you want to capture (one at a time).
|
||||||
|
|
||||||
|
You should see log output like below:
|
||||||
|
|
||||||
|
.. code-block:: text
|
||||||
|
|
||||||
|
# If the codec is known:
|
||||||
|
[D][remote.panasonic] Received Panasonic: address=0x4004 command=0x8140DFA2
|
||||||
|
|
||||||
|
# Or raw output if it's not known yet
|
||||||
|
# The values may fluctuate a bit, but as long as they're similar it's ok
|
||||||
|
[D][remote.raw] Received Raw: 4088, -1542, 1019, -510, 513, -1019, 510, -509, 511, -510, 1020,
|
||||||
|
[D][remote.raw] -1020, 1022, -1019, 510, -509, 511, -510, 511, -509, 511, -510,
|
||||||
|
[D][remote.raw] 1020, -1019, 510, -511, 1020, -510, 512, -508, 510, -1020, 1022
|
||||||
|
|
||||||
|
If the codec is already implemented in ESPHome, you will see the decoded value directly -
|
||||||
|
otherwise you will see the raw data dump (which you can use just as well). You have
|
||||||
|
just successfully captured your first infrared code.
|
||||||
|
|
||||||
|
Now let's use this information to emulate a button press from the ESP. First, wire up the
|
||||||
|
IR diode to a new pin on the ESP and configure a global ``remote_transmitter`` instance:
|
||||||
|
|
||||||
|
.. code-block:: yaml
|
||||||
|
|
||||||
|
remote_transmitter:
|
||||||
|
pin: GPIOXX
|
||||||
|
# Infrared remotes use a 50% carrier signal
|
||||||
|
carrier_duty_percent: 50%
|
||||||
|
|
||||||
|
This will allow us to send any data we want via the IR LED. To replicate the codes we decoded
|
||||||
|
earlier, create a new template button that sends the infrared code when triggered:
|
||||||
|
|
||||||
|
.. code-block:: yaml
|
||||||
|
|
||||||
|
button:
|
||||||
|
- platform: template
|
||||||
|
name: Panasonic Power Button
|
||||||
|
on_press:
|
||||||
|
- remote_transmitter.transmit_panasonic:
|
||||||
|
address: 0x4004
|
||||||
|
command: 0x8140DFA2
|
||||||
|
|
||||||
|
# Or for raw code
|
||||||
|
button:
|
||||||
|
- platform: template
|
||||||
|
name: Raw Code Power Button
|
||||||
|
on_press:
|
||||||
|
- remote_transmitter.transmit_raw:
|
||||||
|
carrier_frequency: 38kHz
|
||||||
|
code: [4088, -1542, 1019, -510, 513, -1019, 510, -509, 511, -510, 1020,
|
||||||
|
-1020, 1022, -1019, 510, -509, 511, -510, 511, -509, 511, -510,
|
||||||
|
1020, -1019, 510, -511, 1020, -510, 512, -508, 510, -1020, 1022]
|
||||||
|
|
||||||
|
Recompile again, when you power up the device the next time you will see a new button
|
||||||
|
in the frontend. Click on it and you should see the remote signal being transmitted. Done!
|
||||||
|
|
||||||
|
.. _remote-setting-up-rf:
|
||||||
|
|
||||||
|
Setting up RF Devices
|
||||||
|
=====================
|
||||||
|
|
||||||
|
The ``remote_transmitter`` and ``remote_receiver`` components can also be used to send
|
||||||
|
and receive 433MHz Radio Frequency (RF) signals. This guide will discuss setting up a 433MHz
|
||||||
|
receiver to capture a device's remote codes. After that we will set up a 433MHz transmitter
|
||||||
|
to replicate the remote code with the press of a button in the frontend.
|
||||||
|
|
||||||
|
First, connect the RF module to a pin on the ESP and set up a remote_receiver instance:
|
||||||
|
|
||||||
|
.. code-block:: yaml
|
||||||
|
|
||||||
|
remote_receiver:
|
||||||
|
pin: GPIOXX
|
||||||
|
dump: all
|
||||||
|
# Settings to optimize recognition of RF devices
|
||||||
|
tolerance: 50%
|
||||||
|
filter: 250us
|
||||||
|
idle: 4ms
|
||||||
|
buffer_size: 2kb # only for ESP8266
|
||||||
|
|
||||||
|
Compile and upload the code. While viewing the log output from the ESP,
|
||||||
|
press a button on an RF remote you want to capture (one at a time).
|
||||||
|
|
||||||
|
You should see log output like below:
|
||||||
|
|
||||||
|
.. code-block:: text
|
||||||
|
|
||||||
|
# If the codec is known:
|
||||||
|
[D][remote.rc_switch] Received RCSwitch: protocol=2 data='100010000000000010111110'
|
||||||
|
|
||||||
|
# Or raw output if it's not known yet
|
||||||
|
# The values may fluctuate a bit, but as long as they're similar it's ok
|
||||||
|
[D][remote.raw] Received Raw: 4088, -1542, 1019, -510, 513, -1019, 510, -509, 511, -510, 1020,
|
||||||
|
[D][remote.raw] -1020, 1022, -1019, 510, -509, 511, -510, 511, -509, 511, -510,
|
||||||
|
[D][remote.raw] 1020, -1019, 510, -511, 1020, -510, 512, -508, 510, -1020, 1022
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
If the log output is flooded with "Received Raw" messages, you can also disable raw
|
||||||
|
remote code reporting and rely on rc_switch to decode the values.
|
||||||
|
|
||||||
|
.. code-block:: yaml
|
||||||
|
|
||||||
|
remote_receiver:
|
||||||
|
pin: GPIOXX
|
||||||
|
dump:
|
||||||
|
- rc_switch
|
||||||
|
...
|
||||||
|
|
||||||
|
If the codec is already implemented in ESPHome, you will see the decoded value directly -
|
||||||
|
otherwise you will see the raw data dump (which you can use just as well). You have
|
||||||
|
just successfully captured your first RF code.
|
||||||
|
|
||||||
|
Now let's use this information to emulate a button press from the ESP. First, wire up the
|
||||||
|
RF transmitter to a new pin on the ESP and configure a global ``remote_transmitter`` instance:
|
||||||
|
|
||||||
|
.. code-block:: yaml
|
||||||
|
|
||||||
|
remote_transmitter:
|
||||||
|
pin: GPIOXX
|
||||||
|
# RF uses a 100% carrier signal
|
||||||
|
carrier_duty_percent: 100%
|
||||||
|
|
||||||
|
This will allow us to send any data we want via the RF transmitter. To replicate the codes we decoded
|
||||||
|
earlier, create a new template button that sends the RF code when triggered:
|
||||||
|
|
||||||
|
.. code-block:: yaml
|
||||||
|
|
||||||
|
button:
|
||||||
|
- platform: template
|
||||||
|
name: RF Power Button
|
||||||
|
optimistic: true
|
||||||
|
on_press:
|
||||||
|
- remote_transmitter.transmit_rc_switch_raw:
|
||||||
|
code: '100010000000000010111110'
|
||||||
|
protocol: 2
|
||||||
|
repeat:
|
||||||
|
times: 10
|
||||||
|
wait_time: 0s
|
||||||
|
|
||||||
|
|
||||||
|
# Or for raw code
|
||||||
|
button:
|
||||||
|
- platform: template
|
||||||
|
name: Raw Code Power Button
|
||||||
|
on_press:
|
||||||
|
- remote_transmitter.transmit_raw:
|
||||||
|
code: [4088, -1542, 1019, -510, 513, -1019, 510, -509, 511, -510, 1020,
|
||||||
|
-1020, 1022, -1019, 510, -509, 511, -510, 511, -509, 511, -510,
|
||||||
|
1020, -1019, 510, -511, 1020, -510, 512, -508, 510, -1020, 1022]
|
||||||
|
|
||||||
|
Recompile again, when you power up the device the next time you will see a new button
|
||||||
|
in the frontend. Click on it and you should see the remote signal being transmitted. Done!
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
Some devices require that the transmitted code be repeated for the signal to be picked up
|
||||||
|
as valid. Also the interval between repetitions can be important. Check that the pace of
|
||||||
|
repetition logs are consistent between the remote controller and the transmitter node.
|
||||||
|
You can adjust the ``repeat:`` settings accordingly.
|
||||||
|
|
||||||
|
See Also
|
||||||
|
--------
|
||||||
|
|
||||||
|
- :doc:`/components/remote_receiver`
|
||||||
|
- :doc:`/components/remote_transmitter`
|
@ -673,7 +673,6 @@ Miscellaneous
|
|||||||
PipSolar - compatible PV Inverter, components/pipsolar, pipsolar.jpg
|
PipSolar - compatible PV Inverter, components/pipsolar, pipsolar.jpg
|
||||||
Pylontech Batteries, components/pylontech, pylontech.jpg
|
Pylontech Batteries, components/pylontech, pylontech.jpg
|
||||||
Qwiic PIR Motion, components/binary_sensor/qwiic_pir, qwiic_pir.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
|
Resol VBus, components/vbus, resol_deltasol_bs_plus.jpg
|
||||||
Tuya Binary Sensor, components/binary_sensor/tuya, tuya.png
|
Tuya Binary Sensor, components/binary_sensor/tuya, tuya.png
|
||||||
WireGuard, components/wireguard, wireguard_custom_logo.svg
|
WireGuard, components/wireguard, wireguard_custom_logo.svg
|
||||||
|
Loading…
Reference in New Issue
Block a user