TapHome

Meteosource API Meteo

Packet Parser → HTTP
Inviato da
Ultimo aggiornamento: 03. 2026
Meteosource API Meteo

Meteosource è un fornitore globale di dati meteorologici che offre condizioni attuali, previsioni e dati storici tramite API REST. Il template TapHome si connette al piano gratuito dell’API Meteosource tramite HTTPS e legge le condizioni meteo attuali e le previsioni giornaliere per una posizione GPS configurata.

Il template fornisce 8 dispositivi in sola lettura che coprono tipo meteo, velocità e direzione del vento, temperatura attuale, temperature giornaliere minima/massima e precipitazioni (attuali e giornaliere). Il modulo interroga l’API ogni 5 minuti e memorizza l’intera risposta JSON nella cache — i singoli sensori leggono poi dalla cache a intervalli più brevi. Il piano gratuito consente 400 chiamate al giorno e il template ne utilizza circa 288 al giorno, ampiamente entro il limite.

Configurazione

Ottenere la chiave API
  1. Registra un account gratuito su meteosource.com/client/sign-up
  2. Dopo la registrazione, la chiave API è disponibile nel dashboard dell’account
  3. Copia la chiave — sarà necessaria durante l’importazione del template in TapHome

Il piano gratuito fornisce 400 chiamate API al giorno con un limite di 10 richieste al minuto. Il template TapHome interroga ogni 5 minuti (288 chiamate/giorno), lasciando un margine confortevole. Il piano gratuito richiede una menzione e un backlink a Meteosource per uso commerciale.

Parametri di importazione

Durante l’importazione del template in TapHome, sono richiesti tre parametri:

ParametroDescrizioneEsempio
latitudeLatitudine della posizione in gradi decimali48.1778
longitudeLongitudine della posizione in gradi decimali17.1426
apiKeyChiave API Meteosource dal dashboard dell’accountabc123def456...

Per trovare le coordinate di una posizione, fai clic destro su Google Maps e seleziona le coordinate dal menu contestuale.

Variabili del modulo

Dopo l’importazione del template, una variabile può essere regolata nelle impostazioni del modulo:

VariabileDescrizionePredefinito
tzFuso orario in formato tzinfoEurope/Prague

Il fuso orario determina come vengono interpretati i timestamp nella risposta dell’API. Gli utenti al di fuori del fuso orario CET/CEST dovrebbero modificare questo valore per adattarlo alla propria posizione (es. America/New_York, Asia/Tokyo, UTC).

Endpoint API

Il modulo si connette a www.meteosource.com tramite HTTPS (porta 443) e chiama:

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

Il template utilizza il sistema di unità ca (canadese): Celsius per la temperatura, km/h per la velocità del vento, mm per le precipitazioni e hPa per la pressione.

Funzionalità dei dispositivi

Tipo meteo

Il dispositivo Weather Type è uno switch multi-valore che mappa il campo Meteosource icon_num (valori 1–36) su 7 categorie meteo TapHome:

Valore switchCategoriaIcone Meteosource (giorno)Icone Meteosource (notte)
0Sereno / Soleggiato2, 3, 4, 526, 27, 28
1Nuvoloso / Coperto6, 7, 829, 30, 31
2Pioggia11, 12, 13, 2532, 34, 35, 36
3Pioggerella / Pioggia leggera10
4Temporale14, 1533
5Neve / Gelata16–24
6Nebbia9

Se il numero dell’icona è 1 o non riconosciuto, lo switch si imposta sul valore predefinito 1 (Nuvoloso). Il tipo meteo viene interrogato ogni 30 minuti.

Temperatura

Tre dispositivi di temperatura forniscono dati attuali e previsionali:

  • Temperature — temperatura dell’aria attuale a 2 m di altezza in Celsius. Utilizza un tipo di dispositivo sensore di temperatura dedicato con segnalazione errori se la risposta dell’API non è disponibile
  • Temperature Max — temperatura massima prevista per oggi in Celsius, letta dalla sezione previsioni giornaliere (daily.data[0])
  • Temperature Min — temperatura minima prevista per oggi in Celsius, letta dalla sezione previsioni giornaliere (daily.data[0])
Vento
  • Wind Speed — velocità del vento attuale a 10 m di altezza in km/h (utilizzando il sistema di unità ca). Segnala un errore se la risposta memorizzata non è disponibile
  • Wind Direction — direzione del vento in gradi (0–360, dove 0/360 = Nord, 90 = Est, 180 = Sud, 270 = Ovest). Questo è il dispositivo interrogato più frequentemente con intervalli di 15 secondi, che legge dalla risposta memorizzata
Precipitazioni
  • Precipitation (1-hour) — quantità di precipitazioni attuale in mm. Segnala un errore se la risposta memorizzata non è disponibile
  • Precipitation (Daily) — precipitazioni giornaliere totali previste per oggi in mm, lette dalla sezione previsioni giornaliere
Funzionalità aggiuntive

