Skip to content

abnvle/ha-imgw-pib-monitor

Repository files navigation

IMGW-PIB Monitor dla Home Assistant

hacs_badge GitHub Release Downloads License: MIT HACS Validation Hassfest Tests Buy Me A Coffee

English version

Integracja Home Assistant wykorzystująca publiczne dane IMGW-PIB (Instytut Meteorologii i Gospodarki Wodnej - Państwowy Instytut Badawczy). Dostarcza dane pogodowe, hydrologiczne i ostrzeżenia dla dowolnej lokalizacji w Polsce.

Otwórz repozytorium w HACS

Funkcje

Podstawowe

  • Dwa tryby konfiguracji - automatyczny (GPS) lub manualny (wpisanie lokalizacji)
  • Config Flow UI - konfiguracja przez interfejs, zero YAML
  • 7 źródeł danych - synoptyczne, hydrologiczne, meteorologiczne, ostrzeżenia meteo, ostrzeżenia hydro, ostrzeżenia rozszerzone (meteo.imgw.pl), dane rozszerzone hydro (hydro-back)
  • Do 90+ encji - temperatura, wiatr, wilgotność, ciśnienie, stan wody, przepływ, trendy, alarmy, ostrzeżenia, binary sensory zjawisk, mapy radarowe i inne
  • Encja pogodowa - prognoza pogody (dzienna i godzinowa) z IMGW-PIB jako encja weather
  • Mapy radarowe i satelitarne - opcjonalne encje camera z mapą opadów, odbiciowości, sumy opadów i zdjęciem satelitarnym
  • Wiele instancji - możliwość dodania integracji wielokrotnie dla różnych lokalizacji
  • Tłumaczenia PL/EN
  • Bez klucza API - dane z publicznego API IMGW-PIB

Zaawansowane

  • Auto-Discovery - automatyczne wykrywanie i aktualizacja najbliższych stacji na podstawie lokalizacji Home Assistant
  • Geokodowanie - wyszukiwanie lokalizacji po nazwie z podpowiedziami (gmina, powiat, województwo)
  • Filtrowanie ostrzeżeń według powiatu - precyzyjne filtrowanie ostrzeżeń meteorologicznych i hydrologicznych z kodami TERYT
  • Automatyczne wykrywanie województwa i powiatu - system sam rozpoznaje region na podstawie współrzędnych
  • Obliczanie odległości - każdy sensor pokazuje odległość do stacji pomiarowej
  • Globalny koordynator - centralne pobieranie danych z rate limiting, oszczędność zapytań do API
  • Options Flow - zmiana interwału aktualizacji i włączanie/wyłączanie prognozy pogody w dowolnym momencie (5-120 minut)
  • Współrzędne geograficzne - wszystkie sensory zawierają współrzędne stacji w atrybutach
  • Prognoza pogody - opcjonalna encja pogodowa z prognozą dzienną i godzinową (dane z IMGW API Proxy)
  • Ostrzeżenia rozszerzone - szczegółowe ostrzeżenia z meteo.imgw.pl z 16 typami zjawisk (burze, grad, mróz, upał itp.) jako binary sensory
  • Wzbogacone dane hydro - trend poziomu wody, odległość do poziomu alarmowego/ostrzegawczego, stan wody z hydro-back API
  • Dynamiczne koordynaty stacji - współrzędne stacji synoptycznych pobierane z API (fallback na dane lokalne)
  • Odporność na awarie - błędy map radarowych i prognozy nie blokują działania reszty integracji

Zrzuty ekranu

Wpisy integracji

Każda lokalizacja tworzy osobne urządzenia — stacje pomiarowe, ostrzeżenia i prognozę pogody.

Wpisy integracji


Prognoza pogody

Encja weather z aktualną pogodą, prognozą dzienną i godzinową.

Prognoza pogody

Ostrzeżenia meteorologiczne

8 sensorów dla każdego typu ostrzeżeń — od liczby aktywnych po pełną treść.

Ostrzeżenia meteo


Dane hydrologiczne

Sensory pomiarowe (poziom wody, przepływ, temperatura wody) i diagnostyczne (ID stacji, odległość).

Dane hydrologiczne

Tryby konfiguracji

Tryb automatyczny (Auto-Discovery)

System wykorzystuje współrzędne GPS z konfiguracji Home Assistant. Po wybraniu tego trybu integracja automatycznie wyszukuje najbliższe stacje pomiarowe wszystkich typów (synoptyczne, hydrologiczne, meteorologiczne) w promieniu 50 km. W kolejnym kroku możesz wybrać, które typy danych chcesz monitorować.

Funkcje trybu automatycznego:

  • Automatyczne wykrywanie najbliższej stacji dla każdego typu danych
  • Dynamiczna aktualizacja stacji jeśli zmieni się lokalizacja Home Assistant
  • Automatyczne rozpoznanie województwa i powiatu dla ostrzeżeń
  • Jeden wpis integracji obsługuje wszystkie wybrane typy danych

Tryb manualny

System pyta o nazwę miejscowości lub adres. Po wpisaniu nazwa jest wyszukiwana przez IMGW API Proxy, które zwraca listę propozycji z pełnymi szczegółami (nazwa miejscowości, gmina, powiat, województwo, kod TERYT). Po wybraniu lokalizacji system wyszukuje najbliższe stacje pomiarowe.

Funkcje trybu manualnego:

  • Wyszukiwanie lokalizacji po nazwie z danymi z IMGW API
  • Automatyczne pobieranie kodu TERYT powiatu z API
  • Automatyczne rozpoznanie województwa i powiatu
  • Możliwość wybrania dowolnej lokalizacji w Polsce
  • Sortowanie wyników według rangi (najważniejsze miejscowości na górze)
  • Jeden wpis integracji obsługuje wszystkie wybrane typy danych

Sensory

Synoptyczne (8 sensorów)

Sensor Jednostka Typ
Temperatura °C Pomiar
Prędkość wiatru m/s Pomiar
Kierunek wiatru ° Pomiar
Wilgotność % Pomiar
Suma opadu mm Pomiar
Ciśnienie atmosferyczne hPa Pomiar
ID stacji synop - Diagnostyczny
Odległość synop km Diagnostyczny

Atrybuty: nazwa stacji, ID stacji, data pomiaru, godzina pomiaru, współrzędne geograficzne, odległość

Hydrologiczne (10 sensorów)

Sensor Jednostka Typ
Stan wody cm Pomiar
Przepływ wody m³/s Pomiar
Temperatura wody °C Pomiar
Stan poziomu wody enum (low/medium/high/warning/alarm/...) Informacyjny
Trend poziomu wody enum (strongly_falling/.../strongly_rising) Informacyjny
Ile do poziomu ostrzegawczego cm Pomiar
Ile do poziomu alarmowego cm Pomiar
Status alarmu wodnego enum (none/warning/alarm) Informacyjny
ID stacji hydro - Diagnostyczny
Odległość hydro km Diagnostyczny

Atrybuty sensora stanu wody: poziom alarmowy (alarm_level), poziom ostrzegawczy (warning_level).

Wszystkie dane hydrologiczne (stan wody, progi alarmowe, trend, przepływ, temperatura wody) pobierane są z hydro-back API (hydro-back.imgw.pl) — tego samego źródła co portal hydro.imgw.pl.

Meteorologiczne (10 sensorów)

Sensor Jednostka Typ
Temperatura powietrza °C Pomiar
Temperatura gruntu °C Pomiar
Średnia prędkość wiatru m/s Pomiar
Maksymalna prędkość wiatru m/s Pomiar
Porywy wiatru (10 min) m/s Pomiar
Kierunek wiatru ° Pomiar
Wilgotność % Pomiar
Opad (10 min) mm Pomiar
ID stacji meteo - Diagnostyczny
Odległość meteo km Diagnostyczny

