Definitive guide to Weather integrations šŸŒ¦

thanks for reply. I just gave a try to OpenWeatherMap
I like it because offers more sensors than AEMET. I do not know which is more reliable, but I will make a comparation soon. And I will use OpenWeatherMap like backup, or who knowsā€¦ maybe main because AEMET gets down frequently

The original goal of the guide was to provide alternatives to Openweathermap which donā€™t require voluntary disclosure of creditcard informationā€¦
Although I still strongly encourage everyone to keep your creditcard information private and reduce the risk of creditcard theft, the whole point of home assistant is to give you choices.

1 Like

fair enough. but you can use disposable cards(like I did) , virtual cards etc
also the service permits the first 1000/day free. and you can configure the number of calls
in the end itā€™s a free service

1 Like

Prepared new version of integration and itā€™s now pending PR on Github.

Coming Soon to HACS

Python License Maintainer Home Assistant HACS BuyMeCoffee GitHub Sponsors GitHub Release

Made in Slovenia

Icon Preview
Open your Home Assistant instance and open a repository inside the Home Assistant Community Store.

:sun_behind_rain_cloud: Slovenian Weather Integration :slovenia: - Home Assistant Custom Component

Slovenian Weather Integration :slovenia: is a custom component for Home Assistant, leveraging real-time weather data from ARSO (Agencija Republike Slovenije za okolje). It provides detailed weather information and forecasts tailored to users in Slovenia and neighboring regions.

:sparkles: Features

  • :earth_americas: Real-Time Weather Conditions: Temperature, humidity, wind speed, gusts, pressure, visibility, dew point, and weather conditions.
  • :stopwatch: 3-Hour, Twice-Daily & Daily Forecasts: Up to 6 days of detailed forecasts, including precipitation and wind data.

How to install:

HACS Installation:

Open your Home Assistant instance and open a repository inside the Home Assistant Community Store.

or

:zap: Manual Installation

  1. Download or clone this repository.
  2. Copy the custom_components/slovenian_weather_integration folder to your Home Assistant custom_components directory:
  3. Restart Home Assistant to recognize the new integration.

:hammer_and_wrench: Setup

  1. Go to Configuration ā†’ Devices & Services in Home Assistant.
  2. Click Add Integration.
  3. Search for ARSO Weather Integration.
  4. Follow the prompts to select your desired location(s).

:star2: Supported Features

  • Temperature (Ā°C)
  • Humidity (%)
  • Pressure (hPa)
  • Wind Speed (km/h)
  • Dew Point (current weather only)
  • Visibility (km) (current weather only)
  • Precipitation (mm) (forecasts only)

Supported Features

Current Temperature (Ā°C)
Humidity (%)
Pressure (hPa)
Wind Speed (km/h)
Cloud Conditions (translated to Home Assistant-compatible terms)
Daily and Hourly Forecasts
Dew point ---> only in current weather
Wind gust speed (km/h)
Visibility (km) ---> only in current weather
Precipitation (mm)   ---> only in forecasts
Wind Gust Speed (km/h) ---> only in forecasts

State attributes

datetime: "2024-09-16"
temperature: 2
templow: 0
precipitation: 0
wind_speed: 38
wind_bearing: NW
wind_gust_speed: 0
condition: cloudy
pressure: 1013

Weather forecasts are not part of the entityā€™s state, theyā€™re instead made available by a separate API.

he integration implements two of the async methods async_forecast_daily, async_forecast_hourly.

Updating weather forecast(s) - Action weather.get_forecasts

Example:

template:
  - trigger:
      - platform: time_pattern
        hours: /1 # Sproži se vsako uro
    action:
      - service: weather.get_forecasts
        data:
          type: hourly
        target:
          entity_id: weather.arso_vreme_ljubljana
        response_variable: hourly
    sensor:
      - name: Temperature forecast next hour
        unique_id: temperature_forecast_next_hour
        state: "{{ hourly['weather.arso_vreme_ljubljana'].forecast[0].temperature }}"
        unit_of_measurement: Ā°C

Unique ID Support

Each weather entity now gets a unique ID based on its location and configuration entry. This allows you to customize and edit the entity from the Home Assistant UI.

Debugging

If you encounter issues, you can enable debug logging for the integration by adding the following to your configuration.yaml:

logger:
  default: info
  logs:
    custom_components.arso_weather_integration: debug

Known Issues

Precipitation Data: Real-time precipitation may not always be available. But is visible as attribute to weather entitiy.

Forecast Availability: Ensure the selected location supports both 3 hour and daily forecasts.

2 Likes

Thanks a lot!!! Iā€™ve been waiting for quite a while for someone with knowledge to make this integration, so thanks again!
It works perfectly, i do have one question, though: whatā€™s that sensor in automation example? Automation wonā€™t accept it, if i put it under template sensor itā€™s unavailable. Entering it under ā€œsensorā€ in configuration gives me ā€œmissing device_idā€ errorā€¦

sensor:
 - name: Temperature forecast next hour
   unique_id: temperature_forecast_next_hour
   state: "{{ hourly['weather.arso_vreme_ljubljana'].forecast[0].temperature }}"
   unit_of_measurement: Ā°C

Thanks @Protoncek ! Shoot, I messed readme file, sorry. Will post corrected, stay tuned!

EDIT:

Itā€™s supposed to be a template, try this:

template:
  - trigger:
      - trigger: time_pattern
        hours: /1 # Sproži se vsako uro
    action:
      - action: weather.get_forecasts
        data:
          type: hourly
        target:
          entity_id: weather.arso_vreme_ljubljana
        response_variable: hourly
    sensor:
      - name: Temperature forecast next hour
        unique_id: temperature_forecast_next_hour
        state: "{{ hourly['weather.arso_vreme_ljubljana'].forecast[0].temperature }}"
        unit_of_measurement: Ā°C

If you wish to create a sensor (for instance a current temperature for Ljubljana - not forcasted like above) from your weather entity, you also use a template:

- sensor:
    - name: Temperatura Ljubljana
      unique_id: temperatura_arso_weather_ljubljana
      state: "{{ state_attr('weather.arso_vreme_ljubljana', 'temperature') }}"
      unit_of_measurement: Ā°C
      device_class: temperature
1 Like

Another question, more like an info or suggestion: since i think that we can safely assume that this addon will be (mainly) used by slovenians: perhaps sensors should be in slovenian language by default? What do you think regarding that?

I recommend starting a topic to discuss the specific integration. Most integrations have one of those.

Moving toā€¦šŸŒ¦ļø Slovenian Weather Integration šŸ‡øšŸ‡®

1 Like