Skip to content

Instantly share code, notes, and snippets.

@ianfabs
Created July 2, 2026 17:17
Show Gist options
  • Select an option

  • Save ianfabs/9c6bffb612cb5a045a02ee473332dc3e to your computer and use it in GitHub Desktop.

Select an option

Save ianfabs/9c6bffb612cb5a045a02ee473332dc3e to your computer and use it in GitHub Desktop.
Third Reality Zigbee Button Remote Blueprint
blueprint:
name: Third Reality Zigbee Button Remote
description: Perform an action in response to button presses on the ThirdReality zigbee button remote
domain: automation
author: Ian Fabs
input:
group_device_id:
name: Select Remote Device
description: You can either search for and select the device or provide it's IEEE
icon: mdi:identifier
input:
zha_device_id:
name: Device
description: Search for device here
default: null
selector:
device:
filter:
- model: 3RSB22BZ
# - integration: zha
# manufacturer: Third Reality, Inc
device_ieee:
name: Device IEEE
description: "The device IEEE, which can be obtained via Developer Tools. (Dev Tools > Events > Enter 'zha_event' > Start listening > Press the button on your remote)"
default: null
group_single_press:
name: Single Press Button Function
icon: mdi:gesture-tap
collapsed: true
input:
input_click_mode:
name: Enable/Disable Toggle Mode
description: Toggle mode will trigger the selected action on any kind of button press. If this mode is enabled, the actions in the other section will not apply
default: true
selector:
boolean:
input_single_action:
name: Button Press Action
description: What to do on button press
default: []
selector:
action:
group_multi_press:
name: Add Button Functions
description: Additional button functions. WILL NOT WORK IF 'Toggle Mode' IS ENABLED.
icon: mdi:plus-circle-outline
collapsed: true
input:
input_double_action:
name: Double Press Action
description: What to do on a double press
default: []
selector:
action:
input_hold_action:
name: Hold Button Action
description: What to do if the button is held
default: []
selector:
action:
trigger_variables:
device_id: !input zha_device_id
device_ieee: !input device_ieee
triggers:
- event_type: zha_event
event_data:
command: single
device_ieee: "{{ device_ieee }}"
trigger: event
id: trigger_single_ieee
- event_type: zha_event
event_data:
command: toggle
device_ieee: !input device_ieee
trigger: event
id: trigger_toggle_ieee
- event_type: zha_event
event_data:
command: double
device_ieee: !input device_ieee
trigger: event
id: trigger_double_ieee
- event_type: zha_event
event_data:
command: hold
device_ieee: !input device_ieee
trigger: event
id: trigger_hold_ieee
- event_type: zha_event
event_data:
command: single
device_id: "{{ device_id }}"
trigger: event
id: trigger_single_id
- event_type: zha_event
event_data:
command: toggle
device_id: "{{ device_id }}"
trigger: event
id: trigger_toggle_id
- event_type: zha_event
event_data:
command: double
device_id: "{{ device_id }}"
trigger: event
id: trigger_double_id
- event_type: zha_event
event_data:
command: hold
device_id: "{{ device_id }}"
trigger: event
id: trigger_hold_id
actions:
- variables:
toggle_mode: !input input_click_mode
trigger_event: "{{ trigger.id.split('_')[1] }}"
- choose:
- conditions: "{{ trigger_event == 'toggle' or trigger_event == 'single' }}"
sequence: !input input_single_action
- choose:
- conditions: "{{ not toggle_mode }}"
sequence:
- choose:
- conditions: "{{ trigger_event == 'double' }}"
sequence: !input input_double_action
- conditions: "{{ trigger_event == 'hold' }}"
sequence: !input input_hold_action
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment