TapHome

Meteosource Wetter-API

Packet Parser → HTTP
Eingereicht von
Zuletzt aktualisiert: 03. 2026
Meteosource Wetter-API

Meteosource ist ein globaler Wetterdatenanbieter, der aktuelle Bedingungen, Vorhersagen und historische Daten über eine REST-API bereitstellt. Die TapHome-Vorlage verbindet sich mit dem kostenlosen Tarif der Meteosource-API über HTTPS und liest aktuelle Wetterbedingungen und die Tagesvorhersage für einen konfigurierten GPS-Standort.

Die Vorlage bietet 8 schreibgeschützte Geräte, die Wettertyp, Windgeschwindigkeit und -richtung, aktuelle Temperatur, tägliche Minimal-/Maximaltemperaturen und Niederschlag (aktuell und täglich) abdecken. Das Modul fragt die API alle 5 Minuten ab und speichert die vollständige JSON-Antwort im Cache — einzelne Sensoren lesen dann in kürzeren Intervallen aus dem Cache. Der kostenlose Tarif erlaubt 400 Aufrufe pro Tag und die Vorlage nutzt etwa 288 Aufrufe pro Tag, was bequem innerhalb des Limits liegt.

Konfiguration

API-Schlüssel erhalten
  1. Registrieren Sie ein kostenloses Konto auf meteosource.com/client/sign-up
  2. Nach der Registrierung ist der API-Schlüssel im Konto-Dashboard verfügbar
  3. Kopieren Sie den Schlüssel — er wird beim Import der Vorlage in TapHome benötigt

Der kostenlose Tarif bietet 400 API-Aufrufe pro Tag mit einem Limit von 10 Anfragen pro Minute. Die TapHome-Vorlage fragt alle 5 Minuten ab (288 Aufrufe/Tag), was eine komfortable Reserve lässt. Der kostenlose Tarif erfordert eine Erwähnung und einen Backlink zu Meteosource bei kommerzieller Nutzung.

Import-Parameter

Beim Import der Vorlage in TapHome sind drei Parameter erforderlich:

ParameterBeschreibungBeispiel
latitudeBreitengrad des Standorts in Dezimalgrad48.1778
longitudeLängengrad des Standorts in Dezimalgrad17.1426
apiKeyMeteosource API-Schlüssel aus dem Konto-Dashboardabc123def456...

Um die Koordinaten eines Standorts zu finden, klicken Sie mit der rechten Maustaste auf Google Maps und wählen Sie die Koordinaten aus dem Kontextmenü.

Modulvariablen

Nach dem Import der Vorlage kann eine Variable in den Moduleinstellungen angepasst werden:

VariableBeschreibungStandardwert
tzZeitzone im tzinfo-FormatEurope/Prague

Die Zeitzone bestimmt, wie Zeitstempel in der API-Antwort interpretiert werden. Benutzer außerhalb der CET/CEST-Zeitzone sollten diesen Wert an ihren Standort anpassen (z. B. America/New_York, Asia/Tokyo, UTC).

API-Endpoint

Das Modul verbindet sich mit www.meteosource.com über HTTPS (Port 443) und ruft auf:

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

Die Vorlage verwendet das Einheitensystem ca (kanadisch): Celsius für Temperatur, km/h für Windgeschwindigkeit, mm für Niederschlag und hPa für Druck.

Gerätefunktionen

Wettertyp

Das Gerät Weather Type ist ein Mehrwertschalter, der das Meteosource-Feld icon_num (Werte 1–36) auf 7 TapHome-Wetterkategorien abbildet:

SchalterwertKategorieMeteosource-Icons (Tag)Meteosource-Icons (Nacht)
0Klar / Sonnig2, 3, 4, 526, 27, 28
1Wolken / Bedeckt6, 7, 829, 30, 31
2Regen11, 12, 13, 2532, 34, 35, 36
3Nieselregen / Leichter Regen10
4Gewitter14, 1533
5Schnee / Gefrierend16–24
6Nebel9

