diff --git a/README.md b/README.md
index 40c7599..e53a60f 100644
--- a/README.md
+++ b/README.md
@@ -5,8 +5,9 @@ This code is built to be hosted on the free [Google Apps Script](https://develop
- [IBM Wunderground](https://wunderground.com/member/api-keys),
- [MyAcurite](https://myacurite.com/),
- [Davis WeatherLink](https://weatherlink.com/),
-- [WeatherFlow Tempest](https://tempestwx.com/), or
-- [Ambient Weather](https://ambientweather.net/),
+- [WeatherFlow Tempest](https://tempestwx.com/),
+- [Ambient Weather](https://ambientweather.net/), or
+- [aprs.fi (CWOP)](https://aprs.fi/).
and periodically sends it on to
@@ -76,6 +77,15 @@ and periodically sends it on to
- Set your `ambientWeatherStationName` on line 27
- Set your `ambientWeatherApiKey` on Line 28
+
+ aprs.fi (CWOP)
+
+ Uses the [aprs.fi API](https://aprs.fi/page/api) to fetch APRS packet data from a CWOP station.
+
+ - Set the `datasource` to `aprs` on Line 10
+ - Set your `aprsStationID` on line 30
+ - Set your `aprsApiKey` on Line 31 from [your aprs.fi account](https://aprs.fi/account/)
+
- and choose one or more forwarding destinations:
@@ -84,27 +94,27 @@ and periodically sends it on to
To send to [Wunderground](https://support.weather.com/s/article/PWS-Upload-Protocol):
- - Set `updateWunderground` to `true` on Line 32
- - Set your `wundergroundAPIKey` on Line 33
- - Set your `wundergroundStationId` on line 34
+ - Set `updateWunderground` to `true` on Line 35
+ - Set your `wundergroundAPIKey` on Line 36
+ - Set your `wundergroundStationId` on line 37
Windy.com
To send to [Windy.com](https://community.windy.com/topic/8168/report-your-weather-station-data-to-windy):
- - Set `updateWindy` to `true` on Line 36
- - Set your `windyAPIKey` on Line 37
- - Set your `windyStationId` on line 38. It's likely `0`, `1`, `2`, etc.
+ - Set `updateWindy` to `true` on Line 39
+ - Set your `windyAPIKey` on Line 40
+ - Set your `windyStationId` on line 41. It's likely `0`, `1`, `2`, etc.
Aeris PWSWeather
To send to [PWSWeather](https://dashboard.pwsweather.com/):
- - Set `updatePWSWeather` to `true` on Line 40
- - Set your `pwsWeatherAPIKey` from your station's admin page on line 41
- - Set your `pwsWeatherStationID` on Line 42
+ - Set `updatePWSWeather` to `true` on Line 43
+ - Set your `pwsWeatherAPIKey` from your station's profile page on line 44
+ - Set your `pwsWeatherStationID` on Line 45
WeatherCloud
@@ -113,19 +123,19 @@ and periodically sends it on to
Retrieve your station's ID and API Key by going to [your Devices](https://app.weathercloud.net/devices), then clicking Settings → 🔌 Link on your station.
- - Set `updateWeatherCloud` to `true` on Line 44
- - Set your `weathercloudStationId` on line 45
- - Set your `weathercloudAPIKey` on Line 46
- - Set whether or not you have a WeatherCloud Pro or Premium account with `hasWeatherCloudPro` as `true` or `false` on line 47
+ - Set `updateWeatherCloud` to `true` on Line 47
+ - Set your `weathercloudAPIKey` on Line 48
+ - Set your `weathercloudID` on Line 49
+ - Set whether or not you have a WeatherCloud Pro or Premium account with `hasWeatherCloudPro` as `true` or `false` on line 50
OpenWeatherMap
Creation of a new OpenWeatherMap station must be done by API, not on the OpenWeatherMap website. More information is available in [the OpenWeatherMap Station API documentation](https://openweathermap.org/stations#create_station). The basic concept for what must be done is available in the `createNewOWMStation_()` function. Remove the `_` character from the name of that function to make it selectable from the `▷ Run` button in the toolbar. If you do so, make sure you note your new station's ID and other details in the log (available in the Executions tab in the sidebar after running!), then:
- - Set `updateOpenWeatherMap` to `true` on Line 49
- - Set `openWeatherMapAPIKey` to your [API Key](https://home.openweathermap.org/api_keys) on Line 50
- - Set your `openWeatherMapStationId` to [your OpenWeatherMap station's `external_id`](https://openweathermap.org/stations#create_station) on line 51
+ - Set `updateOpenWeatherMap` to `true` on Line 52
+ - Set `openWeatherMapAPIKey` to your [API Key](https://home.openweathermap.org/api_keys) on Line 53
+ - Set your `openWeatherMapStationId` to [your OpenWeatherMap station's `external_id`](https://openweathermap.org/stations#create_station) on line 54
WindGuru
@@ -134,18 +144,18 @@ and periodically sends it on to
Start by [registering a new "Other / Upload API" station](https://stations.windguru.cz/register.php?id_type=16), then:
- - Set `updateWindGuru` to `true` on Line 53
- - Set `windGuruStationUID` to your chosen [station UID](https://stations.windguru.cz/) on Line 54
- - Set your `windGuruStationPassword` to your chosen [station API password](https://stations.windguru.cz/) (note, not your _account's_ password) on line 55
+ - Set `updateWindGuru` to `true` on Line 56
+ - Set `windGuruStationUID` to your chosen [station UID](https://stations.windguru.cz/) on Line 57
+ - Set your `windGuruStationPassword` to your chosen [station API password](https://stations.windguru.cz/) (note, not your _account's_ password) on line 58
NOAA Citizen Weather Observer Program (CWOP)
Send to [CWOP](https://madis.ncep.noaa.gov/madis_cwop.shtml). Start by [registering for a new station](https://madis.ncep.noaa.gov/madis_cwop.shtml), then when you receive your email:
- - Set `updateCWOP` to `true` on Line 57
- - Set `cwopStationIDOrHamCallsign` to your assigned CWOP station ID that you received via email on Line 58
- - If you are using your ham radio callsign as your station ID and you have received a validation code from NOAA CWOP support, set `cwopValidationCode` to your validation code on Line 59
+ - Set `updateCWOP` to `true` on Line 60
+ - Set `cwopStationIDOrHamCallsign` to your assigned CWOP station ID that you received via email on Line 61
+ - If you are using your ham radio callsign as your station ID and you have received a validation code from NOAA CWOP support, set `cwopValidationCode` to your validation code on Line 62
4. Run the "Schedule" function with the `▷ Run` button in the toolbar. You're done! You can see it periodically running in the `☰▶` Executions tab on the left sidebar. This code is executed on Google's servers and does not require a computer to remain on.