WatchApp: GIFTTT Alpha (Garmin device IFTTT trigger)

https://apps.garmin.com/en-US/apps/04890351-a25c-40ad-afae-f3c6907fe05f

GIFTTT is a simple application 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
  • Turn on or turn off a fan or other device
  • Control a programmable thermostat
  • Change the ambient lighting, open/close blinds
  • Text your wife a pre-written message


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

Instructions:
  • To use this app, you'll need to configure an IFTTT account, and activate the Maker channel (http://ifttt.com).
  • Once you've done this, you'll have to get into the application settings for GIFTTT and set the secret key you were given.
  • You will then need to create an IFTTT recipe to connect the services that you wish to use. For instance, if you wish to send your wife a pre-written text message, you would configure the Maker channel as the 'this' portion of the recipe, and iOS/Android Notification as the 'that'.
  • Now that you have a IFTTT recipe in place, you will need to configure one of the tasks in GIFTTT with the name and values you want to feed to the IFTTT recipe. You can do this from the GIFTTT menu for the task you want to modify.
  • To submit an action, you just have to pull it up on screen it and press enter.


Notes:
  • I don't currently have any logic in place to verify your key is correct and I don't check that you've entered one at all. I plan to fix this in the future.
  • The app currently does nothing to tell you that your device is not connected Garmin Connect Mobile. You will get errors when trying to submit requests, not before. I'd like to fix this so users see a not connected page.
  • The app currently displays a 404 error code. This does not mean that the send didn't work, it just means that the IFTTT server responded with data that couldn't be parsed by the devices JSON parser. I need to figure out how to tell IFTTT to send back JSON data.
  • There is currently no support for adding/deleting actions. You can rename and configure the existing ones, but you can't add or delete them. This will be addressed soon.
  • This is currently a watch-app, but I'd like it to be a widget. As soon as I can figure out how to get the widget to let me use the up/down arrows, I'll switch over. I'm considering adding a widget that has only one action (similar to the existing IFTTT Do channel).
  • The user interface is a little clunky. I'll work to refine it in the future.
  • I'd like to be able to send data from the device in place of the hard-coded value strings. For instance, you could send your current position and speed data to IFTTT.
  • If you have ideas on how to improve this app, please feel free to make requests.


Release History:

0.0.2
* Remove my secret key from the default settings.

