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 (NR Dashboard) – I removed the redundant FROST setting and improved the formatting.
I found some issues with the original QDTECH 240*160 LCD display in terms of reset reliability bearing in mind I’m short of ESP8266 IO pins and reset is hooked to processor reset (I then realised that I can use GPIO0 as an output with a new command, 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. I’ve done this extra functionality in Node-Red. The larger display also shows full time, day and date as well as “away” status. Also not shown here but in one unit I’m using cheap single-key touch panels for manual heat up and down.
Buttons now have long-click functionality to handle AUTO…. Display shows humidity and more… fixed “away” timing bug in online display… this looks a LOT prettier with a front panel (that’s a 5v power supply in there on the left).
The new 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 original Salus thermostat was having none of that and the supply company seemed unable to come up with a suitable alternative.
So I started looking around – Nest is lovely, probably has temperature limit options but it doesn’t have guest controls 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 our 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’m still 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 fully site-tested version 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 above is called “stat3” in the flow. I’m now using a pair of my Node-Red Timeout 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 (now defunct) stat looked like in Chrome on a PC (frameless). Full 7-day control with hourly intervals, AWAY and frost settings. There were some bugs in this version to do with reset in the event of problems – hence the move to the ILI9341 displays.
As mentioned elsewhere I don’t distribute my ICONS as I’m not entirely sure what the licencing is on them – however, a kind 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.
I envisage moving the entire hardware stat display to Tasmota at some point when I get to grips with Tasmota display software. BUT the ESP-GO version is in a production setting and has been working flawlessly since early 2020.
Of course in a simple installation not needing holiday rental ability, you could run the lot off the Node-Red-Dashboard stat page.
Update November 2020
The unit has been operating in the UK now since April 2020, completely unmanned – using a Raspberry Pi as the base for Node-Red etc and running on an SSD rather than SD. I’d planned a much shorter period but thanks to a combination of Brexit and Covid, I’m relying on remote access to this system using a VPN and the NR Dashboard display. The VPN has recently been remote upgraded to Wireguard (PiVPN) and at least up to now, all is working well including the AWAY facility for those few occasions when we’ve had Covid-related cancellations.