TapHome

Weathercloud

Packet Parser → HTTP
Submitted by
Last updated: 03. 2026
Weathercloud

Weathercloud is a cloud-based weather data platform with a global network of over 100,000 personal weather stations. TapHome connects to Weathercloud via an HTTP Packet Parser template that polls real-time weather data from the platform’s internal web API. The integration is read-only — all 14 devices in the template are sensors that display weather data from a linked station.

This integration uses an unofficial, reverse-engineered API (the internal endpoints of the Weathercloud web application). Weathercloud does not offer a public data retrieval API. The endpoints may change or be blocked without notice.

Configuration

During template import, enter the Device ID — a ten-digit number that identifies the weather station on Weathercloud. The template uses this ID to poll app.weathercloud.net/device/values?code={DeviceID}.

Obtaining the Device ID
  1. Log in to the Weathercloud account at weathercloud.net
  2. Open the Devices page from the profile menu
  3. Click the Settings gear icon on the target device
  4. Select Link device — the Weathercloud ID is the required Device ID

The Weathercloud API requires a session cookie for authentication. The template sends a cookie header with every request. To obtain a valid session cookie:

  1. Sign in to app.weathercloud.net in a browser
  2. Open the browser developer tools (F12) and inspect the request headers
  3. Copy the full cookie value from any request to app.weathercloud.net
  4. Replace the COOKIE placeholder in the template’s read script header with the actual cookie string

Session cookies expire after a period of inactivity. If the integration stops returning data, re-authenticate and update the cookie value in TapHome.

Device capabilities

The template provides 14 read-only devices that parse fields from a single JSON response. All devices share the same HTTP polling mechanism with a 15-second poll interval (UV Index polls at 2.5 seconds). Every read script includes error handling — if the response is null or contains "error", the device returns NaN.

Temperature and humidity
  • Temperature & Humidity — outdoor temperature in °C and relative humidity. Humidity is reported as 0–100 in the API and converted to a 0–1 ratio by the template.
  • Dew Point — dew point temperature in °C
  • Wind Chill — perceived temperature accounting for wind cooling effect, in °C. Optional — not all stations report wind chill.
Wind measurements
  • Wind Speed — current wind speed, converted from m/s to km/h (multiplied by 3.6)
  • Average Wind Speed — averaged wind speed over the station’s reporting interval, converted from m/s to km/h
  • Wind Gust — peak wind speed, converted from m/s to km/h
  • Wind Direction — current wind direction in degrees (0–360)
  • Average Wind Direction — averaged wind direction in degrees
Precipitation
  • Rain Rate — current precipitation intensity in mm/h
  • Rainfall Today — cumulative rainfall since midnight in mm
Atmospheric and solar
  • Atmospheric Pressure — barometric pressure in hPa
  • Solar Radiation — solar irradiance in W/m². Optional — available only on stations equipped with a solar radiation sensor.
  • UV Index — UV radiation level displayed as a multi-value indicator with 10 named levels: 0–1 Low, 2–3 Medium, 4–5 Medium High, 6–7 High, 8–9 Very High. Optional — requires a UV sensor on the station.
Data freshness
  • Last Update Time — Unix timestamp (seconds) of the last data upload from the weather station. Useful for verifying that the station is actively reporting.
Additional capabilities

The Weathercloud API also exposes heat index, temperature-humidity-wind (THW) index, visibility, secondary temperature and humidity sensors, and indoor environment readings (temperature, humidity, dew point, heat index — available only to the station owner). These can be added in a future template update.

Troubleshooting

Data not updating
  1. Check the Last Update Time value — if it is not advancing, the weather station has stopped uploading to Weathercloud
  2. Verify the station is online at app.weathercloud.net — search for the Device ID and check the last update timestamp
  3. Free Weathercloud accounts update every 10 minutes. Even though TapHome polls every 15 seconds, new data only appears at the station’s upload interval.
All values show NaN
  1. Confirm the Device ID is correct — it must be the ten-digit number from the Weathercloud “Link device” settings, not the station name
  2. Check the cookie value in the template read script. If the session has expired, the API returns an error and all devices fall back to NaN. Re-authenticate and update the cookie.
  3. Verify the station exists and is publicly accessible on Weathercloud — private stations may require owner authentication
Some sensors show NaN while others work

