Yes, everything will be configurable. In the app settings, you’ll be able to define the host and sitemap name. In the future, I plan to add support for multiple hosts and sitemaps, with the ability to switch between them through an in-app menu (something I personally need, as I have two openHAB instances at different locations).
The app can now also send commands using my Webhook solution. This requires the Webhook binding, a custom Thing configuration, and a JavaScript script — not exactly a clean setup. Having it work out of the box would definitely be better. Still, building it this way helped me figure out the necessary functionality, and now it will be easy to switch to the REST API (or even support both methods).
Right now, I’m waiting for the app to be approved in the Garmin CIQ store, so I can test it on a real watch. Once it’s approved, others will also be able to test it.
I’m gathering ideas for how to develop this basic version further here:
And here’s the current configuration screen (shown in the simulator):
1. Memory Usage:
Right now, the app is quite efficient in terms of memory.
In my current test setup (two frames, each containing a switch), the app uses about 32 kB of memory. The Vivoactive 3 has about 59.9 kB available. It was the last generation that was so limited - the Vivoactive 3 Music already provides 512 kB of memory for apps.
This 59.9 kB is not purely for the application’s dynamic memory (heap) - it also has to accommodate the binary code and any image resources.
As the app grows in features, it will become more challenging to run a full-featured version on older devices like the Vivoactive 3.
That said, it’s possible to selectively disable certain features on lower-end devices. For example, in the openHAB app, older devices might only support a subset of sitemap element types.
2. API/SDK Compatibility:
The Vivoactive 3 does not support some of the newer API and SDK features.
At the moment, the app relies on only one non-essential feature that is not available on the Vivoactive 3, so compatibility should mostly be manageable.
3. User Interface Differences:
Modern Garmin devices use a “Glances” system - short previews that link into the full app - while the Vivoactive 3 still uses the older widget carousel.
This means the Vivoactive 3 would require a custom first screen that shows a brief status overview, then transitions into the full app with traditional navigation.
Once I have the basic feature set ready, I’ll try running it on the Vivoactive 3 and see how it goes.
Speaking of which - the screenshot below shows today’s progress.
There’s more going on than it might seem at first glance. Previously, the app used standard UI elements (like the green toggle switch), but these are quite limited and couldn’t easily be combined with custom components.
I’ve now switched to custom UI elements, which not only allows for a custom-designed toggle switch, but also makes it possible to add icons, additional controls, and support for more complex items like roller shutters.
Thanks for the update — I am looking forward to trying the app out myself. Probably the time has come for a new watch, my vivoactive is 7 years old, even though everything still works fine, I sometimes would like to have some additional features available. UPDATE: Just ordered a Fenix 6 Pro for a very good price.
It‘s quite interesting to learn about the memory limits of the Garmin devices, did not expect them to have that small amount of memory.