TapHome

Weathercloud

Packet Parser → HTTP
Inviato da
Ultimo aggiornamento: 03. 2026
Weathercloud

Weathercloud è una piattaforma cloud di dati meteorologici con una rete globale di oltre 100.000 stazioni meteo personali. TapHome si connette a Weathercloud tramite un template HTTP Packet Parser che interroga i dati meteo in tempo reale dall’API web interna della piattaforma. L’integrazione è in sola lettura — tutti i 14 dispositivi nel template sono sensori che visualizzano i dati meteo di una stazione collegata.

Questa integrazione utilizza un’API non ufficiale, ottenuta tramite reverse engineering (gli endpoint interni dell’applicazione web Weathercloud). Weathercloud non offre un’API pubblica per il recupero dei dati. Gli endpoint possono cambiare o essere bloccati senza preavviso.

Configurazione

Durante l’importazione del template, inserisci il Device ID — un numero a dieci cifre che identifica la stazione meteo su Weathercloud. Il template utilizza questo ID per interrogare app.weathercloud.net/device/values?code={DeviceID}.

Ottenere il Device ID
  1. Accedi all’account Weathercloud su weathercloud.net
  2. Apri la pagina Devices dal menu del profilo
  3. Clicca sull’icona Settings (ingranaggio) del dispositivo desiderato
  4. Seleziona Link device — il Weathercloud ID è il Device ID richiesto

L’API Weathercloud richiede un cookie di sessione per l’autenticazione. Il template invia un’intestazione cookie con ogni richiesta. Per ottenere un cookie di sessione valido:

  1. Accedi a app.weathercloud.net nel browser
  2. Apri gli strumenti per sviluppatori del browser (F12) e ispeziona le intestazioni delle richieste
  3. Copia l’intero valore cookie da qualsiasi richiesta a app.weathercloud.net
  4. Sostituisci il segnaposto COOKIE nell’intestazione dello script di lettura del template con la stringa cookie effettiva

I cookie di sessione scadono dopo un periodo di inattività. Se l’integrazione smette di restituire dati, autenticati nuovamente e aggiorna il valore del cookie in TapHome.

Funzionalità dei dispositivi

Il template fornisce 14 dispositivi in sola lettura che analizzano i campi di una singola risposta JSON. Tutti i dispositivi condividono lo stesso meccanismo di polling HTTP con un intervallo di 15 secondi (l’UV Index interroga ogni 2,5 secondi). Ogni script di lettura include la gestione degli errori — se la risposta è null o contiene "error", il dispositivo restituisce NaN.

Temperatura e umidità
  • Temperature & Humidity — temperatura esterna in °C e umidità relativa. L’umidità è riportata nell’API come 0–100 e viene convertita dal template in un rapporto 0–1.
  • Dew Point — temperatura del punto di rugiada in °C
  • Wind Chill — temperatura percepita che tiene conto dell’effetto raffreddante del vento, in °C. Opzionale — non tutte le stazioni riportano il wind chill.
Misurazioni del vento
  • Wind Speed — velocità del vento attuale, convertita da m/s a km/h (moltiplicata per 3,6)
  • Average Wind Speed — velocità del vento media sull’intervallo di segnalazione della stazione, convertita da m/s a km/h
  • Wind Gust — velocità del vento di picco, convertita da m/s a km/h
  • Wind Direction — direzione del vento attuale in gradi (0–360)
  • Average Wind Direction — direzione del vento media in gradi
Precipitazioni
  • Rain Rate — intensità delle precipitazioni attuale in mm/h
  • Rainfall Today — precipitazioni cumulative dalla mezzanotte in mm
Dati atmosferici e solari
  • Atmospheric Pressure — pressione atmosferica in hPa
  • Solar Radiation — irradianza solare in W/m². Opzionale — disponibile solo su stazioni dotate di sensore di radiazione solare.
  • UV Index — livello di radiazione UV visualizzato come indicatore multi-valore con 10 livelli denominati: 0–1 Low, 2–3 Medium, 4–5 Medium High, 6–7 High, 8–9 Very High. Opzionale — richiede un sensore UV sulla stazione.
Freschezza dei dati
  • Last Update Time — Timestamp Unix (secondi) dell’ultimo caricamento dati dalla stazione meteo. Utile per verificare che la stazione stia segnalando attivamente.
