[RELEASE] Weather-Display With DarkSky.net Forecast Driver
** PLEASE READ!!! This driver requires a Personal Weather Station with Weather-Display software and uses waynedgrant's json webservice that makes your weather station's data available to the driver. If you do have a PWS and you do not use Weather-Display software then this driver WILL NOT WORK FOR YOU! In this case, try my driver that does not require a PWS instead ...
By Adam Grossman on July 1, 2020.
Update: Service to existing users and subscribers of the Android app will now continue until August 1, 2020, at which point the app will be shut down. Subscribers who are active at that time will receive a full refund. Weather forecasts, maps, and embeds available on the Dark Sky website will also shut down on August 1, 2020.
DarkSky has been acquired by Apple (Apple Acquires Weather App Dark Sky - MacRumors). Before proceeding with this driver make sure you either already have your API Key, or can get one, before they stop issuing those. The API will continue through the end of 2021, then it will not be available and this driver will no longer function.
Releasing this under a new name so the old driver will remain for those who are still using it. This basically just removes the ApiXU.com option from the previous driver since that will no longer be a viable option after October 14th due to the Weatherstack merger.
Some changes are introduced because of this removal of ApiXU:
- Latitude and Longitude are pulled from the Hub so those are no longer an input. Make sure your Latitude and Longitude are set properly in your Hub settings. These are used both for the Sunrise/Sunset times and the DarkSky forecast location.
- Prior driver used 'uv'/'UV' for ultravioletIndex. This has been changed to capability of "Ultraviolet Index" and now is exposed as 'ultravioletIndex'.
- Prior driver had 'lux' as an attribute. This has been eliminated. Use the attribute 'illuminance' exposed by the capability "Illuminance Measurement", or the optional 'illuminated' attribute that adds the 'lx' unit indicator for a dashboard.
The driver exposes a default set of attributes for weather capabilities:
Plus a small set of 'Required for Dashboard' attributes (used by SmartTiles/SharpTool.io, and maybe some others)
There are many other 'optional' attributes that can be selected if you need those exposed. It is best to keep those off if you do not require them as they will increase the Hub database size if selected. You can turn 'on' the 'Display All Preferences' then hit 'Save Preferences' to expose the optional attributes. Turn on those you want, turn off those you no longer want, then 'Save Preferences' again. You can turn off 'Display All Preferences' then 'Save Preferences' to hide those options and reduce the clutter on the driver display. NOTE: You do NOT have to select the optional attribute to allow those specific attributes to show in either the 'myTile' or 'weatherSummary' attributes (e.g. 'alert' will show in myTile and weatherSummary even if it is not selected). Optional attributes include:
- alert: Weather Alert (DarkSky only)
- betwix: Slice of Day
- cloud: Cloud Coverage
- condition_code: Condition Code
- condition_icon_only: Condition Icon Only
- condition_icon_url: Condition Icon URL
- condition_icon: Condition Icon
- condition_iconWithText: Condition Icon With Text
- condition_text: Condition Text
- country: Country
- dewpoint: Dewpoint (in default unit)
- fcstHighLow: Forecast High/Low Temperatures (DarkSky only)
- forecast_code: Forecast Code (DarkSky only)
- forecast_text: Forecast Text (DarkSky only)
- illuminated: Illuminance (with 'lx' added for use on a Dashboard)
- is_day: Is daytime?
- localSunrise: Display the Group of Time of Local Sunrise and Sunset
tw_begin (Twilight begin)
tw_end (Twilight end)
- myTile: myTile for dashboard
- moonPhase: Moon Phase
- percentPrecip: Percent Precipitation
- solarradiation: Solar Radiation
- summarymessage: Weather Summary Message
- precipExtended: Precipitation Forecast (DarkSky only)
rainDayAfterTomorrow (probability of precipitation)
rainTomorrow (probability of precipitation)
- obspoll: Observation time for station and forecasts
last_observation_Station (time of data observation)
last_poll_Station (time poll was made)
last_observation_Forecast (time of data observation)
last_poll_Forecast (time poll was made)
- precip_today: Precipitation today (in default unit)
- state: State
- vis: Visibility (in default unit) (DarkSky only)
- wind_degree: Wind Direction (number)
- wind_direction: Wind Direction (text)
- wind_gust: Wind gust (in default unit)
- wind_string: Wind string
Motivation for the work done in this new version was from @csteele and his improved wx-ApiXU-driver. This driver includes adapted versions of his asynchttp calls, the updated Lux (Luminance) code and the selectable attributes code. Without his work these would not be available in this driver.
- All calls are now asynchttp to reduce Hub latency.
- Most attributes are optional/selectable, choose only what you need to reduce unneccessary database buildup.
- Eliminated 'State' variables to further reduce unneccessary DB buildup.
- Astronomy data only polled three times a day.
- Station data can be polled as often as every minute and is on it's own separate schedule.
- Forecast can be polled as often as every five minutes and is on it's own schedule.
- Can be used without an external forecast, or choose DarkSky.net as your forecast source.
- Improved 'myTile' and 'weatherSummary'
- Many, many corrections to the data presented.
- Still requires a Personal Weather Station with Weather-Display software and uses waynedgrant's json webservice that makes your weather station's data available to the driver.
- You may choose to use your weather station's Solar Radiation (for Lux), Ultraviolet and Apparent Temperature (feelsLike) or choose to get those from the DarkSky forecast source.
- You will need your own DarkSky.net API key for the external weather forecast.
- User selectable Date/Time formats.
- User selectable units (imperial or metric, or can be mixed).