This blueprint was derived from the one linked below. Many thanks to the original author.
This Blueprint can be used to automate events from the Fibaro Keyfob when used via ZwaveJS. You only need one single automation for the “key pressed” and “key held” events of all keys.
Edit
Updated to the latest version 2021.04.0b0
Get started
Click the badge to import this Blueprint: (needs Home Assistant Core 2021.3 or higher)
Or import this Blueprint by using the forum topic URL:
Ths Blueprinbt doesnt work for me, i configured the + Button pressed with a light but it doesnt toggel the light on/off. if i had to delete the unused buttons?
Please use the latest version of Home-Assistent. There were some breaking changes introduced in the current beta which changed some parameters of event this blueprint is listening to. You don’t have to delete unused buttons.
The fix is pretty easy to be honest. The property_key_name, which was previously “KeyPressed” or “KeyHeld” is specified by a number right now. So “KeyPressed” = 0, “KeyHeldDown” = 1, and so on. Just edit the following lines for every button.
Hi,
I am running HA 2021.12.3 and I imported your blueprint.
I also included the Keyfob 601. If I go to developer and subscribe to zwave_js_value_notification I get this after pushing a button.
now when I try to make an automation from your blueprint the device dropdown box is empty. No matching entities found.
When I look for entities in developer, I get 4 related to the keyfob, 2 for battery levels and 2 for RF state.
So what do I key in as entityID?
I have 2 blueprints in the class zwave_js. I use the Aeotec Wallmote quad and the Fibaro Keyfob.
when I make an automation based on the Aeotec blueprint I see the 2 included Aeotec wallmotes in the dropdown list but not the Keyfob. If the devices are filtered on the zwave_js integration I would expect to see the keyfob here too.
when I make an automation based on the keyfob blueprint I get an empty devicelist. The same here.If the devices are filtered on the zwave_js integration I would expect to see the 2 wallmotes here too.
I compared the eventdata from the keyfob and one of the wallmotes. the only difference is the deviceID. the rest is litteraly the same. so I don’t get it.
and what is more puzzling: If I build an automation with the keyfob blueprint and I use the deviceID as entityID in the automation and I do NOT change anything else in the automation, I see an entry in the logfile the moment I press a key. As soon as I add an action like
call service >> switch turn on >> entity switch.blabla nothing is happening anymore.
Hi, tbh I don’t have a clue. You could debug the blueprint by manipulating the selector I’ve pointed out in the previous post. Maybe this helps to understand your issue
I’ve made an interesting discovery about the empty devicelist.
Apparently it is not allowed to trigger the automation for all zwavejs devices. the selection must be specific for manufacturer and device. I borrowed this from the Aeotec blueprint:
domain: automation
input:
zwavejs_device:
name: ZWaveJS Device
description: The Aeotec WallMote Quad controller to listen for events on.
selector:
device:
integration: zwave_js
# manufacturer: AEON Labs
# model: ZW130
manufacturer: Fibargroup
model: FGKF601
Now the automation based on this blueprint displays the keyfob in the devicelist.
After that I remodelled the Aeotec blueprint to a keyfob blueprint.
So to solve the problems I found with the Fibaro Keyfob blueprint I remodelled the Aeotec Wallmote Quad blueprint Aeotec Wallmote Quad
to work with the Fibaro Keyfob FGKF601.
blueprint:
name: ZWaveJS - Fibaro Keyfob scene controller
description: 'Perform actions when Fibaro Keyfob FGKF601 buttons are interacted with.
The release action is equivalent to a long tap.
A release action is always triggered after a hold action, which makes
them a bit tricky to use. The hold action is repeated as long as the
button is held down.
'
domain: automation
input:
zwavejs_device:
name: ZWaveJS Device
description: The Fibaro Keyfob controller to listen for events on.
selector:
device:
integration: zwave_js
# manufacturer: AEON Labs
# model: ZW130
manufacturer: Fibargroup
model: FGKF601
tap_top_left_actions:
name: Press Square \# button Actions
selector:
action:
default: []
tap_top_right_actions:
name: Press Circle O button Actions
selector:
action:
default: []
tap_middle_left_actions:
name: Press Cross X button Actions
selector:
action:
default: []
tap_middle_right_actions:
name: Press Triangle ^ button Actions
selector:
action:
default: []
tap_bottom_left_actions:
name: Press Minus \- button Actions
selector:
action:
default: []
tap_bottom_right_actions:
name: Press Plus + button Actions
selector:
action:
default: []
release_top_left_actions:
name: Release Square \# button Actions
selector:
action:
default: []
release_top_right_actions:
name: Release Circle O button Actions
selector:
action:
default: []
release_middle_left_actions:
name: Release Cross X button Actions
selector:
action:
default: []
release_middle_right_actions:
name: Release Triangle ^ button Actions
selector:
action:
default: []
release_bottom_left_actions:
name: Release Minus \- button Actions
selector:
action:
default: []
release_bottom_right_actions:
name: Release Plus + button Actions
selector:
action:
default: []
hold_top_left_actions:
name: Hold Square \# button Actions
selector:
action:
default: []
hold_top_right_actions:
name: Hold Circle O button Actions
selector:
action:
default: []
hold_middle_left_actions:
name: Hold Cross X button Actions
selector:
action:
default: []
hold_middle_right_actions:
name: Hold Triangle ^ button Actions
selector:
action:
default: []
hold_bottom_left_actions:
name: Hold Minus \- button Actions
selector:
action:
default: []
hold_bottom_right_actions:
name: Hold Plus + button Actions
selector:
action:
default: []
source_url: https://community.home-assistant.io/t/zwavejs-fibaro-zwave-keyfob/281459/16
mode: single
trigger:
- platform: event
event_type: zwave_js_value_notification
variables:
logger: blueprint.zwavejs_scene_activation
zwavejs_device: !input 'zwavejs_device'
action:
- choose:
- conditions:
- condition: template
value_template: '{{ trigger.event.data.device_id == zwavejs_device }}'
- condition: template
value_template: '{{ trigger.event.data.command_class_name == ''Central Scene''
}}'
sequence:
- choose:
- conditions:
- condition: template
value_template: '{{ trigger.event.data.label == ''Scene 001'' and trigger.event.data.value
== ''KeyPressed'' }}'
sequence: !input 'tap_top_left_actions'
- conditions:
- condition: template
value_template: '{{ trigger.event.data.label == ''Scene 002'' and trigger.event.data.value
== ''KeyPressed'' }}'
sequence: !input 'tap_top_right_actions'
- conditions:
- condition: template
value_template: '{{ trigger.event.data.label == ''Scene 003'' and trigger.event.data.value
== ''KeyPressed'' }}'
sequence: !input 'tap_middle_left_actions'
- conditions:
- condition: template
value_template: '{{ trigger.event.data.label == ''Scene 004'' and trigger.event.data.value
== ''KeyPressed'' }}'
sequence: !input 'tap_middle_right_actions'
- conditions:
- condition: template
value_template: '{{ trigger.event.data.label == ''Scene 005'' and trigger.event.data.value
== ''KeyPressed'' }}'
sequence: !input 'tap_bottom_left_actions'
- conditions:
- condition: template
value_template: '{{ trigger.event.data.label == ''Scene 006'' and trigger.event.data.value
== ''KeyPressed'' }}'
sequence: !input 'tap_bottom_right_actions'
- conditions:
- condition: template
value_template: '{{ trigger.event.data.label == ''Scene 001'' and trigger.event.data.value
== ''KeyReleased'' }}'
sequence: !input 'release_top_left_actions'
- conditions:
- condition: template
value_template: '{{ trigger.event.data.label == ''Scene 002'' and trigger.event.data.value
== ''KeyReleased'' }}'
sequence: !input 'release_top_right_actions'
- conditions:
- condition: template
value_template: '{{ trigger.event.data.label == ''Scene 003'' and trigger.event.data.value
== ''KeyReleased'' }}'
sequence: !input 'release_middle_left_actions'
- conditions:
- condition: template
value_template: '{{ trigger.event.data.label == ''Scene 004'' and trigger.event.data.value
== ''KeyReleased'' }}'
sequence: !input 'release_middle_right_actions'
- conditions:
- condition: template
value_template: '{{ trigger.event.data.label == ''Scene 005'' and trigger.event.data.value
== ''KeyReleased'' }}'
sequence: !input 'release_bottom_left_actions'
- conditions:
- condition: template
value_template: '{{ trigger.event.data.label == ''Scene 005'' and trigger.event.data.value
== ''KeyReleased'' }}'
sequence: !input 'release_bottom_right_actions'
- conditions:
- condition: template
value_template: '{{ trigger.event.data.label == ''Scene 001'' and trigger.event.data.value
== ''KeyHeldDown'' }}'
sequence: !input 'hold_top_left_actions'
- conditions:
- condition: template
value_template: '{{ trigger.event.data.label == ''Scene 002'' and trigger.event.data.value
== ''KeyHeldDown'' }}'
sequence: !input 'hold_top_right_actions'
- conditions:
- condition: template
value_template: '{{ trigger.event.data.label == ''Scene 003'' and trigger.event.data.value
== ''KeyHeldDown'' }}'
sequence: !input 'hold_middle_left_actions'
- conditions:
- condition: template
value_template: '{{ trigger.event.data.label == ''Scene 004'' and trigger.event.data.value
== ''KeyHeldDown'' }}'
sequence: !input 'hold_middle_right_actions'
- conditions:
- condition: template
value_template: '{{ trigger.event.data.label == ''Scene 005'' and trigger.event.data.value
== ''KeyHeldDown'' }}'
sequence: !input 'hold_bottom_left_actions'
- conditions:
- condition: template
value_template: '{{ trigger.event.data.label == ''Scene 006'' and trigger.event.data.value
== ''KeyHeldDown'' }}'
sequence: !input 'hold_bottom_right_actions'
default:
- service: system_log.write
data:
level: debug
logger: '{{ logger }}'
message: Activated scene '{{ trigger.event.data.label }}' with value '{{
trigger.event.data.value }}' for node '{{ zwavejs_device }}' ({{ trigger.event.data.node_id
}})
default: []
Sitting here with an new Fibaro KeyFob. Before diving into this rabbit hole…
How to I use the key held events with the “-" and "+” button with a light (dimmer) switch so the light can be regulates holding the button?
How do I set up the “-" and “+” button, working for the first 4 buttons. Like first press square-button (light dimmer nr 1) then “-” or “+” button works the for dimmer nr 1. Press circle-button then “-” or"+” button for light dimmer 2 etc?