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.

  • 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.

  • Brandon Heimdale

    so everything worked up until the point I, for some unknown reason, changed the device name in the Home app. Needless to say I cannot see the Nest device in any app. Wondering what I should do?

  • Raffaele Cantafio

    Hey , Ive got the terminal part, added the “devices app” and have entered the code from terminal to pair the homebridge. Unfortunately it tells me that it is unable to pair with the device . Any suggestions?

    thank you
    R

  • David Capo

    in iTunes/App Store, Devices description says it requires at least one HomeKit controlled device. Is that necessary to make this work ???

  • mark

    when I run nom in the terminal window I enter sudo npm install -g homebridge and click enter. It then asks for a password. It that my system password? Nest Password? Either way, it appears to be locked. after hitting enter it says “Password:” with a key icon indicating it is locked. It doesn’t allow me to enter anything. help please.

    • mark

      figured it out. just type the password (it won’t appear as you type).

  • mark

    made it through step 6. entered homebridge in terminal and got the response below. I open Devices on iOS and it can’t find the homebridge. What am I doing wrong?

    Scan this code with your HomeKit App on your iOS device to pair with Homebridge:
    ┌────────────┐

    │ 031-45-154 │

    └────────────┘
    [5/9/2017, 10:47:47 AM] Homebridge is running on port 49437.

  • Aaron Wesley Bush

    So step 4 is a big no go… Cant find folder doesnt exist…. any ideas.. i downloaded the same text editor one question i have is are we when editing the scrip suppose to change the pin to the pin we have on our connect bridge or leave it as is… i know you didnt specify to do so i was just wondering ive tried both ways no luck

  • Brad Montgomery

    Its saying there is an problem reading my config.json file