Read the statement by Michael Teeuw here.
Weatherunderground - currently - hourly - daily - configurable
-
Hi @RedNax
Could you explain the ‘pws’ attribute a little please?
What’s ‘loctype’? Are there any other valid values?‘locid’ is giving a little trouble. I can’t find anything on Wunderground about it, but if I use the ‘Search Locations’ tool, and when my area comes up, pick a different station (one closer to where I am), the url changes to this:
https://www.wunderground.com/cgi-bin/findweather/getForecast?query=pws:IBATTLE3&MR=1
So I’ve put your example config into config.js, set my apikey, and changed the locid to IBATTLE3.I left the default weather module in the config file while I was getting your one set up, and when they were both on screen they seemed to be giving weather for two different places as the sunrise times were different by about an hour so I’m really not confidant that I’ve got the correct locid here…
Many thanks.
-
Your api-url would be this:
http://api.wunderground.com/api//conditions/forecast10day/astronomy/alerts/lang:NL/q/pws:IBATTLE3.json
pws stands for personal weather station.
Did you set your locale correctly in config.js? The sunset time for the wunderground module comes from the weatherunderground api so reflects the time at the weatherstation location.
The loctype thing is a bit of a mystery. I copied it of a wunderground generated url. Not entirely sure what it’s for. You could just leave it out i think.
-
@Snoevit When you remove /astronomy you just modify the api call. The script still tries to place the (now absent) information on the screen. Leave the api call in tact and modify the refresh_dom function in the script. Also further down there’s a windspeedconversion which you could try to modify.
-
@RedNax
Thx for your reply! I forgot to update my post to tell you that i found how to remove the ‘rain-part’ :P But thanx for the note on the windspeedconversion!
Oh, a also figured out my problems with the icons. i replaced the files in the vendors folder, exept forweather-icons.css
. I thought those two files were the same, until i saw them side-by-side :) -
@RedNax , sorry for the delay, I’ve had company and then had to wait for an alert message. My config doesn’t have the alerttruncatestring even in it. I’ve copied both the results of the Wunderground alert and the text from the NWS. I wonder if it’s dying at the /u00A , which appears to line up perfectly with a CR/LF from the NWS text. It’s also the first item in the message, which could explain why I don’t see any text other than the description.
"alerts": [ { "type": "HEA", "description": "Excessive Heat Watch", "date": "3:43 PM CDT on July 18, 2016", "date_epoch": "1468874580", "expires": "7:00 PM CDT on July 22, 2016", "expires_epoch": "1469232000", "tz_short":"CDT", "tz_long":"America/Chicago", "message": "\u000A...Excessive heat watch in effect from Wednesday morning through\u000AFriday evening...\u000A\u000AThe National Weather Service in Des Moines has issued an\u000Aexcessive heat watch...which is in effect from Wednesday morning\u000Athrough Friday evening. \u000A\u000A* Temperature...air temperatures in the mid to upper 90s, dewpoint\u000A temperatures in the mid to upper 70s, heat index values 105 to\u000A 115.\u000A\u000A* Impacts...excessive heat could lead to severe heat related\u000A illnesses and possibly death if proper action is not taken.\u000A\u000APrecautionary/preparedness actions...\u000A\u000AAn excessive heat watch means that a prolonged period of hot\u000Atemperatures is expected. The combination of hot temperatures and\u000Ahigh humidity will combine to create a dangerous situation in\u000Awhich heat illnesses are possible. Drink plenty of fluids...stay\u000Ain an air-conditioned room...stay out of the sun...and check up\u000Aon relatives and neighbors. Do not leave pets and/or children in \u000Aunattended vehicles.\u000A\u000A\u000AKotenberg\u000A\u000A\u000A\u000A", "phenomena": "EH", "significance": "A", "ZONES": [ { "state":"IA", "ZONE":"004" }
!!! NWS Text begins here !!!
Event: Excessive Heat Watch
Alert:…EXCESSIVE HEAT LIKELY COMING TO IOWA WEDNESDAY INTO THIS
WEEKEND….CONFIDENCE FOR WEDNESDAY THROUGH FRIDAY IS HIGH TO VERY HIGH FOR
HEAT INDEX VALUES ACROSS IOWA TO REACH THE 105 TO 115. HEAT INDEX
VALUES OF 95 TO 100 DEGREES MAY LAST INTO AND THROUGHOUT THE
WEEKEND.…EXCESSIVE HEAT WATCH IN EFFECT FROM WEDNESDAY MORNING THROUGH
FRIDAY EVENING…THE NATIONAL WEATHER SERVICE IN DES MOINES HAS ISSUED AN
EXCESSIVE HEAT WATCH…WHICH IS IN EFFECT FROM WEDNESDAY MORNING
THROUGH FRIDAY EVENING.- TEMPERATURE…AIR TEMPERATURES IN THE MID TO UPPER 90S, DEWPOINT
TEMPERATURES IN THE MID TO UPPER 70S, HEAT INDEX VALUES 105 TO
- IMPACTS…EXCESSIVE HEAT COULD LEAD TO SEVERE HEAT RELATED
ILLNESSES AND POSSIBLY DEATH IF PROPER ACTION IS NOT TAKEN.
PRECAUTIONARY/PREPAREDNESS ACTIONS…
AN EXCESSIVE HEAT WATCH MEANS THAT A PROLONGED PERIOD OF HOT
TEMPERATURES IS EXPECTED. THE COMBINATION OF HOT TEMPERATURES AND
HIGH HUMIDITY WILL COMBINE TO CREATE A DANGEROUS SITUATION IN
WHICH HEAT ILLNESSES ARE POSSIBLE. DRINK PLENTY OF FLUIDS…STAY
IN AN AIR-CONDITIONED ROOM…STAY OUT OF THE SUN…AND CHECK UP
ON RELATIVES AND NEIGHBORS. DO NOT LEAVE PETS AND/OR CHILDREN IN
UNATTENDED VEHICLES. - TEMPERATURE…AIR TEMPERATURES IN THE MID TO UPPER 90S, DEWPOINT
-
@Shockwave Well, it would seem WU is rather ‘loose’ with it’s API implementation…
In your payload the full warning is in the message property. The Wunderground module expects is in the description property (only based on my observation of a single payload by my local station :S ). Ties in with your observation, which is always nice :)
Watch this space for a fix…
UPDATE: fix implemented… The module examines description and message lengths and uses the longest one… Have a go! :)
-
@RedNax It works! Thanks for fixing that so fast. Now I need to politely bug MichMich about the size of the alert box since our weather service is so verbose. :)
-
That’s a handy test - Many thanks.
When I request:
http://api.wunderground.com/api/[my key]/conditions/forecast10day/astronomy/alerts/lang:EN/q/pws:IBATTLE3.json
I get a full set of data back.
The module is still getting stuck on ‘Loading’ on the mirror though.
My config is:{ module: 'MMM-WunderGround', position: 'top_right', config: { apikey: '[my key]', pws: 'IBATTLE3;loctype:1', lang: 'EN', fctext: '1', fcdaycount: "5", fcdaystart: "0", hourly: '1', hourlyinterval: "3", hourlycount: "2", alerttime: 10000, alerttruncatestring: "english:" } },
Can you see anything wrong there please?
Thank you.
Note from admin: Please use Markdown on code snippets for easier reading!
-
This may explain the issue to you hopefully. I thought I’d given you this info before, but it seems not.
In the console I get an error:
MMM-WunderGround.js:407 Uncaught TypeError: Cannot read property 'length' of undefined
The relevant code is:
processWeather: function(data) { this.alerttext = ""; this.alertmsg = ""; for (var i = 0, count = data.alerts.length; i < count; i++) {
Any idea why the array would be undefined?
Many thanks.
Note from admin: Please use Markdown on code snippets for easier reading!
-
@Pauliolio The issue is with the config. try the following change:
pws: 'pws:IBATTLE3',