here is a blueprint I created for the insteon 2342 four button remote. each button has a on and off and a separate action for each. Total of 8 possible actions.
blueprint:
name: Insteon 4 buttom remote
description: turn on/off lights from insteon 4 button remote
domain: automation
input:
remote_address:
name: Insteon remote address
description: Insteon remote address aabbcc
button_a_on:
name: Button a on press
description: Action to run on button a
default: []
selector:
action: {}
button_b_on:
name: Button b on press
description: Action to run on button b
default: []
selector:
action: {}
button_c_on:
name: Button c on press
description: Action to run on button c
default: []
selector:
action: {}
button_d_on:
name: Button d on press
description: Action to run on button d
default: []
selector:
action: {}
button_a_off:
name: Button a off press
description: Action to run on button a
default: []
selector:
action: {}
button_b_off:
name: Button b off press
description: Action to run on button b
default: []
selector:
action: {}
button_c_off:
name: Button c off press
description: Action to run on button c
default: []
selector:
action: {}
button_d_off:
name: Button d off press
description: Action to run on button d
default: []
selector:
action: {}
trigger:
- platform: event
event_type:
- insteon.button_off
- insteon.button_on
event_data:
address: !input remote_address
action:
- variables:
button: "{{ trigger.event.data.button }}"
type: "{{ trigger.event.event_type }}"
- choose:
- conditions:
- "{{ button == 'a' }}"
- "{{ type == 'insteon.button_on' }}"
sequence: !input 'button_a_on'
- conditions:
- "{{ button == 'a' }}"
- "{{ type == 'insteon.button_off' }}"
sequence: !input 'button_a_off'
- conditions:
- "{{ button == 'b' }}"
- "{{ type == 'insteon.button_on' }}"
sequence: !input 'button_b_on'
- conditions:
- "{{ button == 'b' }}"
- "{{ type == 'insteon.button_off' }}"
sequence: !input 'button_b_off'
- conditions:
- "{{ button == 'c' }}"
- "{{ type == 'insteon.button_on' }}"
sequence: !input 'button_c_on'
- conditions:
- "{{ button == 'c' }}"
- "{{ type == 'insteon.button_off' }}"
sequence: !input 'button_c_off'
- conditions:
- "{{ button == 'd' }}"
- "{{ type == 'insteon.button_on' }}"
sequence: !input 'button_d_on'
- conditions:
- "{{ button == 'd' }}"
- "{{ type == 'insteon.button_off' }}"
sequence: !input 'button_d_off'
mode: single
I notice in the manual there are three configurations that can be set for the remote, 4 Scene, 8 Scene Non-Toggle, 8 Scene Toggle. Mine is “4 Scene”, I don’t know if it matters the remote configuration. The default according to manual is 8 Button Toggle, but mine, seems to have default 4 scene.
Despite the manual indicating the remote supports double tap and press-hold, the HA insteon integration, does not seem to be able to generate events for that,