Is anyone doing anything with weather underground

I’d almost rather see this as a separate component since it supports all of the data the PWS generates but I can always keep it as a separate view… Keep me posted if there is anyway I can help and thanks!

@kellbot Any chance you are considering returning to this work? Maybe at least classing it as a platform so it could be customized with icons and friendly names? Would you consider bribes? :wink:

I can’t tell you how important it is to me that I now have my PWS data inside HA, so if it never goes farther than that (please say no) I wanted to thank you very much.

It’s still on my radar, just haven’t had much time to work on it lately. I also managed to lose SSH access to the network at the house where my PWS is, and haven’t had a chance to get down there to physically reset the router. At the latest I’ll be headed down there memorial day weekend so I should have some time to work on it then.

1 Like

That’s awesome! Let me know if you want access to my PWS for testing. I’ll pm you the details.

Cool, I was considering copying the forecast.io component and modifying it to use WU, but you’re way ahead of me.

Feature request: animated radar gif. https://www.wunderground.com/weather/api/d/docs?d=layers/radar

You can do this with the generic camera! Check out this thread; I’m doing it now on the same page I have kellbot’s WU setup. Looks awesome.

@jpenyc instructions are in the third post down; I’m giving you this thread instead of his original one (which is in the third post) because there are other links and ideas in that thread as well.

I’ve been trying to use the same method with traffic cams unfortunately the cams in NJ are run by the state but administered by a third party vendor. The vendor then resells the cam views to other sites, so they’re not easily accessible. Even on the state’s traffic site, where it is free, they are not easily exposed. The best I could get was to have them run for about an hour and then the token expires in the URL and the cams all come up 401. Sucks. In PA, I had multiple options.

+1

But wouldn’t it be nice if it was built in to the component?

1 Like

For aesthetics, it might be. Then everything would be part of one card.

But the grid comes out looking pretty good this way as well.

I saw that thread, but I would prefer a far more local radar map, which I have not been able to find.

Same rules apply though. If the map is available as an image and it doesn’t require a token of some sort in the URL (like the damn NJ traffic cameras… grumble) then you should be able to use it. I just used the ones in the example because they suited me; below those two are two more showing local IR and Precip.

I’m a bit of a WX nut. Maybe just a nut.

I’m sure I’m missing something simple here. No info is coming up on the Haas UI.
My logs are showing:

16-05-25 23:30:40 homeassistant.loader: Loaded wunderground from custom_components.wunderground
16-05-25 23:30:41 homeassistant.core: Bus:Handling -Event service_registered[L]: service=refresh, domain=wunderground>
16-05-25 23:30:41 homeassistant.core: Bus:Handling -Event call_service[L]: service=refresh, service_data=None, domain=wunderground, service_call_id=1978355920-1>
16-05-25 23:30:41 homeassistant.core: Bus:Handling Event component_loaded[L]: component=wunderground>
16-05-25 23:30:41 requests.packages.urllib3.connectionpool: Starting new HTTP connection (1): api.wunderground.com
File “/var/opt/homeassistant/custom_components/wunderground.py”, line 88, in handle_weather
raw_weather.append(result.json()[‘current_observation’])

Lines 81 - 88:

def handle_weather(call):

    raw_weather = []

    try:
        result = requests.get(_RESOURCE + config[DOMAIN].get(CONF_API_KEY, None) + '/conditions/q/pws:' + config[DOMAIN].get(CONF_PWS_ID, None) + '.json' )

        raw_weather.append(result.json()['current_observation'])

That looks like only part of a python stack trace, did you cut anything out?

I missed a line.

  File "/var/opt/homeassistant/custom_components/wunderground.py", line 88, in handle_weather
    raw_weather.append(result.json()['current_observation'])
KeyError: 'current_observation'

Can you sanitize your section of the configuration.yaml for the weatherunderground: section and post it here?

wunderground:
  api_key: xxxxxxxxxxxxxxxx
  pws_id: KCACHIXXXX
  monitored_conditions:
    - station_id
    - observation_time
    - weather
    - temperature_string
    - temp_f
    - temp_c
    - relative_humidity
    - wind_string
    - wind_dir
    - wind_degrees
    - wind_mph
    - wind_gust_mph
    - wind_kph
    - wind_gust_kph
    - pressure_mb
    - pressure_in
    - pressure_trend
    - dewpoint_string
    - dewpoint_f
    - dewpoint_c
    - heat_index_string
    - heat_index_f
    - heat_index_c
    - windchill_string
    - windchill_f
    - windchill_c
    - feelslike_string
    - feelslike_f
    - feelslike_c
    - visibility_mi
    - visibility_km
    - solarradiation
    - UV
    - precip_1hr_string
    - precip_1hr_in
    - precip_1hr_metric
    - precip_today_string
    - precip_today_in
    - precip_today_metric
    - icon

Indention didn’t cary over

Looks exactly like mine, with the exception of the metric and centigrade monitoring entities (I just omitted them) so I don’t see anything wrong. I didn’t see any requirements in the code beyond what is normally installed as part of HA so I can’t see you missing anything either.

Would it help if I PM you my API key and PWS ID to test? Also, what platform are you on? I’m currently on Windows. I could always swap out my API and PWS with yours and test on my end. At least it would rule out the WU account as being a factor.

I think that is the best I can offer until @kellbot sees this and checks in.

Sure, I’m game to test it. I’m running on raspian. Feel free to PM me.

Done. Anyone watching, we’re going to test in PM and then we’ll make our results part of the thread. :sunglasses:

It appears the problem is my api key. Using Robert’s key with his and my weather station work fine. It turns out I was not using the proper key. So the code is not idiot proof enough for me I guess.