/MMM-Nest

Display Nest Thermostat data on your MagicMirror

Primary LanguageJavaScript

Module: MMM-Nest

The MMM-Nest module is a MagicMirror addon. This module displays your Nest's data on your Mirror

Visual Display Can show a Nest, Protect, or both together.
List Display

Installing the module

run git clone https://github.com/mochman/MMM-Nest.git from inside your MagicMirror/modules folder

Getting the Nest Token

Run getToken.sh. This will walk you through getting a token to allow this module to get data from your Nest. It requires you to set up a Nest Developer Account.

Known Issues

If you have a family account, make sure you get the PIN with your master account's login (not a account you shared the thermostat with).

Using the module

To use this module, add it to the modules array in the config/config.js file:

modules: [
	{
		module: 'MMM-Nest',
		position: 'bottom_right',	// This can be any of the regions.
									// Best results in one of the side regions like: top_left
		config: {
			// See 'Configuration options' for more information.
			token: '1234567890zbcdefghijkl', //Nest Token - REQUIRED
			thermNum: 3, //Choose which thermostat - REQUIRED if you have multiple thermostats and want to use visual mode
			protectNum: 2, //Choose which protect - REQUIRED if you have multiple protects and want to use visual mode
			displayMode: "both", //What data to display
			displayType: "visual" //Choose either the visual display or a list
		}
	}
]

Choosing your thermostat

Do not enter a thermNum: or protectNum: in your config.js. The module will list your available thermostats and/or alarms. You will then be presented with a list to pick from.

Choose Thermostat

Configuration options

The following properties can be configured:

Option Description
token Used to get data from your Nest

Example: c.alkjsfkljadsfj234....
This value is REQUIRED
thermNum Used to choose which thermostat is shown

Example: 2
This value is REQUIRED only if you have multiple thermostats
displayMode Choose which of hardware is displayed

Possible Values: "nest","protect","both"
Default value: "both"
displayType Choose how the data is displayed

Possible values: "list", "visual"
Default value: "visual"
units What units to use. Specified by config.js

Possible values: config.units = Specified by config.js, metric = Celsius, imperial =Fahrenheit
Default value: config.units
updateInterval How often this refreshes

Example: 60000
Nest recommends a call every minute or greater.
Default value: 60000