Fibaro FGK-101 Z-Wave Door & Window Contact Sensor Review
This review/project is part of a larger Smart Front Door.
The Fibaro FGK-101 is a compact Z-Wave door or window contact sensor that has the ability to also measure the temperature with an optional 1-Wire DS18B20 sensor.
The RFD-101 is a good looking sensor and is very compact. It also comes in a range of colours with a model number from FGK-101 (white) to FGK107. According to the packaging, our device is V2.1. The device comes with double-sided sticky pads and four screws and rawl plugs.
Opening up the sensor reveals the ER14250(1/2AA) 3.6V battery, the circuit board and aerial. The white plastic tab is used to disconnect the battery whilst in transport and will be removed. We avoid wireless sensors with batteries where possible. We especially avoid devices with unusual batteries like this. AA and AAA batteries are cheaper and more readily available and we always have some spares available.
Just to the right of the battery is the 'TMP' button. To the right of that is a clear plastic 'light tube' that carries the LED light to the surface of the module, when the lid is on.
On the underside is a tamper switch. This ensures the device can't be removed whilst active.
Technical SpecificationThis is a 2 function device. It has a single contact sensor that can use the internal reed switch and external magnet, or can use and external switch. It cannot do both. It also has the ability to measure temperature using a 1-Wire DS18B20 device.
Installation & Configuration
External connections to the circuit board are exposed via a 4-way screw terminals. The black wire is the Z-Wave aerial and can be bent out of the way to gain access. This must not be cut or shortened though. In this photo, you can more clearly see the LED light tube.
One thing to note: The Vera doesn't support temperature resolution better than 1°C, despite this module supporting a resolution of 0.25°C. This is something most Vera owners have been wanting fixed for many years :-(
We then had to bend the wires at 90° to get the sensor to fit within the housing. This is made much harder by the fact that the circuit board is heat-welded into the casing and can't be removed.
We then added the device using via the Vera UI:
In order to do the Z-wave inclusion the tamper sensor on the underside of the module must be closed. This meant we had to remove the battery and bolt a piece of plastic to the underside of the device.
The manual says press the 'TMP' switch 3 times in rapid succession but, this simply didn't work for us. The only way to include this device seems to be to press the 'TMP' button rapidly and continuously until the Vera reports it as visible. We were then able to add the sensor using the standard Vera process.
We then renamed the added devices and they were now available in the devices view:
It took a while for the measured temperature to register but eventually it displayed the current temperature.
Our Home Control System (HCS) uses technology abstraction and events. In order to get the letter box open and closing to generate the required events, we simply add triggers to invoke scenes containing the required Lua code. We also add regular events to send the latest temperature.
We have created a scene called 'R_LetterboxOpen' (We use the R_ prefix for scenes that report values back to our HCS) which reports when the letter box is opened. This scene is activated by a trigger called 'T_LetterboxOpen' and this is set up as follows:
Similarly, we have a scene called 'R_LetterboxClosed' that reports when the letter box closed and this has an associated trigger called 'T_LetterboxClosed'.
The is the Lua code we are using. The IP address is that of our HCS server and the port number is the port it listens on for events:
local socket = require("socket")
host = "192.168.1.99"
c = assert(socket.connect(host, 9999))
Interestingly, this device monitors and reports battery level to a higher resolution. Previous sensors we have used report at 10% intervals but the first reading obtained from this device was 98%.
Like all Z-Wave devices, this one has parameters that can be configured to adjust its behaviour. With Fibaro devices, the documentation is not always clear and many of the capabilities often only work with a Fibaro controller.
This parameter controls the LED on status change. I thought about turning it off to improve battery life but, the LED is very useful for diagnostics.
All of the above installation and configuration was done at a desk. We are now ready to actually install the device in our chosen location. We have recently had a new front door installed and have connected it to a reed switch mounted on our letter box.
This is what the letter box looks like on the outside. The reed switch and magnet are completely hidden from view.
This is what the letter box looks like on the inside. Again, there is no visible indication of any magnets or sensors.
The letter box is actually in two pieces, with the inner part fixed to the outer part, using two screws (visible in the photo below). A powerful but small magnet (circled below) has been glued to the inner flap and this operates a reed switched attached to the inside of the housing (and thus not visible).
This is the view of the door with the letter box removed. It has a dense foam inner which is easily cut. This is the start of the slot for the Z-Wave sensor cut into the foam.
- 01/01/2015 = 91%
- 07/06/2014 = 94%
- 01/06/2014 = 98%
We chose the Fibaro FGK-101 sensor because it is very compact and would be very easy to hide inside our composite front door. Its tiny size also caused us the most of our installation problems though.
We now know when post has been delivered and we can now also know if the letter box has been wedged open by someone leaving post in the letter box, which is annoying as it lets cold drafts in. Using in-built functionality written into our controller class, we get an SMS message if the letter box has been open for more than 60 seconds.
There isn't much point in having a temperature sensor on your letter box! We added one as part of this project, to review the capabilities of this device. By default, all temperature sensors in our home are used to improve safety and enable rapid fire detection though. We already have temperature sensors better placed outside our front door and within the entrance hall. We have also documented our thoughts on Z-Wave temperature sensors.
One thing we have noticed is that our front door heats up in the sunshine. The highest temperature recorded so far was 37°C and the following is a graph of that day (8th June 2014):
Our front door is a composite UPVC door, with a black external finish and very good insulation. Our house is south facing, so the sunlight lands on the door for most of the day. On the 3rd July 2014 we then saw it hit 40°C.
Would We Do It This Way Again?
We do experiments, projects and reviews like this to try and get to the right answer to questions like this. The simple answer to this question is no.
In our next house we would use a wired solution that connects the letter box, door contact sensor, door lock, etc. through wires exiting the door on the hinged edge, via a flexible conduit. This project is a great example of how quality smart home requires more effort to install but, pays dividends in the long term. Taking a wired approach would provide greater reliability, performance and would be more future-proof. It would allow us to use a commercial grade, highly secure door lock much more subtly integrated into the door.
A wired solution would use our existing 12V UPS and require no batteries. It would have no limitations on wireless range and would be less prone to any form of interference.
When we have mail it is tweeted by our smart home:
We have been impressed by the battery life and the accuracy of the battery level reporting by this device. Most Z-Wave contact sensors report battery life to the nearest 10% and even then it oscillates wildly. This Fibaro module seems very consistent and reports to the nearest 1%.