homebridge-http-advanced-platform 2.0.0-alpha.6 → 2.0.0-alpha.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -8
- package/docs/alpha-release-notes.md +9 -3
- package/docs/migration.md +1 -1
- package/docs/modernization.md +2 -2
- package/package.json +12 -2
package/README.md
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
# Homebridge HTTP Advanced Platform
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Connect HTTP/HTTPS-controlled devices and REST APIs to Apple Home (HomeKit) through Homebridge. Read sensor values, control switches and other supported HomeKit services, and map JSON or XML responses with JSONPath or XPath. Shared polling and caching keep reads responsive while HTTP refreshes run in the background.
|
|
4
|
+
|
|
5
|
+
This is a platform conversion of [staromeste's homebridge-http-advanced-accessory](https://github.com/staromeste/homebridge-http-advanced-accessory). The project retains the original Apache-2.0 license, Git history and contributor credit, including the earlier [tasict/homebridge-http-accessory](https://github.com/tasict/homebridge-http-accessory) lineage.
|
|
4
6
|
|
|
5
7
|
**Use platform devices, retain existing accessory configurations, or migrate manually at your own pace.** Keep your `HttpAdvancedAccessory` entries, encoded command URLs, request bodies, hand-written mappings and other settings. The improvements apply to existing accessories without converting them to a platform or upgrading their web server.
|
|
6
8
|
|
|
@@ -8,7 +10,7 @@ A platform conversion of [staromeste's homebridge-http-advanced-accessory](https
|
|
|
8
10
|
- **More resilient HTTP handling:** bounded requests, background recovery and quieter logs accommodate slow or temporarily unavailable servers, including older systems you cannot change.
|
|
9
11
|
- **Migration at your pace:** maintain existing accessories through JSON Config, and add platform devices alongside them when useful. The plugin also keeps a requested switch state visible while the server catches up, avoiding a brief reversal caused by stale reads.
|
|
10
12
|
|
|
11
|
-
**Release channel: `2.0.0-alpha.
|
|
13
|
+
**Release channel: `2.0.0-alpha.7` is an Alpha based on preserved Alpha.5.** Alpha.6 introduced the new public package identity and branding. Alpha.7 updates search metadata and corrects npm installation guidance; device behavior is unchanged. Source checks, isolated installations and Homebridge UI replacement/rollback acceptance have passed; paired Apple Home and live-device soak remain pending. Compatibility applies on the supported runtimes below. Refresh timing changes, and voluntarily converting a device to the platform creates a new HomeKit identity. [Compatibility details](docs/modernization.md#what-non-breaking-means-here) explain those boundaries.
|
|
12
14
|
|
|
13
15
|
[User guide](#user-guide) · [Modernization details](#modernization-details) · [Developer reference](docs/modernization.md#development-and-release-policy)
|
|
14
16
|
|
|
@@ -27,23 +29,25 @@ Older environments need a runtime upgrade before testing this Alpha. Plugin 1.3.
|
|
|
27
29
|
|
|
28
30
|
Back up Homebridge first, including configuration, cached accessories and pairing data. This is a separate npm package, not an automatic update to the original accessory package. Follow the [replacement and rollback guide](docs/migration.md) before changing an existing installation.
|
|
29
31
|
|
|
30
|
-
Check the [npm version list](https://www.npmjs.com/package/homebridge-http-advanced-platform?activeTab=versions) and matching [GitHub prerelease](https://github.com/shanemcw/homebridge-http-advanced-platform/releases) before installing.
|
|
32
|
+
Check the [npm version list](https://www.npmjs.com/package/homebridge-http-advanced-platform?activeTab=versions) and matching [GitHub prerelease](https://github.com/shanemcw/homebridge-http-advanced-platform/releases) before installing. Choose a published Alpha; a local candidate archive alone does not establish public availability.
|
|
31
33
|
|
|
32
|
-
In **Homebridge UI 5.29.0**, open **Plugins** and search for `homebridge-http-advanced-platform`. Choose its install icon, then select **alpha
|
|
34
|
+
In **Homebridge UI 5.29.0**, open **Plugins** and search for `homebridge-http-advanced-platform`. Choose its install icon, then select the **alpha** row in the version chooser, or the reviewed **v2.0.0-alpha.7** version. After installation, use **Manage Version** to select a later Alpha deliberately. Descriptive searches such as **HTTP Advanced**, **HTTP accessory**, **REST API** or **HTTP JSON** depend on npm indexing and ranking; searching the exact original package name still finds the original accessory package.
|
|
33
35
|
|
|
34
36
|
For command-line installation, use `homebridge-http-advanced-platform@alpha`, or pin the reviewed version as shown below. Use the same plugin location and account your Homebridge installation already uses; `/var/lib/homebridge` is an example prefix:
|
|
35
37
|
|
|
36
38
|
```sh
|
|
37
|
-
npm install --prefix /var/lib/homebridge --omit=dev --ignore-scripts homebridge-http-advanced-platform@2.0.0-alpha.
|
|
39
|
+
npm install --prefix /var/lib/homebridge --omit=dev --ignore-scripts homebridge-http-advanced-platform@2.0.0-alpha.7
|
|
38
40
|
```
|
|
39
41
|
|
|
40
|
-
|
|
42
|
+
To install a reviewed archive directly:
|
|
41
43
|
|
|
42
44
|
```sh
|
|
43
|
-
npm install --prefix /var/lib/homebridge --omit=dev --ignore-scripts /path/to/homebridge-http-advanced-platform-2.0.0-alpha.
|
|
45
|
+
npm install --prefix /var/lib/homebridge --omit=dev --ignore-scripts /path/to/homebridge-http-advanced-platform-2.0.0-alpha.7.tgz
|
|
44
46
|
```
|
|
45
47
|
|
|
46
|
-
This package has no stable release
|
|
48
|
+
**This package has no stable release.** npm requires a `latest` tag; for this package, it can point to an Alpha and does not indicate stability. An unqualified install can therefore install an Alpha. The `alpha` and `latest` tags can point to different Alpha versions; choose the explicit `@alpha` tag or reviewed exact version to select the intended release. These tags affect only the new platform package; the original accessory package is separate and does not update automatically to it.
|
|
49
|
+
|
|
50
|
+
Alpha.7 includes this correction in its packaged README. The earlier published Alpha.6 archive remains unchanged.
|
|
47
51
|
|
|
48
52
|
Preserve Homebridge storage and bridge identity. Remove the old plugin package as part of the backed-up replacement before starting Homebridge with the new package; loading both would make their shared configuration aliases ambiguous. See the migration guide for package-qualified entries and plugin allowlists. Restart Homebridge and its UI, then verify devices, state updates, controls and existing automations. Installed UI and managed-child-bridge acceptance passed in an isolated Node 24/Homebridge 2 fixture with HAP disabled; paired Apple Home identity and live controls still need acceptance.
|
|
49
53
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Homebridge HTTP Advanced Platform 2.0.0-alpha.
|
|
1
|
+
# Homebridge HTTP Advanced Platform 2.0.0-alpha.7
|
|
2
2
|
|
|
3
3
|
Opt-in Alpha based on preserved `2.0.0-alpha.5`. Confirm availability in the
|
|
4
4
|
matching [GitHub prerelease](https://github.com/shanemcw/homebridge-http-advanced-platform/releases)
|
|
@@ -6,7 +6,11 @@ and [npm version list](https://www.npmjs.com/package/homebridge-http-advanced-pl
|
|
|
6
6
|
|
|
7
7
|
This is a platform conversion of [staromeste/homebridge-http-advanced-accessory](https://github.com/staromeste/homebridge-http-advanced-accessory). It retains the original Apache-2.0 license, contributor credit and Git history.
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Alpha.6 introduced the public `homebridge-http-advanced-platform` package. Alpha.7 updates its description, keywords and README to explain HTTP/HTTPS devices, REST APIs, JSON/XML response mapping, JSONPath, XPath, polling, shared caching, switches and sensors. It also packages the corrected explanation of npm's required `latest` tag. Search metadata helps matching but does not guarantee public indexing or ranking.
|
|
10
|
+
|
|
11
|
+
Distributable runtime, custom UI, schema, configuration aliases, UUID namespace and dependency declarations are unchanged from Alpha.6. This retains Alpha.5 device behavior: shared cached reads, bounded background HTTP requests, recovery, write confirmation, legacy accessories and optional platform devices. No parent issue/PR fixes or dependency updates are included.
|
|
12
|
+
|
|
13
|
+
A repository-only timing assertion now checks scheduled execution spacing rather than server receive timestamps, which include connection delays. Its configured delay and timeout checks are retained. Tests and maintenance reports are not shipped in the npm archive.
|
|
10
14
|
|
|
11
15
|
Configuration aliases remain `HttpAdvancedAccessory` and `HttpAdvanced`. The platform UUID namespace remains the Alpha.5 namespace. Package-qualified configuration and plugin lists must use the new package name; do not load both old and new packages. Follow the [replacement and rollback guide](migration.md), preserving configuration, storage and bridge identity.
|
|
12
16
|
|
|
@@ -14,6 +18,8 @@ Moving a legacy accessory into a platform remains an explicit manual conversion
|
|
|
14
18
|
|
|
15
19
|
Requirements remain Node `^22.13.0 || ^24.0.0` and Homebridge `^1.11.4 || ^2.4.0`. Source checks and installed loader/adapters/custom UI IPC passed across Node 22/24 and Homebridge 1/2. Rendered Homebridge UI 5.29.0, native editing, managed child bridges and backed-up replacement/rollback passed in an isolated Node 24/Homebridge 2 fixture. HAP was disabled in that fixture; paired Apple Home, physical controls, rooms/scenes/automations and live soak remain separate acceptance.
|
|
16
20
|
|
|
17
|
-
The publication channel is the explicit `alpha` npm tag with a matching GitHub prerelease; this package has no stable release
|
|
21
|
+
The publication channel is the explicit `alpha` npm tag with a matching GitHub prerelease; this package has no stable release. npm also requires a `latest` tag, which can point to an Alpha and does not indicate stability. The `alpha` and `latest` tags can point to different Alpha versions, so choose the **alpha** row or reviewed **v2.0.0-alpha.7** in Homebridge UI 5.29.0's install version chooser, or install `homebridge-http-advanced-platform@alpha` (exact version: `@2.0.0-alpha.7`). Its tags do not modify the original accessory package's tags. Homebridge verification will be pursued separately after publication; this Alpha is not verified.
|
|
22
|
+
|
|
23
|
+
Alpha.7 includes the npm tag correction in its packaged README. The published Alpha.6 archive and its release tag remain unchanged.
|
|
18
24
|
|
|
19
25
|
Report versions and sanitized diagnostics. Do not include credentials, pairing PINs or unredacted configuration.
|
package/docs/migration.md
CHANGED
|
@@ -7,7 +7,7 @@ This is a separate package with the existing Alpha behavior. It does not automat
|
|
|
7
7
|
1. Keep the Homebridge storage, bridge username, accessory names, service definitions, platform names, device IDs and `_bridge` settings unchanged.
|
|
8
8
|
2. Stop Homebridge before the package swap, and remove only the installed `homebridge-http-advanced-accessory` package through the installation's existing package-management workflow. Preserve configuration and Homebridge storage. Do not load both packages: both register `HttpAdvancedAccessory` and `HttpAdvanced`.
|
|
9
9
|
3. Unqualified `accessory: "HttpAdvancedAccessory"` and `platform: "HttpAdvanced"` remain valid. In explicitly qualified entries, replace only the package prefix with `homebridge-http-advanced-platform`, keeping the alias after the dot unchanged. Likewise update the package name in any `plugins` allowlist or `disabledPlugins` list. Runtime does not rewrite these settings.
|
|
10
|
-
4. Install the reviewed platform Alpha package through the installation's existing package-management workflow, explicitly selecting `@alpha`, `@2.0.0-alpha.
|
|
10
|
+
4. Install the reviewed platform Alpha package through the installation's existing package-management workflow, explicitly selecting `@alpha`, `@2.0.0-alpha.7` or the reviewed local archive. See the [installation instructions](../README.md#install-or-upgrade), then restart Homebridge and its UI.
|
|
11
11
|
5. Verify native JSON Config, Plugin Config, legacy devices, cached platform devices, child bridges, rooms, scenes and automations before leaving the candidate unattended.
|
|
12
12
|
|
|
13
13
|
Platform UUIDs retain the immutable Alpha.5 namespace `homebridge-http-advanced-accessory`, independent of the new registration name. Homebridge 1/2 can reassociate cached platform accessories through the unchanged `HttpAdvanced` alias when the old package is absent. Regression tests exercise that fallback with serialized cache and identifier assignments. Isolated installed-UI, managed-child-bridge and package replacement/rollback checks also passed with HAP disabled. Paired Apple Home identity, rooms, scenes, automations and actual device controls remain live acceptance checks.
|
package/docs/modernization.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Modernization details and developer reference
|
|
2
2
|
|
|
3
|
-
This reference describes the behavior of **2.0.0-alpha.6
|
|
3
|
+
This reference describes the behavior of **2.0.0-alpha.7**, unchanged from Alpha.6. Start with the [README](../README.md) for the compatibility summary, installation and everyday configuration.
|
|
4
4
|
|
|
5
5
|
## What non-breaking means here
|
|
6
6
|
|
|
@@ -206,6 +206,6 @@ npm pack --dry-run
|
|
|
206
206
|
|
|
207
207
|
CI exercises Node 22/24 and real Homebridge v1/v2 HAP implementations. Unit/integration tests use only loopback fake servers. `legacy-plugin` is a test-only alias of published 1.3.0; its obsolete dependencies are excluded from production installation and the tarball. `npm audit --omit=dev` audits the maintained runtime separately.
|
|
208
208
|
|
|
209
|
-
Any future public prerelease must use an explicit tag matching its version channel (`alpha` or `beta`) and be marked as a GitHub prerelease. The guard rejects stable versions, channel mismatches and `latest`. `publishConfig.tag` remains `alpha` for this Alpha candidate; update it deliberately when preparing Beta. No automatic publishing workflow is enabled. Stable requires broader device, restart and real-installation evidence, not merely one working household fixture.
|
|
209
|
+
Any future public prerelease must use an explicit tag matching its version channel (`alpha` or `beta`) and be marked as a GitHub prerelease. The guard rejects stable versions, channel mismatches and manual publication to `latest`. npm requires a `latest` dist-tag and assigned it to the first public Alpha; retaining that registry-required tag does not make the package stable. The `alpha` and `latest` tags can point to different prerelease versions. `publishConfig.tag` remains `alpha` for this Alpha candidate; update it deliberately when preparing Beta. No automatic publishing workflow is enabled. Stable requires broader device, restart and real-installation evidence, not merely one working household fixture.
|
|
210
210
|
|
|
211
211
|
The existing Apache-2.0 LICENSE remains unchanged. Package metadata is reconciled to that file, which has existed since the initial commit; historical authorship is retained and the current maintainer is credited.
|
package/package.json
CHANGED
|
@@ -1,19 +1,29 @@
|
|
|
1
1
|
{
|
|
2
2
|
"displayName": "Homebridge HTTP Advanced Platform",
|
|
3
3
|
"name": "homebridge-http-advanced-platform",
|
|
4
|
-
"version": "2.0.0-alpha.
|
|
5
|
-
"description": "A platform conversion of staromeste's homebridge-http-advanced-accessory
|
|
4
|
+
"version": "2.0.0-alpha.7",
|
|
5
|
+
"description": "Connect HTTP/HTTPS devices and REST APIs to HomeKit with JSON/XML mapping, polling and shared cached reads. A platform conversion of staromeste's homebridge-http-advanced-accessory with support for existing accessory configurations.",
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
7
|
"keywords": [
|
|
8
8
|
"homebridge-plugin",
|
|
9
9
|
"supports-hap",
|
|
10
|
+
"homebridge",
|
|
10
11
|
"http",
|
|
11
12
|
"https",
|
|
13
|
+
"rest",
|
|
14
|
+
"api",
|
|
15
|
+
"json",
|
|
16
|
+
"xml",
|
|
17
|
+
"jsonpath",
|
|
18
|
+
"xpath",
|
|
19
|
+
"polling",
|
|
12
20
|
"advanced",
|
|
13
21
|
"platform",
|
|
14
22
|
"accessory",
|
|
15
23
|
"homekit",
|
|
16
24
|
"cache",
|
|
25
|
+
"switch",
|
|
26
|
+
"sensor",
|
|
17
27
|
"homebridge-http-advanced-accessory"
|
|
18
28
|
],
|
|
19
29
|
"engines": {
|