@homebridge-plugins/homebridge-resideo 3.0.3-beta.2 → 3.0.3-beta.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.
Files changed (56) hide show
  1. package/.github/ISSUE_TEMPLATE/config.yml +1 -1
  2. package/.github/workflows/beta-release.yml +1 -4
  3. package/.github/workflows/release.yml +56 -16
  4. package/CHANGELOG.md +25 -7
  5. package/README.md +4 -0
  6. package/config.schema.json +53 -526
  7. package/dist/devices/device.js +2 -2
  8. package/dist/devices/device.js.map +1 -1
  9. package/dist/devices/thermostats.d.ts.map +1 -1
  10. package/dist/devices/thermostats.js +69 -25
  11. package/dist/devices/thermostats.js.map +1 -1
  12. package/dist/devices/valve.js +2 -2
  13. package/dist/devices/valve.js.map +1 -1
  14. package/dist/homebridge-ui/public/index.html +123 -296
  15. package/dist/homebridge-ui/public/lib/config-module.mjs +94 -0
  16. package/dist/homebridge-ui/public/lib/featureoptions.js +455 -0
  17. package/dist/homebridge-ui/public/lib/featureoptions.js.map +1 -0
  18. package/dist/homebridge-ui/public/lib/oauth-module.mjs +139 -0
  19. package/dist/homebridge-ui/public/lib/ui-utils.mjs +127 -0
  20. package/dist/homebridge-ui/public/lib/webUi-featureoptions.mjs +3765 -0
  21. package/dist/homebridge-ui/public/lib/webUi.mjs +7 -0
  22. package/dist/homebridge-ui/server.d.ts +13 -0
  23. package/dist/homebridge-ui/server.d.ts.map +1 -1
  24. package/dist/homebridge-ui/server.js +267 -3
  25. package/dist/homebridge-ui/server.js.map +1 -1
  26. package/dist/platform.d.ts +33 -0
  27. package/dist/platform.d.ts.map +1 -1
  28. package/dist/platform.js +305 -38
  29. package/dist/platform.js.map +1 -1
  30. package/dist/resideo-options.d.ts +134 -0
  31. package/dist/resideo-options.d.ts.map +1 -0
  32. package/dist/resideo-options.js +277 -0
  33. package/dist/resideo-options.js.map +1 -0
  34. package/dist/settings.d.ts +6 -1
  35. package/dist/settings.d.ts.map +1 -1
  36. package/docs/assets/main.js +5 -5
  37. package/docs/assets/navigation.js +1 -0
  38. package/docs/assets/search.js +1 -0
  39. package/docs/assets/style.css +251 -229
  40. package/docs/hierarchy.html +1 -0
  41. package/docs/index.html +14 -14
  42. package/docs/modules.html +1 -2
  43. package/docs/variables/default.html +1 -0
  44. package/eslint.config.js +0 -2
  45. package/package.json +18 -20
  46. package/typedoc.json +0 -4
  47. package/.github/workflows/build.yml +0 -18
  48. package/.github/workflows/changerelease.yml +0 -11
  49. package/.github/workflows/labeler.yml +0 -9
  50. package/.github/workflows/release-drafter.yml +0 -14
  51. package/docs/assets/dmt/dmt-component-data.js +0 -1
  52. package/docs/assets/dmt/dmt-components.css +0 -20
  53. package/docs/assets/dmt/dmt-components.js +0 -67
  54. package/docs/assets/dmt/dmt-search.cmp +0 -0
  55. package/docs/assets/dmt/dmt-theme.css +0 -1
  56. package/docs/functions/default.html +0 -2
@@ -1,4 +1,4 @@
1
- blank_issues_enabled: false
1
+ blank_issues_enabled: true
2
2
  contact_links:
3
3
  - name: Homebridge Discord Channel for Resideo
4
4
  url: https://discord.gg/8fpZA4S
@@ -18,7 +18,6 @@ jobs:
18
18
 
19
19
  publish:
20
20
  needs: lint
21
- if: ${{ github.repository == 'homebridge-plugins/homebridge-resideo' }}
22
21
  permissions:
23
22
  id-token: write
24
23
  uses: homebridge/.github/.github/workflows/npm-publish-esm.yml@latest
@@ -32,7 +31,6 @@ jobs:
32
31
 
33
32
  pre-release:
34
33
  needs: publish
35
- if: ${{ github.repository == 'homebridge-plugins/homebridge-resideo' }}
36
34
  uses: homebridge/.github/.github/workflows/pre-release.yml@latest
37
35
  with:
38
36
  npm_version: ${{ needs.publish.outputs.NPM_VERSION }}
@@ -44,7 +42,6 @@ jobs:
44
42
  github-releases-to-discord:
45
43
  name: Discord Webhooks
46
44
  needs: [build_and_test,publish]
47
- if: ${{ github.repository == 'homebridge-plugins/homebridge-resideo' }}
48
45
  uses: homebridge/.github/.github/workflows/discord-webhooks.yml@latest
49
46
  with:
