Custom Android app for Casio BLE watches

Search This thread

masterjc13

Senior Member
Jan 15, 2010
213
167
Oooohhh... good news @Luchoc! You have got call notifications from Casio Watcher :D

It's normal to retry several times till you connect!! I obtained same behaviour in some cases.

First of all, Once you were connected and notifications were running correctly, How did the connection dropped? without any interaction? Once i'm connected (and do not separate watch and phone) it's hard to break connection between them.

When you reach the endlessly G-Man dancing and no connection is stablished... please... follow this instructions:

1. Disconnect bluetooth
2. Go to Bluetooth settings of your phone and delete your watch pairing.
3. Follow these official instructions from casio (they know we will have to re-pair hundred times :crying:)
http://world.g-shock.com/eu/en/ble/help/guide/gb-5600aa_ab/preparation/iphone_01.html#h3-02

Specially, follow the section Clear the watch's pairing information.

After that, you are ready to start from point 1 of my CW 0.1 guide.

I'm only afraid of the dropped connection... I'm testing the app rigth now and connection is still active (15 minutes or more) and notifications working.
 

mil_house

Senior Member
Oct 30, 2004
101
5
Barcelona
Nothing Phone 1
Hi, nexus 5 with 4.4.2 stock and watch is GB-5600AA. Very interest to try.
Thanks


Hi all,

I have been writing in this thread about a custom app for controlling Casio BLE (bluetooth capable). Official Casio Android application lacks in some functionality that Casio is not going to offer (for example: Whatsapp notification, custom apps notifications...).

I'm starting a personal project for developing a custom Casio app to substitute the official one.

First of all, Android developers are welcome to help me in developing this custom app!!!

The application is called "Casio Watcher".

I have ready an APK for testing purposes (Casio Watcher 0.1) that:

  • Supported hardware detection.
  • Shows all detected BLE devices.
  • Connects CASIO BLE Watches
  • Reconnects CASIO BLE Watches in case connection is broken
  • Once connected to the watch, a sample call notification can be sent to the watch

This is the tip of the iceberg, once the device is connected and sample call notification is working.... there are infinite possibilities. I'm working on it.

If you want to be a tester for my custom app, please, contact me specifying this information:
- What's your phone?
- Watch model
- Android version


I will send you the 0.1 version of the apk with instructions. I want to make an excel containing supported devices!!

Once the apk has been tested in many devices... I will upload the apk for public download.

