Difference between revisions of "$twcweather.alerts"

From webCoRE Wiki - Web-enabled Community's own Rule Engine
Jump to: navigation, search
m
m
 
(499 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
<!--T:1-->
 
<!--T:1-->
This page is currently under constructionI would wait a day or two before using the data found below.
+
As of February 20th, we have been unable to locate an "official" document listing the weather alerts available to SmartThings, with complete syntax and responsesSince most of us would rather not have to wait for that documentation to start programming, a bunch of us have been gathering data the old fashioned way, and combining our findings on this page.
  
As of Aug 4th, I have been unable to locate an official document for the weather alerts, so we have been gathering data the old fashioned way, and combining our findings on this page.  If you get a unique alert in your location, you can contribute your observations in [https://community.webcore.co/t/webcore-update-v0-3-10a-20190223-adds-twcweather-to-replace-discontinued-weather-bug-fixes/11374/104?u=wcmore this thread].
+
If you see a unique alert for your location, please contribute your observations in [https://community.webcore.co/t/twcweather-alerts-observations/13504?u=wcmore this thread], and I will keep the wiki updated.
 +
 
 +
If you are interested in standard weather data that is '''not''' an alert, try: [[TWC_Weather|TWC Weather]].
  
 
<div id="TableOfContents"></div>
 
<div id="TableOfContents"></div>
Line 8: Line 10:
 
== Introduction ==
 
== Introduction ==
  
It appears that many of the codes go hand in hand with each other, so the format on this page is a bit different than the [[TWC_Weather]] page. For the most part, the "unknown" dataPoints are listed first, so they get the most exposure.  These will be followed by the dataPoints that are likely the most useful.  The final catagory will be dataPoints that rarely change.
+
Everything on this page focuses on <code>$twcweather.alerts</code>.  This query will usually return [] unless there is an alert for your location.  When that happens, up to 62 different dataPoints may be returned.  Every one of them begins with <code>$twcweather.alerts</code> followed by a period, and ending with the dataPoint listed below.  (such as: <code>$twcweather.alerts.eventDescription</code>)  There are a couple of tables below that got a bit crowded, so some of them will not list the beginning portion, but it is important to remember that every single command on this page begins with '''$twcweather.alerts.'''
 +
 
 +
=== Accessing the data ===
 +
 
 +
It is unfortunate, but a weather alert cannot be used as a trigger.  To get alerts for your area, you can program a piston to periodically make a query.  (mine is set to run every 15 minutes, but other triggers can work as well, such as right before you go to work)  Please program strategically so we don't hammer the weather server too frequently.  Any more often than 4 times an hour is a waste of resources and pointless for alerts.  We don't want to encourage SmartThings to start charging us for this data.  (since they are billed for each query)
 +
 
 +
=== Legend ===
 +
 
 +
Here is a quick list to show what each color represents on this page...
 +
 
 +
{| class="mw-datatable"
 +
|-
 +
! Headers for each table
 +
|-
 +
{| class="wikitable" style="color:darkred; background-color:#FEE7E6;" cellpadding="12"
 +
| Warnings / Reminders
 +
|-
 +
{| class="wikitable" style="color:green; background-color:#ffffcc;" cellpadding="12"
 +
| style="color:green; background-color:#ffffcc;" | <code>Duplicates</code>
 +
|}
 +
|-
 +
{| class="wikitable" style="color:green; background-color:#FFD366;" cellpadding="12"
 +
| style="color:green; background-color:#FFD366;" | <code>Code found in a 2016 document that needs to be verified</code>
 +
|}
 +
 
 +
-------
 +
 
 +
For the most part, the [[$twcweather.alerts#Needs_More_Information_Gathered|"unknown dataPoints"]] are listed first, so they get the most exposure & hopefully more contributions.  These will be followed by the dataPoints that are likely the [[$twcweather.alerts#Important_and_Useful|most useful]], and the occasional [[$twcweather.alerts#Flood|flood dataPoints]].  The final category will be the dataPoints that are probably the [[$twcweather.alerts#Not_Very_Useful|least useful]].
 +
 
 +
 
 +
.
  
 
== Needs More Information Gathered ==
 
== Needs More Information Gathered ==
 +
 +
We really need more data responses for this section.  Please add any unique observations to [https://community.webcore.co/t/twcweather-alerts-observations/13504?u=wcmore this thread].
 +
 +
=== Unknown dataPoints ===
  
 
{| class="mw-datatable"
 
{| class="mw-datatable"
Line 17: Line 53:
 
! Sample value
 
! Sample value
 
! Notes
 
! Notes
|-
 
| <code>$twcweather.alerts.areaTypeCode</code>
 
| <code>"Z", "C"</code>
 
| Returns "Z" 80% of the time
 
|-
 
| <code>$twcweather.alerts.categories.category</code>
 
| <code>"Met"</code>
 
| Metropolis??
 
|-
 
| <code>$twcweather.alerts.categories.categoryCode</code>
 
| <code>"1"</code>
 
| ??
 
|-
 
| <code>$twcweather.alerts.significance</code>
 
| <code>"A", "S", "W", "Y"</code>
 
| ??
 
 
|-
 
|-
 
| <code>$twcweather.alerts.disclaimer</code>
 
| <code>$twcweather.alerts.disclaimer</code>
 
| <code>null</code>
 
| <code>null</code>
| ??
+
| Disclaimer for data
 
|-
 
|-
 
| <code>$twcweather.alerts.eventTrackingNumber</code>
 
| <code>$twcweather.alerts.eventTrackingNumber</code>
 
| <code>0003</code>
 
| <code>0003</code>
| ??
+
| 4 digit number or a checksum
 
|-
 
|-
 
|}
 
|}
  
== $twcweather.alerts.flood ==
+
=== Unverified dataPoints ===
  
The dataPoint "flood" is usually null, but when there is an alert for possible flooding, then all of these dataPoints will appear:
+
The following responses are not returned with <code>$twcweather.alerts</code>, but there is a chance that they exist if a direct query is made.  Further testing is required. 
  
 
{| class="mw-datatable"
 
{| class="mw-datatable"
 
|-
 
|-
! Expression
+
! (Unverified) Expression
! Sample value
+
! (Unverified) Sample value
 
! Notes
 
! Notes
 
|-
 
|-
| <code>$twcweather.alerts.flood.floodCrestTimeLocal</code>
+
| <code>??.synopsis</code>
| <code>null</code>
+
| style="color:green; background-color:#FFD366;" | <code>null</code>
| ??
+
| (Brief summary)
|-
 
| <code>$twcweather.alerts.flood.floodCrestTimeLocalTimeZone</code>
 
| <code>null</code>
 
| ??
 
 
|-
 
|-
| <code>$twcweather.alerts.flood.floodEndTimeLocal</code>
+
| <code>??.texts.description</code>
| <code>null</code>
+
| style="color:black; background-color:#FFD366;" | "...Flood Warning extended until Monday morning...The Flood Warning\ncontinues for the Guadalupe River Near Bloomington.\n* until Monday morning...or until the warning is cancelled.\n* At  8:00 AM Friday the stage was 25.2 feet.\n* Moderate flooding is occurring and Moderate flooding is forecast.\n* Flood stage is 20.0 feet.\n* Forecast: The river has crested overnight and will continue to fall\nand is expected to go below flood stage by Sunday afternoon.\n* At 26.0 feet Irrigation and oil well pumps, tank batteries, and\nequipment in the lower flood plain below Victoria flood. Livestock\nare cut off, may have to be fed by boat, and could drown. Homes\ndownstream above Highway 35 on the left bank are cut off.\n\n&&\n\nBelow are the latest river stages and stage forecasts:\n\nFLD LATEST              FORECAST 6 AM LST\nLOCATION              STG  STG  DAY  TIME  Sat  Sun  Mon  Tue  Wed\n\nGuadalupe River\nBloomington          20  25.2 Fri 08 AM  23.8 21.1 18.7 17.8 17.6\n\n&&\n\n\n"
 
| ??
 
| ??
 
|-
 
|-
| <code>$twcweather.alerts.flood.floodEndTimeLocalTimeZone</code>
+
| <code>??.texts.instruction</code>
| <code>null</code>
+
| style="color:green; background-color:#FFD366;" | <code>null</code>
 
| ??
 
| ??
 
|-
 
|-
| <code>$twcweather.alerts.flood.floodImmediateCause</code>
+
| <code>??.texts.languageCode</code>
| <code>"Excessive Rainfall"</code>
+
| style="color:green; background-color:#FFD366;" | <code>en-US</code>
| Needs more examples
 
|-
 
| <code>$twcweather.alerts.flood.floodImmediateCauseCode</code>
 
| <code>"ER"</code>
 
| Needs more examples
 
|-
 
| <code>$twcweather.alerts.flood.floodLocationId</code>
 
| <code>00000, AFBI2</code>
 
 
| ??
 
| ??
 
|-
 
|-
| <code>$twcweather.alerts.flood.floodLocationName</code>
+
| <code>??.texts.overview</code>
| <code>"N/A", "White River at Apache Tailwater"</code>
+
| style="color:black; background-color:#FFD366;" | "...The Flood Warning continues for the following river in Texas...\n\nGuadalupe River Near Bloomington affecting Calhoun...Refugio and\nVictoria Counties\n\n.Recent rainfall upstream and over the area will keep the aforementioned\nriver above flood stage for the next few days.\n\nPRECAUTIONARY/PREPAREDNESS ACTIONS...\n\nStay tuned to NOAA Weather Radio, local TV and radio\nstations, or cable TV outlets, for the latest weather\ninformation, as additional rainfall could affect crest\nforecasts.\n\nFor the latest river stages and forecasts visit our AHPS page at:\nhttp://water.weather.gov/ahps2/index.php?wfo=crp\n\n&&\n\n"
| ??
 
|-
 
| <code>$twcweather.alerts.flood.floodRecordStatus</code>
 
| <code>"N/A"</code>
 
| ??
 
|-
 
| <code>$twcweather.alerts.flood.floodRecordStatusCode</code>
 
| <code>"OO"</code>
 
| ??
 
|-
 
| <code>$twcweather.alerts.flood.floodSeverity</code>
 
| <code>"None"</code>
 
| ??
 
|-
 
| <code>$twcweather.alerts.flood.floodSeverityCode</code>
 
| <code>"N"</code>
 
| ??
 
|-
 
| <code>$twcweather.alerts.flood.floodStartTimeLocal</code>
 
| <code>null</code>
 
| ??
 
|-
 
| <code>$twcweather.alerts.flood.floodStartTimeLocalTimeZone</code>
 
| <code>null</code>
 
 
| ??
 
| ??
 
|-
 
|-
 
|}
 
|}
  
== Important Alerts ==
+
I recommend testing these commands shortly after you receive a weather alert, and share your findings [https://community.webcore.co/t/twcweather-alerts-observations/13504?u=wcmore here].
 +
 
 +
* $twcweather.alerts.details
 +
* $twcweather.alerts.details.class
 +
* $twcweather.alerts.details.phenomena
 +
* $twcweather.alerts.details.disclaimer
 +
* $twcweather.alerts.details.text
 +
* $twcweather.alerts.details.text.description
 +
* $twcweather.alerts.details.text.instruction
 +
* $twcweather.alerts.details.text.overview
 +
 
 +
(They should return [] if there is no alert for your area)
 +
 
 +
These last three (if they work) will be incredibly valuable to our programming…
 +
 
 +
----
 +
 
 +
So far, we have testing (''and failed'') with:
 +
 
 +
[[File:AlertFailures.jpg|none]]
 +
 
 +
 
 +
.
 +
 
 +
== Important and Useful ==
 +
 
 +
Most of our coding will likely use the data found in this section.<br />
 +
If you discovery any data not listed here, please [https://community.webcore.co/t/twcweather-alerts-observations/13504?u=wcmore let us know here].
 +
 
 +
=== Alerts ===
 +
 
 +
It appears that these next 5 dataPoints are mostly connected, so this table is shown a bit differently than the above tables.<br />
 +
To conserve space, the first three columns are marked with numbers that align with:
  
It appears that these 5 dataPoints are connected, so this table is shown a bit differently than the above tables. To conserve space, the first three columns are marked with numbers that match this:
+
# <code>phenomena</code>  (Phenomena code of an event)
 +
# <code>productIdentifier</code>  (Refer Inbound PIL/Event Tab)
 +
# <code>eventTrackingNumber</code>  (4 digit number or a checksum)
 +
''NOTE:  No patterns have been seen for <code>eventTrackingNumber</code> yet... What is this number '''really'''??''
  
# phenomena
+
{| class="wikitable" style="color:darkred; background-color:#FEE7E6;" cellpadding="10"
# productIdentifier
+
|Each dataPoint below '''must''' begin with <code>$twcweather.alerts.</code>  (Such as: <code>$twcweather.alerts.phenomena</code>)
# eventTrackingNumber
+
|}
  
 
{| class="mw-datatable"
 
{| class="mw-datatable"
Line 127: Line 146:
 
! eventDescription
 
! eventDescription
 
! headlineText
 
! headlineText
 +
! Notes
 +
|-
 +
| <code>TAW</code>
 +
| <code>AWW</code>
 +
| <code>0000</code>
 +
| <code>Airport Weather Warning</code>
 +
| <code>Airport Weather Warning until FRI 2:15 PM CDT</code>
 +
|
 +
|-
 +
| <code>TAQ</code>
 +
| <code>AQA</code>
 +
| <code>0000</code>
 +
| <code>Air Quality Alert</code>
 +
| <code>Air Quality Alert until THU 11:00 PM EDT</code>
 +
|
 +
|-
 +
| <code>BH</code>
 +
| <code>CFW</code>
 +
| <code>0014</code>
 +
| <code>Beach Hazard Statement</code>
 +
| <code>Beach Hazard Statement from SAT 10:00 AM EDT until SAT 10:00 PM EDT</code>
 +
|
 +
|-
 +
| <code>TCA</code>
 +
| <code>CAE</code>
 +
| <code>0000</code>
 +
| <code>Child Abduction Emergency</code>
 +
| <code>Child Abduction Emergency until FRI 9:59 PM EDT</code>
 +
|
 +
|-
 +
| <code>TCE</code>
 +
| <code>CEM</code>
 +
| <code>0000</code>
 +
| <code>Civil Emergency Message</code>
 +
| <code>Civil Emergency Message until WED 7:15 PM EDT</code>
 +
|
 +
|-
 +
| <code>CF</code>
 +
| <code>CFW</code>
 +
| <code>0002</code>
 +
| <code>Coastal Flood Advisory</code>
 +
| <code>Coastal Flood Advisory from SAT 5:00 AM EST until SAT 8:00 AM EST</code>
 +
|
 
|-
 
|-
 
| <code>CF</code>
 
| <code>CF</code>
Line 133: Line 195:
 
| <code>Coastal Flood Statement</code>
 
| <code>Coastal Flood Statement</code>
 
| <code>Coastal Flood Statement from FRI 8:00 PM EDT until SAT 12:00 AM EDT</code>
 
| <code>Coastal Flood Statement from FRI 8:00 PM EDT until SAT 12:00 AM EDT</code>
 +
|
 +
|-
 +
| <code>CF</code>
 +
| <code>CFW</code>
 +
| <code>0001</code>
 +
| <code>Coastal Flood Warning</code>
 +
| <code>Coastal Flood Warning from TUE 8:00 PM EDT until WED 1:00 AM EDT</code>
 +
|
 +
|-
 +
| <code>CF</code>
 +
| <code>CFW</code>
 +
| <code>0002</code>
 +
| <code>Coastal Flood Watch</code>
 +
| <code>Coastal Flood Watch from TUE 8:00 PM EDT until WED 2:00 AM EDT</code>
 +
|
 +
|-
 +
| <code>FG, MF</code>
 +
| <code>MWW, NPW</code>
 +
| <code>0003, 0007, 0009</code>
 +
| <code>Dense Fog Advisory</code>
 +
| <code>Dense Fog Advisory from SAT 5:40 AM EDT until SAT 10:00 AM EDT</code>
 +
|
 +
|-
 +
| <code>EH</code>
 +
| <code>NPW</code>
 +
| <code>0002</code>
 +
| <code>Excessive Heat Warning</code>
 +
| <code>Excessive Heat Warning from THU 11:00 AM EDT until THU 8:00 PM EDT</code>
 +
|
 +
|-
 +
| <code>EH</code>
 +
| <code>NPW</code>
 +
| <code>0002</code>
 +
| <code>Excessive Heat Watch</code>
 +
| <code>Excessive Heat Watch from FRI 1:00 PM EDT until FRI 8:00 PM EDT</code>
 +
|
 +
|-
 +
| <code>FF</code>
 +
| <code>FFW</code>
 +
| <code>0076</code>
 +
| <code>Flash Flood Warning</code>
 +
| <code>Flash Flood Warning from WED 7:47 PM CDT until WED 11:45 PM CDT</code>
 +
|
 +
|-
 +
| <code>FF</code>
 +
| <code>FFA</code>
 +
| <code>1, 0001, 0015</code>
 +
| <code>Flash Flood Watch</code>
 +
| <code>Flash Flood Watch until WED 9:00 PM AST</code>
 +
|
 
|-
 
|-
 
| <code>FA</code>
 
| <code>FA</code>
 
| <code>FLS</code>
 
| <code>FLS</code>
| <code>0156</code>
+
| <code>0090, 0156, 0169</code>
 
| <code>Flood Advisory</code>
 
| <code>Flood Advisory</code>
 
| <code>Flood Advisory from THU 5:21 PM EDT until THU 7:15 PM EDT</code>
 
| <code>Flood Advisory from THU 5:21 PM EDT until THU 7:15 PM EDT</code>
 +
|
 +
|-
 +
| <code>FA</code>
 +
| <code>FLW</code>
 +
| <code>0011</code>
 +
| <code>Flood Warning</code>
 +
| <code>Flood Warning from THU 9:03 AM EST until THU 3:00 PM EST</code>
 +
|
 +
|-
 +
| style="color:darkred; background-color:#FEE7E6;" | <code>??</code>
 +
| style="color:darkred; background-color:#FEE7E6;" | <code>???</code>
 +
| <code>0004</code>
 +
| <code>Flood Watch</code>
 +
| <code>Flood Watch until TUE 7:00 AM EST</code>
 +
| style="color:darkred; background-color:#FEE7E6;" | <code>Needs more info</code>
 
|-
 
|-
| <code>FF</code>
+
| <code>FZ</code>
| <code>FFA</code>
+
| <code>NPW</code>
| <code>1</code>
+
| <code>0003</code>
| <code>Flash Flood Watch</code>
+
| <code>Freeze Warning</code>
| <code>Flash Flood Watch until WED 9:00 PM AST</code>
+
| <code>Freeze Warning from FRI 2:00 AM EDT until FRI 10:00 AM EDT</code>
 +
|
 +
|-
 +
| <code>FZ</code>
 +
| <code>NPW</code>
 +
| <code>0001</code>
 +
| <code>Freeze Watch</code>
 +
| <code>Freeze Watch from FRI 12:00 AM EDT until FRI 8:00 AM EDT</code>
 +
|
 +
|-
 +
| <code>ZF</code>
 +
| <code>NPW</code>
 +
| <code>0002</code>
 +
| <code>Freezing Fog Advisory</code>
 +
| <code>Freezing Fog Advisory from SUN 2:33 AM EST until SUN 10:00 AM EST</code>
 +
|
 +
|-
 +
| <code>FR</code>
 +
| <code>NPW</code>
 +
| <code>0002, 0003</code>
 +
| <code>Frost Advisory</code>
 +
| <code>Frost Advisory until FRI 9:00 AM EDT</code>
 +
|
 +
|-
 +
| <code>GL</code>
 +
| <code>MWW</code>
 +
| <code>0005, 0010, 0024</code>
 +
| <code>Gale Warning</code>
 +
| <code>Gale Warning from TUE 10:26 AM EST until WED 6:00 AM EST</code>
 +
|
 +
|-
 +
| <code>GL</code>
 +
| <code>MWW</code>
 +
| <code>0023, 0030</code>
 +
| <code>Gale Watch</code>
 +
| <code>Gale Watch from WED 6:00 PM EST until THU 6:00 AM EST</code>
 +
|
 
|-
 
|-
| <code>FG</code>
+
| <code>HT</code>
 
| <code>NPW</code>
 
| <code>NPW</code>
 
| <code>0003</code>
 
| <code>0003</code>
| <code>Dense Fog Advisory</code>
+
| <code>Heat Advisory</code>
| <code>Dense Fog Advisory from SAT 5:40 AM EDT until SAT 10:00 AM EDT</code>
+
| <code>Heat Advisory from TUE 10:00 AM EDT until TUE 9:00 PM EDT</code>
 +
|
 +
|-
 +
| <code>UP</code>
 +
| <code>MWW</code>
 +
| <code>0001</code>
 +
| <code>Heavy Freezing Spray Advisory</code>
 +
| <code>Heavy Freezing Spray Advisory from FRI 7:00 AM EST until FRI 3:00 PM EST</code>
 +
|
 +
|-
 +
| <code>SU</code>
 +
| <code>CFW</code>
 +
| <code>0001, 0003</code>
 +
| <code>High Surf Advisory</code>
 +
| <code>High Surf Advisory from TUE 8:00 AM EDT until WED 6:00 AM EDT</code>
 +
|
 +
|-
 +
| <code>HW</code>
 +
| <code>NPW</code>
 +
| <code>0002</code>
 +
| <code>High Wind Warning</code>
 +
| <code>High Wind Warning from THU 3:09 PM EDT until FRI 6:00 AM EDT</code>
 +
|
 +
|-
 +
| <code>HW</code>
 +
| <code>NPW</code>
 +
| <code>0001</code>
 +
| <code>High Wind Watch</code>
 +
| <code>High Wind Watch from SUN 1:00 PM EST until MON 7:00 AM EST</code>
 +
|
 +
|-
 +
| <code>LW</code>
 +
| <code>NPW</code>
 +
| <code>0001</code>
 +
| <code>Lake Wind Advisory</code>
 +
| <code>Lake Wind Advisory from SAT 8:58 AM EST until SAT 7:00 PM EST</code>
 +
|
 +
|-
 +
| <code>LO</code>
 +
| <code>MWW</code>
 +
| <code>0001</code>
 +
| <code>Low Water Advisory</code>
 +
| <code>Low Water Advisory from TUE 5:32 AM EST until TUE 10:00 PM EST</code>
 +
|
 +
|-
 +
| <code>MA</code>
 +
| <code>MWS</code>
 +
| <code>1</code>
 +
| <code>Marine Weather Statement</code>
 +
| <code>Marine Weather Statement until TUE 2:30 PM AST</code>
 +
|
 +
|-
 +
| <code>FW</code>
 +
| <code>RFW</code>
 +
| <code>0001</code>
 +
| <code>Red Flag Warning</code>
 +
| <code>Red Flag Warning from SAT 12:00 PM EST until SAT 7:00 PM EST</code>
 +
| [https://www.weather.gov/bou/RFW_Definitions Potential Fire]
 +
|-
 +
| <code>RP</code>
 +
| <code>CFW</code>
 +
| <code>0005, 0015</code>
 +
| <code>Rip Current Statement</code>
 +
| <code>Rip Current Statement from TUE 6:00 AM EDT until TUE 9:00 PM EDT</code>
 +
|
 +
|-
 +
| <code>RP</code>
 +
| <code>CFW</code>
 +
| <code>0008, 0010</code>
 +
| <code>Rip Tide Statement</code>
 +
| <code>Rip Tide Statement from WED 6:00 AM EDT until WED 9:00 PM EDT</code>
 +
|
 
|-
 
|-
 
| <code>FL</code>
 
| <code>FL</code>
Line 157: Line 391:
 
| <code>River Flood Advisory</code>
 
| <code>River Flood Advisory</code>
 
| <code>River Flood Advisory until SUN 7:00 AM CDT</code>
 
| <code>River Flood Advisory until SUN 7:00 AM CDT</code>
 +
|
 
|-
 
|-
| <code>HT</code>
+
| <code>FL</code>
| <code>NPW</code>
+
| <code>FLS, FLW</code>
| <code>0003</code>
+
| <code>0016</code>
| <code>Heat Advisory</code>
+
| <code>River Flood Warning</code>
| <code>Heat Advisory from TUE 10:00 AM EDT until TUE 9:00 PM EDT</code>
+
| <code>River Flood Warning until FRI 8:00 PM EDT</code>
 +
|
 
|-
 
|-
 
| <code>SV</code>
 
| <code>SV</code>
| <code>SVR</code>
+
| <code>SVR, SVS</code>
| <code>0106</code>
+
| <code>0024, 0030, 0106, 0333</code>
 
| <code>Severe Thunderstorm Warning</code>
 
| <code>Severe Thunderstorm Warning</code>
 
| <code>Severe Thunderstorm Warning from WED 6:14 PM CDT until WED 6:45 PM CDT</code>
 
| <code>Severe Thunderstorm Warning from WED 6:14 PM CDT until WED 6:45 PM CDT</code>
 +
|
 
|-
 
|-
 
| <code>SV</code>
 
| <code>SV</code>
 
| <code>WCN</code>
 
| <code>WCN</code>
| <code>0547</code>
+
| <code>0094, 0547</code>
| <code>Severe Thunderstorm Watch</code>
+
| style="color:green; background-color:#ffffcc;" | <code>Severe Thunderstorm Watch</code>
 
| <code>Severe Thunderstorm Watch until WED 9:00 PM EDT</code>
 
| <code>Severe Thunderstorm Watch until WED 9:00 PM EDT</code>
 +
| US
 
|-
 
|-
| <code>TAW</code>
+
| <code>thunderstorm</code>
| <code>AWW</code>
+
| <code>ECA</code>
 
| <code>0000</code>
 
| <code>0000</code>
| <code>Airport Weather Warning</code>
+
| style="color:green; background-color:#ffffcc;" | <code>Severe Thunderstorm Watch</code>
| <code>Airport Weather Warning until FRI 2:15 PM CDT</code>
+
| <code>Severe Thunderstorm Watch is in effect</code>
 +
| Canada
 
|-
 
|-
 
| <code>TSG</code>
 
| <code>TSG</code>
Line 187: Line 426:
 
| <code>Significant Weather Advisory</code>
 
| <code>Significant Weather Advisory</code>
 
| <code>Significant Weather Advisory until FRI 4:15 PM EDT</code>
 
| <code>Significant Weather Advisory until FRI 4:15 PM EDT</code>
 +
|
 +
|-
 +
| <code>SC</code>
 +
| <code>MWW</code>
 +
| <code>0062, 0093</code>
 +
| <code>Small Craft Advisory</code>
 +
| <code>Small Craft Advisory from MON 3:36 PM EDT until TUE 6:00 PM EDT</code>
 +
|
 +
|-
 +
| <code>SQ</code>
 +
| <code>SQW</code>
 +
| <code>0005</code>
 +
| <code>Snow Squall Warning</code>
 +
| <code>Snow Squall Warning until SAT 3:45 PM EST</code>
 +
|
 +
|-
 +
| <code>MA</code>
 +
| <code>SMW</code>
 +
| <code>0005</code>
 +
| <code>Special Marine Warning</code>
 +
| <code>Special Marine Warning from TUE 10:34 PM EST until TUE 11:15 PM EST</code>
 +
|
 +
|-
 +
| <code>TSL</code>
 +
| <code>SPS</code>
 +
| <code>0000</code>
 +
| <code>Special Weather Statement</code>
 +
| <code>Special Weather Statement until SUN 9:00 AM CDT</code>
 +
| Is there Alt data for column 1 & 2?
 +
|-
 +
| <code>SS</code>
 +
| <code>TCV</code>
 +
| <code>1008</code>
 +
| <code>Storm Surge Watch</code>
 +
| <code>Storm Surge Watch is in effect</code>
 +
|
 +
|-
 +
| <code>SR</code>
 +
| <code>MWW</code>
 +
| <code>0001</code>
 +
| <code>Storm Watch</code>
 +
| <code>Storm Watch from MON 6:00 AM EDT until MON 6:00 PM EDT</code>
 +
|
 +
|-
 +
| <code>TO</code>
 +
| <code>TOR</code>
 +
| <code>0001, 0006</code>
 +
| <code>Tornado Warning</code>
 +
| <code>Tornado Warning from TUE 4:35 AM EST until TUE 5:00 AM EST</code>
 +
|
 +
|-
 +
| <code>TO</code>
 +
| <code>WCN</code>
 +
| <code>0015</code>
 +
| <code>Tornado Watch</code>
 +
| <code>Tornado Watch until SAT 9:00 PM EST</code>
 +
|
 +
|-
 +
| <code>TR</code>
 +
| <code>MWW, TCV</code>
 +
| <code>1006, 1008, 1009</code>
 +
| <code>Tropical Storm Warning</code>
 +
| <code>Tropical Storm Warning is in effect</code>
 +
|
 +
|-
 +
| <code>TR</code>
 +
| <code>TCV</code>
 +
| <code>1005</code>
 +
| <code>Tropical Storm Watch</code>
 +
| <code>Tropical Storm Watch is in effect</code>
 +
|
 +
|-
 +
| <code>TTP</code>
 +
| <code>HLS</code>
 +
| <code>0000</code>
 +
| <code>Tropical Weather Statement</code>
 +
| <code>Tropical Weather Statement until TUE 4:15 AM AST</code>
 +
|
 +
|-
 +
| <code>WI</code>
 +
| <code>NPW</code>
 +
| <code>0002, 0003</code>
 +
| <code>Wind Advisory</code>
 +
| <code>Wind Advisory from SAT 10:00 AM EST until SUN 12:00 AM EST</code>
 +
|
 +
|-
 +
| style="color:darkred; background-color:#FEE7E6;" | <code>??</code>
 +
| style="color:darkred; background-color:#FEE7E6;" | <code>???</code>
 +
| <code>0001</code>
 +
| <code>Wind Chill Advisory</code>
 +
| <code>Wind Chill Advisory from TUE 10:00 PM EST until WED 9:00 AM EST</code>
 +
| style="color:darkred; background-color:#FEE7E6;" | <code>Needs more info</code>
 +
|-
 +
| <code>WS</code>
 +
| <code>WSW</code>
 +
| <code>0001</code>
 +
| <code>Winter Storm Warning</code>
 +
| <code>Winter Storm Warning from WED 2:00 PM EST until THU 1:00 PM EST</code>
 +
|
 +
|-
 +
| <code>WS</code>
 +
| <code>WSW</code>
 +
| <code>0001</code>
 +
| <code>Winter Storm Watch</code>
 +
| <code>Winter Storm Watch from WED 2:00 PM EST until THU 1:00 PM EST</code>
 +
|
 +
|-
 +
| <code>WW</code>
 +
| <code>WSW</code>
 +
| <code>0005, 0025, 0038</code>
 +
| <code>Winter Weather Advisory</code>
 +
| <code>Winter Weather Advisory from MON 4:00 PM EST until TUE 7:00 PM EST</code>
 +
|
 
|-
 
|-
 
|}
 
|}
  
== Important Descriptions ==
+
(the known "Sample values" are shown in the grey boxes above)
  
It appears that these dataPoints are paired up, so these tables are shown a bit differently than the above tables.
+
==== phenomena Patterns ====
 +
 
 +
Some of the results for <code>phenomena</code> (''shown above'') aligns with more than one <code>eventDescription</code>... Here is educated guesses as to their meaning:
 +
 
 +
{| class="mw-datatable"
 +
|-
 +
! phenomena
 +
! Likely?
 +
! Seen during
 +
|-
 +
| style="text-align:center;" | <code>CF</code>
 +
| <code>Coastal Flood?</code>
 +
| Coastal Flood Advisory, Coastal Flood Statement, Coastal Flood Warning, Coastal Flood Watch
 +
|-
 +
| style="text-align:center;" | <code>EH</code>
 +
| <code>Excessive Heat?</code>
 +
| Excessive Heat Warning, Excessive Heat Watch
 +
|-
 +
| style="text-align:center;" | <code>FA</code>
 +
| <code>Flood?</code>
 +
| Flood Advisory, Flood Warning
 +
|-
 +
| style="text-align:center;" | <code>FF</code>
 +
| <code>Flash Flood?</code>
 +
| Flash Flood Warning, Flash Flood Watch
 +
|-
 +
| style="text-align:center;" | <code>FL</code>
 +
| <code>River Flood?</code>
 +
| River Flood Advisory, River Flood Warning
 +
|-
 +
| style="text-align:center;" | <code>FZ</code>
 +
| <code>Freeze?</code>
 +
| Freeze Warning, Freeze Watch
 +
|-
 +
| style="text-align:center;" | <code>GL</code>
 +
| <code>Gale?</code>
 +
| Gale Warning, Gale Watch
 +
|-
 +
| style="text-align:center;" | <code>HW</code>
 +
| <code>High Winds?</code>
 +
| High Wind Warning, High Wind Watch
 +
|-
 +
| style="text-align:center;" | <code>MA</code>
 +
| <code>Marine?</code>
 +
| Marine Weather Statement, Special Marine Warning
 +
|-
 +
| style="text-align:center;" | <code>RP</code>
 +
| <code>Rip?</code>
 +
| Rip Current Statement, Rip Tide Statement
 +
|-
 +
| style="text-align:center;" | <code>SV</code>
 +
| <code>Severe Thunderstorm?</code>
 +
| Severe Thunderstorm Warning, Severe Thunderstorm Watch
 +
|-
 +
| style="text-align:center;" | <code>TO</code>
 +
| <code>Tornado?</code>
 +
| Tornado Warning, Tornado Watch
 +
|-
 +
| style="text-align:center;" | <code>TR</code>
 +
| <code>Tropical Storm?</code>
 +
| Tropical Storm Warning, Tropical Storm Watch
 +
|-
 +
| style="text-align:center;" | <code>WS</code>
 +
| <code>Winter Storm?</code>
 +
| Winter Storm Warning, Winter Storm Watch
 +
|-
 +
|}
 +
 
 +
==== productIdentifier Patterns ====
 +
 
 +
Some of the results for <code>productIdentifier</code> (''shown above'') aligns with more than one <code>eventDescription</code>... Here is educated guesses as to their meaning:
 +
 
 +
{| class="mw-datatable"
 +
|-
 +
! productIdentifier
 +
! Likely?
 +
! Seen during
 +
! Notes
 +
|-
 +
| style="text-align:center;" | <code>CFW</code>
 +
| <code>Coastal Flood Watch/Warning?</code>
 +
| Beach Hazard Statement, Coastal Flood Advisory, Coastal Flood Statement, Coastal Flood Warning, Coastal Flood Watch, High Surf Advisory, Rip Current Statement, Rip Tide Statement
 +
|
 +
|-
 +
| style="text-align:center;" | <code>FLS</code>
 +
| <code>Flood Statement?</code>
 +
| Flood Advisory, River Flood Advisory, River Flood Warning
 +
| RFW needs confirmation
 +
|-
 +
| style="text-align:center;" | <code>FLW</code>
 +
| <code>Flood Warning?</code>
 +
| Flood Warning, River Flood Warning
 +
| RFW needs confirmation
 +
|-
 +
| style="text-align:center;" | <code>MWW</code>
 +
| <code>Marine Weather Watch/Warning?</code>
 +
| Dense Fog Advisory, Gale Warning, Gale Watch, Heavy Freezing Spray Advisory, Low Water Advisory, Small Craft Advisory, Storm Watch, Tropical Storm Warning
 +
|
 +
|-
 +
| style="text-align:center;" | <code>NPW</code>
 +
| <code>Non-Precipitation Warning?</code>
 +
| Dense Fog Advisory, Excessive Heat Warning, Excessive Heat Watch, Freeze Warning, Freeze Watch, Freezing Fog Advisory, Frost Advisory, Heat Advisory, High Wind Warning, High Wind Watch, Lake Wind Advisory, Wind Advisory
 +
|
 +
|-
 +
| style="text-align:center;" | <code>SPS</code>
 +
| <code>Special Statement??</code>
 +
| Significant Weather Advisory, Special Weather Statement
 +
|
 +
|-
 +
| style="text-align:center;" | <code>TCV</code>
 +
| <code>Tropical Cyclone??</code>
 +
| Storm Surge Watch, Tropical Storm Warning, Tropical Storm Watch
 +
| [https://www.nhc.noaa.gov/tcv/ TCV] is estimated by zones, so the warning areas are approximate
 +
|-
 +
| style="text-align:center;" | <code>WCN</code>
 +
| <code>Watch County Notification?</code>
 +
| Severe Thunderstorm Watch, Tornado Watch
 +
|
 +
|-
 +
| style="text-align:center;" | <code>WSW</code>
 +
| <code>Winter?</code>
 +
| Winter Storm Warning, Winter Storm Watch, Winter Weather Advisory
 +
|
 +
|-
 +
|}
 +
 
 +
=== Descriptions ===
 +
 
 +
It appears that the following dataPoints are paired up, so this table is shown a bit differently than the above tables.
 +
 
 +
{| class="wikitable" style="color:darkred; background-color:#FEE7E6;" cellpadding="10"
 +
|Each dataPoint below '''must''' begin with <code>$twcweather.alerts.</code>  (Such as: <code>$twcweather.alerts.certaintyCode</code>)
 +
|}
  
 
{| class="mw-datatable"
 
{| class="mw-datatable"
Line 200: Line 684:
 
! Notes
 
! Notes
 
|-
 
|-
| <code>1</code>
+
| style="text-align:right;" | <code>1</code>
 
| <code>Observed</code>
 
| <code>Observed</code>
| ??
+
| Determined to have occurred or to be ongoing
 
|-
 
|-
| <code>2</code>
+
| style="text-align:right;" | <code>2</code>
 
| <code>Likely</code>
 
| <code>Likely</code>
| ??
+
| Likely (p > ~50%)
 
|-
 
|-
| <code>3</code>
+
| style="text-align:right;" | <code>3</code>
 
| <code>Possible</code>
 
| <code>Possible</code>
| ??
+
| Possible but not likely (p <= ~50%)
 
|-
 
|-
| <code>4?</code>
+
| style="text-align:right;" | (Likely never seen) -->  <code>4?</code>
| <code>??</code>
+
| style="color:green; background-color:#FFD366;" | <code>Unlikely</code>
| ??
+
| Not expected to occur (p ~ 0)
 
|-
 
|-
| <code>5</code>
+
| style="text-align:right;" | <code>5</code>
 
| <code>Unknown</code>
 
| <code>Unknown</code>
| ??
+
| Certainty unknown
 
|-
 
|-
 
! messageTypeCode
 
! messageTypeCode
Line 224: Line 708:
 
! Notes
 
! Notes
 
|-
 
|-
| <code>1</code>
+
| style="text-align:right;" | <code>1</code>
 
| <code>New</code>
 
| <code>New</code>
| ??
+
| Initial information
 
|-
 
|-
| <code>2</code>
+
| style="text-align:right;" | <code>2</code>
 
| <code>Update</code>
 
| <code>Update</code>
| ??
+
| Updates existing message
 +
|-
 +
| style="text-align:right;" | (Likely never seen) -->  <code>3?</code>
 +
| style="color:green; background-color:#FFD366;" | <code>Cancel</code>
 +
| Cancels the earlier message
 
|-
 
|-
 
! responseTypes.responseTypeCode
 
! responseTypes.responseTypeCode
Line 236: Line 724:
 
! Notes
 
! Notes
 
|-
 
|-
| <code>1</code>
+
| style="text-align:right;" | <code>1</code>
 
| <code>Shelter</code>
 
| <code>Shelter</code>
 +
| Take shelter in place or per instruction
 +
|-
 +
| style="text-align:right;" | (Hopefully never seen) -->  <code>2?</code>
 +
| style="color:green; background-color:#FFD366;" | <code>Evacuate</code>
 +
| Relocate as instructed in the instruction
 +
|-
 +
| style="text-align:right;" | <code>3</code>
 +
| <code>Prepare</code>
 +
| Make preparations per the instruction
 +
|-
 +
| style="text-align:right;" | <code>4</code>
 +
| <code>Execute</code>
 +
| Execute a pre-planned activity identified in instruction
 +
|-
 +
| style="text-align:right;" | <code>5</code>
 +
| <code>Avoid</code>
 +
| Avoid the subject event as per the instruction
 +
|-
 +
| style="text-align:right;" | <code>6</code>
 +
| <code>Monitor</code>
 +
| Attend to information sources as described in instruction
 +
|-
 +
| style="text-align:right;" | (Likely never seen) -->  <code>7?</code>
 +
| style="color:green; background-color:#FFD366;" | <code>Assess</code>
 +
| Evaluate the information in this message. (This value SHOULD NOT be used in public warning applications.)
 +
|-
 +
| style="text-align:right;" | (Likely never seen) -->  <code>8?</code>
 +
| style="color:green; background-color:#FFD366;" | <code>AllClear</code>
 +
| The subject event no longer poses a threat or concern and any follow on action is described in <instruction>
 +
|-
 +
| style="text-align:right;" | (Likely never seen) -->  <code>9?</code>
 +
| style="color:green; background-color:#FFD366;" | <code>None</code>
 +
| No action recommended
 +
|-
 +
! severityCode
 +
! severity
 +
! Notes
 +
|-
 +
| style="text-align:right;" | <code>1</code>
 +
| <code>Extreme</code>
 +
| Extraordinary threat to life or property
 +
|-
 +
| style="text-align:right;" | <code>2</code>
 +
| <code>Severe</code>
 +
| Significant threat to life or property
 +
|-
 +
| style="text-align:right;" | <code>3</code>
 +
| <code>Moderate</code>
 +
| Possible threat to life or property
 +
|-
 +
| style="text-align:right;" | <code>4</code>
 +
| <code>Minor</code>
 +
| Minimal to no known threat to life or property
 +
|-
 +
| style="text-align:right;" | <code>5?</code>
 +
| style="color:green; background-color:#FFD366;" | <code>Unknown</code>
 +
| Severity unknown
 +
|-
 +
! urgencyCode
 +
! urgency
 +
! Notes
 +
|-
 +
| style="text-align:right;" | <code>1</code>
 +
| <code>Immediate</code>
 +
| Responsive action SHOULD be taken immediately
 +
|-
 +
| style="text-align:right;" | <code>2</code>
 +
| <code>Expected</code>
 +
| Responsive action SHOULD be taken soon (within next hour)
 +
|-
 +
| style="text-align:right;" | <code>3</code>
 +
| <code>Future</code>
 +
| Responsive action SHOULD be taken in the near future
 +
|-
 +
| style="text-align:right;" | (Likely never seen) -->  <code>4?</code>
 +
| style="color:green; background-color:#FFD366;" | <code>Past</code>
 +
| Responsive action is no longer required
 +
|-
 +
| style="text-align:right;" | <code>5</code>
 +
| <code>Unknown</code>
 +
| Urgency not known
 +
|-
 +
|}
 +
 +
(the known "Sample values" are shown in the grey boxes above)
 +
 +
=== Significance ===
 +
 +
The code <code>$twcweather.alerts.significance</code> returns a single letter, as seen in the "Sample value" column below.<br />
 +
The second column contains educated guesses based on the alerts I have seen so far.
 +
 +
{| class="mw-datatable"
 +
|-
 +
! Sample value
 +
! Likely?
 +
! Seen during
 +
|-
 +
| style="text-align:center;" | <code>A</code>
 +
| <code>Watch</code>
 +
| Coastal Flood Watch, Excessive Heat Watch, Flash Flood Watch, Freeze Watch, Gale Watch, High Wind Watch, Severe Thunderstorm Watch, Storm Surge Watch, Storm Watch, Tornado Watch, Tropical Storm Watch, Winter Storm Watch
 +
|-
 +
| style="text-align:center;" | <code>B</code>
 +
| style="color:green; background-color:#FFD366;" | <code>Bulletin</code>
 +
| ??
 +
|-
 +
| style="text-align:center;" | <code>E</code>
 +
| style="color:green; background-color:#FFD366;" | <code>Extreme</code>
 +
| ??
 +
|-
 +
| style="text-align:center;" | <code>L</code>
 +
| <code>Local Alerts</code>
 +
| Air Quality Alert, Child Abduction Emergency
 +
|-
 +
| style="text-align:center;" | <code>M</code>
 +
| <code>Message</code>
 +
| Civil Emergency Message
 +
|-
 +
| style="text-align:center;" | <code>O</code>
 +
| style="color:green; background-color:#FFD366;" | <code>Outlook</code>
 +
| ??
 +
|-
 +
| style="text-align:center;" | <code>R</code>
 +
| style="color:green; background-color:#FFD366;" | <code>Report</code>
 +
| ??
 +
|-
 +
| style="text-align:center;" | <code>S</code>
 +
| <code>Statement</code>
 +
| Beach Hazard Statement, Coastal Flood Statement, Marine Weather Statement, Rip Current Statement, Rip Tide Statement, Special Weather Statement, Tropical Weather Statement
 +
|-
 +
| style="text-align:center;" | <code>W</code>
 +
| <code>Warning</code>
 +
| Airport Weather Warning, Coastal Flood Warning, Excessive Heat Warning, Flash Flood Warning, Flood Warning, Freeze Warning, Gale Warning, High Wind Warning, Red Flag Warning, River Flood Warning, Severe Thunderstorm Warning, Snow Squall Warning, Special Marine Warning, Tornado Warning, Tropical Storm Warning, Winter Storm Warning
 +
|-
 +
| style="text-align:center;" | <code>Y</code>
 +
| <code>Advisory</code>
 +
| Coastal Flood Advisory, Dense Fog Advisory, Flood Advisory, Freezing Fog Advisory, Frost Advisory, Heat Advisory, Heavy Freezing Spray Advisory, High Surf Advisory, Lake Wind Advisory, Low Water Advisory, River Flood Advisory, Significant Weather Advisory, Small Craft Advisory, Wind Advisory, Winter Weather Advisory
 +
|-
 +
|}
 +
 +
=== Times ===
 +
 +
These seem to be the most helpful times listed.
 +
 +
{| class="mw-datatable"
 +
|-
 +
! Expression
 +
! Sample value
 +
! Notes
 +
! Seems to be...
 +
|-
 +
| <code>$twcweather.alerts.processTimeUTC</code>
 +
| <code>1564471315</code>
 +
| Valid unix time UTC
 +
| Alert process time in SUN
 +
|-
 +
| <code>$twcweather.alerts.expireTimeUTC</code>
 +
| <code>1564534800</code>
 +
| Valid Epoch time
 +
| Expire date and time in UTC
 +
|-
 +
| <code>$twcweather.alerts.issueTimeLocal</code>
 +
| <code>2019-07-30T03:21:00-04:00</code>
 +
|
 +
| Alert issuance time
 +
|-
 +
| <code>$twcweather.alerts.expireTimeLocal</code>
 +
| <code>2019-07-30T21:00:00-04:00</code>
 +
|
 +
| Expire date & time of the information in the alert message
 +
|-
 +
| <code>$twcweather.alerts.onsetTimeLocal</code>
 +
| <code>2019-07-30T10:00:00-04:00</code>
 +
| Usually returns null.
 +
| Onset date & time of the information in the alert message. (Canada only)
 +
|-
 +
| <code>$twcweather.alerts.effectiveTimeLocal</code>
 +
| <code>2019-07-30T10:00:00-04:00</code>
 +
| Usually returns null.
 +
| Effective date & time of the information in the alert message
 +
|-
 +
|}
 +
 +
=== Location ===
 +
 +
These seem to be the only helpful locations, that may change based on the precise location of the alert.  It likely depends on whether the particular alert is based on county, city, or GPS coords. (I would love it if there was data available to see how large the '''range''' of the alert is)
 +
 +
{| class="mw-datatable"
 +
|-
 +
! Expression
 +
! Sample value
 +
! Notes
 +
|-
 +
| <code>$twcweather.alerts.areaId</code>
 +
| <code>"NYZ179", "ANZ335"</code>
 +
| Code for a location where the event occurs
 +
|-
 +
| <code>$twcweather.alerts.areaName</code>
 +
| <code>"Northern Nassau County"</code>,<br />
 +
<code>"Long Island Sound East of New Haven CT/Port Jefferson NY"</code>,<br />
 +
<code>"Coastal Waters of Southern Puerto Rico out 10 NM"</code>
 +
| Mixed case location name
 +
|-
 +
| <code>$twcweather.alerts.areaTypeCode</code>
 +
| <code>"C"</code> = County,<br />
 +
<code>"Z"</code> = Zone,<br />
 +
<code>"CLC"</code> = Canada Location
 +
| Type of location <br />(Usually returns Z)
 +
|-
 +
| <code>$twcweather.alerts.latitude</code>
 +
| <code>40.01</code>
 +
| style="color:black; background-color:#FFD366;" | Centroid latitude of a location where the event occurs
 +
|-
 +
| <code>$twcweather.alerts.longitude</code>
 +
| <code>-75.01</code>
 +
| style="color:black; background-color:#FFD366;" | Centroid longitude of a location where the event occurs
 +
|-
 +
| <code>$twcweather.alerts.officeCode</code>
 +
| <code>"KOKX", "CWTO"</code>
 +
| Issuing Office code
 +
|-
 +
| <code>$twcweather.alerts.officeName</code>
 +
| <code>"Nashville"</code>, <code>"Knoxville/Tri-Cities"</code>
 +
| Issuing Office Name
 +
|-
 +
|}
 +
 +
=== Category ===
 +
 +
The category description of the subject event of the alert message.
 +
 +
{| class="wikitable" style="color:darkred; background-color:#FEE7E6;" cellpadding="10"
 +
|Each dataPoint below '''must''' begin with <code>$twcweather.alerts.categories.</code>  (Such as: <code>$twcweather.alerts.categories.categoryCode</code> although <code>$twcweather.alerts.categories[0].categoryCode</code> may work as well)
 +
|}
 +
 +
{| class="mw-datatable"
 +
|-
 +
! categoryCode
 +
! category
 +
! More Details
 +
! Notes
 +
|-
 +
| style="text-align:right;" | <code>1</code>
 +
| style="color:green; background-color:#FFD366;" | <code>Geo</code>
 +
| Geophysical (inc. landslide)
 +
| ??
 +
|-
 +
| style="text-align:right;" | <code>2</code>
 +
| <code>Met</code>
 +
| Meteorological (inc. flood)
 +
| 96% of responses seen
 +
|-
 +
| style="text-align:right;" | <code>3</code>
 +
| style="color:green; background-color:#FFD366;" | <code>Safety</code>
 +
| General emergency and public safety
 +
| ??
 +
|-
 +
| style="text-align:right;" | <code>4</code>
 +
| style="color:green; background-color:#FFD366;" | <code>Security</code>
 +
| Law enforcement, military, homeland and local/private security
 +
| ??
 +
|-
 +
| style="text-align:right;" | <code>5</code>
 +
| style="color:green; background-color:#FFD366;" | <code>Rescue</code>
 +
| Rescue and recovery
 
| ??
 
| ??
 
|-
 
|-
| <code>2?</code>
+
| style="text-align:right;" | <code>6</code>
| <code>??</code>
+
| style="color:green; background-color:#FFD366;" | <code>Fire</code>
 +
| Fire suppression and rescue
 
| ??
 
| ??
 
|-
 
|-
| <code>3?</code>
+
| style="text-align:right;" | <code>7</code>
| <code>??</code>
+
| style="color:green; background-color:#FFD366;" | <code>Health</code>
 +
| Medical and public health
 
| ??
 
| ??
 
|-
 
|-
| <code>4</code>
+
| style="text-align:right;" | <code>8</code>
| <code>Execute</code>
+
| style="color:green; background-color:#FFD366;" | <code>Env</code>
 +
| Pollution and other environmental
 +
| ??
 +
|-
 +
| style="text-align:right;" | <code>9</code>
 +
| style="color:green; background-color:#FFD366;" | <code>Transport</code>
 +
| Public and private transportation
 
| ??
 
| ??
 
|-
 
|-
| <code>5</code>
+
| style="text-align:right;" | <code>10</code>
| <code>Avoid</code>
+
| style="color:green; background-color:#FFD366;" | <code>Infra</code>
 +
| Utility, telecommunication, other non-transport infrastructure
 
| ??
 
| ??
 
|-
 
|-
| <code>6</code>
+
| style="text-align:right;" | <code>11</code>
| <code>Monitor</code>
+
| style="color:green; background-color:#FFD366;" | <code>CBRNE</code>
 +
| Chemical, Biological, Radiological, Nuclear or High-Yield Explosive threat or attack
 
| ??
 
| ??
 
|-
 
|-
! severityCode
+
| style="text-align:right;" | <code>12</code>
! severity
+
| <code>Other</code>
 +
| Other events
 +
| Child Abduction, Civil Emergency
 +
|-
 +
|}
 +
 
 +
Edit May 2020 during the pandemic:
 +
I am surprised that nobody has shared an alert yet for CBRNE, Health or Safety...  Perhaps we are limited to code 2 & 12??
 +
 
 +
 
 +
.
 +
 
 +
== Flood ==
 +
 
 +
The dataPoint <code>$twcweather.alerts.flood</code> is usually null, but when there is an alert for possible flooding, then these extra dataPoints may appear:
 +
 
 +
{| class="mw-datatable"
 +
|-
 +
! Expression
 +
! Sample value
 
! Notes
 
! Notes
 
|-
 
|-
| <code>1?</code>
+
| <code>$twcweather.alerts.flood.floodCrestTimeLocal</code>
| <code>??</code>
+
| <code>null</code>, <code>2017-10-07T21:30:00-05:00</code>
 
| ??
 
| ??
 
|-
 
|-
| <code>2</code>
+
| <code>$twcweather.alerts.flood.floodCrestTimeLocalTimeZone</code>
| <code>Severe</code>
+
| <code>null</code>, <code>EDT</code>
 
| ??
 
| ??
 
|-
 
|-
| <code>3</code>
+
| <code>$twcweather.alerts.flood.floodEndTimeLocal</code>
| <code>Moderate</code>
+
| <code>null</code>, <code>2017-10-07T23:30:00-05:00</code>
 
| ??
 
| ??
 
|-
 
|-
| <code>4</code>
+
| <code>$twcweather.alerts.flood.floodEndTimeLocalTimeZone</code>
| <code>Minor</code>
+
| <code>null</code>, <code>EDT</code>
 
| ??
 
| ??
 +
|-
 +
| <code>$twcweather.alerts.flood.floodLocationId</code>
 +
| <code>00000, AFBI2</code>
 +
| Any valid NWS flood location identifier
 +
|-
 +
| <code>$twcweather.alerts.flood.floodLocationName</code>
 +
| <code>"N/A", "White River at Apache Tailwater"</code>
 +
| Any valid NWS flood location identifier
 +
|-
 +
| <code>$twcweather.alerts.flood.floodStartTimeLocal</code>
 +
| <code>null</code>, <code>2017-10-07T20:30:00-05:00</code>
 +
| Flood start date time
 +
|-
 +
| <code>$twcweather.alerts.flood.floodStartTimeLocalTimeZone</code>
 +
| <code>null</code>, <code>EDT</code>
 +
| Flood start date time zone abbreviation
 
|-
 
|-
 
|}
 
|}
  
 +
=== floodImmediateCause ===
  
 +
When there is an alert for possible flooding, then these extra dataPoints may appear:
  
 +
Column 1 represents <code>$twcweather.alerts.flood.floodImmediateCauseCode</code>
  
 +
{| class="mw-datatable"
 +
|-
 +
! 1
 +
! $twcweather.alerts.flood.floodImmediateCause
 +
! Notes
 +
|-
 +
| <code>ER</code>
 +
| <code>Excessive Rainfall</code>
 +
| Only response seen so far
 +
|-
 +
| <code>SM</code>
 +
| style="color:green; background-color:#FFD366;" | <code>Snowmelt</code>
 +
| ??
 +
|-
 +
| <code>RS</code>
 +
| style="color:green; background-color:#FFD366;" | <code>Rain and Snowmelt</code>
 +
| ??
 +
|-
 +
| <code>DM</code>
 +
| style="color:green; background-color:#FFD366;" | <code>Dam or Levee Failure</code>
 +
| ??
 +
|-
 +
| <code>IJ</code>
 +
| style="color:green; background-color:#FFD366;" | <code>Ice Jam</code>
 +
| ??
 +
|-
 +
| <code>GO</code>
 +
| style="color:green; background-color:#FFD366;" | <code>Glacier-Dammed Lake Outburst</code>
 +
| ??
 +
|-
 +
| <code>IC</code>
 +
| style="color:green; background-color:#FFD366;" | <code>Rain and/or Snowmelt and/or Ice Jam</code>
 +
| ??
 +
|-
 +
| <code>FS</code>
 +
| style="color:green; background-color:#FFD366;" | <code>Upstream Flooding plus Storm Surge</code>
 +
| ??
 +
|-
 +
| <code>FT</code>
 +
| style="color:green; background-color:#FFD366;" | <code>Upstream Flooding plus Tidal Effects</code>
 +
| ??
 +
|-
 +
| <code>ET</code>
 +
| style="color:green; background-color:#FFD366;" | <code>Elevated Upstream Flow plus Tidal Effects</code>
 +
| ??
 +
|-
 +
| <code>WT</code>
 +
| style="color:green; background-color:#FFD366;" | <code>Wind and/or Tidal Effects</code>
 +
| ??
 +
|-
 +
| <code>DR</code>
 +
| style="color:green; background-color:#FFD366;" | <code>Upstream Dam or Reservoir Release</code>
 +
| ??
 +
|-
 +
| <code>MC</code>
 +
| style="color:green; background-color:#FFD366;" | <code>Other Multiple Causes</code>
 +
| ??
 +
|-
 +
| <code>OT</code>
 +
| style="color:green; background-color:#FFD366;" | <code>Other Effects</code>
 +
| ??
 +
|-
 +
| <code>UU</code>
 +
| style="color:green; background-color:#FFD366;" | <code>Unknown</code>
 +
| ??
 +
|-
 +
|}
  
 +
=== floodRecordStatus ===
  
 +
When there is an alert for possible flooding, then these extra dataPoints may appear:
  
 +
Column 1 represents <code>$twcweather.alerts.flood.floodRecordStatusCode</code>
  
 +
{| class="mw-datatable"
 +
|-
 +
! 1
 +
! $twcweather.alerts.flood.floodRecordStatus
 +
! Notes (unconfirmed)
 +
|-
 +
| <code>OO</code>
 +
| <code>N/A</code>
 +
| For areal flood warnings, areal flash flood products, and flood advisories (point & areal)
 +
|-
 +
| <code>NO</code>
 +
| <code>A record flood is not expected</code>
 +
|
 +
|-
 +
| style="color:green; background-color:#FFD366;" | <code>NR</code>
 +
| ??
 +
| <code>Near record or record flood expected</code>
 +
|-
 +
| style="color:green; background-color:#FFD366;" | <code>UU</code>
 +
| ??
 +
| <code>Flood without a period of record to compare</code>
 +
|-
 +
|}
  
 +
=== floodSeverity ===
  
 +
When there is an alert for possible flooding, then these extra dataPoints may appear:
  
 +
Column 1 represents <code>$twcweather.alerts.flood.floodSeverityCode</code>
  
 +
{| class="mw-datatable"
 +
|-
 +
! 1
 +
! $twcweather.alerts.flood.floodSeverity
 +
! Notes
 +
|-
 +
| <code>N</code>
 +
| <code>None</code>
 +
|
 +
|-
 +
| <code>0</code>
 +
| <code>N/A</code>
 +
|
 +
|-
 +
| <code>1</code>
 +
| <code>Minor</code>
 +
|
 +
|-
 +
| <code>2</code>
 +
| style="color:green; background-color:#FFD366;" | <code>Moderate</code>
 +
| ??
 +
|-
 +
| <code>3</code>
 +
| style="color:green; background-color:#FFD366;" | <code>Major</code>
 +
| ??
 +
|-
 +
| <code>U</code>
 +
| style="color:green; background-color:#FFD366;" | <code>Unknown</code>
 +
| ??
 +
|-
 +
|}
  
  
 +
.
  
 +
== Not Very Useful ==
  
 +
The following dataPoints seem mostly useless, but we are still [https://community.webcore.co/t/twcweather-alerts-observations/13504?u=wcmore gathering data].<br />
 +
If any of these dataPoints are found to be helpful, I will relocate it to the appropriate section above.
  
= IGNORE EVERYTHING ELSE ON THIS PAGE (PLACEHOLDERS) =
+
=== Times ===
  
 +
I suspect these dataPoints will only change twice a year (when we change our clocks).
 +
IE: <code>EDT</code> in the Summer becomes <code>EST</code> in the Winter
  
 +
{| class="mw-datatable"
 +
|-
 +
! Expression
 +
! Sample value
 +
! Notes
 +
|-
 +
| <code>$twcweather.alerts.expireTimeLocalTimeZone</code>
 +
| <code>EDT</code>
 +
| Time Zone Abbreviation for expire time
 +
|-
 +
| <code>$twcweather.alerts.effectiveTimeLocalTimeZone</code>
 +
| <code>EDT</code>
 +
| Time Zone Abbreviation for effective time
 +
|-
 +
| <code>$twcweather.alerts.issueTimeLocalTimeZone</code>
 +
| <code>EDT</code>
 +
| Time Zone Abbreviation for issue time
 +
|-
 +
| <code>$twcweather.alerts.onsetTimeLocalTimeZone</code>
 +
| <code>EDT, null</code>
 +
| Time Zone Abbreviation for onset time (Canada only??)
 +
|-
 +
|}
 +
 +
=== Locations ===
  
 +
It seems like most of these dataPoints do not change very often, if at all.
  
 +
{| class="mw-datatable"
 +
|-
 +
! Expression
 +
! Sample value
 +
! Notes
 +
|-
 +
| <code>$twcweather.alerts.adminDistrict</code>
 +
| <code>"New York", "Alberta"</code>
 +
|
 +
|-
 +
| <code>$twcweather.alerts.adminDistrictCode</code>
 +
| <code>"NY", "AB"</code>
 +
|
 +
|-
 +
| <code>$twcweather.alerts.countryCode</code>
 +
| <code>"US", "CA"</code>
 +
| country code of the location
 +
|-
 +
| <code>$twcweather.alerts.countryName</code>
 +
| <code>"UNITED STATES OF AMERICA", "CANADA"</code>
 +
|
 +
|-
 +
| <code>$twcweather.alerts.ianaTimeZone</code>
 +
| <code>"America/New_York", "America/Edmonton"</code>
 +
|
 +
|-
 +
| <code>$twcweather.alerts.officeAdminDistrict</code>
 +
| <code>"New York", null</code>
 +
|
 +
|-
 +
| <code>$twcweather.alerts.officeAdminDistrictCode</code>
 +
| <code>"NY"</code>
 +
|
 +
|-
 +
| <code>$twcweather.alerts.officeCountryCode</code>
 +
| <code>"US", "CA"</code>
 +
| Issuing Office Country Code
 +
|-
 +
| <code>$twcweather.alerts.source</code>
 +
| <code>"National Weather Service", "Meteorological Service of Canada"</code>
 +
| Originating source of alert
 +
|-
 +
|}
  
== Articles worth reading: ==
+
I am hoping this last one changes occasionally...
 +
It'd be nice to see multiple sources merging for important alerts
  
* [[WCmore's_DragAndDrop|Move or Copy code using drag & drop]]
+
In the 100+ alerts I have seen so far, none of these locations changed between alerts.  I think the best way for us to confirm this, is if each of us observes our own alerts.  You'll see patterns after a handful of alerts, and can report your findings [https://community.webcore.co/t/twcweather-alerts-observations/13504?u=wcmore here].  (Please do not share your real longitude & latitude)
* [[WCmore's_SimulatedSwitches|Simulated Switches]]
 
* [[WCmore's_AddDevices|Adding devices to webCoRE]]
 
* [[WCmore's_ExternalURL|External URLs - Execute a piston from elsewhere]]
 
  
== Handy Links for Reference ==
+
=== Unique dataPoints===
Here are a few links that I have found to be helpful
 
  
=== webCoRE ===
+
Not sure of the relevance here...  They change at almost every alert.
* [https://dashboard.webcore.co/ Dashboard] (where we create & edit our pistons)
 
* webCoRE Forum - [https://community.webcore.co/latest Latest Topics]  (great community for like-minded people)
 
  
 
{| class="mw-datatable"
 
{| class="mw-datatable"
 
|-
 
|-
! Code
+
! Expression
! Description
+
! Sample value
! TWC Icon
+
! Notes
! WU v4 Icon
 
 
|-
 
|-
| 0
+
| <code>$twcweather.alerts.detailKey</code>
| Tornado
+
| <code>"8db0a39f-2c26-39c9-862b-37f7256f3d45"</code>,<br /><code>"681e5182-53c2-394e-9440-c4a426680f82"</code>
| style="text-align: center" | <img src="https://smartthings-twc-icons.s3.amazonaws.com/00.png" height="50"/>
+
| Detail record key (36 characters)<br />Might linger if the alerts are '''similar'''
<code>:twc-0:</code>
 
| style="text-align: center" | <img src="https://icons.wxug.com/i/c/v4/0.svg" height="50"/>
 
<code>:wu-v4-0:</code>
 
 
|-
 
|-
| 1
+
| <code>$twcweather.alerts.identifier</code>
| Tropical Storm
+
| <code>"f1bac66b482866c05c82fc3462978a17"</code>,<br /><code>"6e39ac945ef3c7be4593d528be6388d4"</code>
| style="text-align: center" | <img src="https://smartthings-twc-icons.s3.amazonaws.com/01.png" height="50"/>
+
| Checksum value uniquely identifies a bulletin<br />(32 characters)<br />Might linger if the alerts are '''identical'''
<code>:twc-1:</code>
 
| style="text-align: center" | <img src="https://icons.wxug.com/i/c/v4/1.svg" height="50"/>
 
<code>:wu-v4-1:</code>
 
 
|-
 
|-
| 47
 
| Scattered Thunderstorms
 
| style="text-align: center" | <img src="https://smartthings-twc-icons.s3.amazonaws.com/47.png" height="50"/>
 
<code>:twc-47:</code>
 
| style="text-align: center" | <img src="https://icons.wxug.com/i/c/v4/47.svg" height="50"/>
 
<code>:wu-v4-47:</code>
 
 
|}
 
|}
 +
 +
 +
.
 +
 +
== Conclusion ==
 +
 +
The data gathering phase is still in progress, so this page will be updated whenever new data is posted to [https://community.webcore.co/t/twcweather-alerts-observations/13504?u=wcmore this thread].
 +
 +
I am excited to see what kind of pistons we can create for these weather alerts!
 +
Don't forget to [https://community.webcore.co/ share your creations on the forum]...
 +
 +
 +
.
 +
 +
== Future Projects ==
 +
 +
I think we also need to monitor <code>$twcweather.alerts.length</code>, because <br />
 +
that dataPoint does not return when querying <code>$twcweather.alerts</code>
 +
 +
This makes me wonder what other hidden dataPoints are available...
 +
 +
Note to self:
 +
Check out $twcweather.alerts.synopsis
 +
 +
=== Observations ===
 +
 +
Normally, on a clear day, the responses are usually:
 +
[[File:AlertsVsLength_Default.jpg|none|caption]]
 +
 +
Unfortuunately, it seems that <code>$twcweather.alerts.length</code> will also count nulls.
 +
 +
[[File:AlertsVsLength.jpg|none|caption]]
 +
 +
OR
 +
 +
[[File:AlertsVsLength2.jpg|none|caption]]
 +
 +
I have had about 15 of these the past few days. Each time, the weather was only slightly bad. (not worthy of an alert, IMO)
 +
 +
----
 +
 +
If you'd like to help me understand what <code>$twcweather.alerts.length</code> represents, [https://community.webcore.co/t/twcweather-alerts-observations/13504/71?u=wcmore here is a piston] that is ready for import.
 +
 +
 +
.

Latest revision as of 19:54, 28 March 2022

As of February 20th, we have been unable to locate an "official" document listing the weather alerts available to SmartThings, with complete syntax and responses. Since most of us would rather not have to wait for that documentation to start programming, a bunch of us have been gathering data the old fashioned way, and combining our findings on this page.

If you see a unique alert for your location, please contribute your observations in this thread, and I will keep the wiki updated.

If you are interested in standard weather data that is not an alert, try: TWC Weather.

Introduction

Everything on this page focuses on $twcweather.alerts. This query will usually return [] unless there is an alert for your location. When that happens, up to 62 different dataPoints may be returned. Every one of them begins with $twcweather.alerts followed by a period, and ending with the dataPoint listed below. (such as: $twcweather.alerts.eventDescription) There are a couple of tables below that got a bit crowded, so some of them will not list the beginning portion, but it is important to remember that every single command on this page begins with $twcweather.alerts.

Accessing the data

It is unfortunate, but a weather alert cannot be used as a trigger. To get alerts for your area, you can program a piston to periodically make a query. (mine is set to run every 15 minutes, but other triggers can work as well, such as right before you go to work) Please program strategically so we don't hammer the weather server too frequently. Any more often than 4 times an hour is a waste of resources and pointless for alerts. We don't want to encourage SmartThings to start charging us for this data. (since they are billed for each query)

Legend

Here is a quick list to show what each color represents on this page...

Headers for each table
Warnings / Reminders
Duplicates
Code found in a 2016 document that needs to be verified

For the most part, the "unknown dataPoints" are listed first, so they get the most exposure & hopefully more contributions. These will be followed by the dataPoints that are likely the most useful, and the occasional flood dataPoints. The final category will be the dataPoints that are probably the least useful.


.

Needs More Information Gathered

We really need more data responses for this section. Please add any unique observations to this thread.

Unknown dataPoints

Expression Sample value Notes
$twcweather.alerts.disclaimer null Disclaimer for data
$twcweather.alerts.eventTrackingNumber 0003 4 digit number or a checksum

Unverified dataPoints

The following responses are not returned with $twcweather.alerts, but there is a chance that they exist if a direct query is made. Further testing is required.

(Unverified) Expression (Unverified) Sample value Notes
??.synopsis null (Brief summary)
??.texts.description "...Flood Warning extended until Monday morning...The Flood Warning\ncontinues for the Guadalupe River Near Bloomington.\n* until Monday morning...or until the warning is cancelled.\n* At 8:00 AM Friday the stage was 25.2 feet.\n* Moderate flooding is occurring and Moderate flooding is forecast.\n* Flood stage is 20.0 feet.\n* Forecast: The river has crested overnight and will continue to fall\nand is expected to go below flood stage by Sunday afternoon.\n* At 26.0 feet Irrigation and oil well pumps, tank batteries, and\nequipment in the lower flood plain below Victoria flood. Livestock\nare cut off, may have to be fed by boat, and could drown. Homes\ndownstream above Highway 35 on the left bank are cut off.\n\n&&\n\nBelow are the latest river stages and stage forecasts:\n\nFLD LATEST FORECAST 6 AM LST\nLOCATION STG STG DAY TIME Sat Sun Mon Tue Wed\n\nGuadalupe River\nBloomington 20 25.2 Fri 08 AM 23.8 21.1 18.7 17.8 17.6\n\n&&\n\n\n"  ??
??.texts.instruction null  ??
??.texts.languageCode en-US  ??
??.texts.overview "...The Flood Warning continues for the following river in Texas...\n\nGuadalupe River Near Bloomington affecting Calhoun...Refugio and\nVictoria Counties\n\n.Recent rainfall upstream and over the area will keep the aforementioned\nriver above flood stage for the next few days.\n\nPRECAUTIONARY/PREPAREDNESS ACTIONS...\n\nStay tuned to NOAA Weather Radio, local TV and radio\nstations, or cable TV outlets, for the latest weather\ninformation, as additional rainfall could affect crest\nforecasts.\n\nFor the latest river stages and forecasts visit our AHPS page at:\nhttp://water.weather.gov/ahps2/index.php?wfo=crp\n\n&&\n\n"  ??

I recommend testing these commands shortly after you receive a weather alert, and share your findings here.

  • $twcweather.alerts.details
  • $twcweather.alerts.details.class
  • $twcweather.alerts.details.phenomena
  • $twcweather.alerts.details.disclaimer
  • $twcweather.alerts.details.text
  • $twcweather.alerts.details.text.description
  • $twcweather.alerts.details.text.instruction
  • $twcweather.alerts.details.text.overview

(They should return [] if there is no alert for your area)

These last three (if they work) will be incredibly valuable to our programming…


So far, we have testing (and failed) with:

AlertFailures.jpg


.

Important and Useful

Most of our coding will likely use the data found in this section.
If you discovery any data not listed here, please let us know here.

Alerts

It appears that these next 5 dataPoints are mostly connected, so this table is shown a bit differently than the above tables.
To conserve space, the first three columns are marked with numbers that align with:

  1. phenomena (Phenomena code of an event)
  2. productIdentifier (Refer Inbound PIL/Event Tab)
  3. eventTrackingNumber (4 digit number or a checksum)

NOTE: No patterns have been seen for eventTrackingNumber yet... What is this number really??

Each dataPoint below must begin with $twcweather.alerts. (Such as: $twcweather.alerts.phenomena)
1 2 3 eventDescription headlineText Notes
TAW AWW 0000 Airport Weather Warning Airport Weather Warning until FRI 2:15 PM CDT
TAQ AQA 0000 Air Quality Alert Air Quality Alert until THU 11:00 PM EDT
BH CFW 0014 Beach Hazard Statement Beach Hazard Statement from SAT 10:00 AM EDT until SAT 10:00 PM EDT
TCA CAE 0000 Child Abduction Emergency Child Abduction Emergency until FRI 9:59 PM EDT
TCE CEM 0000 Civil Emergency Message Civil Emergency Message until WED 7:15 PM EDT
CF CFW 0002 Coastal Flood Advisory Coastal Flood Advisory from SAT 5:00 AM EST until SAT 8:00 AM EST
CF CFW 0024 Coastal Flood Statement Coastal Flood Statement from FRI 8:00 PM EDT until SAT 12:00 AM EDT
CF CFW 0001 Coastal Flood Warning Coastal Flood Warning from TUE 8:00 PM EDT until WED 1:00 AM EDT
CF CFW 0002 Coastal Flood Watch Coastal Flood Watch from TUE 8:00 PM EDT until WED 2:00 AM EDT
FG, MF MWW, NPW 0003, 0007, 0009 Dense Fog Advisory Dense Fog Advisory from SAT 5:40 AM EDT until SAT 10:00 AM EDT
EH NPW 0002 Excessive Heat Warning Excessive Heat Warning from THU 11:00 AM EDT until THU 8:00 PM EDT
EH NPW 0002 Excessive Heat Watch Excessive Heat Watch from FRI 1:00 PM EDT until FRI 8:00 PM EDT
FF FFW 0076 Flash Flood Warning Flash Flood Warning from WED 7:47 PM CDT until WED 11:45 PM CDT
FF FFA 1, 0001, 0015 Flash Flood Watch Flash Flood Watch until WED 9:00 PM AST
FA FLS 0090, 0156, 0169 Flood Advisory Flood Advisory from THU 5:21 PM EDT until THU 7:15 PM EDT
FA FLW 0011 Flood Warning Flood Warning from THU 9:03 AM EST until THU 3:00 PM EST
?? ??? 0004 Flood Watch Flood Watch until TUE 7:00 AM EST Needs more info
FZ NPW 0003 Freeze Warning Freeze Warning from FRI 2:00 AM EDT until FRI 10:00 AM EDT
FZ NPW 0001 Freeze Watch Freeze Watch from FRI 12:00 AM EDT until FRI 8:00 AM EDT
ZF NPW 0002 Freezing Fog Advisory Freezing Fog Advisory from SUN 2:33 AM EST until SUN 10:00 AM EST
FR NPW 0002, 0003 Frost Advisory Frost Advisory until FRI 9:00 AM EDT
GL MWW 0005, 0010, 0024 Gale Warning Gale Warning from TUE 10:26 AM EST until WED 6:00 AM EST
GL MWW 0023, 0030 Gale Watch Gale Watch from WED 6:00 PM EST until THU 6:00 AM EST
HT NPW 0003 Heat Advisory Heat Advisory from TUE 10:00 AM EDT until TUE 9:00 PM EDT
UP MWW 0001 Heavy Freezing Spray Advisory Heavy Freezing Spray Advisory from FRI 7:00 AM EST until FRI 3:00 PM EST
SU CFW 0001, 0003 High Surf Advisory High Surf Advisory from TUE 8:00 AM EDT until WED 6:00 AM EDT
HW NPW 0002 High Wind Warning High Wind Warning from THU 3:09 PM EDT until FRI 6:00 AM EDT
HW NPW 0001 High Wind Watch High Wind Watch from SUN 1:00 PM EST until MON 7:00 AM EST
LW NPW 0001 Lake Wind Advisory Lake Wind Advisory from SAT 8:58 AM EST until SAT 7:00 PM EST
LO MWW 0001 Low Water Advisory Low Water Advisory from TUE 5:32 AM EST until TUE 10:00 PM EST
MA MWS 1 Marine Weather Statement Marine Weather Statement until TUE 2:30 PM AST
FW RFW 0001 Red Flag Warning Red Flag Warning from SAT 12:00 PM EST until SAT 7:00 PM EST Potential Fire
RP CFW 0005, 0015 Rip Current Statement Rip Current Statement from TUE 6:00 AM EDT until TUE 9:00 PM EDT
RP CFW 0008, 0010 Rip Tide Statement Rip Tide Statement from WED 6:00 AM EDT until WED 9:00 PM EDT
FL FLS 0065 River Flood Advisory River Flood Advisory until SUN 7:00 AM CDT
FL FLS, FLW 0016 River Flood Warning River Flood Warning until FRI 8:00 PM EDT
SV SVR, SVS 0024, 0030, 0106, 0333 Severe Thunderstorm Warning Severe Thunderstorm Warning from WED 6:14 PM CDT until WED 6:45 PM CDT
SV WCN 0094, 0547 Severe Thunderstorm Watch Severe Thunderstorm Watch until WED 9:00 PM EDT US
thunderstorm ECA 0000 Severe Thunderstorm Watch Severe Thunderstorm Watch is in effect Canada
TSG SPS 0000 Significant Weather Advisory Significant Weather Advisory until FRI 4:15 PM EDT
SC MWW 0062, 0093 Small Craft Advisory Small Craft Advisory from MON 3:36 PM EDT until TUE 6:00 PM EDT
SQ SQW 0005 Snow Squall Warning Snow Squall Warning until SAT 3:45 PM EST
MA SMW 0005 Special Marine Warning Special Marine Warning from TUE 10:34 PM EST until TUE 11:15 PM EST
TSL SPS 0000 Special Weather Statement Special Weather Statement until SUN 9:00 AM CDT Is there Alt data for column 1 & 2?
SS TCV 1008 Storm Surge Watch Storm Surge Watch is in effect
SR MWW 0001 Storm Watch Storm Watch from MON 6:00 AM EDT until MON 6:00 PM EDT
TO TOR 0001, 0006 Tornado Warning Tornado Warning from TUE 4:35 AM EST until TUE 5:00 AM EST
TO WCN 0015 Tornado Watch Tornado Watch until SAT 9:00 PM EST
TR MWW, TCV 1006, 1008, 1009 Tropical Storm Warning Tropical Storm Warning is in effect
TR TCV 1005 Tropical Storm Watch Tropical Storm Watch is in effect
TTP HLS 0000 Tropical Weather Statement Tropical Weather Statement until TUE 4:15 AM AST
WI NPW 0002, 0003 Wind Advisory Wind Advisory from SAT 10:00 AM EST until SUN 12:00 AM EST
?? ??? 0001 Wind Chill Advisory Wind Chill Advisory from TUE 10:00 PM EST until WED 9:00 AM EST Needs more info
WS WSW 0001 Winter Storm Warning Winter Storm Warning from WED 2:00 PM EST until THU 1:00 PM EST
WS WSW 0001 Winter Storm Watch Winter Storm Watch from WED 2:00 PM EST until THU 1:00 PM EST
WW WSW 0005, 0025, 0038 Winter Weather Advisory Winter Weather Advisory from MON 4:00 PM EST until TUE 7:00 PM EST

(the known "Sample values" are shown in the grey boxes above)

phenomena Patterns

Some of the results for phenomena (shown above) aligns with more than one eventDescription... Here is educated guesses as to their meaning:

phenomena Likely? Seen during
CF Coastal Flood? Coastal Flood Advisory, Coastal Flood Statement, Coastal Flood Warning, Coastal Flood Watch
EH Excessive Heat? Excessive Heat Warning, Excessive Heat Watch
FA Flood? Flood Advisory, Flood Warning
FF Flash Flood? Flash Flood Warning, Flash Flood Watch
FL River Flood? River Flood Advisory, River Flood Warning
FZ Freeze? Freeze Warning, Freeze Watch
GL Gale? Gale Warning, Gale Watch
HW High Winds? High Wind Warning, High Wind Watch
MA Marine? Marine Weather Statement, Special Marine Warning
RP Rip? Rip Current Statement, Rip Tide Statement
SV Severe Thunderstorm? Severe Thunderstorm Warning, Severe Thunderstorm Watch
TO Tornado? Tornado Warning, Tornado Watch
TR Tropical Storm? Tropical Storm Warning, Tropical Storm Watch
WS Winter Storm? Winter Storm Warning, Winter Storm Watch

productIdentifier Patterns

Some of the results for productIdentifier (shown above) aligns with more than one eventDescription... Here is educated guesses as to their meaning:

productIdentifier Likely? Seen during Notes
CFW Coastal Flood Watch/Warning? Beach Hazard Statement, Coastal Flood Advisory, Coastal Flood Statement, Coastal Flood Warning, Coastal Flood Watch, High Surf Advisory, Rip Current Statement, Rip Tide Statement
FLS Flood Statement? Flood Advisory, River Flood Advisory, River Flood Warning RFW needs confirmation
FLW Flood Warning? Flood Warning, River Flood Warning RFW needs confirmation
MWW Marine Weather Watch/Warning? Dense Fog Advisory, Gale Warning, Gale Watch, Heavy Freezing Spray Advisory, Low Water Advisory, Small Craft Advisory, Storm Watch, Tropical Storm Warning
NPW Non-Precipitation Warning? Dense Fog Advisory, Excessive Heat Warning, Excessive Heat Watch, Freeze Warning, Freeze Watch, Freezing Fog Advisory, Frost Advisory, Heat Advisory, High Wind Warning, High Wind Watch, Lake Wind Advisory, Wind Advisory
SPS Special Statement?? Significant Weather Advisory, Special Weather Statement
TCV Tropical Cyclone?? Storm Surge Watch, Tropical Storm Warning, Tropical Storm Watch TCV is estimated by zones, so the warning areas are approximate
WCN Watch County Notification? Severe Thunderstorm Watch, Tornado Watch
WSW Winter? Winter Storm Warning, Winter Storm Watch, Winter Weather Advisory

Descriptions

It appears that the following dataPoints are paired up, so this table is shown a bit differently than the above tables.

Each dataPoint below must begin with $twcweather.alerts. (Such as: $twcweather.alerts.certaintyCode)
certaintyCode certainty Notes
1 Observed Determined to have occurred or to be ongoing
2 Likely Likely (p > ~50%)
3 Possible Possible but not likely (p <= ~50%)
(Likely never seen) --> 4? Unlikely Not expected to occur (p ~ 0)
5 Unknown Certainty unknown
messageTypeCode messageType Notes
1 New Initial information
2 Update Updates existing message
(Likely never seen) --> 3? Cancel Cancels the earlier message
responseTypes.responseTypeCode responseTypes.responseType Notes
1 Shelter Take shelter in place or per instruction
(Hopefully never seen) --> 2? Evacuate Relocate as instructed in the instruction
3 Prepare Make preparations per the instruction
4 Execute Execute a pre-planned activity identified in instruction
5 Avoid Avoid the subject event as per the instruction
6 Monitor Attend to information sources as described in instruction
(Likely never seen) --> 7? Assess Evaluate the information in this message. (This value SHOULD NOT be used in public warning applications.)
(Likely never seen) --> 8? AllClear The subject event no longer poses a threat or concern and any follow on action is described in <instruction>
(Likely never seen) --> 9? None No action recommended
severityCode severity Notes
1 Extreme Extraordinary threat to life or property
2 Severe Significant threat to life or property
3 Moderate Possible threat to life or property
4 Minor Minimal to no known threat to life or property
5? Unknown Severity unknown
urgencyCode urgency Notes
1 Immediate Responsive action SHOULD be taken immediately
2 Expected Responsive action SHOULD be taken soon (within next hour)
3 Future Responsive action SHOULD be taken in the near future
(Likely never seen) --> 4? Past Responsive action is no longer required
5 Unknown Urgency not known

(the known "Sample values" are shown in the grey boxes above)

Significance

The code $twcweather.alerts.significance returns a single letter, as seen in the "Sample value" column below.
The second column contains educated guesses based on the alerts I have seen so far.

Sample value Likely? Seen during
A Watch Coastal Flood Watch, Excessive Heat Watch, Flash Flood Watch, Freeze Watch, Gale Watch, High Wind Watch, Severe Thunderstorm Watch, Storm Surge Watch, Storm Watch, Tornado Watch, Tropical Storm Watch, Winter Storm Watch
B Bulletin  ??
E Extreme  ??
L Local Alerts Air Quality Alert, Child Abduction Emergency
M Message Civil Emergency Message
O Outlook  ??
R Report  ??
S Statement Beach Hazard Statement, Coastal Flood Statement, Marine Weather Statement, Rip Current Statement, Rip Tide Statement, Special Weather Statement, Tropical Weather Statement
W Warning Airport Weather Warning, Coastal Flood Warning, Excessive Heat Warning, Flash Flood Warning, Flood Warning, Freeze Warning, Gale Warning, High Wind Warning, Red Flag Warning, River Flood Warning, Severe Thunderstorm Warning, Snow Squall Warning, Special Marine Warning, Tornado Warning, Tropical Storm Warning, Winter Storm Warning
Y Advisory Coastal Flood Advisory, Dense Fog Advisory, Flood Advisory, Freezing Fog Advisory, Frost Advisory, Heat Advisory, Heavy Freezing Spray Advisory, High Surf Advisory, Lake Wind Advisory, Low Water Advisory, River Flood Advisory, Significant Weather Advisory, Small Craft Advisory, Wind Advisory, Winter Weather Advisory

Times

These seem to be the most helpful times listed.

Expression Sample value Notes Seems to be...
$twcweather.alerts.processTimeUTC 1564471315 Valid unix time UTC Alert process time in SUN
$twcweather.alerts.expireTimeUTC 1564534800 Valid Epoch time Expire date and time in UTC
$twcweather.alerts.issueTimeLocal 2019-07-30T03:21:00-04:00 Alert issuance time
$twcweather.alerts.expireTimeLocal 2019-07-30T21:00:00-04:00 Expire date & time of the information in the alert message
$twcweather.alerts.onsetTimeLocal 2019-07-30T10:00:00-04:00 Usually returns null. Onset date & time of the information in the alert message. (Canada only)
$twcweather.alerts.effectiveTimeLocal 2019-07-30T10:00:00-04:00 Usually returns null. Effective date & time of the information in the alert message

Location

These seem to be the only helpful locations, that may change based on the precise location of the alert. It likely depends on whether the particular alert is based on county, city, or GPS coords. (I would love it if there was data available to see how large the range of the alert is)

Expression Sample value Notes
$twcweather.alerts.areaId "NYZ179", "ANZ335" Code for a location where the event occurs
$twcweather.alerts.areaName "Northern Nassau County",

"Long Island Sound East of New Haven CT/Port Jefferson NY",
"Coastal Waters of Southern Puerto Rico out 10 NM"

Mixed case location name
$twcweather.alerts.areaTypeCode "C" = County,

"Z" = Zone,
"CLC" = Canada Location

Type of location
(Usually returns Z)
$twcweather.alerts.latitude 40.01 Centroid latitude of a location where the event occurs
$twcweather.alerts.longitude -75.01 Centroid longitude of a location where the event occurs
$twcweather.alerts.officeCode "KOKX", "CWTO" Issuing Office code
$twcweather.alerts.officeName "Nashville", "Knoxville/Tri-Cities" Issuing Office Name

Category

The category description of the subject event of the alert message.

Each dataPoint below must begin with $twcweather.alerts.categories. (Such as: $twcweather.alerts.categories.categoryCode although $twcweather.alerts.categories[0].categoryCode may work as well)
categoryCode category More Details Notes
1 Geo Geophysical (inc. landslide)  ??
2 Met Meteorological (inc. flood) 96% of responses seen
3 Safety General emergency and public safety  ??
4 Security Law enforcement, military, homeland and local/private security  ??
5 Rescue Rescue and recovery  ??
6 Fire Fire suppression and rescue  ??
7 Health Medical and public health  ??
8 Env Pollution and other environmental  ??
9 Transport Public and private transportation  ??
10 Infra Utility, telecommunication, other non-transport infrastructure  ??
11 CBRNE Chemical, Biological, Radiological, Nuclear or High-Yield Explosive threat or attack  ??
12 Other Other events Child Abduction, Civil Emergency

Edit May 2020 during the pandemic: I am surprised that nobody has shared an alert yet for CBRNE, Health or Safety... Perhaps we are limited to code 2 & 12??


.

Flood

The dataPoint $twcweather.alerts.flood is usually null, but when there is an alert for possible flooding, then these extra dataPoints may appear:

Expression Sample value Notes
$twcweather.alerts.flood.floodCrestTimeLocal null, 2017-10-07T21:30:00-05:00  ??
$twcweather.alerts.flood.floodCrestTimeLocalTimeZone null, EDT  ??
$twcweather.alerts.flood.floodEndTimeLocal null, 2017-10-07T23:30:00-05:00  ??
$twcweather.alerts.flood.floodEndTimeLocalTimeZone null, EDT  ??
$twcweather.alerts.flood.floodLocationId 00000, AFBI2 Any valid NWS flood location identifier
$twcweather.alerts.flood.floodLocationName "N/A", "White River at Apache Tailwater" Any valid NWS flood location identifier
$twcweather.alerts.flood.floodStartTimeLocal null, 2017-10-07T20:30:00-05:00 Flood start date time
$twcweather.alerts.flood.floodStartTimeLocalTimeZone null, EDT Flood start date time zone abbreviation

floodImmediateCause

When there is an alert for possible flooding, then these extra dataPoints may appear:

Column 1 represents $twcweather.alerts.flood.floodImmediateCauseCode

1 $twcweather.alerts.flood.floodImmediateCause Notes
ER Excessive Rainfall Only response seen so far
SM Snowmelt  ??
RS Rain and Snowmelt  ??
DM Dam or Levee Failure  ??
IJ Ice Jam  ??
GO Glacier-Dammed Lake Outburst  ??
IC Rain and/or Snowmelt and/or Ice Jam  ??
FS Upstream Flooding plus Storm Surge  ??
FT Upstream Flooding plus Tidal Effects  ??
ET Elevated Upstream Flow plus Tidal Effects  ??
WT Wind and/or Tidal Effects  ??
DR Upstream Dam or Reservoir Release  ??
MC Other Multiple Causes  ??
OT Other Effects  ??
UU Unknown  ??

floodRecordStatus

When there is an alert for possible flooding, then these extra dataPoints may appear:

Column 1 represents $twcweather.alerts.flood.floodRecordStatusCode

1 $twcweather.alerts.flood.floodRecordStatus Notes (unconfirmed)
OO N/A For areal flood warnings, areal flash flood products, and flood advisories (point & areal)
NO A record flood is not expected
NR  ?? Near record or record flood expected
UU  ?? Flood without a period of record to compare

floodSeverity

When there is an alert for possible flooding, then these extra dataPoints may appear:

Column 1 represents $twcweather.alerts.flood.floodSeverityCode

1 $twcweather.alerts.flood.floodSeverity Notes
N None
0 N/A
1 Minor
2 Moderate  ??
3 Major  ??
U Unknown  ??


.

Not Very Useful

The following dataPoints seem mostly useless, but we are still gathering data.
If any of these dataPoints are found to be helpful, I will relocate it to the appropriate section above.

Times

I suspect these dataPoints will only change twice a year (when we change our clocks). IE: EDT in the Summer becomes EST in the Winter

Expression Sample value Notes
$twcweather.alerts.expireTimeLocalTimeZone EDT Time Zone Abbreviation for expire time
$twcweather.alerts.effectiveTimeLocalTimeZone EDT Time Zone Abbreviation for effective time
$twcweather.alerts.issueTimeLocalTimeZone EDT Time Zone Abbreviation for issue time
$twcweather.alerts.onsetTimeLocalTimeZone EDT, null Time Zone Abbreviation for onset time (Canada only??)

Locations

It seems like most of these dataPoints do not change very often, if at all.

Expression Sample value Notes
$twcweather.alerts.adminDistrict "New York", "Alberta"
$twcweather.alerts.adminDistrictCode "NY", "AB"
$twcweather.alerts.countryCode "US", "CA" country code of the location
$twcweather.alerts.countryName "UNITED STATES OF AMERICA", "CANADA"
$twcweather.alerts.ianaTimeZone "America/New_York", "America/Edmonton"
$twcweather.alerts.officeAdminDistrict "New York", null
$twcweather.alerts.officeAdminDistrictCode "NY"
$twcweather.alerts.officeCountryCode "US", "CA" Issuing Office Country Code
$twcweather.alerts.source "National Weather Service", "Meteorological Service of Canada" Originating source of alert

I am hoping this last one changes occasionally... It'd be nice to see multiple sources merging for important alerts

In the 100+ alerts I have seen so far, none of these locations changed between alerts. I think the best way for us to confirm this, is if each of us observes our own alerts. You'll see patterns after a handful of alerts, and can report your findings here. (Please do not share your real longitude & latitude)

Unique dataPoints

Not sure of the relevance here... They change at almost every alert.

Expression Sample value Notes
$twcweather.alerts.detailKey "8db0a39f-2c26-39c9-862b-37f7256f3d45",
"681e5182-53c2-394e-9440-c4a426680f82"
Detail record key (36 characters)
Might linger if the alerts are similar
$twcweather.alerts.identifier "f1bac66b482866c05c82fc3462978a17",
"6e39ac945ef3c7be4593d528be6388d4"
Checksum value uniquely identifies a bulletin
(32 characters)
Might linger if the alerts are identical


.

Conclusion

The data gathering phase is still in progress, so this page will be updated whenever new data is posted to this thread.

I am excited to see what kind of pistons we can create for these weather alerts! Don't forget to share your creations on the forum...


.

Future Projects

I think we also need to monitor $twcweather.alerts.length, because
that dataPoint does not return when querying $twcweather.alerts

This makes me wonder what other hidden dataPoints are available...

Note to self: Check out $twcweather.alerts.synopsis

Observations

Normally, on a clear day, the responses are usually:

caption

Unfortuunately, it seems that $twcweather.alerts.length will also count nulls.

caption

OR

caption

I have had about 15 of these the past few days. Each time, the weather was only slightly bad. (not worthy of an alert, IMO)


If you'd like to help me understand what $twcweather.alerts.length represents, here is a piston that is ready for import.


.