[RELEASE] Weather-Display With External Forecast Driver

driver

#1

I have started a new thread as this driver is substantially improved from an earlier driver I had posted. The old version remains, but will not be updated.

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 WeatherUnderground (WU)(http://www.wunderground.com), 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 WeatherUnderground if you choose 'None', 'WeatherUnderground', 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 earlier works from @mattw01's work and I thank them for that! A large 'Thank you' to @bangali for his APIXU.COM base code that much of this was adapted from. Also from @bangali is the Sunrise-Sunset.org code used to calculate illuminance/lux. I learned a lot from his work and incorporated a lot of that here. @bangali also contributed the icon work from jebbett (Jake) · GitHub for the new cooler 'Alternative' weather icons with icons courtesy of VClouds Weather Icons by VClouds on DeviantArt. With all of that collaboration I too have heavily modified/created new code myself @Matthew (Scottma61) with lots of help from the Hubitat community.

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. ***

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
WeatherUnderground (WU)(http://www.wunderground.com), APIXU.com (XU), or DarkSky.net (DS) but only from a single source. You will need your API keys for the API you select to use the forecast from those sites, but it will work without either 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 be from WeatherUnderground if you choose either 'None', WeatherUnderground' 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 if you have a forecast source other than 'None'.

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

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


Weather-Display Driver
SharpTools.io Dashboard and Rule Engine
Ambient Weather Device
#2

Version 2.0.1 Released

Changes:

  • 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.

#3

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'.

#4

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


#5

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


#6

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.


#7

Updated to V2.0.5

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

#8

Updated to V2.0.6

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


#9

#10

[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.

#11

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.


#12

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?


#13

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


#14

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.


Dashboard Hanging trying to add custom tile
#15

Updated to V2.0.9

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

image


#17

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


#18

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.


#19

Working. Thank you.


#20

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 !!!


#21

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