izivkov / CasioGShockSmartSync

Apache License 2.0
116 stars 12 forks source link

Add Support for Edifice ECB-30D Watch #84

Open izivkov opened 5 months ago

izivkov commented 5 months ago

I'm trying to add support for the Casio Edifice ECB-30D watch. This issues will track the progress.

izivkov commented 5 months ago

Yes, not ringing is probably a DnD feature on the watch, which can be controlled by the software. The official app chose not to use it

On Thu, Jun 20, 2024, 12:34 PM Ji-eF @.***> wrote:

BT on/off and reconning works quite reliably for me now. Does it not work for you?

No, I'm not able to get the BT Off-On auto-reconnect... I'll try on another phone later this evening, to see if it's a specific hardware-related bug...

We know how to disable/enable alarms now

You mean... The bug we had before (not ringing under certain conditions) is "not a bug" but an hidden feature of the watch ?

implement DnD feature, mirroring the phone's DnD

This is not a feature I personally would use, but definitely yes, that would be neat option to have :)

— Reply to this email directly, view it on GitHub https://github.com/izivkov/CasioGShockSmartSync/issues/84#issuecomment-2181105761, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA7M37RJIUH7LSYRPEOQEKLZIMAADAVCNFSM6AAAAABJJFFTDSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCOBRGEYDKNZWGE . You are receiving this because you authored the thread.Message ID: @.***>

Ji-eF commented 5 months ago

The watch definitely won't reconnect to the app if I toggle BT on the phone. I tested on 2 different phones...

izivkov commented 5 months ago

Ok, thanks for testing. I'm not exactly sure what is going on. Maybe something to do with manually paring the watch. I'll look into it more once I implement the DnD feature

On Fri, Jun 21, 2024, 1:22 PM Ji-eF @.***> wrote:

The watch definitely won't reconnect to the app if I toggle BT on the phone. I tested on 2 different phones...

— Reply to this email directly, view it on GitHub https://github.com/izivkov/CasioGShockSmartSync/issues/84#issuecomment-2183147569, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA7M37XSRKIE3KCKF7ZGUGDZIROPHAVCNFSM6AAAAABJJFFTDSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCOBTGE2DONJWHE . You are receiving this because you authored the thread.Message ID: @.***>

Ji-eF commented 5 months ago

I still issue the behaviour from this post sometimes and it appears to occur after a toaster message "Disconnected due to inactivity" If this can help...

Ji-eF commented 5 months ago

If you play various combinations with your app and 2 watches (ECB-30 and GW-5600 in my case), ie. connect, put app on background, disconnect, set it back on foreground, pressing "Back" few times, reconnect the other watch, ... etc..., you can access for example, Settings page from GW-5600 on ECB-30, or calendar page on ECB-30 (normally unavailable), ...

Also, FTR, I tried to put my ECB watch on the fridge for half an hour, and it still displays a steady 25°C ! -- The GW-5600 temp is working fine it seems Are you aware of various hardware or firmware version for the ECB watch ?

izivkov commented 5 months ago

Ok, good information. You have definitely tested more than I have. I will address these as soon as I finish the DnD feature for the ECB, which I plan to complete today.

The issues that you described are important, but they are edge cases, most people will not see them. But your testing is very impressive. Are you in the IT industry?

On Sat, Jun 22, 2024, 10:34 AM Ji-eF @.***> wrote:

If you play various combinations with your app and 2 watches (ECB-30 and GW-5600 in my case), ie. connect, put app on background, disconnect, set it back on foreground, pressing "Back" few times, reconnect the other watch, ... etc..., you can access for example, Settings page from GW-5600 on ECB-30, or calendar page on ECB-30 (normally unavailable), ...

Also, FTR, I tried to put my ECB watch on the fridge for half an hour, and it still displays a steady 25°C ! -- The GW-5600 temp is working fine it seems Are you aware of various hardware or firmware version for the ECB watch ?

— Reply to this email directly, view it on GitHub https://github.com/izivkov/CasioGShockSmartSync/issues/84#issuecomment-2184055402, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA7M37SXZKLTQZR2WUXWAELZIWDQJAVCNFSM6AAAAABJJFFTDSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCOBUGA2TKNBQGI . You are receiving this because you authored the thread.Message ID: @.***>

izivkov commented 5 months ago

The wrong screen issue is probably related to caching screens in memory for speed. I clear the cache when disconnecting, but pressing the back button I have not tested. Some apps prevent pressing the back button.

