A WeeWX extension that uploads your weather data to Skyvex.
Skyvex speaks the Weather Underground upload protocol. This extension uses the
same uploader class as WeeWX's built-in Wunderground service
(weewx.restx.AmbientThread), but with a section of its own, [[Skyvex]].
That way you can keep posting to Weather Underground and post to Skyvex at the
same time.
Each archive record is sent once, in US units, the same fields WeeWX sends to
Weather Underground (temperature, humidity, dew point, pressure, wind, rain,
solar radiation, UV, soil and leaf sensors, PM2.5/PM10). Indoor values are
sent only with post_indoor_observations = true.
Soil moisture and leaf wetness are sent on the Davis scale: soilmoisture
in centibar (0 = wet, 200 = dry), leafwetness as an index from 0 to 15.
Skyvex does not read soilmoisture as a percentage; in the Skyvex settings,
under Sensors, create a custom field mapping for soilmoisture with the unit
cb.
- WeeWX 4 or 5 running under Python 3 (tested against WeeWX 4.10.2 and 5.0 to 5.5.2)
- A Skyvex account. Your Station ID and station password are shown in the Skyvex settings on your station card. The station password is not your login password.
WeeWX 5:
weectl extension install https://github.com/MichaelStrommer-dreiS/weewx-skyvex/archive/refs/heads/main.zip
WeeWX 4 (wee_extension does not accept URLs, so download first):
wget -O weewx-skyvex.zip https://github.com/MichaelStrommer-dreiS/weewx-skyvex/archive/refs/heads/main.zip
sudo wee_extension --install weewx-skyvex.zip
The installer adds a disabled [[Skyvex]] section to [StdRESTful] in
weewx.conf. Fill in your values and enable it:
[StdRESTful]
[[Skyvex]]
enable = true
station = STATION-ID
password = PASSWORDOptional settings:
| Option | Default | Meaning |
|---|---|---|
post_indoor_observations |
false |
Also send indoor temperature and humidity |
server_url |
https://api.skyvex.org/weatherstation/updateweatherstation.php |
Upload endpoint |
log_success / log_failure |
from weewx.conf |
Log every upload |
Rapidfire (loop packet) uploads are not supported; rapidfire, archive_post
and rtfreq are ignored.
sudo systemctl restart weewx
journalctl -u weewx -f
After the next archive interval (usually five minutes) the log shows:
Skyvex: Published record 2026-09-30 14:05:00 CEST (1790770700)
Skyvex: Failed to publish record ... HTTP Error 401 means the Station ID or
the station password is wrong.
If you do not post to Weather Underground, you do not need this extension:
WeeWX's built-in Wunderground uploader can be pointed at Skyvex with the
option server_url. Details and ready-to-copy snippets:
https://skyvex.org/setup-guide#weewx
weectl extension uninstall skyvex # WeeWX 5
sudo wee_extension --uninstall skyvex # WeeWX 4
GNU General Public License v3, see LICENSE. Derived from the
uploaders in weewx/restx.py.