New custom component: France weather alerts from Météo France

Thanks Works fine now :slight_smile:

Awesome!
I missed the announcement of this component
Thanks

1 Like

Don’t hesitate to share feedback and ideas for improvement. With @victorcerutti we are working on it.

1 Like

Hello everybody !

I’m looking for a good custom card for the Meteo France informations to show the alert level with color, maybe a progress bar with the rain information…
Could you share, if you custom your HA, the information about it.

Thank you

I don’t remind having seeing any custom card for Meteo France.
If you start developing something, don’t hesitate to share.

I confirm that, but I create a lovelace card if you want : It displays, for each 10 minutes, if it’ll rain in function of the color of the card. You can see the code and an example:

cards:
  - color_type: card
    entity: sensor.city_next_rain
    name: Now
    show_icon: false
    show_state: false
    state:
      - color: 'rgb(204, 217, 255)'
        operator: template
        value: |
          [[[
            return states['sensor.city_next_rain'].attributes
            && (states['sensor.city_next_rain'].attributes.rain_level_0min == 2)
          ]]]
      - color: 'rgb(128, 159, 255)'
        operator: template
        value: |
          [[[
            return states['sensor.city_next_rain'].attributes
            && (states['sensor.city_next_rain'].attributes.rain_level_0min == 3)
          ]]]
      - color: 'rgb(51, 102, 255)'
        operator: template
        value: |
          [[[
            return states['sensor.city_next_rain'].attributes
            && (states['sensor.city_next_rain'].attributes.rain_level_0min == 4)
          ]]]
      - color: 'rgb(255, 255, 255)'
        operator: default
    styles:
      card:
        - height: 50px
    type: 'custom:button-card'
  - color_type: card
    entity: sensor.city_next_rain
    name: 10
    show_icon: false
    show_state: false
    state:
      - color: 'rgb(204, 217, 255)'
        operator: template
        value: |
          [[[
            return states['sensor.city_next_rain'].attributes
            && (states['sensor.city_next_rain'].attributes.rain_level_10min == 2)
          ]]]
      - color: 'rgb(128, 159, 255)'
        operator: template
        value: |
          [[[
            return states['sensor.city_next_rain'].attributes
            && (states['sensor.city_next_rain'].attributes.rain_level_10min == 3)
          ]]]
      - color: 'rgb(51, 102, 255)'
        operator: template
        value: |
          [[[
            return states['sensor.city_next_rain'].attributes
            && (states['sensor.city_next_rain'].attributes.rain_level_10min == 4)
          ]]]
      - color: 'rgb(255, 255, 255)'
        operator: default
    styles:
      card:
        - height: 50px
    type: 'custom:button-card'
  - color_type: card
    entity: sensor.city_next_rain
    name: 20
    show_icon: false
    show_state: false
    state:
      - color: 'rgb(204, 217, 255)'
        operator: template
        value: |
          [[[
            return states['sensor.city_next_rain'].attributes
            && (states['sensor.city_next_rain'].attributes.rain_level_20min == 2)
          ]]]
      - color: 'rgb(128, 159, 255)'
        operator: template
        value: |
          [[[
            return states['sensor.city_next_rain'].attributes
            && (states['sensor.city_next_rain'].attributes.rain_level_20min == 3)
          ]]]
      - color: 'rgb(51, 102, 255)'
        operator: template
        value: |
          [[[
            return states['sensor.city_next_rain'].attributes
            && (states['sensor.city_next_rain'].attributes.rain_level_20min == 4)
          ]]]
      - color: 'rgb(255, 255, 255)'
        operator: default
    styles:
      card:
        - height: 50px
    type: 'custom:button-card'
  - color_type: card
    entity: sensor.city_next_rain
    name: 30
    show_icon: false
    show_state: false
    state:
      - color: 'rgb(204, 217, 255)'
        operator: template
        value: |
          [[[
            return states['sensor.city_next_rain'].attributes
            && (states['sensor.city_next_rain'].attributes.rain_level_30min == 2)
          ]]]
      - color: 'rgb(128, 159, 255)'
        operator: template
        value: |
          [[[
            return states['sensor.city_next_rain'].attributes
            && (states['sensor.city_next_rain'].attributes.rain_level_30min == 3)
          ]]]
      - color: 'rgb(51, 102, 255)'
        operator: template
        value: |
          [[[
            return states['sensor.city_next_rain'].attributes
            && (states['sensor.city_next_rain'].attributes.rain_level_30min == 4)
          ]]]
      - color: 'rgb(255, 255, 255)'
        operator: default
    styles:
      card:
        - height: 50px
    type: 'custom:button-card'
  - color_type: card
    entity: sensor.city_next_rain
    name: 40
    show_icon: false
    show_state: false
    state:
      - color: 'rgb(204, 217, 255)'
        operator: template
        value: |
          [[[
            return states['sensor.city_next_rain'].attributes
            && (states['sensor.city_next_rain'].attributes.rain_level_40min == 2)
          ]]]
      - color: 'rgb(128, 159, 255)'
        operator: template
        value: |
          [[[
            return states['sensor.city_next_rain'].attributes
            && (states['sensor.city_next_rain'].attributes.rain_level_40min == 3)
          ]]]
      - color: 'rgb(51, 102, 255)'
        operator: template
        value: |
          [[[
            return states['sensor.city_next_rain'].attributes
            && (states['sensor.city_next_rain'].attributes.rain_level_40min == 4)
          ]]]
      - color: 'rgb(255, 255, 255)'
        operator: default
    styles:
      card:
        - height: 50px
    type: 'custom:button-card'
  - color_type: card
    entity: sensor.city_next_rain
    name: 50
    show_icon: false
    show_state: false
    state:
      - color: 'rgb(204, 217, 255)'
        operator: template
        value: |
          [[[
            return states['sensor.city_next_rain'].attributes
            && (states['sensor.city_next_rain'].attributes.rain_level_50min == 2)
          ]]]
      - color: 'rgb(128, 159, 255)'
        operator: template
        value: |
          [[[
            return states['sensor.city_next_rain'].attributes
            && (states['sensor.city_next_rain'].attributes.rain_level_50min == 3)
          ]]]
      - color: 'rgb(51, 102, 255)'
        operator: template
        value: |
          [[[
            return states['sensor.city_next_rain'].attributes
            && (states['sensor.city_next_rain'].attributes.rain_level_50min == 4)
          ]]]
      - color: 'rgb(255, 255, 255)'
        operator: default
    styles:
      card:
        - height: 50px
    type: 'custom:button-card'
