---
title: "Meteosource API Meteo"
description: "Integrazione Meteosource Weather API per TapHome — meteo attuale, previsioni giornaliere di temperatura e pioggia via HTTPS cloud API (piano gratuito)."
url: "https://taphome.com/it/compatibility/meteosource/"
language: it
lastmod: 2026-03-28
generator: hugo
ai:
  topics: ["http","data-service","cloud-api","weather","packet-parser"]
  questions: ["Come integrare i dati meteo di Meteosource con TapHome?","Quali dati meteo fornisce il template Meteosource per TapHome?","Come ottenere una chiave API Meteosource gratuita per TapHome?","Come funziona lo switch multi-valore del tipo meteo in TapHome?","Il piano gratuito di Meteosource è sufficiente per il polling di TapHome?","Come cambiare il fuso orario nel template Meteosource?"]
---

# Meteosource API Meteo

Comunicazione: Packet Parser → HTTP

- [Sito ufficiale Meteosource](https://www.meteosource.com)

## Guida all'integrazione

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](https://www.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

> [!TIP]
> 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:

| Parametro | Descrizione | Esempio |
|-----------|-------------|---------|
| `latitude` | Latitudine della posizione in gradi decimali | `48.1778` |
| `longitude` | Longitudine della posizione in gradi decimali | `17.1426` |
| `apiKey` | Chiave API Meteosource dal dashboard dell'account | `abc123def456...` |

Per trovare le coordinate di una posizione, fai clic destro su [Google Maps](https://maps.google.com) e seleziona le coordinate dal menu contestuale.

### Variabili del modulo

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

| Variabile | Descrizione | Predefinito |
|-----------|-------------|-------------|
| `tz` | Fuso orario in formato tzinfo | `Europe/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:

```
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 switch | Categoria | Icone Meteosource (giorno) | Icone Meteosource (notte) |
|--------------|-----------|---------------------------|--------------------------|
| 0 | Sereno / Soleggiato | 2, 3, 4, 5 | 26, 27, 28 |
| 1 | Nuvoloso / Coperto | 6, 7, 8 | 29, 30, 31 |
| 2 | Pioggia | 11, 12, 13, 25 | 32, 34, 35, 36 |
| 3 | Pioggerella / Pioggia leggera | 10 | -- |
| 4 | Temporale | 14, 15 | 33 |
| 5 | Neve / Gelata | 16–24 | -- |
| 6 | Nebbia | 9 | -- |

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.

> [!WARNING]
> 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 8

Questi dispositivi compaiono in TapHome dopo l'importazione.

Meteosource Modulo

Variabili personalizzate

|                               |                                                                                                            |
|-------------------------------|------------------------------------------------------------------------------------------------------------|
| `apiKey` (string)             | Chiave API Meteosource per l'autenticazione (ottenibile dalla dashboard meteosource.com)                   |
| `lat` (string)                | Latitudine geografica della posizione meteo in gradi decimali (impostata durante l'importazione)           |
| `lon` (string)                | Longitudine geografica della posizione meteo in gradi decimali (impostata durante l'importazione)          |
| `tz` (string) = Europe/Prague | Identificatore di fuso orario IANA per la conversione dei timestamp (es. Europe/Prague, America/New\_York) |

Lettura (modulo)

```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
```

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}

Lettura stato interruttore

```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);
```

Velocità del vento Variabile Solo lettura

numeric Unità: km/h JSON parsejson()

Lettura

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

Lettura (modulo)

```taphome
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()

Lettura

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

Temperatura Sensore di temperatura Solo lettura

numeric Unità: °C JSON parsejson()

Lettura (modulo)

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

Lettura temperatura

```taphome
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()

Lettura

```taphome
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()

Lettura

```taphome
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()

Lettura

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

Lettura (modulo)

```taphome
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()

Lettura

```taphome
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

## Parametri di importazione

Inserisci questi valori quando importi l'XML.

| Richiesto nell'app  | Predefinito |
|---------------------|-------------|
| latitude            | `48.1778`   |
| longitude           | `17.1426`   |
| Meteosource API key | `apiKey`    |

## Fonti

- 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

## Documentazione correlata

- [Integrazione Packet Parser](https://taphome.com/it/compatibility/packet-parser-guide/)
- [Packet Parser (HTTP, TCP, UDP, FTP, MQTT)](https://taphome.com/it/docs/integration/packet-parser/)
- [Funzioni Packet parser](https://taphome.com/it/docs/script/packet-parser/)
- [Funzioni di parsing](https://taphome.com/it/docs/script/parsing-functions/)

