Skip to content
Home automation between Nest Thermostat and A/C w/ BeagleBone
Branch: master
Clone or download
Pull request Compare This branch is 2 commits ahead of google:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

This is not an official Google product.


Controls output pins of a beaglebone board in sync with Nest Thermostat states.

Example usage

Connect 120v air conditioner to Nest via Wi-Fi instead of using 24v HVAC wires.

Nest would think that it controls AC via 24v HVAC wire, but in reality your beaglebone would control it instead.

  1. Hardware configuration:
    1. BeagleBone Black w/ Wi-Fi module and external power source.
    2. PowerSwitch Tail II (PST2) in between your AC and power outlet.
    3. BeagleBone pin P9_2 connected to "-" PST2 input.
    4. BeagleBone pin P9_12 connected to "+" PST2 input.
    5. Wire jammed in Nest Y1 socket, accepting error message once.
  2. Software configuration:
    1. Ubuntu 14.04
    2. NodeJs 0.10 (0.12 is not compatible with bonescript as of April 2015)
    sudo apt-get install npm nodejs-legacy
    1. NodeNest service & configuration:
      1. git clone
      2. cd node-nest
      3. Config should be edited to add your login/pass for Nest: nano config.js
    2. Required NodeJs packages: npm install bonescript unofficial-nest-api
    3. Update bonescript to the nightly:
      cd ..
      git clone
      cp -v bonescript/src/* node-nest/node_modules/bonescript/
      cp -v bonescript/package.json node-nest/node_modules/
      cd node-nest
      npm install ffi
    4. Test running: sudo node index.js
    5. Running as a service (be careful, this opens a potential security hole as service runs under root):
      1. sudo ln -sv ~/node-nest/index.js /usr/local/bin/node-nest
      2. sudo cp node-nest.conf /etc/init/
      3. sudo service node-nest start
      4. Check: sudo tail -F /var/log/upstart/node-nest.log

Now your air conditioner should be controlled by Nest Thermostat. In real time.


  • Could not read or write humidifier status as API exposed by Nest is limited, you can map your humidifier to a fan to trigger it once a day.
You can’t perform that action at this time.