title: Pluie
type: horizontal-stack

image

3 Likes

Hello,

Do you know how I can get the temperature max and min for tomorrow ? Because, in the attributes, the forecast information is “Object object” only…

Hello,
Do you know if it possible to add 2 sensors for the current day : the temperature max and temperature min, because they miss include in my home assistant lovelace ?

Thank you in advance !

Hi @oncleben31,
Thank you for this great work! Is it possible to include humidity too? It seems to be lacking for now.

You can have it thru template. Example for low temperature

{{state_attr('weather.MY_CITY','forecast')[0].templow}}

The current temperature available is the max of the day. The min and max for current day isn’t fetch by this version of the integration. There is a project to modify the integration to have in the first position of the forecast the current day(it’s tomorrow currently). If some of you want to make it happen you are welcome.

No the information is not available on the meteofrance website as far as I know.Text

Hi @oncleben31,
Strangely enough, Météo France does not show up in the new integration list in the config dashboard (config flow). I am running 0.105.5.
Is it only through the config yaml file?
Thx

Hello,
I added Météo-France in my yaml, and all sensors are not created ( for example “next rain”/"chance of freeze) that was working before for my city)
Thanks

Hello, 
I added Météo-France in my yaml 2 days ago.
Everything works fine.
Just the sensor next_rain failed.
What can I do ?
Thanks.

meteo_france

@Quentame une idée ?

@Julien67 @max5962 @Friedrieck

From 0.106.0, Météo-France can be configured both via config.yaml file or via the UI.

But you have to remove monitored_conditions from your yaml file.

See release notes : https://www.home-assistant.io/blog/2020/02/26/release-106/#breaking-changes

1 Like

Hi, nice component, thanks! One question, is there a way to use the ID provided by meteo france? (Mine is 06720) I’m trying to use it for a city in Switzerland, as we are very close… So I tried also to use the integration typing Sion (Suisse) and he find Suisse as result. I tried also to type Sion, but there is also a village in France with the same name, so I’m sure it’s the wrong place for me…
Here’s the result of the query:

"id" : "06720",
  "indicatifInseePP" : null,
  "onTheSnowSkiiId" : 0,
  "nomAffiche" : "Sion (Suisse)",
  "type" : "VILLE_MONDE",
  "slug" : "sion",
  "codePostal" : null,
  "timezone" : "Europe/Zurich",
  "altitude" : 481,

Have you tried ‘Sion, Suisse’ ?

Yes, this gives me Suisse as result. It’s just a display problem I think.
Ok in fact I’m sure I get the correct station, it’s just a “cosmetic” feature now. I just want to modify the name of the city. It was possible before via configuration.yaml but now, as I used the frontend, where is this info available?
meteofrance

3 different examples to illustrate my problem.
1st line is “Montana, Suisse” (the way I inputed it) village that exists only in Switzerland not in France: it displays Montana.
2nd line is “Sion, Suisse” town in Switzerand that exists also in France: it displays Suisse.
3rd line is “Zermatt, Suisse” village in Switzerland that exists only in Switzerland, not in France, it displays Zermatt.

For the 2nd line, seems to me that the meteo information are for Sion in France, because look at the number of sensors. Suspect the query has problems when same Town name exists in France and another country. Maybe you can try and give me your point of view.
meteofrance

And manual configuration doesn’t work:

# Meteo France
meteo_france:
  - city: 'sion, suisse'
  - city: 'montana, suisse'
  - city: 'zermatt, suisse'

gives me following error:

Invalid config for [meteo_france]: [platform] is an invalid option for [meteo_france]. Check: meteo_france->meteo_france->3->platform. (See /config/configuration.yaml, line 47)

ok, definitively, sion, suisse shows meteo infos for sion, france, and indicate Suisse… Only works for France.