Not all weather stations have the same sensors. Fields like solar radiation (solarrad), UV index (uvi), and wind chill (chill) are optional and depend on the physical hardware of the station. If a field is not reported by the station, the API omits it and the template returns NaN for that device.

The template poll interval is 15 seconds, but Weathercloud data only refreshes at the station’s upload rate (10 minutes for free accounts, 1 minute for paid). Polling more frequently does not yield newer data — it only confirms the latest available reading.

Available devices

WeatherCloud Module
Custom Variables
code (string)WeatherCloud station device ID used in API request URL (set during import)

WeatherCloud

Read (module)
#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
Average Wind Direction Variable Read-only
numeric Unit: ° json_path

Average Wind Direction

Read
IF(ISNULL(responseJson) | responseJson = "error", NaN, PARSEJSON(responseJson,"wdiravg"))
Average Wind Speed Variable Read-only

Averaged wind speed over the station's reporting interval — converted from m/s to km/h

numeric Unit: km/h json_path

Average Wind Speed

Read
IF(ISNULL(responseJson) | responseJson = "error", NaN, PARSEJSON(responseJson,"wspdavg")*3.6)
Temperature & Humidity Temperature Sensor Read-only

Outdoor temperature (°C) and relative humidity from the weather station

numeric Unit: °C / % json_path

Temperature & Humidity

Read humidity
IF(ISNULL(responseJson) | responseJson = "error", NaN, PARSEJSON(responseJson,"hum")/100)
Read temperature
IF(ISNULL(responseJson) | responseJson = "error", NaN, PARSEJSON(responseJson,"temp"))
Dew Point Variable Read-only
numeric Unit: °C json_path

Dew Point

Read
IF(ISNULL(responseJson) | responseJson = "error", NaN, PARSEJSON(responseJson,"dew"))
Atmospheric Pressure Variable Read-only
numeric Unit: hPa json_path

Atmospheric Pressure

Read
IF(ISNULL(responseJson) | responseJson = "error", NaN, PARSEJSON(responseJson,"bar"))
Rain Rate Variable Read-only
numeric Unit: mm/h json_path

Rain Rate

Read
IF(ISNULL(responseJson) | responseJson = "error", NaN, PARSEJSON(responseJson,"rainrate"))
Rainfall Today Variable Read-only
numeric Unit: mm json_path

Rainfall Today

Read
IF(ISNULL(responseJson) | responseJson = "error", NaN, PARSEJSON(responseJson,"rain"))
Solar Radiation Variable Read-only

Solar irradiance in W/m² — available only on stations with a solar radiation sensor

numeric Unit: W/m² json_path

Solar Radiation

Read
IF(ISNULL(responseJson) | responseJson = "error", NaN, PARSEJSON(responseJson,"solarrad"))
Last Update Time Variable Read-only

Unix timestamp of the last data upload from the weather station — useful for verifying station activity

numeric json_path

Last Update Time

Read
IF(ISNULL(responseJson) | responseJson = "error", NaN, PARSEJSON(responseJson,"epoch"))
UV Index Multi-value Switch Read-only

UV radiation level — 0-1 Low, 2-3 Medium, 4-5 Medium High, 6-7 High, 8-9 Very High

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

UV Index

Read switch state
IF(ISNULL(responseJson) | responseJson = "error", NaN, round(PARSEJSON(responseJson,"uvi")))
Wind Direction Variable Read-only
numeric Unit: ° json_path

Wind Direction

Read
IF(ISNULL(responseJson) | responseJson = "error", NaN, PARSEJSON(responseJson,"wdir"))
Wind Gust Variable Read-only

Peak wind speed — converted from m/s to km/h

numeric Unit: km/h json_path

Wind Gust

Read
IF(ISNULL(responseJson) | responseJson = "error", NaN, PARSEJSON(responseJson,"wspdhi")*3.6)
Wind Chill Variable Read-only

Perceived temperature accounting for wind cooling effect — not all stations report this value

numeric Unit: °C json_path

Wind Chill

Read
IF(ISNULL(responseJson) | responseJson = "error", NaN, PARSEJSON(responseJson,"chill"))
Wind Speed Variable Read-only

Current wind speed — converted from m/s to km/h

numeric Unit: km/h json_path

Wind Speed

Read
IF(ISNULL(responseJson) | responseJson = "error", NaN, PARSEJSON(responseJson,"wspd")*3.6)
Connection: Packet Parser → HTTP
Possible improvements (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.

Sources

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