Showing posts with label Home Automation. Show all posts
Showing posts with label Home Automation. Show all posts

Saturday, 25 November 2017

Honeywell Evohome - Multiple Bindings

For a while now each evening there's been a Comms Fault message on the Evohome Controller. But the heating has been working fine, so I've pressed on the checkmark and ignored it, thinking that some random external interference had interrupted communication between the Controller and the heating BDR91 wireless relay in the airing cupboard.


But looking at the system log this fault was happening at exactly the same time every evening, which made the chances this was random very slim.


Some searching on the internet brought up some advice from Richard Burrows at the Evohome Shop, which suggested that the Controller and BDR91 could have multiple duplicate bindings. Thinking back I did have to rebind the BDR91s after a power cut, and I've probably got the system into a situation where the Controller and BDR91s are bound to each other twice. So the solution is to clear the bindings, and rebind the Controller and BDR91s afresh. However the key is clear the bindings at both ends, i.e. not just at the BDR91s.

So first use the long press on the Settings button on the Controller to get into the system settings. Then set the System Devices and set the Boiler Demand and Sundial Valves to None.


The inconsistent naming in the Evohome Controller really annoys me. "Boiler Demand" on the System Configuration page becomes "Boiler Heat"...


... and "Sundial Valves" becomes "Hot Water Configuration".


Both Boiler Demand and Sundial Valves set to None.


With the two BDR91 bindings cleared at the Evohome Controller, now pop off the front fascia and remove the batteries.


To clear the bindings at the BDR91s in the airing cupboard, hold the button on them down for about 15 seconds. After about 5 seconds the lower red light will "long flash", and then after 15 seconds the red light will "short flash". Once in "short flash" the binding has been cleared.

Back at the Controller I replaced the batteries and fascia, confirmed the date and time settings, and then long pressed the Settings button to get to the system settings and the System Devices page.

I rebound the hot water BDR91 first by setting it to Stored Hot Water. The first thing to rebind is the CS92 storage cylinder water temperature sensor. Hold the button down on the CS92 for about 5 seconds, when the button/light will start alternating between green and red. Then press the button again, and the controller should detect the CS92.

Next the Controller asks whether you've got a "2 or 3 port valve" or a "hot water valve". Our system is a Sundial Y-Plan, so the correct setting is a "hot water valve", but it is a little confusing as it has a mid-position valve, which is a valve with 2 ports. Anyway, a 5 second press on the hot water BDR91 to get it into binding mode, and then a press on the Bind button on the Controller and the two are paired again.

Likewise the Boiler Demand is set back to Boiler Relay, and a 5 second press on the heating BDR91 and a press on the Bind button on the Controller, and everything is re-binded (rebound?). Hopefully this has done the trick, and regular Comms Fault messages are a thing of the past.

Friday, 20 January 2017

What's talking to what?

The recent broadband issues we've been having exposed me to some of the network diagnostic capabilities of our router. One of which is a table of sessions the router is managing between devices in our home and the big wide internet. I made the mistake of delving into this a little deeper, with the result that I'm now paranoid about what servers on the internet my smart home systems are talking to on a regular basis.


Unfortunately the router's sessions table lists only which internal IP addresses are talking with which external IP addresses. Converting the internal addresses is relatively straight forward, as I've set up the router to bind all of the expected devices on the network to specific IP addresses. For the external IP addresses a reverse DNS is required to find out who owns them and where they are. I used www.ipinfo.io manually for several reverse DNS enquiries, until I noticed that it offers an API to process IP addresses, at which point I decided to write a Python script to automate the whole analysis.

The code is fairly straight forward. First read in the IP binding list from file and build a dictionary with the device names and internal IP addresses. Then read in the sessions, again from file, and parse each line to extract the internal IP address and external IP address into a list. Converting this list to a set effectively eliminates any duplicates. Then send a call off to ipinfo.io with each external IP address from the set to get a JSON response, from which the organisation and location of each IP address can be extracted. And finally create a CSV file to dump out the resultant list of internal device names and external organisations. The results look something like this:


All of this looks pretty much okay. Our HP printer talks to HP servers (and only HP's servers, it is nice to see) as we've got cloud printing turned on. It is slightly interesting to see that Philips are using Rackspace to host their Hue system back-end, but not totally surprising. I'd not come across Google's use of the 1e100.net domain name, but a quick search reveals that Google consolidated their back-end systems under a single domain back in 2009. 1e100 is the scientific notation for 1 googol. And the various devices talking to BT is also expected, as BT provide our broadband (sometimes).

The stuff I'm not so happy about is my IP cameras. They're chatting away with a whole range of people which don't immediately seem relevant. One of the IP cameras is even talking to NIST in Boulder, Colorado. Another appears to have ambitions of becoming an autonomous car when it grows up, as it is connecting to www.quickdrivingtestcancellations.net to arrange a driving test. The only two things outside my network I want my IP camera talking to are an NTP time server, and an email server. So I think I might enable these on my NAS to send all that traffic through one pipe, and block all other traffic using the router's firewall.

Friday, 30 December 2016

Home Automation - Installation

An Amazon Echo Dot has arrived in the house. We're still in the find-out-if-it-is-useful period, but to help us through that there's plenty of party tricks to keep us entertained.


After we'd played with asking Alexa trivia questions, and to play specific music or radio stations, it was time to hook it up to our Philips Hue lighting and Honeywell Evohome heating systems.

First step is to download the Alexa app, and go to the Smart Home menu option. Amazon calls the integrations into Alexa 'skills', presumably for trademark reasons. The Hue skill is called Hue, but the Evohome skill is called Honeywell Total Connect Comfort, and both require linking to your cloud accounts for those systems. Once the skills are enabled I hit the 'Discover devices' button, and the Evohome devices were found straight away. For the Hue devices I need to press the button on the Hue hub first, but then Alexa was able to find them.

Alexa enables you to control your Evohome system through both activating modes ("Alexa, turn on Economy mode") and through setting individual zones ("Alexa, set Kitchen to 21 degrees"). You can also nudge a zone up or down ("Alexa, raise Lounge by 2 degrees"), and turn the hot water on and off ("Alexa, turn off hot water"). The zones and modes you've set up in Evohome are automatically brought into Alexa as groups.

What you can't do with Alexa and Evohome is monitor the current status of the system. For example you can't ask what temperature a zone is currently, and you can't ask if a mode is activated or not.

Alexa enables you to control your Hue system through both activating scenes ("Alexa turn on scene Movies") and through setting individual lights or rooms ("Alexa, turn Dining light on"). Any collections of lights that you've put into a Room in your Hue system are automatically brought into Alexa as groups.

What you can't do with Alexa and Hue is set lights to specific colours. For example you can't tell Alexa to turn a light to Red, you can to pre-set a scene with that light as Red and activate that scene.