OneWheelWear app for Android Wear 2.0 watches
in October 2017, I started to develop an AndroidWear 2.0 (Google WearOS) app that directly connects to the OneWheel board without the need of any intermediate. Today, I added a free version of the app, since I had thee feeling that many people hesitate to buy an app without knowing whether their equipment is compatible.
This free version of the app is available in the Google Play Store https://play.google.com/store/apps/details?id=com.toothr.oww.free and does use the same code-base as the paid version. The only difference is, that it is only capable of displaying the current speed of the board as you ride.
In case you are happy with the free version, you could upgrade to the paid version, which - I admit - has its price. Given the time I invested in development, even the high price of the app makes it hard (if not impossible) to get into the profit zone with it. The paid version can be found here: https://play.google.com/store/apps/details?id=com.toothr.oww
Since membership in this forum qualifies you as an interested OneWheel owner, I would like to use this forum in order to listen in on your experiences and to improve the product. So please share your experiences with the app here. Thank you!
In case you are interested in my hardware setup, here it is:
- OneWheel +
- Motorola moto360 (2nd edition)
- Motorola moto360 Sport
All the best,
PS: If you are having the new OneWheel+XR and do have an AndroidWear2.0 watch: Please send me message and get a Play Store voucher for the paid app. I would like to get your feedback!
PPS: Please avoid common mistakes when you test! You can only use one device together with your OneWheel board. So when you test the app, make sure no other device is connected to your board.
@dag0bert I just tried OneWheelWear Free on my LG Watch Urbane. It didn't find any Bluetooth devices, so I went into Settings, then Apps, then find OneWheelWear, then Permissions, then enabled Location.
It shows a list of Bluetooth devices (including but not limited to my Onewheel+) in range now but the app crashes immediately after showing the list.
Where should I send you a logcat dump to help you debug it?
@joseph Thank you for your feedback!
The location permission is necessary for the app to use the Bluetooth interface. You should have been asked to enable it when you first ran the app. Maybe I should ask for this permission (when it is not granted) every time the app starts.
The list of Bluetooth devices is not limited to the display of OneWheel devices, yet. I will work this in into future versions of the app.
Since there is no definite malfunction, I do not need the logs. Thanks.
@dag0bert Hey bro. Super stoked your developing a android wear app for OW. Anything we can do to run it through its paces?
Does it work on the Original OW?
@drn3rd Hello there! The app should work for the classic version of the board as well. I never tested it with it, though. Please first install the free Version and check whether you are able to connect your board. Please tell me whether this works.
@dag0bert Ill get back to you once I do. ETA 3-4 days
I've got the s3 Wear. Couldn't find the app in the samsung app store.
@brageorgia Samsung watches run a different operating system called Tizen instead of Android.
@dag0bert I still get the crash on my LG watch Urbane...
@joseph Hi! Thanks for helping out with the Tizen question. I am sorry I misread your first report. I was not aware that the crash still occurs. For some reason I believed that the crash was only an initial problem that disappeared once you were able to select a device. I will look into this asap!
@joseph A newer version of the app is now published in the play store. I did some work on the inquiry process that hopefully solves the crash on the LG Urbane. I am looking forward to your feedback!
@dag0bert Hey Sir.
I have now tried my Skagen Falster running Android wear 22.214.171.124487362
Unfortunatley it doesnt seem to find the Onewheel V1.
@drn3rd Hi! Thanks for giving it a try. From what I know, you should be able to see the board.
Please make sure, that:
- no other device is connected to the board when you try
- the OW has been been turned on when you search for devices... and no other device was connected before you try to connect with your watch
@dag0bert Hey my good man.
Doesnt seem to find the board when searching for OneWheel, regardless.
Verified Location permission was activated
Did one round when my phone was off, Cycled the board, and the watch, checked the settings, searched, nothing.
Second round with phone on, same procedure, nothing.
@drn3rd Thanks again for testing! I am sorry it did not work for you. Even though, I am still curious whether the board version or the watch make are the reason for this. Maybe some other OW V1 owner with an Android Wear 2.0 watch is reading this thread and also wants to give it a try :)
@dag0bert I have an original OW, and an LG Watch Sport.
- Installed the free app.
- Turned on my OW - my phone was not connected to it.
- Started up the app.
- It asked for location permission upon startup, which I accepted.
- I pulled down from the top, to get to settings, "Select your OneWheel board", "searching devices..." (nothing).
- I went into the watch Settings -> Apps & notifications -> App permissions -> OneWheelWear -> the only permission listed is Location (which was enabled).
I note that in the Play Store details for the permissions for the app, it says that "pair with Bluetooth devices" is under the "Other" category, not the "Location" category. No idea if that is relevant.
@slashlib Hi! Thanks for trying it out. In the last version of the app, I implemented a ScanFilter, that only shows devices that implement the OneWheelService (a certain ID). As far as I know, also OW V1 boards do expose this BLE service.
The process you describe is exactly how it is supposed to work.
As for the permissions... in the developer documentation is written that for Bluetooth access, the location permission is required. I assume that relates to the ability to also read the IDs of BLE Beacons, that also could reveal the user's location.
While testing this, I repeatedly opened up the settings-dialogue and the device dialogue to eventually see my board. Once this has been found, it is stored in the preferences and doesn't need to be changed again.
@dag0bert Its cool.
Any way I can supply more info on the V1?
I mean the OW apps says hardware :2206. But I doubt that would be of any help.
alternatively, maybe you know how the OW app checks for Bluetooth devices?
@dag0bert ack. Let me know if I can get any other info to help debug this.
I looked into @slashlibs past posts. I dunno if this might affect anything when it comes to wearables but the system info gives me info on the wear os, but also that its running android 8. My initial guess was the OS my phone is on, but... im on android 7 still.
Edit: To clarify slahslib has noted some issues with how android os 8 and the onewheel BT communicates
@drn3rd @slashlib Hi there. The watches I am currently developing with are android 7.1 watches. Probably, this malfunction has to do with the API level. I will have a look on available/affordable Android Oreo watches in order to get my hands on the issue. The OS version of the phone does not play a big role here, since the app is running standalone on the watch.