Gå til indhold
← Alle indlæg

Fire uafhængige DMI-vejrvarsler i Home Assistant

Indbygget MeteoAlarm viser ét varsel ad gangen. cap_alerts giver én entitet pr. DMI-varsel: opsætning for storm, skybrud, snestorm og hedebølge.

18. juli 2026 Verificeret på HA 2026.7
Fire uafhængige DMI-vejrvarsler i Home Assistant

Den aften, jeg byggede det her, havde DMI to gule varsler for mit område på samme tid: torden indtil kl. 20 og høj varme indtil kl. 18. Home Assistant har en indbygget MeteoAlarm-integration, som burde vise begge, men den kan kun vise ét varsel ad gangen. Det andet forsvinder bare.

Det er ikke en konfigurationsfejl. Det er core issue #131045: integrationen giver én binær sensor pr. region, og når der er flere aktive varsler, vinder ét af dem. Til et dashboard, der skal skelne mellem storm, skybrud, snestorm og hedebølge, er det ubrugeligt.

cap_alerts: én entitet pr. aktivt varsel

Løsningen er cap_alerts, en lille brugerdefineret integration fra HACS. Den bygger varslerne op efter CAP-standarden (Common Alerting Protocol) og opretter én sensor pr. aktivt varsel i stedet for at presse alt ind i én.

Installation: HACS → Custom repositories → seevee/cap_alerts, kategori Integration, og genstart. I opsætningen vælger du MeteoAlarm som kilde, land DK og derefter et filter for regionen.

Fælden med regionen: «Trekantområdet» findes ikke

Jeg bor i Kolding Kommune og var overbevist om, at min varslingsregion hed «Trekantområdet». Det gør den ikke, den findes slet ikke i MeteoAlarm. Danmark har præcis 8 regioner på land (plus cirka 20 farvandszoner):

EMMA_ID Region
DK001 Nordjylland
DK002 Midt- og Vestjylland
DK003 Bornholm
DK004 Østjylland
DK005 Syd- og Sønderjylland
DK006 Fyn
DK007 Vest- og Sydsjælland samt Lolland-Falster
DK008 København og Nordsjælland

Tjek selv i det aktuelle feed på feeds.meteoalarm.org, og søg efter din egn i felterne areaDesc i stedet for at gætte. Kolding hører til DK005.

Pas på: DMI's grønne «ingen varsler» gælder alle regioner

Den første hentning gav mig 69 entiteter, og næsten alle var «green Rain», «green Fog» og «green High temperature». DMI sender faste beskeder om, at «There are currently no active warnings», for hver type varsel, og de er mærket med alle regionskoder. De slipper altså igennem ethvert filter for region.

Det betyder, at du ikke kan nøjes med at filtrere på region. Du skal filtrere på awareness_level: 1 er grøn (intet varsel), 2 er gul, 3 er orange og 4 er rød.

Fire typer fare som faste binære sensorer

Entiteterne fra cap_alerts kommer og går med tilfældige endelser (sensor.cap_alerts_meteoalarm_cap_alert_yellow_thunderstorm_8907cd01) og forsvinder, når varslet udløber. Dem kan man ikke skrive direkte ind i et kort. I stedet bruger jeg fire binære template-sensorer, én pr. type fare, som gennemgår alle cap_alerts-entiteter og læser awareness_type og awareness_level ud af parametrene:

{% set ns = namespace(hit=false) %}
{% for s in states.sensor if 'cap_alerts_meteoalarm_cap_alert' in s.entity_id %}
  {% set p = s.attributes.get('parameters', {}) %}
  {% set lvl = (p.get('awareness_level','0').split(';')[0] | trim | int(0)) %}
  {% set typ = (p.get('awareness_type','0').split(';')[0] | trim | int(0)) %}
  {% if lvl >= 2 and typ in [1, 3] and 'DK005' in (s.attributes.get('geocode_same') or []) %}
    {% set ns.hit = true %}
  {% endif %}
{% endfor %}
{{ ns.hit }}

Det er templaten for binary_sensor.jordrup_wind_warning (oprettet som template-hjælper i brugerfladen, ingen YAML-filer). Koderne for awareness_type: 1 vind, 2 sne og is, 3 torden, 5 varme og 10/12/13 regn og oversvømmelse. Jeg lod med vilje torden (3) tælle med under storm. DMI sender varsler om kraftige vindstød som «Thunderstorm», og et rent vindfilter ville have skjult det aktive varsel den aften.

De fire sensorer er jordrup_wind_warning (1 og 3), jordrup_rain_flood_warning (10, 12 og 13), jordrup_snow_ice_warning (2) og jordrup_heat_warning (5).

Kortet med de skiftende varsler

Med faste binære sensorer er dashboardet nemt. Jeg bruger AlertTicker-Card, som skifter mellem de aktive varsler:

type: custom:alert-ticker-card
cycle_interval: 6
alerts:
  - entity: binary_sensor.jordrup_wind_warning
    state: "on"
    message: "⚠️ Storm / High Wind Warning"
    priority: 1
    theme: emergency
  - entity: binary_sensor.jordrup_rain_flood_warning
    state: "on"
    message: "🌧️ Heavy Rain / Flash Flood Alert"
    priority: 2
    theme: warning
  - entity: binary_sensor.jordrup_snow_ice_warning
    state: "on"
    message: "❄️ Severe Snow / Ice Warning"
    priority: 2
    theme: warning
  - entity: binary_sensor.jordrup_heat_warning
    state: "on"
    message: "🌡️ Extreme Heat Warning"
    priority: 3
    theme: warning

Da jeg tog skærmbilledet øverst, skiftede den mellem varslerne om storm og varme: to uafhængige farer på samme tid, hver med sin prioritet. Det var hele pointen.

Begrænsningerne, ærligt talt

cap_alerts henter data hvert 5. minut (det kan ændres), så et helt nyt varsel kan komme et par minutter for sent. Regionerne er grove: DK005 dækker hele Syd- og Sønderjylland, ikke din grund (cap_alerts har også et filter med et GPS-område, hvis du vil være mere præcis). Og mine sensorer slår til fra gult niveau og op. Vil du kun have orange og rød, ændrer du lvl >= 2 til 3.

Nye indlæg direkte i din RSS-læser: følg med via RSS I Google-søgning: vælg szimnau.dk som foretrukken kilde