Wenn die Iconnummer 1 oder nicht erkannt ist, wird der Schalter auf den Standardwert 1 (Wolken) gesetzt. Der Wettertyp wird alle 30 Minuten abgefragt.

Temperatur

Drei Temperaturgeräte liefern aktuelle und Vorhersagedaten:

  • Temperature — aktuelle Lufttemperatur in 2 m Höhe in Celsius. Verwendet einen dedizierten Temperatursensor-Gerätetyp mit Fehlermeldung, wenn die API-Antwort nicht verfügbar ist
  • Temperature Max — heutige vorhergesagte Höchsttemperatur in Celsius, gelesen aus dem Abschnitt der Tagesvorhersage (daily.data[0])
  • Temperature Min — heutige vorhergesagte Tiefsttemperatur in Celsius, gelesen aus dem Abschnitt der Tagesvorhersage (daily.data[0])
Wind
  • Wind Speed — aktuelle Windgeschwindigkeit in 10 m Höhe in km/h (unter Verwendung des Einheitensystems ca). Meldet einen Fehler, wenn die zwischengespeicherte Antwort nicht verfügbar ist
  • Wind Direction — Windrichtung in Grad (0–360, wobei 0/360 = Nord, 90 = Ost, 180 = Süd, 270 = West). Dies ist das am häufigsten abgefragte Gerät mit 15-Sekunden-Intervallen, das aus der zwischengespeicherten Antwort liest
Niederschlag
  • Precipitation (1-hour) — aktuelle Niederschlagsmenge in mm. Meldet einen Fehler, wenn die zwischengespeicherte Antwort nicht verfügbar ist
  • Precipitation (Daily) — heutiger gesamter täglicher vorhergesagter Niederschlag in mm, gelesen aus dem Abschnitt der Tagesvorhersage
Weitere Funktionen

Die Meteosource-API bietet auch gefühlte Temperatur, Windböen, Wolkenbedeckung, Luftdruck, Luftfeuchtigkeit, Sichtweite, UV-Index, Taupunkt, Windchill, Niederschlagsart und eine Wetterzusammenfassung als Text für aktuelle Bedingungen. Ein Luftqualitäts-Endpoint mit PM10, PM2.5, NO2, CO, O3 und AQI ist separat verfügbar. Diese können in einem zukünftigen Vorlagen-Update hinzugefügt werden.

Fehlerbehebung

Alle Geräte zeigen NaN oder keine Daten an
  1. Überprüfen Sie, dass der TapHome Core Internetzugang hat — die Vorlage erfordert ausgehende HTTPS-Konnektivität zu www.meteosource.com
  2. Prüfen Sie, ob der API-Schlüssel gültig ist und nicht neu generiert wurde
  3. Bestätigen Sie, dass die Breiten- und Längengradwerte korrekte Dezimalkoordinaten sind
  4. Neue API-Schlüssel benötigen möglicherweise einige Minuten zur Aktivierung nach der Registrierung
Veraltete oder verzögerte Messwerte

Das Modul fragt die Meteosource-API alle 5 Minuten ab und speichert die Antwort in einer Cache-Variable. Einzelne Sensoren lesen in kürzeren Intervallen (15 Sekunden bis 1 Minute) aus diesem Cache. Wenn der API-Aufruf fehlschlägt, geben alle Sensoren ihre zuletzt zwischengespeicherten Werte zurück, bis die nächste erfolgreiche Abfrage stattfindet.

Die Meteosource-API ist ein Cloud-Dienst, der eine aktive Internetverbindung am TapHome Core erfordert. Bei Internetausfällen oder API-Ausfallzeiten erhält die Vorlage keine aktualisierten Wetterdaten. Die Standard-Zeitzone ist Europe/Prague — Benutzer in anderen Regionen müssen die Modulvariable tz für korrekte lokale Zeitstempel ändern.

Verfügbare Geräte

