From ce1caca89e5fedde3e3588c08a4ab3a4be69cf20 Mon Sep 17 00:00:00 2001 From: Michael Ingraham <34340210+meingraham@users.noreply.github.com> Date: Sun, 8 Sep 2019 15:32:56 -0400 Subject: [PATCH] Updated Tasmota IR (markdown) --- Tasmota-IR.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/Tasmota-IR.md b/Tasmota-IR.md index 4ce8d9e5..730b91a6 100644 --- a/Tasmota-IR.md +++ b/Tasmota-IR.md @@ -1,17 +1,17 @@ -# IR Remote "Full protocols" version +# "Complete" IR Remote Protocols -The default Sonoff version includes support for IR send/receive for a limited set of protocols, see [Tasmota Commands](https://github.com/arendst/Sonoff-Tasmota/wiki/Commands#irremote). Tasmota uses the [IRremoteESP8266 library](https://github.com/crankyoldgit/IRremoteESP8266) that supports numerous protocols. Each protocol consumes some program memory, especially air conditioner protocols (up to 81k of Flash size). +The default Tasmota firmware variants include support for IR send/receive for a limited set of protocols (see [IR Remote](Commands#irremote)). Tasmota uses the [IRremoteESP8266 library](https://github.com/crankyoldgit/IRremoteESP8266) that supports numerous protocols. Each protocol consumes some program memory, especially air conditioner protocols (up to 81k of Flash size). -There are now two Tasmota flavors that provided almost all IRremoteESP8266 protocols, which means disabling some other features to keep code size reasonable. `Sonoff-IR` is pre-packaged for IR blasters, like [Eachen IR Bridge](https://blakadder.github.io/templates/eachen_SANT-IR_01.html) or [YTF IR Bridge](https://blakadder.github.io/templates/ytf_ir_bridge.html). +There are now two additional Tasmota firmware variants that provide almost all IRremoteESP8266 protocols. This requires disabling some other features to keep code size manageable. +- `sonoff-ir` is pre-packaged for IR blasters, like [Eachen IR Bridge](https://blakadder.github.io/templates/eachen_SANT-IR_01.html) or [YTF IR Bridge](https://blakadder.github.io/templates/ytf_ir_bridge.html). Choose the preconfigured `sonoff-ir` if you are using an IR blaster. +- `sonoff-ircustom` is used if you want to customize your own firmware binary. This latter variant is required because it triggers a special compilation flag for IRremoteESP8266. -> Choose the preconfigured `sonoff-ir` binary if you are using an IR blaster. If you want to customize your own version, choose `sonoff-ircustom`. The later is required because it trigger a special compilation flag for IRremoteESP8266. +## Sending IR Commands -## Sending IR - -Send an IR remote control code as a decimal or hexadecimal string in a JSON payload. In order to send IR data, _**you must configure one of the free device GPIO as `IRsend (8)`. GPIO01 nor GPIO03 can be used.**_ +Send an IR remote control code as a decimal or hexadecimal string in a JSON payload. In order to send IR data, _**you must configure one of the free device GPIO as `IRsend (8)`. Neither GPIO01 nor GPIO03 can be used.**_ Command|Parameters :---|:--- -IRsend``|`` [_optional_] = number of times the IR message is sent. If not specified or `0..1`, the message is sent only once (i.e., not repeated) _(default)_
`>1` = emulate a long-press on the remote control, sending the message `` times, or sending a repeat message for specific protocols (like NEC)

`{"Protocol":"","Bits":,"Data":,"DataLSB":,"Repeat":}`

`"Protocol"` or `"Vendor"` (select one of the following):
`RC5, RC6, NEC, SONY, PANASONIC, JVC, SAMSUNG, WHYNTER, AIWA_RC_T501, LG, MITSUBISHI, DISH, SHARP, DENON, SHERWOOD, RCMM, SANYO_LC7461, RC5X, NEC (non-strict), NIKAI, MAGIQUEST, LASERTAG, CARRIER_AC, MITSUBISHI2, HITACHI_AC1, HITACHI_AC2, GICABLE, LUTRON, PIONEER, LG2, SAMSUNG36, LEGOPF, INAX, DAIKIN152)`

