---
title: "Meteosource API pogody"
description: "Integracja Meteosource Weather API z TapHome — aktualne warunki pogodowe, dzienne prognozy temperatur i opadów przez HTTPS cloud API (darmowy plan)."
url: "https://taphome.com/pl/compatibility/meteosource/"
language: pl
lastmod: 2026-03-28
generator: hugo
ai:
  topics: ["http","data-service","cloud-api","weather","packet-parser"]
  questions: ["Jak zintegrować dane pogodowe z Meteosource z TapHome?","Jakie dane pogodowe dostarcza szablon Meteosource dla TapHome?","Jak uzyskać darmowy klucz API Meteosource dla TapHome?","Jak działa przełącznik wielowartościowy typu pogody w TapHome?","Czy darmowy plan Meteosource jest wystarczający do odpytywania przez TapHome?","Jak zmienić strefę czasową w szablonie Meteosource?"]
---

# Meteosource API pogody

Komunikacja: Packet Parser → HTTP

- [Oficjalna strona Meteosource](https://www.meteosource.com)

## Poradnik integracji

Meteosource to globalny dostawca danych pogodowych oferujący aktualne warunki, prognozy i dane historyczne poprzez REST API. Szablon TapHome łączy się z darmowym planem API Meteosource przez HTTPS i odczytuje aktualne warunki pogodowe oraz dzienną prognozę dla skonfigurowanej lokalizacji GPS.

Szablon udostępnia 8 urządzeń tylko do odczytu, obejmujących typ pogody, prędkość i kierunek wiatru, aktualną temperaturę, dzienne temperatury minimalne i maksymalne oraz opady (aktualne i dzienne). Moduł odpytuje API co 5 minut i zapisuje pełną odpowiedź JSON w pamięci podręcznej — poszczególne czujniki odczytują następnie z pamięci podręcznej w krótszych odstępach. Darmowy plan pozwala na 400 wywołań dziennie, a szablon wykorzystuje około 288 wywołań dziennie, co mieści się w limicie z dużym zapasem.

## Konfiguracja

### Uzyskanie klucza API

1. Zarejestruj darmowe konto na [meteosource.com/client/sign-up](https://www.meteosource.com/client/sign-up)
2. Po rejestracji klucz API jest dostępny w dashboardzie konta
3. Skopiuj klucz — będzie potrzebny podczas importu szablonu w TapHome

> [!TIP]
> Darmowy plan zapewnia 400 wywołań API dziennie z limitem 10 żądań na minutę. Szablon TapHome odpytuje co 5 minut (288 wywołań/dzień), co zostawia wygodny margines. Darmowy plan wymaga wzmianki i linku zwrotnego do Meteosource przy użyciu komercyjnym.

### Parametry importu

Podczas importu szablonu w TapHome wymagane są trzy parametry:

| Parametr | Opis | Przykład |
|----------|------|---------|
| `latitude` | Szerokość geograficzna lokalizacji w stopniach dziesiętnych | `48.1778` |
| `longitude` | Długość geograficzna lokalizacji w stopniach dziesiętnych | `17.1426` |
| `apiKey` | Klucz API Meteosource z dashboardu konta | `abc123def456...` |

Aby znaleźć współrzędne lokalizacji, kliknij prawym przyciskiem na [Google Maps](https://maps.google.com) i wybierz współrzędne z menu kontekstowego.

### Zmienne modułu

Po zaimportowaniu szablonu można dostosować jedną zmienną w ustawieniach modułu:

| Zmienna | Opis | Wartość domyślna |
|---------|------|------------------|
| `tz` | Strefa czasowa w formacie tzinfo | `Europe/Prague` |

Strefa czasowa określa, jak interpretowane są znaczniki czasu w odpowiedzi API. Użytkownicy spoza strefy czasowej CET/CEST powinni zmienić tę wartość, aby odpowiadała ich lokalizacji (np. `America/New_York`, `Asia/Tokyo`, `UTC`).

### Endpoint API

Moduł łączy się z `www.meteosource.com` przez HTTPS (port 443) i wywołuje:

```
GET /api/v1/free/point?lat={lat}&lon={lon}&sections=current,daily&timezone={tz}&language=en&units=ca&key={apiKey}
```

Szablon używa systemu jednostek `ca` (kanadyjskiego): Celsjusz dla temperatury, km/h dla prędkości wiatru, mm dla opadów i hPa dla ciśnienia.

## Możliwości urządzeń

### Typ pogody

Urządzenie **Weather Type** to przełącznik wielowartościowy, który mapuje pole Meteosource `icon_num` (wartości 1–36) na 7 kategorii pogodowych TapHome:

| Wartość przełącznika | Kategoria | Ikony Meteosource (dzień) | Ikony Meteosource (noc) |
|---------------------|-----------|--------------------------|------------------------|
| 0 | Bezchmurnie / Słonecznie | 2, 3, 4, 5 | 26, 27, 28 |
| 1 | Pochmurno / Zachmurzenie | 6, 7, 8 | 29, 30, 31 |
| 2 | Deszcz | 11, 12, 13, 25 | 32, 34, 35, 36 |
| 3 | Mżawka / Lekki deszcz | 10 | -- |
| 4 | Burza | 14, 15 | 33 |
| 5 | Śnieg / Marznięcie | 16–24 | -- |
| 6 | Mgła | 9 | -- |

Jeśli numer ikony to 1 lub jest nierozpoznany, przełącznik ustawia się na wartość domyślną 1 (Pochmurno). Typ pogody jest odpytywany co 30 minut.

### Temperatura

Trzy urządzenia temperaturowe dostarczają aktualne dane i dane z prognozy:

- **Temperature** — aktualna temperatura powietrza na wysokości 2 m w Celsjuszach. Używa dedykowanego typu urządzenia czujnika temperatury ze zgłaszaniem błędów, jeśli odpowiedź API jest niedostępna
- **Temperature Max** — dzisiejsza prognozowana temperatura maksymalna w Celsjuszach, odczytana z sekcji prognozy dziennej (`daily.data[0]`)
- **Temperature Min** — dzisiejsza prognozowana temperatura minimalna w Celsjuszach, odczytana z sekcji prognozy dziennej (`daily.data[0]`)

### Wiatr

- **Wind Speed** — aktualna prędkość wiatru na wysokości 10 m w km/h (przy użyciu systemu jednostek `ca`). Zgłasza błąd, jeśli zapisana odpowiedź jest niedostępna
- **Wind Direction** — kierunek wiatru w stopniach (0–360, gdzie 0/360 = północ, 90 = wschód, 180 = południe, 270 = zachód). To najczęściej odpytywane urządzenie z interwałem 15 sekund, odczytujące z zapisanej odpowiedzi

### Opady

- **Precipitation (1-hour)** — aktualna ilość opadów w mm. Zgłasza błąd, jeśli zapisana odpowiedź jest niedostępna
- **Precipitation (Daily)** — dzisiejsze całkowite dzienne prognozowane opady w mm, odczytane z sekcji prognozy dziennej

### Dodatkowe możliwości

API Meteosource udostępnia również temperaturę odczuwalną, porywy wiatru, zachmurzenie, ciśnienie atmosferyczne, wilgotność, widoczność, indeks UV, punkt rosy, odczuwalny chłód wiatru, typ opadów i tekstowe podsumowanie pogody dla aktualnych warunków. Endpoint jakości powietrza z PM10, PM2.5, NO2, CO, O3 i AQI jest dostępny osobno. Mogą one zostać dodane w przyszłej aktualizacji szablonu.

## Rozwiązywanie problemów

### Wszystkie urządzenia pokazują NaN lub brak danych

1. Sprawdź, czy TapHome Core ma dostęp do internetu — szablon wymaga wychodzącego połączenia HTTPS do `www.meteosource.com`
2. Sprawdź, czy klucz API jest prawidłowy i nie został ponownie wygenerowany
3. Potwierdź, że wartości szerokości i długości geograficznej są poprawnymi współrzędnymi dziesiętnymi
4. Nowe klucze API mogą wymagać kilku minut na aktywację po rejestracji

### Nieaktualne lub opóźnione odczyty

Moduł odpytuje API Meteosource co 5 minut i zapisuje odpowiedź w zmiennej pamięci podręcznej. Poszczególne czujniki odczytują z tej pamięci podręcznej w krótszych odstępach (od 15 sekund do 1 minuty). Jeśli wywołanie API się nie powiedzie, wszystkie czujniki kontynuują zwracanie ostatnich zapisanych wartości do następnego udanego odpytania.

> [!WARNING]
> API Meteosource to usługa chmurowa, która wymaga aktywnego połączenia internetowego na TapHome Core. Podczas przerw w dostępie do internetu lub przestojów API szablon nie będzie otrzymywał zaktualizowanych danych pogodowych. Domyślna strefa czasowa to `Europe/Prague` — użytkownicy w innych regionach muszą zmienić zmienną modułu `tz` dla poprawnych lokalnych znaczników czasu.

## Dostępne urządzenia 8

Te urządzenia pojawią się w TapHome po imporcie.

Meteosource Moduł

Zmienne niestandardowe

|                               |                                                                                                         |
|-------------------------------|---------------------------------------------------------------------------------------------------------|
| `apiKey` (string)             | Klucz API Meteosource do uwierzytelniania (uzyskaj z dashboardu meteosource.com)                        |
| `lat` (string)                | Szerokość geograficzna lokalizacji pogodowej w stopniach dziesiętnych (ustawiana podczas importu)       |
| `lon` (string)                | Długość geograficzna lokalizacji pogodowej w stopniach dziesiętnych (ustawiana podczas importu)         |
| `tz` (string) = Europe/Prague | Identyfikator strefy czasowej IANA do konwersji znaczników czasu (np. Europe/Prague, America/New\_York) |

Odczyt (moduł)

```taphome
VAR request := HTTPREQUEST(
	"/api/v1/free/point?lat=" + lat + "&lon=" + lon + "&sections=current,daily&timezone=" + tz + "&language=en&units=ca&key=" + apiKey,
	"GET" 
);
VAR response := SENDHTTPREQUEST(request);
VAR responseHeaders := response.Headers;
IF response.IsSuccess  
  responseJson := response.Content;
END
```

Typ pogody Przełącznik wielowartościowy Tylko do odczytu

Stan pogody jako multi-value switch — Bezchmurnie, Pochmurnie, Deszcz, Mżawka, Burza, Śnieg, Mgła

integer → mapped Jednostka: category JSON parsejson()

Wartości / Stany: ${weather\_clear} · ${weather\_clouds} · ${weather\_rain} · ${weather\_drizzle} · ${weather\_thunderstorm} · ${weather\_snow} · ${weather\_fog}

Odczyt stanu przełącznika

```taphome
IF(ISNULL(responseJson) | responseJson = "error")
    return(NaN);
END 

VAR weather := PARSEJSON(responseJson, "current.icon_num");
SWITCH(weather, 
2, 0, 3, 0, 4, 0,26,0, 27,0,28,0,
5, 0, 6, 1, 7, 1, 8,1,29,1,30,1,31,1, 
	11,2,12,2,13,2,25,2,32,2,34,2,35,2,36,2,
10,3,
	16,5,17,5,18,5,19,5,20,5,21,5,22,5,23,5,24,5,
14,4,15,4,33,4,
9,6, 
1);
```

Prędkość wiatru Zmienna Tylko do odczytu

numeric Jednostka: km/h JSON parsejson()

Odczyt

```taphome
IF(
	ISNULL(responseJson) | responseJson = "error", 
	NaN,
	TODOUBLE(PARSEJSON(responseJson,
		"current.wind.speed"))
);
```

Odczyt (moduł)

```taphome
IF(ISNULL(responseJson) | responseJson = "error", ADDERROR("Failed to read data "));
```

Kierunek wiatru Zmienna Tylko do odczytu

Kierunek wiatru w stopniach — 0/360 = północ, 90 = wschód, 180 = południe, 270 = zachód

numeric Jednostka: ° JSON parsejson()

Odczyt

```taphome
IF(
	ISNULL(responseJson) | responseJson = "error", 
	NaN,
	TODOUBLE(PARSEJSON(responseJson,
		"current.wind.angle"))
)
```

Temperatura Czujnik temperatury Tylko do odczytu

numeric Jednostka: °C JSON parsejson()

Odczyt (moduł)

```taphome
IF(ISNULL(responseJson) | responseJson = "error", ADDERROR("Failed to read data "));
```

Odczyt temperatury

```taphome
IF(ISNULL(responseJson) | responseJson = "error", NaN, TODOUBLE(PARSEJSON(responseJson,"current.temperature")))
```

Temperatura max Zmienna Tylko do odczytu

Dzisiejsza prognozowana temperatura maksymalna z sekcji prognozy dziennej

numeric Jednostka: °C JSON parsejson()

Odczyt

```taphome
IF(ISNULL(responseJson) | responseJson = "error", NaN, TODOUBLE(PARSEJSON(responseJson,"daily.data[0].all_day.temperature_max")))
```

Temperatura min Zmienna Tylko do odczytu

Dzisiejsza prognozowana temperatura minimalna z sekcji prognozy dziennej

numeric Jednostka: °C JSON parsejson()

Odczyt

```taphome
IF(ISNULL(responseJson) | responseJson = "error", NaN, TODOUBLE(PARSEJSON(responseJson,"daily.data[0].all_day.temperature_min")))
```

Opady (1 godzina) Zmienna Tylko do odczytu

numeric Jednostka: mm JSON parsejson()

Odczyt

```taphome
IF(ISNULL(responseJson) | responseJson = "error", NaN, TODOUBLE(PARSEJSON(responseJson,"current.precipitation.total")))
```

Odczyt (moduł)

```taphome
IF(ISNULL(responseJson) | responseJson = "error", ADDERROR("Failed to read data "));
```

Opady (dzienne) Zmienna Tylko do odczytu

Dzisiejsze całkowite dzienne prognozowane opady z sekcji prognozy dziennej

numeric Jednostka: mm JSON parsejson()

Odczyt

```taphome
IF(ISNULL(responseJson) | responseJson = "error", NaN, TODOUBLE(PARSEJSON(responseJson,"daily.data[0].all_day.precipitation.total")))
```

**Połączenie:** Packet Parser → HTTP

Możliwe ulepszenia (12)

- Feels Like Temperature — Perceived temperature accounting for wind chill and humidity. Float, Celsius with ca units
- Wind Gusts — Peak wind gust speed at 10m. Float, km/h with ca units
- Cloud Cover — Total cloud cover percentage. Integer, 0–100%
- Atmospheric Pressure — Sea level atmospheric pressure. Float, hPa with ca units
- Relative Humidity — Relative humidity. Integer, 0–100%
- Visibility — Visibility distance. Float, km with ca units
- UV Index — UV radiation index. Float, 0–11+ scale
- Dew Point — Dew point temperature. Float, Celsius with ca units
- Wind Chill — Wind chill temperature. Float, Celsius with ca units
- Precipitation Type — Type of precipitation — none, rain, snow, rain\_snow, ice\_pellets, frozen\_rain. String value
- Weather Summary — Human-readable text description of current weather. Translated per language parameter
- Air Quality Index — Requires separate /air\_quality endpoint. Includes PM10, PM2.5, NO2, CO, O3, AQI (1–6 scale). Not available via Point endpoint

## Parametry importu

Te wartości podajesz podczas importu pliku XML.

| Pytanie w aplikacji | Domyślnie |
|---------------------|-----------|
| latitude            | `48.1778` |
| longitude           | `17.1426` |
| Meteosource API key | `apiKey`  |

## Źródła

- Meteosource — Main Website & Pricing
  
  [www.meteosource.com](https://www.meteosource.com/pricing) 2026-03-28
- Meteosource — API Documentation
  
  [www.meteosource.com](https://www.meteosource.com/documentation) 2026-03-28

## Powiązana dokumentacja

- [Integracja Packet Parser](https://taphome.com/pl/compatibility/packet-parser-guide/)
- [Packet Parser (HTTP, TCP, UDP, FTP, MQTT)](https://taphome.com/pl/docs/integration/packet-parser/)
- [Funkcje Packet parser](https://taphome.com/pl/docs/script/packet-parser/)
- [Funkcje parsowania](https://taphome.com/pl/docs/script/parsing-functions/)

