[BETA] Hubitat Package Manager

No, that’s @tonesto7.

Community Google Home and Fan Thermostat

Ok I'm ready to release 1.2.0. Unless anyone out there has any other suggestions, this is probably going to be the last big feature release for a while (I'm out of ideas!). I'll mainly be working on performance enhancements and bug fixes to get this as stable as possible and get it out of beta! Other than that I'd love to get more devs participating. We're up to 8 now!

New features:

  • A full featured auto-updater. Schedule what time update checking should occur, decide if you just want to be notified of updates or if they should be auto installed, get notified of success/failure of auto installs
  • You can now uninstall multiple packages at once
  • The view apps/drivers screen now shows the version numbers of the installed packages
  • Added a setting to turn off debug logging, but please consider keeping it on for now
  • Apps/drivers by @mbudnek are now included

Bug fixes:

  • Fixed a bug where the view apps page was showing optional components that weren't actually installed.
2 Likes

So question, other package managers are able to compare what's in hubitat with what's on github to determine if there is a change (update). Wouldn't it be more useful if this could do that as well , at least as a backup for those that didn't explicitly support this app? That way it can automatically support everything out there that has a download link.

I admit I haven't tested this yet to see if it does this. If it already does, then please forgive my noise.

1 Like

It does not. I made a deliberate decision not to do that for a few reasons the biggest being that doesn't build a package. The goal here isn't an auto-updater. It was to deliver packages. Doing what you said, how does that let you know "You installed BOND Home App therefore you also need to install these 10 drivers for it to work?" Most developers here will tell you that many issues users experience are because they don't install all the necessary components and so they get errors because a driver doesn't exist. There'd be no way to do that just looking at github. This was designed based on tried-and-true methodology in package managers such as npm, nuget, apt, and deb. What you're referring to sounds a lot like what SmartThings does which doesn't give you packages. It just auto updates from github. SmartThings requires you to structure your github in a certain folder structure to make that work. Almost no HE developers follow that structure, so we'd have the same problem... something developers have to maintain

I wasn't talking about smartthings, I was walking about this one:

But I get it. This is a different beast and not meant to update apps/drivers. Thanks for the clarification.

Looking forward to trying once that 1.2.0 is ready.

Ah gotcha, I forgot about that one. Yeah that's a different way to go. Like I said, I really wanted to get to the idea of a "one click install." I think of apps like HubConnect or Ecobee Suite and installing them are a lot of work because they have so many pieces. My goal is to basically make this as simple as clicking a setup.exe is on Windows.

2 Likes

I agree it would be nice for 1 and done for developers. This having to futz with the package manager for every release adds complexity to what could be simple releases. It would be good if this supported both, or in some other way there is for a developer 1 and done, vs. every release you edit N things and try to keep them in sync.

@dman2306 I was wondering if there is a way to "unmatch" a package. I have a package that I created, and they all work, except for this one. It could also be used as a way to force an update. Just a thought.

1 Like

HPM now supports auto-updates which is terrific! I know that WebCORE, Ecobee Suite, Hub Connect are huge applications and to be honest are now easy to install if they supported what dman2306 has made with HPM.

I personally love this now and having notifications whether something succeeds, fails or there are updates is awesome!

Just remove that from your repository.json.

@dman2306 - there should be an option IF a developer removes the app from the repository list a way for a user to remove it from HPM so they do not keep getting error logs or notifications. Just a thought.

Very good point!

Just found a bug in the auto-updater... of course you always find stuff right after a release! So 1.2.1 is available now.

I have added documentationLink and communityLink to my HPM instances. How do I get them to show up in the Apps/Drivers installed?

You’d need to push out a new version of the package. The manifest only gets updated when a new version is released. Unfortunately I didn’t think of those links before the first release!

1 Like

I'm thinking of a "Repair" option as well, just like installers usually have. Basically just reinstall the whole package if you screw soemthing up (like I just did with Ecobee Suite due to a bug in HPM)

3 Likes

Wouldn’t solve my problem, thanks for trying.

This is tracked as issue #70

This has been great! Appreciate the effort. Any thoughts to disable the buttons before they should be useable? It seems like “Next” is always available even when you are in the middle of a function like updating. Going back might be normal but moving forward isn’t typical while something is executing or refreshing on screen.
Thoughts?

-Travis

Thanks, Hubitat does not provide a way to disable the Next button. However, there is no harm in clicking it. If you click it it just reloads the current page.

1 Like