Funzionalità aggiuntive

L’API Weathercloud espone anche indice di calore, indice temperatura-umidità-vento (THW), visibilità, sensori secondari di temperatura e umidità e letture dell’ambiente interno (temperatura, umidità, punto di rugiada, indice di calore — disponibili solo per il proprietario della stazione). Questi possono essere aggiunti in un futuro aggiornamento del template.

Risoluzione dei problemi

I dati non si aggiornano
  1. Controlla il valore di Last Update Time — se non avanza, la stazione meteo ha smesso di caricare dati su Weathercloud
  2. Verifica che la stazione sia online su app.weathercloud.net — cerca il Device ID e controlla il timestamp dell’ultimo aggiornamento
  3. Gli account Weathercloud gratuiti si aggiornano ogni 10 minuti. Anche se TapHome interroga ogni 15 secondi, i nuovi dati compaiono solo all’intervallo di caricamento della stazione.
Tutti i valori mostrano NaN
  1. Conferma che il Device ID sia corretto — deve essere il numero a dieci cifre dalle impostazioni “Link device” di Weathercloud, non il nome della stazione
  2. Controlla il valore cookie nello script di lettura del template. Se la sessione è scaduta, l’API restituisce un errore e tutti i dispositivi mostrano NaN. Autenticati nuovamente e aggiorna il cookie.
  3. Verifica che la stazione esista e sia pubblicamente accessibile su Weathercloud — le stazioni private possono richiedere l’autenticazione del proprietario
Alcuni sensori mostrano NaN mentre altri funzionano

Non tutte le stazioni meteo hanno gli stessi sensori. Campi come radiazione solare (solarrad), indice UV (uvi) e wind chill (chill) sono opzionali e dipendono dall’hardware fisico della stazione. Se la stazione non riporta un campo, l’API lo omette e il template restituisce NaN per quel dispositivo.

L’intervallo di polling del template è di 15 secondi, ma i dati Weathercloud si aggiornano solo alla frequenza di caricamento della stazione (10 minuti per account gratuiti, 1 minuto per quelli a pagamento). Interrogare più frequentemente non fornisce dati più recenti — conferma solo l’ultima lettura disponibile.

Dispositivi disponibili

WeatherCloud Modulo
Variabili personalizzate
code (string)WeatherCloud station device ID used in API request URL (set during import)

WeatherCloud

Lettura (modulo)
#documentation https://github.com/maxime-mrl/weathercloud-js/blob/main/api-documentation.md#api-documentation
VAR request := HTTPREQUEST("/device/values?code=" + code, "GET");
request.Headers := { "Content-Type: application/x-www-form-urlencoded; charset=UTF-8", "X-Requested-With: XMLHttpRequest", "cookie: COOKIE"};
request.Method := "GET";
VAR response := SENDHTTPREQUEST(request);


IF response.IsSuccess
    VAR content := response.Content;
    responseJson := content;
    END
Direzione media del vento Variabile Solo lettura
numeric Unità: ° json_path

Direzione media del vento

Lettura
IF(ISNULL(responseJson) | responseJson = "error", NaN, PARSEJSON(responseJson,"wdiravg"))
Velocità media del vento Variabile Solo lettura

Velocità del vento media sull'intervallo di segnalazione della stazione — convertita da m/s a km/h

numeric Unità: km/h json_path

Velocità media del vento

Lettura
IF(ISNULL(responseJson) | responseJson = "error", NaN, PARSEJSON(responseJson,"wspdavg")*3.6)
Temperatura e umidità Sensore di temperatura Solo lettura

Temperatura esterna (°C) e umidità relativa dalla stazione meteo

numeric Unità: °C / % json_path

Temperatura e umidità

Lettura umidità
IF(ISNULL(responseJson) | responseJson = "error", NaN, PARSEJSON(responseJson,"hum")/100)
Lettura temperatura
IF(ISNULL(responseJson) | responseJson = "error", NaN, PARSEJSON(responseJson,"temp"))
Punto di rugiada Variabile Solo lettura
numeric Unità: °C json_path

Punto di rugiada

Lettura
IF(ISNULL(responseJson) | responseJson = "error", NaN, PARSEJSON(responseJson,"dew"))
Pressione atmosferica Variabile Solo lettura
numeric Unità: hPa json_path

