From 1952505e52dea1a966e3c0f5ffc22d02eff52815 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bla=C5=BE=20Kristan?= Date: Fri, 21 May 2021 13:07:55 +0200 Subject: [PATCH] Squashed commit of the following: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit commit 7893cb9ebc66faa39d430148e6dd66894cd2fc90 Merge: c4086b9 4e139d7 Author: Blaž Kristan Date: Fri May 21 12:57:43 2021 +0200 Merge branch 'master' of https://github.com/scottrbailey/WLED into scottrbailey-master commit 4e139d7c0ab1ff7a82a9c386626a0461af27025c 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 commit 9a405d374bd40e14acc45f4ae52e2a8cf1eac171 Author: Artacus <40248830+scottrbailey@users.noreply.github.com> Date: Tue May 18 11:05:42 2021 -0700 Update readme.md commit 94af6d0561a2a0e6b3c1106996c264e59402dedf 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 commit 1ed687a51a971d53abc980ba29416b3bb1b9a5e1 Author: Scott Bailey Date: Sun May 2 21:27:33 2021 -0700 remove colorUpdated notifier that was pasted in accidentally commit 845dcabe0c6500e37038af71bef9b90cdd366609 Author: Scott Bailey Date: Sat May 1 12:53:34 2021 -0700 Handle setting palette when effect is still on default solid and will not display it commit 90e8ae1457c4423dda22a3b59cafa0c263875495 Author: Scott Bailey 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 commit e4f9fa311702505c8036abcfcc217a072f178a2c Author: Scott Bailey Date: Thu Apr 29 23:33:01 2021 -0700 comment out printing API commands in IR handling commit 26247b247eb6f555b46c2f7cb67dd6a9813552f4 Author: Scott Bailey 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. commit 5acecda6a0ad863c6eb5c5e622bd74e0573950b0 Author: Scott Bailey Date: Thu Apr 29 11:25:24 2021 -0700 handle JSON API commands also commit 754e3e092a4b5e2fba4a5a0090c9d42ca7546d0d Author: Scott Bailey Date: Wed Apr 28 22:53:27 2021 -0700 add decodeIRJson and JSON remote option --- usermods/JSON_IR_remote/readme.md | 33 +++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/usermods/JSON_IR_remote/readme.md b/usermods/JSON_IR_remote/readme.md index e69de29bb..2cba06ed0 100644 --- a/usermods/JSON_IR_remote/readme.md +++ b/usermods/JSON_IR_remote/readme.md @@ -0,0 +1,33 @@ +# 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 +}