[Beta RELEASE] Building HPM Manifests with hpmArchitect

hpmArchitect is a web based tool for Developers to generate JSON manifests that HPM uses.

hpmArchitect displays a Workbench of all your HPM Packages, allowing each to be edited and JSON produced.

Each tile/card opens a Slide In to allow editing.

You can see the resulting JSON for a Package or, at the Workbench level, all of your Manifests.

It's important to understand that hpmArchitect does not, and will never, alter your live Manifests, out on Github or wherever you've placed them. The JSON produced still need you to deploy them in your repositories, manually.

HPM Search has always used internet based search tools to find results within HPM's Manifest Tree. Today, the tree has 193 Developers and 820 Packages. To find a search result, all 1013 URLs must be followed and read, text extracted and comparisons made. Fast Search, introduced 2 years ago, 'crawls' the HPM Manifest Tree every 20 mins, putting the result into a database. A few weeks ago, HPM was upgraded to use the database during Match Up to significantly reduce the time and effort on your Hub by eliminating the 'crawl' your hub has been doing. hpmArchitect also uses that same database, to display branches from the Tree.

Skimpy documentation can be found at:

hpmArchitect saves your changes locally, that get lost when you end a session (leave the website / close a browser window) but allows you to save all your work for 2 hours by clicking the Workbench Synced button in the upper right corner.

When you visit hpmArchitect for the first time, you're asked to pick Existing or New Developer. New means you have not made a PR to HPM's Master Manifest and your name isn't in that list.

Existing Developers, obviously, means you are using your Name, found in the Master Manifest, or said another way, you are already in the Tree. There's no login, there's no restriction on looking at anyone's set of Packages, because it's all public information within those 1013 (and growing) URLs. Because no data is written (except to the 2 hour save buffer) editing someone else's Packages is just educational, and harmless.

Introduction

Click the image, or visit:
https://hubitatpackagemanager.hubitatcommunity.com/hpmMGen/

In case Beta in the title isn't enough, please check the resulting JSON for accuracy before deploying.

I seriously imagine that this will save the community less than 5% of the time it took me to create it. :smiley: For you though, it could save several minutes out of your life. :smiley:

11 Likes

@csteele thank you for creating this. This should elminate the biggest hurdle in getting developers to publish their code in HPM.

Nice job!

4 Likes

In case you can't remember what your name is in the Master Manifest, it can be found here:

https://raw.githubusercontent.com/HubitatCommunity/hubitat-packagerepositories/refs/heads/master/repositories.json