Back in 2017 I wrote a blog entry called “A Thermostat Weekend” – some weekend that turned out to be. Well, to cut a long story short, the stat worked but I was at the time just finding out all about NEST and other modern stats and so my ESP-GO/Node-Red thermostat development started gathering dust.
Then we fitted a new Air Source Heat Pump heating system and it looked like my thermostat skills might be redundant. This new system came with a Salus IT 5000 Thermostat – absolutely lovely App, nice display and this I thought would well and truly bury my interest. How wrong could I be.
Here is the latest version of my stat web display (Dashboard) – I removed the redundant FROST setting and improved the formatting today (29/02/2019). More soon no doubt
I found some issues with the original QDTECH display in terms of reset reliability bearing in mind I’m short of IO pins and reset is hooked to processor reset (I just realised I can reclaim SS pin and potentially use it to reset the display) and I’ve changed to an ILI9341 for the final version as well as fixing some bugs with AWAY timing, VASTLY improving the web stat (Dashboard) css and adding multi-functions to the two available inputs – so that “up” and “down become “auto” if pressed simultaneously OR if either of the two buttons are long-pressed. The larger display also shows full time, day and date as well as “away” status. Also not yet shown here but I’m considering touch panels for up and down depending on Aidan’s perspex engraving skills.
Buttons now have long-click functionality to handle AUTO…. Display shows humidity and more… fixed “away” timing bug in online display… this will look a LOT prettier when the front panel is done (that’s a 5v power supply in there on the left).
The NEW Flow
The actual flow is on Pastebin as it is quite large:
Our requirements are simple enough – we need remote control – and simplified controls for when we are in Spain as our UK cottage is used for holiday cottage rental. An additional complication is that you have to be sensible with air source heat, you don’t have the fast responsiveness of oil and the range of temperatures needs to be limited – a heavy responsibility for guests. And the heating controls need to be reliable. The Salus is having none of that.
So I started looking around – Nest is lovely, probably has limit options but it doesn’t have guest controls either as far as I can tell. Indeed there appear to be only a small number of modern thermostat designs out there and up to now I’ve seen nothing that will fit the bill.
If you’re interested I suggest you start at the original “A thermostat Weekend” entry (there is also a very slight update at “The Thermostat Revisited”) Right now, I’ve been making use of my ESP-GO code for the ESP (BitBucket) to form the base of a wall “guest-level control” as I have all the remote control we need in the Dashboard Thermostat – on my Android phone (or PC). As always I was running out of inputs on the ESP8266 – needing “up”, “down” and “auto” controls and having only two inputs available I came up with a “press both buttons for auto” solution now supplemented with long-press options. In addition, manual settings revert back to auto after a couple of hours anyway.
And here it is, above, the first prototype of the guest control complete with temperature display, set-temperature control and time. I’m using existing ESP-GO code along with some new Nose-Red programming shown in the flow link above. You can see that there are two buttons on wires and there is a DHT22 sensor (the original featured a DS18B20 sensor). This then uses an inexpensive 320*240 ILI9340/9341 display. CS on the display board is grounded.
Here is a typical link for the ILI9341 displays… 2.8″ 240×320 SPI TFT LCD
Originally I used – Mini 1.8 Inch Serial SPI TFT LCD Module Display – Ebay or AliExpress – I’ve used quite a few over time.
Here’s a link for the gauge..
I have a UK mains surface mount back box, I need to come up with a smoked perspex front panel; unless someone has a better idea. I now have better buttons and an ESP + uncommitted relay (NOT Sonoff, as the Sonoff relay is commoned with the power lines) to actually control the heating – the prototype is boxed and running with indicators.
Here for reference is the updated flow, using a relay ESP board called heating_relay…. the stat board you see at the top is called “stat3” in the flow. I’m now using a pair of my Timeout Node-Red nodes, delay nodes, Injects for testing and setup, Node-Red Dashboard and of course MQTT, function nodes and file nodes for storage,
This is what the original stat looked like in Chrome on a PC (frameless). Full 7-day control with hourly intervals, AWAY and frost settings – though in my case these will probably end up being set at 16c. There were some bugs in this version.
Here’s the original flow (no longer being developed) which includes the stat and the ESP interface MQTT. If you check carefully, you’ll see my 2-button solution – thanks to Colin and others over at Node-Red Forum – I ended up coming up with my own solution but the inspiration helped as always.
As mentioned elsewhere I don’t distribute my ICONS as I’m not entirely sure what the licencing is on them – however, reader has sent this excellent link to what looks like a marvellous open source icon library. All icons used in the little display board are included in ESP-GO firmware so we’re only talking about any icons I’ve used in Node-Red Dashboard – but hey, you can never have too many icons.
Here’s the original QDTECH Flow on Pastebin…
I have other guide how to Raspberry Pi Weather Station using the Sense HAT.
Credit: Peter Scargill