Belgium weather provider: IRM / KMI (meteo.be)

Thank you so much! It was really missing!
Just wondering: why not adding humidity?
Actually, it is more about precipitation chance and quantity. I don’t see these data in the UI (HA card). They appear however on the custom card when the ‘forecast in attribute’ option is selected. So the problem seems to be with the HA card: the entity allows to get plenty of forecast info, but the official card does not display them.

1 Like

picture-glance, and select the live view.

1 Like

For those using the custom card, you can edit it (at /homeassistant/www/community/weather-card/weather-card.js once installed) and replace the line 264 from:

<div class="day">

to:

<div class="day" title="${daily.text}">

You then get (after flushing your cache) the text of the daily forecast in a tooltip (hoover over the day column):
image

It’s not perfect, as it is not accessible to screen readers and not mobile-friendly (in short, only for your computer’s browser). And It will disappear at the next card update (but no release for more than 3 years).
Still somehow useful in the meantime.

Another option is to use the Picture entity card. On the dashboard it will show a still radar image for the current time and when clicked, it will play the animation.

1 Like

Indeed, humidity is not in the app, only precipitation probability. The default weather card for the dashboard does not show a lot of data.

There are other cards that can be used to show the weather. Here are the ones I know (thanks to people here and on Github). Most custom cards for weather should work with this integration as I followed Home Assistant documentation when writing code. If you have issues with a custom card, I can have a look to see if I can make the integration work with it

Thanks @jdejaegh! I was frustrated not to be able to use the forecast info, so I made up a markdown card in the meantime, to get most of it:
image

Code for those interested (use the option to have the forecast in an attribute in the config):

{% if is_state('binary_sensor.weather_warning_HOME','on') %}
  <ha-alert alert-type="warning">{{ states.binary_sensor.weather_warning_HOME.attributes.active_warnings_friendly_names }}</ha-alert>
{% endif %}
{% for fc in states.weather.HOME.attributes.forecast -%}
  {% set temp = ("|" ~ fc.temperature | int ~ "°" ~ " ") if fc.temperature is not none else "" %}
  <ha-icon icon="mdi:weather-{{ fc.condition | replace("partlycloudy","partly-cloudy") }}"></ha-icon> {{ "**" ~ as_timestamp(fc.datetime) | timestamp_custom("%d/%m",true) ~ 
  "** : " ~ fc.templow | int ~ "°" ~ temp }} <ha-icon icon="mdi:weather-rainy"></ha-icon>{{ fc.precipitation | int ~ states.weather.HOME.attributes.precipitation_unit ~ 
  " " }}<ha-icon icon="mdi:water-percent"></ha-icon>{{ fc.precipitation_probability ~ "%" ~ 
  " " }} <ha-icon icon="mdi:weather-windy"></ha-icon>{{ fc.wind_speed | int ~ states.weather.HOME.attributes.wind_speed_unit ~ 
  " "}}<ha-icon icon="mdi:compass-rose"></ha-icon>{{ fc.wind_bearing | replace("W","O") }}
  {{ fc.text ~ " " }}  
  ***
{%- endfor %}

Just replace HOME with your entity. Note the replace() filter, used to simply translate West in Ouest for French. To be adapted to NL if needed (replace("E","O") | replace("S","Z"), I guess).
It should also show at the top the weather warnings, if any (not tested, waiting for one).

2 Likes

This one is really great, I recommend:

1 Like

I just released a new version (0.2.6), adding support for pollen level monitoring. Each sensor reports the same value as in the IRM KMI app.

For example, this data in the app translates directly into the sensor values in Home Assistant.

image

3 Likes

Install this, really nice. I need some help with something that should be simple, but that I don’t manage to crack down.

I want an automation that runs daily at 14h to prevent my automower to start if rain is forecasted in the afternoon.

I manage to look at current state (checking for raining or pouring), but is there a way to get to an answer to : it should rain sometime during the (say) 4 next hours ?

Indeed, what you want is a bit more tricky. Taking inspiration from another post (in French) here is the solution I came up with. The idea is the following: create a template sensor computing the sum of precipitation in the next 4 hours.

Assuming your weather entity is named weather.home, add the following to your configuration.yaml file.

template:
  - trigger:
      - platform: state
        entity_id: weather.home
      - platform: homeassistant
        event: start
    action:
      - service: weather.get_forecasts
        data:
          type: hourly
        target:
          entity_id: weather.home
        response_variable: hourly
    sensor:
      - name: Rain in the next 4 hours
        unique_id: rain_4_hours_template
        state: "{{ hourly['weather.home'].forecast[:4] | map(attribute='precipitation') | sum }}"
        unit_of_measurement: mm

This will create a new sensor that will show how much rain (in mm) will fall in the next 4 hours.

There are two shortcomings that you may want to address:

  • The sensor will update only when the state of the weather entity changes (if it is cloudy all day, it will not update) or when Home Assistant starts. You may want to add a time pattern trigger (like, every 10 minutes update the sensor)
  • It will give the rainfall for at most 4 hours. The current hour is always the first in the forecast. Meaning that if you compute this at 8:59, you’ll get the sum of the rainfall for 8 AM, 9 AM, 10 AM and 11 AM (even if 8 AM is nearly over).

It is now up to you to decide what “no rain” means. Is it 0.00 mm or less than some acceptable threshold?

I don’t use this in my installation, so there may be things I did not foresee. Please check that it works as you expect before running your mower based on this :wink:

2 Likes

Jules,

Great integration - immediately removed the met.no one :slight_smile:

One question - i get information (like in warning) in English, probably because HA and/or the browser are running in English. Is it possible to set a locale somewhere so that this information becomes available in Dutch (my native language).

Thanks,
Hans

Thanks!

The integration gets the language configuration from the Home Assistant server configuration. Go to Settings > System > General and then change the language to Nederlands (don’t forget to apply). You’ll need to reload the integration for it to take effect (Settings > Devices & services > IRM/KMI > > Reload)

If the language is set to any other value than French, Dutch or German, it defaults to English.

Indeed, but then the whole HA is running is Dutch where I prefer this to be in English.
I’m more looking for something like locale: in the clock-weather-card.

Shall I enter an enhancement request for this :wink:

There is no such option available yet. Here is the issue tracking this feature request: Allow user to pick another language than the Home Assistant server language · Issue #29 · jdejaegh/irm-kmi-ha · GitHub

1 Like

Great & thanks.

Looking forward for this and other future changes :slight_smile:

This has been released in Release 0.2.13 · jdejaegh/irm-kmi-ha · GitHub

2 Likes

Thanks for the fast implementation.
Have installed it and looks OK.
Now waiting for the first warning :slight_smile:

What card are you guys using to visualize the pollen data?

Simple summary markdowns for now
image_2024-05-29_192746803

1 Like

I have to admit that I’m looking into this for hours already but I guess I’m a bit too new to home assistant to understand everything.

I would like to use your integration to do something as soon as radar rain is announced in the next 30 minutes. I can call the service but to get the rain data out of it I’m struggling.

I’ve also look into the manual, other logs and even chatGPT but it just does not work.

Any help?