Umbrella Butler

Umbrella Butler
0

#1

What it does

Philipp had a long-running IFTTT recipe that sent him the weather forecast for the day early in the morning. But he noticed that actually all he really wanted to know is if he needed to take an umbrella with him or not.

Since he had two of the amazing Amazon IoT Buttons he thought of a better solution and came up with this personal Umbrella Butler. Now, when he leaves his home in the morning he can push the button (which is right next to his door) and instantly know whether to take the umbrella with or not :slight_smile:

In Philipp’s words:
"The part of connecting the AWS IoT Button the IFTTT is very (very) tricky. I found two good articles which helped me getting past this hurdle:

Overview

  1. First we need to save the weather forecast (“Today’s Condition”) to a string variable on Apilio and define a condition which matches the relevant conditions (Rain, Showers, Snow, Thunderstorm). See numbers 1 to 3 in the drawing below.
  2. The AWS IoT Button will trigger a logicblock which checks the conditions and sends a notification (you could also take something fancier, a LIFX LED for example) in case I need to take the umbrella with me. See numbers 4 and 5 in the drawing below.
  3. Setup the AWS IoT Button to trigger the evaluation of the Apilio logicblock (either through IFTTT or directly). See number 6 in the drawing blow.

Step-by-step instructions

Before you start make sure that you have connected and setup the IFTTT Webhooks Service in Apilio.

  1. Create a new string variable:
    Name it “todays_condition”
    Leave the value empty
    Save the variable and copy the “set value”-URL
  2. Create a new condition:
    Name it “wet conditions”
    The variable to check is “todays_condition”
    The string compare reference is “Rain Showers Snow Thunderstorm” because for any of these you would want to take the umbrella with you
    Leave “Unmodified since” empty
    Leave “Modified within” empty
  3. Go to IFTTT and create a new recipe:
    Trigger: Use the “Today’s weather report” from the Weather Underground service and set a time early in the morning (e.g. 5 am)
    Action:
    3.1 Select the Webhooks Service
    3.2 Paste in the URL created in step 1
    3.3 Find the dummy-text “your-value-goes-here” at the end of the URL, delete the part und add the IFTTT-ingredient “TodaysCondition”. Your URL should look something like this: [https://apilio.herokuapp.com/string_variables/[your_variable_name_here]/set_value/with_key/[your_key_here]]?value={{TodaysCondition}}](https://apilio.herokuapp.com/string_variables/[your_variable_name_here]/set_value/with_key/[your_key_here]]?value={{TodaysCondition}})
    3.4 Set the Method to “GET”
    3.5 Leave the last two fields empty and save
  4. Still in IFTTT, create a new recipe:
    The “if” is a Webhooks service event (name it “send_umbrella_tip”)
    The “then” is a notification or text to your phone
  5. In Apilio, create a new logicblock:
    Give it the name “rain_today”
    Check the box next to “wet conditions”
    Action Settings:
    Set the IFTTT Webhooks Service event name for the positive case to "send_umbrella_tip"Leave the section for the negative case empty and the advanced options unchecked
    Save the logicblock and copy the “evaluate”-URL
  6. Go to IFTTT and make a new recipe:
    The “if” is a Webhooks service which reacts to your AWS IoT Button (check my comments in the introduction)
    The “then” is a Webhooks service action which calls the logicblock-url created in step 5"