|
1 | | -# JSON IR remote |
2 | | - |
3 | | -## Purpose |
4 | | - |
5 | | -The JSON IR remote allows users to customize IR remote behavior without writing custom code and compiling. |
6 | | -It also enables using any remote that is compatible with your IR receiver. Using the JSON IR remote, you can |
7 | | -map buttons from any remote to any HTTP request API or JSON API command. |
8 | | - |
9 | | -## Usage |
10 | | - |
11 | | -* 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. |
12 | | -* On the config > LED settings page, set the correct IR pin. |
13 | | -* On the config > Sync Interfaces page, select "JSON Remote" as the Infrared remote. |
14 | | - |
15 | | -## Modification |
16 | | - |
17 | | -* 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. |
18 | | -* In the ir.json file, each key will be the hex encoded IR code. |
19 | | -* The "cmd" property will be the HTTP Request API or JSON API to execute when that button is pressed. |
20 | | -* A limited number of c functions are supported (!incBrightness, !decBrightness, !presetFallback) |
21 | | -* When using !presetFallback, include properties PL (preset to load), FX (effect to fall back to) and FP (palette to fall back to) |
22 | | -* If the command is _repeatable_ and does not contain the "~" character, add a "rpt": true property. |
23 | | -* Other properties are ignored, but having a label property may help when editing. |
24 | | - |
25 | | - |
26 | | -Sample: |
27 | | -{ |
28 | | - "0xFF629D": {"cmd": "T=2", "rpt": true, "label": "Toggle on/off"}, // HTTP command |
29 | | - "0xFF9867": {"cmd": "A=~16", "label": "Inc brightness"}, // HTTP command with incrementing |
30 | | - "0xFF38C7": {"cmd": {"bri": 10}, "label": "Dim to 10"}, // JSON command |
31 | | - "0xFF22DD": {"cmd": "!presetFallback", "PL": 1, "FX": 16, "FP": 6, |
32 | | - "label": "Preset 1 or fallback to Saw - Party"}, // c function |
33 | | -} |
| 1 | +# JSON IR remote |
| 2 | + |
| 3 | +## Purpose |
| 4 | + |
| 5 | +The JSON IR remote allows users to customize IR remote behavior without writing custom code and compiling. |
| 6 | +It also enables using any remote that is compatible with your IR receiver. Using the JSON IR remote, you can |
| 7 | +map buttons from any remote to any HTTP request API or JSON API command. |
| 8 | + |
| 9 | +## Usage |
| 10 | + |
| 11 | +* 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. |
| 12 | +* On the config > LED settings page, set the correct IR pin. |
| 13 | +* On the config > Sync Interfaces page, select "JSON Remote" as the Infrared remote. |
| 14 | + |
| 15 | +## Modification |
| 16 | + |
| 17 | +* 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. |
| 18 | +* In the ir.json file, each key will be the hex encoded IR code. |
| 19 | +* The "cmd" property will be the HTTP Request API or JSON API to execute when that button is pressed. |
| 20 | +* A limited number of c functions are supported (!incBrightness, !decBrightness, !presetFallback) |
| 21 | +* When using !presetFallback, include properties PL (preset to load), FX (effect to fall back to) and FP (palette to fall back to) |
| 22 | +* If the command is _repeatable_ and does not contain the "~" character, add a "rpt": true property. |
| 23 | +* Other properties are ignored, but having a label property may help when editing. |
| 24 | + |
| 25 | + |
| 26 | +Sample: |
| 27 | +{ |
| 28 | + "0xFF629D": {"cmd": "T=2", "rpt": true, "label": "Toggle on/off"}, // HTTP command |
| 29 | + "0xFF9867": {"cmd": "A=~16", "label": "Inc brightness"}, // HTTP command with incrementing |
| 30 | + "0xFF38C7": {"cmd": {"bri": 10}, "label": "Dim to 10"}, // JSON command |
| 31 | + "0xFF22DD": {"cmd": "!presetFallback", "PL": 1, "FX": 16, "FP": 6, |
| 32 | + "label": "Preset 1 or fallback to Saw - Party"}, // c function |
| 33 | +} |
0 commit comments