Nest Hot Water Boost

The 3rd Gen Nest controls hot water but it doesn’t look like it’s part of their API. Nest Forum Might be worth the Home Assistant community voting on the Nest Forum for this?

There’s already been some discussion and interest around this but I couldn’t find a feature request so thought I’d post here and see how many votes it gets :slight_smile:

Just realised you have linked to my thread! Have voted on this one, thanks!

1 Like

Would really like to see this added. It’s one of the few things i need that I can’t do with HASS.

I’ve managed to get this working using IFTTT and webhooks if anyone is interested I’d be happy to share the method, you’d need a php enabled web server (I may be able to help with this), an IFTTT account and a UK Nest online account.

Yes please, I would be interested!

I typed a whole guide and because I’m a new user it didn’t like me having more than one link in the post.

So I have had to create a guide on Google Docs and link it here:

Any problems let me know :slight_smile:

2 Likes

Got an updated guide that does away with IFTTT and simply sends the GET command straight from Home Assistant speeding things up a little. Will upload later today at some point.

As promised here is the link to the guide on how to achieve this without IFTTT:

Hey, I saw that php method as well.

Given this seems to pull curl commands to achieve its aim, i did wonder whether this is tranlaste-able to python to create a component…

I’m sure it would be but I’m not a ‘python head’ to be honest, php, html, css, sql all day long but python I’ve not really had the time to dive in and learn… One day maybe… If anyone on here could make a component from the php api file on github in the guides then that would make it even more straightforward and wouldn’t require the php host side of things and would make it more adopt-able for others however I’m just happy that I’ve got this functionality as my partner hates having to have loads of apps to do everything on her phone so keeping everything under one interface is what I’m looking for, I’ve used SmartThings for over a year now and shes’s used to opening the app and using it but it couldn’t boost the hot water either so… I’ve got most of my smartthings set up over MQTT but have transferred 90% of my devices over to HA with Zwave but now need to sort out the ZigBee side of things… You’ve got to love HA for it’s functionality though it’s very powerful with the right setup…

1 Like

Hi mtannerauo,

I am very interested in this functionality but I am struggling to set it up. I am running HA on a raspberry pi using a virtual environment. My problem is that I don’t know how to ‘install’ the php class and sample programs in the ‘webspace’. I have tried a few different folder locations but the webserver gives only a 404 so far. Any guidance you could give me would be very much appreciated.

For users that are running HA in a linux docker environment I have created this script that will download the php files, rename them, sets the relevant permissions places them all in the correct directory it will then pull and run the docker with all the correct variables so you just need to go to /phpfornest and edit the php files to reflect your nest web details and configure HA with the switches and it will all work :slight_smile:.

Simply enter into your Linux terminal/ssh window as root or sudo bash:

wget https://auoho.me/nest-hw-for-ha-v2.5.sh && chmod +x nest-hw-for-ha-v2.5.sh && ./nest-hw-for-ha-v2.5.sh

and follow the instructions…

Any issues please do not hesitate to message me on here…

1 Like

Updating the script to input username and password into the php for you so you do not have to manually edit each file the script will do it for you.

The above command has been updated to reflect the updated script.

Changelog:
Version 2.5
Script prompts for input for Email, Password and Access key and then updates the PHP files accordingly.

Previous Versions:
Version 2.4

  • Changed Github URL’s in the script to our own account rather than the existing repo to allow better compatibility and preparing for input update.
    Version 2.3
  • IP at the end of the script is now your machine IP rather than your-ip-address to allow easy copy and paste.

Hi mtannerauo,

As my previous post mentioned I’m running HA on RPi3 in a virtual environment. I’ve installed php modules for Apache and Curl for php. I’ve tried a lot of different things to get php scripts to execute from the HA UI / frontend. All it will ever do is download the php files. There’s a lot of stuff on google about this problem and I tried everything I could find but with no success.

Others may be finding the same problem, so eventually my solution was to tweak your php scripts a little bit to enable them to execute from the command line. Then set up shell command switch in HA to invoke them. It works. Again thanks for you help on this.

An update on this issue. The reason for php program downloading might be related to the configuration of MIME types (/etc/mime.conf). In my raspberry Pi system, the following lines are commented out - for whatever reason. Anybody know why or whether I should include all the lines?

#application/x-httpd-php			phtml pht php
#application/x-httpd-php-source			phps
#application/x-httpd-php3			php3
#application/x-httpd-php3-preprocessed		php3p
#application/x-httpd-php4			php4
#application/x-httpd-php5			php5

I managed to get it working. Here the way how to do this:

    • Run: sudo apt-get install apache2 -y
    • Run: sudo apt-get install php libapache2-mod-php -y
    • Check if the webserver is running by putting the ip of the RPI in your webbrowser
    • Run: sudo apt-get install php-curl
    • Copy the files from mtannerauo to “/var/www/html”
    • Run: sudo service apache2 restart
    • Follow the rest of the tutorial of mtannerauo

Most important part is to install php curl. If you want to see the debug log, why stuf won;t work, type:
“tail -f /var/log/apache2/error.log”

It will display the error’s of apache

Is it possible for this to support Nest MFA at all?

Is this method still working? I’ve been using the PHPforNest docker - thanks very much @mtannerauo. After a few hours of Nest web outage yesterday, it’s not working any more.

Password unchanged, 2 factor authentication off, Nest web interface working fine

Any ideas?

curl http://192.168.1.11:4488/boost_hot_water.php?key=xxxx
<br />
<b>Fatal error</b>:  Uncaught Exception: Login error  &lt;html&gt;
&lt;head&gt;&lt;title&gt;406 Not Acceptable&lt;/title&gt;&lt;/head&gt;
&lt;body bgcolor=&quot;white&quot;&gt;
&lt;center&gt;&lt;h1&gt;406 Not Acceptable&lt;/h1&gt;&lt;/center&gt;
&lt;hr&gt;&lt;center&gt;nginx&lt;/center&gt;
&lt;/body&gt;
&lt;/html&gt;
 in /var/www/html/nest-php-api.php:30
Stack trace:
#0 /var/www/html/boost_hot_water.php(17): Nest-&gt;__construct('xxxxxxx@gm...', 'password')
#1 {main}
  thrown in <b>/var/www/html/nest-php-api.php</b> on line <b>30</b><br />
1 Like

Hi, I am having the same issue since about a week ago. I use @mtannerauo solution as a command line which has worked great till now. The command now fails inside HA and I have tested it on a terminal session - also fails. It’s also failing on my backup system which I haven’t updated for a while. It looks to me like a Nest change which is causing a login problem, very frustrating. I also kept my original Nest login and 2 factor authentication off. I would appreciate any help.

This is the command line response:

<head><title>406 Not Acceptable</title></head>
<body bgcolor="white">
<center><h1>406 Not Acceptable</h1></center>
<hr><center>nginx</center>
</body>
</html>
 in /home/homeassistant/.homeassistant/www/nest-php-api.php:30
Stack trace:
#0 /home/homeassistant/.homeassistant/www/priory-boost-hw.php(22): Nest->__construct('myusername', 'mypassword')
#1 {main}
  thrown in /home/homeassistant/.homeassistant/www/nest-php-api.php on line 30

Nest web change has broken the upstream script. See the comments here:

http://www.aimlesswandering.uk/web/2017/11/nest-thermostat-hot-water-controlled-by-alexa/

Would love to see this fixed

1 Like