Använder SMHI i Home Assistant för väderprognos

Väderprognos i Home Assistant
Claes

Jag använder SMHI integrationen i Home Assistant för att visa väderprognosen på min Dashboard

Väderprognosen är något jag alltid har haft på min Dashboard. Tycker det är ganska skönt att slänga en blick på skärmen för att se hur prognosen ska vara för dagen och veckan. Det finns lite olika vädertjänster för Home Assistant men jag använder SMHI integrationen. Det går självklart att skapa automationer med integrationen men det är inget jag använder mig av här hemma.

För att skapa en automation med morgondagens prognos behöver man tyvärr vara ett proffs på yaml och templates. Mer om det längst ner!

Väderprognos i Home Assistant
Installation av SMHI

SMHI integrationen är standard i Home Assistant och jag installerar den genom att gå till Inställningar -> Enheter och tjänster -> Lägg till Integration -> SMHI.

Nu kommer det upp en kartbild och jag får bekräfta platsen.

SMHI Integrationen

SMHI integrationen skapar en tjänst och följande sensorer får jag upp. Sensorns namn är det som jag namngav när jag installerade.

 

Klickar jag på sensorn får jag upp Temperatur, lufttryck, luftfuktighet, vindhastighet och sikt. Här ser jag även prognosen för 10 dagar. och jag kan även välja att se hur prognosen ska bli varje timme.

Kort för att presentera väder på Dashboard

Jag använder standard kortet i Home Assistant för att visa väderprognosen på min Dahsboard

Väderprognos i Home Assistant

Skapa Automationer med SMHI integrationen

Jag kan använda SMHI integrationen för att skapa automationer. I en händelse om jag väljer Entititet -> Tillstånd -> (namnet på SMHI)

Från: Något tillstånd, Klart, Molnigt, Exceptionellt, Dimma, Hagel, Åska(regnigt), Åska/Blixtar, Växlande molnighet, Ösregn, Regn, Snöigt, regningt, Snö, Soligt, Blåsigt(molnigt), Blåsigt, Otillgänglig och Okänd

 

Till: Något tillstånd, Klart, Molnigt, Exceptionellt, Dimma, Hagel, Åska(regnigt), Åska/Blixtar, Växlande molnighet, Ösregn, Regn, Snöigt, regningt, Snö, Soligt, Blåsigt(molnigt), Blåsigt, Otillgänglig och Okänd

 

I ett Villkor kan jag använda tillstånden: Klart, Molnigt, Exceptionellt, Dimma, Hagel, Åska(regnigt), Åska/Blixtar, Växlande molnighet, Ösregn, Regn, Snöigt, regningt, Snö, Soligt, Blåsigt(molnigt), Blåsigt, Otillgänglig och Okänd

Skapa en automation med prognos

Att skapa en automation baserat på prognosen är skapligt jobbigt och knöligt. Det mesta kan göras med användargränssnittet men tydligen inte en prognos. Efter mycket letande (timmar) hittade jag svaret på home assistant forum där man måste använda sig av tjänsten: Hämta väderprognos. För att använda sig av prognos måste jag göra en template sensor. Om det nu är någon som sitter och klurar hoppas jag kunna ge svaret

 

Nedan skapar en template sensor som jag kallar daglig väderprognos. Den använder sig av SMHI integrationen som i mitt fall heter: weather.smhi_hemma. Sensorn får namnet sensor.daglig_vaderprognos. Som jag nu kan använda i en mall.

template:
  – trigger:
      – platform: time_pattern
        hours: /1
    action:
      – service: weather.get_forecasts
        data:
          type: daily
        target:
          entity_id:
           – weather.smhi_hemma
        response_variable: daily
    sensor:
      – name: Daglig Vaderprognos
        unique_id: weather_forecast_daily
        state: ”{{ now().isoformat() }}”
        attributes:
          forecast: ”{{ daily[’weather.smhi_hemma’].forecast }}”
Vill jag att prognosen ska vara på timmar ändrar jag typ från daily till hourly.
Mallen för prognosen

Mallen som jag kan använda använder state_attrib.

För att se alla attribute kan jag använda följande i tjänsten mallar som jag hittar via Utvecklarverktyg. och skriver {{ state_attr(’sensor.daglig_vaderprognos’, ’forecast’) }}

Om jag nu vill veta vad temperatur prognosen är imorgon använder jag mig av: {{ state_attr(’sensor.daily_forecast’, ’forecast’)[1].temperature }}.  [1] betyder morgondagens, hade jag skrivit [0} hade jag fått dagens prognos, [2] betyder övermorgons prognos osv.

Om jag vill kolla om det blir soligt imorgon kan jag använda: {{ state_attr(’sensor.daglig_vaderprognos’, ’forecast’)[1][’condition’] == ’sunny’ }}. Mallen kommer att returnera sant eller falskt.


Läs mer om vad jag använder i min installation av Home Assistant: Home Assistant Kontroller

About Claes