Nest Weather Alert


#21

I think your piston can be modified to use the info from the Nest Weather alerts, if the short alerts are acceptable to you. Just need to get creative in concatenating the contents.


#22

See if you can duplicate your piston and edit it to look like this… completely untested so you might run into errors.

For the first variable up top… enter the following as an Expression like in the picture below…

replace([Nest Weather (zip):alert] + ", " + [Nest Weather (zip):alert2] + ", " + [Nest Weather (zip):alert3] + ", " + [Nest Weather (zip):alert4],", , ,","",", ,","")

Just to explain what this does… it concatenates all 4 alerts into one string separated by a comma and trims the trailing commas if there are only two alerts and the other two are blank… I did not account for three filled in and one blank… we’ll deal with that later if this works lol.


#23

Finally got a chance to test the weather alert with the modifications you suggested.

Good news: The expressions work. LANnouncer speaks whatever status “Nest Weather (zip):alert” is.

Bad news: the status is only things like “Flood advisory” or “Winter Weather Advisory”. It does not speak the full text, like I see in the notification on my phone.

So is there a way to pull the info directly from the NST Manager notification, or maybe from the National Weather Service website? I know webcore has the “make a web request” function, but I’ve never used it so I’m not sure if that would work or not.

Alternatively, I’m open to using any other service for the weather alerts. I just don’t need a 3 minute narrative, when a 15-20 second version will work just fine.


#24

I have only seen the long verbose (3 minute) narrative, or a short and sweet (2-3 words) alerts. I have not seen or used a middle of the road API.

That being said, many alerts will adjust and change frequently over a couple of hours. (for example, starting off with only a small craft advisory, then later adding a possible tornado, and then later still it adds a flood warning) Repeating the old info each time…

Personally, I like my alerts short and sweet (since that crap gets old quick). After the quick alert is read outloud, I have it read the immediate forecast. This is usually enough info to be helpful without driving me crazy.
(if one of the alerts concerns me, I use a web browser to dig deeper)

For my location, they sometimes change so often, I even took those 2-3 words farther, by reducing them into icons displayed on my dashboard.

I know this is not what you are asking for… I am just sharing my experience.


I usually use the short and sweet (while still being informative)

  • $weather.alerts.alerts.description
  • or
  • AccuWeather plugin’s alert

followed by the current forecast.


EDIT

Here is a sample 3 hour window, with 21 alerts… I have set it up to check for alerts every ten minutes, but only report to me if there is a change in alerts since the last execution. Notice how many of the alerts linger (are repeated) when a new one comes in… (this is why I like short & sweet)

Alert at 6:06 on Thursday =
Severe Thunderstorm Warning
Tornado Watch
Small Craft Advisory

Alert at 6:16 on Thursday =
Severe Thunderstorm Warning
Special Marine Warning
Tornado Watch
Small Craft Advisory

Alert at 6:36 on Thursday =
Severe Thunderstorm Warning
Special Marine Warning
Tornado Watch
Small Craft Advisory

Alert at 7:06 on Thursday =
Special Marine Warning
Tornado Watch
Small Craft Advisory

Alert at 7:36 on Thursday =
Tornado Watch
Small Craft Advisory

Alert at 7:56 on Thursday =
Small Craft Advisory

Alert at 8:06 on Thursday =
Small Craft Advisory
Marine Weather Statement

Alert at 9:06 on Thursday =
Small Craft Advisory

Alert at 13:06 on Thursday =
CLEARED


#25

I was playing with the nws api earlier but not getting the full data into webcore. I’ll try it again tomorrow during my down time.


#26

Interesting, this may work for me too. Do you have a working piston you could share? I like the part about adding the immediate forecast too. I would like to try it and see if it works for my situation.

Also, do you have any more info on the AccuWeather plugins? I’ve been using weather underground weather stations (my neighbor has one in his backyard).


#27

Ok, after a lot of trial and error trying to wrestle with geojson with no success… this is what I came up with. This is very basic, you need to execute the piston manually for it to get data. You can incorporate a timer or some trigger if the result is satisfactory.

One little bit of setup, you will need your Zone ID that you want to monitor from the NWS website.

https://www.weather.gov/
Enter Zip Code in zip code box
Scroll down to the bottom to Additional Forecasts and Information
Hover mouse over the text ZONE AREA FORECAST FOR and take note of your 6 digit zone ID.
Enter zone ID in the zoneID variable.

If there are no alerts in your area… this is what it will look like…

image

If there is an alert… (this is from WY, zone ID WYZ028 if you want to try it – Alert is as of this posting)
image


#28

Here is the install instructions for AccuWeather Connect for SmartThings.

One caveat, WUnderground is faster to update and a bit more accurate, but I still like the above plugin. (It is actually seen as a ‘device’ so there are a few things that AW can do that WU cannot)


I do not have a sharable piston for this at this time… Maybe after the holidays I can whip something up…

The part that I have read out loud is basically:
$weather.alerts.alerts.description
plus
$weather.forecast.forecast.txt_forecast.forecastday.fcttext[0]


#29

Preliminary tests look good. I really appreciate the effort you put in with this. I’m going to tweak the piston a little to add in the LANnouncer pieces, but so far, so good. Thanks again! :star_struck: