Skip to content

Instantly share code, notes, and snippets.

@JakubMacoun
Last active August 11, 2023 19:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save JakubMacoun/1ec1aeb7f9f06f9bf5ca2ada2daaa4cb to your computer and use it in GitHub Desktop.
Save JakubMacoun/1ec1aeb7f9f06f9bf5ca2ada2daaa4cb to your computer and use it in GitHub Desktop.
HomeAssistant blueprint: user your Fibaro Keyfob to controll your home. This blueprint is for keyfobs set to press/hold mode.
blueprint:
name: Fibaro Keyfob (press/hold mode)
description: >-
This blueprint can be used for creation of a single automatization for controlling whole keyfob. Each of six buttons has three actions - press/hold/release.
All actions are optional - if no action is defined, default one is used (log the event).
This blueprint is made for press/hold mode only.
domain: automation
input:
keyfob:
name: Keyfob entity ID
selector:
entity:
domain: zwave
square_press:
name: Square button press action
selector:
action:
default:
- service: logbook.log
data:
name: Fibaro keyfob
message: Square button pressed
square_hold:
name: Square button hold action
selector:
action:
default:
- service: logbook.log
data:
name: Fibaro keyfob
message: Square button held
square_release:
name: Square button release (after holding) action
selector:
action:
default:
- service: logbook.log
data:
name: Fibaro keyfob
message: Square button released after being held
circle_press:
name: Circle button press action
selector:
action:
default:
- service: logbook.log
data:
name: Fibaro keyfob
message: Circle button pressed
circle_hold:
name: Circle button hold action
selector:
action:
default:
- service: logbook.log
data:
name: Fibaro keyfob
message: Circle button held
circle_release:
name: Circle button release (after holding) action
selector:
action:
default:
- service: logbook.log
data:
name: Fibaro keyfob
message: Circle button released after being held
x_press:
name: X button press action
selector:
action:
default:
- service: logbook.log
data:
name: Fibaro keyfob
message: X button pressed
x_hold:
name: X button hold action
selector:
action:
default:
- service: logbook.log
data:
name: Fibaro keyfob
message: X button held
x_release:
name: X button release (after holding) action
selector:
action:
default:
- service: logbook.log
data:
name: Fibaro keyfob
message: X button released after being held
triangle_press:
name: Triangle button press action
selector:
action:
default:
- service: logbook.log
data:
name: Fibaro keyfob
message: Triangle button pressed
triangle_hold:
name: Triangle button hold action
selector:
action:
default:
- service: logbook.log
data:
name: Fibaro keyfob
message: Triangle button held
triangle_release:
name: Triangle button release (after holding) action
selector:
action:
default:
- service: logbook.log
data:
name: Fibaro keyfob
message: Triangle button released after being held
minus_press:
name: Minus button press action
selector:
action:
default:
- service: logbook.log
data:
name: Fibaro keyfob
message: Minus button held
minus_hold:
name: Minus button hold action
selector:
action:
default:
- service: logbook.log
data:
name: Fibaro keyfob
message: Minus button held
minus_release:
name: Minus button release (after holding) action
selector:
action:
default:
- service: logbook.log
data:
name: Fibaro keyfob
message: Minus button released after being held
plus_press:
name: Plus button press action
selector:
action:
default:
- service: logbook.log
data:
name: Fibaro keyfob
message: Plus button pressed
plus_hold:
name: Plus button hold action
selector:
action:
default:
- service: logbook.log
data:
name: Fibaro keyfob
message: Plus button held
plus_release:
name: Plus button release (after holding) action
selector:
action:
default:
- service: logbook.log
data:
name: Fibaro keyfob
message: Plus button released after being held
mode: parallel
trigger:
- platform: event
event_type: zwave.scene_activated
event_data:
entity_id: !input keyfob
action:
- choose:
# Square
- conditions:
- condition: template
value_template: '{{ trigger.event.data.scene_id == 1 and trigger.event.data.scene_data == 7680 }}'
sequence: !input square_press
- conditions:
- condition: template
value_template: '{{ trigger.event.data.scene_id == 1 and trigger.event.data.scene_data == 7800 }}'
sequence: !input square_hold
- conditions:
- condition: template
value_template: '{{ trigger.event.data.scene_id == 1 and trigger.event.data.scene_data == 7740 }}'
sequence: !input square_release
# Circle
- conditions:
- condition: template
value_template: '{{ trigger.event.data.scene_id == 2 and trigger.event.data.scene_data == 7680 }}'
sequence: !input circle_press
- conditions:
- condition: template
value_template: '{{ trigger.event.data.scene_id == 2 and trigger.event.data.scene_data == 7800 }}'
sequence: !input circle_hold
- conditions:
- condition: template
value_template: '{{ trigger.event.data.scene_id == 2 and trigger.event.data.scene_data == 7740 }}'
sequence: !input circle_release
# X
- conditions:
- condition: template
value_template: '{{ trigger.event.data.scene_id == 3 and trigger.event.data.scene_data == 7680 }}'
sequence: !input x_press
- conditions:
- condition: template
value_template: '{{ trigger.event.data.scene_id == 3 and trigger.event.data.scene_data == 7800 }}'
sequence: !input x_hold
- conditions:
- condition: template
value_template: '{{ trigger.event.data.scene_id == 3 and trigger.event.data.scene_data == 7740 }}'
sequence: !input x_release
# Triangle
- conditions:
- condition: template
value_template: '{{ trigger.event.data.scene_id == 4 and trigger.event.data.scene_data == 7680 }}'
sequence: !input triangle_press
- conditions:
- condition: template
value_template: '{{ trigger.event.data.scene_id == 4 and trigger.event.data.scene_data == 7800 }}'
sequence: !input triangle_hold
- conditions:
- condition: template
value_template: '{{ trigger.event.data.scene_id == 4 and trigger.event.data.scene_data == 7740 }}'
sequence: !input triangle_release
# Minus
- conditions:
- condition: template
value_template: '{{ trigger.event.data.scene_id == 5 and trigger.event.data.scene_data == 7680 }}'
sequence: !input minus_press
- conditions:
- condition: template
value_template: '{{ trigger.event.data.scene_id == 5 and trigger.event.data.scene_data == 7800 }}'
sequence: !input minus_hold
- conditions:
- condition: template
value_template: '{{ trigger.event.data.scene_id == 5 and trigger.event.data.scene_data == 7740 }}'
sequence: !input minus_release
# Plus
- conditions:
- condition: template
value_template: '{{ trigger.event.data.scene_id == 6 and trigger.event.data.scene_data == 7680 }}'
sequence: !input plus_press
- conditions:
- condition: template
value_template: '{{ trigger.event.data.scene_id == 6 and trigger.event.data.scene_data == 7800 }}'
sequence: !input plus_hold
- conditions:
- condition: template
value_template: '{{ trigger.event.data.scene_id == 6 and trigger.event.data.scene_data == 7740 }}'
sequence: !input plus_release
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment