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
    820

    Does this work on the 820 or can it be made to?

    I am trying to make a trigger to respond to any text with a choice for pre-canned responses like the pebble watch can do. That way when riding if I get a text or phone call I can chose a text response of:
    "riding will call asap"
    or something like that. Though it asks for the specific number I wish to use. Is there a value that can be entered to cause it to chose to respond to the number that received the text or call?
  • I will be releasing an updated version that will work with the edge devices when I get some time.

    Unfortunately, there isn't any way with this app to send a pre-canned text message back to someone that has just called or texted you. The app doesn't have access to information about the incoming call/text or the number to reply to. For this to happen, you'd need to have a phone app that sent the information along when the call/text arrived, and then gathered up the response and sent it along. I'm guessing there is something in the app store that has a companion app that does it.

    Travis
  • Using Special values

    Tried using the special value parameters .... using :location gives me an error like this IQ!

    Using the :latitude and :longitude is always blank ... even when I have been outside for a period of time, and apps like "run" are able to get GPS

    Ideas on what I may be doing wrong?

    Thanks, Paul-
  • Using Special parameters

    Hi,

    Using :location is giving me an error like this on the watch: IQ!
    Using :latitude and/or :longitude gives me blank values - always, inside, outside or even if I can use apps like "run" that first check gps.

    Any ideas?

    -Paul-
  • More info on the special parameter issue

    See my post above, but in playing with this I found that if I try the parameters with the first position of things to send to ifttt then I get an IQ! error, if I put some other trigger there and move it to the second position it does "send" (I get the 200 confirmation) but the fields are blank for :location, :latitude, :longitude and :datetime ... if I just stick some value in there they do come through correctly (like some junk text)

    I'm Using a Fenix 3 for the watch part and an iOS device for Garmin connect ... both connect, maker and the watch are all on the latest software.
  • Former Member
    Former Member over 8 years ago
    Hi Travis, Any update to being able to work on this for the edge devices yet?
  • Yes, I've got something I could submit right now, but I want to make the UI less ugly. I've also fixed a few of the annoying bugs for those that rely on the special token values. I'd like to finish it by this weekend.

    Travis
  • Okay, with some feedback I've completely rewritten my code. I just need to update device-specific resources and I should be done. I should be able to support everything with support for ConnectIQ 1.2 and later (all current devices with widget support).

    Travis
  • Former Member
    Former Member over 8 years ago
    Okay, with some feedback I've completely rewritten my code. I just need to update device-specific resources and I should be done. I should be able to support everything with support for ConnectIQ 1.2 and later (all current devices with widget support).

    Travis


    Awesome, looking forward to it.
  • 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