-
• #2
Are you using Bangle 1 or Bangle 2 ?
I have not had a lot of success with Gadgetbridge / notifications so far.
Part of this is confusion over what and how it is meant to work.I have just looked at the code and "Notifications (default)" installs a module called notify that is mean't to pop up a notifcation at the top of the screen. "Notifications Fullscreen" replaces the notify module with a set of library functions that use the full screen instead. So it sounds like there is a fault with "Notifications (default)". This would fit with my observations so far as I have not been able to get notifications to work on Bangle 2.
Looking at the code I can see that 7 days ago changes were done to both versions of the notify module to make it work with Bangle 2. The changes are to adjust colours and screensizes so that they adjust properly for Bangle 1 and Bangle 2. EG the code now uses g.getWidth() to get the screen width instead of hard coding it as 240 for Bangle 1 etc.
-
• #3
On a B2 I cant get notifications to work at all.
On a B1 Full Screen notifcations work BUT the default notfications ends up with a corrupt part of the screen.Looks like both versions are broken.
When I make a test call - I only get a missed call notification - was expecting I would get a buzz while the phone was ringing.
2 Attachments
-
• #4
Are you using Bangle 1 or Bangle 2 ?
Sorry, forgot to mention! This is on the Bangle 1.
On a B1 Full Screen notifcations work BUT the default notfications ends up with a corrupt part of the screen.
Yes, mine looks a lot like that. But in fact, in your case it looks even more broken than in mine. So I guess it's not just a thing with some configuration issue I might have had. Thank you for trying to reproduce!
When I make a test call - I only get a missed call notification - was expecting I would get a buzz while the phone was ringing.
Exactly what I'm getting too. However I'm not really sure this has ever worked as we both expected.
-
• #5
Wow, that is strange. Just testing here and got the same. I'm not sure what happened there - I'll look into it now.
I still seem to be able to dismiss the non-fullscreen notification by tapping the screen, but for some reason it's not displaying them properly.
-
• #6
Ok, fixed now!
-
• #7
I still seem to be able to dismiss the non-fullscreen notification by tapping the screen, but for some reason it's not displaying them properly.
I can't always dismiss notifications when they are garbled like this. They don't disappear after a long press BT3 (as I think is expected), but if I just let the watch sit for a while and then try again it usually works. I haven't found a reliable way to reproduce, though.
Ok, fixed now!
Woha, thank you for the lighting fast fix! I just confirmed that notifications are no longer garbled.
-
• #8
Since we are here, is there anything we can do regarding call notifications? Or is that something to implement on Gadgetbridge's side?
-
• #9
Updated to latest code but I'm still not getting any notifications on a Bangle 2.
Are there any firmware dependancies ? I'm on 2.10.51. -
• #10
They don't disappear after a long press BT3 (as I think is expected)
Which firmware version do you have? I know there was an issue with this recently but cutting edge firmwares have it fixed.
Since we are here, is there anything we can do regarding call notifications?
You mean they are not working?
Updated to latest code but I'm still not getting any notifications on a Bangle 2.
What happens if you connect with the IDE and paste this code in:
GB({"t":"notify","id":1575479849,"src":"Hangouts","title":"A Name","body":"message contents"})
If there are still issues it's probably best to discuss those in a new thread @HughB
-
• #12
Which firmware version do you have? I know there was an issue with this recently but cutting edge firmwares have it fixed.
I'm on v2.10. Guess it will be fixed in v2.11? Or should I try using a daily build to make sure? Even after the latest update to "Notifications (Default)" v0.11 doing a BT3 long press does not dismiss the notification.
You mean they are not working?
They aren't. When my phone rings I don't get any notification on my watch (not even of a missed call, as @HughB mentioned). I kind of expected it to vibrate/piezo-ring while the phone rings. Is there anyway I can test this from the IDE (or even better, intercept whatever gadgetbridge is sending whenever I get an incoming call)?
-
• #13
Yes, it was fixed after the 2v10 release: https://github.com/espruino/Espruino/blob/c23289e6c18f9a88df812b855d2a54a000f54d61/ChangeLog#L14 - so a daily build will have it sorted or it'll be fixed in 2v11
Is there anyway I can test this from the IDE
You can send the commands here: http://www.espruino.com/Gadgetbridge
So
GB({"t":"call","cmd":"accept","name":"name","number":"+491234"})
for example. In terms of testing with Gadgetbridge you can either use another Esprruino device that has a serial connection and can forward data, or maybe just do something like:var log = []; function GB(d) { log.push(JSON.stringify(d)); }
Then connect with Gadgetbridge and do stuff. Finally disconnect and reconnect with the IDE and look at what's in
log
-
• #14
Yes, it was fixed after the 2v10 release: https://github.com/espruino/Espruino/blob/c23289e6c18f9a88df812b855d2a54a000f54d61/ChangeLog#L14 - so a daily build will have it sorted or it'll be fixed in 2v11
Confirming the fix with firmware v2.8.83. Thank you! =-)
So GB({"t":"call","cmd":"accept","name":"name","number":"+491234"}) for example.
Ok, so this is proving harder to do.
Opening the IDE, connecting via Web Blutooth I can do. Sending simple commands such asprint("hello espruino")
is working fine (the watch leaves the watch-face app and displays the Bangle.js logo, firmware version, etc and "hello espruino" is printed to the webIDE console).However, any commands starting with
GB()
are throwing errors:Uncaught ReferenceError: "GB" is not defined at line 1 col 1 GB({"t":"call","cmd":"accept","name":"name","number":"+49123... ^
It's like the
GB
function (which from reading http://www.espruino.com/Gadgetbridge I assume stands for "GadgetBridge") has not been declared? I am quite certain Gadgetbridge is installed on the watch, since I can connect to it using my phone, so I'm not sure what is happening here. -
• #15
To test the notifcation widgets from the IDE you can use
require("notify").show({ title:"call", src:"call", body:"fake-testing call"});
or even showing a phone icon
require("notify").show({ title:"call", src:"call", body:"fake-testing call", icon:require("heatshrink").decompress(atob("jEYxH+ACcejwUUAAYWVjESCqoABCqoYNCpQXLCxgXJQowtTA4ZbSZiwW/C4gWWjAXVZwIuVWhxFIC6z6OLpIXSCywXYDAIWVAAYXTA==")) });
Also the following GB - "call" command can be verified with Mario Clock, but notifications seems that doesn't recognize "call" parameter .
GB({"t":"call","cmd":"accept","name":"John","number":"+491234"})
-
• #16
Sending simple commands such as print("hello espruino") is working fine (the watch leaves the watch-face app and displays the Bangle.js logo, firmware version, etc and "hello espruino" is printed to the webIDE console).
Ahh - you're pasting into the right-hand side and clicking 'upload', which resets the Bangle and writes just that code.
All you need to do is paste the command into the left-hand side when the clock is running rather than uploading
Also the following GB - call command can be verified with Mario Clock, but notifications doesn't recognize it.
Ahh, sorry. My bad. I think the docs might be wrong looking at it... Try:
GB({"t":"call","cmd":"incoming","name":"John","number":"+491234"})
This does work - and I just dumped exactly the data I get from Gadgetbridge while accepting a call:
GB({"t":"call","cmd":"incoming","name":"Home","number":"1234"}) // accept call on phone GB({"t":"call","cmd":"start","name":"Home","number":"1234"}) // hang up GB({"t":"call","cmd":"end","name":"Home","number":"1234"})
-
• #17
Modifying Notifications so text is bigger?
-
• #18
Ahh - you're pasting into the right-hand side and clicking 'upload', which resets the Bangle and writes just that code.
Sorry! Newbie mistake. Anyway, here are the results:
IssuingGB({"t":"call","cmd":"incoming","name":"John","number":"+491234"})
successfully shows an incoming call notification (I had never seen this notification before, so - progress!)So I tried to "intercept" Gadgetbridge's commands using the suggested snippet. Again, success:
{"t":"notify","id":1633013163,"subject":"Test","body":"Test","sender":"Test","tel":"Test"} {"t":"call","cmd":"","name":"Test","number":"Test"}
The first list element is for Gadgetbridge's debug test gmail notification. All looks good.
The second list element is for Gadgetbridge's debug test incoming call. Here things don't look so good. Gadgetbridge does not seem to be sending the expectedincoming
value for thecmd:
key.It seems to me like a problem in Gadgetbridge phone app rather than on the watch's end. Any ideas on why this might be happening? Or should I open an issue on Gadgetbridge's issue tracker?
or even showing a phone icon
Woha. Cool! Thanks @dapgo.
-
• #19
I have the same issue. Can get missed call notifcations but not incoming calls.
When logging the GB traffic I see two notifications that are both the same - with a blank cmd: key. -
• #20
What is your Gadgetbridge version? Did you install Gadgetbridge from the Google Play store, or from F-Droid?
This seems like a bug that existed quite a while ago and which I fixed in Gadgetbridge. The Google Play store version is unofficial and I think it could be extremely out of date
-
• #21
What is your Gadgetbridge version? Did you install Gadgetbridge from the Google Play store, or from F-Droid?
I am using Gadgetbridge 0.60.0 from F-Droid.
-
• #22
I am using Gadgetbridge 0.59.3 from F-Droid. Same problem with incomimg call notifications.
-
• #23
Ok, thanks. This is frustrating - the fix for this was made a year ago, and should have been in 0.60 at least (not checked 0.59, but I imagine it should be there too).
Did you try checking what Gadgetbridge sends for an actual call received on the phone? I'm just surprised that the version I have here seems to work fine.
-
• #24
Did you try checking what Gadgetbridge sends for an actual call received on the phone?
I did. I get 2 call events logged, but both have a blank cmd string.
I assume the first is the incoming call notification and the 2nd is the missed call ?http://forum.espruino.com/comments/16201584/
Could it be a combination of the phone and Gadgetbrige ?
-
• #25
but both have a blank cmd string.
Ahh, I didn't see that from what you posted as the cmd string contents was cut out.
I assume the first is the incoming call notification and the 2nd is the missed call ?
Yes, I believe so. Probably
incoming
andreject
I thinkCould it be a combination of the phone and Gadgetbrige ?
I don't know... it seems unlikely it's related to the phone though. I'm a bit busy now with the KickStarter but I'll try and look into this later on
So a few days ago I noticed that every time I got a notification from Gadgetbridge, the text on the Bangle.js was always the same: "Alarm Clock" on the upper line (with the grey background), and some text I can't seem to read on the bottom line, since only the top half of that line is visible.
After a few notifications recieved in this way, The text changes to another one with the subject of a long read email, overlapped with the alarm one (when this happen I can only see the top "grey" lines of each notification). Dismissing the notifications from the watch will dismiss the notification on the phone that triggered the notification event (Eg. an email notification). Call notifications stopped working altogether.
I have tried several thing to solve the issue, to no avail:
Uninstalling the "Notifications (default)" app and installing "Fullscreen Notifications" allows me to receive and dismiss the correct notifications. Uninstalling "Fullscreen Notifications" and reinstalling "Notifications (default)" causes the problem again.
I have run out of ideas on how to solve the issue on my own. Can anyone help me debug this?
Thank you very much in advance!