Skip to content

davidecavestro/arpa-veneto-weather

Repository files navigation

Arpa Veneto Weather integration for Home Assistant

Home Assistant unofficial integration for Arpa Veneto Weather current conditions and forecast bulletins

GitHub Release GitHub Activity License hacs Community Forum

This integration adds support for retrieving the Forecast data from the Arpav bulletin endpoint and current conditions from Arpav meteogram endpoint.

For this integration you must choose an Arpav forecast zone for forecast data and a weather station for current conditions.

This integration will set up the following platforms.

Platform Description
weather A Home Assistant weather entity, with current data and twice-daily forecast data.
sensor A Home Assistant sensor entity, with all available sensor data from the API.

Installation through HACS (Recommended Method)

If you are not familiar with HACS, or haven't installed it, I would recommend to look through the HACS documentation, before continuing.

Register davidecavestro/arpa-veneto-weather as an HACS custom repository.

Manual installation

  1. Create a new folder in your configuration folder (where the configuration.yaml lives) called custom_components
  2. Download the latest version into the custom_components folder so that the full path from your config folder is custom_components/arpa_veneto_weather/
  3. Restart Home Assistant.
  4. Once Home Assistant is started, from the UI go to Configuration > Integrations > Add Integrations. Search for "Arpa Veneto Weather". After selecting, it could take up to a minute.

Configuration

To add Arpa Veneto Weather to your installation, do the following:

  • Go to Settings then Devices % services.

  • From the Integrations tab click the ⊕ Add Integration button on the lower right corner.

  • Search for ARPA Veneto Weather and click the integration.

  • When loaded, there will be a configuration wizard, where you must enter:

    Parameter Required Default Value Description
    Comune ID Yes None Set the municipality to use for the forecast zone lookup, based on synthetic forecast by zone.
    Zone ID Yes None Set the forecast zone.
    Station ID Yes None Choose the Weather Station for getting current conditions among the available ones. Check the meteo variables page.
  • Complete the wizard to save your data. If all goes well you should now have a new Weather entity with data from Arpav Forecast

Tip

You can configure multiple instances of the Integration, so properly name them to avoid confusion.

Preferences

Once you have configured a station, you can control some options from ⚙ (its Configure action):

  • Expose JSON extra attribute for internal forecast data: Expose additional attributes on the weather entity used internally for forecasts
  • Expose JSON extra attribute for raw original forecast data: Expose additional attributes on the weather entity based on the data obtained from the remote api call
  • Expose extra attributes for raw original sensor data: Expose as sensors the data obtaining from the remote api call
  • Compute the current condition: Expose the weather state as computed from available metrics
  • Choose stations providing air-quality data: Since the set of stations differs between PM10, PM2.5 and Ozone, the user can choose a specific station for each of them.

Compute the current weather condition

Since the stations don't provide data for current sky condition, the weather state has been historically left to Unknown. Since v0.5 this integration optionally computes the current sky condition with a best-effort approach based on available sensors:

day - sun above the horizon
it compares the actual sunlight (Global Horizontal Irradiance) with the maximum expected for the current sun position, as its elevation over the horizon and the azimuth actually reflects the latitude, the season and the time of the day.
Based on the nearest realtime data available for solar radiation. It also uses data such as precipitation, wind speed and visibility to make the best possible estimate of the actual sky conditions.
night - sun below the horizon
it compares the actual night sky brightness with the maximum expected, based on the moon phase.
Based on the realtime data available from the nearest station for the night sky brightness: please note that this measure is not typically supplied directly by the chosen station, so we have to fallback to the nearest station providing this data.

Note

The current weather condition computation is disabled by default.
In order to enable it, go to Configuration > Integrations > Arpa Veneto Weather.
Click on the gear on the station you are interested in.
Then choose Compute the current condition: > From sensors.

Tip

Choose Compute the current condition: From sensors using custom thresholds to set custom thresholds for separately switching between clear, partly cloudy and cloudy during day and night.

Expose raw data

In order to get the raw data for advanced stuff in HA, from the UI go to Configuration > Integrations > Arpa Veneto Weather.
Press the CONFIGURE button on the integration entry.
Enable the option you need among:

Expose JSON extra attribute for internal forecast data
JSON representation of the internal data structure serving forecasts
Expose JSON extra attribute for raw original forecast data
JSON representation of the raw forecast data, as obtained from the bulletin remote endpoint
Expose extra attributes for raw original sensor data
Raw data from the meteogram remote endpoint, exposed both as single attributes (prefixed with raw_ leading to related value) plus the list of raw objects representing last available sensor observation, along with description, unit of measure, date/time.

Enable Debug Logging

If logs are needed for debugging or reporting an issue, use the following configuration.yaml:

logger:
  default: error
  logs:
    custom_components.arpa-veneto-weather: debug

Disclaimer

This project is not affiliated with, endorsed by, or sponsored by ARPAV (Agenzia Regionale per la Prevenzione e Protezione Ambientale del Veneto).

The data and information provided through this integration are sourced from the ARPAV API, which is publicly available and licensed under the Creative Commons Attribution 4.0 Italy (CC BY 4.0) license unless otherwise specified.

Terms of Use

All trademarks, logos, and distinctive signs visible on ARPAV's website are the property of ARPAV and cannot be used without prior authorization.

Any reproduction, distribution, modification, or use of ARPAV's content must attribute the source by citing "ARPAV" and providing the URL: http://www.arpa.veneto.it.

This project utilizes ARPAV's data strictly within the terms of the Creative Commons Attribution 4.0 Italy license.

Limitations of Liability

ARPAV disclaims all responsibility for the accuracy, completeness, and timeliness of the data provided via their API, and for any issues arising from its use. Users should refer to ARPAV's official site for authoritative information.

For more details about ARPAV's copyright and licensing terms, visit their website.