Widget: IoTClient

Former Member
Former Member
Please post comments, problems, questions, and feature requests on the IoTClient ConnectIQ Widget in this thread.

https://apps.garmin.com/en-US/apps/da3db127-3938-4dac-bcf1-e30324fd0d20



  • Former Member
    Former Member over 8 years ago
    Yes, a PUT POST solution for JSON is implemented already. But a SDK problem which we reported to garmin months ago is still unfixed.
    I have to wait for a working Garmin-SDK because this solution will not work with the current SDK bugs.

    I'm sorry!
  • Former Member
    Former Member over 8 years ago
    Version 0.3.0 includes the JSON POST and JSON PUT feature.

    But, Garmin is still working on the Connect Apps. The apps do handle posted (putted) boolean values wrongly! So controlling Hue light may still not work because of this bug.

    ####################################################


    My development environment did unfortunately remove a lot of devices in version 0.3.0 ! Sorry about that!

    I immediately published version 0.3.1 which re enables all the garmin watches.
  • Worked for me with Hue!

    I started here and created an authorized user:
    https://www.developers.meethue.com/documentation/getting-started

    Example

    Device 1 action 1 URL:
    http://<bridge IP address>/api/<authorized user you generated>/lights/<light number you want to control>/state?json_put={on:true, sat:254, bri:254,hue:10000}

    Device 1 action 1 JParam:
    json_put

    The above works with light groups too with some tweaking following the hue developers website.
  • Former Member
    Former Member over 8 years ago
    thanks

    thats great news!

    That means, Garmin fixed the boolean problem in the garmin connect app. (or Hue accepts integers in stead of booleans - I doubt that)

    Thank you for publishing your experiences!

    Could you let me know which kind of Garmin Connect app you are using? (iOS, Android, Windows..)

    thx
    Sten
  • Jeedom integration

    It does not work using this type of url
    https://[your.domain]:[Your port]/core/api/jeeApi.php?apikey=[You API KEY]&type=scenario&id=[integer]&action=start

    I tried locally (without https and port) : same result
    http://[local IP]/core/api/jeeApi.php?apikey=[You API KEY]&type=scenario&id=[integer]&action=start

    What is the problem ?
    Thanks
  • Former Member
    Former Member over 8 years ago
    as your connect app is physically sending the request for your watch it obviously depends on what kind and version of connect app you are using.
    aditionally, please check if your app saved the URL correctly. (iOS-app tends to cut the parameters, so only the first save will work properly)

    But generally, such an URL should work!
  • Thank you for your reply.
    Android 6.01
    Version of Garmin connect: 3.15
    FENIX 3 HR v 4.20

    How to verify that the application sends the HTTP request well?

    Olivier
  • I found.
    When I put the entire url with the parameters in the URL field, the call adds a "?" at the end of url
    And the action parameter of my url contains "start?" Instead of "start"
  • Former Member
    Former Member over 8 years ago
    Event not Triggering

    Hello! Great Widget! Simple and powerful! Just what I needed and have been looking for since I got the watch.

    However, I'm having trouble getting it to work and I'm hoping for some guidance.

    1) When I trigger my URL in IoTCLient (V0.3.1) I receive an OK message, but my event is not triggered.
    2) The same URL works properly when entered into a browser on the Android phone (Same phone with the Connect app)
    3) The URL I'm using is: http://192.168.1.50:3480/data_request?id=action&output_format=xml&DeviceNum=12&serviceId=urn:micasaverde-com:serviceId:DoorLock1&action=SetTarget&newTargetValue=0
    4) I'm using the Android Connect app (v3.15) to configure the IoTClient settings on a Fenix3 (v8.20)
    5) I have verified and re-verified the syntax of the URL as entered into the IoT client and used other device ID and device locations in the app all with the same result
    6) Other watch apps on the watch that work with devices in the local LAN are working properly and can communicate
    7) The JParam field is left blank - Should I be entering something here based on the URL that I'm using?
    8) I suspect it has something to do with the POST/PUT/GET issues I see in the thread, but I'm not sure if I'm missing some syntax.

    Thanks in advance!

    EDIT:

    I now see the same thing that oliverNK1 was mentioning, that seems to be causing the trouble. A "?" is added at the end of the URL which is causing a parsing error on the HA device.

    08 02/23/17 12:12:48.574 JobHandler_LuaUPnP::HandleActionRequest argument newTargetValue=0? <0x71e4a520>

    I found.
    When I put the entire url with the parameters in the URL field, the call adds a "?" at the end of url
    And the action parameter of my url contains "start?" Instead of "start"
  • Former Member
    Former Member over 8 years ago
    if you see an OK the enpoint webserver returned a http response status 200.
    But, maybe not all parameters where sent correctly.


    I need to reproduce this behaviour!
    Could you guys please allways post the whole URLs (if it does not contain security critical parts)!