Atrybuty: nazwa stacji, kod stacji, współrzędne geograficzne, odległość

Ostrzeżenia meteorologiczne (8 sensorów)

Sensor Opis Typ
Liczba aktywnych ostrzeżeń Ilość bieżących ostrzeżeń Pomiar
Najwyższy stopień ostrzeżenia Najwyższy aktywny poziom (1-3) -
Nazwa ostatniego zdarzenia Nazwa najpoważniejszego ostrzeżenia -
Stopień ostatniego ostrzeżenia Poziom najpoważniejszego ostrzeżenia -
Prawdopodobieństwo Prawdopodobieństwo ostatniego ostrzeżenia (%) -
Ważne od Data początku ważności ostatniego ostrzeżenia -
Ważne do Data końca ważności ostatniego ostrzeżenia -
Treść ostrzeżenia Treść ostatniego ostrzeżenia (max 255 znaków) -

Sensor "Liczba aktywnych ostrzeżeń" zawiera w atrybucie warnings pełną listę wszystkich aktywnych ostrzeżeń.

Ostrzeżenia można filtrować według:

  • Województwa (16 województw)
  • Powiatu (dokładniejsze filtrowanie) - opcjonalne

Ostrzeżenia hydrologiczne (8 sensorów)

Sensor Opis Typ
Liczba aktywnych ostrzeżeń Ilość bieżących ostrzeżeń hydro Pomiar
Najwyższy stopień ostrzeżenia hydro Najwyższy aktywny poziom -
Nazwa ostatniego zdarzenia hydro Nazwa/opis najpoważniejszego ostrzeżenia -
Stopień ostatniego ostrzeżenia hydro Poziom najpoważniejszego ostrzeżenia -
Prawdopodobieństwo hydro Prawdopodobieństwo ostatniego ostrzeżenia (%) -
Ważne od hydro Data początku ważności -
Ważne do hydro Data końca ważności -
Opis ostrzeżenia hydro Opis przebiegu ostrzeżenia (max 255 znaków) -

Sensor "Liczba aktywnych ostrzeżeń" zawiera w atrybucie warnings pełną listę wszystkich aktywnych ostrzeżeń hydrologicznych.

Ostrzeżenia można filtrować według:

  • Województwa (16 województw)
  • Powiatu (wyszukiwanie w opisie obszarów) - opcjonalne

Ostrzeżenia rozszerzone — meteo.imgw.pl (6 sensorów + 38 binary sensorów)

Opcjonalne szczegółowe ostrzeżenia meteorologiczne z API meteo.imgw.pl. Niezależne od standardowych ostrzeżeń z danepubliczne.imgw.pl.

Sensory (platforma sensor)

Sensor Opis Typ
Liczba ostrzeżeń (obecne) Wszystkie ostrzeżenia (w tym przyszłe) Pomiar
Liczba ostrzeżeń (aktywne) Ostrzeżenia obowiązujące teraz Pomiar
Najwyższy stopień (obecne) Max poziom wśród obecnych -
Najwyższy stopień (aktywne) Max poziom wśród aktywnych -
Zjawiska (obecne) Lista kodów zjawisk -
Zjawiska (aktywne) Lista kodów aktywnych zjawisk -

Binary sensory (platforma binary_sensor)

Per stopień (6 sensorów): dla każdego stopnia (1, 2, 3) — osobny binary sensor dla trybu "obecne" i "aktywne".

Per zjawisko (32 sensory): dla każdego z 16 zjawisk meteorologicznych — osobny binary sensor dla trybu "obecne" i "aktywne":

