Read the statement by Michael Teeuw here.
MMM-DynamicWeather Failed getting api: 401
-
@sdetweil – Thanks Sam. I’m certain the API key is good, as I can format queries as web addresses and paste them into the browser and get openweathermap to return the data.
I didn’t install the pull request.
-
@JohnGalt you NEED to install the pull request to get the updated module code using the 3.0 api…
-
@sdetweil Yes, I realize that… I guess I skipped some thoughts that were rolling around in my head but never made it to the keyboard: I had disabled the module, figuring I would just wait for it to be updated.
I should have some time this evening to go in and install the pull request - I will let you know what happens.
-
@JohnGalt yes, but its unlikely to be updated by the author, but you have the pull request as a substitute/the update
-
@sdetweil – OK, so I did install the pull request, and it’s not working. After following the steps above, I still get errors:
Actions taken: - git fetch origin pull/52/head:with_30_apikey - realized I misread the instructions, so went back, and did the reset... - git reset --hard HEAD - git fetch origin pull/52/head:with_30_apikey - enable module in config.js - pm2 restart MM ] Results as shown in pm2 logs, which was running at the time: Immediate Results: 0|MagicMirror | [2024-11-11 17:02:25.687] [ERROR] [MMM-DynamicWeather] Failed getting api: AggregateError [ETIMEDOUT]: 0|MagicMirror | at internalConnectMultiple (node:net:1117:18) 0|MagicMirror | at internalConnectMultiple (node:net:1185:5) 0|MagicMirror | at Timeout.internalConnectMultipleTimeout (node:net:1711:5) 0|MagicMirror | at listOnTimeout (node:internal/timers:575:11) 0|MagicMirror | at process.processTimers (node:internal/timers:514:7) { 0|MagicMirror | code: 'ETIMEDOUT', 0|MagicMirror | [errors]: [ 0|MagicMirror | Error: connect ETIMEDOUT 38.89.70.82:443 0|MagicMirror | at createConnectionError (node:net:1647:14) 0|MagicMirror | at Timeout.internalConnectMultipleTimeout (node:net:1706:38) 0|MagicMirror | at listOnTimeout (node:internal/timers:575:11) 0|MagicMirror | at process.processTimers (node:internal/timers:514:7) { 0|MagicMirror | errno: -110, 0|MagicMirror | code: 'ETIMEDOUT', 0|MagicMirror | syscall: 'connect', 0|MagicMirror | address: '38.89.70.82', 0|MagicMirror | port: 443 0|MagicMirror | }, 0|MagicMirror | Error: connect ENETUNREACH 2604:86c0:5001:b::2:443 - Local (:::0) 0|MagicMirror | at internalConnectMultiple (node:net:1181:16) 0|MagicMirror | at Timeout.internalConnectMultipleTimeout (node:net:1711:5) 0|MagicMirror | at listOnTimeout (node:internal/timers:575:11) 0|MagicMirror | at process.processTimers (node:internal/timers:514:7) { 0|MagicMirror | errno: -101, 0|MagicMirror | code: 'ENETUNREACH', 0|MagicMirror | syscall: 'connect', 0|MagicMirror | address: '2604:86c0:5001:b::2', 0|MagicMirror | port: 443 0|MagicMirror | } 0|MagicMirror | ] 0|MagicMirror | } 0|MagicMirror | [2024-11-11 17:02:25.701] [LOG] [MMM-OpenWeatherMapForecast] 11-Nov-24 17:02 ** ERROR ** fetch failed Periodic Fetch results: 0|MagicMirror | [2024-11-11 17:12:23.363] [ERROR] [MMM-DynamicWeather] Failed getting api: 401 0|MagicMirror | [2024-11-11 17:12:29.902] [INFO] Newsfeed-Fetcher: Broadcasting 30 items. 0|MagicMirror | [2024-11-11 17:12:30.278] [INFO] Newsfeed-Fetcher: Broadcasting 24 items. 0|MagicMirror | [2024-11-11 17:12:30.611] [INFO] Newsfeed-Fetcher: Broadcasting 25 items. 0|MagicMirror | [2024-11-11 17:17:29.108] [INFO] Newsfeed-Fetcher: Broadcasting 40 items. 0|MagicMirror | [2024-11-11 17:22:23.126] [INFO] [MMM-DynamicWeather] Getting Weather API data 0|MagicMirror | [2024-11-11 17:22:23.324] [ERROR] [MMM-DynamicWeather] Failed getting api: 401
-
@JohnGalt said in MMM-DynamicWeather Failed getting api: 401:
- git fetch origin pull/52/head:with_30_apikey - enable module in config.js
oops… I forgot a step
- git fetch origin pull/52/head:with_30_apikey - get checkout with_30_apikey <==== THIS STEP - enable module in config.js
I just tested on my system and it worked ok
I REALLY dont’t like the module shipping node_modules folder, cause if this is one a different platform it will cause trouble
so I would do (and did event tho it worked)cd ~/MagicMirror sudo rm -rf node_modules npm install
my test config
{ module: "MMM-DynamicWeather", position: "fullscreen_above", config: { // See https://github.com/scottcl88/MMM-DynamicWeather for more information. api_key: "my 3.0 apikey", lat: "38.89511000", // random lon: "-77.03637000" // random } },
-
@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!
-
@JohnGalt awesome! computers are very picky!
-