
The example for the "every hour" trigger uses an invalid time pattern format - minutes: "/60" - which throws the following error. > Invalid config for [automation]: must be a value between 0 and 59 for dictionary value @ data['minutes'] Propose replacing it with - hours: "*"
4.3 KiB
title, description, ha_category, ha_release, ha_iot_class, ha_config_flow, ha_codeowners, ha_domain, ha_platforms
title | description | ha_category | ha_release | ha_iot_class | ha_config_flow | ha_codeowners | ha_domain | ha_platforms | ||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
OpenUV | Instructions on how to integrate OpenUV within Home Assistant. |
|
0.76 | Cloud Polling | true |
|
openuv |
|
The openuv
integration displays UV and Ozone data from openuv.io.
Generating an API Key
To generate an API key, simply log in to the OpenUV website.
{% include integrations/config_flow.md %}
Sensors
Name | Type | Value |
---|---|---|
Current Ozone Level | Sensor | ozone level in du (Dobson Units) |
Current UV Index | Sensor | UV Index (numerical value) |
Current UV Level | Sensor | UV Level (as literal) |
Max UV Index | Sensor | max UV Index for the day (at solar noon) |
Protection Window | Binary Sensor | 'On' when protection window is needed |
The Fitzpatrick Scale
The approximate number of minutes of a particular skin type can be exposed to the sun before burning/tanning starts is based on the Fitzpatrick scale.
OpenUV integration provide sensors for safe exposure time (in minutes) based on skin type:
- Skin Type 1 Safe Exposure Time
- Skin Type 2 Safe Exposure Time
- Skin Type 3 Safe Exposure Time
- Skin Type 4 Safe Exposure Time
- Skin Type 5 Safe Exposure Time
- Skin Type 6 Safe Exposure Time
Services
openuv.update_data
Perform an on-demand update of OpenUV data.
openuv.update_uv_index_data
Perform an on-demand update of OpenUV sensor data including current UV index, but not the uv_protection_window
, saving an API call over update_data
.
openuv.update_protection_data
Perform an on-demand update of OpenUV uv_protection_window
data, but not the sensors, saving an API call.
Examples of Updating Data
One method to retrieve data every 30 minutes and still leave plenty of API key usage is to only retrieve data during the daytime:
automation:
- alias: "Update OpenUV every 30 minutes during the daytime"
trigger:
platform: time_pattern
minutes: "/30"
condition:
condition: and
conditions:
- condition: sun
after: sunrise
- condition: sun
before: sunset
action:
service: openuv.update_data
Update the UV index data every 20 minutes while the sun is at least 10 degrees above the horizon:
{% raw %}
automation:
- alias: "Update OpenUV every 20 minutes while the sun is at least 10 degrees above the horizon"
trigger:
platform: time_pattern
minutes: "/20"
condition:
condition: numeric_state
entity_id: sun.sun
value_template: "{{ state.attributes.elevation }}"
above: 10
action:
service: openuv.update_uv_index_data
{% endraw %}
Update the protection window once a day:
automation:
- alias: "Update OpenUV protection window once a day"
trigger:
platform: time
at: "02:12:00"
action:
service: openuv.update_protection_data
Another method (useful when monitoring locations other than the Home Assistant latitude and longitude, in locations where there is a large amount of sunlight per day, etc.) might be to simply query the API less often:
automation:
- alias: "Update OpenUV every hour (24 of 50 calls per day)"
trigger:
platform: time_pattern
hours: "*"
action:
service: openuv.update_data