Kod Zjawisko Ikona
BU Burze mdi:weather-lightning
BG Burze z gradem mdi:weather-hail
IS Intensywne opady śniegu mdi:weather-snowy-heavy
ID Intensywne opady deszczu mdi:weather-pouring
MS Mgła osadzająca szadź mdi:weather-fog
OB Oblodzenie mdi:sun-snowflake-variant
OM Opady marznące mdi:weather-snowy-rainy
OS Opady śniegu mdi:weather-snowy
PR Przymrozki mdi:snowflake-thermometer
RO Roztopy mdi:snowflake-melt
DB Silny deszcz z burzami mdi:weather-lightning-rainy
MG Gęsta mgła mdi:weather-hazy
MR Silny mróz mdi:snowflake-alert
SW Silny wiatr mdi:weather-windy
UP Upał mdi:weather-sunny-alert
ZZ Zawieje zamiecie śnieżne mdi:weather-dust

Atrybuty binary sensorów: poziom ostrzeżenia, prawdopodobieństwo, daty ważności, treść SMS.

Prognoza pogody (encja weather)

Opcjonalna encja pogodowa weather.* z danymi z IMGW API Proxy. Obsługuje:

Właściwość Opis
Warunki pogodowe Na podstawie ikony IMGW (słonecznie, pochmurno, deszcz itp.)
Temperatura Bieżąca temperatura powietrza (°C)
Temperatura odczuwalna Temperatura odczuwalna (°C)
Wilgotność Wilgotność powietrza (%)
Ciśnienie Ciśnienie atmosferyczne (hPa)
Prędkość wiatru Prędkość wiatru (m/s)
Porywy wiatru Prędkość porywów wiatru (m/s)
Kierunek wiatru Kierunek wiatru (°)
Zachmurzenie Stopień zachmurzenia (%)

Dodatkowe atrybuty: opady, opady śniegu, wschód/zachód słońca, ikona IMGW, model prognozy.

Prognozy:

  • Dzienna - temperatura max/min, wiatr, opady (grupowanie dzień/noc)
  • Godzinowa - pełne dane pogodowe na każdą godzinę

Mapy radarowe, satelitarne i OZE (encje camera)

Opcjonalne encje camera.* z mapami generowanymi przez IMGW API Proxy. Obraz 800×800 px z podkładem mapowym OSM, danymi IMGW i markerem lokalizacji.

Mapy radarowe (odświeżanie co 5 minut)

Mapa Opis Produkt
Odbiciowość (CMAX) Maksymalna odbiciowość radarowa — pokazuje echo chmur i opadów cmax
Opady (SRI) Intensywność opadu na ziemi w mm/h sri
Suma opadów 1h (PAC) Skumulowany opad w ciągu ostatniej godziny w mm pac

Zdjęcia satelitarne (odświeżanie co 5 minut)

Mapa Opis Produkt
Kolory naturalne Obraz satelitarny w kolorach naturalnych natural_color
Zachmurzenie (IR) Mapa chmur w podczerwieni — działa 24/7, niezależnie od pory dnia infrared
Para wodna Kanał pary wodnej 6.2µm — ruchy mas powietrza water_vapor
Typy chmur Klasyfikacja chmur NWC SAF — niskie, średnie, wysokie, Cb cloud_type

Prognozy OZE — Odnawialne Źródła Energii (odświeżanie co pełną godzinę)

Mapy prognoz generacji energii z odnawialnych źródeł na podstawie modelu ECMWF IFS 9km. Dane identyczne jak na meteo.imgw.pl, aktualizowane co pełną godzinę UTC. Animacje pokazują prognozę na 24 godziny do przodu.

Mapa Opis Produkt
Generacja PV Prognoza generacji energii fotowoltaicznej (% mocy nominalnej) oze_pv
Generacja wiatr Prognoza generacji energii wiatrowej (% mocy nominalnej) oze_wind
Animacja PV (GIF) Animowany GIF z prognozą PV na 24h do przodu oze_pv_anim
Animacja wiatr (GIF) Animowany GIF z prognozą wiatru na 24h do przodu oze_wind_anim

Prognoza generacji PV (animacja 24h)

Animacja PV

Prognoza generacji wiatrowej (animacja 24h)

Animacja wiatr

Opcje w konfiguracji

W konfiguracji dostępny jest multi-select — możesz wybrać dowolną kombinację produktów:

