Installing a Nest Thermostat V3 using a Salus TC100 Wiring Centre

I recently decided to upgrade our existing central heating programmer for a Nest Thermostat – even though I remember once saying I’d never get one ūüėź

The most recent edition (V3 at time of writing) is capable of supporting both Central Heating and Hot Water and was an ideal replacement for our ageing manual control.

nest-stock-image-1When I bought the new thermostat I was flooded by warnings that this product should only be installed by a qualified Nest Engineer and/or a Central Heating specialist Рand for good reason!  Our original installation had four junction boxes cobbled together with wires coming from valves, pumps, thermostats, a programmer and the boiler Рit was a complete mess and fiddling with the existing wiring was plagued with risk.

I decided that the best thing to do would be to rip out all of the existing connections, go back to the drawing board and update the installation to modern standards.

I quickly realised that whilst there were lots of different schematics detailing how to wire a Nest thermostat in to an existing system, there were no guides to help understand how this could be accomplished using a modern wiring centre.  It took me three hours (I’m not an electrical engineer!) to map the published diagrams to something that would work for me.

Let me state that this is very specific to the components used in my own personal installation.  The diagrams provided below are for information purposes and may only be used as a reference when planning your own installation.  Your own components may have different wiring requirements, colour notations or supply needs and all manufacturer instructions should be consulted in advance.  If you have any doubts or concerns regarding your own abilities to install this equipment you should seek professional guidance and support.  Any planning or work undertaken based on these materials is done so entirely at your own risk.

And with that out of the way,¬†let’s get on with the good stuff.

Core Components

First off, I established each individual component that I was going to use and how best to wire them together.  Whilst the system comprises of a variety of parts Рpump, boiler, etc; there are only a few I needed to focus on for the electrical side of things.  The core components are:

Motorised Valve

Wiring Centre


Motorised Valve

The Drayton Mid-Position Motorised Valve (MA1) controls the outbound flow of heated water from the boiler to either the hot water cylinder or the radiators, switching between CH, HW or both.  The wiring diagram supplied by Drayton provided a very good overview of the required connections between the traditional components found in a Central Heating system.

Pasted Graphic 1

Wiring Centre

Pasted GraphicThe Salus TC100 wiring centre is the heart of the wiring operation and simplifies matters considerably.  It reduces the need for the old-style junction boxes that clogged up many a storage cupboard and enables replacement of individual components much more easily than in the past.



Nest Thermostat V3 ships with very limited documentation supplied, but some reference diagrams help with the schematics.  Considering that the standard recommendation is to have a professional install the thermostat, this stands to reason.


Creating the Schematic

It took me a good couple of hours to work through the wiring schedule for the new installation.  I decided to draw it up twice and make sure that both diagrams matched to reduce any risk of incorrect wiring in the final installation and minimise my chances of blowing any circuits.  The schematic below shows the finished article.

Pasted Graphic.tiff 2

The reality of course is never as neat as this diagram would suggest.  As can be seen in the final photograph below.  Note that this shows a couple of additional wires as I am also powering a shower pump from the same switched live feed.


Installing MQTT Server on Mac OS

Central to a good home automation system is a common method for communicating between devices.  A well used and proven technology for the home enthusiast is the Mosquitto MQTT Broker/Client.  This article covers the basics for installing and running a basic MQTT server on Mac OS.

Installing Brew

The Mosquitto MQTT Server can be easily installed using Homebrew.¬† If it’s not installed on your system already, then a quick visit to the homepage¬†will give you all you need to get going.¬† Homebrew is an OS X Package Manager for installing and updating non-Mac OS X utilities that are more commonly found in other variants of Linux.¬† To install the basic package manager run the following command.

ruby -e "$(curl -fsSL"

Installing Mosquitto MQTT

Let’s use our new Homebrew installation to download and install the necessary Mosquitto binaries. ¬†This will also download additional libraries required to support secure access via OpenSSL.

brew install mosquitto

The install script finishes by providing the instructions to start the MQTT server on startup.

ln -sfv /usr/local/opt/mosquitto/*.plist ~/Library/LaunchAgents

Finally, to save a restart, the server can be started now by running

launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mosquitto.plist

Now you can test the installation and ensure the server is running successfully.  Open a new command window and start a listener.

mosquitto_sub -t topic/state

In another window, send a message to the listener.

mosquitto_pub -t topic/state -m "Hello World"

Nicely done.

Installing the Python Libraries

To create the link between Python and MQTT we need to install the Python Eclipse MQTT library.  Visit here for the latest downloads and follow the link to download the required version.  Specifically, I downloaded these Python Libraries.

Once downloaded, unpack the tar file and install the library

tar xvf org.eclipse.pho.mqtt.python-1.1.tar
cd org.eclipse.pho.mqtt.python-1.1
sudo python install

And that’s it. ¬†We’re ready to start sending and receiving MQTT messages around the home. ¬†There are a vast number of additional options that can be set up around the MQTT server – security is an obvious choice, Quality of Service, users, etc. ¬†I’m keeping it simple for now.