[RELEASE] Weather-Display With External Forecast Driver

This driver is obsolete and no longer updated or maintained. Please use the new driver located here:
[RELEASE] Weather-Display With DarkSky.net Forecast Driver

REQUIREMENTS: Please confirm this before proceeding

  1. You must be running Weather-Display software and that software must create and update the clientraw.txt file with the current weather conditions from your personal weather station.
  2. You will need to expose the Weather-Display data files using waynedgrant's json-webservice-wdlive work as discussed here: Weather-Display Driver

If you do not meet BOTH requirements above, this driver is NOT for you. It is NOT intended to be a stand alone external weather data driver. ALL basic weather comes from your personal weather station through Weather-Display's clientraw.txt file, NOT from the external forecast source.

Weather-Display With External Forecast Driver

This driver is intended to pull data from data files on a web server created by Weather-Display software (http://www.weather-display.com). It will also supplement forecast data from your choice of APIXU.com (XU), or Dark Sky (DS) but only from one. You will need your API keys for each of those APIs to use the forecast from those sites, but the driver will work without a forecast source too.

The driver uses the Weather-Display data as the primary dataset. There are a few options you can select from like using your forecast source for illuminance/solar radiation/lux if you do not have those sensors. You can also select to use a base set of condition icons from the forecast source, or an 'alternative' (fancier) set. The base set will pull from icons from WeatherUnderground if you choose 'None' or 'DarkSky' as your forecast source, or from APIXU.com if you choose APIXU as your forecast source. You may choose the fancier 'Alternative' icon set only if you have a forecast source other than 'None'. You will need to expose the Weather-Display data files using waynedgrant's json-webservice-wdlive work as discussed here: Weather-Display Driver

Many people contributed to the creation of this driver. Significant contributors include:
@Cobra who adapted it from @mattw01's work and I thank them for that!
@bangali for his original APIXU.COM base code that much of the early versions of this driver was
adapted from.
@bangali for his the Sunrise-Sunset.org code used to calculate illuminance/lux and the more
recent adaptations of that code from @csteele in hs continuation driver 'wx-ApiXU'.
@csteele (and prior versions from @bangali) for the attribute selection code.
@csteele for his examples on how to convert to asyncHttp call to reduce Hub resource utilization.
@bangali also contributed the icon work from
jebbett (Jake) · GitHub for new cooler 'Alternative' weather icons with icons courtesy
of VClouds Weather Icons by VClouds on DeviantArt.
'waynedgrant' for his json webservice that make the weather station data available to the driver.

In addition to all the cloned code from the Hubitat community, I have heavily modified/created new code myself @Matthew (Scottma61) with lots of help from the Hubitat community. If you believe you should have been acknowledged or received attribution for a code contribution, I will happily do so. While I compiled and orchestrated the driver, very little is actually original work of mine.

This driver is free to use. I do not accept donations. Please feel free to contribute to those mentioned here if you like this work, as it would not have possible without them.

*** PLEASE NOTE: You should download and store these 'Alternative' icons on your own server and change the reference to that location in the driver. There is no assurance that those icon files will remain in my github repository. ***

The driver works with SmartTiles weather tile:
And with the Hubitat dashboard:
and SharpTools.io weather tile:

To use the driver: Install a virtual device and assign the driver to it.



Version 2.0.1 Released


  • Added 'Observation' times; Changed label of 'Update' time to 'Poll' time.
  • Corrected display of some options variables (Illuminance/UV/FeelsLike) when no forecast source selected.
  • Corrected Sunrise-Sunset.org polling to reduce frequency.

Version 2.0.2 Released

  1. Weather-Display JSON does not provide N/S/E/W or negative numbers for W or S on the latitude and longitude values, so I added hemisphere selectors to ensure correct Latitude and Longitude values are returned from the station.
  2. Removed '?raw=true' suffix from alternative icon file location if not on 'github.com'.

Looks great i am trying to poll data from my weather station which is linked to Weatherunderground.

Is Station Data File Location: my station ID?

I have set this up but it doesnt seem to populate anything.

This is how i have it setup

The 'Station Data File Location' needs to the location of the 'clientraw.txt' data file that Weather-Display creates. It should be a URL like 'http://your_weather_website/' where the 'clientraw.txt file resides.

This driver requires the Weather-Display data files as its primary source, It can pull in WeatherUnderground or APIXU forecast data to supplement that, but it will not work without access to the Weather-Display data files.

Read this post on how to expose the Weather-Display data files in JSON format... Weather-Display Driver

Updated to V2.0.4

Added an attribute for 'forecastIcon' to enable SharpTools.io weather icon on their dashboard. A few other minor code cleanups.

1 Like

Updated to V2.0.5

  • Consolidated table lookups (transform.field)
  • Cleaned up forecast translations.

Updated to V2.0.6

A few more Tweaked/cleaned up table lookups for conditions to icons.

[UPDATED] to version 2.0.8

  • Declared some attributes that were not previously declared (alert, twilight_begin, twilight_end, weatherSummary)
  • This cleanup also eliminated some attributes that were typos (twilight_Begin, twilight_End, twilightBegin,twilightEnd)
  • Cleaned up the 'alert' attributes to eliminate the space prefix and remove square brackets ([]) from the alert message.

Trying to get this working, seeing this in my logs:

Any ideas? I am using APIUX, entered my API key into the virtual device and all minimum settings.

To be clear, this driver requires a personal weather station (PWS) running Weather-Display software that creates the data files needed. The error indicates it is not finding the 'everything.php'. Did you install waynedgrant's json-webservice-wdlive work as discussed here: Weather-Display Driver?

Thanks, that explains it. I do not have a PWS, was hoping to use this to obtain local weather.

Try @bangali's excellent driver Apixu.com worldwide weather data with outside lux. No PWS or server setup. It does not require a PWS and will pull in local weather based on what you select in the settings.

1 Like

Updated to V2.0.9

Added a variation of @arnb's myTile attribute for use in dashboards.


1 Like

Matt, I get this error after the data is polled. I do have Weather-Display software and an Apixu key. Please assist..Thank you.

Line 408 is pulling in the station city name. It is looking for a format like this:
station:[name:Superior CO USA, latitude:39.05000, longitude:103.16111, wd_version:10.37S81]

where the City ST Country are separated by spaces. It looks like in your truncated screen shot your's may be comma separated and I do not see a Country? Make sure your Weather-Display is set up with City State and Country so the JSON file is formatted as expected.
In Weather-Display you set this: Control Panel --> WebFile/Web Page/Real Time FTP/WDL --> Realtime Client FTP/AJAX/WeatherDisplay Live Setup

Use CITY_ST_COUNTRY with underscores in place of spaces here and then your JSON file should be correct.

Working. Thank you.

1 Like

I liked Weather Display a lot and used it for years but I switched to weeWX because it can run on a RPi which Weather Display can't.

WD had great on screen graphics though something that weeWX doesn't have.

But in any case thanks for your code !!!

1 Like

You can skin Weewx however you want. Check out this if you really want to go to town.


Download the Hubitat app