[BETA] Hubitat Package Manager

As I said above, I would prefer some not to have access to my ideas and code.

1 Like

Right, and that is the part I don't think is great for the community, not the other stuff. It's your right of course, much like it's my right to build HPM as a platform for the other developers who keep their stuff open and public. The great thing is we can both do our own thing and the market decides what they like.

1 Like

I would never, and have never, questioned that.
I think what you have done is brilliant and would be welcomed by most users and a lot of developers.

Not suggesting you did. Sorry if it came across that way.

I’ll be participating.. It’s a great system for the not so technical.. I even did a trial run with some manifests I made..

I’m just waiting for everything to be finalized..

4 Likes

I do believe that when an app and associated drivers are extensive in number people are dissuaded from installing it and even if they persevere it creates support issues when parts get missed or later updated. Especially true for apps with loads of drivers like HubConnect..

This is what package Manager is attempting to address :+1: creating a neat ‘onestop’ upgrade ability for all apps. I hope to support it. So in that respect the private sites disjoint this for users.

Of course a store would be an even better feature for users. And I believe allowing encrypted code downloads would satisfy some developer needs even though I think open source code acts as useful examples and encourages more developers. Encrypted is needed when drivers use API’s that are provided under NDA.

However I have no gripes at all with what you have done. It just seems a lot of work and really doesn’t solve the key issue you have.

I know I for one would dearly like a one click update system for HubConnect though. I fact I haven’t upgraded to 2.0 yet just because of the effort involved.

I think this app is great. I could see a time where I wouldn't install an app if it weren't a part of HPM. If its automatable then making people manually update is a giant waste of time for users and a support ticket generator for developers.

1 Like

Guys, please don't get me wrong.
I think this app is a brilliant piece of work

I was only questioning why my site is bad for the community.

Andy

Since it is possible to add package manifests manually, it would be possible for those developers that want to keep things behind registration on their website to still use this by having unique manifest URLs per user that they can track usage on. So it is possible.
I use the feature of adding package manifests manually for stuff not yet publicly released (though publicly downloadable from my github).

Having the documentation, presentation and support that you offer is really great for the community. It shames us all. It would just be even nicer if your apps could be maintained through this app.

Unforuntately, the HubConnect 2.0 apps will likely be behind a login or at least hosted on the HubConnect site instead of GitHub. Even the 1.x apps on GitHub have never been under an truly open license. The drivers, on the other hand, are 100% Apache-2.0-licensed as far as I'm aware. HubConnect would be a great use case for HPM; unfortunately, I'm not sure that the author would be willing (obviously can't speak for him) given this. But even if not, there's only a few apps (and at most two per hub and just one on others--not that hard to update), so even having just the open drivers--of which there are very many--on HPM would be great, ableit possibly confusing. Hopefully he'd be down for at least that much. :slight_smile:

1 Like

( I'll go off topic here and just say I genuinely appreciate ALL of the work you real developers [as opposed to hacks like me] do. Peace and Love. )

6 Likes

Because it makes the rest of us look bad.

6 Likes

First off everyone take a chill pill. The community will adopt what is best for them. HPM is fantastic and promotes the community of developers who have been wanting something like this for awhile (aka HE store). But that may/not ever come to fruition by the Hubitat team for a long while. So until then those who would like to have a solution like this should use HPM.

Those who have licensing issues can still use HPM as the license has nothing to do with HPM but rather the end user themselves.

Those who would like complete control over who has access to their apps can do so with or without HPM. I understand @Cobra’s need to protect his work. Maybe some of his foundation apps/drivers could be “open” if he so chooses or not. His decision and some of his apps are incredible and people will manually install and update for them. So be it.

The point here is @dman2306 did something wonderful for the community during these weird days. He enabled complex apps to be easier for people. He enabled the community to keep up with active developers who produce updates daily or weekly.

I give him kudos for doing this (and a donation) and I am very happy how many active developers from the community have come on board to participate. So continue to encourage developers to join. Those that do will. Those that don’t won’t. But in the end remember the community will decide what they want and if it is harder and there are similar options they may not use apps/drivers that are not in HPM. And...that..is..ok.

6 Likes

Let's not forget why @Cobra was (my words here not Andy's) forced to go down the road he has.
I fully supported him then and I still do. :+1:
Having said all that, great app @dman2306.

6 Likes

Just want to give a demo of how I'm using the web service I posted above.

I have a repository json file which points to a couple packages I don't have authorship over via hubitat-package-manifest.herokuapp.com. The benefit to this is that it'll assign hashes to the files, and a version number is calculated by the last commit.

Then I add that to HPM via the settings, and perform a match. The apps and drivers I already had installed are picked up and I match them. When the author pushes a commit, the next time HPM checks for updates the manifest files will show a new version and apply the update. :boom:

Another way around this is to manually keep manifest files for whatever apps you want, tracking the forums or github projects and manually ticking the version numbers when an update happens. But... who wants to spend 5 minutes doing something manually when you can spend a few hours automating it?! :grin:

1 Like

Perfectly said!

Great news, Inovelli has added their official drivers now :slight_smile:

7 Likes

I found the bug where the screen was coming up blank for some people, however I'm honestly not sure if it is something I can fix. I am fairly certain it is a platform bug because I was able to reproduce the problem in a very simple app and reported it here Possible Platform Bug With multi-select submitOnChange enum inputs

Basically, the problem is when you have the dropdown where you check off which apps to update still open when you click the Next button, bad things happen. If you click out of the dropdown and wait for the spinner in the top right to complete, all is well. However, I don't think I can do anything to get around this and think I need some help from the HE team.

Edit: Bruce was nice enough to give me a workaround that mostly resolves the issue.

1 Like

Just released 1.3.0. It is my hope that this will be the last beta release, though I do have a few more ideas that I'm going to post about shortly.

New features:

  • Added a "repair" option. Let's say you accidentally uninstall something manually, like delete a driver. Or you mess with the code inside an app and break something. Repair will basically reinstall the package so it gets back to a working state for you
  • Added a way to support beta versions of packages and for users to opt-in to getting beta versions (more to come on this)
  • Added support for alternate package names for match ups -- sometimes, for packages that have been around for a while, over time they have been renamed. Since a Match Up requires the name/namespace to match it wouldn't match the old name. This allows developers to list out old name/namespaces that the app or driver used to use so even if you have a really old version installed HPM will find it.

Bug fixes:

  • When on pages where things are occurring in the background (e.g. while an update is occurring), the Next button is now hidden. This prevents an issue where some people were sometimes seeing a blank page while performing an Update.
  • Resolved an issue where sometimes, after upgrading HPM, it would still think an upgrade was available. Thanks to @Cobra for the solution
6 Likes