# Nest-style central heating controller in Node-RED

**URL:** <https://discourse.nodered.org/t/nest-style-central-heating-controller-in-node-red/11025>\
**Category:** General\
**Created:** [11 May 2019 12:26 UTC](https://discourse.nodered.org/t/nest-style-central-heating-controller-in-node-red/11025 "2019-05-11T12:26:11Z")\
**Posts on this page:** 2\
**Page:** 2

<div class="post-metadata">

**Author:** ![TotallyInformation](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/totallyinformation/32/31_2.png) [@TotallyInformation](https://discourse.nodered.org/u/TotallyInformation)\
**Post date:** [3 June 2019 19:01 UTC](https://discourse.nodered.org/t/nest-style-central-heating-controller-in-node-red/11025/21 "2019-06-03T19:01:41Z")

</div>

Nice widget though it does have a couple of UX issues.

- Firstly, the ambient and target temperature lines are identical so you cannot tell which is which - what happens if the abient temperature goes above the target for example - confusion. This could be fixed by making them slightly different through thickness/length (colour as well but not on its own for the sake of colour-blind folk).

- The drag action stops if the cursor moves outside the widget. When it is near the edge of the window, this can be well before reaching the max/min values. Really, it should stay active while the mouse-button is pressed.

The other thing is that I don't think you need image files - certainly the chevrons should be available in a font, quite probably the standard unicode set. The M should be reproducible with some CSS magic. Alternatively, you might want to look at converting them into `data:` urls as they are all pretty small. Using SVG versions would be even better so that they resize adaptively.

Anyway, just a few thoughts. Really nice dashboard though.

---

<div class="post-metadata">

**Author:** ![Dave](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/dave/32/10827_2.png) [@Dave](https://discourse.nodered.org/u/Dave)\
**Post date:** [4 June 2019 08:26 UTC](https://discourse.nodered.org/t/nest-style-central-heating-controller-in-node-red/11025/22 "2019-06-04T08:26:16Z")

</div>

Julian, thanks for your comments, starting at the bottom working up,

I agree 100% regarding your comments about the image files using .png images, its not ideal.

The drag action is not present in the code I posted ! , I agree the original didn't work properly, and as the adjustments to the target temperature needed to be controlled by the ramp thermostat and manually by the up / down chevrons, the drag action was redundant so I removed it, I am not sure if you are familiar with the Nest app see image 1 but that is how adjustments are made on that.

With regard to ambient and target temperature lines, I don't agree, that's actually how the Nest app works, if the target temperature is below ambient temperature then there is no call for heat to the boiler see image 2  
if the target temperature is above the ambient temperature then its clear that theirs a call to the boiler for heat see image 3

![image1](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/2X/3/3f803ace55dff95ac9b6cb60cefe6bfcbcd1083c.jpeg)  
 ![Image2](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/2X/6/6a3ce25094d8653c4249aac723da7c694482137c.jpeg) ![image3](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/2X/0/02d9d67afc75e708d1191280215784abf934a605.jpeg)

Just to be clear I didn't write the code for the 'Nest like dashboard widget' the code its based on a Codepen by Dal Hundal: [https://codepen.io/dalhundal/pen/KpabZB](https://codepen.io/dalhundal/pen/KpabZB) I just modified it a bit to suit my purpose with my very limited ability.

[Previous page](https://discourse.nodered.org/t/nest-style-central-heating-controller-in-node-red/11025.md?page=1)