`"Bits":1..64` = required number of data bits
    for PANASONIC protocol this parameter is the the address, not the number of bits

`"Data":0x1..0xFFFFFFFFFFFFFFFF` = data frame as 64 bit hexadecimal.
    e.g., `IRsend {"Protocol":"NEC","Bits":32,"Data":0x8166817E}`
**Or**
`"DataLSB":0x1..0xFFFFFFFFFFFFFFFF` = data frame as 64 bit hexadecimal with LSB (each byte with bits reversed).
    e.g., `IRsend {"Protocol":"NEC","Bits":32,"Data":0x8166817E}`
`DataLSB` comes handy with LSB-first (Least Significant Bit First) protocols like NEC, and makes decoding/encoding easier.

Alternatively, you can send IR remote control codes using [RAW command encoding](IRSend-RAW-Encoding).

Information on [Receiving Infrared Data](Receiving-Infrared-Remote-Control-Data) +IRsend``|`` [_optional_] = number of times the IR message is sent. If not specified or `0..1`, the message is sent only once (i.e., not repeated) _(default)_
`>1` = emulate a long-press on the remote control, sending the message `` times, or sending a repeat message for specific protocols (like NEC)

`{"Protocol":"","Bits":,"Data":,"DataLSB":,"Repeat":}`

`"Protocol"` or `"Vendor"` (select one of the following):
`RC5, RC6, NEC, SONY, PANASONIC, JVC, SAMSUNG, WHYNTER, AIWA_RC_T501, LG, MITSUBISHI, DISH, SHARP, DENON, SHERWOOD, RCMM, SANYO_LC7461, RC5X, NEC (non-strict), NIKAI, MAGIQUEST, LASERTAG, CARRIER_AC, MITSUBISHI2, HITACHI_AC1, HITACHI_AC2, GICABLE, LUTRON, PIONEER, LG2, SAMSUNG36, LEGOPF, INAX, DAIKIN152`

`"Bits":1..64` = required number of data bits
    for PANASONIC protocol this parameter is the the address, not the number of bits

`"Data":0x1..0xFFFFFFFFFFFFFFFF` = data frame as 64 bit hexadecimal.
    e.g., `IRsend {"Protocol":"NEC","Bits":32,"Data":0x8166817E}`
**Or**
`"DataLSB":0x1..0xFFFFFFFFFFFFFFFF` = data frame as 64 bit hexadecimal with LSB (each byte with bits reversed).
    e.g., `IRsend {"Protocol":"NEC","Bits":32,"Data":0x8166817E}`
`DataLSB` comes handy with LSB-first (Least Significant Bit First) protocols like NEC, and makes decoding/encoding easier.

Alternatively, you can send IR remote control codes using [RAW command encoding](IRSend-RAW-Encoding).

Information on [Receiving Infrared Data](Receiving-Infrared-Remote-Control-Data) IRhvac|Send HVAC IR remote control code as JSON payload
`{"Vendor":"","Power":,"Mode":””, "FanSpeed":””,"Temp":}`
`"Vendor":"Toshiba"\|"Mitsubishi"\|"LG"\|"Fujitsu"`
`"Power":0\|1`
`"Mode":"Hot"\|"Cold"\|"Dry"\|"Auto"`
`"FanSpeed":"1"\|"2"\|"3"\|"4"\|"5"\|"Auto"\|"Silence"`
`"Temp":17..30` |See also|[`SetOption29`](#SetOption29) - Set IR received data format
[`SetOption38`](#SetOption38) - Set IR received protocol sensitivity
[`SetOption58`](#SetOption58) - [IR Raw data in JSON payload](https://github.com/arendst/Sonoff-Tasmota/issues/2116#issuecomment-440716483) \ No newline at end of file