Jump to content

EUC Alarm app: hear your Gotway/Begode wheel beeps!


Recommended Posts

1) Yes, leaving the app notification open works, but I don't want to have a notification always showing.

The "service running" notification (that can be hidden) sounds nice!

 

2) Forgot to add, that the vibration does not stop on the stop & exit option as well (so you have to reopen the app or force close it)

 

3). Sure. I did some low voltage tests, because I wanted to understand the behavior. My findings are the following:

Gotway wheels have a low voltage and a final tiltback voltage.

When dropping below the low voltage value they constantly beep while being powered on (even when stationary).

In the specification sheet they used to say that the low voltage alarms trigger under 15% battery, but that was a vague term and in new wheels (such as the hero) they publish the actual voltages.

I'll give a concrete example with an mcm5v2.

The mcm5v2 800wh is 20s3p wheel. Maximum voltage 84v (4.2v / cell), low voltage 68v (3.4v / cell), tiltback 66v (3.3v / cell)

When I drop to 68v and below (around ~12% battery with linear calculation), the wheel beeps 1 / second even if stationary.

When moving up to ~7km/h it beeps 2 / second.

When moving above ~14 km/h it beeps 3 / second.

When hitting the 80% speed it's the usual 5 / second.

When I hit 66v (0% battery), the wheel applies a strong tiltback that disengages when the voltage gets above 66v. (65.9 was the lowest I went)

This is good for safety, because it means that even at the final tiltback, the wheel still has some juice in it (3.3v) compared to other wheels such as kingsong.

Historically all Gotway wheels emptied at 3.3v, but in order to gain more range, they allow further discharge in newer wheels. For example on Hero, they claim 79v low voltage (3.3v / cell) and 78v tiltback (3.25v / cell) and that is only a 4p wheel. In monster pro which is 8p wheel, they let the cells discharge even further I think.

 

The low voltage beeps, use the user specified beeper volume (which if set to 1 for example, is inaudible outside), but the 80% always uses the max beeper volume.

The low voltage alarms are also reported in the bluetooth packet (undisguisable from the 80% alarm in my wheel at least), so euc alarm app is properly triggered as well. 

 

Edited by Freestyler
  • Like 2
Link to comment
Share on other sites

  • 3 weeks later...

I released the version 1.0.3 on as open testing, which adds support for Android 12.

I just finished it late at night and don't have time to test it on a real Android 12 device until Monday, so I'll try that next week and release it in prod if that works well.

Link to comment
Share on other sites

  • 1 month later...

