Widget: Maker

You'll find the widget here... https://apps.garmin.com/en-US/apps/f...2-7178a9da1985

Maker is a simple widget that allows Garmin devices to trigger IFTTT events via the IFTTT Maker Channel (http://ifttt.com/maker). This may not sound all that interesting, but here are a few things it can allow you to do.
  • Open or close your garage door (using SmartThings, Garagio, ...)
  • Turn on or turn off a fan or other device (using SmartThings, Wemo, ...)
  • Control a programmable thermostat (using Nest, Honeywell, ...)
  • Change lighting, open/close blinds (using SmartThings, Hue, ...)
  • Text a brief message (using SMS, e-mail, ...)


Anything you could control with IFTTT, you can control with Maker. Some actions may require purchase of additional hardware (to control lighting, you'll need lights that are controllable similar to the Phillips Hue, or to turn on/off a switch you might need to buy something like a Belkin Wemo Switch).

To use this app, you must use Garmin Express or Garmin Connect Mobile to configure your IFTTT secret key. If you don't set these attributes, you will get an error when you try to submit.

Setup

Configure the IFTTT trigger
  • Go to https://ifttt.com, click the Account link (your user profile icon) in the top-right corner of the page.
  • Click My Applets from the top of the page. You should be presented with the list of your applets (assuming you have some).
  • Click New Applet from the top-right of the page. You should be presented with the Applet Maker.
  • Click the +this link
  • Search for WebHooks, and click the WebHooks channel icon from the channel list
  • If you haven't already configured the WebHookschannel, click the connect button.
  • Click the Receive a web request link
  • Enter an Event Name, and click Create Trigger. Note that the name you choose here will be the trigger name in the Maker app (see step 5 below).
  • Click the +that link
  • Click the IF Notifications channel icon from the channel list (you could choose any channel; in this example we're generating a message on your iOS device).
  • Click the Send a notification link
  • Click inside the Notification box.
  • Set the Notification text as you wish, being sure to use the {{EventName}}, {{Value1}}, {{Value2}} and {{Value3}} special values as necessary.
  • Click the Create Action button
  • Edit the Recipe Title as you see fit.
  • Click the Create Recipe button


Configure the Maker app
  • Go to https://ifttt.com/channels/maker, and click the settings icon near the top-right corner, below your profile icon.
  • Note the URL shown in the Account Info section. Select the secret key part of the url and copy it to the clipboard (CTRL+C). Note that the secret key is the alphanumeric bit following the last slash in the URL. e.g., if URL is https://maker.ifttt.com/use/AnaweiNO91NWDUIna, then AnaweiNO91NWDUIna is the secret key.
  • In Garmin Express, click the ellipsis icon next to the Maker app icon to configure the app
  • Paste the key into the IFTTT secret key field (CTRL+V)
  • Set the Name field to the Event Name you entered in the IFTTT trigger configuration (see step 7 above)
  • Set the other fields for the first trigger as you see fit. See notes below about special trigger values
  • Click the Save button
  • Eject the device, and start the Maker widget. The procedure to do this depends on device; see your device documentation for details.
  • Tap the screen or press the enter key to trigger the event being sent to the IFTTT service
  • If you have multiple events enabled in the app settings, you can use the menu button to select from the list of enabled events.


Special Trigger Values

If you specify a trigger value, the system will gather the appropriate data from the device and send it along with the request. The special values are listed below, along with a brief description of the what they will be replaced with.
  • Altitude will be replaced with the current altitude in meters (e.g., 72)
  • Latitude will be replaced with the current latitude in decimal degrees (e.g., 44.565198)
  • Longitude will be replaced with the current longitude in decimal degrees (e.g., -123.280963)
  • Position will be replaced with the current latitude and longitude in decimal degrees (e.g., 44.565198,-123.280963)
  • Timestamp will be replaced with the current date and time in ISO8601 extended date and time format (e.g., 2016-05-24T23:20:17-0700)
  • Time of Day will be replaced with the current time of day in 24-hour clock mode (e.g., 23:20:17)


Release History:

1.2.0
* Completely revised the UI.
* Added support for up to 8 triggers, selectable via the menu instead of swiping or using the arrow keys.
* Fixed a bug that sometimes resulted in position data not being sent with requests.
* Added support for all devices that support Widgets on ConnectIQ 1.2.
* Removed the ability to specify arbitrary strings to be sent with requests. This can be worked around by creating additional triggers in IFTTT.

1.1.4
* Fixed a bug that prevented the progress view from being discarded with a back button press.
* Built with the 1.2.10 SDK.

1.1.2
* Fixed a bug that caused the app to crash when using a last known gps solution.

1.1.1
* Reduced number of triggers to 3 to work around issues with Garmin Express.
* Fixed :location trigger to format values as expected.
* Fixed :location, :altitude, :latitude, and :longitude replacements to only take effect if a recent or decent GPS solution is found.

1.1.0
* Add value replacement so data from the watch can be forwarded to the IFTTT service.

1.0.9
* Add support for two trigger values.

1.0.8
* Initial Revision
  • Former Member
    Former Member over 9 years ago
    Honestly, I don't know what is going on. I ran into the problem saving properties before publishing. It doesn't happen when using the development tools, only when using Garmin Express (I haven't tried Garmin Connect Mobile). I thought I had fixed it by reducing the number of string properties. I had tested it with two value fields and it worked fine on my test device, but I re-downloaded again this morning and it is not working.

    I don't think there is anything that you can do to fix it. I'll have to figure out what is going on and then make the necessary code changes. If you connect your watch to your computer and you find a CIQ_LOG.TXT file in the GARMIN/APPS folder, paste the contents of the file here or e-mail them to me. The data should help me debug.

    I'm sorry this isn't working out. I'll try to get it fixed as I have time.

    Travis


    No worries, it's a work in progress I understand. Hopefully all of us interested in using the widget can help.

    So I just updated Garmin Express to the latest version 4.1.22.0 and decided to test it again, just in case. I plugged in my Epix to confirm that my key was actually being saved. It was, however I'm still getting the same character limit error If I try to edit the settings.

    I've attached my . Towards the end there might be something useful, the rest seems to be some rubbish about a bike power sensor which I don't even have :confused: ... anyways, hope it helps.

    Thanks!
  • I've made changes to all reported issues.

    To avoid the Garmin Express failure to save settings, I've temporarily reduced the number of triggers to three and I've removed limits on the lengths of the strings you can enter. I expect that I'll limit the Display Name to something short, but the other fields don't really need to be limited.

    I fixed the 500 error when using the :location special value. It is now replaced with a string of the correct format, which avoids the error.

    To avoid sending garbage when using the :latitude, :longitude, :altitude, and :location special values, I've added checks to validate the position data. If the GPS solution is more than 60 seconds old, or it is otherwise not usable (poor quality), the values will not be sent. Right now there is no indication of the GPS signal quality, so I need to add something to the UI for it. I'll also need to add code to check the quality (only for triggers that need it), and prompt to see if you'd rather wait for a better GPS solution before sending.

    Again, these changes are just quick fixes to get it working for those that were having trouble. I'll be improving this as time goes on.

    Travis
  • Former Member
    Former Member over 9 years ago
    I see that this is a new app and so I got it. Just because it said that I can send text or short messages, and having an iPhone none of the other apps work. Does this? And if so how do I make a "recipe" that does that? I am completely new to the ifttt thing. But it could be very usefull if I could figure out how to use it. Thanks dylan
  • You have two options. If you enable the SMS channel in IFTTT, you can specify the number that will receive the text message. This is useful if you want all notifications to go to the same person. If you want some control over where the text message is sent, you can use e-mail. Most wireless providers supply an e-mail alias that can be used to send text messages to a device on their network. In the US, you can do this with all of the carriers that I'm aware of (see here).

    To do this...
    • Go to IFTTT, and and create a new recipe.
    • Click this, and then type Maker in the search box.
    • Click Maker.
    • Click Receive a web request.
    • Type text_message in the Event Name field.
    • Click Create Trigger.
    • Click that.
    • Type either GMail or Office 365 Mail
    • Click Send an e-mail.
    • Here you can make a choice. You can...
      • Enter an e-mail address for the mobile number you want to send a text message to. For example [email][email protected]
      • [/email]. All messages you send to this trigger will go to that phone number.

    • In the address field, click the blue flask on the right, and select Value1. This lets you use the same recipe to send messages to any number(s), provided that the e-mail address for that number is passed as Value1 in the Maker app configuration. This is the option that I'm going to use.

    • Set the Subject and Body fields as you see fit. You can use Value2 to do other useful things. For instance, you could set thebody to I'm heading home from here... www.google.com/.../@{{Value2}},16z. If you set Value2 to :location, the user will get a text message to a google map with your current location.
    • Click Create Action.


    No go configure the Maker app. The process is the same as listed in my original post. If you used Value1 to specify the recipient, make sure to set Value 1 to be an e-mail address as mentioned above. I believe you can use a comma to separate multiple addresses if you feel the need. If you use Value2 in the action as I suggested, be sure to set that appropriately as well.

    Now when you activate that trigger, you'll be sending a web request from the Maker app, through your phone to IFTTT's Maker web service. IFTTT will take that message run it through the action you defined and that will generate an e-mail that gets sent to the wireless provider, the wireless provider will convert that e-mail to a sms message, and then forward it along to the device associated with that number. Viola.

    Travis
  • Former Member
    Former Member over 9 years ago
    So I'm confused I got to the subject and body fields. But I don't get what to put in them, like I said this is my first time use this. I'm doing the secound option. Option B. Also what is "your personal ifttt secert key"? I also just want simple responses like "sure" "ok". Thing like that
  • Former Member
    Former Member over 9 years ago
    Thanks for the effort

    Tried and the posting go through.
    How do i know if the gps is good?
    What should i do to be able to send the location and altitude?

    Thanks for the effort. Really loves the app and appreciate for your time and effort.
  • Thanks for the widget version, working good here with HUE lights and to send en emergency txt if need be.

    It's probably down to the FR235 but it does take a bit of time to launch, about 3 seconds. Could there be an option to go straight to the toggles rather than staying on the M screen?
  • The widget system requires that you enter the widget (by tapping the screen or pressing enter). Until you enter the widget, it won't receive many of the normal input events.

    If the widget started out in the trigger selection menu, you wouldn't be able to use arrow keys and screen swipes to navigate the menu until you had tapped the screen or pressed enter. Normally tapping the screen or pressing enter on a menu selects the given menu item, and this would vary from that normal behavior. There would be confusion.

    The only thing I could really do would be to go back to how the app worked. I could display the most recently used trigger initially. If you press enter or tapped the screen, that would initiate the command. If you press menu, you would be presented with a menu of the available triggers. When you pick one, the menu would go away and you'd see that trigger as the current selection.

    As it is now, you'd...

    • swipe to widget
    • press enter to enter widget
    • press up/down to select correct trigger
    • press enter to trigger action
    • press back to leave summary screen
    • press back to exit the widget


    With this proposed change, you'd...

    • swipe to widget
    • press enter to trigger action


    If the trigger you want was the last used. Otherwise, you'd...

    • swipe to widget
    • press menu to get to the trigger selection menu
    • press up/down to select correct trigger
    • press enter to choose that trigger
    • press enter to trigger action
    • press back to leave summary screen


    It would be fewer clicks on average, so it has some advantages. The problem is that I need to come up with some UI for the initial view. This, for me at least is the hardest thing to do. Of course another option would be to just have a single trigger for the widget, but offer a bunch of them as separate downloads.
  • I think I could eliminate the need to press enter the last time in the last scenario. If you pick a trigger from the menu, I could just send the command, and make the trigger the active one all in one shot.
  • Thanks for looking into this in detail, the "dual" approach is interesting with latest/menu, would be happy to try it.