A very rookie question here from someone who is trying to better understand the engineering of the OS 2.3, which I have been using and updating for years now.
I noticed through the years that when I update the firmware, sometimes also the web app gets updated.
Then there is the mobile App, which I downloaded from the Android market, and that supposedly gets updated from there as any other app from the market. The two apps, the mobile version and the web one that I see when I point the browser directly to my OS device, look identical, so I wonder: where is the web app hosted? Is it hosted inside the device, which means it must be packaged with the firmware and updated with it, or is it hosted in some server, which means every new firmware must have some change that point to the new app version if there is one?
Sorry for the very rookie question, I am just trying to understand how the device is engineered in terms of frontend/backend
The web version of the app is hosted at ui.opensprinkler.com
When you access the controller directly in a web browser, it returns a homepage that contains re-direction link to the above site, so the browser can load the web UI from there.
The UI looks different with different firmware because each firmware supports different sets of features and the UI detects your firmware version so that it enables or disables certain UI elements accordingly. For example, OpenThingsToken (OTC) is only supported from firmware 2.2.0, so it doesn’t make sense to show this option for firmwares earlier than 2.2.0.
The firmware itself provides HTTP API to interact with the app / web UI. You can go to support.opensprinkler.com and check the OpenSprinkler HTTP API to check the details.
Now it all makes sense, thank you!
And if one wanted to modify the UI, I see that the repo can be cloned and run locally, is that the way to do it?
And next one could host his own modified UI somewhere else and change the firmware to redirect to an alternate address?