Kategoria Produkty
Radar CMAX, SRI, PAC
Satelita Kolory naturalne, Zachmurzenie (IR), Para wodna, Typy chmur
OZE Generacja PV, Generacja wiatr, Animacja PV, Animacja wiatr

Atrybuty każdej encji: współrzędne lokalizacji, typ produktu, timestamp obrazu.

Mapy radarowe zawierają skalę kolorów z wartościami (dBZ, mm/h, mm). Zdjęcia zachmurzenia i typów chmur zawierają legendę kolorów. Mapy OZE zawierają skalę generacji (0-100%). Każdy obraz zawiera datę i godzinę w czasie polskim.

Instalacja

HACS (zalecane)

  1. Otwórz HACS w Home Assistant
  2. Kliknij - Custom repositories
  3. Dodaj https://github.com/abnvle/ha-imgw-pib-monitor z kategorią Integration
  4. Wyszukaj IMGW-PIB Monitor i zainstaluj
  5. Uruchom ponownie Home Assistant

Ręczna

  1. Pobierz repozytorium
  2. Skopiuj custom_components/imgw_pib_monitor do katalogu custom_components/
  3. Uruchom ponownie Home Assistant

Konfiguracja

Tryb automatyczny

  1. Przejdź do Ustawienia - Urządzenia i usługi - Dodaj integrację
  2. Wyszukaj IMGW-PIB Monitor
  3. Wybierz Automatyczny (GPS)
  4. System znajdzie najbliższe stacje dla wszystkich typów danych
  5. Zaznacz typy danych, które chcesz monitorować:
    • Dane synoptyczne (pogoda)
    • Dane meteorologiczne (szczegółowa meteorologia)
    • Dane hydrologiczne (rzeki)
    • Ostrzeżenia meteorologiczne
    • Ostrzeżenia hydrologiczne
  6. Dla ostrzeżeń możesz opcjonalnie włączyć filtrowanie po powiecie
  7. Opcjonalnie włącz prognozę pogody (encja weather)
  8. Potwierdź konfigurację

Tryb manualny

  1. Przejdź do Ustawienia - Urządzenia i usługi - Dodaj integrację
  2. Wyszukaj IMGW-PIB Monitor
  3. Wybierz Manualny (wpisanie lokalizacji)
  4. Wpisz nazwę miejscowości lub adres
  5. Wybierz odpowiednią lokalizację z listy podpowiedzi
  6. System znajdzie najbliższe stacje dla wszystkich typów danych
  7. Zaznacz typy danych, które chcesz monitorować
  8. Dla ostrzeżeń możesz opcjonalnie włączyć filtrowanie po powiecie
  9. Opcjonalnie włącz prognozę pogody (encja weather)
  10. Opcjonalnie wybierz mapę radarową/satelitarną (encja camera)
  11. Potwierdź konfigurację

Wiele instancji

Możesz dodać integrację wielokrotnie dla różnych lokalizacji. Każda instancja działa niezależnie i może monitorować inne typy danych.

Opcje

Po dodaniu integracji możesz zmienić ustawienia:

  1. Przejdź do Ustawienia - Urządzenia i usługi
  2. Znajdź wpis IMGW-PIB Monitor
  3. Kliknij KONFIGURUJ
  4. Ustaw nowy interwał aktualizacji (5-120 minut)
  5. Włącz lub wyłącz filtrowanie ostrzeżeń po powiecie
  6. Włącz lub wyłącz prognozę pogody (encja weather)
  7. Włącz lub wyłącz ostrzeżenia rozszerzone (meteo.imgw.pl)
  8. Wybierz mapę radarową/satelitarną (wyłączona, pojedynczy produkt lub wszystkie)

Domyślny interwał aktualizacji: 30 minut. Globalny koordynator synchronizuje się z najkrótszym interwałem spośród wszystkich instancji.

Jak działa globalny koordynator

