@homebridge-plugins/homebridge-firstalert 0.0.1-beta.0
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/.gitattributes +2 -0
- package/.github/FUNDING.yml +4 -0
- package/.github/ISSUE_TEMPLATE/bug-report.yml +97 -0
- package/.github/ISSUE_TEMPLATE/config.yml +8 -0
- package/.github/ISSUE_TEMPLATE/feature-request.yml +38 -0
- package/.github/ISSUE_TEMPLATE/support-request.yml +85 -0
- package/.github/ISSUE_TEMPLATE.md +52 -0
- package/.github/PULL_REQUEST_TEMPLATE/pull_request.md +27 -0
- package/.github/dependabot.yml +17 -0
- package/.github/labeler.yml +38 -0
- package/.github/release-drafter.yml +33 -0
- package/.github/workflows/beta-release.yml +55 -0
- package/.github/workflows/build.yml +18 -0
- package/.github/workflows/changerelease.yml +11 -0
- package/.github/workflows/labeler.yml +9 -0
- package/.github/workflows/release-drafter.yml +14 -0
- package/.github/workflows/release.yml +35 -0
- package/.github/workflows/stale.yml +12 -0
- package/CHANGELOG.md +10 -0
- package/LICENSE +14 -0
- package/README.md +67 -0
- package/SECURITY.md +19 -0
- package/branding/Homebridge_x_FirstAlert.svg +48 -0
- package/branding/icon.png +0 -0
- package/config.schema.json +58 -0
- package/dist/homebridge-ui/public/index.html +548 -0
- package/dist/src/api/resideoClient.d.ts +32 -0
- package/dist/src/api/resideoClient.d.ts.map +1 -0
- package/dist/src/api/resideoClient.js +76 -0
- package/dist/src/api/resideoClient.js.map +1 -0
- package/dist/src/devices/device.d.ts +40 -0
- package/dist/src/devices/device.d.ts.map +1 -0
- package/dist/src/devices/device.js +207 -0
- package/dist/src/devices/device.js.map +1 -0
- package/dist/src/devices/leaksensors.d.ts +34 -0
- package/dist/src/devices/leaksensors.d.ts.map +1 -0
- package/dist/src/devices/leaksensors.js +163 -0
- package/dist/src/devices/leaksensors.js.map +1 -0
- package/dist/src/devices/smoke.d.ts +35 -0
- package/dist/src/devices/smoke.d.ts.map +1 -0
- package/dist/src/devices/smoke.js +150 -0
- package/dist/src/devices/smoke.js.map +1 -0
- package/dist/src/devices/thermostats.d.ts +42 -0
- package/dist/src/devices/thermostats.d.ts.map +1 -0
- package/dist/src/devices/thermostats.js +192 -0
- package/dist/src/devices/thermostats.js.map +1 -0
- package/dist/src/devices/valve.d.ts +21 -0
- package/dist/src/devices/valve.d.ts.map +1 -0
- package/dist/src/devices/valve.js +131 -0
- package/dist/src/devices/valve.js.map +1 -0
- package/dist/src/homebridge-ui/server.d.ts +5 -0
- package/dist/src/homebridge-ui/server.d.ts.map +1 -0
- package/dist/src/homebridge-ui/server.js +95 -0
- package/dist/src/homebridge-ui/server.js.map +1 -0
- package/dist/src/index.d.ts +4 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +7 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/platform.d.ts +18 -0
- package/dist/src/platform.d.ts.map +1 -0
- package/dist/src/platform.js +108 -0
- package/dist/src/platform.js.map +1 -0
- package/dist/src/settings.d.ts +341 -0
- package/dist/src/settings.d.ts.map +1 -0
- package/dist/src/settings.js +25 -0
- package/dist/src/settings.js.map +1 -0
- package/dist/src/utils.d.ts +21 -0
- package/dist/src/utils.d.ts.map +1 -0
- package/dist/src/utils.js +58 -0
- package/dist/src/utils.js.map +1 -0
- package/dist/test/index.test.d.ts +2 -0
- package/dist/test/index.test.d.ts.map +1 -0
- package/dist/test/index.test.js +14 -0
- package/dist/test/index.test.js.map +1 -0
- package/dist/test/platform.test.d.ts +2 -0
- package/dist/test/platform.test.d.ts.map +1 -0
- package/dist/test/platform.test.js +56 -0
- package/dist/test/platform.test.js.map +1 -0
- package/dist/test/settings.test.d.ts +2 -0
- package/dist/test/settings.test.d.ts.map +1 -0
- package/dist/test/settings.test.js +48 -0
- package/dist/test/settings.test.js.map +1 -0
- package/dist/test/utils.test.d.ts +2 -0
- package/dist/test/utils.test.d.ts.map +1 -0
- package/dist/test/utils.test.js +17 -0
- package/dist/test/utils.test.js.map +1 -0
- package/docs/.nojekyll +1 -0
- package/docs/assets/hierarchy.js +1 -0
- package/docs/assets/highlight.css +22 -0
- package/docs/assets/icons.js +18 -0
- package/docs/assets/icons.svg +1 -0
- package/docs/assets/main.js +60 -0
- package/docs/assets/navigation.js +1 -0
- package/docs/assets/search.js +1 -0
- package/docs/assets/style.css +1633 -0
- package/docs/hierarchy.html +1 -0
- package/docs/index.html +77 -0
- package/docs/modules.html +1 -0
- package/docs/variables/default.html +1 -0
- package/eslint.config.js +44 -0
- package/nodemon.json +10 -0
- package/package.json +106 -0
- package/scripts/free-dev-ports.mjs +105 -0
- package/src/api/resideoClient.ts +106 -0
- package/src/devices/device.ts +226 -0
- package/src/devices/leaksensors.ts +206 -0
- package/src/devices/smoke.ts +173 -0
- package/src/devices/thermostats.ts +243 -0
- package/src/devices/valve.ts +162 -0
- package/src/homebridge-ui/public/index.html +548 -0
- package/src/homebridge-ui/server.ts +102 -0
- package/src/index.ts +13 -0
- package/src/platform.ts +112 -0
- package/src/settings.ts +402 -0
- package/src/utils.ts +61 -0
- package/test/index.test.ts +18 -0
- package/test/platform.test.ts +65 -0
- package/test/settings.test.ts +56 -0
- package/test/utils.test.ts +20 -0
- package/tsconfig.json +27 -0
- package/typedoc.json +22 -0
package/.gitattributes
ADDED
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
name: Bug-Report
|
|
2
|
+
description: Report a Bug to help us improve
|
|
3
|
+
title: "Bug:"
|
|
4
|
+
labels: [bug]
|
|
5
|
+
assignees: 'donavanbecker'
|
|
6
|
+
body:
|
|
7
|
+
- type: markdown
|
|
8
|
+
attributes:
|
|
9
|
+
value: |
|
|
10
|
+
You must use the issue template below when submitting a bug.
|
|
11
|
+
- type: input
|
|
12
|
+
attributes:
|
|
13
|
+
label: Describe The Bug
|
|
14
|
+
placeholder: A clear and concise description of what the bug is.
|
|
15
|
+
validations:
|
|
16
|
+
required: true
|
|
17
|
+
- type: input
|
|
18
|
+
attributes:
|
|
19
|
+
label: To Reproduce
|
|
20
|
+
placeholder: Steps to reproduce the behavior.
|
|
21
|
+
validations:
|
|
22
|
+
required: true
|
|
23
|
+
- type: input
|
|
24
|
+
attributes:
|
|
25
|
+
label: Expected behavior
|
|
26
|
+
placeholder: A clear and concise description of what you expected to happen.
|
|
27
|
+
validations:
|
|
28
|
+
required: true
|
|
29
|
+
- type: textarea
|
|
30
|
+
id: Logs
|
|
31
|
+
attributes:
|
|
32
|
+
label: Relevant log output
|
|
33
|
+
placeholder: Bug reports that do not contain logs may be closed without warning. Show the Homebridge logs here. If using Homebridge Config-UI-X, you can easly download your log by visiting the log page on the UI and Clicking the Download Icon in the top right. Remove any sensitive information, such as your homebridge-firstalert refreshToken. Please Turn on Debug Mode before submitting your Issue so more logs can be shared to fix the issue being submitted.
|
|
34
|
+
render: shell
|
|
35
|
+
validations:
|
|
36
|
+
required: true
|
|
37
|
+
- type: textarea
|
|
38
|
+
id: Config
|
|
39
|
+
attributes:
|
|
40
|
+
label: Config for homebridge-firstalert
|
|
41
|
+
placeholder: Paste your homebridge config.json here. Remove any sensitive information, such as your homebridge-firstalert consumerKey/ consumerSecret / refreshToken.
|
|
42
|
+
render: shell
|
|
43
|
+
validations:
|
|
44
|
+
required: true
|
|
45
|
+
- type: textarea
|
|
46
|
+
attributes:
|
|
47
|
+
label: Screenshots
|
|
48
|
+
description: If applicable add screenshots to help explain your problem.
|
|
49
|
+
placeholder: You can attach images or log files by clicking this area to highlight it and then dragging files in.
|
|
50
|
+
validations:
|
|
51
|
+
required: false
|
|
52
|
+
- type: input
|
|
53
|
+
attributes:
|
|
54
|
+
label: Device & Model
|
|
55
|
+
placeholder: If applicable, add screenshots to help explain your problem.
|
|
56
|
+
validations:
|
|
57
|
+
required: true
|
|
58
|
+
- type: markdown
|
|
59
|
+
attributes:
|
|
60
|
+
value: |
|
|
61
|
+
Environment
|
|
62
|
+
- type: input
|
|
63
|
+
attributes:
|
|
64
|
+
label: Node.js Version
|
|
65
|
+
placeholder: v14.17.6
|
|
66
|
+
validations:
|
|
67
|
+
required: true
|
|
68
|
+
- type: input
|
|
69
|
+
attributes:
|
|
70
|
+
label: NPM Version
|
|
71
|
+
placeholder: v7.22.0
|
|
72
|
+
validations:
|
|
73
|
+
required: true
|
|
74
|
+
- type: input
|
|
75
|
+
attributes:
|
|
76
|
+
label: Homebridge Version
|
|
77
|
+
placeholder: If applicable, add screenshots to help explain your problem.
|
|
78
|
+
validations:
|
|
79
|
+
required: true
|
|
80
|
+
- type: input
|
|
81
|
+
attributes:
|
|
82
|
+
label: Homebridge FirstAlert Plugin Version
|
|
83
|
+
placeholder: v10.0.1
|
|
84
|
+
validations:
|
|
85
|
+
required: true
|
|
86
|
+
- type: input
|
|
87
|
+
attributes:
|
|
88
|
+
label: Homebridge Config UI X Plugin Version
|
|
89
|
+
placeholder: v4.41.2
|
|
90
|
+
validations:
|
|
91
|
+
required: false
|
|
92
|
+
- type: input
|
|
93
|
+
attributes:
|
|
94
|
+
label: Operating System
|
|
95
|
+
placeholder: Raspbian / Ubuntu / Debian / Windows / macOS / Docker
|
|
96
|
+
validations:
|
|
97
|
+
required: true
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
blank_issues_enabled: false
|
|
2
|
+
contact_links:
|
|
3
|
+
- name: Homebridge Discord Channel for FirstAlert
|
|
4
|
+
url: https://discord.gg/8fpZA4S
|
|
5
|
+
about: Please ask and answer questions here.
|
|
6
|
+
- name: Homebridge-FirstAlert - Pull Requests
|
|
7
|
+
url: https://github.com/homebridge-plugins/homebridge-firstalert/pulls
|
|
8
|
+
about: Please report security vulnerabilities here.
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
name: Feature Request
|
|
2
|
+
description: Suggest an idea for this project
|
|
3
|
+
title: "Feature Request: "
|
|
4
|
+
labels: [enhancement]
|
|
5
|
+
assignees: 'donavanbecker'
|
|
6
|
+
body:
|
|
7
|
+
- type: markdown
|
|
8
|
+
attributes:
|
|
9
|
+
value: |
|
|
10
|
+
You must use the issue template below when submitting a feature request.
|
|
11
|
+
- type: markdown
|
|
12
|
+
attributes:
|
|
13
|
+
value: |
|
|
14
|
+
Is your feature request related to a problem? Please describe.
|
|
15
|
+
- type: input
|
|
16
|
+
attributes:
|
|
17
|
+
label: Problem
|
|
18
|
+
placeholder: A clear and concise description of what the problem is. Ex. I am always frustrated when [...]
|
|
19
|
+
validations:
|
|
20
|
+
required: false
|
|
21
|
+
- type: input
|
|
22
|
+
attributes:
|
|
23
|
+
label: Solution
|
|
24
|
+
placeholder: A clear and concise description of what you want to happen.
|
|
25
|
+
validations:
|
|
26
|
+
required: true
|
|
27
|
+
- type: input
|
|
28
|
+
attributes:
|
|
29
|
+
label: Alternatives
|
|
30
|
+
placeholder: A clear and concise description of any alternative solutions or features you have considered.
|
|
31
|
+
validations:
|
|
32
|
+
required: false
|
|
33
|
+
- type: input
|
|
34
|
+
attributes:
|
|
35
|
+
label: Additional context
|
|
36
|
+
placeholder: Add any other context or screenshots about the feature request here. Post device logs here.
|
|
37
|
+
validations:
|
|
38
|
+
required: false
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
name: Support Request
|
|
2
|
+
description: Need help?
|
|
3
|
+
title: "Support Request:"
|
|
4
|
+
labels: [question]
|
|
5
|
+
assignees: 'donavanbecker'
|
|
6
|
+
body:
|
|
7
|
+
- type: markdown
|
|
8
|
+
attributes:
|
|
9
|
+
value: |
|
|
10
|
+
You must use the issue template below when submitting a support request.
|
|
11
|
+
- type: input
|
|
12
|
+
attributes:
|
|
13
|
+
label: Describe Your Problem
|
|
14
|
+
placeholder: A clear and concise description of what problem you are trying to solve.
|
|
15
|
+
validations:
|
|
16
|
+
required: true
|
|
17
|
+
- type: textarea
|
|
18
|
+
id: Logs
|
|
19
|
+
attributes:
|
|
20
|
+
label: Relevant log output
|
|
21
|
+
placeholder: Bug reports that do not contain logs may be closed without warning. Show the Homebridge logs here. If using Homebridge Config-UI-X, you can easly download your log by visiting the log page on the UI and Clicking the Download Icon in the top right. Remove any sensitive information, such as your homebridge-firstalert refreshToken. Please Turn on Debug Mode before submitting your Issue so more logs can be shared to fix the issue being submitted.
|
|
22
|
+
render: shell
|
|
23
|
+
validations:
|
|
24
|
+
required: false
|
|
25
|
+
- type: textarea
|
|
26
|
+
id: Config
|
|
27
|
+
attributes:
|
|
28
|
+
label: Config for homebridge-firstalert
|
|
29
|
+
placeholder: Paste your homebridge config.json here. Remove any sensitive information, such as your homebridge-firstalert consumerKey/ consumerSecret refreshToken.
|
|
30
|
+
render: shell
|
|
31
|
+
validations:
|
|
32
|
+
required: false
|
|
33
|
+
- type: textarea
|
|
34
|
+
attributes:
|
|
35
|
+
label: Screenshots
|
|
36
|
+
description: If applicable add screenshots to help explain your problem.
|
|
37
|
+
placeholder: You can attach images or log files by clicking this area to highlight it and then dragging files in.
|
|
38
|
+
validations:
|
|
39
|
+
required: false
|
|
40
|
+
- type: input
|
|
41
|
+
attributes:
|
|
42
|
+
label: Device & Model
|
|
43
|
+
placeholder: If applicable, add screenshots to help explain your problem.
|
|
44
|
+
validations:
|
|
45
|
+
required: true
|
|
46
|
+
- type: markdown
|
|
47
|
+
attributes:
|
|
48
|
+
value: |
|
|
49
|
+
Environment
|
|
50
|
+
- type: input
|
|
51
|
+
attributes:
|
|
52
|
+
label: Node.js Version
|
|
53
|
+
placeholder: v14.17.5
|
|
54
|
+
validations:
|
|
55
|
+
required: true
|
|
56
|
+
- type: input
|
|
57
|
+
attributes:
|
|
58
|
+
label: NPM Version
|
|
59
|
+
placeholder: v7.20.5
|
|
60
|
+
validations:
|
|
61
|
+
required: true
|
|
62
|
+
- type: input
|
|
63
|
+
attributes:
|
|
64
|
+
label: Homebridge Version
|
|
65
|
+
placeholder: If applicable, add screenshots to help explain your problem.
|
|
66
|
+
validations:
|
|
67
|
+
required: true
|
|
68
|
+
- type: input
|
|
69
|
+
attributes:
|
|
70
|
+
label: Homebridge FirstAlert Plugin Version
|
|
71
|
+
placeholder: v10.0.1
|
|
72
|
+
validations:
|
|
73
|
+
required: true
|
|
74
|
+
- type: input
|
|
75
|
+
attributes:
|
|
76
|
+
label: Homebridge Config UI X Plugin Version
|
|
77
|
+
placeholder: v4.41.2
|
|
78
|
+
validations:
|
|
79
|
+
required: false
|
|
80
|
+
- type: input
|
|
81
|
+
attributes:
|
|
82
|
+
label: Operating System
|
|
83
|
+
placeholder: Raspbian / Ubuntu / Debian / Windows / macOS / Docker
|
|
84
|
+
validations:
|
|
85
|
+
required: true
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Bug Report
|
|
3
|
+
about: Create a report to help us improve
|
|
4
|
+
title: ''
|
|
5
|
+
labels: bug
|
|
6
|
+
assignees: ''
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
<!-- You must use the issue template below when submitting a bug -->
|
|
11
|
+
|
|
12
|
+
**Describe The Bug:**
|
|
13
|
+
|
|
14
|
+
<!-- A clear and concise description of what the bug is. -->
|
|
15
|
+
|
|
16
|
+
**To Reproduce:**
|
|
17
|
+
|
|
18
|
+
<!-- Steps to reproduce the behavior. -->
|
|
19
|
+
|
|
20
|
+
**Expected behavior:**
|
|
21
|
+
|
|
22
|
+
<!-- A clear and concise description of what you expected to happen. -->
|
|
23
|
+
|
|
24
|
+
**Logs:**
|
|
25
|
+
|
|
26
|
+
<!-- Bug reports that do not contain logs may be closed without warning. -->
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
Show the Homebridge / Homebridge Config UI X logs here.
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
**Homebridge Config:**
|
|
33
|
+
|
|
34
|
+
\```json
|
|
35
|
+
Show your homebridge config.json here
|
|
36
|
+
\```
|
|
37
|
+
|
|
38
|
+
**Screenshots:**
|
|
39
|
+
|
|
40
|
+
<!-- If applicable, add screenshots to help explain your problem. -->
|
|
41
|
+
|
|
42
|
+
**Environment:**
|
|
43
|
+
|
|
44
|
+
- **Node.js Version**: <!-- node -v -->
|
|
45
|
+
- **NPM Version**: <!-- npm -v -->
|
|
46
|
+
- **Homebridge Version**: <!-- homebridge -V -->
|
|
47
|
+
- **Homebridge FirstAlert Plugin Version**:
|
|
48
|
+
- **Homebridge Config UI X Version**:
|
|
49
|
+
- **Operating System**: Raspbian / Ubuntu / Debian / Windows / macOS / Docker
|
|
50
|
+
- **Process Supervisor**: Docker / Systemd / init.d / pm2 / launchctl / hb-service / other / none
|
|
51
|
+
|
|
52
|
+
<!-- Click the "Preview" tab before you submit to ensure the formatting is correct. -->
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Enhancement
|
|
3
|
+
about: Contribute to Plugin through Pull Request
|
|
4
|
+
title: ''
|
|
5
|
+
labels: 'enhancement'
|
|
6
|
+
assignees: 'donavanbecker'
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
**Is your enhancement related to a problem? Please describe.**
|
|
10
|
+
|
|
11
|
+
<!-- A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] -->
|
|
12
|
+
|
|
13
|
+
**Describe the solution you are addding**
|
|
14
|
+
|
|
15
|
+
<!-- A clear and concise description of what you want to happen. -->
|
|
16
|
+
|
|
17
|
+
**Changes Proposed in this Pull Request**
|
|
18
|
+
|
|
19
|
+
<!-- A clear and concise description of what is being changed. -->
|
|
20
|
+
|
|
21
|
+
**Describe alternatives you've considered**
|
|
22
|
+
|
|
23
|
+
<!-- A clear and concise description of any alternative solutions or features you've considered. -->
|
|
24
|
+
|
|
25
|
+
**Additional context**
|
|
26
|
+
|
|
27
|
+
<!-- Add any other context or screenshots about the feature request here. -->
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# To get started with Dependabot version updates, you'll need to specify which
|
|
2
|
+
# package ecosystems to update and where the package manifests are located.
|
|
3
|
+
# Please see the documentation for all configuration options:
|
|
4
|
+
# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
|
|
5
|
+
|
|
6
|
+
version: 2
|
|
7
|
+
updates:
|
|
8
|
+
- package-ecosystem: 'npm' # See documentation for possible values
|
|
9
|
+
directory: '/' # Location of package manifests
|
|
10
|
+
target-branch: 'beta-*.*.*'
|
|
11
|
+
schedule:
|
|
12
|
+
interval: 'daily'
|
|
13
|
+
- package-ecosystem: 'github-actions' # See documentation for possible values
|
|
14
|
+
directory: '/' # Location of package manifests
|
|
15
|
+
target-branch: 'beta-*.*.*'
|
|
16
|
+
schedule:
|
|
17
|
+
interval: 'daily'
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Add 'branding' label to any changes within 'docs' folder or any subfolders
|
|
2
|
+
branding:
|
|
3
|
+
- changed-files:
|
|
4
|
+
- any-glob-to-any-file: branding/**
|
|
5
|
+
|
|
6
|
+
# Add 'docs' label to any change to .md files within the entire repository
|
|
7
|
+
docs:
|
|
8
|
+
- changed-files:
|
|
9
|
+
- any-glob-to-any-file: '**/*.md'
|
|
10
|
+
|
|
11
|
+
# Add 'enhancement' label to any change to src files within the source dir EXCEPT for the docs sub-folder
|
|
12
|
+
enhancement:
|
|
13
|
+
- changed-files:
|
|
14
|
+
- any-glob-to-any-file: 'src/**/*'
|
|
15
|
+
- any-glob-to-any-file: 'config.schema.json'
|
|
16
|
+
|
|
17
|
+
# Add 'dependencies' label to any change to src files within the source dir EXCEPT for the docs sub-folder
|
|
18
|
+
dependencies:
|
|
19
|
+
- changed-files:
|
|
20
|
+
- any-glob-to-any-file: 'package.json'
|
|
21
|
+
- any-glob-to-any-file: 'package-lock.json'
|
|
22
|
+
|
|
23
|
+
# Add 'beta' label to any PR that is opened against the `beta` branch
|
|
24
|
+
beta:
|
|
25
|
+
- base-branch: 'beta*'
|
|
26
|
+
|
|
27
|
+
# Add 'alpha' label to any PR that is opened against the `alpha` branch
|
|
28
|
+
alpha:
|
|
29
|
+
- base-branch: 'alpha*'
|
|
30
|
+
|
|
31
|
+
# Add 'latest' label to any PR that is opened against the `latest` branch
|
|
32
|
+
latest:
|
|
33
|
+
- base-branch: 'latest'
|
|
34
|
+
|
|
35
|
+
# Add 'workflow' to any changes within 'workflow' folder or any subfolders
|
|
36
|
+
workflow:
|
|
37
|
+
- changed-files:
|
|
38
|
+
- any-glob-to-any-file: .github/**
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
name-template: 'v$RESOLVED_VERSION'
|
|
2
|
+
tag-template: 'v$RESOLVED_VERSION'
|
|
3
|
+
|
|
4
|
+
categories:
|
|
5
|
+
- title: 'Workflow Changes'
|
|
6
|
+
labels:
|
|
7
|
+
- 'workflow'
|
|
8
|
+
- title: 'Enhancements'
|
|
9
|
+
labels:
|
|
10
|
+
- 'enhancement'
|
|
11
|
+
- title: 'Updated Dependencies'
|
|
12
|
+
labels:
|
|
13
|
+
- 'dependencies'
|
|
14
|
+
- title: 'Documentation'
|
|
15
|
+
labels:
|
|
16
|
+
- 'docs'
|
|
17
|
+
|
|
18
|
+
change-template: '- $TITLE @$AUTHOR [#$NUMBER]'
|
|
19
|
+
version-resolver:
|
|
20
|
+
major:
|
|
21
|
+
labels:
|
|
22
|
+
- 'major'
|
|
23
|
+
minor:
|
|
24
|
+
labels:
|
|
25
|
+
- 'minor'
|
|
26
|
+
patch:
|
|
27
|
+
labels:
|
|
28
|
+
- 'patch'
|
|
29
|
+
default: patch
|
|
30
|
+
template: |
|
|
31
|
+
## Changes
|
|
32
|
+
|
|
33
|
+
$CHANGES
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
name: Beta Release
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [beta-*.*.*, beta]
|
|
6
|
+
workflow_dispatch:
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
build_and_test:
|
|
10
|
+
uses: homebridge/.github/.github/workflows/nodejs-build-and-test.yml@latest
|
|
11
|
+
with:
|
|
12
|
+
enable_coverage: false
|
|
13
|
+
secrets:
|
|
14
|
+
token: ${{ secrets.GITHUB_TOKEN }}
|
|
15
|
+
lint:
|
|
16
|
+
needs: build_and_test
|
|
17
|
+
uses: homebridge/.github/.github/workflows/eslint.yml@latest
|
|
18
|
+
|
|
19
|
+
publish:
|
|
20
|
+
needs: lint
|
|
21
|
+
if: ${{ github.repository == 'homebridge-plugins/homebridge-firstalert' }}
|
|
22
|
+
permissions:
|
|
23
|
+
id-token: write
|
|
24
|
+
uses: homebridge/.github/.github/workflows/npm-publish-esm.yml@latest
|
|
25
|
+
with:
|
|
26
|
+
tag: 'beta'
|
|
27
|
+
dynamically_adjust_version: true
|
|
28
|
+
npm_version_command: 'pre'
|
|
29
|
+
pre_id: 'beta'
|
|
30
|
+
secrets:
|
|
31
|
+
npm_auth_token: ${{ secrets.npm_token }}
|
|
32
|
+
|
|
33
|
+
pre-release:
|
|
34
|
+
needs: publish
|
|
35
|
+
if: ${{ github.repository == 'homebridge-plugins/homebridge-firstalert' }}
|
|
36
|
+
uses: homebridge/.github/.github/workflows/pre-release.yml@latest
|
|
37
|
+
with:
|
|
38
|
+
npm_version: ${{ needs.publish.outputs.NPM_VERSION }}
|
|
39
|
+
body: |
|
|
40
|
+
**Beta Release**
|
|
41
|
+
**Version**: v${{ needs.publish.outputs.NPM_VERSION }}
|
|
42
|
+
[How To Test Beta Releases](https://github.com/homebridge-plugins/homebridge-firstalert/wiki/Beta-Version)
|
|
43
|
+
|
|
44
|
+
github-releases-to-discord:
|
|
45
|
+
name: Discord Webhooks
|
|
46
|
+
needs: [build_and_test,publish]
|
|
47
|
+
if: ${{ github.repository == 'homebridge-plugins/homebridge-firstalert' }}
|
|
48
|
+
uses: homebridge/.github/.github/workflows/discord-webhooks.yml@latest
|
|
49
|
+
with:
|
|
50
|
+
title: "FirstAlert Beta Release"
|
|
51
|
+
description: |
|
|
52
|
+
Version `v${{ needs.publish.outputs.NPM_VERSION }}`
|
|
53
|
+
url: "https://github.com/homebridge-plugins/homebridge-firstalert/releases/tag/v${{ needs.publish.outputs.NPM_VERSION }}"
|
|
54
|
+
secrets:
|
|
55
|
+
DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK_URL_BETA || secrets.DISCORD_WEBHOOK_URL_LATEST }}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
name: Node Build
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [latest]
|
|
6
|
+
pull_request:
|
|
7
|
+
workflow_dispatch:
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
build_and_test:
|
|
11
|
+
uses: homebridge/.github/.github/workflows/nodejs-build-and-test.yml@latest
|
|
12
|
+
with:
|
|
13
|
+
enable_coverage: false
|
|
14
|
+
secrets:
|
|
15
|
+
token: ${{ secrets.GITHUB_TOKEN }}
|
|
16
|
+
lint:
|
|
17
|
+
needs: build_and_test
|
|
18
|
+
uses: homebridge/.github/.github/workflows/eslint.yml@latest
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
name: Release Drafter
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [latest]
|
|
6
|
+
pull_request: # required for autolabeler
|
|
7
|
+
types: [opened, reopened, synchronize]
|
|
8
|
+
workflow_dispatch:
|
|
9
|
+
|
|
10
|
+
jobs:
|
|
11
|
+
release-drafter:
|
|
12
|
+
uses: homebridge/.github/.github/workflows/release-drafter.yml@latest
|
|
13
|
+
secrets:
|
|
14
|
+
token: ${{ secrets.GITHUB_TOKEN }}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
name: Release
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
release:
|
|
5
|
+
types: [published]
|
|
6
|
+
|
|
7
|
+
jobs:
|
|
8
|
+
build_and_test:
|
|
9
|
+
uses: homebridge/.github/.github/workflows/nodejs-build-and-test.yml@latest
|
|
10
|
+
with:
|
|
11
|
+
enable_coverage: false
|
|
12
|
+
secrets:
|
|
13
|
+
token: ${{ secrets.GITHUB_TOKEN }}
|
|
14
|
+
|
|
15
|
+
publish:
|
|
16
|
+
needs: build_and_test
|
|
17
|
+
if: ${{ github.repository == 'homebridge-plugins/homebridge-firstalert' }}
|
|
18
|
+
permissions:
|
|
19
|
+
id-token: write
|
|
20
|
+
uses: homebridge/.github/.github/workflows/npm-publish-esm.yml@latest
|
|
21
|
+
secrets:
|
|
22
|
+
npm_auth_token: ${{ secrets.npm_token }}
|
|
23
|
+
|
|
24
|
+
github-releases-to-discord:
|
|
25
|
+
name: Discord Webhooks
|
|
26
|
+
needs: [build_and_test,publish]
|
|
27
|
+
if: ${{ github.repository == 'homebridge-plugins/homebridge-firstalert' }}
|
|
28
|
+
uses: homebridge/.github/.github/workflows/discord-webhooks.yml@latest
|
|
29
|
+
with:
|
|
30
|
+
title: "FirstAlert Release"
|
|
31
|
+
description: |
|
|
32
|
+
Version `v${{ needs.publish.outputs.NPM_VERSION }}`
|
|
33
|
+
url: "https://github.com/homebridge-plugins/homebridge-firstalert/releases/tag/v${{ needs.publish.outputs.NPM_VERSION }}"
|
|
34
|
+
secrets:
|
|
35
|
+
DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK_URL_LATEST }}
|
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file. This project uses [Semantic Versioning](https://semver.org/)
|
|
4
|
+
|
|
5
|
+
## [1.0.0](https://github.com/homebridge-plugins/homebridge-firstalert/releases/tag/v1.0.0) (2026-XX-XX)
|
|
6
|
+
|
|
7
|
+
### What's Changes
|
|
8
|
+
- Initial Release Changing from FirstAlert to FirstAlert
|
|
9
|
+
|
|
10
|
+
**Full Changelog**: https://github.com/homebridge-plugins/homebridge-firstalert/compare/v0.0.1...v1.0.0
|
package/LICENSE
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
ISC License (ISC)
|
|
2
|
+
Copyright (c) 2023-2024 donavanbecker
|
|
3
|
+
|
|
4
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
5
|
+
purpose with or without fee is hereby granted, provided that the above
|
|
6
|
+
copyright notice and this permission notice appear in all copies.
|
|
7
|
+
|
|
8
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
9
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
10
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
11
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
12
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
13
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
14
|
+
PERFORMANCE OF THIS SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
<span align="center">
|
|
2
|
+
|
|
3
|
+
<a href="https://github.com/homebridge/verified/blob/latest/verified-plugins.json"><img alt="homebridge-verified" src="https://raw.githubusercontent.com/homebridge-plugins/homebridge-firstalert/latest/branding/Homebridge_x_Resideo.svg?sanitize=true" width="350px"></a>
|
|
4
|
+
|
|
5
|
+
# Homebridge FirstAlert
|
|
6
|
+
|
|
7
|
+
<a href="https://www.npmjs.com/package/homebridge-firstalert"><img title="npm version" src="https://badgen.net/npm/v/homebridge-firstalert?icon=npm&label" ></a>
|
|
8
|
+
<a href="https://www.npmjs.com/package/homebridge-firstalert"><img title="npm downloads" src="https://badgen.net/npm/dt/homebridge-firstalert?label=downloads" ></a>
|
|
9
|
+
<a href="https://discord.gg/8fpZA4S"><img title="discord-firstalert" src="https://badgen.net/discord/online-members/8fpZA4S?icon=discord&label=discord" ></a>
|
|
10
|
+
<a href="https://paypal.me/donavanbecker"><img title="donate" src="https://badgen.net/badge/donate/paypal/yellow" ></a>
|
|
11
|
+
|
|
12
|
+
<p>The Homebridge <a href="https://firstalert.com">FirstAlert</a>
|
|
13
|
+
plugin allows you to access your FirstAlert Device(s) from HomeKit with
|
|
14
|
+
<a href="https://homebridge.io">Homebridge</a>.
|
|
15
|
+
</p>
|
|
16
|
+
|
|
17
|
+
</span>
|
|
18
|
+
|
|
19
|
+
## Installation
|
|
20
|
+
|
|
21
|
+
1. Search for "FirstAlert" on the plugin screen of [Homebridge Config UI X](https://github.com/oznu/homebridge-config-ui-x).
|
|
22
|
+
2. Click **Install**.
|
|
23
|
+
|
|
24
|
+
## Configuration
|
|
25
|
+
|
|
26
|
+
1. Login / create an account at https://developer.honeywellhome.com/user
|
|
27
|
+
- Your FirstAlert Developer Account, this account is different then your FirstAlert Account that you log into the FirstAlert App with
|
|
28
|
+
2. Click **Create New App**
|
|
29
|
+
3. Give your application a name
|
|
30
|
+
4. Copy the hostname found on #3 of the Intro Page into the Callback URL field
|
|
31
|
+
|
|
32
|
+
<p align="center">
|
|
33
|
+
|
|
34
|
+
<img src="https://user-images.githubusercontent.com/9875439/192078620-6998511c-1c11-4e06-b7e1-475b22ef5180.png" width="300px">
|
|
35
|
+
|
|
36
|
+
</p>
|
|
37
|
+
|
|
38
|
+
5. Enter the generated consumer key and secret into the plugin settings screen of [Homebridge Config UI X](https://github.com/oznu/homebridge-config-ui-x)
|
|
39
|
+
6. Click **Link Account**
|
|
40
|
+
|
|
41
|
+
<p align="center">
|
|
42
|
+
|
|
43
|
+
<img src="https://user-images.githubusercontent.com/9875439/192078614-e568d121-e0e4-4123-bdda-4238e8a6e601.png" width="300px">
|
|
44
|
+
|
|
45
|
+
</p>
|
|
46
|
+
|
|
47
|
+
7. Login to your [https://www.firstalert.com](https://account.honeywellhome.com).
|
|
48
|
+
8. Click Allow
|
|
49
|
+
9. Select Devices
|
|
50
|
+
- I would recommend selecting all devices since you can restrict the devices you don't want in the Home app later, by DeviceID.
|
|
51
|
+
10. Click Connect
|
|
52
|
+
11. Click Save
|
|
53
|
+
- If you plan on adding this plugin into a child bridge, I would configure that at this time before restarting Homebridge.
|
|
54
|
+
- Reminder that you will have to add this child bridge into the home app to get FirstAlert accessories to show up.
|
|
55
|
+
12. Restart Homebridge
|
|
56
|
+
|
|
57
|
+
## Supported FirstAlert Devices
|
|
58
|
+
|
|
59
|
+
- [T10 Thermostat](https://www.firstalert.com/us/en/products/air/thermostats/wifi-thermostats/t10-pro-smart-thermostat-with-redlinkr-room-sensor-thx321wfs2001w-u/) - Already HomeKit Certified
|
|
60
|
+
- [T9 Thermostat](https://www.firstalert.com/us/en/products/air/thermostats/wifi-thermostats/t9-smart-thermostat-with-sensor-rcht9610wfsw2003-u/) - Already HomeKit Certified
|
|
61
|
+
- [T9 Smart Roomsensors](https://www.firstalert.com/us/en/products/air/thermostat-accessories/t9-smart-sensor-rchtsensor-1pk-u/)
|
|
62
|
+
- [T6 Thermostat](https://www.firstalert.com/us/en/products/air/thermostats/wifi-thermostats/t6-pro-smart-thermostat-multi-stage-3-heat-2-cool-th6320wf2003-u/) - Already HomeKit Certified
|
|
63
|
+
- [T5 Thermostat](https://www.firstalert.com/us/en/products/air/thermostats/wifi-thermostats/t5-smart-thermostat-with-c-wire-adapter-rcht8612wf2005-u/) - Already HomeKit Certified
|
|
64
|
+
- [Round Thermostat](https://www.firstalert.com/us/en/products/air/thermostats/wifi-thermostats/the-round-smart-thermostat-rch9310wf5003-u/) - Already HomeKit Certified
|
|
65
|
+
- Some Total Comfort Control Thermostats
|
|
66
|
+
- Pushing Commands may not be supported on some.
|
|
67
|
+
- [WiFi Water Leak & Freeze Detector](https://www.firstalert.com/us/en/products/water/spot-leak-detection/wifi-water-leak-freeze-detector-rchw3610wf1001-u/)
|