homebridge-nest-accfactory 0.3.1 → 0.3.2
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 +27 -0
- package/README.md +31 -25
- package/config.schema.json +46 -22
- package/dist/HomeKitDevice.js +495 -262
- package/dist/HomeKitHistory.js +357 -341
- package/dist/config.js +67 -85
- package/dist/consts.js +160 -0
- package/dist/devices.js +35 -48
- package/dist/ffmpeg.js +297 -0
- package/dist/index.js +3 -3
- package/dist/nexustalk.js +157 -124
- package/dist/plugins/camera.js +1153 -924
- package/dist/plugins/doorbell.js +26 -32
- package/dist/plugins/floodlight.js +11 -24
- package/dist/plugins/heatlink.js +411 -5
- package/dist/plugins/lock.js +309 -0
- package/dist/plugins/protect.js +239 -70
- package/dist/plugins/tempsensor.js +158 -34
- package/dist/plugins/thermostat.js +890 -454
- package/dist/plugins/weather.js +128 -33
- package/dist/protobuf/nest/services/apigateway.proto +1 -1
- package/dist/protobuf/nestlabs/gateway/v2.proto +1 -1
- package/dist/protobuf/root.proto +1 -0
- package/dist/rtpmuxer.js +186 -0
- package/dist/streamer.js +486 -244
- package/dist/system.js +1739 -2852
- package/dist/utils.js +327 -0
- package/dist/webrtc.js +354 -225
- package/package.json +19 -16
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,33 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to `homebridge-nest-accfactory` will be documented in this file. This project tries to adhere to [Semantic Versioning](http://semver.org/).
|
|
4
4
|
|
|
5
|
+
## v0.3.2 (2025/08/09)
|
|
6
|
+
|
|
7
|
+
- Now Homebridge Verified
|
|
8
|
+
- Refactored core to use the updated base class
|
|
9
|
+
- Refactored plugins for better codebase separation
|
|
10
|
+
- General code cleanup and improved stability
|
|
11
|
+
- Improved camera streaming and HKSV recording
|
|
12
|
+
- Initial support for video hardware acceleration during recording
|
|
13
|
+
- Initial support for Nest x Yale locks (more testing needed)
|
|
14
|
+
- Fixed missing audio on newer Nest/Google cameras
|
|
15
|
+
- Fixed missing Nest/Google cameras after Google Home migration
|
|
16
|
+
- Fixed startup errors caused by invalid thermostat temperature settings
|
|
17
|
+
- Fixed doorbell notifications
|
|
18
|
+
- Fixed EveHome integration (history recording)
|
|
19
|
+
- Fixed interference from other `undici`/`fetch` instances in Homebridge
|
|
20
|
+
- Fixed issue when setting device properties via Nest API
|
|
21
|
+
- Added support for hot water temperature control on compatible EU/UK thermostats — [see README](./README.md#devices)
|
|
22
|
+
- Removed support for using Nest Heat Link devices as room temperature sensors
|
|
23
|
+
- Removed standalone Docker version
|
|
24
|
+
|
|
25
|
+
### Known Issues
|
|
26
|
+
|
|
27
|
+
- The ip npm package has a known security advisory [GHSA-2p57-rm9w-gvfp](https://github.com/advisories/GHSA-2p57-rm9w-gvfp); this is used indirectly via the werift library
|
|
28
|
+
|
|
29
|
+
### Thanks
|
|
30
|
+
Special thanks to [@Daniel](https://github.com/no1knows), [@Matthew](https://github.com/mphyde), [@Erik](https://github.com/esille), [#Neil](https://github.com/BertrumUK) and [@Guy](https://github.com/grhall) for testing and feedback on this release!
|
|
31
|
+
|
|
5
32
|
## v0.3.1 (2025/06/16)
|
|
6
33
|
|
|
7
34
|
- Minor stability improvements affecting standalone docker version
|
package/README.md
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
[](https://www.npmjs.com/package/homebridge-nest-accfactory)
|
|
9
9
|
[](https://www.npmjs.com/package/homebridge-nest-accfactory)
|
|
10
|
+
[](https://github.com/homebridge/homebridge/wiki/Verified-Plugins)
|
|
10
11
|
|
|
11
12
|
</span>
|
|
12
13
|
|
|
@@ -23,7 +24,8 @@ The following Nest devices are known to be supported
|
|
|
23
24
|
* Nest Temp Sensors (1st gen)
|
|
24
25
|
* Nest Cameras (Cam Indoor, IQ Indoor, Outdoor, IQ Outdoor, Cam with Floodlight)
|
|
25
26
|
* Nest Doorbells (wired 1st gen)
|
|
26
|
-
* Nest
|
|
27
|
+
* Nest HeatLinks
|
|
28
|
+
* Nest x Yale Locks (more testers required)
|
|
27
29
|
|
|
28
30
|
**Note:** Google has announced it will discontinue support for 1st and 2nd generation Nest Thermostats as of **October 25, 2025**.
|
|
29
31
|
Based on their stated intentions, these models are expected to stop functioning with this Homebridge plugin after that date.
|
|
@@ -100,35 +102,39 @@ Sample config.json entries below
|
|
|
100
102
|
|
|
101
103
|
The following options are available in the config.json options object. These apply to all discovered devices.
|
|
102
104
|
|
|
103
|
-
| Name
|
|
104
|
-
|
|
105
|
-
| elevation
|
|
106
|
-
| eveHistory
|
|
107
|
-
| exclude
|
|
108
|
-
|
|
|
109
|
-
|
|
|
110
|
-
|
|
|
111
|
-
|
|
|
105
|
+
| Name | Description | Default |
|
|
106
|
+
|--------------------|----------------------------------------------------------------------------------------------|----------------|
|
|
107
|
+
| elevation | Height above sea level for the weather station | 0 |
|
|
108
|
+
| eveHistory | Provide history in EveHome application where applicable | true |
|
|
109
|
+
| exclude | Exclude ALL devices | false |
|
|
110
|
+
| ffmpegDebug | Turns on specific debugging output for when ffmpeg is envoked | false |
|
|
111
|
+
| ffmpegHWaccel | Enable video hardware acceleration for supported camera(s) and doorbell(s) | false |
|
|
112
|
+
| ffmegPath | Path to an ffmpeg binary for us to use | /usr/local/bin |
|
|
113
|
+
| hksv | Enable HomeKit Secure Video for supported camera(s) and doorbell(s) | false |
|
|
114
|
+
| weather | Virtual weather station for each Nest/Google home we discover | false |
|
|
112
115
|
|
|
113
116
|
#### devices
|
|
114
117
|
|
|
115
118
|
The following options are available on a per-device level in the `config.json` `devices` array. Each device is specified as a JSON object, and the device is identified using the `"serialNumber"` key with the value of its serial number (in uppercase).
|
|
116
119
|
|
|
117
|
-
| Name
|
|
118
|
-
|
|
119
|
-
| chimeSwitch
|
|
120
|
-
| doorbellCooldown
|
|
121
|
-
| elevation
|
|
122
|
-
| eveHistory
|
|
123
|
-
| exclude
|
|
124
|
-
|
|
|
125
|
-
|
|
|
126
|
-
|
|
|
127
|
-
|
|
|
128
|
-
|
|
|
129
|
-
|
|
|
130
|
-
|
|
|
131
|
-
|
|
|
120
|
+
| Name | Description | Default |
|
|
121
|
+
|--------------------|----------------------------------------------------------------------------------------------|----------------|
|
|
122
|
+
| chimeSwitch | Create a switch for supported doorbell(s) which allows the indoor chime to be turned on/off | false |
|
|
123
|
+
| doorbellCooldown | Time in seconds between doorbell press events | 60 |
|
|
124
|
+
| elevation | Height above sea level for the specific weather station | 0 |
|
|
125
|
+
| eveHistory | Provide history in EveHome application where applicable for the specific device | true |
|
|
126
|
+
| exclude | Exclude the device | false |
|
|
127
|
+
| ffmpegDebug | Turns on specific debugging output for when ffmpeg is envoked | false |
|
|
128
|
+
| ffmpegHWaccel | Enable video hardware acceleration for supported camera(s) and doorbell(s) | false |
|
|
129
|
+
| hksv | Enable HomeKit Secure Video for supported camera(s) and doorbell(s) | false |
|
|
130
|
+
| hotwaterBoostTime | Time in seconds for hotwater boost heating (30, 160, 120mins) | 30mins |
|
|
131
|
+
| hotwaterMaxTemp | Maximum supported temperature for hotwater heating | 70c |
|
|
132
|
+
| hotwaterMinTemp | Minimum supported temperature for hotwater heating | 30c |
|
|
133
|
+
| humiditySensor | Create a seperate humidity sensor for supported thermostat(s) | false |
|
|
134
|
+
| localAccess | Use direct access to supported camera(s) and doorbell(s) for video streaming and recording | false |
|
|
135
|
+
| motionCooldown | Time in seconds between detected motion events | 60 |
|
|
136
|
+
| personCooldown | Time in seconds between detected person events | 120 |
|
|
137
|
+
| serialNumber | Device serial number to which these settings belong too | |
|
|
132
138
|
|
|
133
139
|
## ffmpeg
|
|
134
140
|
|
package/config.schema.json
CHANGED
|
@@ -71,18 +71,6 @@
|
|
|
71
71
|
"expandable": true,
|
|
72
72
|
"expanded": true,
|
|
73
73
|
"properties": {
|
|
74
|
-
"eveHistory": {
|
|
75
|
-
"title": "EveHome History",
|
|
76
|
-
"description": "Provide history in EveHome application where applicable",
|
|
77
|
-
"type": "boolean",
|
|
78
|
-
"default": true
|
|
79
|
-
},
|
|
80
|
-
"weather": {
|
|
81
|
-
"title": "Virtual Weather",
|
|
82
|
-
"description": "Virtual weather station",
|
|
83
|
-
"type": "boolean",
|
|
84
|
-
"default": false
|
|
85
|
-
},
|
|
86
74
|
"elevation": {
|
|
87
75
|
"title": "Elevation",
|
|
88
76
|
"description": "Height above sea level for the weather station",
|
|
@@ -94,32 +82,56 @@
|
|
|
94
82
|
"functionBody": "return model.options.weather"
|
|
95
83
|
}
|
|
96
84
|
},
|
|
97
|
-
"
|
|
98
|
-
"title": "
|
|
99
|
-
"description": "
|
|
85
|
+
"eveHistory": {
|
|
86
|
+
"title": "EveHome History",
|
|
87
|
+
"description": "Provide history in EveHome application where applicable",
|
|
100
88
|
"type": "boolean",
|
|
101
|
-
"default":
|
|
89
|
+
"default": true
|
|
90
|
+
},
|
|
91
|
+
"exclude": {
|
|
92
|
+
"description": "Exclude all devices",
|
|
93
|
+
"type": "boolean"
|
|
94
|
+
},
|
|
95
|
+
"ffmpegDebug": {
|
|
96
|
+
"description": "Enable ffmpeg output debugging",
|
|
97
|
+
"type": "boolean"
|
|
98
|
+
},
|
|
99
|
+
"ffmpegHWAccel": {
|
|
100
|
+
"description": "Enable hardware acceleration for video encoding with ffmpeg",
|
|
101
|
+
"type": "boolean"
|
|
102
102
|
},
|
|
103
103
|
"ffmpegPath": {
|
|
104
104
|
"title": "Path to ffmpeg binary",
|
|
105
105
|
"type": "string",
|
|
106
|
-
"placeholder": "Path to
|
|
106
|
+
"placeholder": "Path to ffmpeg binary",
|
|
107
107
|
"default": "/usr/local/bin/ffmpeg"
|
|
108
108
|
},
|
|
109
|
-
"
|
|
110
|
-
"
|
|
109
|
+
"hksv": {
|
|
110
|
+
"title": "HomeKit Secure Video",
|
|
111
|
+
"description": "Enable HomeKit Secure Video for supported camera(s) and doorbell(s)",
|
|
112
|
+
"type": "boolean",
|
|
113
|
+
"default": false
|
|
111
114
|
},
|
|
112
115
|
"maxStreams": {
|
|
113
116
|
"type": "integer"
|
|
114
117
|
},
|
|
115
|
-
"
|
|
118
|
+
"rawdump": {
|
|
119
|
+
"description": "Output internal raw data",
|
|
116
120
|
"type": "boolean"
|
|
117
|
-
},
|
|
121
|
+
},
|
|
118
122
|
"useNestAPI": {
|
|
123
|
+
"description": "Use Nest backend API",
|
|
119
124
|
"type": "boolean"
|
|
120
125
|
},
|
|
121
126
|
"useGoogleAPI": {
|
|
127
|
+
"description": "Use Google backend API",
|
|
122
128
|
"type": "boolean"
|
|
129
|
+
},
|
|
130
|
+
"weather": {
|
|
131
|
+
"title": "Virtual Weather",
|
|
132
|
+
"description": "Virtual weather station",
|
|
133
|
+
"type": "boolean",
|
|
134
|
+
"default": false
|
|
123
135
|
}
|
|
124
136
|
}
|
|
125
137
|
},
|
|
@@ -162,7 +174,10 @@
|
|
|
162
174
|
"externalHeat": {
|
|
163
175
|
"type": "string"
|
|
164
176
|
},
|
|
165
|
-
"
|
|
177
|
+
"ffmpegDebug": {
|
|
178
|
+
"type": "boolean"
|
|
179
|
+
},
|
|
180
|
+
"ffmpegHWAccel": {
|
|
166
181
|
"type": "boolean"
|
|
167
182
|
},
|
|
168
183
|
"hkPairingCode": {
|
|
@@ -171,6 +186,15 @@
|
|
|
171
186
|
"hksv": {
|
|
172
187
|
"type": "boolean"
|
|
173
188
|
},
|
|
189
|
+
"hotWaterBoostTime": {
|
|
190
|
+
"type": "number"
|
|
191
|
+
},
|
|
192
|
+
"hotWaterMaxTemp": {
|
|
193
|
+
"type": "string"
|
|
194
|
+
},
|
|
195
|
+
"hotWaterMinTemp": {
|
|
196
|
+
"type": "string"
|
|
197
|
+
},
|
|
174
198
|
"humiditySensor": {
|
|
175
199
|
"type": "boolean"
|
|
176
200
|
},
|