[Sneak Peek] Hubitat Package Manager

@dman2306 thank you so very much for efforts on this solution. Absolutely amazing to update @storageanarchy's Ecobee Suite. Love it!

My only suggestion would be to update the first post with installation instructions and a link to the code. I had to hunt a little to figure it out.

1 Like

I definitely will. I just have a few more somewhat big bugs I need to fix first.

3 Likes

Feature request: ability to manually specify my own repo urls which aren’t (yet) published. This is a common feature in package managers for beta testing installs, private repos, personal repos, etc.

1 Like

You should use GitHub issues and post this so it can be tracked. Much easier for @dman2306.

1 Like

This functionality exists, I just haven't had a chance to update the documentation yet.

1 Like

@dman2306 great work and idea! I'll be adding a manifest for this to my drivers as well. One question, what's the license used for the App?

Going to be honest, I hadn't really thought much about the license. I added a BSD 3 license, hubitat-packagemanager/LICENSE at master · dcmeglio/hubitat-packagemanager · GitHub

2 Likes

That's a good license for something like this, keeping it open makes it more likely to be adopted by devs as a standard in my opinion. I'll look more at the manifest structure and add it to my code-generator so that it will be auto-updated when I build Apps and Drivers. Thank you for this project!

If you're using a code generator, definitely take a look at the hpm.exe I built which lets you do a lot of the file creation (and changes when you release new versions) via command line commands. Source code for that is available as well.

My generator is written in python and is what stitches together my Apps and Drivers from shared code. It can also be used to generate something like your manifest, I will look at your source code to make sure I haven't misunderstood the manifest structure and content.

1 Like

Finally getting around to experimenting with this. The only thing I notice is that other people's packageManifest.json files seem to have a bit more than the example, which is all I can base mine off of at the moment as I can't get the tool to run on either Windows or macOS (even after installing .NET Core 3.1). like a "packageID" at the top and a "version" for each of the apps/drivers. Are these required/recommended, or are there certain reasons we would or wouldn't want them?

The latter also makes me wonder how version checking is done. Is this app intended to let users know whether a new version is available? If so, does HPM track the last version it knows it installed on its own, or do we need to have some public method in our apps/drivers to spit out a version string that can be compared to something? (I think I read everything above, but let me know if I should read something again to figure any of this out.)

Thanks!

Weird about the tool, it's working fine for me... I'll do a little more research on it and try it on a few other PCs. As a note, I don't have a Mac so I never tested that at all.

The packageId was originally something I was doing but then abandoned as unnecessary. Probably not everyone deleted it out. It won't harm anything being there but it does nothing.

You can either version the whole thing (with a single version at the top) OR you can version each app/driver individually. Turns out developers were doing both so I supported both.

It keeps track of the versions it installed so there is no code change needed to any of your apps to spit out a version number. It will compare the manifest of what it installed to the new manifest you publish and if there is a change, it'll say there's an update.

3 Likes

This is great. Working well overall. Only issue I seem to be seeing is with the Weather Dot Gov app. I keep installing Dups and the matching doesn't seem to work. Other applications seem to work fine. I'm still kind of new to Hubitat. Am/was (ongoing process) a Smartthings users. With all of the changes and, like, they have put me off. However, with the lack of some manageability/operational maintenance it made Hubitat difficult. With this application this gives me the confidence to move forward with my migration (75% there). Webcore is still needed for advanced rules and exposing advance functions that is still not available in Rule Machine 4.0 but that is another topic.

Without this Package Manager I find the maintenance of the hubitat difficult at best. The whole reason for applications so you can do things that:

A. someone has done this why re-invent the wheel

B. leverage a greater use cases to get enhancements, functions, and fixes

C. Easier to deploy.

Without this application these three reasons wouldn’t apply plus managing the individual applications and the GitHub locations.

Great APP keep developing!

Just installed Hubitat Package Manager and while installing Life360 Tracker got an "invalid manifest" error, the app bailed and this was coughed up in the log.

2020-04-19 03:04:31.618 pm [warn] (http://192.168.1.xx/installedapp/configure/137) Found a bad manifest https://raw.githubusercontent.com/bptworld/Hubitat/master/Apps/Life360%20Tracker/packageManifest.json

Thanks, try it again... it should work :wink:

1 Like

Wow, that was fast! S'ok now.
Nothing else to do on a quarantined Sunday, huh?

1 Like

I certainly hope @bptworld isn't quarantined!

1 Like

Better this: ... on a global pandemic "stay the f**k home" Sunday, huh?

3 Likes

lol, it's all good. It hit 60 here today. Went outside and sat by a fire for most of the day. Stay safe!

3 Likes

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.