Status of the "Android Integration" app

Posted on
Page
of 5
  • "I tried GitHub commit X and it's not working, I don't know why and I have no log files"

    Should be easy enough to avoid when we write down specific steps on how to report bugs and collect the logs for that.

    if you can get that set up, it might be really handy.

    Will have a look.

  • Well, what I really want is to get a 'Gadgetbridge for Bangle.js' app in the F-Droid store, so I get automatic updates without relying on the proprietary Play Store.

    @rigrig not yet, no. I'm wondering whether it's actually worth trying to get Gadgetbridge themselves to build the Bangle.js variant (since it looks like somehow nightlies are handled).

    Well, the idea is that F-Droid builds it ;-)
    I was mostly asking in case you already had a F-Droid Plan, but just hadn't gotten to it.

    Would you mind if I tried to get it added? The plan would be to open a merge request and ask the nice people at F-Froid for the best way to go about it. (I'm hoping for now we can just point it at your GitHub repo and mark it as "beta".)
    Even if you'd prefer it wasn't listed on F-Droid before you release it, it would be nice to have that stuff figured out by then, so it would just be a matter of approving a merge request when it's ready.

  • Would you mind if I tried to get it added?

    No, not at all. If you're doing that, I (and I imagine the Gadgetbridge folks too) would prefer you actually just built it from the main Gadgetbridge repo though. Especially when development slows I expect the two to stay pretty much in sync anyway.

  • The app has been approved enough for 'Open Testing'

    So you no longer need your email address added!

    Just go to https://play.google.com/apps/testing/com­.espruino.gadgetbridge.banglejs and click the button, then you can get it on Google Play!

  • Well done Gordon! You're not the first I've heard say Google Play is a... let's say 'challenge'.

  • Great, thank you!

  • Wow thank you so much, just installed and it works great for me. I really love the app store integration :D

    Only one minor thing to mention for others (sry could be that I missed this): To connect with the tiny weather app the package name (com.espruino.gadgetbridge.banglejs) must be set in the settings of the weather app (settings->gadgetbridge support -> package name). Now this sync also works fine :D

  • I also vote for the F-Droid distribution. I am trying to build it from

    git clone https://github.com/gfwilliams/Gadgetbrid­ge.git
    

    I also created a local.properties file pointing to the Android SDK.
    But I am stuck at the CONFIGURING stage:

    ./gradlew assembleDebug
    > Configure project :app
    Checking the license for package NDK (Side by side) 21.4.7075529 in /home/user/Android/Sdk/licenses
    License for package NDK (Side by side) 21.4.7075529 accepted.
    Preparing "Install NDK (Side by side) 21.4.7075529 (revision: 21.4.7075529)".
    <====---------> 33% CONFIGURING [1h 20m 18s]
    

    What could be wrong? But thanks for the Google Play Store version. I extracted it and installed it through adb instead on my phone without Google:

    adb install-multiple base.apk split_config.armeabi_v7a.apk split_config.en.apk split_config.xhdpi.apk
    

    I am also having issues with the Notification settings > Applications list. It is showing only system apps, none of my installed apps. But maybe it is better to start a new topic for these issues? This topic is getting quite big with a lot of different issues being discussed.

  • I have tested with "paired" a week, and my experience is that it is working much better. I can't recall any connectivity issue after this.

  • Can someone point me in the right direction of how to make my first HTTP request from my Bangle now when I have the new Gadgetbridge app installed? I looked through the Espurino docs and found the HTTP module, but all I got was "Uncaught Error: Module http not found" when I tested.

    Edit: I checked the new Gadgetbridge code and found out how to do, here is my first successful attempt! :)


    1 Attachment

    • 284853287_972670966749405_885379355700786514_n.jpg
  • I have installed it and I noticed that it has the 0.67 fixes. So it should allow incoming call notifications. But I don't get them. Is there any additional configuration required for the incoming call notifications to work?

  • Working fine here.... Check the app permissions (phone). @Gordon I've noticed that the app doesn't ask for the needed permissions and I've needed to enable them manually.

  • I have done the same but no luck here. I get a missed call notification, but not the call itself....
    Maybe not all Android phones work?

  • Have you set up an allow application list? If yes, the phone/caller app is in the allow list?


    1 Attachment

    • notifications.png
  • I did a factory reset on the watch and now it started working.
    Now I have a new question whether it is possible to have a different vibration pattern for calls but I will open a new thread for it.

  • This is great news, thanks Gordon for the work in Gadgetbridge!
    I already played with the ble-gateway on a esp32 for a smarthome-control-app but always had problems with coverage in my house. Over the phone should be much more reliable.

    So I tried via Intents and an Android-App called "Broadcast to MQTT" but I only get one out of 10 messages arriving in this app. My watch is in 10-20 cm distance to my phone.

    Can anyone guess what could be the problem?

    Or is BLE in general as unreliable as I'm experiencing, so I would have to build a repeat-function on the bangle and then merge duplicates together on nodered? Or is there a possibility for a Callback (seems like global.GB = (event) => .. is currently not called with intents) to verify that gadgetbridge has recieved the message.

    Below my test-code for my bangle2 :

    var Layout = require("Layout");
    var layout = new Layout( {
      type:"v", c: [
        {type:"txt", font:"6x8:2", label:"A Test", id:"label" }
      ]
    }, {btns:[
      {label:"One", cb: l=>httpCall("One"),  cbl: l=>httpCall("One long press")}
    ], lazy:true});
    
    g.clear();
    layout.render();
    
    var counter=0;
    
    
    function httpCall(){     Bluetooth.println(JSON.stringify({t:"int­ent",action:"com.sonyericsson.alarm.ALAR­M_ALERT",extra:{key1:"asdfas",}}));
    counter++;
    setLabel(counter);
    }
    
    function setLabel(x) {
      layout.label.label = x;
      layout.render();
    }
    
    global.GB = (event) => {
       if(event.t == "intent"){
          if(event.err)
            E.showAlert(event.err);
          else
            E.showMessage(event.resp +"from MQTT");
       }else{
         E.showAlert("Event was: "+event.t);
       }
    };
    
  • Have done some more tests and it seems I always recieve the first intent after a pause of around 60 seconds. Is there a limitation in BLE/Gadgetbridge or the Android intent system? Also activated Big MTU in Gadgetbridge, but no change in behaviour.

  • thanks for your example.. you can set a rate limit in the broadcast settings of the app. I've set mine to zero, and it is working really fine now.

  • Well, finally got round to opening a merge request on F-droid. There are still issues to be worked out, but I did get it to build on my PC.

  • thanks for the solution, it works now. had to set the rate limit in Broadcast to MQTT to 0

  • ..it's in the Broadcast to MQTT-App, not in Gadgetbridge. Sorry for being unclear here...


    1 Attachment

    • bc2mqtt.jpg
  • just edited my reply. Thanks for the clarification.

  • If someone's interested: just written a draft for direct mqtt-support in gadgetbridge. This way no other app would be required and no detour via intents would be necessary. This is not tested, runnable and even eventually not compileable. First have to setup a project in an Java-IDE to compile and test it.

    https://github.com/gfwilliams/Gadgetbrid­ge/compare/master...cephos:master

    For the devs among you, what do you think of the concept?

  • @Gordon F-Droid managed to build the banglejs flavor. Would you happen to have some screenshots/descriptions to use? If not I could come up with some text myself, but I'm not sure whether the idea is to describe it as "Gadgetbridge with some added extras for Bangle.js", or more as separate "Bangle.js app based on Gadgetbridge".

    (I know you're on holiday, just @ mentioning you so it gets added to the list and you'll get to it eventually ;-)

  • This might be a bit off topic for this discussion but does the new bangle app support the new http requests? And if so could you please provide a sample to understand the implementation. I'm having zero issues with the app now.

  • Post a reply
    • Bold
    • Italics
    • Link
    • Image
    • List
    • Quote
    • code
    • Preview
About

Status of the "Android Integration" app

Posted by Avatar for jgDev @jgDev

Actions