I have uploaded some screenshots (it's not vaporware!!!)

Thank you in advance!
 

Luchoc

Senior Member
Feb 9, 2012
111
54
Buenos Aires
Oooohhh... good news @Luchoc! You have got call notifications from Casio Watcher :D

It's normal to retry several times till you connect!! I obtained same behaviour in some cases.

First of all, Once you were connected and notifications were running correctly, How did the connection dropped? without any interaction? Once i'm connected (and do not separate watch and phone) it's hard to break connection between them.

When you reach the endlessly G-Man dancing and no connection is stablished... please... follow this instructions:

1. Disconnect bluetooth
2. Go to Bluetooth settings of your phone and delete your watch pairing.
3. Follow these official instructions from casio (they know we will have to re-pair hundred times :crying:)
http://world.g-shock.com/eu/en/ble/help/guide/gb-5600aa_ab/preparation/iphone_01.html#h3-02

Specially, follow the section Clear the watch's pairing information.

After that, you are ready to start from point 1 of my CW 0.1 guide.

I'm only afraid of the dropped connection... I'm testing the app rigth now and connection is still active (15 minutes or more) and notifications working.

Honestly I don't really remember clearly, I think the watch just went "BT OFF" 30 seconds after establishing the connection.
However I cleared the pairing on the G-Shock App (afterwards I uninstalled it just to be sure, didn't have any info in it so might as well test this properly..), I got it paired at the second try and it's still active after 10 minutes. Notifications work, too. Great job!

Edit: It lasted for 30 minutes and then the connection dropped. Suddenly the watch beeped and the G-Man and flashing BT icon returned. Still, it's in line with what I was expecting, since in Omni and Sony 4.3 build .569 the BT modules are kinda wonky and it wouldn't remain connected for more than an hour with the official app. They're fixed in Sony 4.3 build .101, want me to try flashing that ROM? I remember the watch remained connected for a few hours when I was using that build.
 
Last edited:

simple1i

Senior Member
Aug 3, 2009
497
70
london
What types of notifications do you get on the casio WITHOUT this new app, can you list them please and what info do you get with each notification?

I didnt buy one cause, i googled it and found nothing about my question.
 

bartvanzetti

Member
Aug 16, 2012
17
1
Italy
hi, first report! :)
after some tries, i able to connect and status and services are both green. The alert button works. The connection don't drop till now, but i don't receive the notifications, but maybe i miss something!
 
  • Like
Reactions: masterjc13

piotr.pot

Senior Member
Jul 1, 2010
90
31
Great work!
I've tested first version and it works.

- S4 Mini with CM11 4.4.2
- GB-6900B

After removing pairing from official app and from watch I've got CW connects at first try. Also test alert works as it shoud. It stay connected, looks stable. Great news.

My suggestion about future versions:
Would be cool if we could build a list of custom apps (from app selector) that we want to be notified from.
Is there any chance to create own notification icons (like stock casio phone icon, message, calendar etc.)? I think not. Mayby a good way to identify from whose app notification comes is a short (maybe definable) alias. For example:

Application / Alias:
Viber / V
WhatsApp / W

Then watch notifications will look like:
V: This is message from Viber
W: This is message from WhatsApp

Edit: Reconnect works too.
 
Last edited:
  • Like
Reactions: masterjc13

masterjc13

Senior Member
Jan 15, 2010
213
167
Edit: It lasted for 30 minutes and then the connection dropped. Suddenly the watch beeped and the G-Man and flashing BT icon returned. Still, it's in line with what I was expecting, since in Omni and Sony 4.3 build .569 the BT modules are kinda wonky and it wouldn't remain connected for more than an hour with the official app. They're fixed in Sony 4.3 build .101, want me to try flashing that ROM? I remember the watch remained connected for a few hours when I was using that build.

Hi @Luchoc!

Thank you very much!

I do not understand you environment. You have OMNI 4.4.2 or 4.3? I was reviewing my excel and you appear as 4.4.2.

There are other users who are going to test GB-5600 as it seems to be more problematic than GB-6900B.

Tomorrow I will test CW for a long period in order to check if connection is broken.

If you test with the other ROM we can discard watch problems.

Thanks for your help!
 

masterjc13

Senior Member
Jan 15, 2010
213
167
hi, first report! :)
after some tries, i able to connect and status and services are both green. The alert button works. The connection don't drop till now, but i don't receive the notifications, but maybe i miss something!

Hello and thank you very much!

When you say "the alert button works" Is that a notification is shown in the phone?

Have you unpaired watch-phone? Please, clear phone pairing information from your watch too.
 

bartvanzetti

Member
Aug 16, 2012
17
1
Italy
Hi, the notification is on the watch, i have clear watch pairing info, before that i can't able to connect. After that no ptoblem. When i click the alert button i don't see nothing on the phone but the watch start to beep for some seconds.

Inviato dal mio Nexus 5 utilizzando Tapatalk
 

masterjc13

Senior Member
Jan 15, 2010
213
167
It is unclear to me if I have rnpaired from the official app before I try this one?

I tested CW without unpairing watch from official app and it worked. Remember that a prerequisite is official app must be OFF!

Anyway, please... Unpair and try it again if it does not works without unpairing. We need to test all options in order to discard wrong ways!

Thanks for your help!
 

masterjc13

Senior Member
Jan 15, 2010
213
167
Hi, the notification is on the watch, i have clear watch pairing info, before that i can't able to connect. After that no ptoblem. When i click the alert button i don't see nothing on the phone but the watch start to beep for some seconds.

Inviato dal mio Nexus 5 utilizzando Tapatalk

Good news @bartvanzetti!! You are running CW perfectly! Call notification has to be shown in the watch! Nothing happens in the app (only a toast saying "Notifying call").