Integracja wykorzystuje dwustopniową architekturę koordynatorów:

  1. Globalny koordynator - pobiera wszystkie dane z API IMGW-PIB. Interwał jest synchronizowany z najkrótszym interwałem spośród wszystkich instancji integracji. Używa rate limiting (2 równoczesne zapytania z opóźnieniem 200ms) aby nie obciążać API.

  2. Koordynatory instancji - każda instancja integracji ma własny koordynator, który filtruje dane z globalnego koordynatora i przygotowuje je dla swoich sensorów. Aktualizacje odbywają się zgodnie z ustawionym interwałem.

  3. Koordynator prognozy (opcjonalny) - osobny koordynator pobierający prognozę pogody z IMGW API Proxy dla encji weather.

Korzyści:

  • Jedno zapytanie do API obsługuje wszystkie instancje integracji
  • Zmniejszone obciążenie API IMGW-PIB
  • Lepsza wydajność Home Assistant
  • Możliwość częstszych aktualizacji bez obawy o przeciążenie API

Kody TERYT

Kody TERYT powiatów i ich nazwy są pobierane bezpośrednio z IMGW API Proxy podczas konfiguracji. Integracja nie zawiera lokalnej bazy kodów - dzięki temu zawsze korzysta z aktualnych danych, bez konieczności aktualizacji po zmianach administracyjnych.

Kody TERYT są używane do:

  • Filtrowania ostrzeżeń meteorologicznych (API zwraca ostrzeżenia z kodami TERYT)
  • Filtrowania ostrzeżeń hydrologicznych (wyszukiwanie nazwy powiatu w opisie obszarów)
  • Automatycznego wykrywania powiatu na podstawie geokodowania

Format kodu TERYT: AABB gdzie:

  • AA - kod województwa (02-32)
  • BB - kod powiatu (01-99)

Przykłady:

  • 1201 - powiat bocheński (woj. małopolskie)
  • 1261 - m. Kraków (miasto na prawach powiatu)
  • 1465 - m. Warszawa

Współrzędne stacji

Stacje synoptyczne (SYNOP)

API IMGW-PIB nie zwraca współrzędnych dla stacji synoptycznych. Integracja zawiera twardo zakodowaną bazę współrzędnych dla wszystkich 64 stacji synoptycznych w Polsce. Współrzędne są używane do:

  • Obliczania odległości do stacji
  • Automatycznego wyboru najbliższej stacji w trybie auto-discovery
  • Wyświetlania lokalizacji stacji w atrybutach sensorów

Stacje hydrologiczne i meteorologiczne

Dla tych stacji współrzędne są pobierane bezpośrednio z API IMGW-PIB.

Automatyczne aktualizacje w trybie Auto-Discovery

W trybie automatycznym integracja na bieżąco sprawdza, czy nie zmieniła się lokalizacja Home Assistant. Jeśli wykryje zmianę współrzędnych GPS, automatycznie aktualizuje wybrane stacje na najbliższe dostępne. Dzięki temu:

  • Integracja działa poprawnie po zmianie lokalizacji (np. przeniesienie instalacji)
  • Zawsze korzystasz z danych z najbliższych stacji
  • Nie musisz ręcznie rekonfigurować integracji

Aktualizacja dotyczy tylko typów danych, które były włączone podczas konfiguracji.

Automatyczne wykrywanie regionu

System automatycznie wykrywa województwo i powiat na podstawie:

W trybie automatycznym

  • Danych z IMGW API Proxy (reverse geocoding - współrzędne GPS -> najbliższa lokalizacja)
  • API zwraca nazwę województwa, powiatu i kod TERYT
  • Fallback: odległość do stolic województw jeśli API nie zwróci danych

W trybie manualnym

  • Danych z IMGW API Proxy (nazwa lokalizacji zawiera województwo, powiat, kod TERYT)
  • Kod TERYT powiatu i nazwa są pobierane bezpośrednio z API

Wykryty region jest używany do:

  • Filtrowania ostrzeżeń meteorologicznych i hydrologicznych według kodu TERYT
  • Wyświetlania informacji w nazwach urządzeń
  • Automatycznej konfiguracji ostrzeżeń

