Read the statement by Michael Teeuw here.
MMM-Nest-Status - New module for your Nest thermostats and protect smoke detectors!
-
@max64 said in MMM-Nest-Status - New module for your Nest thermostats and protect smoke detectors!:
Love the module. (and I tried them all)
2 humble requests:
-
Any way to add a transparency setting to the entire graphic so that an underlying background pic can partially show through? (Can that be done via custom.css?)
-
Can you add a “initial polling delay” config option? (similar to what is in the weather forecast module). My use case is a vertical monitor where I have two instances of the module loaded. One in top-right (Upstairs) and one in bottom right (Downstairs). Nest recommends polling of not more than once per minute with separate device per hour and token limits. I set up each instance of the module to use a different token, but as you can only set the ‘updateInterval’ it’s a challenge to get the two modules to stagger the calls. (And I think this is why i was getting “null” response displayed after a while… )
1 observation: when using the “alignment” option, both text and graphics are justified according to the setting. This is OK for “center” and even looks OK for “left”, but it does look odd for “right” where the thermostat graphic itself is flush right of the allocated space (e.g., top-right), but the title text is also right justified (.e.g., Upstairs) and not aligned with the graphic itself. IMHO the text above and below the graphic would look best centered with the graphic, and then the whole block is “aligned” according to the setting chosen.
Again…great work.
- Certainly - add this to your
custom.cssfile and the dial becomes transparent:
.mmm-nest-status .thermostat .circle { background: transparent !important; } .mmm-nest-status .thermostat .dial-classic .dial-circle { fill: transparent !important; }The
!importantmeans that this will also apply when the thermostat is heating or cooling (eg. it will no longer have the blue or orange background). If you only wish for the grey version of the dial to be transparent, remove the!important.If you’re using the
classicmode of the thermostat, setting the styles above means you get a nice colored glow when the thermostat is heating or cooling:
-
It’s already there - for some reason I just forgot to add it to the documentation. Just add
initialLoadDelaywith whatever value you want to your configuration. The value is inms, so if you want a 1 minute delay, set the value to be60000. -
In regards to your observation - that’s a legit bug, thanks for spotting it! The
alignmentsetting should only apply to the graphic itself, not the text inside it. I have pushed an update that fixes it, so if you pull the latest version of the module from github, it should be fixed.
It’s an interesting usecase you have - I hadn’t even thought about using 2 instances of the module to have separate thermostats displayed on the screen in separate locations.
The reason you’re getting the
nullresponse is because of this:
https://developers.nest.com/guides/api/data-rate-limits(I’ve updated the module to display a more helpful error message when that happens.)
Anyway … it’s not a good idea to make 2 separate calls to the Nest API to get the data (that gives you even more of a chance to get that
nullerror), so check out the latest version (1.3.0) I just pushed - if you use the sametokenin both module instances, they’ll only do 1 call to the Nest API and use the sockets to update both thermostats at the same time :thumbs_up:Thanks for the comments!
-
-
Btw, for those of you with Nest cameras as well, I’ve just published a new module called
mmm-nest-cameraswhich shows your camera streams on the mirror as well.When both of my Nest modules are installed on the same mirror and you use the same Nest
tokenfor both, they’ll share data streams to avoid unnecessarily pinging the Nest API.Check it out here:
[card:michael5r/mmm-nest-cameras] -
The right alignment text is perfectly centered over the dial. And the transparent background looks very very good.
Switched the token to the same for both modules and set the updateInterval to 1.5 minutes on both also. No null yet… Using your socket method there’s really no reason to use initialLoadDelay to stagger the API calls.
Many thanks.
-
Is Nest Lock status next on your agenda?
-
@max64 said in MMM-Nest-Status - New module for your Nest thermostats and protect smoke detectors!:
Is Nest Lock status next on your agenda?
I’d love to, but, unfortunately, Nest doesn’t provide API access to their security system.
It seems silly - I mean, at the very least providing the current status (home, home guarding, away guarding) seems like it should be a no-brainer, but for now it’s a no-go.
-
@michael5r no freaking way! You’ve made another module I have to have lol 😂
-
The modules not update after the recent upgrade ???
-
Could you give an example of how this is added to the config.js? Please and thank you.
electronOptions: { webPreferences: { webSecurity: false } } -
@mykle1 said in MMM-Nest-Status - New module for your Nest thermostats and protect smoke detectors!:
Could you give an example of how this is added to the config.js? Please and thank you.
electronOptions: { webPreferences: { webSecurity: false } }Sure - it’s just another object, just like
modules:
-
@culi831 said in MMM-Nest-Status - New module for your Nest thermostats and protect smoke detectors!:
The modules not update after the recent upgrade ???
Both the nest-status and nest-cameras modules should be working just fine - what issue are you having?
Bear in mind that the latest
1.3.0update added socket notifications for data - which means you will need to restart your MagicMirror application in order for it to receive data, you can’t just reload the browser page (you’ll only have to do this this one time, though). -
Your first module you say? Wow. Coming in strong right out of the gate. Well done!
-
Love the screenshots, its exactly what I am looking for for a dashboard. However I cannot get it to load. I have gone through as much troubleshooting as I can think of, including starting over from scratch with a new RPi image.
I go through the steps for setup and enter the numbers necessary from my Nest Developer account, PIN etc. It gives me the attached response with a token.

