PLAN YOUR DAY
Your weather timeline What’s passed, what’s happening, and what comes next.
All Rain
Storm Snow / ice
Freeze Heat
Wind Air
Changes Sun Alerts
Storm watch Home station Waiting for weather data
Wind —
Rain today —
Pressure · sea level —
Home station
— Waiting for data Feels like —
High — · Low —
Dew point —
Humidity —
Pressure —
Rain today —
UV index —
Waiting for weather alerts
Next 6 hours Hourly forecast unavailable
Lightning Last 3 hours Lightning data unavailable
Station readings and forecast data
CLOSER TO HOME
Local signals Your nearby conditions, outdoor outlook, and personal alerts.
Live feed Waiting Connecting to observations
Wind now — Waiting for direction
Atmosphere trend Steady Temperature and pressure
Lightning reports No reports yet Waiting for station reports
Next 6 hours An hourly look at temperature, rain, and wind
Best outdoor window Balances heat, rain, and wind
Checking…
Your alerts Choose which local changes should notify you
Rain begins
Lightning nearby
Strong gusts
Sensors, neighbors & recent alerts
Live readings & connection
socket: idle
Strikes · 24h
Nearby stations
Add
Reset dismissed
WeatherFlow publish no station
search, so Tempest neighbours have to be added by ID — find one on the public map at
tempestwx.com/map and paste its station number. A station whose owner hasn't shared it
publicly can't be read with your token; airport codes always work.
Notification history
THE BIGGER PICTURE
Your weather, over time Explore station trends, compare forecasts, and look back through your archive.
Temperature Waiting for station history
Rain Waiting for station history
Wind Waiting for station history
Wind rose
Pressure Waiting for station history
Model comparison
Forecast accuracy
NWS vs Tempest
Precip outlook
Garden
Almanac · all time
Month by month
Explore the archive
High temperature
Low temperature
Peak gust
Rain
Lightning strikes
Show
Settings
Tempest API token
Station ID
Device ID (Tempest sensor)
Station elevation (ft)
Only the barometer uses it: a station reading is
reduced to sea level before it is shown, and doing that with the model's elevation instead
of yours is why the dashboard and the console disagree by a few hundredths.
Another brand of station
Leave as Tempest unless you have one of these. Push
brands need no keys — point the console at the address shown below.
Station brand
Tempest (or none)
Ecowitt — Wittboy, GW1100/2000/3000
Ambient Weather — WS-2902 / WS-2000 / WS-5000
Weather Underground protocol (other clones)
Davis — Vantage Pro2 / Vue via WeatherLink Live
Ambient Weather Network cloud (incl. KestrelMet 6000)
La Crosse Technology (unofficial)
rtl_433 / SDR (AcuRite Iris and friends)
This phone build has no address a console can upload
to — it isn't a server. Two ways round it: pick Ambient Weather Network cloud above
and paste your API keys (works anywhere), or run the desktop build / Docker image on a
machine that stays on, point the console at that, and open its address in this app.
WeatherLink Live address on the LAN
Find it on my network
AWN API key
AWN application key
Ingest key (optional — pins the upload path)
Station reporting
Region preset
US UK
EU CA
AU
Units
Imperial Metric
Wind unit
Follow units above mph km/h m/s knots
Clock
Follow this device 12-hour 24-hour
Obs refresh (seconds)
Wind gust alert threshold (mph )
Nearby sensor radius (mi, 0 = manual only)
Remember this station
Radar site
Nearest to my station
Radar panel on the Desk
Show the radar automatically during warnings
Appearance
Theme
Dark
Light
Auto — light by day
Accent colour
Palette
Default
OLED black
Solarized
High contrast
E-ink (flat, no shadows)
Text size
Small
Normal
Large
Extra large
Density
Normal Compact
Hero summary
Current conditions + future forecast
Temperature range + trends
Oversized readings
Kiosk
Cycle tabs every (seconds, 0 = off)
Dim the screen overnight
Read warnings and watches aloud
Enable / Test voice
System voice
Tap to enable
Spoken briefing at (blank = off)
Browser notifications (https only)
Eco mode (slower polling)
Auto — on for slow hardware
Always on
Off
Motion
Auto — full on capable hardware
Full — live sky, animated icons
Lite — movement only, no effects
Off — nothing moves
Window rendering (desktop app, next launch)
Auto
Safe — software compositing
GPU — no workarounds
If the desktop window opens blank, set this to Safe
from any browser at http://<this computer>:8088 and restart the app.
This computer
LAN dashboard port (blank = 8088; restart to apply)
CWOP station ID (blank = don't report)
Sends your readings to the Citizen Weather Observer
Program every ten minutes, where forecast models can use them. Callsigns are public.
Weather Underground station ID
Weather Underground station key
PWSWeather station ID
PWSWeather API key
Re-uploads whatever your station reports here, once a
minute. Consoles hold one upload address, so pointing yours at StormDesk takes it off
these networks — this puts it back.
Keep history for
Forever
1 year
2 years
5 years
10 years
Older readings are deleted for good, an hour after
you save. Back the archive up first — most stations have no cloud to restore them from.
Export settings
Import settings
History CSV
Complete backup
Restore backup
Check for updates
Health Center
Retry now
Use still radar
Clear stale cache
Checkpoint archive
Use Safe renderer
Open LAN dashboard
Copy support report
Save changes
Diagnostics
Close
Reset panel layout
Rearrange panels
Starting points — pick one, then drag
what's left into place and save it under a name.
Save layout
Hidden panels
Closed a panel with its ×? Click it here to put it back.
Panel catalog
Move any Desk panel to another tab. It keeps working
where it lands — the gauges on the Data tab are the same gauges.
Hover a panel for its grip: drag the grip to move it, drag the bottom-right corner to resize,
double-click the grip to restore that panel's size. The × beside the grip hides a panel;
hidden panels come back from the list above. On a phone the grips would sit over the panel
titles, so they wait for Rearrange panels above — move and hide only, since a phone
gives every panel the full width anyway.
Tabs
Timeline
Radar
Local Signals
Data
Timeline
Events stay here. Official warnings and explicit alert rules are the only things that notify.
Precipitation chance (%)
Freeze threshold
Heat threshold
Wind gust threshold
Air quality threshold (AQI)
Rain Thunder
Snow / ice Freeze
Heat Wind
Air quality Sun
Rapid changes Official alerts
Places
Find
Notifications
Severe weather alerts
Precip start / stop
Lightning nearby
High wind
Snow / ice
Forecast changes
My alert rules
Station health
Test banners
Test push channels
Alert rules
above below
Add
+ AND
Quiet hours
No chime and no push between these times. Severe and
extreme warnings still come through. Leave both blank for off.
Push notifications
ntfy topic (phone push)
ntfy server
Webhook URL
Discord and Telegram webhook URLs are recognised and
formatted for them automatically. Alerts are sent as title, body and category only — never your token.
An ntfy.sh topic is public to anyone who guesses it, so make it long.
Home Assistant
Two halves, either useful on its own: the station is
published to your broker and appears in Home Assistant on its own, and a few Home Assistant
entities can be read back onto the Signals tab.
Publish the station
MQTT broker
The desktop and Docker builds speak plain MQTT
(mqtt:// or mqtts://) and keep publishing with every tab closed,
which is what Home Assistant needs. A ws:// address is published by this page
instead, and only while it is open.
MQTT username
MQTT password
Discovery prefix
Leave this alone unless you changed it in Home
Assistant's own MQTT settings first.
Read entities back
Home Assistant URL
Home Assistant token
Entities to show
List entities
Broker topics to show (one per line: topic | label | unit)
Test both
Help
Set up my station
Pick your brand above under Another brand of station , then set the location
(Places, below). No Tempest and no account of any kind is needed.
Tempest. tempestwx.com → Settings → Data Authorizations → create a personal use
token. The station ID is the number in your tempestwx.com station URL.
Ecowitt (Wittboy, GW1100/1200/2000/3000). WSView Plus → your gateway →
Customized upload. Protocol Ecowitt, server this computer's IP, path
/ingest, port 8088, interval 16 s or slower.
Ambient Weather (WS-2902, WS-4000, WS-2000, WS-5000). Console firmware 4.2.8 or
newer, then the awnet app → Custom server , same address and path.
Weather Underground clones (Vevor, Sainlogic, Fine Offset and friends). Point the
console's WU server at this computer's IP and port and leave the path alone. Two things
catch people out: the console must be allowed plain HTTP , not HTTPS, and it must
accept a port other than 80. Firmware that insists on HTTPS or port 80 needs a router
rule forwarding port 80 to 8088 on this machine.
Davis (Vantage Pro2, Vantage Vue). Needs a WeatherLink Live or Console 6313 on
the network; put its IP in WeatherLink Live address . No cloud, no key.
KestrelMet 6000 , or an Ambient console you would rather leave on Ambient's
servers: both keys from ambientweather.net → My devices → API keys.
La Crosse. Account email and password. Unofficial — it reads the API their app
uses and can stop working without notice.
AcuRite Iris and anything else: an RTL-SDR dongle and
rtl_433 -C si -F json piped to /ingest — see the README.
Whatever the brand, Station reporting above shows what has arrived and when.
What version am I on, and how do I update?
The version is beside
Check for updates
above, which downloads and installs the latest release. Older builds that predate the
updater have to be reinstalled once from
the releases page ; settings
and history survive.
I closed a panel and can't get it back
The Hidden panels list above — click the
panel's name to restore it. Reset panel layout puts everything back at once.
Where do the forecasts come from?
A Tempest station gets WeatherFlow's own forecast.
Everything else gets open-meteo, which is free and worldwide — Brazil, Europe, anywhere.
Watches and warnings come from the NWS and so are US-only.
Can I see this on an iPad, a phone or another computer?
Yes — open the address in this window's title bar
in any browser on the same network. Add /public to the end for a read-only
version with no settings drawer, which is the one to leave on a wall tablet.
Docker / Raspberry Pi
ghcr.io/d4vid87/stormdesk:latest,
run with --network host and a volume on /data. There is a
compose file in the repo. Headless: no window, same LAN dashboard.
Windows Defender quarantined the installer
A false positive, and a common one for new
unsigned installers. Windows Security → Protection history → the item → Restore, then
Allow on device. Every release also ships a SHA256SUMS.txt you can check the
download against, and each Windows build is reported to Microsoft as a false detection.
Something is wrong — where do I report it?
Token: tempestwx.com → Settings → Data Authorizations → create personal use token.
Station ID is the number in your tempestwx.com station URL; leave Device ID blank and it fills itself in.
On the desktop app with a Tempest hub on the same network, live local readings work with no token at all.