Przykłady automatyzacji

Powiadomienie o nowym ostrzeżeniu meteo

automation:
  - alias: "Ostrzeżenie IMGW"
    trigger:
      - platform: numeric_state
        entity_id: sensor.imgw_auto_discovery_warnings_meteo_count
        above: 0
    action:
      - service: notify.mobile_app
        data:
          title: "Ostrzeżenie meteorologiczne"
          message: >
            {{ state_attr('sensor.imgw_auto_discovery_warnings_meteo_latest', 'event') }}
            Stopień: {{ state_attr('sensor.imgw_auto_discovery_warnings_meteo_latest', 'level') }}
            Ważne: {{ state_attr('sensor.imgw_auto_discovery_warnings_meteo_latest', 'valid_from') }} - {{ state_attr('sensor.imgw_auto_discovery_warnings_meteo_latest', 'valid_to') }}

Alert mrozowy

automation:
  - alias: "Alert mrozowy"
    trigger:
      - platform: numeric_state
        entity_id: sensor.imgw_auto_discovery_temperature
        below: -15
    action:
      - service: notify.mobile_app
        data:
          title: "Silny mróz"
          message: "Temperatura spadła do {{ states('sensor.imgw_auto_discovery_temperature') }}°C w {{ state_attr('sensor.imgw_auto_discovery_temperature', 'station_name') }}"

Alert wysokiego stanu wody

automation:
  - alias: "Alert stan wody"
    trigger:
      - platform: numeric_state
        entity_id: sensor.imgw_auto_discovery_water_level
        above: 500
    action:
      - service: notify.mobile_app
        data:
          title: "Wysoki stan wody"
          message: >
            Stan wody w {{ state_attr('sensor.imgw_auto_discovery_water_level', 'river') }}
            w {{ state_attr('sensor.imgw_auto_discovery_water_level', 'station_name') }}
            wynosi {{ states('sensor.imgw_auto_discovery_water_level') }} cm

Powiadomienie o silnym wietrze

automation:
  - alias: "Alert silny wiatr"
    trigger:
      - platform: numeric_state
        entity_id: sensor.imgw_auto_discovery_wind_speed
        above: 15
    action:
      - service: notify.mobile_app
        data:
          title: "Silny wiatr"
          message: "Prędkość wiatru: {{ states('sensor.imgw_auto_discovery_wind_speed') }} m/s ({{ (states('sensor.imgw_auto_discovery_wind_speed') | float * 3.6) | round(0) }} km/h)"

Dashboard z ostrzeżeniami i pogodą

type: vertical-stack
cards:
  - type: entities
    title: Ostrzeżenia IMGW
    entities:
      - entity: sensor.imgw_auto_discovery_warnings_meteo_count
        name: Aktywne ostrzeżenia meteo
      - entity: sensor.imgw_auto_discovery_warnings_meteo_max_level
        name: Najwyższy stopień
      - entity: sensor.imgw_auto_discovery_warnings_meteo_latest
        name: Ostatnie ostrzeżenie
      - entity: sensor.imgw_auto_discovery_warnings_hydro_count
        name: Aktywne ostrzeżenia hydro
  - type: weather-forecast
    entity: weather.home
  - type: entities
    title: Dane IMGW
    entities:
      - entity: sensor.imgw_auto_discovery_temperature
        name: Temperatura
      - entity: sensor.imgw_auto_discovery_wind_speed
        name: Wiatr
      - entity: sensor.imgw_auto_discovery_humidity
        name: Wilgotność
      - entity: sensor.imgw_auto_discovery_pressure
        name: Ciśnienie

Limity API i optymalizacja

API IMGW-PIB nie wymaga klucza i nie ma oficjalnych limitów, ale warto zachować rozsądek:

  • Globalny koordynator pobiera dane zgodnie z najkrótszym interwałem instancji (domyślnie 30 minut)
  • Rate limiting - maksymalnie 2 równoczesne zapytania z opóźnieniem 200ms
  • Cache - wszystkie instancje używają tych samych danych
  • Timeout - timeout po 30 sekundach

