[RELEASE] Hubitat Package Manager (HPM) -- HubitatCommunity

It’s not nearly as fast after running the repair :disappointed:

I've been careful to not touch Dominic's working code in both versions. Obviously I had to touch some code to add in Fast Search, but I wanted to be minimal. I ran into a specific problem, thought it was something I needed to fix and that was reverted in the patch of 4 hrs ago.

The only two areas v1.8.4 touched were Install by Keyword and I did all of that work last year. This week, silence info logs was suggested (Package Manager Settings ) and that the Copyright be better placed which was one line in the displayHeader code.

Next version? v1.8.5, well THAT is a different story.. it's about 800 lines of added code, but again, I don't believe I touched any of the Install, Update, Modify or Repair code for Apps and Drivers in order to squeeze Bundles in.

2 Likes

I definitely appreciate you picking up the gauntlet. I just couldn’t help but laugh when I saw the app stats. -:infinity: is like the hub is a time machine. Unfortunately it has normal values after the patch :wink:

But how would you propose that we stop community devs from developing and releasing whatever solutions they see fit to?

1 Like

@csteele should you put a link in the 1st message to the new code for newbies to link to after being referred to this thread to install it?

2 Likes

Please see the first post of Bundle Manager for 'Why Bundle Manager'. This will be the one and only time I defend my app here.

14 Likes

Certainly BM looks interesting!

I've been using HPM for a while, and have a few of your apps installed. Will you still be updating your HPM repository info? My system has been very stable for a while, so it might take a bit before I do any updates, other than what HPM suggests.

Thanks, I'd be glad to answer any question but... Please post them in the BM thread (plus, that has already been answered in that thread). :wink:

Lets keep this thread to the great work @csteele is doing maintaining/adding to HPM.

14 Likes

Thanks, I agree this place should be for HPM, and I'm glad @csteele has taken this over.

My question has to do with HPM: will you be updating your HPM repositories in the future?

I saw:

This will be THE PLACE to find all BPTWorld Apps and Drivers!

in the BM thread, but I'm not sure if that means you won't be updating the HPM repository info for your other apps (e.g. Tile Master, Weather Dot Gov, etc.), or if you will still include those updates for HPM. I couldn't find anything else about HPM, other than the fact that BM can be found in HPM.

1 Like

No, I'll be slowly moving all my apps to Bundle Manager and removing them from HPM.

3 Likes

Sorry Bryan but that seems a backwards step for the community. We'll end up with multiple package managers and new users will just get confused. Your contributions are always appreciated and it's your choice to make in the end.

11 Likes

I somewhat don't agree. I have an Android phone and have 3 app stores (Google, Amazon, Samsung), and if I am not mistaken, Apple is going to allow other app stores as well.

We have multiple device vendors with different features and steps to get connected. I could say it would be better for all users if we only had 1 vendor with the same way of doing things. I don't think any of us want that. Competition is necessary in getting better features.

Plus, I don't see home automation in its current state as a plug and play environment. It takes time with learning to get your stuff working.

Even better is that both developers are known for helping and sharing so I see this as the best of "both" worlds.

3 Likes

As I worked through Bundle support, there is a sliver of a mismatch between what bundles really are on the Hub, vs what HPM has been doing all along.

Bundles are handed to the Hub as a ZIP and the hub instantly unzips and plants the code where ever they are supposed to go. Apps to Apps Code, Drivers to Driver Code, Libraries to Libraries Code. A few seconds later, the Bundle ceases to exist from more than a placeholder role. If you delete the bundle, nothing happens to the code that was unzipped.

HPM has to work in the same way... A bundle is added, the contents are planted and done. The bundle object exists in the HPM cache, and can be deleted. But all that gets deleted is the Bundle, not the contents. As a result, a Match Up in HPM will probably find a match to the individual code components and not to the Bundle.

Since this is the way the Hub works, I'm planning on leaving HPM to follow along.

Here's the visual story:

Screen Shot 2022-06-05 at 11.54.36 AM

I've installed the Auto_Off Bundle and it appears in the View list and the components appear in Apps Code:
Screen Shot 2022-06-05 at 11.55.56 AM

If I were to do a Match Up, then HPM will find the matching Apps:

Screen Shot 2022-06-05 at 11.57.26 AM

Accepting the match up will result in both showing in View:
Screen Shot 2022-06-05 at 11.59.40 AM

Uninstall is as you'd expect, can delete the Apps or delete the Bundle, or both:
Screen Shot 2022-06-05 at 12.01.33 PM

They are independent at this point, their relationship is known only to us.

2 Likes

Screen Shot 2022-06-05 at 1.40.10 PM

2 Likes

I agree. While developers are free to choose to use HPM or not, it has helped so many users to be able to find and manage things all in one place.

I am very grateful that csteele has taken over this project.

9 Likes

For those still using 1.8.2 (before migration) an Update will only show v1.8.4

Doing the upgrade will also flip the master manifest and will then offer v1.8.5 as a 2nd upgrade.

Screen Shot 2022-06-05 at 1.59.13 PM

7 Likes

That's alright, I'd point out that HE is not a phone, and your talking about official supported app stores on mobile, whilst we're talking about disparate community content and making it easier to find. If some apps are available on one but not on the other, then new users to HE and home automation which has enough challenges as is will get confused about why they can't find what they're looking for. I wouldn't point to the mess on mobiles as a model to follow anyway, I just don't think it's a good idea for community apps to be hidden away in separate places. Anyway, I don't want to derail here, or create any further tension. My view is simple, keep it as easy for people as possible, and any added complication will only make things worse not better imo.

Edit: I'd also like to add that Bryan is an amazing developer and member of the community, so his hard work is always appreciated and shouldn't be taken for granted either. Same goes to csteele. We're just so blessed to have folks like them in our community to elevate our homes even higher.

12 Likes

Having a bit of an issue. A few days ago I got a notice I had updates available on all of my hubs. When looking at the apps page a update was indicated on each hub. When I ran the update, however, it said all my apps were up to date and nothing was available. Just figured it was part of the move over process and didn't worry about it, otherwise all seemed ok.

This morning I got the notice again and same thing, all hubs showed an update available but on each no updates were available.

So I tried a repair of HPM on my rules hub and I got the error shown below and the process would not complete.

java.lang.NoClassDefFoundError: user_app_dcm_hpm_Hubitat_Package_Manager_118$_copyInstalledItemsToNewManifest_closure87 on line 3573 (method performRepair)

On this hub under view apps and drivers I see HPM is 1.8.3, however on the main page there is small text saying it is 1.8.5.

My other three hubs show they are at 1.8.5 but they do not have that small text on the screen. I have not ran a repair on them.

Not sure what to do next. Should I reload HPM manually?

2 Likes

No... I haven't found a situation where a reload / reinstall is needed. For me, Repair gets the latest code, which is 90% of the goal. I'll look into why View isn't matching.

As I said a few messages ago, Apps and drivers aren't required to contain a version and those that do, implement it in a variety of ways. Adding a visible version to HPM was one of my ToDos. It makes it easy to know you're using the intended version. View however displays the version from the Manifest, and is what HPM uses for it's comparisons.

2 Likes

7 posts were split to a new topic: HPM and Bundles