{"id":13830586,"url":"https://github.com/cowboysdude/MMM-NOAA3","last_synced_at":"2025-07-09T12:30:34.158Z","repository":{"id":33386240,"uuid":"473401046","full_name":"cowboysdude/MMM-NOAA3","owner":"cowboysdude","description":null,"archived":false,"fork":false,"pushed_at":"2024-07-26T16:54:26.000Z","size":8770,"stargazers_count":2,"open_issues_count":13,"forks_count":2,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-08-05T10:12:07.353Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cowboysdude.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2022-03-24T00:18:17.000Z","updated_at":"2024-08-02T16:21:43.000Z","dependencies_parsed_at":"2024-03-09T00:35:19.171Z","dependency_job_id":"596c8000-36f6-4936-8eba-a257ec432dc3","html_url":"https://github.com/cowboysdude/MMM-NOAA3","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cowboysdude%2FMMM-NOAA3","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cowboysdude%2FMMM-NOAA3/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cowboysdude%2FMMM-NOAA3/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cowboysdude%2FMMM-NOAA3/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cowboysdude","download_url":"https://codeload.github.com/cowboysdude/MMM-NOAA3/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225539450,"owners_count":17485334,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-04T10:01:02.574Z","updated_at":"2024-11-20T11:31:00.033Z","avatar_url":"https://github.com/cowboysdude.png","language":"JavaScript","funding_links":[],"categories":["Weather"],"sub_categories":[],"readme":"This repository is maintained by Cowboysdude \r\n\r\nDue to Darksky no longer offering free api keys this module is quickly reaching the deprecated state.\r\nWe've lost 3 providers so far in the past year..... There are no new providers offering api keys and \r\nat this point you can use at your own risk.  \r\n\r\n[This is the third version of this module for MagicMirror2]\r\n\r\n# MMM-NOAA V3.0\r\n\r\n**Weather for your mirror**\r\n\r\n* Also UV index and Air Quality Index.  [Warning AQI may not work in all areas].\r\n\r\n## Examples\r\n\r\nSee below!!  \r\n\r\n* Automatically adjusts language and all other settings based on your config.js!\r\n\r\n## Your terminal installation instructions\r\n\r\n* `git clone https://github.com/cowboysdude/MMM-NOAA3` into the `~/MagicMirror/modules` directory.\r\n*  `cd MMM-NOAA3`\r\n*  `npm install`\r\n\r\n## Get your free API key here [WEATHER, You must also get an AirAPI Key--- see below]\r\n\r\nThere are multiple providers to choose from:  You only need one api from one of these providers below:\r\nRemember not all providers are created equal... Some are a bit better than others :)\r\n\r\n* weatherbit ~ https://www.weatherbit.io/api\r\n* darksky ~ https://darksky.net/dev  //[userlat and userlong ONLY work with this right now] \r\n* weatherunlocked ~ https://developer.weatherunlocked.com/   [provides both api and appid keys, need them both, see example]\r\n* accuweather ~ https://developer.accuweather.com/\r\n* openweather ~ https://openweathermap.org/api \r\n \r\n##    YOU WILL NEED YOUR LATITUDE AND LONGITUDE\r\n You can find them right here: \r\n        https://www.latlong.net/\r\n \r\n## Get your AirKEY from here\r\n\r\n[https://airvisual.com/api](https://airvisual.com/api)\r\n\r\n## Config.js entry and options\r\n\r\nWill automatically select translation file and either F or C by reading your defaults from the config.js file [at the top]\r\nWill default to EN if NO translation file is found.  \r\n   \r\n## Provider name MUST be in the config.js. Here they are:\r\n\t \r\n* weatherbit  \r\n* darksky\r\n* weatherunlocked \r\n* accuweather  \r\n* openweather \r\n    \r\n* For all of them EXCEPT WEATHERUNLOCKED\r\n     ```   {\r\n        module: 'MMM-NOAA3',\r\n\tposition: 'top_left',\r\n        config: {\r\n\t\t    provider: \"must be in quotes\", // From list above\r\n\t\t    apiKey: \"YOUR API KEY\",        // From one of the providers listed above\r\n\t\t    airKey: \"YOUR API KEY\",    \r\n\t        css: \"NOAA3\",                   // THIS MUST CONTAIN A CSS STYLE NAME \r\n\t\tuserlat: \"xxxx\", //MUST HAVE BOTH\r\n\t        userlon: \"xxxx\"  //MUST HAVE BOTH\r\n\t }\r\n         },\r\n\t```\r\n* WeatherUnlocked API Example:\r\n\t```\r\n\t  {\r\n        module: 'MMM-NOAA3',\r\n\tposition: 'top_left',\r\n        config: {\r\n\t\t    provider: \"weatherunlocked\",       \r\n\t\t    apiKey: \"YOUR API KEY\",  \r\n\t\t    appID: \"YOUR APP ID\",  \r\n\t\t    airKey: \"YOUR API KEY\", \r\n\t        css: \"NOAA3\",                  // THIS MUST CONTAIN A CSS STYLE NAME\r\n\t\tuserlat: \"xxxx\", //MUST HAVE BOTH\r\n\t        userlon: \"xxxx\"  //MUST HAVE BOTH\r\n\t }\r\n         },\r\n\t```\r\n\r\n\t\r\nIt seems that when using Accuweather, the zip code needs to be the 6 digit code from accuweather.com's website found after typing in the zip code into their search bar.\r\nFrom Zip Code \"13502\" returns \"329671\"-which is what I put in my config file in order to get it to display local weather.\r\nzip: '329671', //MUST have valid zip Code\r\n\t\r\n* Accuweather Example:\r\n\t```\r\n\t {\r\n        module: 'MMM-NOAA3',\r\n\tposition: 'top_left',\r\n        config: {\r\n\t\tprovider: \"accuweather\",   \r\n\t\tairKey: \"YOUR API KEY\", \r\n\t        css: \"NOAA3\",                 // THIS MUST CONTAIN A CSS STYLE NAME \r\n\t\tuserlat: \"xxxx\", //MUST HAVE BOTH\r\n\t        userlon: \"xxxx\"  //MUST HAVE BOTH\r\n\t\tzip: \"11111\" //MUST have valid zip Code\r\n\t}\r\n    },\r\n\t\r\n## ISSUES\r\n\r\n  While we tried to make NOAA everything a weather module can be, not everyone will give out weather warnings with the free api key.\r\n  Thanks to Wunderground going belly up on the users........ soooooo we suggest that you use this module for warnings-\u003e\t\r\n  \r\n  https://github.com/LukeSkywalker92/MMM-DWD-WarnWeather\r\n  \r\n  This is a weather warning module that will fit the bill nicely :)\r\n  \r\n## UpdateInterval\r\n\r\nVia the config you can change this..... currently it's set to 30 minutes like this -\u003e  updateInterval: 30 * 60 * 1000\r\n\r\nYou can add this to your config.js to change it if you'd like ... like this -\u003e\r\n\r\n    {\r\n        module: 'MMM-NOAA3',\r\n        config: {\r\n\t\t    provider: \"Yahoo\",   \r\n\t\t    airKey: \"YOUR API KEY\", \r\n\t        css: \"NOAA3\",   // THIS MUST CONTAIN A CSS STYLE NAME\r\n\t\t    updateInterval: 15 * 60 * 1000, // every 15 minutes or whatever you choose but make sure you have an api that will allow that many calls per day!!! \r\n\t\t   userlat: \"xxxx\", //MUST HAVE BOTH\r\n\t           userlon: \"xxxx\"  //MUST HAVE BOTH \r\n\t}\r\n    },\r\n\t\r\n## CSS STYLES\r\n\r\n* You can choose one of 5 styles [colors] for NOAA3 \r\n     * MMM-NOAA1\r\n     * MMM-NOAA2\r\n     * MMM-NOAA3\r\n     * MMM-NOAA4\r\n     * and NOW\r\n     * MMM-NOAA5 (smaller foot print!!  USE at own risk, still needs further testing)\r\n\r\n## NOAA1 (Color style #1)  \r\n![](examples/1.png) \r\n\r\n## NOAA2 (Color style #2)  \r\n![](examples/2.png) \r\n\r\n## NOAA3 (Color style #3)  \r\n![](examples/3.png) \r\n\r\n\r\n## NOAA4 (Changes colors automatically)  \r\n\r\nNo plans for this... \r\n\r\n## NOAA5 (More condensed)\r\n\r\nNo plans for this...\r\n\r\n## What's the mouseover?\r\nNow when you mouse over current temp at the top you'll get your forecast.....\r\nWhen you mouseover on the 4 day forecast you'll get your forecast for that day ....(see NOAA4 example above)..  \r\n\r\n## Custom CSS\r\nWhat if I want just plain ole white?  \r\nWell just go to your css directory in MagicMirror2 and open up the css directory and edit your custom.css file like this!  \r\n ```\r\n  .MMM-NOAA3 .rheading {\r\n     background-color:  #000;\r\n     border: none;\r\n     }\r\n  .MMM-NOAA3  .divTableHead {\r\n      color: #fff;\r\n     }  \r\n```  \r\nThat will give you plain old white headings OR pick any color style you want!!  :) Like this-\u003e  \r\n![](examples/plain.png)\r\n     \r\n## Start your mirror . . . enjoy! \r\n  The first time you run it .....you may get an error.  It needs to find your lat/lon.  The 1st time you run it is when it finds it.....after that it will work without issue :)\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcowboysdude%2FMMM-NOAA3","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcowboysdude%2FMMM-NOAA3","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcowboysdude%2FMMM-NOAA3/lists"}