Meteosource Modul
Benutzerdefinierte Variablen
apiKey (string)Meteosource API key for authentication (obtain from meteosource.com dashboard)
lat (string)Geographic latitude of the weather location in decimal degrees (set during import)
lon (string)Geographic longitude of the weather location in decimal degrees (set during import)
tz (string) = Europe/PragueIANA timezone identifier for timestamp conversion (e.g. Europe/Prague, America/New_York)

Meteosource

Lesen (Modul)
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
Wettertyp Mehrwertschalter Nur lesen

Wetterlage als Multi-Value-Switch — Klar, Wolken, Regen, Nieselregen, Gewitter, Schnee, Nebel

integer → mapped Einheit: category JSON parsejson()
Werte / Zustände: ${weather_clear} · ${weather_clouds} · ${weather_rain} · ${weather_drizzle} · ${weather_thunderstorm} · ${weather_snow} · ${weather_fog}

Wettertyp

Schaltzustand lesen
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);
Windgeschwindigkeit Variable Nur lesen
numeric Einheit: km/h JSON parsejson()

Windgeschwindigkeit

Lesen
IF(
	ISNULL(responseJson) | responseJson = "error", 
	NaN,
	TODOUBLE(PARSEJSON(responseJson,
		"current.wind.speed"))
);
Lesen (Modul)
IF(ISNULL(responseJson) | responseJson = "error", ADDERROR("Failed to read data "));
Windrichtung Variable Nur lesen

Windrichtung in Grad — 0/360 = Nord, 90 = Ost, 180 = Süd, 270 = West

numeric Einheit: ° JSON parsejson()

Windrichtung

Lesen
IF(
	ISNULL(responseJson) | responseJson = "error", 
	NaN,
	TODOUBLE(PARSEJSON(responseJson,
		"current.wind.angle"))
)
Temperatur Temperatursensor Nur lesen
numeric Einheit: °C JSON parsejson()

Temperatur

Lesen (Modul)
IF(ISNULL(responseJson) | responseJson = "error", ADDERROR("Failed to read data "));
Temperatur lesen
IF(ISNULL(responseJson) | responseJson = "error", NaN, TODOUBLE(PARSEJSON(responseJson,"current.temperature")))
Temperatur Max Variable Nur lesen

Heutige Vorhersage-Höchsttemperatur aus der Tagesvorhersage

numeric Einheit: °C JSON parsejson()

Temperatur Max

Lesen
IF(ISNULL(responseJson) | responseJson = "error", NaN, TODOUBLE(PARSEJSON(responseJson,"daily.data[0].all_day.temperature_max")))
Temperatur Min Variable Nur lesen

Heutige Vorhersage-Tiefsttemperatur aus der Tagesvorhersage

numeric Einheit: °C JSON parsejson()

Temperatur Min

Lesen
IF(ISNULL(responseJson) | responseJson = "error", NaN, TODOUBLE(PARSEJSON(responseJson,"daily.data[0].all_day.temperature_min")))
Niederschlag (1 Stunde) Variable Nur lesen
numeric Einheit: mm JSON parsejson()

Niederschlag (1 Stunde)

Lesen
IF(ISNULL(responseJson) | responseJson = "error", NaN, TODOUBLE(PARSEJSON(responseJson,"current.precipitation.total")))
Lesen (Modul)
IF(ISNULL(responseJson) | responseJson = "error", ADDERROR("Failed to read data "));
Niederschlag (täglich) Variable Nur lesen

Heutiger gesamter täglicher Vorhersage-Niederschlag aus der Tagesvorhersage

numeric Einheit: mm JSON parsejson()

Niederschlag (täglich)

Lesen
IF(ISNULL(responseJson) | responseJson = "error", NaN, TODOUBLE(PARSEJSON(responseJson,"daily.data[0].all_day.precipitation.total")))
Verbindung: Packet Parser → HTTP
Mögliche Verbesserungen (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

Quellen