Smart Implant to give new life to an old burglar alarm

I have an old burglar alarm which I wanted to see if I could make smarter so without doing much research I bought a Fibaro Smart Implant FGBS222.

Alarm

The alarm I have is a C&K Securit 800L which is rebranded by a number of companies such as Honeywell. The installation manual explains the circuit board layout and how to program it, but the main features of interest are:

  • a latching circuit which goes to +12V when the alarm is set (normally used when multiple sensors are on one zone) but handy as a way of detecting whether the alarm is armed or not
  • AUX + and Ground - connections to the remote panel which i can use to power the smart implant
  • connections to the siren/alarm
  • a zone 8 which is reprogammable to a momentary keyswitch

alarm-board

Alarm Programming
Enter the engineering code then type 4 8 4 * to change zone 8 from the default personal attack alarm to a keyswitch. # exits.

Cabling Connections
Implant was attached to the alarm’s terminals as per below…

Implant Alarm Connection
P (red) AUX +
GND (blue) Ground - terminal
IN1 (yellow) L+ latching circuit
IN2 (green) ST -
OUT2 connections Zone 8 terminals to act as a key switch
OUT1 connections Nothing

Implant Woes

I wished I’d read up on the smart implant before I bought it as as there’s a few posts here saying it’s a pig to get working and my experience was no different. It can operate in a variety of input modes (alarm, voltage, switch) and by default the state of the inputs triggers the outputs to do something. For example if IN1 goes +ve then output terminals switch on.

Step 1: Adding it to HA
Added it in secure mode - big mistake as you hardly get any entities. No idea why. Removed it and added again in non-secure mode and you should see loads of entities (voltage, alarm, switches) and three devices (!) in HA.

Step 2: Separating the outputs from inputs
Buried in the back of the manual and mentioned elsewhere in the community is an option to set zwave protection command class 0x75 to split outputs from inputs. Not obvious how to set this from HA using the built in ZWave integration so I used the SiLabs PC software and the aeotec stick to set protection cc to Local 2 RF 0 which then allows the outputs to be controlled independently of the value of the inputs. So now you can use the switch entities in HA to enable/disable the outputs without caring about the value of the inputs.

Step 3: Setting the mode
It is a very versatile piece of kit with a variety of modes, but the only way of getting it to do what I needed was to set config parameter 20 & 21 to option 4 (voltage sensor). Other modes (1 & 2) didn’t pick up any change in state on the inputs. Option 4 should report input state changes using basic reports but didn’t.

Step 4: Reports on state change
This was the tricky bit - the implant wouldn’t send any notification reports at all when inputs changed voltage but a manual refresh would pick up the changed voltages. Over on the Fibaro forum there’s a discussion on multisensor reports on the implant (Nasty Bug with Periodic Reports) but the gist is:

  • When the implant is added to HA, the controller gets added as node 1
  • To get the implant to report state changes, node 1 endpoint 1 needs to be added to the lifeline group, group 1 and group 2.
  • No easy way of doing this in HA so used the SiLabs software by sending these commands to the implant
    remove association : raw data 85040101
    remove association : raw data 85040201
    remove association : raw data 85040301
    remove multichannel association : raw data 8E0401
    remove multichannel association : raw data 8E0402
    remove multichannel association : raw data 8E0403
    add multichannel association : raw data 8E0101000101
    add multichannel association : raw data 8E0102000101
    add multichannel association : raw data 8E0103000102

which gives you this in HA (example for group 2):
Node1End1

After this the state change reports burst into life.

Putting it all together
We now have the voltage sensors reporting their state properly without resorting to polling, and the ability to control the outputs independently of the inputs so we’re almost there

  • option 154 - set outputs to normally closed to match what the alarm expects
  • option 156 (auto off) - set to 10 to pulse the outputs for one second to set the alarm properly
  • write some templates to look at the voltages on the inputs to detect the alarm state.
    • voltage_2 is the siren voltage. Normally about 3 volts but falls close to zero when the alarm is going off
    • voltage is the latching circuit and is normally 0 volts but rises to 12v when the alarm is set
sensor:
  - platform: template
    sensors:
      burglar_alarm:
        friendly_name: "Burglar Alarm Status"
        value_template: >
          {% if (states('sensor.fibaro_system_fgbs222_smart_implant_voltage_2') | float < 1) %}
            triggered
          {% elif (states('sensor.fibaro_system_fgbs222_smart_implant_voltage') | float < 8) %}
            disarmed
          {% else %}
            armed_away
          {% endif %}

And set the switch corresponding to output 2 to on to set and unset the alarm. Setting switch to on will pulse output 2 for one second.

Hope this is useful info.

1 Like

Drillbit, I have some questions. First though, thanks for your post … it is unbelievably timely and quite applicable for what I’m trying to do.

I’m trying to get the output of a driveway alarm receiver into Z-wave. The way it will work is by reading the voltage on the anode of the two alert LEDs, which varies from 3.3V (normal state) to 0.15V (flashing on, for alert), so this is pretty much exactly the same input configuration that you have. I don’t require the outputs for anything.

So … how did you do the extra, non-HA configuration that you needed? Did you stop HA, and then start up the SiLabs software using the same Z-Wave controller? Where did you get the SiLabs software, and which application is it, exactly?

Do you think this could be done using the Open Z-Wave GUI?

TIA,
Paul

Hi - the SiLabs software isnt the easiest to find but you can download it from https://www.silabs.com/developers/z-wave-500-series# (registration required). Since I have an aeotec usb zwave stick it was easy to just unplug it from my pi into a PC. It’s the PC controller 5 software you need (which I already had to hand for some unrelated OTA upgrades)

I’m using the stock zwave integration using ozw 1.4 on HA and couldn’t see a way of doing what I needed but I dont know whether the alternative zwave addons which use ozw 1.6 might be able to do the necessary commands.

I switched over from the Aeotec stick to the combo Z-Wave/Zigbee one a while ago. Hopefully I can make it work with the SiLabs software on a PC, long enough to make those settings.

Thanks for confirming the process.

This looks a much easier way to solve the smart implant’s behaviour

2 Likes