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 8 years ago
    How to change recipe ?

    I've submitted my updated version of the app. Notes about the changes...

    • The user interface is completely different.
    • You switch between recipe triggers via the menu.
    • The menu is sorted so the most recently used triggers are at the top of the menu.
    • Special values are no longer strings, which may mean you need to create new recipes or modify existing ones in IFTTT, but it allowed me to support more triggers (I may add more in the future).
    • Trigger values are properly gathered when the request is submitted and they are not cached.
    • On devices that have tone support, a tone will play on timeout, failure or success.
    • On devices without tone support, a vibration will play on timeout, failure or success.


    If you have feedback, I'd like to hear it. I've finished my marathon training and I have more time to work in these little toy projects.

    Travis


    Hello ! Thank you for updating the app !

    I have a pretty dumb question about the last version. I have a forerunner 235 and I can't figure out how to change the recipe. I can only trigger the first one and I don't understand what is the "menu button" on the watch.

    Thank you !

    Michaël
  • This is covered in your device manual. Hold the up arrow to enter the menu.

    Travis
  • Former Member
    Former Member over 8 years ago
    Working very well on my edge 1000 Travis... looks like I owe you some more beer tokens!
  • Former Member
    Former Member over 8 years ago
    separate lat / long values?

    Hi Travis,

    Thank you for the great widget. I am however having some difficulties trying to get the correct values to ifttt.

    I have a trigger that sends a mail with a link to a mapbox map w/a marker for my location. I configured the values through Garmin Express.
    To construct the maplink I need the separate values for longitude and latitude, however the result is always in latlong format. See random example below. Am I doing something wrong?

    • 51.062217,3.691229
    • 51.062217,3.691229
    • 2016-10-10T12:49:54+0200


    Value 1 should be longitude, 2 should be latitude and 3 is the timestamp (correct).

    Kind regards.
  • Former Member
    Former Member over 8 years ago
    Is there a way to name the event? It seems to be removed from the last update..
  • Former Member
    Former Member over 8 years ago
    Maker Widget - event1 all the time / Keeps forgetting settings

    Good evening -

    I've installed the maker widget (was a loyal user of GIFTTT) and have observed a few strange things:

    1) No matter what I setup for the different events - I can only get "event1" to show up after syncing. None of the settings I input into Garmin Express seem to stick (like - other event names, display names, value 1s, etc.).
    2) The UI in Garmin Express - up until yesterday, it only showed me 3 possible entries, then today I uninstalled and re-installed the app, and it showed many more entries and the drop downs. I customized those with the watch plugged in, synced, and went to the watch and just saw "invalid key". So I plugged the watch back in and went to edit the settings, and it showed me the old settings (where there were only 3 options), and again none of the information I had typed in before actually showed up. When I customized that screen (the old one) and synced, then went to the watch, I only see event1" - none of the things I typed in are sticking.

    Event1 does seem to work if I setup an IF event for that, however, I'd like to be able to fully use the app.

    Any advice?
  • OtherJosh,

    The most recent version of Maker allows more than 3 triggers (I think it is 10). When you update the app all of the settings are thrown away and you have to configure the app again.

    That said, I'm unsure why you're sometimes seeing the old settings page and other times you're seeing the new one. My only advice would be to completely remove the app (from Garmin Express or Garmin Connect Mobile) and then re-install it. I'm hoping that this will get the system back to a sane state where the settings file is in sync with the application version.

    Travis
  • I have a trigger that sends a mail with a link to a mapbox map w/a marker for my location.

    Yes, I do this with google maps. I set Value 1 for the trigger (in the maker app) to Position, and then use maps.google.com/maps in my IFTTT recipe.

    To construct the maplink I need the separate values for longitude and latitude, however the result is always in latlong format.

    You are doing nothing wrong. I introduced a bug when I made a final pass through to clean up my code. I've fixed it and uploaded version 1.2.1.

    Travis
  • Is there a way to name the event? It seems to be removed from the last update..

    The trigger name is now the name that is displayed in the app. I needed to do this to avoid a limitation on the number of triggers.

    Travis
  • Former Member
    Former Member over 8 years ago
    Yes!

    Yes, I do this with google maps. I set Value 1 for the trigger (in the maker app) to Position, and then use maps.google.com/maps in my IFTTT recipe.


    You are doing nothing wrong. I introduced a bug when I made a final pass through to clean up my code. I've fixed it and uploaded version 1.2.1.

    Travis


    Just updated. Works like a charm now. Pretty awesome. I use Mapbox which needs coordinates in long/lat order.

    Now I can mail my wife a comforting message with a stylish map to show her where I am or that I'm almost home and she need not be worried. Or that I'm crashed, in which case ...!

    Thank you so much for this great widget.