Read the statement by Michael Teeuw here.
Weather module config
-
Just to clarify, I’m talking about the ‘weather’ module, NOT the ‘current weather’ or 'weather forecast" modules. I have added it to my config.js file with some configurations, as outlined in the documentation for the ‘weather’ module, but it wont run. Question for module configs, do I use
"true",or'true',to encapsulate my values? Its seems to vary depending on what I’m reading. Here is my config.js script:/* Magic Mirror Config Sample * * By Michael Teeuw http://michaelteeuw.nl * MIT Licensed. * * For more information on how you can configure this file * See https://github.com/MichMich/MagicMirror#configuration * */ var config = { address: "localhost", // Address to listen on, can be: // - "localhost", "127.0.0.1", "::1" to listen on loopback interface // - another specific IPv4/6 to listen on a specific interface // - "0.0.0.0", "::" to listen on any interface // Default, when address config is left out or empty, is "localhost" port: 8080, ipWhitelist: ["127.0.0.1", "::ffff:127.0.0.1", "::1"], // Set [] to allow all IP addresses // or add a specific IPv4 of 192.168.1.5 : // ["127.0.0.1", "::ffff:127.0.0.1", "::1", "::ffff:192.168.1.5"], // or IPv4 range of 192.168.3.0 --> 192.168.3.15 use CIDR format : // ["127.0.0.1", "::ffff:127.0.0.1", "::1", "::ffff:192.168.3.0/28"], useHttps: false, // Support HTTPS or not, default "false" will use HTTP httpsPrivateKey: "", // HTTPS private key path, only require when useHttps is true httpsCertificate: "", // HTTPS Certificate path, only require when useHttps is true language: "en", timeFormat: 24, units: "metric", // serverOnly: true/false/"local" , // local for armv6l processors, default // starts serveronly and then starts chrome browser // false, default for all NON-armv6l devices // true, force serveronly mode, because you want to.. no UI on this device modules: [ { module: "currentweather", position: "top_right", config: { location: "Santa Barbara", locationID: "5392952", //ID from http://bulk.openweathermap.org/sample/city.list.json.gz; unzip the gz file and find your city appid: "112847e0ff924d7f26338d5873e7be3d" } }, { module: "weatherforecast", position: "top_right", header: "Weather Forecast", config: { location: "Santa Barbara", locationID: "5392952", //ID from http://bulk.openweathermap.org/sample/city.list.json.gz; unzip the gz file and find your city appid: "xxxxxxxxxxxxxx" } }, { module: "weather", position: "top_left", config: { weatherProvider: "weathergov", units: "metric", roundTemp: "true", degreeLabel: "true", updateInterval" "3600000", colored: "true", showPrecipitationAmount: "true", apiBase: "https://api.weather.gov/points/", weatherEndpoint: "/forecast", lat: "xxx.xxxxxx", lon: "xxx.xxxxxx", type: "forecast" } }, ] }; /*************** DO NOT EDIT THE LINE BELOW ***************/ if (typeof module !== "undefined") {module.exports = config;}and here are the errors I’m getting:
[2020-04-28 11:31:59.700] [ERROR] WARNING! Could not validate config file. Starting with default configuration. Please correct syntax errors at or above this line: /home/pi/MagicMirror/config/config.js:65 updateInterval" "3600000", ^^^ SyntaxError: Unexpected string at Module._compile (internal/modules/cjs/loader.js:722:23) at Object.Module._extensions..js (internal/modules/cjs/loader.js:798:10) at Module.load (internal/modules/cjs/loader.js:645:32) at Function.Module._load (internal/modules/cjs/loader.js:560:12) at Module.require (internal/modules/cjs/loader.js:685:19) at require (internal/modules/cjs/helpers.js:16:16) at loadConfig (/home/pi/MagicMirror/js/app.js:69:12) at App.start (/home/pi/MagicMirror/js/app.js:210:3) at Object.<anonymous> (/home/pi/MagicMirror/js/electron.js:115:7) at Module._compile (internal/modules/cjs/loader.js:786:30) -
@mrlowndes for numbers or true/false, no quotes, all else with quotes, doesn’t matter which kind as long as both ends are the same
in a list it can be either for each entry, as long as both ends are the sameupdateInterval" “3600000”,
should be name: value
so
updateInterval : “3600000”, -
@sdetweil thanks. That got rid of the errors, now when I
npm startthe weather module seems to be just loading indefinitely. Any ideas? -
@mrlowndes did u get an apiid? ‘loading’ means waiting for data … so, the component getting the data did not succeed
npm start
then look at the messagesor possibly open the developers window (f12 or ctrl-shift-i) select the console tab, and scroll up looking for errors…
-
@mrlowndes said in Weather module config:
index):1 Refused to apply style from ‘http://localhost:8080/css/custom.css’ because its MIME type (‘text/html’) is not a supported stylesheet MIME type, and strict MIME checking is enabled.
ok, don’t know for the slow network.
but for this one
do
touch ~/MagicMirror/css/custom.css -
@sdetweil Thanks for the tip. The errors were at the bottom. This is what I found:
Failed to load resource: the server responded with a status of 400 () weathergov.js:55 Could not load data ... XMLHttpRequest weather.js:151 New weather information available. main.js:301 [Intervention] Slow network is detected. See https://www.chromestatus.com/feature/5636954674692096 for more details. Fallback font will be used while loading: http://localhost:8080/vendor/node_modules/weathericons/font/weathericons-regular-webfont.woff api.openweathermap.o…xxxxxxxxxxxxxxxx:1 Failed to load resource: the server responded with a status of 401 (Unauthorized) weatherforecast.js:266 weatherforecast: Your AppID does not support long term forecasts. Switching to fallback endpoint. (index):1 Refused to apply style from 'http://localhost:8080/css/custom.css' because its MIME type ('text/html') is not a supported stylesheet MIME type, and strict MIME checking is enabled -
@sdetweil do you know where I could get an appid for weathergov? The documentation for the module is very thin
-
no key required for that point… only works for US locations
-
@sdetweil Do you have any suggestions as to what I should try next?
-
@mrlowndes u can test that the api works from your location
put this in your browser
https://api.weather.gov/points/LAT,LON/forecastreplace the LAT,LON
by the values from the google maps (maps.google.com) of your location…
in the url, you will see two numbers xx.yyyyyy,-uu.zzzzzz
just cut/paste that whole set of numbers and paste over the LAT,LON (notice the comma comes with the numbers too) -
@sdetweil Thanks so much, the documentation doesn’t make that clear at all
-
@mrlowndes no, this is just a test… making sure the api would work as called by the module
-
@sdetweil yeah, no dice. This came up in my browser
"title": "Data Unavailable For Requested Point", "type": "https://api.weather.gov/problems/InvalidPoint", "status": 404, "detail": "Unable to provide data for requested point 34.5444,119.7913", "instance": "https://api.weather.gov/requests/8199fbe2-ac6c-4c7c-b109-ed162794f780" -
@mrlowndes as I said, only works for US locations
-
@sdetweil yeah, it is a US location
-
@mrlowndes how can +119 be US location , mine is minus 97 (west of london)
-
@sdetweil I’m using the lat long listed here: https://forecast.weather.gov/MapClick.php?lat=34.54167&lon=-119.80917#.XqhoOJp7kWr
-
@mrlowndes u forgot the - sign
34.5444,119.7913", -
@sdetweil haha well that was dumb of me. I copied it from the web page where there isn’t a minus, but in the URL there obviously is. Thanks so much! got it working!
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