50
47
  title: "Resideo Beta Release"
@@ -52,4 +49,4 @@ jobs:
52
49
  Version `v${{ needs.publish.outputs.NPM_VERSION }}`
53
50
  url: "https://github.com/homebridge-plugins/homebridge-resideo/releases/tag/v${{ needs.publish.outputs.NPM_VERSION }}"
54
51
  secrets:
55
- DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK_URL_BETA || secrets.DISCORD_WEBHOOK_URL_LATEST }}
52
+ DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK_URL_LATEST }}
@@ -1,35 +1,75 @@
1
- name: Release
1
+ name: Unified Release
2
2
 
3
3
  on:
4
- release:
5
- types: [published]
4
+ push:
5
+ branches:
6
+ #- "alpha-*"
7
+ #- "beta-*"
8
+ - latest
9
+ workflow_dispatch:
6
10
 
7
11
  jobs:
8
- build_and_test:
9
- uses: homebridge/.github/.github/workflows/nodejs-build-and-test.yml@latest
12
+ # 1️⃣ Determine release type, ESM status, and branch name
13
+ determine-release-type:
14
+ uses: homebridge/.github/.github/workflows/determine-release-type.yml@latest
10
15
  with:
11
- enable_coverage: false
16
+ ref_name: ${{ github.ref_name }}
17
+
18
+ # 2️⃣ Update version and changelog using the scripts
19
+ update-version:
20
+ needs: determine-release-type
21
+ uses: homebridge/.github/.github/workflows/update-version.yml@latest
22
+ with:
23
+ release_type: ${{ needs.determine-release-type.outputs.release_type }}
24
+ is_esm: ${{ needs.determine-release-type.outputs.is_esm == 'true' }}
12
25
  secrets:
13
- token: ${{ secrets.GITHUB_TOKEN }}
26
+ NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
14
27
 
15
- publish:
16
- needs: build_and_test
17
- if: ${{ github.repository == 'homebridge-plugins/homebridge-resideo' }}
28
+ # 3️⃣ Publish to NPM and create GitHub release
29
+ publish-release:
30
+ needs: [determine-release-type, update-version]
18
31
  permissions:
19
32
  id-token: write
20
- uses: homebridge/.github/.github/workflows/npm-publish-esm.yml@latest
33
+ contents: write
34
+ uses: homebridge/.github/.github/workflows/publish-release.yml@latest
35
+ with:
36
+ release_type: ${{ needs.determine-release-type.outputs.release_type }}
37
+ version: ${{ needs.update-version.outputs.version }}
38
+ is_esm: ${{ needs.determine-release-type.outputs.is_esm == 'true' }}
39
+ secrets:
40
+ NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
41
+
42
+ # 4️⃣ Promote branch if this is a prerelease (alpha/beta)
43
+ promote-branch:
44
+ needs: [determine-release-type, publish-release]
45
+ if: ${{ needs.determine-release-type.outputs.release_type != 'latest' && needs.determine-release-type.outputs.release_type != 'skip' }}
46
+ uses: homebridge/.github/.github/workflows/promote-branch.yml@latest
47
+ with:
48
+ branch_name: ${{ needs.determine-release-type.outputs.branch_name }}
49
+ release_type: ${{ needs.determine-release-type.outputs.release_type }}
50
+ is_esm: ${{ needs.determine-release-type.outputs.is_esm == 'true' }}
21
51
  secrets:
22
- npm_auth_token: ${{ secrets.npm_token }}
52
+ NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
53
+
54
+ # 5️⃣ Notify if any previous job fails
55
+ workflow-failure:
56
+ if: ${{ failure() }}
57
+ needs: [determine-release-type, update-version, publish-release, promote-branch]
58
+ uses: homebridge/.github/.github/workflows/report-failure.yml@latest
59
+ with:
60
+ workflow_name: ${{ github.workflow }}
61
+ job_name: ${{ github.job }}
62
+ run_url: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
23
63
 
64
+ # 6️⃣ Post to Discord
24
65
  github-releases-to-discord:
25
66
  name: Discord Webhooks
26
- needs: [build_and_test,publish]
27
- if: ${{ github.repository == 'homebridge-plugins/homebridge-resideo' }}
67
+ needs: [determine-release-type, update-version, publish-release]
28
68
  uses: homebridge/.github/.github/workflows/discord-webhooks.yml@latest
29
69
  with:
30
70
  title: "Resideo Release"
31
71
  description: |
32
- Version `v${{ needs.publish.outputs.NPM_VERSION }}`
33
- url: "https://github.com/homebridge-plugins/homebridge-resideo/releases/tag/v${{ needs.publish.outputs.NPM_VERSION }}"
72
+ Version `v${{ needs.update-version.outputs.version }}`
73
+ url: "https://github.com/homebridge-plugins/homebridge-resideo/releases/tag/v${{ needs.update-version.outputs.version }}"
34
74
  secrets:
35
75
  DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK_URL_LATEST }}