About having to press the FORGET button after toggling BT, if I cannot think of a better solution, I might forget the watch automatically in that case. I hope I can find the reason. The liberty I'm using for BT, simply fails to connect. One thing I'm curious is if the BT address of the watch changes after the toggle. Have not had time to investigate, maybe you can try to find d out. This will explain the problem

On Sat, Jun 22, 2024, 10:41 AM Ivo Zivkov @.***> wrote:

Ok, good information. You have definitely tested more than I have. I will address these as soon as I finish the DnD feature for the ECB, which I plan to complete today.

The issues that you described are important, but they are edge cases, most people will not see them. But your testing is very impressive. Are you in the IT industry?

On Sat, Jun 22, 2024, 10:34 AM Ji-eF @.***> wrote:

If you play various combinations with your app and 2 watches (ECB-30 and GW-5600 in my case), ie. connect, put app on background, disconnect, set it back on foreground, pressing "Back" few times, reconnect the other watch, ... etc..., you can access for example, Settings page from GW-5600 on ECB-30, or calendar page on ECB-30 (normally unavailable), ...

Also, FTR, I tried to put my ECB watch on the fridge for half an hour, and it still displays a steady 25°C ! -- The GW-5600 temp is working fine it seems Are you aware of various hardware or firmware version for the ECB watch ?

— Reply to this email directly, view it on GitHub https://github.com/izivkov/CasioGShockSmartSync/issues/84#issuecomment-2184055402, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA7M37SXZKLTQZR2WUXWAELZIWDQJAVCNFSM6AAAAABJJFFTDSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCOBUGA2TKNBQGI . You are receiving this because you authored the thread.Message ID: @.***>

Ji-eF commented 5 months ago

One thing I'm curious is if the BT address of the watch changes after the toggle

Do you mean the MAC address ? It's the same, according to Android's BT. Both the phone and the watch have their same respective MAC addresses.

But then : even on the standard Android BT, I can successfully connect it only once ! -- the watch won't reconnect if I toggle Android BT.

To reconnect it to Android, I have to forget the watch from Android, before successfully reconnect with "Pair a new device" !

izivkov commented 5 months ago

I have updated the APK https://drive.google.com/file/d/1Og0OZXJx7EDURv0cf_uYmO0Jz3DFr-BE/view?usp=drive_link by adding DnD options in Settings. Could you tell me if it works for you?

Thanks

On Sat, Jun 22, 2024 at 11:11 AM Ji-eF @.***> wrote:

One thing I'm curious is if the BT address of the watch changes after the toggle

Do you mean the MAC address ? It's the same, according to Android's BT.

But even on the standard Android BT, I can successfully connect it only once ! -- the watch won't reconnect if I toggle Android BT.

To reconnect it to Android, I have to forget the watch from Android, before successfully reconnect with "Pair a new device" !

— Reply to this email directly, view it on GitHub https://github.com/izivkov/CasioGShockSmartSync/issues/84#issuecomment-2184069625, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA7M37WZUTUNOOWCYY2GEPTZIWH2XAVCNFSM6AAAAABJJFFTDSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCOBUGA3DSNRSGU . You are receiving this because you authored the thread.Message ID: @.***>

Ji-eF commented 5 months ago

Yes, from a quick test, DND works for me ! I'll test some more later today !

izivkov commented 5 months ago

Ok, since the battery level and temperature are bogus for this watch, I'll display "N/A"

On Sun, Jun 23, 2024, 3:10 AM Ji-eF @.***> wrote:

Yes, from a quick test, DND works for me ! I'll test some more later today !

— Reply to this email directly, view it on GitHub https://github.com/izivkov/CasioGShockSmartSync/issues/84#issuecomment-2184753609, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA7M37UOHY4PTFIC3E4ASZLZIZYHTAVCNFSM6AAAAABJJFFTDSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCOBUG42TGNRQHE . You are receiving this because you authored the thread.Message ID: @.***>

Ji-eF commented 5 months ago

since the battery level and temperature are bogus for this watch, I'll display "N/A"

You mean, it won't work for you either... too bad :/

On a good news, I successfully reconnected the ECB to Android BT after a BT toggle 😄 It takes up to 3-4 minutes, but eventually reconnected ! Sometimes, I need to quit your app, and upon reopening, the watch successfully auto-reconnect itself ! I had to Reset BT settings from Android's "Settings > System > Reset Options" (might be different depending on the Android version)

izivkov commented 5 months ago