Zalecenia:

  • Nie ustawiaj interwału poniżej 5 minut
  • Dla wielu instancji używaj tego samego interwału
  • Dane z API są aktualizowane co godzinę, nie ma sensu odpytywać częściej niż co 15 minut

Rozwiązywanie problemów

Brak stacji w okolicy

Jeśli system nie znajduje żadnych stacji w promieniu 50 km:

  • Sprawdź czy współrzędne GPS w Home Assistant są poprawne
  • Spróbuj trybu manualnego i wpisz najbliższą dużą miejscowość
  • Niektóre typy stacji (zwłaszcza hydrologiczne) nie są dostępne wszędzie

Niepoprawne dane

Jeśli sensory pokazują unavailable lub None:

  • Sprawdź logi Home Assistant (Ustawienia - System - Logi)
  • Niektóre stacje nie raportują wszystkich parametrów
  • API IMGW-PIB czasami zwraca puste wartości

Ostrzeżenia nie są filtrowane po powiecie

  • Sprawdź czy powiat został wykryty (informacja w logach)
  • Dla ostrzeżeń hydro filtrowanie działa tylko jeśli nazwa powiatu występuje w opisie obszarów
  • Możesz wyłączyć filtrowanie po powiecie i zostawić samo województwo

Dane nie aktualizują się

  • Sprawdź interwał aktualizacji w opcjach integracji
  • Sprawdź czy globalny koordynator pobiera dane (logi)
  • Sprawdź połączenie internetowe Home Assistant

Źródło danych

Dane pochodzą z publicznego API IMGW-PIB:

  • https://danepubliczne.imgw.pl/api/data/synop
  • https://danepubliczne.imgw.pl/api/data/meteo
  • https://danepubliczne.imgw.pl/api/data/warningsmeteo
  • https://danepubliczne.imgw.pl/api/data/warningshydro

Dane hydrologiczne (hydro-back API — to samo źródło co portal hydro.imgw.pl):

  • https://hydro-back.imgw.pl/list/hydro (lista stacji, stan wody, progi alarmowe, trend)
  • https://hydro-back.imgw.pl/station/hydro/discharge?id=... (aktualny przepływ)
  • https://hydro-back.imgw.pl/station/hydro/water-temperature?id=... (temperatura wody)

Dane rozszerzone:

  • https://meteo.imgw.pl/api/meteo/messages/v1/osmet/latest/osmet-teryt (ostrzeżenia rozszerzone)

IMGW API Proxy (prognoza, radar, satelita, OZE, koordynaty stacji):

  • https://imgw-api-proxy.evtlab.pl/forecast (prognoza pogody)
  • https://imgw-api-proxy.evtlab.pl/radar?lat=...&lon=...&product=... (mapy radarowe, satelitarne i OZE)
  • https://imgw-api-proxy.evtlab.pl/radar?...&product=oze_pv&hour=0 (prognoza OZE — bieżąca godzina)
  • https://imgw-api-proxy.evtlab.pl/radar?...&product=oze_pv&animate=24 (animacja OZE 24h)
  • https://imgw-api-proxy.evtlab.pl/stations/synop (koordynaty stacji synoptycznych)

Dane OZE (źródło: model ECMWF IFS 9km via IMGW):

  • https://tilesources-c.imgw.pl/vector/oze/epsg3857/latest/ (obrazy prognoz OZE)

Źródłem pochodzenia danych pomiarowych jest Instytut Meteorologii i Gospodarki Wodnej - Państwowy Instytut Badawczy.

Autor

Łukasz Kozik - lkozik@evilit.pl

Podziękowania

Dziękuję Allon za pomoc w tworzeniu integracji.

Licencja

MIT

Sponsor this project

Packages

 
 
 

Contributors

Languages