Beta testing app for Tizen (Samsung) smart watches

Tags: #<Tag:0x00007f5c95182e20> #<Tag:0x00007f5c95182d58>

Hi everyone!

New to the community but long time openHAB user. Long story short; for a while I’ve been tinkering on an app for Tizen based smart watches. I.e. Samsung Gear and Galaxy watches. It’s a stand-alone application using the openHAB REST api to fetch and display a sitemap on the watch. It works very much in the same way Basic UI does, except that it doesn’t support all sitemap elements.

Is there anyone here who’d be willing to take it for a test drive before I try to publish on the Samsung app store?

If so, I see two alternatives.

  1. If you have a Gear S3 or later Samsung watch running at least Tizen 3 paired with a Samsung Galaxy phone I can add your samsung account to a beta test group in the Galaxy app store.
    In a perfect world it would be as easy as sharing a link, but Samsung don’t allow public betas for watch apps and there’s also a requirement on a Samsung Galaxy phone for beta testing watch apps :frowning:

    If you have the required hardware combo and are willing to share your samsung account e-mail this is the easiest way.
    One disclaimer though; since I don’t have a Samsung phone myself I haven’t been able to test how the beta flow actually works.

  2. The second alternative is to clone the git repo or download a release tarball.
    Install a recent version of node/npm, then run: npm install; npm start

    You can then try it out with a browser on http://localhost:8080/, preferably with Google Chrome since that’s the rendering engine for web apps on the watch. Bear in mind that you need to get around CORS when running this way. Have a look at the repo README for instructions.

You can of course install on a watch from the source, but that requires tools from Tizen Studio and Samsung developer certificates which is a bit cumbersome to set up.

What I’m mostly interested in, if you choose to accept the challenge, is if there are problems with specific sitemap configurations. I.e. are there configurations that breaks the app. The repo README lists sitemap elements which are at least to some extent supported.

I’m also very curious about the behaviour on LTE devices. Since there’s no authentication support in the app it can really only be run on local networks, but I have no idea how LTE devices route the traffic.

The app has mostly been tested against openHAB 2.4, but should work with 2.3 and 2.5 as well. Due to changes in the REST api earlier versions won’t work. It works fine with the openHAB demo setup and of course with my own setup, which isn’t overly complicated.

5 Likes

It’s now published to the Samsung Galaxy Store, https://galaxy.store/ohremote

A special thanks to @stefaanbolle for beta testing before release.

3 Likes

Looks good so far, is it also possible to connect via myopenhab? In my understanding it should because it also supports basic authentication via https. Cannot test currently but will give it a try as soon as possible.
Thanks for sharing! :slight_smile:

Good to hear!

It will be possible to connect via myopenhab in version 1.2, which is currently in the Samsung review process.
The version (1.1) currently published in the Galaxy store doesn’t have authentication support.

2 Likes

Ok, that explains why I saw your implementation for basic authentication in your repo :slight_smile:
I will report my feedback!

Hi, I have also created a tizen app for galaxy watch. It is currently in samsung review and in beta testing. You can checkout this video how it looks and what all functionality is there.

Darn, I have an older Gear S2 (which runs Tizen 2), so I guess I’m out of luck. I can’t blame you for starting your support at Tizen 3, but if you want to test it on Tizen 2 then I’d be happy to help.

@rpwong Download the beta app. Link is in youtube video.

The beta app won’t install, with this error message.

“You are not authorized to test this app or the test period has expired. Try using this app once it is officially released in Galaxy Apps.”

@rpwong my bad, this beta version is for closed group. If you are ok to share your samsung Id. I will add it in beta testers.

The app is published now. Note it is paid app. If interested, check out here: http://apps.samsung.com/gear/appDetail.as?appId=YmsEUlYJ1v

1 Like

Great app Amin! Thanks for developing!

@stefaanbolle thanks!

Hi Stefan,

using openHAB for quite some time now, I found now your Tizen app in the Samsung Galaxy store. I installed it on my Galaxy Watch and tried it. I’d say a really great user experience given the limited display size!

