New Weather Underground binding for Eclipse SmartHome / openHAB2


(Lolodomo) #1

I have implemented for Eclipse SmartHome (and openHAB2) a new weather binding using Weather Underground service.
This binding will probably not be in the official distribution before few months.
During this time, you are free to download the jar file and use it.
PR in Git
Jar file download
Documentation


(Bert Melis) #2

Looking good! Thanks for the work!

Any chance that the item "icon" will also be included? It'll come in handy for displaying a standardised wheather icon.
It seems to be little work, but for me it'll be a struggle to compile java. (furthermore I don't speak Java)

EDIT: I would require some thinking since the icon is best located somewhere in the "icons" directory of the openHAB install.
But then it is a openHAB binding and not a Eclipse binding. Or am I dropping the ball here?


(Lolodomo) #3

There are discussions about the icon but no conclusion until now: https://github.com/eclipse/smarthome/issues/2649
So that is in stand-by on my side.


(Lolodomo) #4

Updated binding:

  • Add a channel for solar radiation
  • Add a channel for the icon URL representing the weather current conditions
  • Add a channel for the icon URL representing the weather forecast conditions
  • Update the label and description for the "Location" configuration setting

I have updated the jar file for downloading, link is unchanged.


(horschte) #5

great work @Lolodomo !
can you create a "history channel"? (maybe highest/lowest temperature last/this year).


(Lolodomo) #6

@horschte: I am not sure it is something to include into this kind of bindings, maybe more something you should handle by using persistence into a database ?


(horschte) #7

The reason for my request is, there are historical data in some private weathestations.
example:
https://deutsch.wunderground.com/personal-weather-station/dashboard?ID=IBERLIN2374#history/s20160122/e20170122/myear
So I can choose which data I would like to use :slight_smile:


(Lolodomo) #8

New major update of the binding:

  • new configuration property to select the source unit added to several channels. It voids having one channel defined for each source unit.
  • new channel to get the heat index
  • new channel to get the rain fall during the last hour
  • detailed error message added when setting the thing OFFLINE due to a wrong thing configuration. The message tells you in Paper UI what's wrong in the thing configuration.
  • detailed error message updated when setting the thing OFFLINE due to a communication error.
  • logs level updated to avoid WARN and ERROR levels
  • channels for forecast data are now in an advanced group type

Please not that lots of channel ids have been changed.

I updated the jar file so you can download the last version (see the link in the first message).


(Lolodomo) #9

This new version of the binding should be available in the IoT Marketplace soon (maybe tomorrow).


(David K.) #10

Hi! Sounds great, however since Thursday I have no more weather data (even with the new version):

16:46:04.986 [INFO ] [me.event.ThingStatusInfoChangedEvent] - 'weatherunderground:weather:Bremen' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): Error in Weather Underground response


Thing weatherunderground:weather:Bremen "Weather Bremen" [ apikey="xxxxxx", location="Germany/Bremen", language="EN" ]

Haven't changed the configuration at all.


(Lolodomo) #11

Enable the debug logs to have more info about what's wrong in the response but I can imagine that there are now several stations in that City.


(Tomibeck) #12

Stupid question maybe. But wat is the iot marketplace?


(Lolodomo) #13

@SpaceGlider : as I have supposed, there are several stations (4) in Bremen and WU does not know what station to use.
Try to set your location configuration setting to one of these values:
* zmw:00000.151.10425
* zmw:00000.1.10224
* zmw:00000.52.10546
* zmw:00000.35.10945

The binding needs to be enhanced to detect such an issue and provide a more precise error message.


(Lolodomo) #14

@Tomibeck: please read this topic: https://community.openhab.org/t/distributing-bindings-through-the-iot-marketplace/24491


(David K.) #15

Thanks, I put my coordinates now and get a reading again! Maybe this should be a remark in the Readme of the binding.


(Lolodomo) #16

Yes, you're right, that should be mentioned in the documentation.


(Lolodomo) #17

Documentation updated (finished).


(Lolodomo) #18

The binding is now available in the marketplace.


(Sean Morrison) #19

So I am trying to get the binding working, here in the backward US, so I would like to have the fahrenheit. Im using the Eclipse smart home designer and as soon as I try and modify my things, it does not seem to work as documented.

Thing weatherunderground:weather:denver "denver" [ apikey="mykeyishere", location="80113", language="EN" ] {
Channels:
    Type temperature : current#temperature [ SourceUnit="F" ]
}

As soon as I have anything after channels it throws an error,

Multiple markers at this line
- mismatched input '#' expecting '}'
- no viable alternative at input 'SourceUnit'
- no viable alternative at input 'temperature'

Thoughts?


(Lolodomo) #20

I did not test updating my thing file with the smarthome designer.
Are you using a recent version of the designer ?
I will try on my side too. I am using an old version.