How to control the Nest using HomeKit and Siri

By , Dec 18, 2015

Nest HomeKit Siri Control

The Nest is one of the most popular home automation devices in existence right now, but due to incompatibility with HomeKit, iOS users can’t control their Nest Learning Thermostats using Siri.

Fortunately, a workaround has been found. It’s called Homebridge, and it’s a NodeJS server that runs on your Mac. Homebridge allows iOS devices to interface with incompatible home automation devices like the Nest using HomeKit.

This means that it is now possible to control the Nest with Apple Watch, iPhone, and iPad using Siri. No jailbreak required.

Full video walkthrough

Prerequisites:

To get started with Homebridge you’ll need the following:

  • A Nest
  • A Mac (always-on preferable)
  • A HomeKit capable iOS device
  • Apple Watch (optional)

This basic tutorial is aimed at Nest users, but the same principals work with any home automated hardware. You’ll find tons of available homebridge plugins for all of your favorite automated hardware like Philips Hue lights, WeMo, Harmony Hub, and others. The sky is really the limit here. This tutorial will work with non-Macs as well. You’ll just need to get Homebridge running on your Windows, or Linux box.

Step 1: Download and Install Node.js using the Mature and Dependable package

Step 2: Download config.json, save it to your desktop and edit the file with your favorite text editor to include your Nest username and password

Step 3: Open Terminal and type the following two commands (you will be asked to validate your admin password):

  • sudo npm install -g homebridge
  • sudo npm install -g homebridge-nest
  • homebridge

You will get an error on the last command, that is ok.

Step 4: Open Finder Go Go to Folder… and paste the following and click Go:

  • ~/.homebridge

Step 5: Drag the config.json file from your desktop into the .homebridge folder

Step 6: Open Terminal and type the following command again:

  • homebridge

Step 7: Download Devices from the App Store. It’s a free app that allows you to manage HomeKit devices

Step 8: Launch Devices, allow access to your Home Data, and tap Edit → Create New Room → tap Homebridge under the Add New Devices heading, and tap Add Anyway. If you already have a room configured, you can select that room instead, and add Homebridge to that room.

Step 9: You will now be asked to enter your 8-digit accessory setup code. Tap Enter code manually, and type 987-65-432. You can, if you wish to, change this code in the Config.js file from step 1. Once you enter the code successfully, you should see the Nest Thermostat. Tap the Save button to save the configuration.

You can now use the Devices app to control your Nest. More importantly, however, is the new ability to control the Nest with Siri! This means that you can control your Nest using your voice via your iPhone, iPad, or even your Apple Watch.

I hope that this tutorial was easy to follow and simple to understand. I tried to do my best to take as much guesswork as possible out of the equation. Special shout out to Nick Farina for making such an awesome utility. Please let me know if you have any suggestions or comments in the comment section below.

  • Share:
  • Follow:
  • Jeff

    Got the following error when starting homebridge

    9/28/2016, 6:28:19 PM] Loaded plugin: homebridge-nest
    [9/28/2016, 6:28:19 PM] Registering platform ‘homebridge-nest.Nest’
    [9/28/2016, 6:28:19 PM] —
    /usr/local/lib/node_modules/homebridge/lib/server.js:201
    throw new Error(‘Not a valid username: ‘ + username + ‘. Must be 6 pairs of colon-‘ +
    ^

    Error: Not a valid username: undefined. Must be 6 pairs of colon-separated hexadecimal chars (A-F 0-9), like a MAC address.

  • Robby Glasco

    Is anyone getting an error like this:
    Error: Not a valid username: undefined. Must be 6 pairs of colon-separated hexadecimal chars (A-F 0-9), like a MAC address.

  • Eric Cameron

    Hey… I can’t get anything to work here. It won’t give me the home kit code for some reason. I eliminated the .txt and changed to .json – when I did that it stopped giving me a code. It gave me a code before but said it wouldn’t load the config file… Any suggestions. Also, I have a kevo I’d like to add.