I have fixed the following issues in this APK https://drive.google.com/file/d/1Og0OZXJx7EDURv0cf_uYmO0Jz3DFr-BE/view?usp=drive_link :

  1. Display the wrong setting screen. This problem could be reproduced by connecting the GW-5600 -> go to Settings (see correct setting) -> Disconnect the 5600 -> Connect the ECB -> Go to Settings (wrong screen, still shows the 5600 settings. This APK fixes this issue.
  2. Wrong initial value of DnD when mirroring phone.
  3. For this watch, where battery and temperature is displayed, show N/A

BTW, here is how the DnD should work:

  1. When manually turning on/off, the DnD will take effect after the "Send to watch" button is pressed.
  2. When mirroring,, it will take effect immediately upon changing the DnD setting on the phone, no matter what screen you are in currently. In that case, if you are in the Settings page, you should see the DnD switch toggle immediately, even though it is disabled.

Ivo

On Sun, Jun 23, 2024 at 1:52 PM Ji-eF @.***> wrote:

since the battery level and temperature are bogus for this watch, I'll display "N/A"

You mean, it won't work for you either... too bad :/

On a good news, I successfully reconnected the ECB to Android BT after a BT toggle 😄 It takes up to 3-4 minutes, but eventually reconnected ! Sometimes, I need to quit your app, and upon reopening, the watch successfully auto-reconnect itself ! I had to Reset BT settings from Android's "Settings > System > Reset Options" (might be different depending on the Android version)

— Reply to this email directly, view it on GitHub https://github.com/izivkov/CasioGShockSmartSync/issues/84#issuecomment-2185252596, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA7M37T3ZPT3WGGO3ZIJYHTZI4DONAVCNFSM6AAAAABJJFFTDSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCOBVGI2TENJZGY . You are receiving this because you authored the thread.Message ID: @.***>

izivkov commented 5 months ago

I made a new release 13.2 on F-Droid and Google Play Store

On Mon, Jun 24, 2024 at 9:20 AM Ivo Zivkov @.***> wrote:

I have fixed the following issues in this APK https://drive.google.com/file/d/1Og0OZXJx7EDURv0cf_uYmO0Jz3DFr-BE/view?usp=drive_link :

  1. Display the wrong setting screen. This problem could be reproduced by connecting the GW-5600 -> go to Settings (see correct setting) -> Disconnect the 5600 -> Connect the ECB -> Go to Settings (wrong screen, still shows the 5600 settings. This APK fixes this issue.
  2. Wrong initial value of DnD when mirroring phone.
  3. For this watch, where battery and temperature is displayed, show N/A

BTW, here is how the DnD should work:

  1. When manually turning on/off, the DnD will take effect after the "Send to watch" button is pressed.
  2. When mirroring,, it will take effect immediately upon changing the DnD setting on the phone, no matter what screen you are in currently. In that case, if you are in the Settings page, you should see the DnD switch toggle immediately, even though it is disabled.

Ivo

On Sun, Jun 23, 2024 at 1:52 PM Ji-eF @.***> wrote:

since the battery level and temperature are bogus for this watch, I'll display "N/A"

You mean, it won't work for you either... too bad :/

On a good news, I successfully reconnected the ECB to Android BT after a BT toggle 😄 It takes up to 3-4 minutes, but eventually reconnected ! Sometimes, I need to quit your app, and upon reopening, the watch successfully auto-reconnect itself ! I had to Reset BT settings from Android's "Settings > System > Reset Options" (might be different depending on the Android version)

— Reply to this email directly, view it on GitHub https://github.com/izivkov/CasioGShockSmartSync/issues/84#issuecomment-2185252596, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA7M37T3ZPT3WGGO3ZIJYHTZI4DONAVCNFSM6AAAAABJJFFTDSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCOBVGI2TENJZGY . You are receiving this because you authored the thread.Message ID: @.***>

izivkov commented 5 months ago

Here is a summary of the features of the Edifice ECB-30 watch and how it differs from the other G-Shock watches that this app supports:

  1. This is an "always-connected" watch. This means that it will not try to connect four times a day to the app but instead will keep the connection open. If the watch is left motionless, it will disconnect to save battery, but when picked up again, it will reconnect.
  2. The app will automatically set the time on the watch any time the watch connects. There is no need to press the Send to Watch button, although this will also work.
  3. This watch has an undocumented Do Not Disturb (DnD) function that this app uses. It can be set manually from the Settings screen or can be set to mirror the phone's DnD. If set to mirror, when the phone changes its DnD state, this will be reflected on the watch as well. This feature may be useful for meetings or when the phone has scheduled DnD periods, e.g., at night.
  4. This watch does not support reminders, so the Google Calendar events screen is not shown in the app. The official app supports something called Schedule Timer, but I don't find it particularly useful because it does not tell you what you are reminded of. As such, we have not implemented it in this app. Let me know if I am missing something or if you think otherwise.
  5. This watch does not support Battery Level or Temperature, so they are shown as N/A in the app.
  6. There is no separate button to invoke the app Actions, so instead, the FIND Phone function of the watch is used. (This is when you press and hold the LOWER-RIGHT button for 5 seconds or more). We have added the "FIND Phone" action as a default to the actions, so if you don't change anything, pressing the FIND function on the watch will invoke the FIND action, and the watch will work as with the official app. Of course, you can select other actions to be run from the Actions screen.
Ji-eF commented 5 months ago

"Schedule Timer" Let me know if I am missing something or if you think otherwise

Can you please try to enable --at least-- basic support for this feature ? I would be very much interested in this.

For ex., if possible, one can use "Tasker" or similar automation app to "send to watch a calendar event to the next minute" when receiving a notification, so this particular watch ring upon notification...

If you see what I mean... and find the idea cool, you could even support such a feature on your app directly..

izivkov commented 5 months ago

Ok, let me think about it and how to do it.. So basically you like to have notifications sent to the watch. What kind of notifications? Like email?

What about just ringing the alarm upon notifications? I am trying to wrap my head around what exactly this "Schedule timer" does, but let me do a bit of digging.

BTW, I saw Casio has been looking at all my repos related to the watches. Maybe a threatening letter is in the works, but I just hope they get some ideas from this app and add it to theirs.

Ivo

On Sat, Jun 29, 2024 at 3:47 PM Ji-eF @.***> wrote:

"Schedule Timer" Let me know if I am missing something or if you think otherwise

Can you please try to enable --at least-- basic support for this feature ? I would be very much interested in this.

For ex., if possible, one can use "Tasker" or similar automation app to "schedule a calendar event to the next minute" when receiving a notification, so this particular watch ring upon notification...

If you see what I mean... and find the idea cool, you could even support such a feature on your app directly..

— Reply to this email directly, view it on GitHub https://github.com/izivkov/CasioGShockSmartSync/issues/84#issuecomment-2198320271, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA7M37WXWYDJGURKOJAFCGDZJ4FMHAVCNFSM6AAAAABJJFFTDSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCOJYGMZDAMRXGE . You are receiving this because you authored the thread.Message ID: @.***>

Ji-eF commented 5 months ago

Yeah, ringing alarm is a bit too much maybe... If you have skills to hack a way to make the watch "chime" at will... that would be awesome ! 😁

izivkov commented 5 months ago

No, but as you suggested, might set the alarm to a few seconds in the future when a notification is needed. This may not be the best option, because it will use up one of the alarms. I guess the schedule is the best option, I just didn't know how to use it yet, so I need to look into the logs of the official app. In any case, let me think about it and I'll run it by you.

On Sat, Jun 29, 2024, 4:01 PM Ji-eF @.***> wrote:

Yeah, ringing alarm is a bit too much maybe... If you have skills to hack a way to make the watch "chime" at will... that would be awesome ! 😁

— Reply to this email directly, view it on GitHub https://github.com/izivkov/CasioGShockSmartSync/issues/84#issuecomment-2198322927, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA7M37VHRLJVGC42MEPBUJ3ZJ4HC5AVCNFSM6AAAAABJJFFTDSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCOJYGMZDEOJSG4 . You are receiving this because you authored the thread.Message ID: @.***>

Ji-eF commented 5 months ago

I never tested Schedule timer. Can you please tell me if the watch "ring an alarm" or "chime" ? And when: at start, end, or both ?

izivkov commented 5 months ago

So the Scheduler Works as follows:

  1. You set an Event in your Google Calendar, say July 30, 6:00 PM to 7:00 PM.
  2. Go to the Official CASIO WATCHES app and enable the scheduler. You may also have to sent it to the watch separately.
  3. At the start time, 6:00 on July the 30, the watch will beep once, and will display START in the top window.
  4. At 7PM, will beep twice, and show FINISHED in the same window.

The only thing that I can think of is this is useful if you like to watch some sports event on TV, and like to be reminded when this happens. I don't think this can be used for notifications. It is possible to set alarm immediately after the notification, there are some issues with that:

  1. One of the alarms is being used for this,
  2. Alarm will ring for 10 seconds, not just a chime
  3. The alarm has to be cancelled, otherwise it will ring at the same time next day.

So, this is not a clean and reliable solution, in my opinion.

Ivo

On Sat, Jun 29, 2024 at 4:10 PM Ji-eF @.***> wrote:

I never tested Schedule timer. Can you please tell me if the watch "ring an alarm" or "chime" ? And when: at start, end, or both ?

— Reply to this email directly, view it on GitHub https://github.com/izivkov/CasioGShockSmartSync/issues/84#issuecomment-2198324945, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA7M37WD3P7KLRDCEICZWLLZJ4IDPAVCNFSM6AAAAABJJFFTDSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCOJYGMZDIOJUGU . You are receiving this because you authored the thread.Message ID: @.***>

Ji-eF commented 3 months ago

@izivkov Can you please check the F-Droid version (14.1) ? The app crash upon syncing the ECB-30 watch...

izivkov commented 3 months ago

Ok, I'll check it. Thanks for the heads up.

On Thu, Aug 15, 2024, 11:50 AM Ji-eF @.***> wrote:

@izivkov https://github.com/izivkov Can you please check the F-Droid version (14.1) ? The app crash upon syncing the ECB-30 watch...

— Reply to this email directly, view it on GitHub https://github.com/izivkov/CasioGShockSmartSync/issues/84#issuecomment-2291584555, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA7M37WVMAGJF63W7GKICEDZRTE6HAVCNFSM6AAAAABJJFFTDSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEOJRGU4DINJVGU . You are receiving this because you were mentioned.Message ID: @.***>

izivkov commented 3 months ago

@Ji-eF Can you tell me exactly when it crashes? When you set time manually? Does ot connect? It seems to work for me.

Also, doe it work for you with the GW-5600?

If you could record a screen video of when it crashes would be even better.

Can you clear storage for the app from Android settings and try again.

Thanks

Ji-eF commented 3 months ago

OK ! B5600 is working fine ! The ECB does connect, the screen image switch from the GW to the ECB and the app crashes BEFORE the app main screen shows up. If I relaunch the app, it correctly displays the ECB watch picture and the "ECB-30" text besides the "Forget" button. But crashes when trying to connect the watch.

izivkov commented 3 months ago

Ok, I'll investigate. I think I know what could be. In v14.1, the app runs some actions on initial connect. I think it is trying to run "Set Remembers" action, which the ECB does not have. I'll fix it.

For a quick fix, connect the 5600, go to Actions and disable "Set Reminders from Google calendar" action. Then try again with the ECB.

Thanks

On Fri, Aug 16, 2024, 10:18 AM Ji-eF @.***> wrote:

OK ! B5600 is working fine ! The ECB does connect, the screen image switch from the GW to the ECB and the app crashes BEFORE the app main screen shows up. If I relaunch the app, it correctly displays the ECB watch picture and the "ECB-30" text besides the "Forget" button. But crashes when trying to connect the watch.

— Reply to this email directly, view it on GitHub https://github.com/izivkov/CasioGShockSmartSync/issues/84#issuecomment-2293598084, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA7M37QM5WKRR7HJJ2OAAOTZRYC43AVCNFSM6AAAAABJJFFTDSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEOJTGU4TQMBYGQ . You are receiving this because you commented.Message ID: @.***>

Ji-eF commented 3 months ago

For a quick fix, connect the 5600, go to Actions and disable "Set Reminders from Google calendar" action. Then try again with the ECB.

Works a treat ! Thanks !

izivkov commented 3 months ago

Ok, I'll make a new version soon.

On Fri, Aug 16, 2024, 10:35 AM Ji-eF @.***> wrote:

For a quick fix, connect the 5600, go to Actions and disable "Set Reminders from Google calendar" action. Then try again with the ECB.

Works a treat ! Thanks !

— Reply to this email directly, view it on GitHub https://github.com/izivkov/CasioGShockSmartSync/issues/84#issuecomment-2293628002, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA7M37R6L3DXNI7DQ4FOWY3ZRYE4VAVCNFSM6AAAAABJJFFTDSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEOJTGYZDQMBQGI . You are receiving this because you commented.Message ID: @.***>

izivkov commented 3 months ago

@Ji-eF Very strange! I downloded the app from F-DROID and cannot reproduce the problem. I am wondering of there was some setting on your phone that was left from before. Can you do me a favor, and eneble the "Reminders" action again with the 5600, and then try the ECB again? If it works, we can assume that this is something specific to your setup. If that fials, can you clear storage for the app from Android settings, and try again.

Thanks

izivkov commented 3 weeks ago

@Ji-eF You may want to try the new app. It addresses the issue with reminder ordering and also allows you to fine-adjust your time setting, from the Settings screen. I am still testing it, so your feedback is appriciated. When stable, I will merge it back into this project.

Regards. Ivo

Ji-eF commented 2 weeks ago

Thanks, I'll try to test the new app for the next days. Event ordering is indeed a must-have ! Thanks !