I'm working on an implementation for a friend who owns the Stromno app for Apple/Samsung/WearOS in Logix and I figured I'd share my findings here since it's a fairly simple implementation.
When you setup the app for OBS integration it gives you a URL. The UUID on this URL appears to be static and tied to the users account.
The property of interest here is the ramielUrl, which is the secure websocket URL that provides the actual heart rate data. This URL also appears to be static and tied to the user account. As the saying goes, the S in IoT stands for security!
Once you connect to the websocket you get back the following messages:
Since it appears all of these URL's are static, once you setup the websocket URL you should be able to set it and forget it. Alternatively I would not be surprised to learn this API doesn't have any kind of CORS or other restrictions that would stop you from just pasting the URL into your app and getting the requests yourself.
I'm working on an implementation for a friend who owns the Stromno app for Apple/Samsung/WearOS in Logix and I figured I'd share my findings here since it's a fairly simple implementation.
When you setup the app for OBS integration it gives you a URL. The UUID on this URL appears to be static and tied to the users account.
Ex: https://app.stromno.com/widget/view/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
That page connects to the makes a POST request to the API URL:
https://api.stromno.com/v1/api/public/rpc
And sends along this payload:
Note that
widgetId
is the same UUID from the URL. Theid
field doesn't seem to matter for our purposes.That request responds with the following JSON:
The property of interest here is the
ramielUrl
, which is the secure websocket URL that provides the actual heart rate data. This URL also appears to be static and tied to the user account. As the saying goes, the S in IoT stands for security!Once you connect to the websocket you get back the following messages:
Since it appears all of these URL's are static, once you setup the websocket URL you should be able to set it and forget it. Alternatively I would not be surprised to learn this API doesn't have any kind of CORS or other restrictions that would stop you from just pasting the URL into your app and getting the requests yourself.