mochman / MMM-Nest

Display Nest Thermostat data on your MagicMirror
15 stars 8 forks source link

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