How to integrate MeteoSwiss with Home Assistant

Disclosure: This post contains affiliate links. If you click through and make a purchase, I will earn a commission, at no additional cost to you. Read my full disclosure here.
An illustration of people in the rain with umbrellas.

Ever since Apple closed the Dark Sky API, many, me included, have been seeking a solid alternative. As a Swiss user of Home Assistant, I would have preferred to use MeteoSwiss, the Federal Office of Meteorology and Climatology, from the beginning. Fortunately, I discovered this integration in the Home Assistant Community Store after I was forced to switch from Dark Sky. And I’m much happier now than I ever was with what I had previously.

Prerequisites

The MeteoSwiss integration can be set up on any Home Assistant installation. No matter if you’re running Home Assistant Core in a Docker container or Home Assistant on a Raspberry Pi. It should work everywhere.

You will, however, need to have the Home Assistant Community Store (HACS) installed and configured. You’ll find a guide on how to do that on the official website. HACS requires that you are running at least Home Assistant Core version 0.110.0, you have a GitHub account, and that you have access to the filesystem where Home Assistant is located.

Once you have HACS installed you should be able to access from your menu. And that is where this guide will continue on.

Installing the MeteoSwiss integration

From HACS, select Integrations and search for meteoswiss. The integration should appear and can be installed with just a single click. As I’ve already got mine set up, the install button won’t appear. I’ve included another integration I haven’t got installed in the screenshot, so you know what it should look like. Once installed, you will have to restart Home Assistant.

Setting up the MeteoSwiss integration

MeteSwiss is now installed on your system. However, the integration is not yet set up. To do so, you’ll want to head over to the integrations (found under Configuration in the menu). From there, click on the big plus button and once again search for MeteoSwiss. Select it, and you will be prompted to enter a postal code and station name.

By default the MeteoSwiss integration will try to determine the best settings for you based on your location. If you’re not happy with the result you can change it at this point. A list of weather stations is found here. After clicking on submit the setup is complete.

Displaying MeteoSwiss weather information in your Lovelace UI

To display your weather information which is now being gathered from MeteoSwiss you can use the Weather Forecast Card. Your entities name should be weather.[station name]. And if you want to bling up your weather card a bit, I can recommend the animated weather card which can also be found in the HACS.

The Lovelace Weather Forecast Card
The weather card with animated icons (which can't be seen here)

Other MeteoSwiss sensors

Besides the information needed for the weather card (current weather and forecast) the MeteoSwiss integration gives you several further sensors you can use for whatever you want. I’m uncertain if these are different depending on the station you’ve selected, but I get the following:

  • Rain and sun
  • Dew point, humidity and pressure
  • Sun radiant
  • Temperature
  • Wind direction, wind speed, and maximum wind speed

About Liam Alexander Colman

is an experienced Home Assistant user who has been utilizing the platform for a variety of projects over an extended period. His journey began with a Raspberry Pi, which quickly grew to three Raspberry Pis and eventually a full-fledged server. Liam's current operating system of choice is Unraid, with Home Assistant comfortably running in a Docker container.
With a deep understanding of the intricacies of Home Assistant, Liam has an impressive setup, consisting of various Zigbee devices, and seamless integrations with existing products such as his Android TV box. For those interested in learning more about Liam's experience with Home Assistant, he shares his insights on how he first started using the platform and his subsequent journey.

7 thoughts on “How to integrate MeteoSwiss with Home Assistant”

  1. Hi there

    I installed Meteo swiss through HACS which worked fine and added the integration too. I only get the sensors as entities but cant get the data for my region. I’ve also installed Weather Forecast card but it seems like its not getting the data from Meteo Swiss. I only got one weather-entity which is called weather.home (from Meteorologisk institutt).

    What am I doing wrong? Any help is much appreciated.

    BTW, nice blog, just about to check it out a bit 🙂

    Kind regards

    Andreas

    Reply
    • Hello

      I have the same problem on my site. In the meantime do you have a workaround or a solution?

      Kind regards
      Patrick

      Reply
      • Hey there. I’ve been experiencing the same issues, which is a massive shame (I will have to make an amendment to this post). On GitHub, there is a “fix” which I couldn’t get to work.

        On the bright side, it does appear that for the first time, things are being developed again. I guess we just wait for the next release. Meanwhile, I have switched to OpenWeatherMap.

        Reply
        • I just realized what I was doing wrong. In setting up the integration, it would auto-populate the PLZ with my current location. But the weather station it had selected was in another town. I changed the PLZ and now it works!

          Reply
  2. Thank You !!!
    Worked (almost like a charm), just need to add a step after the integration in HACS, that to get meteoswiss appearing in HA integration you may need to webbrowser cache (once more even if done to get HACS initial integration).

    Reply
    • From above: I just realized what I was doing wrong. In setting up the integration, it would auto-populate the PLZ with my current location. But the weather station it had selected was in another town. I changed the PLZ and now it works!

      Reply
  3. Hi work great. Any idea where I might get a list of all possible states?

    e.g. the output list from {{states.weather.bern.state}}

    partlyCloudy
    snowy-rainy
    rainy

    Reply

Leave a comment

Share to...