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

@csteele, first of all thank you to continue maintaining HPM.
I would like to ask if you think it could be possible to add a new type of file in the packageManifest that would be "libraries" in the same way that drivers and apps are added as it was proposed a while ago by @birdslikewires.

I don't know how much effort that would require or if it is even possible.

I do know that it is possible to add bundles which could include a single file like a library, but I don't like that fact that people can't see and update the code on Github since the code is burry into zip file. Althoug the source files could be added on Github. I understant that bundle is already a solutions and for some situation it is also a preferable solution, but for other situations, I believe that adding library file the same way that app and driver are added is easier.

4 Likes

Was doing a matchup this morning and one of the repos was unable to be read. Just thought you should know...

2023-03-10 07:01:20.207 AMwarnUnable to Refresh https://raw.githubusercontent.com/serenewaffles/hubitat/main/repository.json

1 Like

Strange.. that was pulled from the Master Repo and Quarantined back in Oct 2022.

1 Like

First, I think HPM is great and really extends the capabilities of my Hubitats - Thank you for supporting this.

If possible it would be nice to know how many times a specific package has been downloaded. There is a feature like this on unraid which is very helpful. Sometimes there may be several packages that do the same thing - and the number of downloads is one way to decide which one to go with. Having a rating system and comments would also be nice but I am sure that is more involved.

Keep up the good work.

2 Likes

HPM is showing up in my installed apps list (inside HPM itself) twice:

The actual code is only in my hub's "Apps Code" once, and it's the 1.8.8 version. Is there a low risk way to get rid of the 1.8.2 entry?

There's an UnMatch feature since 1.8.6 that will correct the display:

Screen Shot 2022-07-25 at 2.04.40 PM
Screen Shot 2022-06-12 at 7.47.25 AM

Click it and you're offered a list of your packages. Choose BOTH HPM entries and it will clean itself up.

4 Likes

Excellent, it worked. Thank you!

1 Like

I'm getting a "cannot retrieve zip file" error?
image

I just downloaded the zip and uploaded it manually, but I'm still getting the 'cannot get property repositories' error

Okay looks like there was just something going on with my network. Rebooted my router and all is fine again. Weird

1 Like

I ran into an error trying to uninstall a couple of apps I'm not using anymore. I saw a similar error above so maybe it's known?

java.lang.NullPointerException: Cannot get property 'apps' on null object on line 2636 (method performUninstall

Any ideas how to get this to work?

RE ^^

I did figure out that HPM wasn't up-to-date and managed to update it (it wasn't easy.. Hubitat's Bundle Import dialog didn't work at all -- either upload or import URL).

I re-tried to uninstall and got the same error as the above screenshot.. Only difference is the line number in the logs:

java.lang.NullPointerException: Cannot get property 'apps' on null object on line 2893 (method performUninstall)

I'm going to have to guess: there's a mismatch between what HPM thinks is installed vs what is installed on the hub.

Take a look at View Apps and Drivers and verify the pieces of the package are there.

I've never used/installed Hubigraphs before, but I just tried installing it and it works fine. I can see that View Apps and Drivers shows the list:

Screenshot 2023-05-10 at 6.52.54 AM

This matches what I see in Apps Code:
Screenshot 2023-05-10 at 6.53.29 AM

Telling me the install worked correctly.

When I Uninstall it, again, it works correctly:
Screenshot 2023-05-10 at 6.58.19 AM

and logs agree:

Screenshot 2023-05-10 at 6.59.00 AM

You might want to try a Repair, which would make sure all the components are there, then try Uninstall again.

Thanks for the detailed reply! I think the issue was simply that I had a device using one of the drivers. I didn't realize it until I tried to manually delete the drivers and Hubitat told me.

Not sure if this is possible to detect or not in HPM - I did notice the text saying to make sure you're not using the driver of course so it's not a big deal.. but it took me a while to figure that one out.


On an unrelated note, @csteele are you the right person for PR requests for new HPM repos? I have a PR request to add a new repo/driver - Life360+; Don't mean to bug you - just wanted to know if I'm doing this right or not

3 Likes

PR's are getting pretty rare and as a result, I'm become too lax at looking. So pinging me here in the community is a good idea. :100:

1 Like

Hi,
After a C8 migration I disabled zwave and zigbee on my C7, did a soft reset, installed 2.3.5.135, installed HPM using the bundle option. All fine. It should be as a new machine I suppose.

However, when I now install apps via HPM, it downloads them, but they do not look to be installed. For some I can then manually add the app, but for others that does not seem to work.

Any suggestions? Is there a hard reset I should perform?

HPM doesn't "install" apps.. it downloads them from out there on the internet and gently places them in their respective code folders on the hub.

I understand that the shorthand for what HPM does is often the exact same word: "install" and maybe we should all be using a different word... perhaps "import" -- but whatever the word, what HPM does is click the "import" button. After that, you have to use it as desired. You can install drivers but until you have a device in which you select that driver, it's not "installed".

For Apps, yep, you get HPM to put the code on your hub, but then it falls to you to go to "Apps" menu and choose to install it.

Said another way, HPM gets Community code onto the hub, so that it's equivalent to built-in apps and drivers. You have to goto Apps menu and click Built-in or click User Apps to complete the App install process.

On another note, "disable" is not all of what you should be doing.. you need to Reset the radios (to eliminate duplicate mesh controller addresses. Then for Zigbee, go one step further and pick a different channel too.

2 Likes

Must be my worsening memory from setting up my first hub well over a year ago that I thought HPM did a full install. Good to know. It also means there is some other issue preventing me from installing/creating (after HPM download :wink: ) the apps. Netatmo was a pain to get it past the initial screen, Hub Information Aggregation manager won't get past that at all.

O, and I did reset the networks before disabling them. Just was thinking it may be relevant they are disabled as that is not the norm for hubs out in the field of course.

Thanks for ruling out HPM, I'll dig further on my issues.

Cheers Rene

1 Like

Hello @csteele

I have noticed that the HPM package uses an enormous amount of memory.
As a matter of fact, I went to Logs -> App Stats -> (sorted by the State Size column), and noticed that it had over 86K! When I did a re-matchup, I noticed that it increased as well.
I don't know if you know enough about the internals of the app, but is there something going on inside the app that could be streamlined?
(By the way, thanks for picking up this critical app, it's much appreciated!)

HPM retains a copy of the main repository in State. That's currently about 29k of raw text. It needs the entire list... so not saving it or better said, "releasing it," does very little because the next time it runs it needs it again, and the only place to find it is out on the internet. My copies of HPM is showing as between 44K to 48k, across my 5 powered on hubs.

HPM itself is 139k (v1.8.9) but is more invisible. I'd love to know how it compares to RM, for example. :slight_smile:

2 Likes