Setup guide

Stream your weather station into Jumboshack

Push your backyard weather station — temperature, wind, rain, pressure, humidity — into your Jumboshack dashboard. It posts to your account over a simple HTTPS API, so there's no special weather hardware or new software to build: a tiny relay reads your station and forwards the numbers. About 20 minutes.

⏱️ ~20 minutes 🧰 A WiFi weather station + any always-on computer 🛠️ Beginner-friendly — a short copy-paste script
How it works: weather stations report to a cloud API (Ambient Weather, Ecowitt) or a local gateway. A small relay reads those numbers every few minutes and POSTs them to your Jumboshack Weather device — where they auto-render as cards + trend charts. Nothing is written back to your station; it's read-only.
The four steps
  1. Get a WiFi weather station
  2. Create a Jumboshack Weather device
  3. Run the relay
  4. Verify & label

How it fits together

  Weather station ──(WiFi)──► vendor cloud / local gateway
                                      │
                        weather relay  (reads the API, POSTs over HTTPS)
                                      │
                          ingest.jumboshack.com/api/ingest/weather → your dashboard
1

Get a WiFi weather station

Any station with a cloud API or a local network gateway works. The common, well-documented ones:

StationHow you read itPrice
Ambient Weather (WS-2902 etc.) Simple REST API (application key + API key). Temp, wind, rain, pressure, humidity, UV, solar. on Amazon
Ecowitt (GW1100 / GW2000 gateways) Local network API on the gateway and an Ecowitt cloud API — no cloud dependency if you use local. on Amazon
WeatherFlow Tempest REST + UDP local broadcast. Sonic wind, haptic rain, lightning. on Amazon

As an Amazon Associate, Jumboshack earns from qualifying purchases. The links above are affiliate search links — if you buy through them we may earn a small commission at no extra cost to you. Prices are shown on the live listing.

2

Create a Jumboshack Weather device

In your Account, add a Location if needed, then add a Device and set its module to weather. Copy the one-time token (jsk_…). That token ties your station to your account, and its readings appear on your Weather tab.

3

Run the relay

A small script reads your station and POSTs its readings to /api/ingest/weather every few minutes. Here it is for Ambient Weather (pure Python, no dependencies) — schedule it from cron on any always-on box:

# weather-relay.py — Ambient Weather → Jumboshack Weather
import json, urllib.request
from datetime import datetime, timezone

AMBIENT_APP_KEY = "your_application_key"   # dashboard.ambientweather.net → API keys
AMBIENT_API_KEY = "your_api_key"
JUMBO_TOKEN     = "jsk_your_weather_device_token"

url = f"https://api.ambientweather.net/v1/devices?applicationKey={AMBIENT_APP_KEY}&apiKey={AMBIENT_API_KEY}"
d = json.load(urllib.request.urlopen(url, timeout=15))[0]["lastData"]

# map the station's fields to Jumboshack's weather field names
reading = {"station": "Backyard"}
for src, dst in (("tempf","temp_f"), ("humidity","humidity_pct"), ("windspeedmph","wind_mph"),
                 ("windgustmph","gust_mph"), ("winddir","wind_dir_deg"), ("hourlyrainin","rain_in"),
                 ("baromrelin","pressure_inhg"), ("uv","uv"), ("solarradiation","solar_wm2")):
    if d.get(src) is not None:
        reading[dst] = float(d[src])

reading["metadata"] = {"time": datetime.now(timezone.utc).isoformat(), "software_version": "weather-relay/1.0"}
req = urllib.request.Request("https://ingest.jumboshack.com/api/ingest/weather",
        data=json.dumps(reading).encode(), method="POST",
        headers={"Authorization": f"Bearer {JUMBO_TOKEN}", "Content-Type": "application/json"})
print(urllib.request.urlopen(req, timeout=20).read().decode())

Test it once, then schedule every 5 minutes:

# dry run first — validates + echoes what was understood, stores nothing
# (add ?validate=1 to the URL in the script, run once, then remove it)

crontab -e
*/5 * * * * /usr/bin/python3 /home/pi/weather-relay.py > /home/pi/weather.log 2>&1
Other stations, same idea. Ecowitt: read the local gateway API (http://<gateway-ip>/get_livedata_info) or the Ecowitt cloud API and map the fields the same way. Tempest: use the WeatherFlow REST API. Home Assistant users: if your station is already in HA, a REST-command automation can POST the same reading JSON to /api/ingest/weather on a timer — no separate script.
4

Verify

Within a few minutes, open your Weather tab — each reading shows as a labeled card (with units) and a hover trend of the daily high / low / average.

Supported fields

Send any of these (all optional; units are applied automatically): temp_f, feels_like_f, dew_point_f, humidity_pct, wind_mph, gust_mph, wind_dir_deg, rain_in, rain_rate_inhr, pressure_inhg, uv, solar_wm2, temp_indoor_f, humidity_indoor_pct. Add "station":"Backyard" to label a station (or send a stations array for several). Verify with ?validate=1 — it echoes what was understood without storing.

Troubleshooting

Also tracking geothermal or air quality? The geothermal and air-quality guides stream those into the same dashboard. Jumboshack takes data from anything that can POST JSON — see the API guide.