[SOLVED] Two Hubitat Package Manager (HPM) in View

Although it's entirely cosmetic, if you encounter dual HPM entries in View Apps and Drivers, this is the fix:

In words: you use v1.8.6's Un Match feature to unmatch both instances. Next/Done all the way out and it's fixed.

Screen Shot 2022-06-12 at 8.31.40 AM

For visualists:

  • Screen Shot 2022-06-12 at 7.43.53 AM

The cosmetic issue begins with an upgrade from the original HPM to the new version. The original repository knows that new code is available and will bring you to the very latest.

  • Screen Shot 2022-06-12 at 7.45.56 AM

HPM Updates it self to the latest, 1.8.6 at the time of writing.

  • Screen Shot 2022-06-12 at 7.46.06 AM

Notice that when the Upgrade is complete the version is shown, upper right:

  • Screen Shot 2022-06-12 at 7.46.21 AM

The upgrade is complete and there is only one HPM but View Apps and Drivers has a different picture:

  • Screen Shot 2022-06-12 at 7.46.42 AM

V1.8.6 has an Un Match feature that will correct the dual display:

  • Screen Shot 2022-07-25 at 2.04.40 PM

  • Screen Shot 2022-06-12 at 7.47.25 AM

The feature is found in Package Manager Settings, at the very bottom. Click it and you're offered a list of your packages. Choose BOTH HPM entries:

  • Screen Shot 2022-06-12 at 7.47.44 AM

Click Next and confirm:

  • Screen Shot 2022-06-12 at 7.47.55 AM

That's it. Done. HPM itself is the only time a Match Up isn't needed. A quick look at View Apps and Drivers will confirm:

  • Screen Shot 2022-06-12 at 7.48.17 AM

Screen Shot 2022-06-12 at 8.31.40 AM

For the technologists that need to know WHY:

HPM has a database (DB) of your managed packages. Match Up creates it and adds to it. Update and Modify will maintain the DB. Uninstall has been the only way to delete from the DB until now.

Like all DB, there's an Index or Key for each record. HPM uses the location of the Manifest as a Key. Therefore, different locations of the same manifest will appear in the DB. Everything HPM displays uses its DB and for a long time, developers trying to move or correct their Manifests have found it very challenging.

HPM has a single Manifest in both the old and new repos, and the transition to the new repo doesn't discard the old DB entry. The new Un Match feature does, however.

13 Likes

I upgraded to the new version of HPM now that you’re maintaining it (thanks a million btw!), but I see only one entry in the “view apps and drivers” section, i.e. without doing an unmatch.

Out of curiosity, what did I do “wrong?” :slight_smile:

Nothing :slight_smile:

As long as you're seeing 1.8.6, you're good to go.

I didn't have any problem either (or I wouldn't have released it) until I went back and did a soft reset + restore from a week before to start over. I upgraded directly from 1.8.2 to 1.8.4 or 1.8.5, skipping 1.8.3 and the old manifest remained.

3 Likes

@csteele One suggested tweak to the instructions...

The feature is found in Package Manager Settings , at the very bottom.

To follow this step, I clicked on the gear icon at the top of the main HPM page because that seemed like the most obvious and logical thing to do. I scrolled to the bottom of that page but the unmatch feature is not there!

So if you end up here following the instructions but don't see a button on the main HPM page labeled Package Manager Settings then scroll down until you find it. Everything else should work fine from there.

Hi,

How do I fix this? Seems no amount of unmatch/install/repair/uninstall*/reboot (*what I believe to be the second one) will resolve it.

image

ETA: Scratch the dual install, now it's 1.8.11 only and won't update or repair.

image

What have you done exactly? All you have to do is Unmatch it, and then run the update process. May need to Unmatch both, it will add itself back in dont worry.

I've done the unmatch and update and repair... many times including hub reboots.

It will not move off 1.8.11

Probably need to uninstall it and start over?

1.8.11 is the current version...? Unmatch the one showing 1.8.4

HPM itself is handled uniquely within HPM.

UnMatch both and it will fix itself up. :slight_smile:

Currently only 1.8.11 showing installed.

Unmatch hasn't helped.

That is correct then, what is the problem?

Oh lord, I'm an idiot. Thinking 1.8.11 was not the latest version.

Math is hard.

1 Like

Easy mistake to make when you are not a developer since 0.4 > 0.11 mathematically. It does follow semantic version practices though (I had to double check).

A normal version number MUST take the form X.Y.Z where X, Y, and Z are non-negative integers, and MUST NOT contain leading zeroes. X is the major version, Y is the minor version, and Z is the patch version. Each element MUST increase numerically. For instance: 1.9.0 -> 1.10.0 -> 1.11.0.

Bingo. :smiley:

And probably the most important part is:

... and MUST NOT contain leading zeroes

If the spec allowed leading zeros then it's much easier to see that 1.8.04 is replaced by 1.8.11 :smiley:

Each "column" increments individually. Just as weird, I guess, is that a next version could be: 1.8.12, or 1.9.0 or even 2.0.0. Only the quantity of the code changes dictate, to the developer, what deserves what level of increment.

For me, v1.8.12 is what I'd predict as next for HPM.

Oh, I know as I deal in the IBM world where everything is V.R.M and even sometimes adding a sub minor Patch level. That said, double digits are used for any non zero number (V7R5M01 aka 7.5.01) at the Mod level and higher (7.5.01.34567). Firmware levels are even worse where the same patch level can be express in two different manners.

I guess it's all up to the product dev/team how they wan to express it.

Anyway, this was fun. :laughing: