Kevin Key's Blog

Wednesday, May 17, 2017

Amazon Alexa skill: Connect your Alexa/Echo to your Weather Underground Personal Weather Station

Want to ask Alexa for the readings of your personal weather station? Now you can! 

Finally, an Alexa skill that pulls the data from your personal weather station via Weather Underground.

Reports current conditions including temperature, humidity, wind speed, wind direction, pressure, rain in the past hour, rain in the past day, and much more. You can ask for all conditions or just a specific condition.

May 29, 2017: Coming soon: a better way to enter the station ID. I'm working on an enhancement that will allow one to pick from a list of stations based on ZIP Code. The skill will make use of your Echo's postal code and give you a list of stations to pick from. This will be an alternate way of specifying your Station ID vs. the sometimes frustrating task of getting Alexa to recognize the letters in your Station ID. Stay tuned...

Kevin

May 19, 2017: Added support for metric system. To use metric units, say SET UNITS METRIC.

I've included a basic forecast (via Weather Underground data) as well.

All you need is the Station ID and a free API key from Weather Underground. You can get your API key by going to www.wunderground/api and signing up. All you need is the Developer option. 

Please note that this skill is geared towards people that want to get current data from their person weather stations vs. those that want detailed forecasts.



If you really enjoy my app, donations are always appreciated.  You can donate to me via PayPal
INITIAL SETUP INSTRUCTIONS: 

To set the API key and personal weather station ID:

  1. First, make note of your personal weather station ID. Most station IDs begin with the letter 'K' followed by a two-letter state abbreviation. Then there is a letter abbreviation for your town/city followed by some numbers.
  2. Next, get a Weather Underground API key by going to https://www.wunderground.com/api
  3. Sign in, if you haven't done so already.
  4. Select any of the "Developer" plans. There is no charge. Complete the process.
  5. Make note of your API key - it will be a series of numbers and lower-case letters.
  6. Have your API key and station ID noted down and readily available.
  7. Get Alexa's attention - say "Alexa" and wait for the confirmation tone and/or light.
  8. Say "Personal Weather".
  9. Wait for the app to say "Welcome to Personal Weather..."
  10. After you hear "Please say a command" and then the tone, say "SET KEY" followed by your API key.
  11. It may take a few attempts to get Alexa to recognize your API key. You can try using the NATO phonetic alphabet* if Alexa keeps having trouble understanding you.
  12. Once the app successfully recognizes your API key, it will let you know.
  13. Now it's time to set the Station ID. Get Alexa's attention - say "Alexa" and wait for the confirmation tone and/or light.
  14. Say "Personal Weather".
  15. After you hear "Please say a command" and then the tone, say "SET STATION" followed by your station ID.
  16. It make take Alexa several attempts to recognize your Station ID. You can try using the NATO phonetic alphabet* if Alexa keeps having trouble understanding you.
  17. If the app finds a valid Station ID, it will tell you the location associated with the station. If the station is correct, say "yes" when asked whether you'd like the save the station ID.
  18. Once you have the API and station ID set up, you should not have to enter them ever again.

* NATO Phonetic Alphabet

You may have to use this technique to get Alexa to recognize the letters in your API key and station ID. If you don't know the words associated with the letters, you may wish to note down the phonetic spelling of your API key and station ID before repeating the above instructions.

AAlphaAl fah
BBravoBrah Voh
CCharlieChar Lee
DDeltaDell Tah
EEchoEck Oh
FFoxtrotFoks Trot
GGolfGolf
HHotelHoh Tell 
IIndiaIn Dee Ah
JJuliettJew Lee Ett
KKiloKey Loh
LLimaLee Mah
MMikeMike
NNovemberNo Vem Ber
OOscarOss Car
PPapaPah Pah
QQuebecKeh Beck
RRomeoRow Me Oh
SSierraSee Air Ah (
TTangoTang Go
UUniformYou Nee Form
VVictorVik Tah
WWhiskeyWiss Key
XX RayEcks Ray
YYankeeYang Key
ZZuluZoo Lo


Once you have your API key and weather Station ID configured, here's how to use the app.


Simply get Alexa's attention and then say "Ask Personal Weather" followed by one of the below words or phrases:

Current Conditions:
        "current conditions",
        "everything",
        "conditions",
        "current",
        "current reading",
        "readings",
        "reading",
        "now",
        "report",
        "the current conditions"

Dew Point:
        "dew point",
        "dewpoint",
        "the dew point",
        "what is the dew point"

Heat Index:
        "heat index",
        "the heat index",
        "what is the heat index"

Humidity:
        "humidity",
        "how humid is it",
        "the humidity",
        "how humid it is",
        "check the humidity",
        "check humidity",
        "what is the humidity",
        "how dry is it"

Pressure:
        "pressure",
        "the pressure",
        "what is the pressure",
        "is the pressure rising",
        "is the pressure falling"

Rain:
        "rain",
        "precipitation",
        "the rain",
        "how much rain",
        "rainfall",
        "how much has it rained",
        "rainfall amount"

Temperatue:
        "temperature",
        "how hot is it",
        "how cold is it",
        "how hot is it outside",
        "how cold is it outside",
        "the temperature",
        "how hot it is",
        "how cold it is",
        "check temperature",
        "check the temperature",
        "what is the temperature",
        "is it hot",
        "is it cold"

Wind:
        "wind",
        "how fast is the wind",
        "what is the wind speed",
        "the wind speed",
        "the current wind speed",
        "current wind speed",
        "check wind speed",
        "is it calm",
        "is it windy"

Wind Chill:
        "wind chill",
        "the wind chill"
 
Forecast:
        "forecast",
        "weather forecast",
        "weather be like",
        "how hot will it be",
        "how cold will it be",
        "what will the weather be like",
        "what is the forecast",
        "the forecast",
        "get forecast",
        "tell me the forecast"