Occupancy Detection for Heating Control

Since I’ve been tinkering with control systems in general I have been thinking about new ways of interconnecting them to get additional functionality out. One of my main interests in the heating control project is trying to reduce the amount of gas the system is consuming and thus the overall cost of the heating. I’m also trying to improve the overall efficiency of the system by trying to match the heating supply to the demand.

I’ve wondered for a long time about the time the house is unoccupied, and what the best thing is to do with heating. In the past I have tried using the time clock to turn the heating off during times of absence, but this doesn’t really work because it isn’t that easy to accurately time periods when the house is empty. So if you are in when you are meant to be out the house is cold, and vice versa.

However once I installed the Texecom panel  I realised that of course one can easily derive simply occupancy data from whether the alarm is set or not. We always set the alarm when we go out, so if I could read the status of the alarm and use this to adjust the heating control it would give me a 100% reliable trigger and so the risk of sitting in a cold house or heating an empty one would be reduced.

There are numerous means of getting an output from the panel. and Fhem (which controls the heating) is pretty good at monitoring events and doing something as a result. However it wasn’t immediately obvious how best to do it.

I settled in the end on using an Arduino with the Firmata  fimware. I’d never heard of this before, but it is directly supported by Fhem and allows direct access to the various inputs and outputs on the Arduino into Fhem. I bought a very cheap Arduino Nano clone from ebay for about £3:ArduinoNanoFront_3_sm

Then I loaded the Firmata firmware on to it using the usual Arduino software. I won’t go into the detail of this as it’s extensively covered elsewhere but will answer any questions about this.

The next thing to do was to get a signal from the panel into the Nano. This is quite simple, as the panel has a number of programmable outputs. These are highly configurable via Wintex and the output can be set high (or pulled low) in a whole range of different conditions. All I need is for it to change an output when the panel is set.

The Arduino has loads of inputs and outputs, and for this you need a digital input – either on or off to represent armed or disarmed. I was initially unsure about how this would work, especially as it runs at 5V and the alarm panel is based on 12V. I am using the ‘panel outputs’ of which there are two on the Premier Elite 48 (and more on the bigger panels) – labelled ’12’ below:

outputs

The fact that they are labelled with a ‘-‘ sign is significant, and indicates that they are so-called ‘open collector‘ inputs. This means that rather than switching 12V on to the line, instead it allows ‘sinking’ a voltage from the board. So you can connect the output to one of the digital output lines on the Arduino, and the voltage differential doesn’t matter because it is not putting 12V into it.

So what I have done is to connect one of the digital inputs (so I have used D1) to OP1- on the panel above. I’ve not got a great picture of it, but it just a single wire linking soldered to the D1 point on the Arduino to the OP- screw terminal. I’ve fixed the Nano inside the alarm box along with the other bits.I do now have quite a few USB cables coming out of the alarm box… it might be good to have a USB hub in there but I’m running out of space!

That’s the hardware side done – next post I’ll address the software side using Wintex and FHEM.

Texecom Connect

So the big announcement has been made – and it is called ‘Texecom Connect’

This looks like quite an interesting attempt by Texecom to position themselves more towards a provider of home automation products rather than simply alarm systems. This does make sense to me as I’ve always thought there is a natural connection between the array of sensors and outputs  which an alarm provides and the control of lights, heating etc.

The details are on the Texecom website:

http://www.texe.com/uk/technology/connect/

However, there isn’t yet a lot of detail on how this will all work. To summarise what is known so far there will be several components:

New firmware upgrade to v4 – this is to support ‘Texecom Connect’ but there may be other features too

New Texecom Connect App – this seems to be the main control point for the home automation stuff. It looks quite nice, although it will likely be fairly limited and probably won’t be much chance for hacking it about

API – now this is really interesting as it should allow integration with all manner of other existing systems. Texecom themselves will probably only be interested in doing this for established commercial systems (CBus etc) but let’s hope that they make it available to other people as well. I do know that they have been quite helpful with a number of people before who want to develop 3rd party plugins so I am hoping that this will continue.

Other Ricochet devices – it appears that Texecom are planning to use the Ricochet mesh network in a similar manner to Z-Wave and produce outlet switches, possibly even replacement sockets and things. They will need to come up with quite a range of these if they are going to be useful but I’m not sure that yet another standard is a particularly good idea. They even mention radiator valves, IO devices etc.

Connect cameras – as above, cameras based around Ricochet which link in with the app and the other devices.

The Texecom Connect Hub – the purpose of this is a little mysterious but it does look like it will provide a Z-Wave interface. This is very interesting as I already have a modest Z-wave setup and it would be good to combine it all together. I’ve already experimented with this a bit (a subject for another post) but having a single control system would simplify things significantly.

There is a lack of detail and none of this stuff is available yet. However it does appear quite an ambitious move and one in which I am very interested. The other really good news is that they state clearly that this is for all Premier Elite systems so we can expect to be able to flash upgrade to it.

So I may be dusting off the 1000-HDC again soon!

IFSEC 2016

Now that I’ve signed up with Texecom as an installer they are sending me various emails although not being a professional most aren’t of interest. However this week I got this with some tantalising suggestions:

IFSEC

I wonder what this ‘brand new user  / reimagined experience’ is going to be? I have heard a few rumours about the firmware v4 but nothing solid. It’s difficult to see what exactly they could do given that control keypads are pretty much the same as they have always been.

Unfortunately I am not going to go to IFSEC (if it were closer to home I might… but really I would be going under false pretences). However if anyone does happen to go or hears about what Texecom are proposing then please let me know!

Texecom Ricochet Expander

Since getting my initial Texecom system installed I’ve been thinking about what I can do to expand the number of sensors. When I first put it in it was a straight swap for a much older ADT installed system which had a lot of wired sensors, so whilst this meant I didn’t have to run any cables it also meant that I was stuck with what was already there. This was pretty good on the whole, but I decided I wanted some more permanently installed smoke alarms and also some more sensors towards the back of the house.

I was able to wire in the smoke alarms directly, helped in part by some building work which meant I could hide the cables behind some new plaster work. However, the back of the house is a long way from the panel and there isn’t any easy way to run wires.

The obvious solution is to use Texecom’s own ‘Ricochet’ wireless sensors. I had looked at these when choosing the system and I was quite impressed with it because it seemed quite advanced (eg using a mesh network approach). You can buy panels with it built-in (the Premier Elite 24-w, 48-W etc) but these weren’t suitable because they didn’t have enough wired zones available. So that’s why I got the normal 48, but it means that to use Richochet you need an expander.

There are various expanders available, including simple wired zone expanders as well as the wireless ones. There are two wireless ones and the only difference is the number of sensors supported – either 8 for the 8XP-W or (you’ve guessed it) 32 for the 32XP-W. The latter is quite a bit more expensive so I found an 8XP-W on ebay for a reasonable price (about £40) although it’s around £65 new:

texecom-ricochet-premier-elite-8xp-w-gcd-0001-1140-p

After all the effort I have gone to so far to keep everything tidily inside the main steel casing it is a bit irritating to start having extra boxes on the wall. However there doesn’t really seen to be an alternative short of having the Ricochet box somewhere else in the house on the end of a wire.

Installation is pretty simple – just a matter of wiring up a 12V supply from the main panel, and connecting it in to the network connectors on the panel. The 48 panel only has one of these, but the connections are quite flexible and you can have various devices in serial and parallel. The main keypad is also connected to this. Here is a picture post-installation:

IMG_20160501_220534

There’s a small amount of configuration to do in Wintex, but make sure that you have uploaded it back to the panel before doing anything more. The key thing to do (which I missed intially) is to switch on the radio / Ricochet options in the ‘Edit Account Details’ screen and ‘Panel Info’ tab:

accountdetails

Once you’ve done all this then the expander should be available  for use. If you look in the zones screen you should see the wireless zones appear as such, with the code ‘XP1’ referring to the first expander and each device labelled ‘D01’, ‘D02’ etc:

zones

Once this is all done you can start adding devices. This turned out to be the most frustrating part of the whole thing and this is due to the fact that Texecom have changed the procedure for doing so and it is not very intuitive. The main thing to say here is to read the manual which comes with the expander very carefully, as this does spell it out.

The first thing to say is – ignore completely the ‘Learn Ricochet’ option in the engineer’s menu, as this will cause you no end of trouble (I learned this the hard way) and the manual tells you not to. What you have to do is firstly switch the sensor into learning mode. I used a PIR and a shock / door contact sensor and the procedure is different for each. The instructions tell you what exactly to do.

Then you need to select the zone that you want to program using the keypad from the engineer’s mode. So for my first zone, I selected ‘Zone Setup’ and then scrolled to the first wireless zone which is listed as Zone 009 XP01,01. There is a detailed flowchart in the manual which you have to follow exactly, and the bit where I got stuck was that you have to press ‘reset’ when the zone is displayed, then the screen shows ‘learning…’ with a countdown. Some of the sensors (the ‘autolearn’ ones) only will teach in for a brief period after powering up. So I’d recommend standing by the panel and snap the battery in to the sensor as soon as you see the ‘learning’ message.

The other tip is to install the ‘Ricochet monitor’ software alongside Wintex (as usual from the Texecom website). When you have an active Wintex connection you can call this from within it, and then it shows you a nice graphical representation of your sensors plus loads of diagnostic information. My network is pretty simple – 2 devices – but if you had a complex one I’m sure that this would be very helpful.

Now it’s all in and working I’m pretty happy with it. I may well expand the system with some more sensors in due course and there is a really good range of them including smoke detectors. I’d recommend getting the 32 zone expander if you can find it for a good price just to be on the safe side because you could use up the 8 quite quickly if you have a big system. the other thing I’m interested in is the range, as I have a garden shed which would benefit from coverage.

ComPort+ Update

As per the last Texecom post I had installed the new ComPort+ PCB into the spare header on the alarm main board. This in conjunction with the new v3.01 firmware gives another serial port. There is obviously a demand for this for Texecom to do it, although I would have thought for most people two would be enough! Still I am very grateful for it, because I have found a need for just this.

