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
    This is awesome! I have been using GIFTTT since it's release. Having this as a widget it SOOO much nicer!!!

    Thanks!!!
  • Thanks for the widget version, I tried installing it via GCM but apparently it wants me to update my 235, does it require v4.30 ?
  • Tried to configure the app and got this response:
    Unable to save changes. Maker has a character limit for settings.

    My key has about 43 characters in it.
  • Former Member
    Former Member over 9 years ago
    If there is indoor no signal it is not possible to use the variable ":location". The error code is 500 (internal error). Better would be an empty output or a fallback value. The ":altitude" is then 9899999762399946768121856.000000

    But for the first version very nice. Thank you.
  • Former Member
    Former Member over 9 years ago
    Value 200

    What does the value 200 means when i press the button??
  • Former Member
    Former Member over 9 years ago
    It means OK or the action was successful processed.
  • Former Member
    Former Member over 9 years ago
    Ic.. Why not just put success or ok and remove the no.?
    I feel its not neccessary to have it unless its error.
    Another issue. I use :location and i get 500 internal error.
    How to resolve? ( fyi, i have gps connected)
  • Why not just put success or ok and remove the no.?

    Because I wanted to display the response code and I didn't want to use a completely different status screen for both successful and unsuccessful responses. The screen looks really barren if you just display 'Success' and nothing else.

    Another issue. I use :location and i get 500 internal error.

    This is mentioned above. It is likely a problem with the data being passed to the web service. I looked at the request and I see /trigger/test/with/key/XXXXXXXXXXXXXXXXXXXXXX?value1=N%2044.678717%C2%B0W%20123.216199%C2%B0&value2=82.215390. So I know the data is coming through most of the time (though it is not in the format I want it to be). I also see requests that look like /trigger/test/with/key/XXXXXXXXXXXXXXXXXXXXXX?value1=__.______%C2%B0___.______%C2%B0&value2=9899999762399946768121856.000000 This must be happening if the gps data is not good. I might have to check the gps quality and if it isn't 'good', I'll have to prompt the user to wait or to submit with the bad position data.

    I'll try to fix these tonight.

    Travis
  • Former Member
    Former Member over 9 years ago
    @TRAVIS.VITEK

    Hi, I just sent you a message via the Connect Store, since I was getting an error regarding my key being over the character limit allowed in the settings of your widget. I got this error while using Garmin Express. I was itching to try the widget and tried entering my key again, this time using my phone and it seems to have accepted my key without any errors.

    However, when I try and test the trigger...I just get an IQ logo with a yellow exclamation mark, but nothing happens.

    Any ideas on how to fix this? I'd love to test this out.

    Thanks!
  • 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