Please, test if the connection remains stable...

Thank you very much!
 

Toje2

Senior Member
Apr 13, 2009
113
7
I dont have the official app installed at all any-more since I got a pebble watch in the meantime.

However it works, I paired the watch with the phone, and was able to connect and send the alert all perfectly. Bit of fiddling, with connect/reconnect but that's normal with the watch anyway.
 
  • Like
Reactions: masterjc13

masterjc13

Senior Member
Jan 15, 2010
213
167
Great work!
I've tested first version and it works.

- S4 Mini with CM11 4.4.2
- GB-6900B

After removing pairing from official app and from watch I've got CW connects at first try. Also test alert works as it shoud. It stay connected, looks stable. Great news.

My suggestion about future versions:
Would be cool if we could build a list of custom apps (from app selector) that we want to be notified from.
Is there any chance to create own notification icons (like stock casio phone icon, message, calendar etc.)? I think not. Mayby a good way to identify from whose app notification comes is a short (maybe definable) alias. For example:

Application / Alias:
Viber / V
WhatsApp / W

Then watch notifications will look like:


Edit: Reconnect works too.

It sounds good!! CW 0.1 seems to work for all users! Thank you very much for your time!

That's the kind of help we need... Functional suggestion to develop a usable app. We need more ideas!

My first whatsapp test send something like this "W:Contact name". I saw that the watch limits the size to 18 characters. But the app must optimize when to notify or the watch batery will die in few minutes. Watch icon is fixed in the watch firmware... Nothing to do. We have to use one of the hardcoded icons: mail, call, SNS, Calendar. I want to test what is "OTHER" notification.

The next feature to implement is notifying real calls. I think this is a MUST!

Thank you in advance and more ideas are welcome. I need you real requisites!
 
  • Like
Reactions: Toje2

Luchoc

Senior Member
Feb 9, 2012
111
54
Buenos Aires
Hi @Luchoc!

Thank you very much!

I do not understand you environment. You have OMNI 4.4.2 or 4.3? I was reviewing my excel and you appear as 4.4.2.

There are other users who are going to test GB-5600 as it seems to be more problematic than GB-6900B.

Tomorrow I will test CW for a long period in order to check if connection is broken.

If you test with the other ROM we can discard watch problems.

Thanks for your help!

I'm using Omni 4.4.2 but was talking about rolling back to stock Sony 4.3 to test the watch stability instead of my wonky bluetooth drivers. I'll do just that and report back tomorrow.
I guess it is more problematic because it's a first-gen BTLE G-Shock, GB6900B and GB-X6900B are second generation and supposedly work better.
Thank you for doing this!
 

Toje2

Senior Member
Apr 13, 2009
113
7
I would be happy with app notifications and calls, but being able to turn off persistent notifications

Music is there for the newer ones :) still cool.

Sent from my Nexus 7 using XDA Premium 4 mobile app
 

masterjc13

Senior Member
Jan 15, 2010
213
167
@ronaldheld and @Luchoc own GB-5600 model. You are the only ones who has some problems. @mil_house has the same watch model and will install CW 0.1. We will see if problems are still here with him. No problems found with GB-6900 models. I suppose it's the watch firmware. But let's try with @mil_house and @Luchoc 4.3 version!

