Insteon - i3
Behavior Notes
Flags Node Not Queried on Startup
The Flags node is not queried automatically on ISY startup. This is intentional — querying every i3 device's extended properties at startup would add significant delay, especially in installations with multiple i3 devices. Flags node properties will show as unknown until the first manual query is issued (via the Query command on the Flags node or a full device query).
---
Known Issues
1. Existing i3 Dial, Paddle, and Keypad Users Must Reinstall Device in installed prior to 6.1.2_4 (late Sep 2026)
i3 Dial / i3 Paddle: The primary node was previously assigned the shared DimmerLampSwitchLED nodeDef. In this release it is assigned a new dedicated nodeDef I3DialPaddle which removes the broken BL and LED commands from the primary node (those are now correctly exposed on the Flags node).
i3 Keypad: The load node (SGID 1) was previously assigned KeypadDimmer. In this release it is assigned a new dedicated nodeDef I3KeypadLoad which removes the BL command from the load node (LED Brightness is a global property managed on the Flags node as GV13). Additionally, several new Flags node properties and commands (GV14–GV22) are only available after reinstall because the nodeDef is stored in the ISY database at add-device time.
Because the nodeDef code is stored in the ISY database at add-device time, existing devices will retain the old nodeDef until the device is removed and re-added. The Flags node properties and commands that already existed are unaffected — only the primary/load node nodeDef and newly added Flags node commands require reinstall.
Action required for existing users: Remove and re-add the device to pick up the new nodeDefs.
---
2. Night LED Brightness Change Requires Night Mode Toggle
When changing the Night LED Brightness (GV18) while the device is already in Night Mode, the new brightness value does not take effect immediately. Night Mode must be turned off and back on again after writing the new value before the device applies the change.
Workaround: After setting Night LED Brightness, send Night Mode Off followed by Night Mode On.
---
3. RGB LED Color Control Not Available on i3 Keypad
The i3 Dial and i3 Paddle expose individual Red, Green, and Blue LED flags (GV10–GV12 on the Flags node) using the 1F 07 bit register and 20 28–20 2F commands. These are confirmed working on the Dial and Paddle.
The i3 Keypad does not support this. The 1F 07 bits 1, 3, and 4 are marked <Reserved> in the Keypad spec, and the corresponding 20 2x command slots are assigned to unrelated or potentially destructive functions (notably 20 2E is the Lighting Director Controller macro on the Keypad). The per-button LED Flags command (2E 00 XX 11) is write-only with no read-back and an undocumented bit layout.
RGB LED color control cannot be safely implemented for the i3 Keypad until Insteon provides clarification. See proposedI3Changes2.md for the full engineering analysis and open questions submitted to Insteon.
---
New and Fixed Properties / Commands
All new properties and commands are on the Flags node for each device. The primary/load node changes are limited to nodeDef reassignment (see Known Issue #1 above).
The i3 Keypad Flags node had a prior implementation on a separate branch that is already in master. This release adds new properties and commands on top of that existing implementation without removing any previously working commands, to avoid breaking existing users.
---
i3 Dial — Flags Node (I3DialFlags)
Properties (Status)
| Property | ID | Type | Description |
|---|---|---|---|
| Mode | ST | Dimmer / Relay | Whether the device is in dimmer or relay mode |
| Program Lock | GV1 | On/Off | Prevents local button from changing device state |
| Resume Dim | GV2 | On/Off | Returns to previous dim level on turn-on |
| Relay at Full On | GV3 | On/Off | Relay snaps to full on instead of dim level |
| Key Beep | GV4 | On/Off | Audible beep on button press |
| Disable RF | GV5 | On/Off | Disables RF (radio) communication |
| Dial to Off | GV6 | On/Off | Rotating dial fully counter-clockwise turns device off |
| Error Blink | GV7 | On/Off | LED blinks on transmission error |
| Night Mode | GV8 | On/Off | Enables night mode (reduced brightness profile) |
| Hop Powerline on RF | GV9 | On/Off | Retransmits RF commands over powerline |
| Red LED | GV10 | On/Off | Red channel of the RGB LED (On = enabled) |
| Green LED | GV11 | On/Off | Green channel of the RGB LED (On = enabled) |
| Blue LED | GV12 | On/Off | Blue channel of the RGB LED (On = enabled) |
| LED Brightness | GV13 | % (0–100) | Global LED brightness, converted from device raw 0–127 |
| Max On Level | GV14 | % (0–100) | Maximum on level the load will reach |
| Min On Level | GV15 | % (0–100) | Minimum on level before the load turns off |
| Start On Level | GV16 | % (0–100) | Level the load starts at when turned on |
| Night Max On Level | GV17 | % (0–100) | Maximum on level in night mode |
| Night LED Brightness | GV18 | % (0–100) | LED brightness in night mode, converted from device raw 0–127 |
| Night Ramp Rate | GV19 | Index (0–31) | Ramp rate used in night mode |
Commands
| Command | ID | Parameters | Description |
|---|---|---|---|
| Mode | GV0 | Dimmer / Relay | Set dimmer or relay mode |
| Program Lock | GV1 | On/Off | Set program lock |
| Resume Dim | GV2 | On/Off | Set resume dim |
| Relay at Full On | GV3 | On/Off | Set relay at full on |
| Key Beep | GV4 | On/Off | Set key beep |
| Disable RF | GV5 | On/Off | Set disable RF |
| Dial to Off | GV6 | On/Off | Set dial to off |
| Error Blink | GV7 | On/Off | Set error blink |
| Night Mode | GV8 | On/Off | Enable or disable night mode |
| Hop Powerline on RF | GV9 | On/Off | Set hop powerline on RF |
| Red LED | GV10 | On/Off | Enable or disable red LED channel |
| Green LED | GV11 | On/Off | Enable or disable green LED channel |
| Blue LED | GV12 | On/Off | Enable or disable blue LED channel |
| LED Brightness | GV13 | % (0–100) | Set global LED brightness |
| On Level Limits | GV14 | Max %, Min %, Start % | Set max, min, and start on levels in one command |
| Night Properties | GV17 | Night Max %, Night LED Brt %, Night RR index | Set all night mode properties in one command |
---
i3 Paddle — Flags Node (I3PaddleFlags)
Identical to i3 Dial except:
- No Dial to Off (GV6) — the Paddle has no rotary dial
All other properties (GV1–GV5, GV7–GV19) and commands are the same as the Dial.
---
i3 Keypad — Flags Node (I3KeypadFlags)
Properties (Status)
| Property | ID | Type | New in this release? | Description |
|---|---|---|---|---|
| Mode | ST | Dimmer / Relay | No | Whether the device load is in dimmer or relay mode |
| Program Lock | GV1 | On/Off | No | Prevents local buttons from changing device state |
| Resume Dim | GV2 | On/Off | No | Returns to previous dim level on turn-on |
| Relay at Full On | GV3 | On/Off | No | Relay snaps to full on |
| Key Beep | GV4 | On/Off | No | Audible beep on button press |
| Disable RF | GV5 | On/Off | No | Disables RF communication |
| Button Lock | GV6 | On/Off | No | Locks all physical buttons |
| Error Blink | GV7 | On/Off | No | LED blinks on transmission error |
| Cleanup Reports | GV8 | On/Off | No | Broadcasts cleanup report after local activation |
| Detach Load | GV9 | On/Off | No | Detaches the physical load from button 1 |
| Night Mode | GV10 | On/Off | No | Enables night mode |
| Hop Powerline on RF | GV11 | On/Off | No | Retransmits RF commands over powerline |
| Night LED | GV12 | On/Off | No | Enables the night LED indicator |
| LED Brightness | GV13 | % (0–100) | No (fixed) | Global LED brightness, converted from device raw 0–127 |
| Max On Level | GV14 | % (0–100) | Yes | Maximum on level the load will reach |
| Min On Level | GV15 | % (0–100) | Yes | Minimum on level before the load turns off |
| Start On Level | GV16 | % (0–100) | Yes | Level the load starts at when turned on |
| Night Max On Level | GV17 | % (0–100) | Yes | Maximum on level in night mode |
| Night LED Brightness | GV18 | % (0–100) | Yes | LED brightness in night mode, converted from device raw 0–127 |
| Night Ramp Rate | GV19 | Index (0–31) | Yes | Ramp rate used in night mode |
| NonToggle Mask | GV20 | Bitmask (0–15) | Yes | Buttons configured as non-toggle (momentary) |
| NonToggle Off Mask | GV21 | Bitmask (0–15) | Yes | Non-toggle buttons that send Off instead of On |
| Trigger Group Mask | GV22 | Bitmask (0–15) | Yes | Buttons that trigger group broadcasts |
| Load Button | GV30 | 1–4 | Yes | Which button (1–4) controls the physical load |
Commands
| Command | ID | Parameters | New in this release? | Description |
|---|---|---|---|---|
| Mode | GV0 | Dimmer / Relay | No | Set dimmer or relay mode |
| Program Lock | GV1 | On/Off | No | Set program lock |
| Resume Dim | GV2 | On/Off | No | Set resume dim |
| Relay at Full On | GV3 | On/Off | No | Set relay at full on |
| Key Beep | GV4 | On/Off | No | Set key beep |
| Disable RF | GV5 | On/Off | No | Set disable RF |
| Button Lock | GV6 | On/Off | No | Set button lock |
| Error Blink | GV7 | On/Off | No | Set error blink |
| Cleanup Reports | GV8 | On/Off | No | Set cleanup reports |
| Detach Load | GV9 | On/Off | No | Set detach load |
| Night Mode | GV10 | On/Off | No | Enable or disable night mode |
| Hop Powerline on RF | GV11 | On/Off | No | Set hop powerline on RF |
| Night LED | GV12 | On/Off | No | Enable or disable night LED |
| LED Brightness | GV13 | % (0–100) | No (fixed) | Set global LED brightness — previously used setByteProperty; now uses ExtCommandHandler with Group #1 + subcommand 0x07, matching Dial/Paddle behavior |
| On Level Limits | GV14 | Max %, Min %, Start % | Yes | Set max, min, and start on levels in one command (2E 00 00 0D) |
| Night Properties | GV17 | Night Max %, Night LED Brt %, Night RR index | Yes | Set all night mode properties in one command (2E 00 00 12) |
| NonToggle Masks | GV20 | NonToggle On mask, NonToggle Off mask | Yes | Set both non-toggle masks in one command (2E 00 00 08 + 2E 00 00 0B) |
| Trigger Group Mask | GV22 | Bitmask (0–15) | Yes | Set trigger group mask (2E 00 00 0C) |
| Load Button | GV30 | 1–4 | Yes | Set which button controls the physical load (2E 00 00 13) |
---
i3 Keypad — Load Node (I3KeypadLoad)
A new dedicated nodeDef I3KeypadLoad is assigned to the load node (SGID 1) of new-layout i3 Keypads. It is identical to KeypadDimmer except:
- BL command removed — LED Brightness is a global property managed on the Flags node as GV13
- <ctl /> is empty — the load node has no physical button and cannot initiate a scene
Old-layout i3 Keypads (where SGID 5 is absent) continue using KeypadDimmer unchanged.
---
Bug Fixes
| Device | Bug | Fix |
|---|---|---|
| i3 Dial, i3 Paddle | BL command on primary node sent raw percent value (0–100) directly to device which expects raw 0x11–0x7F — LED brightness was set incorrectly | Removed BL from primary node; LED Brightness is now GV13 on the Flags node with correct percent↔raw conversion |
| i3 Dial, i3 Paddle | LED command on primary node was write-only with no read-back of current color state | Removed from primary node; individual Red/Green/Blue LED flags (GV10–GV12) on Flags node provide read-back and granular per-channel control |
| i3 Keypad | BL command on load node (SGID 1) incorrectly exposed — load node has no physical LED | Removed via new I3KeypadLoad nodeDef |
| i3 Keypad | GV13 (LED Brightness) write used setByteProperty which sent a bare 3-byte extended command — did not match the Group #1 + subcommand 0x07 format required by the device | Replaced with ExtCommandHandler using the same pattern as Dial/Paddle |