The issues that the token comes across as
token:"c.Ythenabunchofletters thoseletterscontinue } }So my question is - is the "c. part of the token? I have tried copying the whole thing and it throws an error when reloading MM.
module: "mmm-nest-status", position: "lower_third", config: { token:"c.Yblah moreletters } }I have tried copying the "c.yblah without an end quote and add a , and it throws an error.
token:"c.Yblah,When I run config:check in MagicMirror folder it says there are no syntax errors but when I reload MM it throws an error.
I have tried adding a " to the end and a , and MM loads, but my icon looks like this:
token:"c.Yblah",
The README shows as an int for the type so I should not need the " ", but thats the only way to make MM load.I have also tried all of the above steps without the c. and it still shows the loading icon.
I apologize if this is something very simple that I just cannot figure out, so any help would be appreciated.
-
@phideltdexter said in MMM-Nest-Status - New module for your Nest thermostats and protect smoke detectors!:
Love the screenshots, its exactly what I am looking for for a dashboard. However I cannot get it to load. I have gone through as much troubleshooting as I can think of, including starting over from scratch with a new RPi image.
I go through the steps for setup and enter the numbers necessary from my Nest Developer account, PIN etc. It gives me the attached response with a token.

The issues that the token comes across as
token:"c.Ythenabunchofletters thoseletterscontinue } }So my question is - is the "c. part of the token? I have tried copying the whole thing and it throws an error when reloading MM.
module: "mmm-nest-status", position: "lower_third", config: { token:"c.Yblah moreletters } }I have tried copying the "c.yblah without an end quote and add a , and it throws an error.
token:"c.Yblah,When I run config:check in MagicMirror folder it says there are no syntax errors but when I reload MM it throws an error.
I have tried adding a " to the end and a , and MM loads, but my icon looks like this:
token:"c.Yblah",
The README shows as an int for the type so I should not need the " ", but thats the only way to make MM load.I have also tried all of the above steps without the c. and it still shows the loading icon.
I apologize if this is something very simple that I just cannot figure out, so any help would be appreciated.
So yours is like this try belows config just put in your token number
{
module: ‘mmm-nest-status’,
position: ‘bottom_left’, // pick whichever position you want
config: {
token: “c.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX”,
displayMode: ‘all’,
displayType: ‘list’,
thermostatsToShow: ‘all’,
units: ‘metric’,
thermostatSize: ‘small’,
alignment: ‘left’,
// … and whatever else configuration options you want to use
}
}, -
@phideltdexter My bad - there’s a typo in the Read Me, the
tokenshould be astring, not anint(I have updated the module now to reflect this).Try this in your config:
{ module: "mmm-nest-status", position: "lower_third", config: { token: "c.XXXXXXXXXX", } },where, of course, you replace
c.XXXXwith your actual token. -
Just wanted to update you. I needed to update both the mmm-nest-status and MM overall and now it appears to be working fine. Thank you for your clarification!

-
@phideltdexter Great to hear - thanks for the update!
-
Would you have any way to add the outdoor temperature reading that the Thermostat has?
-
@phideltdexter said in MMM-Nest-Status - New module for your Nest thermostats and protect smoke detectors!:
Would you have any way to add the outdoor temperature reading that the Thermostat has?
Unfortunately, no - the outdoor temperature reading on a Nest thermostat isn’t actually coming from Nest; they send your location data to the Weather Channel (yes, really!) and then show the returned value on the thermostat itself.
As such, they don’t include the outdoor temperature as part of their API data.
-
Just wanted to announce that there’s a new version out of both my Nest modules!
I added functionality to support Paviro’s MMM-PIR-Sensor module meaning that the modules can now be suspended & resumed based on movement detected through a PIR sensor (or whatever else you’re using for motion detection).
Check out the release notes here:
https://github.com/michael5r/mmm-nest-status/releases/tag/1.4.0And for
mmm-nest-cameras:
https://github.com/michael5r/mmm-nest-cameras/releases/tag/1.1.0 -
This is my first module I am attempting to install, and keep getting a Nest API Error:null. Total noob here, but I have registered as a developer, obtained Nest token/pincode, and believe I input code correctly into config.js file per below.
module: "mmm-nest-status", position: "top_right", config: { token: "my8characterpinfromnest", displayType: "grid", displayMode: "all", thermostatsToShow: "all",Any ideas how to resolve the API issue?
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login
