homebridge-nuheat2 1.2.18 → 1.2.20
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/CHANGELOG.md +12 -0
- package/CONTRIBUTING.md +39 -0
- package/README.md +14 -41
- package/homebridge-ui/public/styles.css +10 -4
- package/package.json +2 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,18 @@ All notable changes to this project should be documented in this file
|
|
|
4
4
|
|
|
5
5
|
## [Unreleased]
|
|
6
6
|
|
|
7
|
+
## [1.2.20] - 2026-04-30
|
|
8
|
+
|
|
9
|
+
### Changed
|
|
10
|
+
|
|
11
|
+
- Streamline the README for public plugin users and move release automation details into CONTRIBUTING.md
|
|
12
|
+
|
|
13
|
+
## [1.2.19] - 2026-04-30
|
|
14
|
+
|
|
15
|
+
### Fixed
|
|
16
|
+
|
|
17
|
+
- Make saved thermostat and group allow-list values readable and easier to edit in the custom admin UI
|
|
18
|
+
|
|
7
19
|
## [1.2.18] - 2026-04-29
|
|
8
20
|
|
|
9
21
|
### Changed
|
package/CONTRIBUTING.md
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# Contributing
|
|
2
|
+
|
|
3
|
+
Thanks for helping improve `homebridge-nuheat2`. This project keeps the published Homebridge plugin layout stable while gradually modernizing the source in TypeScript.
|
|
4
|
+
|
|
5
|
+
## Development
|
|
6
|
+
|
|
7
|
+
The source of truth for the platform, API client, accessories, internal models, and tests lives under `src/`. The TypeScript build compiles back into the CommonJS layout used by Homebridge: `index.js`, `lib/`, and `test/`.
|
|
8
|
+
|
|
9
|
+
Common commands:
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
npm run build
|
|
13
|
+
npm run typecheck
|
|
14
|
+
npm test
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Release Automation
|
|
18
|
+
|
|
19
|
+
GitHub Actions handles CI and npm publishing:
|
|
20
|
+
|
|
21
|
+
- `.github/workflows/ci.yml` runs `npm ci`, `npm run typecheck`, and `npm test` on pushes and pull requests across Node 20, 22, and 24.
|
|
22
|
+
- `.github/workflows/publish.yml` runs on pushes to `master` when `package.json` changes, re-runs checks on Node 24, publishes to npm only when the version is not already on the registry, and creates or updates the matching GitHub Release.
|
|
23
|
+
|
|
24
|
+
Release notes are expected in `docs/release-notes/<version>.md`. The publish workflow fails if that file is missing for the version in `package.json`.
|
|
25
|
+
|
|
26
|
+
## npm Trusted Publishing
|
|
27
|
+
|
|
28
|
+
Use npm trusted publishing rather than a long-lived automation token.
|
|
29
|
+
|
|
30
|
+
1. Open the `homebridge-nuheat2` package settings on npm.
|
|
31
|
+
2. Add a trusted publisher for GitHub Actions.
|
|
32
|
+
3. Configure:
|
|
33
|
+
- Organization or user: `applemanj`
|
|
34
|
+
- Repository: `homebridge-nuheat2`
|
|
35
|
+
- Workflow filename: `publish.yml`
|
|
36
|
+
4. Keep the workflow on GitHub-hosted runners.
|
|
37
|
+
|
|
38
|
+
After that, bump the version in `package.json`, push to `master`, and GitHub Actions will publish the new version automatically once checks pass.
|
|
39
|
+
|
package/README.md
CHANGED
|
@@ -5,9 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
Homebridge platform plugin for Nuheat Signature floor-heating thermostats.
|
|
7
7
|
|
|
8
|
-
This fork
|
|
9
|
-
|
|
10
|
-
This project builds on the original [`senorshaun/homebridge-nuheat`](https://github.com/senorshaun/homebridge-nuheat) plugin and retains attribution for Shaun's original work.
|
|
8
|
+
This maintained fork modernizes Nuheat support for current Homebridge releases while keeping the existing `NuHeat` platform configuration intact for backward compatibility. It builds on Shaun's original [`senorshaun/homebridge-nuheat`](https://github.com/senorshaun/homebridge-nuheat) plugin.
|
|
11
9
|
|
|
12
10
|
## Highlights
|
|
13
11
|
|
|
@@ -44,7 +42,7 @@ The published package name for this maintained fork is `homebridge-nuheat2`. The
|
|
|
44
42
|
|
|
45
43
|
## Configuration
|
|
46
44
|
|
|
47
|
-
Most users should configure the plugin through the custom Homebridge admin UI. It is organized into Account, Accessories, Behavior, and Diagnostics panels
|
|
45
|
+
Most users should configure the plugin through the custom Homebridge admin UI. It is organized into Account, Accessories, Behavior, and Diagnostics panels.
|
|
48
46
|
|
|
49
47
|
Sensitive values are handled deliberately: saved passwords are not redisplayed in the UI. Leave the password field blank to keep the saved value, or enter a new value to replace it.
|
|
50
48
|
|
|
@@ -106,29 +104,23 @@ If `exposeScheduleSwitches` is enabled, the plugin will also create one switch p
|
|
|
106
104
|
|
|
107
105
|
## Nuheat API Access
|
|
108
106
|
|
|
109
|
-
Nuheat's public
|
|
107
|
+
This plugin uses Nuheat's PKCE-based public client for normal authentication. The built-in public `clientId` is `homebridge-nuheat2_260421`; there is no distributable client secret and no user API key setup is required.
|
|
108
|
+
|
|
109
|
+
References:
|
|
110
110
|
|
|
111
111
|
- [Nuheat OpenAPI docs](https://api.mynuheat.com/)
|
|
112
112
|
- [Nuheat API access request page](https://www.nuheat.com/openapi)
|
|
113
113
|
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
## What's New In This Fork
|
|
114
|
+
## Troubleshooting
|
|
117
115
|
|
|
118
|
-
-
|
|
119
|
-
-
|
|
120
|
-
-
|
|
121
|
-
-
|
|
122
|
-
- Added regression tests for the key thermostat behavior fixes
|
|
123
|
-
- Updated package metadata and dependency overrides for a cleaner modern release
|
|
124
|
-
- Published under the maintainer-owned package identity `homebridge-nuheat2`
|
|
125
|
-
- Added Swagger-aligned account, schedule, and energy API helpers for future enhancements
|
|
116
|
+
- Enable debug logging from the custom UI only while troubleshooting. Debug logs include detailed Nuheat API, notification, and accessory activity.
|
|
117
|
+
- If accessories do not appear after changing allow-lists, save the settings and restart the Nuheat child bridge.
|
|
118
|
+
- If login fails, confirm the same email and password work in the Nuheat app or web portal.
|
|
119
|
+
- If Homebridge shows stale UI fields after an update, close and reopen the plugin settings page.
|
|
126
120
|
|
|
127
121
|
## Development
|
|
128
122
|
|
|
129
|
-
The
|
|
130
|
-
|
|
131
|
-
This keeps the published plugin layout stable while we migrate incrementally instead of doing a risky one-shot rewrite.
|
|
123
|
+
The source of truth for the platform, API client, accessories, internal models, and tests lives under `src/`. The build compiles that back into the CommonJS layout used by Homebridge: `index.js`, `lib/`, and `test/`.
|
|
132
124
|
|
|
133
125
|
Common development commands:
|
|
134
126
|
|
|
@@ -143,30 +135,11 @@ Run the test suite with:
|
|
|
143
135
|
npm test
|
|
144
136
|
```
|
|
145
137
|
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
GitHub Actions now handles two jobs for this repository:
|
|
149
|
-
|
|
150
|
-
- `.github/workflows/ci.yml` runs `npm ci`, `npm run typecheck`, and `npm test` on pushes and pull requests across Node 20, 22, and 24
|
|
151
|
-
- `.github/workflows/publish.yml` runs on pushes to `master` when `package.json` changes, re-runs the checks on Node 24, publishes to npm only when the `package.json` version is not already on the registry, and creates or updates the matching GitHub Release
|
|
152
|
-
|
|
153
|
-
The publish workflow also maps prerelease versions to npm dist-tags automatically. For example, `1.2.7-beta.1` publishes with the `beta` tag, while stable versions publish to `latest`.
|
|
154
|
-
|
|
155
|
-
Release notes are expected in `docs/release-notes/<version>.md`. The publish workflow will fail if that file is missing for the version in `package.json`, which makes the GitHub Release step part of the normal release checklist instead of a manual follow-up.
|
|
156
|
-
|
|
157
|
-
### Recommended npm Setup
|
|
158
|
-
|
|
159
|
-
Use npm trusted publishing rather than a long-lived automation token.
|
|
138
|
+
Contributor and release notes are in [CONTRIBUTING.md](CONTRIBUTING.md).
|
|
160
139
|
|
|
161
|
-
|
|
162
|
-
2. Add a trusted publisher for GitHub Actions.
|
|
163
|
-
3. Configure:
|
|
164
|
-
- Organization or user: `applemanj`
|
|
165
|
-
- Repository: `homebridge-nuheat2`
|
|
166
|
-
- Workflow filename: `publish.yml`
|
|
167
|
-
4. Keep the workflow on GitHub-hosted runners.
|
|
140
|
+
## Attribution
|
|
168
141
|
|
|
169
|
-
|
|
142
|
+
This project is maintained by `applemanj` and retains attribution to SenorShaun for the original MIT-licensed Homebridge Nuheat plugin.
|
|
170
143
|
|
|
171
144
|
## Future Work
|
|
172
145
|
|
|
@@ -124,8 +124,8 @@ select {
|
|
|
124
124
|
width: 100%;
|
|
125
125
|
min-height: 38px;
|
|
126
126
|
padding: 0.45rem 0.75rem;
|
|
127
|
-
color:
|
|
128
|
-
background: var(--
|
|
127
|
+
color: currentColor;
|
|
128
|
+
background-color: var(--plugin-control-surface);
|
|
129
129
|
border: 1px solid var(--plugin-border);
|
|
130
130
|
border-radius: 0.375rem;
|
|
131
131
|
font-family: var(--plugin-font-family);
|
|
@@ -293,9 +293,9 @@ button.secondary:hover {
|
|
|
293
293
|
|
|
294
294
|
.config-row {
|
|
295
295
|
display: grid;
|
|
296
|
-
grid-template-columns:
|
|
296
|
+
grid-template-columns: 1fr;
|
|
297
297
|
gap: 10px;
|
|
298
|
-
align-items:
|
|
298
|
+
align-items: stretch;
|
|
299
299
|
background: var(--plugin-control-surface);
|
|
300
300
|
border: 1px solid var(--plugin-border);
|
|
301
301
|
border-radius: 8px;
|
|
@@ -306,6 +306,12 @@ button.secondary:hover {
|
|
|
306
306
|
min-width: 0;
|
|
307
307
|
}
|
|
308
308
|
|
|
309
|
+
.config-row .row-actions {
|
|
310
|
+
justify-content: flex-start;
|
|
311
|
+
align-items: center;
|
|
312
|
+
flex-wrap: wrap;
|
|
313
|
+
}
|
|
314
|
+
|
|
309
315
|
.row-checkbox {
|
|
310
316
|
display: inline-flex;
|
|
311
317
|
align-items: center;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "homebridge-nuheat2",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.20",
|
|
4
4
|
"description": "Homebridge Platform for NuHeat Signature Thermostats",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -51,6 +51,7 @@
|
|
|
51
51
|
"homebridge-ui",
|
|
52
52
|
"config.schema.json",
|
|
53
53
|
"README.md",
|
|
54
|
+
"CONTRIBUTING.md",
|
|
54
55
|
"CHANGELOG.md"
|
|
55
56
|
],
|
|
56
57
|
"devDependencies": {
|