MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.

    MMM-Nest-Status - New module for your Nest thermostats and protect smoke detectors!

    Scheduled Pinned Locked Moved Utilities
    nestthermostatprotectsmoke detector
    65 Posts 18 Posters 53.7k Views 18 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • michael5rM Offline
      michael5r Module Developer @max64
      last edited by

      @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:

      1. 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?)

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

      1. Certainly - add this to your custom.css file 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 !important means 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 classic mode of the thermostat, setting the styles above means you get a nice colored glow when the thermostat is heating or cooling:

      0_1544558664428_8f27c027-ffec-4e95-917f-d92cf4c7148e-image.png

      1. It’s already there - for some reason I just forgot to add it to the documentation. Just add initialLoadDelay with whatever value you want to your configuration. The value is in ms, so if you want a 1 minute delay, set the value to be 60000.

      2. In regards to your observation - that’s a legit bug, thanks for spotting it! The alignment setting 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 null response 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 null error), so check out the latest version (1.3.0) I just pushed - if you use the same token in 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!

      M 1 Reply Last reply Reply Quote 0
      • michael5rM Offline
        michael5r Module Developer
        last edited by

        Btw, for those of you with Nest cameras as well, I’ve just published a new module called mmm-nest-cameras which 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 token for both, they’ll share data streams to avoid unnecessarily pinging the Nest API.

        Check it out here:
        [card:michael5r/mmm-nest-cameras]

        M D 2 Replies Last reply Reply Quote 1
        • M Offline
          max64 @michael5r
          last edited by

          @michael5r

          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.

          1 Reply Last reply Reply Quote 1
          • M Offline
            max64 @michael5r
            last edited by

            @michael5r

            Is Nest Lock status next on your agenda?

            michael5rM 1 Reply Last reply Reply Quote 0
            • michael5rM Offline
              michael5r Module Developer @max64
              last edited by

              @max64 said in MMM-Nest-Status - New module for your Nest thermostats and protect smoke detectors!:

              @michael5r

              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.

              Mykle1M 1 Reply Last reply Reply Quote 0
              • D Offline
                dazza120 @michael5r
                last edited by

                @michael5r no freaking way! You’ve made another module I have to have lol 😂

                1 Reply Last reply Reply Quote 1
                • C Offline
                  culi831
                  last edited by

                  The modules not update after the recent upgrade ???

                  michael5rM 1 Reply Last reply Reply Quote 0
                  • Mykle1M Offline
                    Mykle1 Project Sponsor Module Developer @michael5r
                    last edited by

                    @michael5r

                    Could you give an example of how this is added to the config.js? Please and thank you.

                    electronOptions: {
                        webPreferences: {
                            webSecurity: false
                        }
                    }
                    

                    Create a working config
                    How to add modules

                    michael5rM 1 Reply Last reply Reply Quote 0
                    • michael5rM Offline
                      michael5r Module Developer @Mykle1
                      last edited by

                      @mykle1 said in MMM-Nest-Status - New module for your Nest thermostats and protect smoke detectors!:

                      @michael5r

                      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:

                      0_1544975211760_0b3046c5-0fa1-416a-a1cc-efd9f7065e54-image.png

                      1 Reply Last reply Reply Quote 0
                      • michael5rM Offline
                        michael5r Module Developer @culi831
                        last edited by michael5r

                        @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.0 update 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).

                        1 Reply Last reply Reply Quote 0
                        • bheplerB Offline
                          bhepler Module Developer
                          last edited by

                          Your first module you say? Wow. Coming in strong right out of the gate. Well done!

                          1 Reply Last reply Reply Quote 0
                          • P Offline
                            PhiDeltDexter
                            last edited by

                            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.
                            0_1545141113701_53132113-c340-42bf-b837-e02d56c77fb4-image.png

                            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",
                            

                            0_1545141896559_0ed056eb-08d0-4ad3-a79b-0287d8f391af-image.png
                            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.

                            D michael5rM 2 Replies Last reply Reply Quote 0
                            • D Offline
                              dazza120 @PhiDeltDexter
                              last edited by

                              @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.
                              0_1545141113701_53132113-c340-42bf-b837-e02d56c77fb4-image.png

                              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",
                              

                              0_1545141896559_0ed056eb-08d0-4ad3-a79b-0287d8f391af-image.png
                              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
                              }
                              },

                              1 Reply Last reply Reply Quote 0
                              • michael5rM Offline
                                michael5r Module Developer @PhiDeltDexter
                                last edited by

                                @phideltdexter My bad - there’s a typo in the Read Me, the token should be a string, not an int (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.XXXX with your actual token.

                                P 1 Reply Last reply Reply Quote 0
                                • P Offline
                                  PhiDeltDexter @michael5r
                                  last edited by

                                  @michael5r

                                  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!

                                  0_1545251500930_7743642c-42de-4207-af76-7d84e60c458b-image.png

                                  michael5rM 1 Reply Last reply Reply Quote 0
                                  • michael5rM Offline
                                    michael5r Module Developer @PhiDeltDexter
                                    last edited by

                                    @phideltdexter Great to hear - thanks for the update!

                                    1 Reply Last reply Reply Quote 0
                                    • P Offline
                                      PhiDeltDexter
                                      last edited by

                                      Would you have any way to add the outdoor temperature reading that the Thermostat has?

                                      michael5rM 1 Reply Last reply Reply Quote 0
                                      • michael5rM Offline
                                        michael5r Module Developer @PhiDeltDexter
                                        last edited by

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

                                        1 Reply Last reply Reply Quote 1
                                        • michael5rM Offline
                                          michael5r Module Developer
                                          last edited by

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

                                          And for mmm-nest-cameras:
                                          https://github.com/michael5r/mmm-nest-cameras/releases/tag/1.1.0

                                          1 Reply Last reply Reply Quote 0
                                          • E Offline
                                            eawalker1
                                            last edited by

                                            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?

                                            michael5rM 1 Reply Last reply Reply Quote 0

                                            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
                                            • 1
                                            • 2
                                            • 3
                                            • 4
                                            • 4 / 4
                                            • First post
                                              Last post
                                            Enjoying MagicMirror? Please consider a donation!
                                            MagicMirror created by Michael Teeuw.
                                            Forum managed by Sam, technical setup by Karsten.
                                            This forum is using NodeBB as its core | Contributors
                                            Contact | Privacy Policy