Communications.makeWebRequest gets BLE_QUEUE_FULL on Garmin Fenix 5X plus

Hello!
Maybe someone has ideas what could be wrong.

I'm trying to use Communications.makeWebRequest and if I copy manually prg file to watch to make "real" testing I always get -101 BLE_QUEUE_FULL. I'm developing Widget and currently it's dead simple. There is one menu item and if I click it it makes request, so it can't be related that my widget makes too many requests, I added even logging and it doesn't, but still -101.

I checked parameters order and tried different things - but all were kinda hopeless attempts.

Everything works perfectly well in simulator (request made successfully and response received aswell) and I have tried to search forum topics around it - tried everything I could imagine.

Maybe it's related that phone is Google Pixel 5 with latest and greatest android with March security patch and I'm using Connect IQ version 3.2.5.

Best Regards

  • hey!
    You are both right, I own proxy server and I can send there JSON and proxy it to Openhab API and make it work like this. That I will probably try to do today. Nevertheless yes perfect goal would be able to send directly to OpenHab API - then I could make actually app and give it to use others aswell as they don't own their own proxy servers etc. In addition OpenHab has their own free Cloud service https://myopenhab.org/. You could send requests there for controlling Your own devices. In OpenHab side also it's problematic to support JSON as input.

    Seems that unfortunately for sending directly to OpenHab API Garmin should start to support raw body - which I don't understand why it doesn't, I think it's easy to support and it would make a ton more flexible solution.

    Anyway if You know any workaround how I could still POST raw then I would, but just currently only my own use-case I will proxy it trough my own server what makes translation.

    Thank You both for those answers and help so far Slight smile

  • You could probably host a proxy on Google App Engine or Amazon Cloud, which would translate the requests for your users. Hopefully you could stay within the limits of the free tier of service.

    I suppose that might be problematic if it would require users to trust your proxy with their data/credentials....

    I realize it's not ideal, however, it seems like CIQ is not going to change to allow raw POST data. (Even if it did, it probably wouldn't change for older devices, which would limit the reach of your app).

    For now it seems like your only two options are:

    application/x-www-form-urlencoded

    application/json

  • Thank You!
    For now go with my own proxy server for POC just and let's see where my mini-project goes Slight smile

  • Okay, good luck and have fun! Let us know how it goes Slight smile

  • Tnx! Sure! I already got it working with very dummy proxy server, but it does what I need. I can lock and unlock my door now from watch.

    I want to make proxy server more universal and I need to make Garmin App side also configuration options about what items and how You want to control via OpenHab trough proxy.

    I don't have very much spare time, but I will get there slowly!

    I keep You updated Slight smile