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-DynamicWeather Failed getting api: 401

    Scheduled Pinned Locked Moved Solved Troubleshooting
    21 Posts 4 Posters 2.0k Views 4 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.
    • J Offline
      JohnGalt
      last edited by

      Each time this module tries to check the weather, I see the following using pm2 logs:

      0|MagicMirror  | [2024-10-26 10:13:25.994] [INFO]  [MMM-DynamicWeather] Getting Weather API data
      0|MagicMirror  | [2024-10-26 10:13:26.195] [ERROR] [MMM-DynamicWeather] Failed getting api:  401
      

      At the last restart I got these errors at startup - the gbm_wrapper errors before the MMM-DynamicWeather specific errors may or may not be connected, I have no idea.

      0|MagicMir | [2505:1026/090323.361257:ERROR:gbm_wrapper.cc(74)] Failed to get fd for plane.: No such file or directory (2)
      0|MagicMir | [2505:1026/090323.363120:ERROR:gbm_wrapper.cc(257)] Failed to export buffer to dma_buf: No such file or directory (2)
      0|MagicMir | [2505:1026/090323.363549:ERROR:gbm_wrapper.cc(74)] Failed to get fd for plane.: No such file or directory (2)
      0|MagicMir | [2505:1026/090323.363873:ERROR:gbm_wrapper.cc(257)] Failed to export buffer to dma_buf: No such file or directory (2)
      0|MagicMir | [2024-10-26 09:03:28.184] [ERROR] [MMM-DynamicWeather] Failed getting api:  AggregateError [ETIMEDOUT]:
      0|MagicMir |     at internalConnectMultiple (node:net:1117:18)
      0|MagicMir |     at internalConnectMultiple (node:net:1185:5)
      0|MagicMir |     at Timeout.internalConnectMultipleTimeout (node:net:1711:5)
      0|MagicMir |     at listOnTimeout (node:internal/timers:575:11)
      0|MagicMir |     at process.processTimers (node:internal/timers:514:7) {
      0|MagicMir |   code: 'ETIMEDOUT',
      0|MagicMir |   [errors]: [
      0|MagicMir |     Error: connect ETIMEDOUT 38.89.70.158:443
      0|MagicMir |         at createConnectionError (node:net:1647:14)
      0|MagicMir |         at Timeout.internalConnectMultipleTimeout (node:net:1706:38)
      0|MagicMir |         at listOnTimeout (node:internal/timers:575:11)
      0|MagicMir |         at process.processTimers (node:internal/timers:514:7) {
      0|MagicMir |       errno: -110,
      0|MagicMir |       code: 'ETIMEDOUT',
      0|MagicMir |       syscall: 'connect',
      0|MagicMir |       address: '38.89.70.158',
      0|MagicMir |       port: 443
      0|MagicMir |     },
      0|MagicMir |     Error: connect ENETUNREACH 2604:86c0:5001:b::2:443 - Local (:::0)
      0|MagicMir |         at internalConnectMultiple (node:net:1181:16)
      0|MagicMir |         at Timeout.internalConnectMultipleTimeout (node:net:1711:5)
      0|MagicMir |         at listOnTimeout (node:internal/timers:575:11)
      0|MagicMir |         at process.processTimers (node:internal/timers:514:7) {
      0|MagicMir |       errno: -101,
      0|MagicMir |       code: 'ENETUNREACH',
      0|MagicMir |       syscall: 'connect',
      0|MagicMir |       address: '2604:86c0:5001:b::2',
      0|MagicMir |       port: 443
      0|MagicMir |     }
      0|MagicMir |   ]
      0|MagicMir | }
      

      Config code for this module is:

      {module: 'MMM-DynamicWeather', // https://github.com/scottcl88/MMM-DynamicWeather
              disabled: false,
              position: "fullscreen_above",
              config: {
                apiKey: "123456789xxx", // 19 Sep 2024 Ver 3
                lat: "12.34567", lon: "-123.4567, // Hometown
                weatherInterval: 600000, // 10 minutes
                hideFlower: false, //display animation at the bottom of a flower growing if the current weather is >
                realisticClouds: true,
                      }
                      },
      

      Any ideas on troubleshooting this?

      wishmaster270W 1 Reply Last reply Reply Quote 0
      • J Offline
        JohnGalt @sdetweil
        last edited by

        @sdetweil --Sam, thanks!! for your patience. I do have this resolved, at least in one MM instance.

        I did go back and commit the one command I missed as advised above, but still no joy. But then, …

        Strangely enough while I WAS using a valid ver 3 API key, you were right in saying my issue was an invalid API key in the call… After doing the above I was still getting a 401 error, so I accepted that the computers were doing exactly what I was telling them to do [as opposed to what I WANTED them to do]. I discovered the root cause after copying in the API key again and comparing. What I found was this:

         apiKey: "123456789"
        

        When it should have been this:

        api_key: "123456789"
        

        I’m not sure why I started using “apiKey” instead of “api_key”, but putting it the way the module wants it fixed my issue. Thanks again!

        S 1 Reply Last reply Reply Quote 0
        • wishmaster270W Offline
          wishmaster270 Module Developer @JohnGalt
          last edited by

          @JohnGalt
          Hi,

          this module uses the old OpenWeater Map Api in version 2.5 to get the current weather.
          This version of the Api stopped working recently.
          The module needs to be migrated to the new version 3 Api.
          As the data is returned in nearly the same format as before it might be enough to change the version in the hard coded Url of 2.5 to 3.

          You will also need to get a new Api key for the new version. You will need to provide credit card information but 1000 calls a day a free.

          J 1 Reply Last reply Reply Quote 1
          • J Offline
            JohnGalt @wishmaster270
            last edited by

            @wishmaster270 – Thanks for the quick reply. I do already have the ver 3.0 API key, so I guess we will see if the module gets updated.

            Meanwhile, would you happen to already know where the 2.5 call is hard-coded? I’d be willing to tinker and see if I can get it to work while waiting for an/the update to accommodate ver 3.0 APIs.

            wishmaster270W 1 Reply Last reply Reply Quote 0
            • wishmaster270W Offline
              wishmaster270 Module Developer @JohnGalt
              last edited by

              @JohnGalt
              Hi,

              you will need to change line 108 in MMM-DynamicWeather.js and line 130 in MMM-DynamicWeather.ts.

              Both show this at the moment:

              this.url = "https://api.openweathermap.org/data/2.5/weather?appid=" + this.config.api_key; 
              

              And you will need to change it to:

              this.url = "https://api.openweathermap.org/data/3.0/onecall?appid=" + this.config.api_key;
              

              But no guarantee this will work.

              KristjanESPERANTOK J 2 Replies Last reply Reply Quote 0
              • KristjanESPERANTOK Offline
                KristjanESPERANTO Module Developer @wishmaster270
                last edited by

                I created a PR to switch to the new API :-)

                https://github.com/scottcl88/MMM-DynamicWeather/pull/52

                S 1 Reply Last reply Reply Quote 0
                • S Offline
                  sdetweil @KristjanESPERANTO
                  last edited by

                  @KristjanESPERANTO so, he could checkout your pr
                  in the module folder

                  git fetch origin pull/52/head:with_30_apikey
                  

                  Sam

                  How to add modules

                  learning how to use browser developers window for css changes

                  J 1 Reply Last reply Reply Quote 0
                  • J Offline
                    JohnGalt @wishmaster270
                    last edited by

                    @wishmaster270 --Thanks! I appreciate the effort, but it didn’t work for me. I will wait for your PR to go thru…

                    1 Reply Last reply Reply Quote 0
                    • J Offline
                      JohnGalt @sdetweil
                      last edited by

                      @sdetweil – Thanks, Sam.

                      If I want to try this, can I just do it in the module folder now, or do I go back in there first and undo the edits I performed manually? I’m not clear on whether it does or doesn’t make a difference.

                      S 1 Reply Last reply Reply Quote 0
                      • S Offline
                        sdetweil @JohnGalt
                        last edited by sdetweil

                        @JohnGalt in the module folder

                        if you made file changes, you should revert those first

                        git reset --hard HEAD 
                        

                        Sam

                        How to add modules

                        learning how to use browser developers window for css changes

                        J 1 Reply Last reply Reply Quote 0
                        • J Offline
                          JohnGalt @sdetweil
                          last edited by

                          @sdetweil – I intended to try the above, but the MagicMirror indicated it was due for an update, so I ran your update script first… Now it won’t run.

                          Rather than hijacking this thread, I will put the particulars in a new thread.

                          i just didn’t want if to look like I left this one hanging out there…

                          S 1 Reply Last reply Reply Quote 0
                          • 1
                          • 2
                          • 3
                          • 1 / 3
                          • 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