As additional info, last month I sent an email to Casio Europe in order to ask if I could access to the original Casio G-Shock+ app source code (as open source... it's free!). I asked for some legal questions too. The answer was not up to expectations! They requested me to send a handwritten letter to Casio Japan!!! Oh my god!!! You must be kidding!! I prefer not to waste time writing a letter... I prefer to write new code :cyclops: If Casio's "Intellectual Property & Legal Dept" read this thread... they can contact me by mail (or handwritten letter :cowboy:) !! :highfive:

My next step is to implement this in order:

- Real call notification
- Whatsapp notification
- GMail notification
- Other apps notification

There are hard work to do. Let me explain:

Real call notification

There are native support in Android SDK to detect incoming calls. Phone number is the data obtained from this native call. I have to look for a Contact with the same phone number to display ContactId and not phone number.

Whatsapp notification

Whatsapp do not offer an open SDK. So the only way I found is reading and parsing notifications from Whatsapp. So Whatsapp notifications must be ON. The hard work here is to optimize when to show a notification. If I send to the watch every whatsapp notification... the 2 years watch battery (as Casio establishes) will become 2 minutes. One way is to notify only preconfigured contacts/groups and notify only the first unread message from a concrete contact/group (as a reminder to check the phone). And remember, the 18 characters display will limit us (show only Whatsapp contact id).

GMail notification

There two ways:

SIMPLE WAY: As whatsapp, reading incoming mail notifications in the phone. GMail notifications must be ON too.
HARDEST WAY: Android SDK comes with native support to query for unread mails, etc. This is POLL system. It will be interesting to research for Google Cloud messaging in order to PUSH mails, not polling.

Other apps notification

The best way is to implement custom notifications for most used apps but I can implement a generic mechanism to process ALL android notifications and process/filter them. From CW you can configure which apps must send a generic notification and how.

This is a breaf summary.

Do you agree?

Edit: I'm a server side analyst and programmer. I prefer to offer good functionality to pretty visual applications. Well... I'm terrible with GUI interfaces. You will probably be as horrified as I am with the visual aspect of CW but i'm not looking for a pretty app... I'm looking for a fully functional app! I hope that you will understand me LOL
 
Last edited:
  • Like
Reactions: Luchoc and Toje2

Top Liked Posts

  • There are no posts matching your filters.
  • 15
    Hi all,

    You are here if you have a CASIO SmartWatch (Bluetooth enabled) and the vendor application do not offers you full functionality for Android devices. Or maybe your Android device is not supported!

    BlueWatcher turns your CASIO BLE watch in a really "SmartWatch"!

    The application is called "BlueWatcher"

    Visit our main web page and discover what does BlueWatcher do for you!

    http://www.bluewatcher.es

    Thank you in advance!

    Tested watches
    - Casio GBA-400
    - Casio GB-6900
    - Casio GB-X6900
    - Casio GB-5600
    - Casio STB-1000

    Last Release

    BlueWatcher 1.1.2 has been released!!

    Main functionality is: Whatsapp, incoming call and generic application notifications. Date and time synchronization. Multiple and configurable phone control modes. Phone finder service. Reconnection and autoconnection. Visit our web and discover more.

    https://play.google.com/store/apps/details?id=com.bluewatcher
    7
    Hello!

    I finished BlueWatcher 0.3! I'm doing some testing in order to guarantee correct behaviour.

    I will publish it today or tomorrow. I will explain how it works.

    I solved incoming call crash too.

    See you!

    Sent from my SM-N9005 using XDA Free mobile app
    6
    And what about "Smart Watcher"... and without keeping any part of the old name... "Blue Manager", "Smart Manager" or "Connect Manager"...

    For the next version I'll be happy if you implement a way to save the settings ;)

    Great work!! Thanks, mil gracias ;)

    I do not use SmartWatcher because Sony has named it's wearable "Sony SmartWatch" :eek:

    But "Watcher" liked me because this app is for "Watches" and it's "watching" so it's a "Watcher" :cowboy:

    I like "BlueWatcher" because "Blue" is a color and it's easy to remember. End Users need minimalistic names... not protocol names. :cool:

    I'm migrating all the project to BlueWatcher. No more "Casio" and "G-Shock"!!! I only advise that BlueWatcher is tested with GB and STB (Bluetooth 4.0) Casio watches... but the app will not be restricted to Casio models.

    I'm working hard to configure generic app notifications (ugly GUI, horrible GUI... but pretty functions).

    I'm finishing implementing BlueWatcher Notification entry in the notification status bar too (indicating if it's connected and having a shortcut to go to BW)
    6
    Casio Watcher 0.2 instructions

    Please, uninstall Casio Watcher 0.1 before installing 0.2.

    Follow steps 1 to 9 of the Casio Watcher 0.1 instructions. http://xdaforums.com/showpost.php?p=52279872&postcount=14

    Here comes the big difference. You only have to click on your detected watch and wait until it connects. You do not have to go back and forward trying to reconnect the watch, CW does it for you.

    When it's paired and both connection and services are available, you can click "TEST" button to test if they are paired correctly. You will receive a call notification in your watch saying the caller is "Casio Watcher".

    Incoming call notifications and Whatsapp notifications are available!!

    Let me explain the configuration options:

    * Incoming call notification
    • Configure if you want to resolve phone number with a contact
    * Whatsapp notification

    • Incoming messages will be notifies as mail alerts.
      Contact Messages will be formatted: "W:Contact Name"
      Group Messages will be formatted: "WG:Contact Name"
    • You can disable/enable group notifications.
    • You can select one algorithm for notifications:
      • Delay new mesages: When you receive a message from a contact, you will not receive new notifications from this contact after X minutes. For groups, you will not receive a notifications for the group (any contact).
      • Notify after read: When you receive a message from a contact, you will not receive new notifications till you read the first notified message. If you receive 5 messages from X contact you will be notified only once. When you read those 5 messages from your mobile, you will be ready to receive new notifications for this contact. This algorithm will be a little different for group messages. I will manage group messages as a contact message. I will not distinguish between single contact message and group message. You will not receive any message to the group until you read the first notified.
      • Notify all messages: Easy, you will receive a notification in your watch every time a message arrives to whatsapp. (BE CAREFUL WITH BATTERY DRAIN)
    • Actually, I'm not able to get sender ID from the notification. The only way to do this is parsing the incoming notification message "Message from XXX". For this purpose, please, fill in the "Notification filter" text field with the header of your notifications (internacionalization here is difficult but can be implemented too). With this text field CW will be able to notify you who sent you the message and group ID!!!
    Every time you change a param, if you click the "Apply" button, the configuration will be applied in less than a second!!

    Reconnection has been improved too. You will see a message in the screen every time they loss connection. Reconnection is made in aproximately 10 seconds (the time CW is notified about broken connection and retry executes).

    IMPORTANT: In the ABOUT screen you can see the application disclaimer.

    IMPORTANT 2: Saving configuration is not implemented yet. Every time you start CW you will have to reconfigure it. SORRY for the inconvenience.

    I'm going to send you CW 0.2 links.

    Remember to create new problems/bugs in the project issue tracking tool. Any question about the functionality, please, publish it here in XDA forum!

    Good Luck!!! And remember... it's not a professional and final application, it can crash, it can lack...
    5
    BlueWatcher 0.3 instructions

    BlueWatcher 0.3 is here!

    As I posted before, CasioWatcher changed its name to BlueWatcher. This application can run with any Bluetooth 4.0 BLE watch that implements Alert Service. Watches tested and running are:

    - Casio GB-X6900
    - Casio GB-6900
    - Casio GB-5600
    - Casio STB-1000

    You can download BlueWatcher here:

    https://docs.google.com/file/d/0B8H4RiQ3CA75eEU1dzB0Tk1TVWc/edit?usp=docslist_api

    @FUNKENG... I will publish it to Google Play Store when more functionality is available (I need to check licensing and publishing requirements).

    If you didn't requested authorization before, you will need to request authorization in order to download the file. Now, you do not need to request the link in this XDA post. I think there are so many watches and phones tested. The first step of testing was to assure the application could run in many phones and run against all the watch models. Acomplished! Now, you only have to post your phone and watch models when you have any problem running BlueWatcher.

    Let me begin with the first point you will complaint ;). Actually, you can't save BlueWatcher settings. I'm sorry but I prefered to release fully functionality. It's so easy to configure and I implemented an easy way to find an application to add to generic application notification.

    There are 2 big differences from CasioWatcher 0.2:

    1. New screen ordering and fixed notification to quickly access BlueWatcher.
    2. Generic application notification

    If I have to enumerate BlueWatcher 0.3 functions, those are:

    - Bluetooth 4.0 BLE Watches compatible with Alert Service.
    - Automatic reconnection when connection is broken.
    - Fixed status bar notification to inform connection status and offer a quick access to app.
    - Incoming call notifications with contact name resolving.
    - WhatsApp notifications (3 different notification algorithms)
    - Generic application notification
    -- Find button to quickly search your desired application
    -- Full customization of the notification message

    Instructions

    Now the configuration and status screen is the main window. Here you can find "WATCH" button to select the watch you want to connect. The connection screen is the same as the last version. Scan and connect.

    When BlueWatcher is started, a new notification in the status bar will appear. From this fixed notification (you can't remove this notification) you can go to the main BlueWatcher screen and you can see the connection status.

    When it's paired and both connection and services are available, you can click "TEST" button to test if they are paired correctly. You will receive a call notification in your watch saying the caller is "BlueWatcher 0.3".

    Let me explain the configuration options:

    * Incoming call notification
    • Configure if you want to resolve phone number with a contact
    * Whatsapp notification

    • Incoming messages will be notifies as mail alerts.
      Contact Messages will be formatted: "W:Contact Name"
      Group Messages will be formatted: "WG:Contact Name"
    • You can disable/enable group notifications.
    • You can select one algorithm for notifications:
      • Delay new mesages: When you receive a message from a contact, you will not receive new notifications from this contact after X minutes. For groups, you will not receive a notifications for the group (any contact).
      • Notify after read: When you receive a message from a contact, you will not receive new notifications till you read the first notified message. If you receive 5 messages from X contact you will be notified only once. When you read those 5 messages from your mobile, you will be ready to receive new notifications for this contact. This algorithm will be a little different for group messages. I will manage group messages as a contact message. I will not distinguish between single contact message and group message. You will not receive any message to the group until you read the first notified.
      • Notify all messages: Easy, you will receive a notification in your watch every time a message arrives to whatsapp. (BE CAREFUL WITH BATTERY DRAIN)
    • Actually, I'm not able to get sender ID from the notification. The only way to do this is parsing the incoming notification message "Message from XXX". For this purpose, please, fill in the "Notification filter" text field with the header of your notifications (internacionalization here is difficult but can be implemented too). With this text field CW will be able to notify you who sent you the message and group ID!!!
    * Generic app notifications
    Click "EDIT" to configure which generic applications should be notified.

    In this screen you can see a list with the selected applications that will be notified to the watch. Click "ADD" button to add a new application or click over an application from the list to edit it.

    • Adding a new generic application: In this screen you can see a list with ALL the installed applications in your phone (Icon and application name). Select one application or click "FIND" button to look for a concrete application. If you select "FIND" option you can write a substring of the application. You don't need to write full application name. For example: If you type "Face" you will find "Facebook" application. If you type "mail" you will find "GMail" and other mail applications.
    • Editing a generic application: Even if you added a new generic application or you are editing one you can modify next options:
      Alert Prefix: You can modify the prefix you want in your messages when a notification is shown. For example, write "F" for Facebook and all your notifications will start with "F: xxxxx".
      Header filter: When the notification text is shown, you can filter messages with a header filter. If your notification message starts with this filter, it will be shown without this beginning text. For example, If your application notification is "You earned 46 points" you can set header filter to "You earned " and the message sent to you watch will be "46 points".
      Alert type: If your watch supports different notification styles you can select one of those: CALENDAR, MAIL, SNS, SMS, Call.

      IMPORTANT: Application name will be shown in your watch if "Alert Prefix" and "Header Filter" are empty strings. If you type something in "Alert Prefix" and/or "Header Filter", then notification text will be shown in your watch.

      EXAMPLES

      1. "Facebook" with empty "Alert prefix" and "Header filter" notifies you. WATCH TEXT -> "Facebook"
      2. "Facebook" with "Alert Prefix=F" and empty "Header Filter" notifies you. WATCH TEXT -> "F:Ben sent you a message"
      3. "MyGame" with "Alert Prefix=G" and "Header filter=You won" notifies you "You won 54 points". WATCH TEXT -> "G:54 Points"

    Every time you change a param or add/modify generic applications, click the "Apply" button and the configuration will be applied in less than a second!!

    And I remember you that you can collaborate with donations as explained here: http://xdaforums.com/showpost.php?p=53346469&postcount=123

    Thank you so much!!!!!