Unfortunately I’m not able to switch items. It displays correctly the current item status (i.e. light on or off, room temperature, …), but I cannot switch the state. On the lower part of the watch display it shows a crossed-out sync logo (see photo).

My setup is:

  • OpenHAB 2.5
  • Samsung Galaxy Watch, SW 4.0.0.7
  • Watch connected via wifi to local network

Any idea what the problem could be?

Cheers

DieterIMG_3064 Kopie

Hi Dieter!

Glad that you like the UI, even though updates are not working properly.

The app connects in two ways. Getting sitemap state and sending updates are done with traditional HTTP GET/POST. Then there’s also a persistent SSE (server sent events) connection for receiving state updates.

The crossed over sync-icon you’re seeing indicates that the SSE connection fails or can’t be established. Pressing the icon reloads state and tries to establish the connection again.

Has it always behaved this way or has it started happening recently?
Does it send the updates to openHAB? I.e. is this purely a refresh problem or does it fail also when sending updates to openhab?

There’s a few things you could verify/try:

  1. Try restarting the app. Open the app menu (the 3 dots) and select Quit. This closes the app so it’s started fresh the next time you open it.
    Since it takes a little while to start the app I chose to keep it alive and kill all active connections when leaving the app using the hardware buttons.

  2. Verify that openHAB BasicUI works as expected, and make sure to check that it’s not showing any toast about using a fallback connection.
    The BasicUI implementation also uses an SSE connection, but has a fallback implementation in case SSE fails. The watch app has no such fallback and requires an SSE connection.

  3. Restarting openHAB. I’ve seen openHAB filling up it’s pool of SSE connections, meaning that no more connections can be established. This happened to me a lot when I had a misconfigured nginx in front of openHAB, but I can’t remember seeing this under “normal” operation.
    If this is the case you should see a “fallback connection” toast in BasicUI.
    This is a kind of a long shot, but if it works it’s an indication of something not releasing connections properly.

Hi Russ, sorry for the late response.

I actually made an effort to support Tizen 2 as well, but it turns out the rendering engine on Tizen 2 behaves in strange ways. To make matters even worse there also seems to be some compatibility hacks in Tizen 3 and 4, making the UI render differently just by setting the supported version to 2.

I really couldn’t find a way to support both 2 and 3+ in feasible way so I had to give up those efforts.

No worries, and I hear you about the differences between Tizen 2 and 3. I helped Amin develop his app for Tizen 2 and it works, but he couldn’t get remote access to work securely.

One of these days I’ll upgrade my Gear S2, but I’ve had it for over two years and the battery life is still fantastic. And to be honest, having openHAB on my watch is a low priority. I actually had some controls set up via Tasker and IFTTT before, but I never used them.

Cheers!

Hi,

To make things work correctly in tizen 2.x I have not used any third party lib in my app for UI or anything.

Many thanks to @rpwong to test on actual device. Emulator and actual device does have some differences.

1 Like

Hi Stefan

Thanks a lot for quick reply and advise! I did 2 things: 1.) restarted OpenHAB Services and 2.) restarted my Galaxy watch. Since then it works perfectly! Items can be manipulated and showing their real time status.
But still facing one issue, not sure whether this is based on watch behaviour or could be solved within your app. Connection to OpenHAB server is broken when watch is connected to my iPhone via Bluetooth. When I disconnect the Bluetooth link, it works again. Seems that the watch tries to use the Bluetooth connection to the iPhone instead of WiFi to connect to OH server.

Cheers
Dieter

Hi Dieter,

I’m pretty sure I can’t solve it in the app. The app is based on web technology so it runs in a web runtime and I haven’t seen any API’s for network selection available for web apps. I have seen such API’s for native apps but if I haven’t misunderstood they’re only available for network providers.

I’m almost exclusively using the bluetooth connection on my watch (Gear S3 without LTE) since it consumes less battery. I’m however connected to an Android phone, not sure if that makes any difference.

Can other network connected apps access the network properly over bluetooth? E.g. any of the browsers available in the store.