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

No.

For Update, HPM loops through the installed Packages, reading in the PackageManifest.json for each, comparing against the internally stored data. (state.manifests)

2 Likes

But it's just a string compare right? As long as the "manifest" version string is different from the "installed" version string it will prompt that there is an update? I could go from 1.4.2 to a.b.c and it wouldn't care?

It's groovy and strings are, as you know, easy by default :slight_smile:

versionStr == installedVersionStr
where
versionStr is from the Package Manifest.json file, either beta version or version.
installedVersionStr is from hub memory of beta version or version.

2 Likes

How do I structure my releaseNotes: tag to allow me to have multiple well formatted lines as shown in the example below.

Don't see any reference to this in the docs but I may have missed it.

Thanks.

I use this site so I can see what I have going on and then the "escaped" output below you copy and paste into the JSON: JSON Escape / Unescape Online - AppDevTools

4 Likes

It's a free format field so.. just count.

"releaseNotes": "v1.9.0 Install 'location:' can't be empty.\n add color to download icon \n take advantage of endpoint for app code list in v2.3.6 \nv1.8.11 merge of: Add support for hub SSL (HTTPS) from kevdliu PR \nv1.8.10 correct File where contents are HTML [installFile() & uninstallFile()]\n fix for default installBundle() (tomw)\n",

For me formatting the HPM note, I count: >v1.9.0 < 9 columns/characters. The next line, to indent properly needs 9 spaces after the \n before the first word. Others may use a different count or method.

3 Likes

IMPO, any indent >= 1 provides sufficient readability as long as it's consistent. An indent of 0, or random/inconstant N, really messes up readability.

2 Likes

hello, HPM gives me this error whenever I open it or do anything:

[app:169] 2023-11-02 06:50:23.949 PM [error] Unable to get the app ID of the package manager

however, HPM works correctly, i can click on that error, it takes me to HPM. HPM will check for updates (will gen error), everything works fine, it just kicks out this error if i do anything in HPM. how can i fix this?

I've tried this a dozen different ways and can't duplicate it.

My logs begin with launching HPM and then clicking Update (without actually updating anything.)

nothing unexpected logs
app:139 2023-11-02 10:01:37.643 PM debug Updates available
app:139 2023-11-02 10:01:35.979 PM info  Checking for updates for Z-Wave Firmware Updater
app:139 2023-11-02 10:01:35.977 PM debug Updates found package for https://raw.githubusercontent.com/HubitatCommunity/HoneywellThermo-TCC/master/docs/HoneywellThermo-TCC.json -> null (force production: true)
app:139 2023-11-02 10:01:35.974 PM debug Updates found for package https://raw.githubusercontent.com/HubitatCommunity/HoneywellThermo-TCC/master/docs/HoneywellThermo-TCC.json
app:139 2023-11-02 10:01:35.570 PM info  Checking for updates for HoneywellThermo-TCC
app:139 2023-11-02 10:01:35.316 PM info  Checking for updates for Aeotec Range Extender 7
app:139 2023-11-02 10:01:35.217 PM info  Checking for updates for Device Activity Check
app:139 2023-11-02 10:01:35.112 PM info  Checking for updates for Hubitat Package Manager
app:139 2023-11-02 10:01:34.856 PM info  Checking for updates for Hubitat-BetterLaundryMonitor
app:139 2023-11-02 10:01:34.853 PM debug Updates found package for https://raw.githubusercontent.com/TonyFleisher/tonyfleisher-hubitat/beta/Apps/mesh-details/packageManifest.json -> null (force production: true)
app:139 2023-11-02 10:01:34.846 PM debug Updates found for package https://raw.githubusercontent.com/TonyFleisher/tonyfleisher-hubitat/beta/Apps/mesh-details/packageManifest.json
app:139 2023-11-02 10:01:34.737 PM info  Checking for updates for Hubitat Z-Wave Mesh Details
app:139 2023-11-02 10:01:34.634 PM info  Checking for updates for Hub Information Device
app:139 2023-11-02 10:01:34.416 PM info  Checking for updates for NTP client
app:139 2023-11-02 10:01:34.299 PM info  Checking for updates for GetAttributeApp
app:139 2023-11-02 10:01:34.132 PM info  Checking for updates for Basic Z-Wave tool
app:139 2023-11-02 10:01:33.859 PM info  Checking for updates for HubConnect_v2_UnversalDrivers
app:139 2023-11-02 10:01:33.576 PM info  Checking for updates for AeotecMultiSensor6
app:139 2023-11-02 10:01:33.319 PM debug Update chosen
app:139 2023-11-02 10:01:08.300 PM info  Refreshing repository list

