[PROJECT] Driver for WeatherFlow API

Thanks for your continued support.

1 Like

@snell I'm noticing my precipitationtype and precipitationtypestring for Current States and State Variables are out of sync again. The Current States show rain (incorrect), whereas the State Variables are showing no precipitation (correct). I'm using 0.4.6 of the main driver and 0.8.5 of the child driver. I have one WeatherFlow station, so I'm only leveraging the main driver for my associated virtual device.

Not sure how you manage it! :slight_smile:

I will add a command to clear the state variables. Are there any errors showing in the log that could help make it clearer why yours gets out of sync?

Updated Version(s):

  • WeatherFlow.groovy = 0.4.7

Change(s):

  • Added "ClearStateVariables" command. As per the name this will clear all the current state variables on the device. This has the effect of forcing all the events to be re-published on the next refresh (because the data will not match the existing State Variables since there are none).

I haven't monitored errors but will keep an eye out. I've updated to the most recent version and will see how it works. Thanks for the quick update!

Just installed my Tempest today. I've added the 'WeatherFlow API' and 'WeatherSensorChild' drivers code to the HE and created a virtual device named 'Tempest Weather' and changed the driver settings to use the 'WeatherFlow' driver. Next I set my WeatherFlow Token and Station ID, made sure 'Enable Child Devices' was enabled and clicked 'Save Preferences'.

This resulted in 3 child devices being created:

Is this correct or should I be seeing child devices for the various Tempest sensors (rain, lightning, wind, etc.)? BTW: I also tried disabling 'Enable Child Devices', saving preferences, enabling 'Enable Child Devices' and again saving preferences but still have the same 3 child devices.

[EDIT] I think I answered my own question. All of the sensors appear to be exposed in the 'Station' child device :). Thanks for creating this driver!

You are correct, the sensor readings are posted to the "device". The Station has just about everything. The Forecast can be useful for those that want that information. The Hub... not really much value besides some information about the Tempest itself. Sometimes I debate about removing it and ignoring the data related to it but it does not cause any problems leaving it.

What are you using to log Weatheflow data to InfluxDB?

I’m using the InfluxDB Logger app to log some of the data from my Tempest weather station including temp, humidity, and illuminance. However, the InfluxDB Logger does not appear to support many of the other measurements. For example, wind measurements.

I’m considering making enhancements to the InfluxDB Logger, but wanted to first check to see if another solution exists.

Thanks

The WeatherFlow 0.4.7 driver in my Hubitat C7 started logging 500 errors when connecting to WeatherFlow. Previously, I had not noticed the 500 errors.

… Outdoor Weather Station - Error connecting to WeatherFlow: 500

I turned on trace level logging and pressed refresh on the device. Based on the trace output, it appears that some interactions with the API are working as expected.

Should I be concerned about the 500 errors?

dev:14512022-12-20 20:15:22.818traceOutdoor Weather Station - Temperature Conversion -2.8°C to 26.96°F
dev:14512022-12-20 20:15:22.815traceOutdoor Weather Station - Temperature Conversion -2.8°C to 26.96°F
dev:14512022-12-20 20:15:22.810traceOutdoor Weather Station - Temperature Conversion -4.1°C to 24.62°F
dev:14512022-12-20 20:15:22.807traceOutdoor Weather Station - Temperature Conversion -4.1°C to 24.62°F
dev:14512022-12-20 20:15:22.803traceOutdoor Weather Station - Temperature Conversion -2.1°C to 28.22°F
dev:14512022-12-20 20:15:22.800traceOutdoor Weather Station - Temperature Conversion -2.1°C to 28.22°F
dev:14512022-12-20 20:15:22.798traceOutdoor Weather Station - Temperature Conversion -2.1°C to 28.22°F
dev:14512022-12-20 20:15:22.792traceOutdoor Weather Station - Temperature Conversion -2.1°C to 28.22°F
dev:14512022-12-20 20:15:22.789traceOutdoor Weather Station - Temperature Conversion -2.1°C to 28.22°F
dev:14512022-12-20 20:15:22.786traceOutdoor Weather Station - Event: WindDirectionString = 14°
dev:14512022-12-20 20:15:22.784traceOutdoor Weather Station - Event: windDirection = 14°
dev:14512022-12-20 20:15:22.777traceOutdoor Weather Station - Event: windSpeed = 0.4mph
dev:14512022-12-20 20:15:22.775traceOutdoor Weather Station - Event: WindAvg = 0.89mph
dev:14512022-12-20 20:15:22.771traceOutdoor Weather Station - Event: TimestampString = Tue Dec 20 20:14:44 CST 2022
dev:14512022-12-20 20:15:22.768traceOutdoor Weather Station - State: TimestampEpoch = 1671588884
dev:14512022-12-20 20:15:22.760traceOutdoor Weather Station - Temperature Conversion -2.1°C to 28.22°F
dev:14512022-12-20 20:15:22.759traceOutdoor Weather Station - Temperature Conversion -2.1°C to 28.22°F
dev:14512022-12-20 20:15:22.757traceOutdoor Weather Station - Temperature Conversion -2.1°C to 28.22°F
dev:14512022-12-20 20:15:22.757traceOutdoor Weather Station - Temperature Conversion -2.1°C to 28.22°F
dev:14512022-12-20 20:15:22.755traceOutdoor Weather Station - Temperature Conversion -2.1°C to 28.22°F
dev:14512022-12-20 20:15:22.752traceOutdoor Weather Station - Event: windGust = 1.34mph
dev:14512022-12-20 20:15:22.750traceOutdoor Weather Station - Event: WindDirectionString = 14°
dev:14512022-12-20 20:15:22.749traceOutdoor Weather Station - Event: windLull = 0mph
dev:14512022-12-20 20:15:22.748traceOutdoor Weather Station - Event: windDirection = 14°
dev:14512022-12-20 20:15:22.746traceOutdoor Weather Station - Temperature Conversion -2.1°C to 28.22°F
dev:14512022-12-20 20:15:22.745traceOutdoor Weather Station - Event: windGust = 1.25mph
dev:14512022-12-20 20:15:22.743traceOutdoor Weather Station - Temperature Conversion -2.1°C to 28.22°F
dev:14512022-12-20 20:15:22.742traceOutdoor Weather Station - Event: windSpeed = 0.82mph
dev:14512022-12-20 20:15:22.740traceOutdoor Weather Station - Temperature Conversion 3.8°C to 38.84°F
dev:14512022-12-20 20:15:22.739traceOutdoor Weather Station - Event: WindAvg = 0.82mph
dev:14512022-12-20 20:15:22.735traceOutdoor Weather Station - Event: WindLull = 0mph
dev:14512022-12-20 20:15:22.730traceOutdoor Weather Station - Event: TimestampDate = Tue Dec 20 20:14:44 CST 2022
dev:14512022-12-20 20:15:22.682traceOutdoor Weather Station - Weather data = [station_name:2232 S Hwy 94, elevation:156.85528564453125, obs:[[lightning_strike_count_last_1hr:0, lightning_strike_last_epoch:1670970345, wet_bulb_globe_temperature:3.8, lightning_strike_count_last_3hr:0, wind_chill:-2.1, wind_lull:0.0, wind_gust:0.6, precip_minutes_local_yesterday_final:0, heat_index:-2.1, precip_accum_local_day:0.0, precip:0.0, precip_accum_local_yesterday:0.0, precip_accum_last_1hr:0.0, precip_minutes_local_day:0, precip_accum_local_day_final:0.0, solar_radiation:0, delta_t:0.7, timestamp:1671588884, precip_analysis_type_yesterday:0, uv:0.0, lightning_strike_count:0, pressure_trend:steady, wind_avg:0.4, barometric_pressure:1012.9, wind_direction:14, feels_like:-2.1, air_density:1.30181, lightning_strike_last_distance:17, precip_accum_local_yesterday_final:0.0, air_temperature:-2.1, station_pressure:1012.9, brightness:0, dew_point:-4.1, relative_humidity:86, sea_level_pressure:1032.1, precip_minutes_local_yesterday:0, wet_bulb_temperature:-2.8]], timezone:America/Chicago, station_id:84365, latitude:38.65117, is_public:true, station_units:[units_temp:f, units_direction:cardinal, units_precip:in, units_distance:mi, units_other:imperial, units_pressure:inhg, units_wind:mph], public_name:S Missouri 94, outdoor_keys:[timestamp, air_temperature, barometric_pressure, station_pressure, pressure_trend, sea_level_pressure, relative_humidity, precip, precip_accum_last_1hr, precip_accum_local_day, precip_accum_local_day_final, precip_accum_local_yesterday_final, precip_minutes_local_day, precip_minutes_local_yesterday_final, wind_avg, wind_direction, wind_gust, wind_lull, solar_radiation, uv, brightness, lightning_strike_last_epoch, lightning_strike_last_distance, lightning_strike_count, lightning_strike_count_last_1hr, lightning_strike_count_last_3hr, feels_like, heat_index, wind_chill, dew_point, wet_bulb_temperature, wet_bulb_globe_temperature, delta_t, air_density], longitude:-90.76553, status:[status_message:SUCCESS, status_code:0]]
dev:14512022-12-20 20:15:22.722traceOutdoor Weather Station - State: TimestampEpoch = 1671588884
dev:14512022-12-20 20:15:22.690traceOutdoor Weather Station - Temperature Conversion -2.1°C to 28.22°F
dev:14512022-12-20 20:15:22.687traceOutdoor Weather Station - Temperature Conversion -2.1°C to 28.22°F
dev:14512022-12-20 20:15:22.680traceOutdoor Weather Station - Temperature Conversion -2.1°C to 28.22°F
dev:14512022-12-20 20:15:22.678traceOutdoor Weather Station - Temperature Conversion -2.1°C to 28.22°F
dev:14512022-12-20 20:15:22.654traceOutdoor Weather Station - Raw response: {"station_id":84365,"station_name":"2232 S Hwy 94","public_name":"S Missouri 94","latitude":38.65117,"longitude":-90.76553,"timezone":"America/Chicago","elevation":156.85528564453125,"is_public":true,"status":{"status_code":0,"status_message":"SUCCESS"},"station_units":{"units_temp":"f","units_wind":"mph","units_precip":"in","units_pressure":"inhg","units_distance":"mi","units_direction":"cardinal","units_other":"imperial"},"outdoor_keys":["timestamp","air_temperature","barometric_pressure","station_pressure","pressure_trend","sea_level_pressure","relative_humidity","precip","precip_accum_last_1hr","precip_accum_local_day","precip_accum_local_day_final","precip_accum_local_yesterday_final","precip_minutes_local_day","precip_minutes_local_yesterday_final","wind_avg","wind_direction","wind_gust","wind_lull","solar_radiation","uv","brightness","lightning_strike_last_epoch","lightning_strike_last_distance","lightning_strike_count","lightning_strike_count_last_1hr","lightning_strike_count_last_3hr","feels_like","heat_index","wind_chill","dew_point","wet_bulb_temperature","wet_bulb_globe_temperature","delta_t","air_density"],"obs":[{"timestamp":1671588884,"air_temperature":-2.1,"barometric_pressure":1012.9,"station_pressure":1012.9,"sea_level_pressure":1032.1,"relative_humidity":86,"precip":0.0,"precip_accum_last_1hr":0.0,"precip_accum_local_day":0.0,"precip_accum_local_day_final":0.0,"precip_accum_local_yesterday":0.0,"precip_accum_local_yesterday_final":0.0,"precip_minutes_local_day":0,"precip_minutes_local_yesterday":0,"precip_minutes_local_yesterday_final":0,"precip_analysis_type_yesterday":0,"wind_avg":0.4,"wind_direction":14,"wind_gust":0.6,"wind_lull":0.0,"solar_radiation":0,"uv":0.0,"brightness":0,"lightning_strike_last_epoch":1670970345,"lightning_strike_last_distance":17,"lightning_strike_count":0,"lightning_strike_count_last_1hr":0,"lightning_strike_count_last_3hr":0,"feels_like":-2.1,"heat_index":-2.1,"wind_chill":-2.1,"dew_point":-4.1,"wet_bulb_temperature":-2.8,"wet_bulb_globe_temperature":3.8,"delta_t":0.7,"air_density":1.30181,"pressure_trend":"steady"}]}
dev:14512022-12-20 20:15:22.674traceOutdoor Weather Station - Temperature Conversion -2.1°C to 28.22°F
dev:14512022-12-20 20:15:22.666traceOutdoor Weather Station - Temperature Conversion -2.1°C to 28.22°F
dev:14512022-12-20 20:15:22.660traceOutdoor Weather Station - Device data = [summary:[precip_accum_local_yesterday_final:0.0, precip_analysis_type_yesterday:0, heat_index:-2.1, pressure_trend:steady, precip_accum_local_yesterday:0.0, precip_total_1h:0.0, wind_chill:-2.1, strike_count_1h:0, strike_last_dist:17, strike_count_3h:0, feels_like:-2.1, strike_last_epoch:1670970345], obs:[[1671588884, 0, 0.37, 0.56, 14, 3, 1012.9, -2.1, 86, 0, 0, 0, 0, 0, 0, 0, 2.71, 1, 0, 0, 0, 0]], device_id:222078, source:cache, type:obs_st, status:[status_message:SUCCESS, status_code:0]]
dev:14512022-12-20 20:15:22.655traceOutdoor Weather Station - Device 222078 response: [summary:[precip_accum_local_yesterday_final:0.0, precip_analysis_type_yesterday:0, heat_index:-2.1, pressure_trend:steady, precip_accum_local_yesterday:0.0, precip_total_1h:0.0, wind_chill:-2.1, strike_count_1h:0, strike_last_dist:17, strike_count_3h:0, feels_like:-2.1, strike_last_epoch:1670970345], obs:[[1671588884, 0, 0.37, 0.56, 14, 3, 1012.9, -2.1, 86, 0, 0, 0, 0, 0, 0, 0, 2.71, 1, 0, 0, 0, 0]], device_id:222078, source:cache, type:obs_st, status:[status_message:SUCCESS, status_code:0]]
dev:14512022-12-20 20:15:22.652errorOutdoor Weather Station - Error connecting to WeatherFlow: 500
dev:14512022-12-20 20:15:22.406traceOutdoor Weather Station - Station Obs Params = [uri:https://swd.weatherflow.com/swd/rest/observations/station/84365?token=…, contentType:application/json]
dev:14512022-12-20 20:15:22.403traceOutdoor Weather Station - Params for device: 222078 = [uri:https://swd.weatherflow.com/swd/rest/observations/device/222078?token=…, contentType:application/json]
dev:14512022-12-20 20:15:22.401traceOutdoor Weather Station - Getting data for device: 222078
dev:14512022-12-20 20:15:22.399traceOutdoor Weather Station - Params for device: 222077 = [uri:https://swd.weatherflow.com/swd/rest/observations/device/222077?token=…, contentType:application/json]
dev:14512022-12-20 20:15:22.397traceOutdoor Weather Station - Getting data for device: 222077
dev:14512022-12-20 20:15:22.352traceOutdoor Weather Station - Station data = [stations:[[devices:[[hardware_revision:1, device_id:222077, firmware_revision:177, device_meta:[environment:indoor, agl:1.8288, wifi_network_name:, name:HB-00105528], serial_number:HB-00105528, device_type:HB], [hardware_revision:1, device_id:222078, device_settings:[show_precip_final:true], firmware_revision:172, device_meta:[environment:outdoor, agl:1.8288, wifi_network_name:, name:2232 Garage Roof], serial_number:ST-00090901, device_type:ST]], timezone:America/Chicago, station_meta:[share_with_wf:true, elevation:156.85528564453125, share_with_wu:true], station_id:84365, latitude:38.65117, timezone_offset_minutes:-360, location_id:84365, created_epoch:1664203456, station_items:[[item:air_temperature_humidity, device_id:222078, station_id:84365, location_item_id:697016, sort:0, location_id:84365, station_item_id:697016], [item:barometric_pressure, device_id:222078, station_id:84365, location_item_id:697018, sort:1, location_id:84365, station_item_id:697018], [item:diagnostics, device_id:222077, station_id:84365, location_item_id:705056, location_id:84365, station_item_id:705056], [item:diagnostics, device_id:222078, station_id:84365, location_item_id:705057, location_id:84365, station_item_id:705057], [item:light, device_id:222078, station_id:84365, location_item_id:697020, sort:5, location_id:84365, station_item_id:697020], [item:lightning, device_id:222078, station_id:84365, location_item_id:697017, sort:2, location_id:84365, station_item_id:697017], [item:rain, device_id:222078, station_id:84365, location_item_id:697019, sort:4, location_id:84365, station_item_id:697019], [item:wind, device_id:222078, station_id:84365, location_item_id:697021, sort:3, location_id:84365, station_item_id:697021]], is_local_mode:false, name:2232 S Hwy 94, last_modified_epoch:1669082449, public_name:S Missouri 94, longitude:-90.76553]], status:[status_message:SUCCESS, status_code:0]]
dev:14512022-12-20 20:15:22.324traceOutdoor Weather Station - Raw response: {"stations":[{"location_id":84365,"station_id":84365,"name":"2232 S Hwy 94","public_name":"S Missouri 94","latitude":38.65117,"longitude":-90.76553,"timezone":"America/Chicago","timezone_offset_minutes":-360,"station_meta":{"share_with_wf":true,"share_with_wu":true,"elevation":156.85528564453125},"last_modified_epoch":1669082449,"created_epoch":1664203456,"devices":[{"device_id":222077,"serial_number":"HB-00105528","device_meta":{"agl":1.8288,"name":"HB-00105528","environment":"indoor","wifi_network_name":""},"device_type":"HB","hardware_revision":"1","firmware_revision":"177"},{"device_id":222078,"serial_number":"ST-00090901","device_meta":{"agl":1.8288,"name":"2232 Garage Roof","environment":"outdoor","wifi_network_name":""},"device_settings":{"show_precip_final":true},"device_type":"ST","hardware_revision":"1","firmware_revision":"172"}],"station_items":[{"location_item_id":697016,"location_id":84365,"device_id":222078,"item":"air_temperature_humidity","sort":0,"station_id":84365,"station_item_id":697016},{"location_item_id":697018,"location_id":84365,"device_id":222078,"item":"barometric_pressure","sort":1,"station_id":84365,"station_item_id":697018},{"location_item_id":705056,"location_id":84365,"device_id":222077,"item":"diagnostics","station_id":84365,"station_item_id":705056},{"location_item_id":705057,"location_id":84365,"device_id":222078,"item":"diagnostics","station_id":84365,"station_item_id":705057},{"location_item_id":697020,"location_id":84365,"device_id":222078,"item":"light","sort":5,"station_id":84365,"station_item_id":697020},{"location_item_id":697017,"location_id":84365,"device_id":222078,"item":"lightning","sort":2,"station_id":84365,"station_item_id":697017},{"location_item_id":697019,"location_id":84365,"device_id":222078,"item":"rain","sort":4,"station_id":84365,"station_item_id":697019},{"location_item_id":697021,"location_id":84365,"device_id":222078,"item":"wind","sort":3,"station_id":84365,"station_item_id":697021}],"is_local_mode":false}],"status":{"status_code":0,"status_message":"SUCCESS"}}
dev:14512022-12-20 20:15:22.300traceOutdoor Weather Station - Raw response: {"stations":[{"location_id":84365,"station_id":84365,"name":"2232 S Hwy 94","public_name":"S Missouri 94","latitude":38.65117,"longitude":-90.76553,"timezone":"America/Chicago","timezone_offset_minutes":-360,"station_meta":{"share_with_wf":true,"share_with_wu":true,"elevation":156.85528564453125},"last_modified_epoch":1669082449,"created_epoch":1664203456,"devices":[{"device_id":222077,"serial_number":"HB-00105528","device_meta":{"agl":1.8288,"name":"HB-00105528","environment":"indoor","wifi_network_name":""},"device_type":"HB","hardware_revision":"1","firmware_revision":"177"},{"device_id":222078,"serial_number":"ST-00090901","device_meta":{"agl":1.8288,"name":"2232 Garage Roof","environment":"outdoor","wifi_network_name":""},"device_settings":{"show_precip_final":true},"device_type":"ST","hardware_revision":"1","firmware_revision":"172"}],"station_items":[{"location_item_id":697016,"location_id":84365,"device_id":222078,"item":"air_temperature_humidity","sort":0,"station_id":84365,"station_item_id":697016},{"location_item_id":697018,"location_id":84365,"device_id":222078,"item":"barometric_pressure","sort":1,"station_id":84365,"station_item_id":697018},{"location_item_id":705056,"location_id":84365,"device_id":222077,"item":"diagnostics","station_id":84365,"station_item_id":705056},{"location_item_id":705057,"location_id":84365,"device_id":222078,"item":"diagnostics","station_id":84365,"station_item_id":705057},{"location_item_id":697020,"location_id":84365,"device_id":222078,"item":"light","sort":5,"station_id":84365,"station_item_id":697020},{"location_item_id":697017,"location_id":84365,"device_id":222078,"item":"lightning","sort":2,"station_id":84365,"station_item_id":697017},{"location_item_id":697019,"location_id":84365,"device_id":222078,"item":"rain","sort":4,"station_id":84365,"station_item_id":697019},{"location_item_id":697021,"location_id":84365,"device_id":222078,"item":"wind","sort":3,"station_id":84365,"station_item_id":697021}],"is_local_mode":false}],"status":{"status_code":0,"status_message":"SUCCESS"}}

Thanks for bringing this to my attention. Apparently WeatherFlow changed the API... you can no longer query a hub as a device, it returns the 500 error and no data, even on their test API. Why they did this, and when, I am not sure. The rest of the observation data and such is being pulled in fine so it is OK. The hub did not actually HAVE any real observation data it just had it's own status information which I posted to a device in case anyone was curious... so it really is no loss from the weather side of things.

I will work at a fix this evening and should have it posted tonight.

3 Likes

Updated Version(s):

  • WeatherFlow.groovy = 0.4.8

Change(s):

  • If a device is reported in the station data as a Hub "HB" the driver will no longer attempt to request specific information about that device. Previously this returned some basic device data but no weather-related information at all. It was more included for "completeness" sake and to simply run through all the devices data was returned for. However, as @ckamps noted, at some point WeatherFlow appears to have removed this data from their API and calls for such devices just return a generic error. Since there was little-to-no value in the data anyways I have just removed the request from happening. Thanks to @ckamps for letting me know. I did not find any notes about it on WeatherFlow's API information, but that is not unusual in my experience.
4 Likes

I usually watch their forums and it's been really quite about any api changes there also.

It has been a long time since I posted about the child driver WeatherSensorChild. This is shared among a few different projects of mine and I have made a number of version changes since the last time I posted about it here (related to another weather project) so here is the latest rundown:

Updated Version(s):

  • WeatherSensorChild.groovy = 0.8.13

Change(s):

  • Added a daily schedule for driver update checking. This is the main change that occurred recently. It was brought to my attention that the daily check for this child driver was not scheduled, unlike pretty much every single other driver I have. This checks daily to let the user know if the device driver is the latest version via the "Driver Status" event. It DOES NOT update itself. The check is scheduled when a new device is added or the user does Save Preferences on the child device.
  • Added handling for forced event notifications
  • Additional Air Quality attributes
  • Fixed copy/paste error that removed a number of attributes
  • Added command allowing state variables to be cleared
  • Additional attributes added and corrected 24hr typo on some attributes
  • Added attributes for AQI with 24hr average
  • Additional attributes for air quality sensors
5 Likes

@snell So redoing one of my rules to use your driver instead of Weatherflow lite I found if I use custom attribute as a trigger and then pick precipitation type I get a comparison with nothing else...

Whereas when I wes using WFL I actually got the types...

You mean how that one has the "none", "rain", "hail", etc... listed? That is because WeatherFlow Lite has that attribute as an enum with only those options.

My PrecipitationType attribute is a number (0 to 3, in the same order as the string list below), same as what the API actually returns. There is a related string attribute "PrecipitationTypeString" that provides it as a string value. But it is not an enum (so the comparison would have to be to a string value). So in reality the 4 possible options are (matching the API listing):

  • none
  • rain
  • hail
  • rain + hail

One of those little differences between similar drivers. :slight_smile:

1 Like

This is just what I was looking for and hoping for - Thank you @snell

OK, I'm a newbie that is trying to migrate from Smartthings to Hubitat. I've successfully installed and used several other virtual devices from other developers. For some reason, I can't get this Tempest device to work. I did get the personal use token from Weatherflow. Any ideas of what I should look at? I'm sure I've missed something simple. From what I have read, this is a great App that does just what I need. It will be a part of my PowerWall/Ecobee home automation. Thank you in advance for any help you can provide. I've spent about 6 hours trying to trouble shoot this. A screen shot of a working preferences page would help.

Hi - not a super sleuth- but did you put in the correct station ID? And the correct token, letter case included and dashes? Any error messages? by the way- welcome aboard....

Thank you for the quick response. I cut and pasted the Personal Use Token. I just confirmed it is correct. The station ID has the format of ST-xxxxxxxx (8 digits, correct?).

No that's the station name code. It's not very intuitive but the station ID can be found by scrolling to the bottom of the weather forecast page on the Tempest app and clicking the green "Online" icon:

That will display a status page that among other things will show the station ID. On my Tempest status page the station ID is a 5 digit number.

EDIT: You can also get to the status page from the app via Settings->Stations->[YOUR STATION NAME]->Status

2 Likes