0.0.1
* Initial Revision
* Supports 920XT with 4.20 firmware (ConnectIQ 1.1.2)
  • Multiple triggers on a single page only really works with touch enabled devices. One trigger per page allows me to support more devices with a single version of the app, which I really appreciate.

    I could make a touch specific widget that was just a bunch of user configurable buttons, say 1-9 for a vivoactive, and just activate them with a tap. Again, it would only work well on a touch-enabled device, but it could be done.

    I already have a widget version that I was working on. When you swipe it on to the screen, an app icon is displayed. You then tap the screen (or press enter) to get to the trigger list, and then swipe (or use arrow keys) to go through the triggers, and tap (or press enter) to activate a trigger.

    I could also make a multiple widgets that have just a single trigger. You swipe it on screen and then tap to activate. That would be really easy, and I'd have plenty of room for fancy graphics and animation.
  • Thanks... that should help! but still ... a pin code protection would be nice...


    This is something I could add in an update pretty easily. Unfortunately it probably would not be a pin pad like you're thinking (that would be nice on a touch-enabled device, but not so great from a device that uses up/down arrows and an enter key).
  • Thanks for responding

    That makes since re multiple triggers. As a vivoactive user I didn't consider non touch devices


    As a workaround to the fields out of order issue on Garmin connect - could you prefix each field name with which trigger it belongs to?

    T1 friendly name
    T2 friendly name. Etc.

    Then even if out of order we can still figure it out a bit.
  • As a workaround to the fields out of order issue on Garmin connect - could you prefix each field name with which trigger it belongs to?


    I could do that. As it is a bug in Garmin Connect Mobile, I'm inclined to leave it as-is and let the issue resolve itself. I'm probably going to deprecate the current GIFTTT app and make a new one that is a widget. This would mean no more changes to the existing app moving forward.

    Travis
  • Former Member
    Former Member over 9 years ago
    How to use?

    I have no idea whatsoever how to set this up.
    In the garmin mobile app, it has multiple options of the same thing.
    It says in the settings (in this order):
    Secret key
    Value 2
    Friendly Name (Trigger 1)
    Friendly Name (Trigger 2)
    Trigger Name (trigger3)
    Trigger Count (2)
    Value 2
    Value 1
    Value 2
    Value 3
    Trigger Name (trigger4)
    Value 3
    Friendly Name (Trigger 5)
    Friendly Name (Trigger 3)
    Value 1
    Confirm requests (a switch on the right)
    Value 3
    Value 2
    Value 1
    Value 2
    Value 1
    Trigger name (trigger2)
    Value 1
    Value 3
    Trigger Name (trigger5)

    The parenthesis signify small gray letters below title. Except in the case of the confirm requests switch.
    I do not know why there is the value 1 listed five times, or why value 2 is also listed five times and value 3 also five times.
    I don't understand what I need to put here if anything and what this is for:
    maker.ifttt.com/.../(mykey)
    with my key in where the parenthesis are.

    If anyone can help me understand how to use it that would be helpful.
    I have an android, highest update of garmin connect, pretty sure highest update on the VivoActive.
    Or if there is already a tutorial please post a link reply to me.
  • There is a Garmin Connect Mobile bug that causes the entries to appear out-of-order. If you use Garmin Express, you will see things as they are supposed to appear. There are supposed to be 5 configurable triggers, and the fields are in order, something like this...

    • Secret Key
    • Trigger Count
    • Confirm
    • Friendly Name
    • Trigger Name
    • Value 1
    • Value 2
    • Value 3
    • Friendly Name
    • Trigger Name
    • Value 1
    • Value 2
    • Value 3


    When it is displayed in the proper order, it makes sense. I haven't taken the time to work around the bug, mostly because I'm working on other projects.

    If you don't care about the value parameters, just put your IFTTT secret key in the Secret Key field, and replace trigger1 with the {event} name you want to use for your first trigger. If you want a display name that makes sense, replace the friendly name Trigger 1 to match. i.e., if you change the event name trigger1 to garage_door, you probably want to change the friendly name Trigger 1 to Garage Door.

    I'm already working on a widget to replace this app, so I'm not going to invest more time to work around the Garmin Connect Mobile bug.

    Travis
  • Former Member
    Former Member over 9 years ago
    app broken

    I saw there was an update to this app. so I uninstalled the version I had and installed the most recent version. this was all done through Garmin Connect Mobile on android. I then updated all the fields in the GC android app and resynced everything. i am now getting the error in the link below when i open the app.

    https://goo.gl/photos/RDmWG28z5iSP6hpw6
  • If you connect your fenix3 to a computer via USB, you should find a CIQ_LOG.txt file. Could you send it to me? It will give me some idea of where it is crashing.

    The only changes I made were to the property names that are displayed in Garmin Connect Mobile/Garmin Express. This shouldn't have caused any problems, and it is working fine on all three of my devices.

    Travis
  • Former Member
    Former Member over 9 years ago
    If you connect your fenix3 to a computer via USB, you should find a CIQ_LOG.txt file. Could you send it to me? It will give me some idea of where it is crashing.

    The only changes I made were to the property names that are displayed in Garmin Connect Mobile/Garmin Express. This shouldn't have caused any problems, and it is working fine on all three of my devices.

    Travis


    Thanks for the quick response. i send you a PM with the info.
  • Thanks

    Thanks for the change to clarify the property names

    Working well now from iOS.

    (Simple setup - 2 triggers calling different trigger words with no extra parameters)

    Thanks