It would be a very appreciable safety feature but the Gotway MSP & Android 12 Samsung S10 + will unfortunately not launch at all. When I put the wheel in search then the APP goes to sleep :(

Link to comment
Share on other sites

Hello @Raptor! I guess you're the same person who left a 1-star review last night.
Could you try the beta version? It should address this, and I'm looking for someone with an Android 12 phone to try it before publishing it as main release.

Thanks.

Link to comment
Share on other sites

Thanks for the app. It's just what I was looking for. It works fine for me on my V11 and Android 12.... but the connection doesn't work the second time, I have to rescan and add another "V11...proxy" to the "garage". Since it only supports 4, I have to remove them each time.

My sequence is:
1. EUC World Connect
2. I open EUC Alarm (if I don't open it, it is not detected or connected, of course)
3. I scan with the P22 and choose "V11-....Proxy"
So it works ok, adding a new connection each time. The above do not work.

Is it possible that I am doing something wrong in the sequence? I've tried everything I can think of. Thanks :)

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

Thanks @Halig!

The Proxy appearing as a new wheel instead of the same one is a limitation from using Android as platform.
For a few versions now, unique hardware identifiers are randomized for Bluetooth Low Energy (MAC address) in order to avoid tracking of your phone in shops, which in most cases would be able to gather very precisely when you come in, which isle you go to, where you spend time you spend.

So as a result, the Proxy itself, which is technically a "GATT Server" is generated by the operating system as a virtual hardware with a different identifier (almost) every time.

So EUC Alarm app can't change that, but if he's open to it, @enaon could use the device name of the wheel proxy instead of the MAC address as stable identifier for the wheel.
In that case, it would allow connecting as the same wheel next time.

  • Like 2
Link to comment
Share on other sites

5 hours ago, supercurio said:

I'm looking for someone with an Android 12 phone to try it before publishing it as main release.

I have an Android 12 (pixel 6), what do you need to have tested? I have but an MTen from the GW lineup, but can do a few checkouts for ya.

Link to comment
Share on other sites

4 hours ago, Halig said:

Thanks for the app. It's just what I was looking for. It works fine for me on my V11 and Android 12.... but the connection doesn't work the second time, I have to rescan and add another "V11...proxy" to the "garage". Since it only supports 4, I have to remove them each time.

My sequence is:
1. EUC World Connect
2. I open EUC Alarm (if I don't open it, it is not detected or connected, of course)
3. I scan with the P22 and choose "V11-....Proxy"
So it works ok, adding a new connection each time. The above do not work.

Is it possible that I am doing something wrong in the sequence? I've tried everything I can think of. Thanks :)

I wasn;t aware the EUC alarm works with the v11, and also provides a proxy for it. If this is indeed the case, I will have a look, maybe I have missed something. 

@supercurio, can you confirm v11 is supported?

Edited by enaon
  • Haha 1
Link to comment
Share on other sites

For what it's worth, I've checked ok it with my V11. And besides, I just went for a walk looking the watch and the mobile (illegally, haha) and the EUC Watch and EUC World are displayed simultaneously and perfectly. The only thing is that the EUC Watch has a delay of about 4 seconds, but not problem; I guess because of the proxy issue.

In any case, as is, even if we have to generate a new connection every time due to that changing BLE ID, it's wonderful! Thank you very much to both developers! :clap3::clap3::clap3:

  • Like 1
Link to comment
Share on other sites

5 hours ago, Halig said:

Thanks for the app. It's just what I was looking for. It works fine for me on my V11 and Android 12.... but the connection doesn't work the second time, I have to rescan and add another "V11...proxy" to the "garage". Since it only supports 4, I have to remove them each time.

My sequence is:
1. EUC World Connect
2. I open EUC Alarm (if I don't open it, it is not detected or connected, of course)
3. I scan with the P22 and choose "V11-....Proxy"
So it works ok, adding a new connection each time. The above do not work.

Is it possible that I am doing something wrong in the sequence? I've tried everything I can think of. Thanks :)

I added proxy support for EUC alarm for the v11, connect to the loader, go to the installed tab, and apply the update, then disconnect.
Please report if the problem is gone. 

it should now follow the name if it is a proxy, like it does for gotway and the sherman. 

Edited by enaon
  • Like 1
Link to comment
Share on other sites

Solved with this update! Now, no necessary scan every time. Congratulations! :clap3:

Now, simply by holding the watch button, it automatically connects to the "V11..proxy" and the watch and mobile app work at the same time (both EUC World and the official Inmotion and even all 3 at the same time, haha)

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

  • 2 weeks later...

I uploaded the 1.0.4 version on the Play Store, which adds this:

  • (Tested) Android 12 support
    I was able to find a well working Android 12 custom ROM to flash on the Pixel 2 I use for dev & testing, so I could make the changes needed.
  • Better spacing between touch elements following UI guidelines

For the next versions I plan to:

  1. Take a closer look at the few crash reports on Play Store, see if there's anything I can fix
  2. Split off the main/actions notification to one that can be permanently hidden, like Garmin or Fitbit does for the services connecting to their wearables, in order to be able to always have EUC Alarm app running in background without visual distraction in the notification bar. Then alerts or wheel connection actions would have their own notification when relevant.

Thanks for reporting the Android 12 issue and @Tawpie for extra testing.

Edited by supercurio
  • Like 1
Link to comment
Share on other sites

Yeah on Android 12 i had to force stop the app some times and more stuff..

Maybe implement a logging function and after a crash is found the option to share the logs with you over attached file on the default email app of the user.

  • Like 1
Link to comment
Share on other sites

36 minutes ago, Lefteris said:

Yeah on Android 12 i had to force stop the app some times and more stuff..

Maybe implement a logging function and after a crash is found the option to share the logs with you over attached file on the default email app of the user.

Force stop but it didn't crash?

Yes thanks for the reminder, the app already logs its status in a file, however there's not yet a way to export it. Adding that to the TODO then 😄

  • Like 1
Link to comment
Share on other sites

8 minutes ago, supercurio said:

Force stop but it didn't crash?

Yes thanks for the reminder, the app already logs its status in a file, however there's not yet a way to export it. Adding that to the TODO then 😄

To show only email clients use this code:

Quote

Intent intent = new Intent(Intent.ACTION_VIEW);
Uri data = Uri.parse("mailto:recipient@example.com?subject=" + Uri.encode(subject) + "&body=" + Uri.encode(body));
intent.setData(data);
startActivity(intent);

If you already chose default email client then it will launch it. Otherwise it will show a list of available email clients. No extra permissions needed.

Also you can switch to URLEncoder.encode().replace("+", "%20") otherwise the email will have pluses instead of spaces.

Play around with it, attach a file, etc... ;) 

  • Thanks 1
Link to comment
Share on other sites

18 minutes ago, supercurio said:

Force stop but it didn't crash?

Yeah, on Samsung S21 Ultra latest firmware, stock.

Sometimes didn't find the wheel, forced stop then it worked, sometimes didn't proxy properly for @enaon's eucWatch to connect to. 

But yeah i'm on Android 12 and it was working, 9/10 times no problems!

  • Thanks 1
Link to comment
Share on other sites

@Lefteris yes there's already a FileProvider used to share wheel recordings (protobuf binary serialization of the BT traffic - not enabled in the prod version). I'll send a gzipped version of these logs when needed because they might get big :D

I see thanks for the details, it's the kind of issue that can be challenging to reproduce around the BT stack, but hopefully I'll be able to reproduce on my Android 12 device as well. Was the issue always happening when Proxy is enabled?

  • Like 1
Link to comment
Share on other sites

8 minutes ago, supercurio said:

I'll send a gzipped version of these logs when needed because they might get big :D

You may want to implement the same gzip compression for all the files of the app, make a new extension (.ext) like ".eucalarm" that the app can import. In that case you can tell the OS to always open these files with the app. (If it was already implemented, sorry, haven't yet tried the feature of sharing my recorded ride :-/ )

  • Like 1
Link to comment
Share on other sites

2 minutes ago, Lefteris said:

You may want to implement the same gzip compression for all the files of the app, make a new extension (.ext) like ".eucalarm" that the app can import. In that case you can tell the OS to always open these files with the app. (If it was already implemented, sorry, haven't yet tried the feature of sharing my recorded ride :-/ )

Yes it is already implemented, I relied on that very much during the initial development. You can export these recordings and re-import them later for replay (or simulation).
That way I was simulating a bunch of wheels from recordings, which I didn't have on hand.

I will make it available it in a advanced menu when adding support or more wheels or newer firmwares later.

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...