Pressione atmosferica

Lettura
IF(ISNULL(responseJson) | responseJson = "error", NaN, PARSEJSON(responseJson,"bar"))
Intensità delle precipitazioni Variabile Solo lettura
numeric Unità: mm/h json_path

Intensità delle precipitazioni

Lettura
IF(ISNULL(responseJson) | responseJson = "error", NaN, PARSEJSON(responseJson,"rainrate"))
Precipitazioni oggi Variabile Solo lettura
numeric Unità: mm json_path

Precipitazioni oggi

Lettura
IF(ISNULL(responseJson) | responseJson = "error", NaN, PARSEJSON(responseJson,"rain"))
Radiazione solare Variabile Solo lettura

Irradianza solare in W/m² — disponibile solo su stazioni con sensore di radiazione solare

numeric Unità: W/m² json_path

Radiazione solare

Lettura
IF(ISNULL(responseJson) | responseJson = "error", NaN, PARSEJSON(responseJson,"solarrad"))
Ora ultimo aggiornamento Variabile Solo lettura

Timestamp Unix dell'ultimo caricamento dati dalla stazione meteo — utile per verificare l'attività della stazione

numeric json_path

Ora ultimo aggiornamento

Lettura
IF(ISNULL(responseJson) | responseJson = "error", NaN, PARSEJSON(responseJson,"epoch"))
Indice UV Interruttore multivalore Solo lettura

Livello di radiazione UV — 0-1 Basso, 2-3 Medio, 4-5 Medio-Alto, 6-7 Alto, 8-9 Molto alto

integer multi_value
Valori / Stati: 0 - Low · 1 - Low · 2 - Medium · 3 - Medium · 4 - Medium High · 5 - Medium High · 6 - High · 7 - High · 8 - Very High · 9 - Very High

Indice UV

Lettura stato interruttore
IF(ISNULL(responseJson) | responseJson = "error", NaN, round(PARSEJSON(responseJson,"uvi")))
Direzione del vento Variabile Solo lettura
numeric Unità: ° json_path

Direzione del vento

Lettura
IF(ISNULL(responseJson) | responseJson = "error", NaN, PARSEJSON(responseJson,"wdir"))
Raffica di vento Variabile Solo lettura

Velocità del vento di picco — convertita da m/s a km/h

numeric Unità: km/h json_path

Raffica di vento

Lettura
IF(ISNULL(responseJson) | responseJson = "error", NaN, PARSEJSON(responseJson,"wspdhi")*3.6)
Wind Chill Variabile Solo lettura

Temperatura percepita che tiene conto dell'effetto raffreddante del vento — non tutte le stazioni riportano questo valore

numeric Unità: °C json_path

Wind Chill

Lettura
IF(ISNULL(responseJson) | responseJson = "error", NaN, PARSEJSON(responseJson,"chill"))
Velocità del vento Variabile Solo lettura

Velocità del vento attuale — convertita da m/s a km/h

numeric Unità: km/h json_path

Velocità del vento

Lettura
IF(ISNULL(responseJson) | responseJson = "error", NaN, PARSEJSON(responseJson,"wspd")*3.6)
Connessione: Packet Parser → HTTP
Possibili miglioramenti (9)
  • Heat Index — Perceived temperature accounting for humidity. Optional field, unit °C.
  • Temperature-Humidity-Wind Index — Combined feel-like index considering temperature, humidity, and wind. Optional field, unit °C.
  • Visibility — Visibility in 100m units (divide by 100 for km). Optional field.
  • Secondary Temperature — Secondary temperature sensor reading. Optional field, unit °C.
  • Secondary Humidity — Secondary humidity sensor reading. Optional field, unit %.
  • Indoor Temperature — Indoor temperature — requires owner authentication. Unit °C.
  • Indoor Humidity — Indoor humidity — requires owner authentication. Unit %.
  • Indoor Dew Point — Indoor dew point — requires owner authentication. Unit °C.
  • Indoor Heat Index — Indoor heat index — requires owner authentication. Unit °C.

Fonti

  • Weathercloud API Documentation (unofficial, reverse-engineered)
    github.com 2026-03-28
  • Weathercloud FAQ & Setup Guide