Most HE users know how to install drivers/app and should be pretty comfortable with it. However once you start talking about setting up a node server or docker a number of them will start to feel intimidated.
That being said, this project is interesting for a lot because it adds a highly wanted feature. If you know groovy you should be able to convert it over into a native app. It seems to be pretty much reading/parsing the html. I haven't dug into the actual updating code to take a look at how it works though.
I wanted to see if it was possible and created a method to grab the app list by scraping the html and was able to put this together. It creates a map of the installed app code. I use regex to parse the data, there may be better ways but this was more of an experiment. It could easily be modified to get the driver list and probably other api calls that you use to check and update the codes. But maybe somebody will find it useful and run with it.
def getAppList() {
def params = [
uri: "http://${location.hubs[0].getDataValue("localIP")}:8080/app/list",
textParser: true,body: [:],headers:[:]
]
try {
httpGet(params) { resp ->
log.debug "response.status: ${resp.status}"
state.appList = []
def matcherText = resp.data.text.replace("\n","").replace("\r","")
def matcher = matcherText.findAll(/(<tr class="app-row" data-app-id="[^<>]+">.*?<\/tr>)/).each {
def href = it.find(/href="([^"]+)/) { match,h -> return h }
def title = it.find(/title="([^"]+)/) { match,t -> return t }
state.appList += [title:title,href:href]
}
}
} catch (e) {
log.debug "e: ${e}"
}
return state.appList
}