1952505e52
commit 7893cb9ebc66faa39d430148e6dd66894cd2fc90 Merge:c4086b9
4e139d7
Author: Blaž Kristan <blaz@kristan-sp.si> Date: Fri May 21 12:57:43 2021 +0200 Merge branch 'master' of https://github.com/scottrbailey/WLED into scottrbailey-master commit4e139d7c0a
Author: Artacus <40248830+scottrbailey@users.noreply.github.com> Date: Tue May 18 12:57:20 2021 -0700 Update ir.cpp Handle both 24-key and 24-key old in decodeIR switch statement commit9a405d374b
Author: Artacus <40248830+scottrbailey@users.noreply.github.com> Date: Tue May 18 11:05:42 2021 -0700 Update readme.md commit94af6d0561
Merge:1ed687a
bfb27c4
Author: Artacus <40248830+scottrbailey@users.noreply.github.com> Date: Sun May 16 22:00:15 2021 -0700 Merge branch 'Aircoookie:master' into master commit1ed687a51a
Author: Scott Bailey <scottrbailey@gmail.com> Date: Sun May 2 21:27:33 2021 -0700 remove colorUpdated notifier that was pasted in accidentally commit845dcabe0c
Author: Scott Bailey <scottrbailey@gmail.com> Date: Sat May 1 12:53:34 2021 -0700 Handle setting palette when effect is still on default solid and will not display it commit90e8ae1457
Author: Scott Bailey <scottrbailey@gmail.com> Date: Sat May 1 02:07:47 2021 -0700 refactor decodeIRJson to change how ir.json is loaded add support for calling several c functions commite4f9fa3117
Author: Scott Bailey <scottrbailey@gmail.com> Date: Thu Apr 29 23:33:01 2021 -0700 comment out printing API commands in IR handling commit26247b247e
Author: Scott Bailey <scottrbailey@gmail.com> Date: Thu Apr 29 23:31:30 2021 -0700 removed code that forced IR codes in a certain range to be decoded by decodeIR24. Generate default ir.json files for currently supported remotes. commit5acecda6a0
Author: Scott Bailey <scottrbailey@gmail.com> Date: Thu Apr 29 11:25:24 2021 -0700 handle JSON API commands also commit754e3e092a
Author: Scott Bailey <scottrbailey@gmail.com> Date: Wed Apr 28 22:53:27 2021 -0700 add decodeIRJson and JSON remote option
1.8 KiB
1.8 KiB
JSON IR remote
Purpose
The JSON IR remote allows users to customize IR remote behavior without writing custom code and compiling. It also enables using any remote that is compatible with your IR receiver. Using the JSON IR remote, you can map buttons from any remote to any HTTP request API or JSON API command.
Usage
- Upload the IR config file, named ir.json to your board using the [ip address]/edit url. Pick from one of the included files or create your own.
- On the config > LED settings page, set the correct IR pin.
- On the config > Sync Interfaces page, select "JSON Remote" as the Infrared remote.
Modification
- See if there is a json file with the same number of buttons as your remote. Many remotes will have the same internals and emit the same codes but have different labels.
- In the ir.json file, each key will be the hex encoded IR code.
- The "cmd" property will be the HTTP Request API or JSON API to execute when that button is pressed.
- A limited number of c functions are supported (!incBrightness, !decBrightness, !presetFallback)
- When using !presetFallback, include properties PL (preset to load), FX (effect to fall back to) and FP (palette to fall back to)
- If the command is repeatable and does not contain the "~" character, add a "rpt": true property.
- Other properties are ignored, but having a label property may help when editing.
Sample:
{
"0xFF629D": {"cmd": "T=2", "rpt": true, "label": "Toggle on/off"}, // HTTP command
"0xFF9867": {"cmd": "A=~16", "label": "Inc brightness"}, // HTTP command with incrementing
"0xFF38C7": {"cmd": {"bri": 10}, "label": "Dim to 10"}, // JSON command
"0xFF22DD": {"cmd": "!presetFallback", "PL": 1, "FX": 16, "FP": 6,
"label": "Preset 1 or fallback to Saw - Party"}, // c function
}