L’API Meteosource fornisce anche temperatura percepita, raffiche di vento, copertura nuvolosa, pressione atmosferica, umidità, visibilità, indice UV, punto di rugiada, windchill, tipo di precipitazione e un riepilogo meteo testuale per le condizioni attuali. Un endpoint per la qualità dell’aria con PM10, PM2.5, NO2, CO, O3 e AQI è disponibile separatamente. Questi possono essere aggiunti in un futuro aggiornamento del template.

Risoluzione problemi

Tutti i dispositivi mostrano NaN o nessun dato
  1. Verifica che il TapHome Core abbia accesso a internet — il template richiede connettività HTTPS in uscita verso www.meteosource.com
  2. Controlla che la chiave API sia valida e non sia stata rigenerata
  3. Conferma che i valori di latitudine e longitudine siano coordinate decimali corrette
  4. Le nuove chiavi API potrebbero richiedere alcuni minuti per l’attivazione dopo la registrazione
Letture obsolete o ritardate

Il modulo interroga l’API Meteosource ogni 5 minuti e memorizza la risposta in una variabile cache. I singoli sensori leggono da questa cache a intervalli più brevi (da 15 secondi a 1 minuto). Se la chiamata API fallisce, tutti i sensori continuano a restituire gli ultimi valori memorizzati fino alla successiva interrogazione riuscita.

L’API Meteosource è un servizio cloud che richiede una connessione internet attiva sul TapHome Core. Durante interruzioni di internet o indisponibilità dell’API, il template non riceverà dati meteo aggiornati. Il fuso orario predefinito è Europe/Prague — gli utenti in altre regioni devono modificare la variabile del modulo tz per ottenere timestamp locali corretti.

Dispositivi disponibili

Meteosource Modulo
Variabili personalizzate
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

Lettura (modulo)
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
Tipo meteo Interruttore multivalore Solo lettura

Condizione meteo come multi-value switch — Sereno, Nuvoloso, Pioggia, Pioggerella, Temporale, Neve, Nebbia

integer → mapped Unità: category JSON parsejson()
Valori / Stati: ${weather_clear} · ${weather_clouds} · ${weather_rain} · ${weather_drizzle} · ${weather_thunderstorm} · ${weather_snow} · ${weather_fog}

Tipo meteo

Lettura stato interruttore
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);
Velocità del vento Variabile Solo lettura
numeric Unità: km/h JSON parsejson()

Velocità del vento

Lettura
IF(
	ISNULL(responseJson) | responseJson = "error", 
	NaN,
	TODOUBLE(PARSEJSON(responseJson,
		"current.wind.speed"))
);
Lettura (modulo)
IF(ISNULL(responseJson) | responseJson = "error", ADDERROR("Failed to read data "));
Direzione del vento Variabile Solo lettura

Direzione del vento in gradi — 0/360 = Nord, 90 = Est, 180 = Sud, 270 = Ovest

numeric Unità: ° JSON parsejson()

Direzione del vento

Lettura
IF(
	ISNULL(responseJson) | responseJson = "error", 
	NaN,
	TODOUBLE(PARSEJSON(responseJson,
		"current.wind.angle"))
)
Temperatura Sensore di temperatura Solo lettura
numeric Unità: °C JSON parsejson()

Temperatura

Lettura (modulo)
IF(ISNULL(responseJson) | responseJson = "error", ADDERROR("Failed to read data "));
Lettura temperatura
IF(ISNULL(responseJson) | responseJson = "error", NaN, TODOUBLE(PARSEJSON(responseJson,"current.temperature")))
Temperatura max Variabile Solo lettura

Temperatura massima prevista per oggi dalla sezione previsioni giornaliere

numeric Unità: °C JSON parsejson()

Temperatura max

Lettura
IF(ISNULL(responseJson) | responseJson = "error", NaN, TODOUBLE(PARSEJSON(responseJson,"daily.data[0].all_day.temperature_max")))
Temperatura min Variabile Solo lettura

Temperatura minima prevista per oggi dalla sezione previsioni giornaliere

numeric Unità: °C JSON parsejson()

Temperatura min

Lettura
IF(ISNULL(responseJson) | responseJson = "error", NaN, TODOUBLE(PARSEJSON(responseJson,"daily.data[0].all_day.temperature_min")))
Precipitazioni (1 ora) Variabile Solo lettura
numeric Unità: mm JSON parsejson()

Precipitazioni (1 ora)

Lettura
IF(ISNULL(responseJson) | responseJson = "error", NaN, TODOUBLE(PARSEJSON(responseJson,"current.precipitation.total")))
Lettura (modulo)
IF(ISNULL(responseJson) | responseJson = "error", ADDERROR("Failed to read data "));
Precipitazioni (giornaliere) Variabile Solo lettura

Precipitazioni totali giornaliere previste per oggi dalla sezione previsioni giornaliere

numeric Unità: mm JSON parsejson()

Precipitazioni (giornaliere)

Lettura
IF(ISNULL(responseJson) | responseJson = "error", NaN, TODOUBLE(PARSEJSON(responseJson,"daily.data[0].all_day.precipitation.total")))
Connessione: Packet Parser → HTTP
Possibili miglioramenti (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

Fonti