--- layout: page title: "Dark Sky Sensor" description: "How to integrate Dark Sky within Home Assistant." date: 2016-09-26 08:00 sidebar: true comments: false sharing: true footer: true logo: dark_sky.png ha_category: Weather featured: false ha_release: "0.30" redirect_from: /components/sensor.forecast/ ha_iot_class: "Cloud Polling" --- The `darksky` platform uses the [Dark Sky](https://darksky.net/) web service as a source for meteorological data for your location. The location is based on the `longitude` and `latitude` coordinates configured in your `configuration.yaml` file. The coordinates are auto-detected but to take advantage of the hyper-local weather reported by Dark Sky, you can refine them down to your exact home address. GPS coordinates can be found by using [Google Maps](https://www.google.com/maps) and clicking on your home or [Openstreetmap](http://www.openstreetmap.org/). ## {% linkable_title Setup %} You need an API key which is free but requires [registration](https://darksky.net/dev/register). You can make up to 1000 calls per day for free which means that you could make one approximately every 86 seconds.

[Dark Sky](https://darksky.net/dev/) will charge you $0.0001 per API call if you enter your credit card details and create more than 1000 calls per day.

## {% linkable_title Configuration %} To add Dark Sky to your installation, add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry sensor: - platform: darksky api_key: YOUR_API_KEY forecast: - 0 monitored_conditions: - summary - icon - temperature ``` {% configuration %} api_key: description: Your API key. required: true type: string name: description: Additional name for the sensors. required: false default: Dark Sky type: string forecast: description: List of days in the 7-day forecast you would like to receive data on, starting with today as day 0 and ending with day 7. Any condition from `monitored_conditions` with a daily forecast by Dark Sky will generate a sensor with entity_id `_`. required: false type: list language: description: The desired language of the summary properties. The valid options are further down in a table. required: false default: "`en`" type: string latitude: description: Latitude coordinate to monitor weather of (required if **longitude** is specified). required: false default: coordinates defined in your `configuration.yaml` type: float longitude: description: Longitude coordinate to monitor weather of (required if **latitude** is specified). required: false default: coordinates defined in your `configuration.yaml` type: float monitored_conditions: description: Conditions to display in the frontend. required: true type: list keys: summary: description: A human-readable text summary. icon: description: A machine-readable text summary, suitable for selecting an icon for display. See [Dark Sky API documentation][] for the list of possible values. precip_type: description: The type of precipitation occurring at the given time. If `precip_intensity` is zero, then this property will be `unknown`. See [Dark Sky API documentation][] for the list of possible values. precip_intensity: description: The intensity of precipitation occurring at the given time. This value is conditional on probability (that is, assuming any precipitation occurs at all). precip_probability: description: The probability of precipitation occurring, in percents. precip_accumulation: description: The amount of snowfall accumulation expected to occur. If no snowfall is expected, this property will be `undefined`. temperature: description: The air temperature. apparent_temperature: description: The apparent (or "feels like") temperature. dew_point: description: The dew point. wind_speed: description: The wind speed. wind_gust: description: The wind gust speed. wind_bearing: description: The direction that the wind is coming **from** in degrees, with true north at 0° and progressing clockwise. If `wind_speed` is 0, then this value is `unknown`. cloud_cover: description: The percentage of sky occluded by clouds. humidity: description: The relative humidity. pressure: description: The sea-level air pressure in millibars. visibility: description: The average visibility. ozone: description: The columnar density of total atmospheric ozone at the given time in Dobson units. minutely_summary: description: A human-readable text summary for the next hour. hourly_summary: description: A human-readable text summary for the next two days. daily_summary: description: A human-readable text summary for the next week. temperature_high: description: The daytime high temperature. temperature_low: description: The overnight low temperature. apparent_temperature_high: description: The daytime high apparent temperature. apparent_temperature_low: description: The overnight low apparent temperature. precip_intensity_max: description: The maximum value of `precip_intensity` during a given day. uv_index: description: The UV index. moon_phase: description: "The fractional part of the lunation number during the given day: a value of 0 corresponds to a new moon, 0.25 to a first quarter moon, 0.5 to a full moon, and 0.75 to a last quarter moon." sunrise_time: description: The time of when the sun will rise during a given day. sunset_time: description: The time of when the sun will set during a given day. nearest_storm_distance: description: The approximate distance to the nearest storm in miles. nearest_storm_bearing: description: The approximate direction of the nearest storm in degrees, with true north at 0° and progressing clockwise. units: description: Specify the unit system. Valid options are `auto`, `us`, `si`, `ca` and `uk2`. `auto` will let Dark Sky decide the unit system based on location. required: false default: "`si` or `us`, based on the temperature preference in Home Assistant." type: string update_interval: description: "Minimum time interval between updates. Supported formats: `update_interval: 'HH:MM:SS'`, `update_interval: 'HH:MM'` and Time period dictionary (see example below)." required: false default: 2 minutes type: time {% endconfiguration %} #### {% linkable_title Time period dictionary example %} ```yaml update_interval: # At least one of these must be specified: days: 0 hours: 0 minutes: 3 seconds: 30 milliseconds: 0 ``` #### {% linkable_title Language options %} All language options are described in this table that you can use for the dark sky sensor. |Language|Variable Code| |---|---| |Arabic|`ar`| |Azerbaijani|`az`| |Belarusian|`be`| |Bulgarian|`bg`| |Bosnian|`bs`| |Catalan|`ca`| |Czech|`cs`| |Danish|`da`| |German|`de`| |Greek|`el`| |English|`en`| |Spanish|`es`| |Estonian|`et`| |Finnish|`fi`| |French|`fr`| |Hebrew|`he`| |Croatian|`hr`| |Hungarian|`hu`| |Indonesian|`id`| |Icelandic|`is`| |Italian|`it`| |Japanese|`ja`| |Georgian|`ka`| |Korean|`ko`| |Cornish|`kw`| |Latvian|`lv`| |Norwegian Bokmål|`nb`| |Dutch|`nl`| |Polish|`pl`| |Portuguese|`pt`| |Romanian|`ro`| |Russian|`ru`| |Slovak|`sk`| |Slovenian|`sl`| |Serbian|`sr`| |Swedish|`sv`| |Tetum|`tet`| |Turkish|`tr`| |Ukrainian|`uk`| |Igpay Atinlay|`x-pig-latin`| |simplified Chinese|`zh`| |traditional Chinese|`zh-tw`|

While the platform is called "darksky" the sensors will show up in Home Assistant as "dark_sky" (eg: sensor.dark_sky_summary).

More details about the API are available in the [Dark Sky API documentation][]. [Dark Sky API documentation]: https://darksky.net/dev/docs