As described in previous posts, I have the GSM board installed on one port, and I have been using a second for configuration and monitoring using Texecom’s Wintex software. This is probably worth a post of its own, but it is an extremely useful and comprehensive software package which Texecom have as a free download and makes configuring the panels very easy.

I have also been experimenting with home automation integration. I have a Vera Lite which I bought a couple of years ago and I use it in conjunction with a number of Fibaro  devices (mostly the in-wall dimmer units). I haven’t really made the most of these yet although they have been handy for dimming some lights and linking together table / wall lights. Someone on the Vera forums gave me a copy of a plugin he had written to integrate the alarm, so that you can read the status of the various sensors in real time and also trigger events based on whether the alarm is set or unset. This uses another serial port, so now I can have the GSM dialler, the Wintex connection and the Vera connection all at once.

I must say that overall I’m not hugely impressed with the Vera – it is rather out of date now and quite slow in use. In particular the response to the events from the alarm is rather delayed. The UI is rather old fashioned and although they have done a newer one it is not reported to be working brilliantly and in particular does not work with the plugin. I have been in contact with someone lately who is using Homegenie which I haven’t come across before and which looks very interesting. So I’m going to look further at this although I’ll need a USB Z-Wave stick to test it out.

The other change which I’d recommend is that I have changed from using the small USB converter board to a simple cable terminated in header connectors to the pins. I probably should have done this the first time, but it means that there is more space inside the casing now. I used these but there are numerous other examples on ebay. However it’s worth noting that these are not FTDI based and so can’t be used with the flasher board.

USB serial

For reference the colour coding is:

Red – VCC
Green – TXD
White – RXD
Black – Ground

So when connecting to the Texecom the order is:

Pin 3 – Black
Pin 4- Green
Pin 5 – White


	

Using Fhem for Heating Control

Having discussed in previous posts my hardware approach to heating control I’ll now talk about the software.

The key to the whole system is FHEM which is a real discovery. As I’ve found before with the hardware, the Germans seem to have really got to grips with home automation. This system is open source and very mature, having been around for quite a long time and now being up to version 5.7. The problem is that at least initially it doesn’t appear particularly accessible or easy to use, but this is rather misleading. With a bit of effort invested you can get the system working well and it is incredibly flexible.

There is a good community supporting it, although it is predominately German speaking. Most of the documentation is too, but Google Translate has proved very helpful in navigating the forums and the wiki .

I won’t go into the basic setup, but you will need some kind of server (I am using a fairly old but extremely useful HP Proliant Microserver) and a suitable operating system. There are various ways to install Fhem which are detailed on the website and elsewhere.

So once you have a working Fhem system you can access it via a local URL and then the fun begins!

The basics are to get the interface installed and working. Fhem does have automatic mechanism for detecting and installing devices, which is based around a set of configuration files, they key one being fhem.cfg. In my case I am using a CUL device (as in previous posts) but there are various other ways of doing it. Some people have used the official MAX controller although it’s not much cheaper than the CUL and some difficulties have been reported. There are some other ways of getting CUL firmware onto cheaper devices but I haven’t explored these as yet.

What I really like about Fhem is that its basic structure supports a whole range of different devices (see the documentation for details) but it has a common approach to dealing with them. Also, whilst it is mostly based on configuration files the standard front end UI whilst basic is very effective.

So once you have a basic Fhem system up and running and your CUL or equivalent device has been detected – what next?

First thing to do is register all the MAX devices and pair them with your system. You will need to do this using the ‘learn’ mode on the devices and also by setting the CUL device to listen out for new devices.

You can do this by selecting ‘pairmode’ on the Fhem screen for the CUL device:

pairmode

This then sets it to listen for a short period of time, and you then need to set the devices to pair. What exactly you do depends on which device you have, and you’ll need to check the instructions. However, for most of the thermostats I think you have to hold down the ‘boost’ button for a few seconds and then it begins a countdown, which stops again once the pairing is complete.

You will then see the MAX devices appearing in your Fhem screens. The screen for each looks something like this:

maxscreen1maxscreen2maxscreen3

This screen demonstrates the strengths and weaknesses of Fhem, depending on who you are. For me this is great – lots of details, loads of options to play with etc. On the other hand you might think it looks overcomplicated and intimidating… in which case this probably isn’t for you.

All Fhem devices have settings (via the ‘set’ button at the top) and the pick list shows you what variables you can set. The ‘readings’ section shows the enormous amount of data you can extract from what is in reality quite a simple device. This includes the weekly ‘profile’ for each device – ie the combination of settings and times throughout the week. This is different for each individual thermostat which is good from a flexibility point of view, but not so good for consistency and ease of programming. There are solutions to this which I will come to in future.

So you should now be able to pair up all your thermostats, and the Fhem screens will allow you to see the measured temperature and make some changes. However, this isn’t much of a control system on its own and I’ll come to what I’ve done to tie it all together in future posts.

I know I’ve kept this quite general but please post comments or questions and I’ll try my best to answer them. There is a lot of info on the Fhem forums / wiki which are a good place to start if you are stuck.