I guess some basics please? What Hub model and Platform version. What HPM version?

Latest HPM:Screenshot 2023-11-02 at 10.05.02 PM

i am running C-7, 2.3.6.146
Hubitat Package Manager v1.8.3

these are logs for starting up HPM, and then running check for updates. note that i am only starting up HPM once. i dont know why the logs look like i am starting HPM twice:

[app:169](http://192.168.1.10/logs#)2023-11-03 04:03:44.286 AM[error](http://192.168.1.10/logs#)Unable to get the app ID of the package manager
[app:169](http://192.168.1.10/logs#)2023-11-03 04:03:44.202 AM[debug](http://192.168.1.10/logs#)Installing HPM Manifest
[app:169](http://192.168.1.10/logs#)2023-11-03 04:03:44.100 AM[debug](http://192.168.1.10/logs#)Grabbing list of installed apps
[app:169](http://192.168.1.10/logs#)2023-11-03 04:03:42.556 AM[debug](http://192.168.1.10/logs#)No updates available
[app:169](http://192.168.1.10/logs#)2023-11-03 04:03:41.134 AM[info](http://192.168.1.10/logs#)Checking for updates for iPhone WiFi Presence Sensor
[app:169](http://192.168.1.10/logs#)2023-11-03 04:03:40.818 AM[info](http://192.168.1.10/logs#)Checking for updates for Z-Wave Firmware Updater
[app:169](http://192.168.1.10/logs#)2023-11-03 04:03:40.628 AM[info](http://192.168.1.10/logs#)Checking for updates for Inovelli Drivers (Gen 2)
[app:169](http://192.168.1.10/logs#)2023-11-03 04:03:40.512 AM[info](http://192.168.1.10/logs#)Checking for updates for Echo Speaks
[app:169](http://192.168.1.10/logs#)2023-11-03 04:03:40.376 AM[debug](http://192.168.1.10/logs#)Update chosen
[app:169](http://192.168.1.10/logs#)2023-11-03 04:03:21.308 AM[error](http://192.168.1.10/logs#)Unable to get the app ID of the package manager
[app:169](http://192.168.1.10/logs#)2023-11-03 04:03:21.222 AM[debug](http://192.168.1.10/logs#)Installing HPM Manifest
[app:169](http://192.168.1.10/logs#)2023-11-03 04:03:21.157 AM[debug](http://192.168.1.10/logs#)Grabbing list of installed apps
[app:169](http://192.168.1.10/logs#)2023-11-03 04:03:20.993 AM[error](http://192.168.1.10/logs#)Unable to get the app ID of the package manager
[app:169](http://192.168.1.10/logs#)2023-11-03 04:03:20.911 AM[debug](http://192.168.1.10/logs#)Installing HPM Manifest
[app:169](http://192.168.1.10/logs#)2023-11-03 04:03:20.849 AM[debug](http://192.168.1.10/logs#)Grabbing list of installed apps
[app:169](http://192.168.1.10/logs#)2023-11-03 04:03:20.626 AM[debug](http://192.168.1.10/logs#)Refreshing repository list

i installed HPM years ago. i see from documentation that there is a bundle install now. i believe i just did a copy paste code when i installed. i do not have any bundles installed.

Have you read this topic yet?

It explains that Platform v2.3.6 changed and broke the ability of HPM to read and build a list of installed Apps.

HPM v1.9.0 is the fix. If you are running Platform v2.3.6 or higher, then HPM v1.9.0 is required.

2 Likes

i understand. i have a set it and forget it mentality with hubitat, and dont have the time to keep up with release notes for every platform and application release. i will follow the upgrade instructions as provided, thanks.

1 Like

Being lazy, because I know they exist, but does anyone have an example of an additional file to include apart from a driver or app file? Like a javascript, css or other file type?

Expanding upon the Documentation:
https://hubitatpackagemanager.hubitatcommunity.com/devs1.html

./hpm manifest-add-file repository.json --location= https://raw.githubusercontent.com/HubitatCommunity/hubitat_ring_integration/master/README.md --name=readme.md

results in:

{
  "author": "C Steele",
  "files": [
    {
      "id": "9eb61fd9-1538-4162-b3f0-9440b5418a2d",
      "name": "readme.md",
      "location": "https://raw.githubusercontent.com/HubitatCommunity/hubitat_ring_integration/master/README.md"
    }
  ]
}
2 Likes

Thanks @csteele

1 Like

Strange issue. I had some troubles with updating my packages (tapo). While investigating, I unmatched the TAPO integration and then did a matchup. See below screen. You will notice that all the tapo drivers/apps are attached to the Samsung TV Remote and the tapo only has the app.

I agree. :smiley:

The contents of your two PackageManifests.json look to be the same to me.

You can see from the URL, that it's the "SamsungTvRemote" yet the contents seem to be "Tapo Plugs, Switches and Bulbs"

Thanks. I must have zigged when I should have zagged.

1 Like

Getting so errors from PM when trying stuff..
Is this normal ?

2023-11-16 07:57:11.625 AMerrorUnable to get the app ID of the package manager
app:1062023-11-16 07:57:11.625 AMerrorUnable to get the app ID of the package manager
app:1062023-11-16 07:57:11.475 AMdebugInstalling HPM Manifest
app:1062023-11-16 07:57:11.405 AMdebugGrabbing list of installed apps
app:1062023-11-16 07:57:06.755 AMdebugNo updates available
app:1062023-11-16 07:57:05.546 AMinfoChecking for updates for Smartly Inject
app:1062023-11-16 07:57:05.384 AMinfoChecking for updates for Tuya Scene Switch TS004F
app:1062023-11-16 07:57:05.049 AMinfoChecking for updates for Switch Bindings
app:1062023-11-16 07:57:04.703 AMinfoChecking for updates for Hub Information Device
app:1062023-11-16 07:57:04.536 AMdebugUpdate chosen
app:1062023-11-16 07:57:01.111 AMerrorUnable to get the app ID of the package manager
app:1062023-11-16 07:57:00.947 AMdebugInstalling HPM Manifest
app:1062023-11-16 07:57:00.832 AMdebugGrabbing list of installed apps
app:1062023-11-16 07:56:53.447 AMinfoInstalling Tuya Scene Switch TS004F
app:1062023-11-16 07:56:53.074 AMinfoDownloading Tuya Scene Switch TS004F
app:1062023-11-16 07:56:52.684 AMdebugInstall beginning
app:1062023-11-16 07:56:52.679 AMdebugprefInstall
app:1062023-11-16 07:56:50.255 AMdebugprefInstallVerify
app:1062023-11-16 07:56:45.540 AMdebugprefInstallChoices
app:1062023-11-16 07:56:19.274 AMdebugprefInstallRepositorySearchResults
app:1062023-11-16 07:56:04.680 AMdebugprefInstallRepositorySearch
app:1062023-11-16 07:55:20.083 AMdebugprefInstallRepositorySearchResults
app:1062023-11-16 07:55:15.703 AMdebugprefInstallRepositorySearch
app:1062023-11-16 07:55:12.685 AMdebugprefPkgInstall
app:1062023-11-16 07:54:20.099 AMerrorUnable to get the app ID of the package manager
app:1062023-11-16 07:54:19.939 AMdebugInstalling HPM Manifest
app:1062023-11-16 07:54:19.865 AMdebugGrabbing list of installed apps
app:1062023-11-16 07:54:19.553 AMerrorUnable to get the app ID of the package manager
app:1062023-11-16 07:54:19.286 AMdebugInstalling HPM Manifest
app:1062023-11-16 07:54:19.186 AMdebugGrabbing list of installed apps
app:1062023-11-16 07:54:18.582 AMdebugRefreshing repository list```

Being I'm still a little confused where HPM and BPT BM fit together, given the dev status, how do I handle this?

Should this be removed from HPM and imported into BM (if that's even an option?)

Since BPTWorld isn't doing active dev (or is he?), where does that leave all those apps? Where should they be managed from? Very frustrating that there doesn't seem to be much clarity around this whole thing.