Fibaro Button (FGPB101) in Home Assistant

Robert AndresenHome Assistant, Internet of things Leave a Comment

It’s about a year ago since i wrote about a panic button setup with the Fibaro Button and Telldus/Tellstick.

As I moved my Z-wave devices to Home Assistant, the Button scenes hasn’t been supported and therefore my button has been put away until now.

After reading the forum thread And this docs for z-wave device specific, I got it working!

Edit zwcfg config

  1. Open the Z-wave documentation for device specific.
  2. Turn off your Home Assistant (stop service)
  3. Open the zwcfg_xxxxxx.xml in your config.
  4. Copy and replace the device specific for your button node, as described in the documentation.
  5. Start Home Assistant
  6. Write a automation

My simple test automation

I Just wrote a simple automation to test. One click turns on a light, two click turns it off.

- alias: 'FibBtnTest'
  trigger:
    platform: event
    event_type: zwave.scene_activated
    event_data:
      entity_id: zwave.fibaro_red_btn_01
      scene_id: 1
      scene_data: 0
  action:
  - service: switch.turn_on
    entity_id: switch.lys_pc_robert
    
- alias: 'FibBtnTest off'
  trigger:
    platform: event
    event_type: zwave.scene_activated
    event_data:
      entity_id: zwave.fibaro_red_btn_01
      scene_id: 1
      scene_data: 3
  action:
  - service: switch.turn_off
    entity_id: switch.lys_pc_robert

Finding scene data value

For finding the scene data value, the best way is to check the Z-wave log. This can be found under your Home Assistant root, named OZW_Log.txt. You can also pull the log in the GUI, under Configuration -> Z-wave -> OZW Log.

I find it most easy to view the log in Putty:
# tail -f /home/homeassistant/.homeassistant/OZW_Log.txt | grep «Node010»

(Grep will only show data for the node you want. In my case the button was Node010. You can find your node id under the Z-wave node management in the GUI.)

2018-01-21 14:37:46.512 Info, Node010, Received Central Scene set from node 10: scene id=1 in 0 seconds. Sending event notification.
2018-01-21 14:37:46.512 Detail, Node010, Refreshed Value: old value=3, new value=0, type=int
2018-01-21 14:37:46.512 Detail, Node010, Changes to this value are not verified
2018-01-21 14:37:46.512 Detail, Node010, Notification: ValueChanged

From the log you can se «new value=0» on line 2 above.