Fibaro Keyfob as alarm control panel

Hi,

I just want to share this home made alarm control panel that I built by a Fibaro Keyfob and a battery box bought on eBay.
Before I tried to use a BeNext Tag Reader 500 but it was not working the way I wanted and it was to much hassle to set it up.
So this is what I came up with instead…

I’m using the Fiber Keyfob to active/deactivate the alarm by using scenes, or sequences as it says in the Keyfob manual.
I have configured one sequence to activate the alarm and on sequence to deactivate.
This is from the manual:

User can create sequences of two to five button to expand number
of possible actions. Every sequence sends corresponding Scene ID to
the Z-Wave controller with attribute “Key pressed 1 time”.

This has been working perfect but the only thing is that I can’t use tags, but I don’t mind.
First I tried the Keyfob without the battery box but I thought it was draining the battery so I bought a battery box on eBay. This battery box will give you 12v so I had change this by solder the battery connections to output 3v. By using 2 batteries in series and in parallel with the other batteries this will give me power for some time.

And by using an automation like the one below I can then activate the alarm:

- alias: '[Alarm] Keyfob arm'
  trigger:
    - platform: event
      event_type: zwave.scene_activated
      event_data:
        entity_id: zwave.keyfob
        scene_id: 7
  action:
    - service: alarm_control_panel.alarm_arm_away
      entity_id: alarm_control_panel.larmpanel

Maybe this will inspire someone :slight_smile:

2 Likes

A little update to this:
Before I could use my special combination with the Fibaro Keyfob I had to update the zwcfg_*.xml file with the following:

		<CommandClass id="91" name="COMMAND_CLASS_CENTRAL_SCENE" version="1" request_flags="4" innif="true" scenecount="8">
			<Instance index="1" />
			<Value type="int" genre="system" instance="1" index="0" label="Scene Count" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="8" />
			<Value type="int" genre="user" instance="1" index="1" label="Square" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="7680" />
			<Value type="int" genre="user" instance="1" index="2" label="Circle" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="7680" />
			<Value type="int" genre="user" instance="1" index="3" label="X" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="0" />
			<Value type="int" genre="user" instance="1" index="4" label="Triangle" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="7680" />
			<Value type="int" genre="user" instance="1" index="5" label="Minus" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="7680" />
			<Value type="int" genre="user" instance="1" index="6" label="Plus" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="7920" />
			<Value type="int" genre="user" instance="1" index="7" label="SceneID 7" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="7680" />
			<Value type="int" genre="user" instance="1" index="8" label="SceneID 8" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="7680" />
		</CommandClass>

The last two lines will let you use scene IDs of sequences 7-8 and the configuration for them is done in Configuration --> Z-Wave. Here they are called sequence 1-6.