Avatar for user156125

user156125

Member since Aug 2023 • Last active Mar 2024
  • 3 conversations
  • 17 comments

Most recent activity

  • in Bangle.js
    Avatar for user156125

    You're a little bit off on my overall intended use case. I think what you're describing is vibrating the watch when the alarm goes off. Bangle can and does do this easily. This is a majority of people's use cases, and multiple tasker integration apps feature this.

    What I want to do is have the alarms on my phone set on my watch. This way, my watch will have the same active alarms as my phone, so that I can see what the next upcoming alarm is without looking at my phone.

    The priority on this is understandably low, as it wouldn't change my life much at all, but it would be nice.

  • in Bangle.js
    Avatar for user156125

    No, I unfortunately haven't worked on it more. From what I can tell, it appears outside of my scope. I can't figure out where the base Android clock stores the alarms. Without that, all I can do is check the alarm within the next 24 hours, but that doesn't catch all alarms, nor does it catch repeats.

    Modifying or using a different alarm app could work, but I was hoping to use the default app, as modifying or creating apps is not something I have a lot of experience with.

    • 16 comments
    • 971 views
  • in Bangle.js
    Avatar for user156125

    Okay, so this seems like it has the basic functionality I want. Utilizing tasker and taking code from the "alarm" app, I was able to get the basics of what I want.

    I wrote a task in "tasker" (which cost $3, but I was willing to make that purchase for this), which fires when the Android clock app exits. What it does is looks for the next alarm, then writes that alarm to bangle. This is sent via Android intent. Tasks are:
    Test next alarm
    Send intent

    Send intent looks like this:
    Action: com.banglejs.uart.tx
    Extra: line:var alarm = require("sched").newDefaultAlarm();var time = require("time_utils").decodeTime(alarm.t­);var date = new Date();time.h="%na_time".substring(0,2);­time.m="%na_time".substring(3);date.setD­ate(%na_day);date.setMonth(%na_month-1);­date.setFullYear(%na_year);alarm.on=true­;alarm.t = require("time_utils").encodeTime(time); alarm.last = alarm.t < require("time_utils").getCurrentTimeMill­is() ? new Date().getDate() : 0; if(date) alarm.date = date.toLocalISOString().slice(0,10);var array =[]; array[0] = alarm;require("sched").setAlarms(array);­

    The extra is a mess, so here it is more pretty:

    line: var alarm = require("sched").newDefaultAlarm();
    var time = require("time_utils").decodeTime(alarm.t­);
    var date = new Date();
    time.h = "%na_time".substring(0, 2);
    time.m = "%na_time".substring(3);
    date.setDate( % na_day);
    date.setMonth( % na_month - 1);
    date.setFullYear( % na_year);
    alarm.on = true;
    alarm.t = require("time_utils").encodeTime(time);
    alarm.last = alarm.t < require("time_utils").getCurrentTimeMill­is() ? new Date().getDate() : 0;
    if (date) alarm.date = date.toLocalISOString().slice(0, 10);
    var array = [];
    array[0] = alarm;
    require("sched").setAlarms(array);
    

    This is in no way elegant. It works, at least, but there are some issues I'll try to work on later.

    1. This removes literally everything set for alarms, and overwrites it with only the next set alarm from Android.
    2. It does not currently set alarms for repeat.
    3. It only sets the next alarm, ignoring any alarm after that.

    1 can probably be fixed with some more effort and if/else statements to preserve current alarms, and not set if an alarm is already on at that time. I wrote all of the above code from my phone, which is a pain, so I will look into that one later. Right now, this makes setting alarms from the watch a waste of time, since they get deleted with this currently.
    2 seems to be an issue with tasker/clock app interaction. I can't figure out how to get the repeat data into tasker. There are other clock apps that reportedly work better, but I wanted to see what I can do with the current app.
    3 also seems to be a tasker/clock app thing. Can probably write something to scrape the clock app database and see what other alarms are there. Might also help with 2. Again, don't want to do this on my phone.

    I'll work on this more in the next few days, but wanted to get this written down somewhere so I can show it's possible. If you have any pointers on the code above or my thoughts on the list items, please let me know!

  • in Bangle.js
    Avatar for user156125

    If they managed to sync alarms from google clock to wear os

    That looks like a great starting off point! I'll look into that and see what modifications I can do.

  • in Bangle.js
    Avatar for user156125

    And then no DISMISS/OPEN command with a matching ID for those

    I get ~3 emails every time I log into my alternate Gmail because of mail forwarding, so I just didn't tap on those while testing this. Gmail has been functioning without issue.

    My mobile carrier also allows for RCS, so I have been trying that as well. RCS appears to dismiss appropriately, but I still can't get the app to open on next phone unlock by swiping to the check, which works for Gmail.

  • in Bangle.js
    Avatar for user156125

    Been doing some more "testing" throughout the day with the texts I get. Turns out my group texts can be dismissed, but I can't get the check swipe to work with those. But none of the individual people's texts can be dismissed. I wonder if this is SMS vs MMS? But that wouldn't make sense since it's a simple interaction with the notifications.

  • in Bangle.js
    Avatar for user156125

    I've attached a log file of a few interactions. I received email warning me I logged into my Google voice, and those dismissed without issue. The text messages sent from my Google voice weren't dismissed like I would expect.

    Gadgetbridge is version 0.75.0a, from play store.

    Google meet tried to send a text, but I used Google chat and the notifications were dismissed correctly. However, I wasn't able to open the chat app with the check swipe.

  • in Bangle.js
    Avatar for user156125

    I rechecked the steps, and I think I did them correctly. I activated settings as directed and all permissions are granted to Gadgetbridge.

    I'm testing by texting myself on Google Voice, which shouldn't present any issues. It appears that email notifications can be dismissed correctly, and open in the app correctly, but text messages aren't behaving as nicely. The log files from Gadgetbridge do show:

    {"t":"notify","n":"DISMISS","id":1691496­788}
    

    Which is properly dismissing emails. So I wonder if this is due to a setting within the messages app, or something else internal to the phone. Any ideas on how to further test this?

Actions