package/CHANGELOG.md CHANGED
@@ -2,15 +2,33 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. This project uses [Semantic Versioning](https://semver.org/)
4
4
 
5
- ## [3.0.3](https://github.com/homebridge-plugins/homebridge-resideo/releases/tag/v3.0.3) (TBD)
6
-
7
- ### What's Changes
8
- - Fixed L5 Water Shutoff API endpoints and status parsing, resolves [#785](https://github.com/homebridge-plugins/homebridge-resideo/issues/785)
9
- - Corrected API endpoints from `/waterLeakDetectors/{deviceID}` to `/shutoffvalves/{deviceID}`
5
+ ## [3.1.0](https://github.com/homebridge-plugins/homebridge-resideo/releases/tag/v3.1.0) (2025-09-05)
6
+
7
+ ### What's Changes
8
+ - Fix incorrect server references in Internal Server Error messages ([#799](https://github.com/homebridge-plugins/homebridge-resideo/issues/799))
9
+ - Corrected error messages that incorrectly referenced "SmartThings servers" and "Meater Server" to properly reference "Resideo servers/Server"
10
+ - No functional changes to error handling logic, only corrected the messaging text
11
+ - Added hold switch functionality for thermostats to remove holds and return to schedule
12
+ - Implemented StatefulProgrammableSwitch that allows users to remove thermostat holds via HomeKit scenes and automation
13
+ - Switch state reflects current hold status (OFF for active hold, ON for following schedule)
14
+ - Uses existing `statefulStatus` configuration option for backward compatibility
15
+ - Enhances thermostat control similar to functionality available in other smart thermostat integrations
16
+ - Fixes [#798](https://github.com/homebridge-plugins/homebridge-resideo/issues/798)
17
+ - Added device discovery feature to help users find device IDs for configuration.
18
+ - New `/getAvailableDevices` endpoint in configuration UI that fetches all devices from Resideo API
19
+ - Enhanced DEVICES tab with "Available Devices from Resideo" section showing all devices in user's account
20
+ - Displays device information including Device ID, name, class, model, location, and online status
21
+ - Helps users find device IDs for devices that were reset or newly added to their Resideo account
22
+ - Fixes issue where devices disappeared from cached accessories list after being reset
23
+ - Fix L5 Water Shutoff valve API endpoints to use correct Resideo shutoffvalve endpoints and status parsing, resolves [#887](https://github.com/homebridge-plugins/homebridge-resideo/issues/887) & [#785](https://github.com/homebridge-plugins/homebridge-resideo/issues/785)
24
+ - Corrected API endpoints from `/waterLeakDetectors/{deviceID}` to `/shutoffvalve/{deviceID}` for status retrieval
25
+ - Updated valve control API from POST `/waterLeakDetectors/{deviceID}` to PUT `/shutoffvalve/{deviceID}/control`
26
+ - Ensures proper communication with Resideo's shutoff valve API for accurate device control and status updates
10
27
  - Fixed valve status parsing to use `actuatorValve.valveStatus` instead of just device alive status
11
28
  - Valve state now correctly reflects actual device open/closed status
29
+ - Housekeeping and updated dependencies.
12
30
 
13
- **Full Changelog**: https://github.com/homebridge-plugins/homebridge-resideo/compare/v3.0.2...v3.0.3
31
+ **Full Changelog**: https://github.com/homebridge-plugins/homebridge-resideo/compare/v3.0.2...v3.1.0
14
32
 
15
33
  ## [3.0.2](https://github.com/homebridge-plugins/homebridge-resideo/releases/tag/v3.0.2) (2025-03-04)
16
34
 
@@ -206,4 +224,4 @@ All notable changes to this project will be documented in this file. This projec
206
224
  ### What's Changes
207
225
  - Move from `homebridge-honeywell-home` to `homebridge-resideo`
208
226
 
209
- **homebridge-honeywell-home Changelog**: https://github.com/homebridge-plugins/homebridge-resideo/blob/latest/honeywell/homebridge-honeywell-home-changelog.md
227
+ **homebridge-honeywell-home Changelog**: https://github.com/homebridge-plugins/homebridge-resideo/blob/latest/honeywell/homebridge-honeywell-home-changelog.md
package/README.md CHANGED
@@ -79,3 +79,7 @@ This plugin supports **any Resideo/Honeywell thermostat** that appears in your R
79
79
  ### Other Devices
80
80
 
81
81
  - [WiFi Water Leak & Freeze Detector](https://www.resideo.com/us/en/products/water/spot-leak-detection/wifi-water-leak-freeze-detector-rchw3610wf1001-u/)
82
+
83
+ ### Unsupported Devices
84
+
85
+ **Smoke/CO2 Detectors**: While Resideo manufactures smart smoke and carbon monoxide detectors (such as the SC5 series), these devices are **not supported** by this plugin because they are not included in the [Resideo Developer API](https://developer.honeywellhome.com/api-methods). Without API endpoints for smoke detectors, the plugin cannot communicate with or control these devices. Support may be added in the future if Resideo expands their API to include smoke detector endpoints.