homebridge-nest-accfactory 0.2.11 → 0.3.1
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 +28 -0
- package/README.md +14 -7
- package/config.schema.json +118 -0
- package/dist/HomeKitDevice.js +203 -77
- package/dist/HomeKitHistory.js +1 -1
- package/dist/config.js +207 -0
- package/dist/devices.js +118 -0
- package/dist/index.js +2 -1
- package/dist/nexustalk.js +46 -48
- package/dist/{camera.js → plugins/camera.js} +216 -241
- package/dist/{doorbell.js → plugins/doorbell.js} +32 -30
- package/dist/plugins/floodlight.js +91 -0
- package/dist/plugins/heatlink.js +17 -0
- package/dist/{protect.js → plugins/protect.js} +26 -43
- package/dist/{tempsensor.js → plugins/tempsensor.js} +15 -19
- package/dist/{thermostat.js → plugins/thermostat.js} +426 -383
- package/dist/{weather.js → plugins/weather.js} +26 -60
- package/dist/protobuf/nest/services/apigateway.proto +31 -1
- package/dist/protobuf/nest/trait/firmware.proto +207 -89
- package/dist/protobuf/nest/trait/hvac.proto +1052 -312
- package/dist/protobuf/nest/trait/located.proto +51 -8
- package/dist/protobuf/nest/trait/network.proto +366 -36
- package/dist/protobuf/nest/trait/occupancy.proto +145 -17
- package/dist/protobuf/nest/trait/product/protect.proto +57 -43
- package/dist/protobuf/nest/trait/resourcedirectory.proto +8 -0
- package/dist/protobuf/nest/trait/sensor.proto +7 -1
- package/dist/protobuf/nest/trait/service.proto +3 -1
- package/dist/protobuf/nest/trait/structure.proto +60 -14
- package/dist/protobuf/nest/trait/ui.proto +41 -1
- package/dist/protobuf/nest/trait/user.proto +6 -1
- package/dist/protobuf/nest/trait/voiceassistant.proto +2 -1
- package/dist/protobuf/nestlabs/eventingapi/v1.proto +20 -1
- package/dist/protobuf/root.proto +1 -0
- package/dist/protobuf/wdl.proto +18 -2
- package/dist/protobuf/weave/common.proto +2 -1
- package/dist/protobuf/weave/trait/heartbeat.proto +41 -1
- package/dist/protobuf/weave/trait/power.proto +1 -0
- package/dist/protobuf/weave/trait/security.proto +10 -1
- package/dist/streamer.js +74 -78
- package/dist/system.js +1213 -1264
- package/dist/webrtc.js +39 -34
- package/package.json +11 -11
- package/dist/floodlight.js +0 -97
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
// Nest 'virtual' weather station
|
|
2
2
|
// Part of homebridge-nest-accfactory
|
|
3
3
|
//
|
|
4
|
-
// Code version 28/8/2024
|
|
5
4
|
// Mark Hulskamp
|
|
6
5
|
'use strict';
|
|
7
6
|
|
|
8
7
|
// Define our modules
|
|
9
|
-
import HomeKitDevice from '
|
|
8
|
+
import HomeKitDevice from '../HomeKitDevice.js';
|
|
10
9
|
|
|
11
10
|
export default class NestWeather extends HomeKitDevice {
|
|
11
|
+
static TYPE = 'Weather';
|
|
12
|
+
static VERSION = '2025.06.11';
|
|
13
|
+
|
|
12
14
|
batteryService = undefined;
|
|
13
15
|
airPressureService = undefined;
|
|
14
16
|
temperatureService = undefined;
|
|
@@ -19,76 +21,43 @@ export default class NestWeather extends HomeKitDevice {
|
|
|
19
21
|
}
|
|
20
22
|
|
|
21
23
|
// Class functions
|
|
22
|
-
|
|
24
|
+
setupDevice() {
|
|
23
25
|
// Setup temperature service if not already present on the accessory
|
|
24
|
-
this.temperatureService = this.
|
|
25
|
-
if (this.temperatureService === undefined) {
|
|
26
|
-
this.temperatureService = this.accessory.addService(this.hap.Service.TemperatureSensor, '', 1);
|
|
27
|
-
}
|
|
26
|
+
this.temperatureService = this.addHKService(this.hap.Service.TemperatureSensor, '', 1);
|
|
28
27
|
this.temperatureService.setPrimaryService();
|
|
29
28
|
|
|
30
29
|
// Setup humidity service if not already present on the accessory
|
|
31
|
-
this.humidityService = this.
|
|
32
|
-
if (this.humidityService === undefined) {
|
|
33
|
-
this.humidityService = this.accessory.addService(this.hap.Service.HumiditySensor, '', 1);
|
|
34
|
-
}
|
|
30
|
+
this.humidityService = this.addHKService(this.hap.Service.HumiditySensor, '', 1);
|
|
35
31
|
|
|
36
32
|
// Setup battery service if not already present on the accessory
|
|
37
|
-
this.batteryService = this.
|
|
38
|
-
if (this.batteryService === undefined) {
|
|
39
|
-
this.batteryService = this.accessory.addService(this.hap.Service.Battery, '', 1);
|
|
40
|
-
}
|
|
33
|
+
this.batteryService = this.addHKService(this.hap.Service.Battery, '', 1);
|
|
41
34
|
this.batteryService.setHiddenService(true);
|
|
42
35
|
|
|
43
36
|
// Add custom weather service and characteristics if they have been defined
|
|
44
37
|
if (this.hap.Service?.EveAirPressureSensor !== undefined) {
|
|
45
|
-
this.airPressureService = this.
|
|
46
|
-
if (this.airPressureService === undefined) {
|
|
47
|
-
this.airPressureService = this.accessory.addService(this.hap.Service.EveAirPressureSensor, '', 1);
|
|
48
|
-
}
|
|
38
|
+
this.airPressureService = this.addHKService(this.hap.Service.EveAirPressureSensor, '', 1);
|
|
49
39
|
}
|
|
50
40
|
|
|
51
|
-
if (
|
|
52
|
-
this.hap.Characteristic
|
|
53
|
-
this.temperatureService.testCharacteristic(this.hap.Characteristic.ForecastDay) === false
|
|
54
|
-
) {
|
|
55
|
-
this.temperatureService.addCharacteristic(this.hap.Characteristic.ForecastDay);
|
|
41
|
+
if (this.hap.Characteristic?.ForecastDay !== undefined) {
|
|
42
|
+
this.addHKCharacteristic(this.temperatureService, this.hap.Characteristic.ForecastDay);
|
|
56
43
|
}
|
|
57
|
-
if (
|
|
58
|
-
this.hap.Characteristic
|
|
59
|
-
this.temperatureService.testCharacteristic(this.hap.Characteristic.ObservationStation) === false
|
|
60
|
-
) {
|
|
61
|
-
this.temperatureService.addCharacteristic(this.hap.Characteristic.ObservationStation);
|
|
44
|
+
if (this.hap.Characteristic?.ObservationStation !== undefined) {
|
|
45
|
+
this.addHKCharacteristic(this.temperatureService, this.hap.Characteristic.ObservationStation);
|
|
62
46
|
}
|
|
63
|
-
if (
|
|
64
|
-
this.hap.Characteristic
|
|
65
|
-
this.temperatureService.testCharacteristic(this.hap.Characteristic.Condition) === false
|
|
66
|
-
) {
|
|
67
|
-
this.temperatureService.addCharacteristic(this.hap.Characteristic.Condition);
|
|
47
|
+
if (this.hap.Characteristic?.Condition !== undefined) {
|
|
48
|
+
this.addHKCharacteristic(this.temperatureService, this.hap.Characteristic.Condition);
|
|
68
49
|
}
|
|
69
|
-
if (
|
|
70
|
-
this.hap.Characteristic
|
|
71
|
-
this.temperatureService.testCharacteristic(this.hap.Characteristic.WindDirection) === false
|
|
72
|
-
) {
|
|
73
|
-
this.temperatureService.addCharacteristic(this.hap.Characteristic.WindDirection);
|
|
50
|
+
if (this.hap.Characteristic?.WindDirection !== undefined) {
|
|
51
|
+
this.addHKCharacteristic(this.temperatureService, this.hap.Characteristic.WindDirection);
|
|
74
52
|
}
|
|
75
|
-
if (
|
|
76
|
-
this.hap.Characteristic
|
|
77
|
-
this.temperatureService.testCharacteristic(this.hap.Characteristic.WindSpeed) === false
|
|
78
|
-
) {
|
|
79
|
-
this.temperatureService.addCharacteristic(this.hap.Characteristic.WindSpeed);
|
|
53
|
+
if (this.hap.Characteristic?.WindSpeed !== undefined) {
|
|
54
|
+
this.addHKCharacteristic(this.temperatureService, this.hap.Characteristic.WindSpeed);
|
|
80
55
|
}
|
|
81
|
-
if (
|
|
82
|
-
this.hap.Characteristic
|
|
83
|
-
this.temperatureService.testCharacteristic(this.hap.Characteristic.SunriseTime) === false
|
|
84
|
-
) {
|
|
85
|
-
this.temperatureService.addCharacteristic(this.hap.Characteristic.SunriseTime);
|
|
56
|
+
if (this.hap.Characteristic?.SunriseTime !== undefined) {
|
|
57
|
+
this.addHKCharacteristic(this.temperatureService, this.hap.Characteristic.SunriseTime);
|
|
86
58
|
}
|
|
87
|
-
if (
|
|
88
|
-
this.hap.Characteristic
|
|
89
|
-
this.temperatureService.testCharacteristic(this.hap.Characteristic.SunsetTime) === false
|
|
90
|
-
) {
|
|
91
|
-
this.temperatureService.addCharacteristic(this.hap.Characteristic.SunsetTime);
|
|
59
|
+
if (this.hap.Characteristic?.SunsetTime !== undefined) {
|
|
60
|
+
this.addHKCharacteristic(this.temperatureService, this.hap.Characteristic.SunsetTime);
|
|
92
61
|
}
|
|
93
62
|
|
|
94
63
|
// Setup linkage to EveHome app if configured todo so
|
|
@@ -102,14 +71,11 @@ export default class NestWeather extends HomeKitDevice {
|
|
|
102
71
|
});
|
|
103
72
|
}
|
|
104
73
|
|
|
105
|
-
//
|
|
106
|
-
|
|
107
|
-
this.deviceData?.elevation !== undefined && postSetupDetails.push('Elevation of ' + this.deviceData.elevation + 'm');
|
|
108
|
-
|
|
109
|
-
return postSetupDetails;
|
|
74
|
+
// Extra setup details for output
|
|
75
|
+
this.deviceData?.elevation !== undefined && this.postSetupDetail('Elevation of ' + this.deviceData.elevation + 'm');
|
|
110
76
|
}
|
|
111
77
|
|
|
112
|
-
|
|
78
|
+
updateDevice(deviceData) {
|
|
113
79
|
if (
|
|
114
80
|
typeof deviceData !== 'object' ||
|
|
115
81
|
this.temperatureService === undefined ||
|
|
@@ -56,6 +56,36 @@ message PairingTokenResponse {
|
|
|
56
56
|
string pairingToken = 1;
|
|
57
57
|
}
|
|
58
58
|
|
|
59
|
+
message PairingRequestV2 {
|
|
60
|
+
uint64 weaveNodeId = 1;
|
|
61
|
+
string pairerId = 2;
|
|
62
|
+
PairerType pairerType = 3;
|
|
63
|
+
string userId = 4;
|
|
64
|
+
int32 weaveVendorId = 5;
|
|
65
|
+
int32 weaveProductId = 6;
|
|
66
|
+
string hardwareRevision = 7;
|
|
67
|
+
string softwareRevision = 8;
|
|
68
|
+
string pairingToken = 9;
|
|
69
|
+
uint64 fabricId = 10;
|
|
70
|
+
google.protobuf.Timestamp pairedAt = 11;
|
|
71
|
+
InitiatedBy initiatedBy = 12;
|
|
72
|
+
string serialNumber = 13;
|
|
73
|
+
string macAddress = 14;
|
|
74
|
+
string ipAddress = 15;
|
|
75
|
+
bool reconnectTunnel = 16;
|
|
76
|
+
|
|
77
|
+
enum PairerType {
|
|
78
|
+
PAIRER_TYPE_UNSPECIFIED = 0;
|
|
79
|
+
PAIRER_TYPE_STRUCTURE = 1;
|
|
80
|
+
PAIRER_TYPE_USER = 2;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
message PairingResponse {
|
|
85
|
+
string resourceId = 1;
|
|
86
|
+
string resourceInstanceId = 2;
|
|
87
|
+
}
|
|
88
|
+
|
|
59
89
|
message PairNFCTokenDeviceRequest {
|
|
60
90
|
uint64 weaveNodeId = 1;
|
|
61
91
|
string userId = 2;
|
|
@@ -104,4 +134,4 @@ service ResourceRelationshipService {
|
|
|
104
134
|
|
|
105
135
|
service ProvisioningHelperService {
|
|
106
136
|
rpc Unpair(UnpairingRequest) returns (UnpairingResponse);
|
|
107
|
-
}
|
|
137
|
+
}
|
|
@@ -7,6 +7,188 @@ import "../../weave/common.proto";
|
|
|
7
7
|
|
|
8
8
|
package nest.trait.firmware;
|
|
9
9
|
|
|
10
|
+
message SoftwareUpdateTrait {
|
|
11
|
+
google.protobuf.Timestamp lastUpdateTime = 1;
|
|
12
|
+
State state = 2;
|
|
13
|
+
UpdateType updateType = 3;
|
|
14
|
+
uint32 progressPercent = 4;
|
|
15
|
+
google.protobuf.Duration estimatedCompletionDuration = 5;
|
|
16
|
+
google.protobuf.Timestamp estimatedCompletionTime = 6;
|
|
17
|
+
|
|
18
|
+
enum State {
|
|
19
|
+
STATE_UNSPECIFIED = 0;
|
|
20
|
+
STATE_IDLE = 1;
|
|
21
|
+
STATE_QUERYING = 2;
|
|
22
|
+
STATE_DOWNLOADING = 3;
|
|
23
|
+
STATE_INSTALLING = 4;
|
|
24
|
+
STATE_ROLLING_BACK = 5;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
enum StartTrigger {
|
|
28
|
+
START_TRIGGER_UNSPECIFIED = 0;
|
|
29
|
+
START_TRIGGER_USER_INITIATED = 1;
|
|
30
|
+
START_TRIGGER_SCHEDULED = 2;
|
|
31
|
+
START_TRIGGER_USB = 3;
|
|
32
|
+
START_TRIGGER_FROM_DFU = 4;
|
|
33
|
+
START_TRIGGER_BLE = 5;
|
|
34
|
+
START_TRIGGER_REMOTE_AGENT = 6;
|
|
35
|
+
START_TRIGGER_OTHER = 7;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
enum UpdateType {
|
|
39
|
+
UPDATE_TYPE_UNSPECIFIED = 0;
|
|
40
|
+
UPDATE_TYPE_BLOCKING = 1;
|
|
41
|
+
UPDATE_TYPE_NON_BLOCKING = 2;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
enum UpdateScheme {
|
|
45
|
+
UPDATE_SCHEME_UNSPECIFIED = 0;
|
|
46
|
+
UPDATE_SCHEME_HTTPS = 1;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
enum UpdatePriority {
|
|
50
|
+
UPDATE_PRIORITY_UNSPECIFIED = 0;
|
|
51
|
+
UPDATE_PRIORITY_NORMAL = 1;
|
|
52
|
+
UPDATE_PRIORITY_CRITICAL = 2;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
enum ResponseType {
|
|
56
|
+
RESPONSE_TYPE_UNSPECIFIED = 0;
|
|
57
|
+
RESPONSE_TYPE_AVAILABLE = 1;
|
|
58
|
+
RESPONSE_TYPE_NO_UPDATE = 2;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
enum ProductNamespace {
|
|
62
|
+
PRODUCT_NAMESPACE_UNSPECIFIED = 0;
|
|
63
|
+
PRODUCT_NAMESPACE_WEAVE = 1;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
message ProductInfo {
|
|
67
|
+
ProductNamespace productNamespace = 1;
|
|
68
|
+
uint32 vendorId = 2;
|
|
69
|
+
uint32 productId = 3;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
message SoftwareVersion {
|
|
73
|
+
int64 softwareVersion = 1;
|
|
74
|
+
string displaySoftwareVersion = 2;
|
|
75
|
+
string softwareVersionLabel = 3;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
message UpdateInfo {
|
|
79
|
+
string downloadUrl = 1;
|
|
80
|
+
SoftwareVersion updateSoftwareVersion = 2;
|
|
81
|
+
UpdateScheme updateScheme = 3;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
message DeviceId {
|
|
85
|
+
string deviceSerialNumber = 1;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
message DeviceInfo {
|
|
89
|
+
DeviceId deviceId = 1;
|
|
90
|
+
ProductInfo productInfo = 2;
|
|
91
|
+
SoftwareVersion currentSoftwareVersion = 3;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
message SoftwareUpdateCheckRequest {
|
|
95
|
+
DeviceInfo deviceInfo = 1;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
message SoftwareUpdateCheckResponse {
|
|
99
|
+
ResponseType responseType = 1;
|
|
100
|
+
UpdatePriority updatePriority = 2;
|
|
101
|
+
UpdateInfo updateInfo = 3;
|
|
102
|
+
string channelName = 4;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
message SoftwareUpdateStartEvent {
|
|
106
|
+
StartTrigger trigger = 1;
|
|
107
|
+
DeviceInfo deviceInfo = 2;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
message FailureEvent {
|
|
111
|
+
State state = 1;
|
|
112
|
+
uint32 platformReturnCode = 2;
|
|
113
|
+
weave.common.ProfileSpecificStatusCode primaryStatusCode = 3;
|
|
114
|
+
weave.common.ProfileSpecificStatusCode remoteStatusCode = 4;
|
|
115
|
+
string failtureDetail = 5;
|
|
116
|
+
DeviceInfo deviceInfo = 6;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
message DownloadFailureEvent {
|
|
120
|
+
State state = 1;
|
|
121
|
+
uint32 platformReturnCode = 2;
|
|
122
|
+
weave.common.ProfileSpecificStatusCode primaryStatusCode = 3;
|
|
123
|
+
weave.common.ProfileSpecificStatusCode remoteStatusCode = 4;
|
|
124
|
+
string failtureDetail = 5;
|
|
125
|
+
DeviceInfo deviceInfo = 6;
|
|
126
|
+
string bytesDownloaded = 32;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
message QueryBeginEvent {
|
|
130
|
+
google.protobuf.StringValue currentSwVersion = 2;
|
|
131
|
+
google.protobuf.UInt32Value vendorId = 3;
|
|
132
|
+
google.protobuf.UInt32Value vendorProductId = 4;
|
|
133
|
+
google.protobuf.UInt32Value productRevision = 5;
|
|
134
|
+
google.protobuf.StringValue locale = 6;
|
|
135
|
+
google.protobuf.StringValue queryServerAddr = 7;
|
|
136
|
+
weave.common.ResourceId queryServerId = 8;
|
|
137
|
+
DeviceInfo deviceInfo = 9;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
message QueryFinishEvent {
|
|
141
|
+
google.protobuf.StringValue imageVersion = 1;
|
|
142
|
+
google.protobuf.StringValue imageUrl = 2;
|
|
143
|
+
DeviceInfo deviceInfo = 3;
|
|
144
|
+
SoftwareVersion imageSoftwareVersion = 4;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
message DownloadStartEvent {
|
|
148
|
+
google.protobuf.StringValue imageVersion = 1;
|
|
149
|
+
google.protobuf.StringValue imageUrl = 2;
|
|
150
|
+
google.protobuf.StringValue subImageName = 3;
|
|
151
|
+
google.protobuf.UInt64Value offset = 4;
|
|
152
|
+
google.protobuf.StringValue destination = 5;
|
|
153
|
+
DeviceInfo deviceInfo = 6;
|
|
154
|
+
SoftwareVersion imageSoftwareVersion = 7;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
message DownloadFinishEvent {
|
|
158
|
+
google.protobuf.StringValue imageVersion = 1;
|
|
159
|
+
google.protobuf.StringValue imageUrl = 2;
|
|
160
|
+
google.protobuf.StringValue subImageName = 3;
|
|
161
|
+
google.protobuf.StringValue destination = 4;
|
|
162
|
+
DeviceInfo deviceInfo = 5;
|
|
163
|
+
SoftwareVersion imageSoftwareVersion = 6;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
message InstallStartEvent {
|
|
167
|
+
google.protobuf.StringValue imageVersion = 2;
|
|
168
|
+
google.protobuf.StringValue subImageName = 3;
|
|
169
|
+
google.protobuf.StringValue localSource = 4;
|
|
170
|
+
google.protobuf.StringValue destination = 5;
|
|
171
|
+
DeviceInfo deviceInfo = 6;
|
|
172
|
+
SoftwareVersion imageSoftwareVersion = 7;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
message InstallFinishEvent {
|
|
176
|
+
google.protobuf.StringValue imageVersion = 2;
|
|
177
|
+
google.protobuf.StringValue subImageName = 3;
|
|
178
|
+
DeviceInfo deviceInfo = 4;
|
|
179
|
+
SoftwareVersion imageSoftwareVersion = 5;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
message ImageRollbackEvent {
|
|
183
|
+
google.protobuf.StringValue imageVersion = 2;
|
|
184
|
+
google.protobuf.StringValue subImageName = 3;
|
|
185
|
+
google.protobuf.StringValue rollbackFrom = 4;
|
|
186
|
+
google.protobuf.StringValue rollbackTo = 5;
|
|
187
|
+
DeviceInfo deviceInfo = 6;
|
|
188
|
+
SoftwareVersion imageSoftwareVersion = 7;
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
|
|
10
192
|
message FirmwareTrait {
|
|
11
193
|
enum AssertType {
|
|
12
194
|
ASSERT_TYPE_UNSPECIFIED = 0;
|
|
@@ -30,6 +212,13 @@ message FirmwareTrait {
|
|
|
30
212
|
RESET_TYPE_LOW_BATTERY = 10;
|
|
31
213
|
RESET_TYPE_DEBUG_BOARD = 11;
|
|
32
214
|
RESET_TYPE_PMIC_RESET = 12;
|
|
215
|
+
RESET_TYPE_SENSOR = 13;
|
|
216
|
+
RESET_TYPE_NETWORK = 14;
|
|
217
|
+
RESET_TYPE_INTERACTION = 15;
|
|
218
|
+
RESET_TYPE_MCU_RESET = 16;
|
|
219
|
+
RESET_TYPE_VBUS = 17;
|
|
220
|
+
RESET_TYPE_TAMPER = 18;
|
|
221
|
+
RESET_TYPE_THERMAL_SHUTDOWN = 19;
|
|
33
222
|
}
|
|
34
223
|
|
|
35
224
|
message AssertTaskInfoStruct {
|
|
@@ -84,6 +273,11 @@ message FirmwareTrait {
|
|
|
84
273
|
google.protobuf.Duration itemUsage = 2;
|
|
85
274
|
}
|
|
86
275
|
|
|
276
|
+
message ItemCountStruct {
|
|
277
|
+
string itemName = 1;
|
|
278
|
+
uint32 count = 2;
|
|
279
|
+
}
|
|
280
|
+
|
|
87
281
|
message RebootRequest {
|
|
88
282
|
}
|
|
89
283
|
|
|
@@ -101,6 +295,7 @@ message FirmwareTrait {
|
|
|
101
295
|
repeated IRQStruct irqInfo = 11;
|
|
102
296
|
google.protobuf.UInt32Value availableRam = 12;
|
|
103
297
|
repeated ItemTotalUsageStruct trackedItems = 13;
|
|
298
|
+
repeated ItemCountStruct countedItems = 14;
|
|
104
299
|
}
|
|
105
300
|
|
|
106
301
|
message FirmwareBootEvent {
|
|
@@ -126,96 +321,19 @@ message FirmwareTrait {
|
|
|
126
321
|
int32 rngRequests = 4;
|
|
127
322
|
int32 bootCount = 5;
|
|
128
323
|
}
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
message SoftwareUpdateTrait {
|
|
132
|
-
google.protobuf.Timestamp lastUpdateTime = 1;
|
|
133
|
-
|
|
134
|
-
enum State {
|
|
135
|
-
STATE_UNSPECIFIED = 0;
|
|
136
|
-
STATE_IDLE = 1;
|
|
137
|
-
STATE_QUERYING = 2;
|
|
138
|
-
STATE_DOWNLOADING = 3;
|
|
139
|
-
STATE_INSTALLING = 4;
|
|
140
|
-
STATE_ROLLING_BACK = 5;
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
enum StartTrigger {
|
|
144
|
-
START_TRIGGER_UNSPECIFIED = 0;
|
|
145
|
-
START_TRIGGER_USER_INITIATED = 1;
|
|
146
|
-
START_TRIGGER_SCHEDULED = 2;
|
|
147
|
-
START_TRIGGER_USB = 3;
|
|
148
|
-
START_TRIGGER_FROM_DFU = 4;
|
|
149
|
-
START_TRIGGER_BLE = 5;
|
|
150
|
-
START_TRIGGER_REMOTE_AGENT = 6;
|
|
151
|
-
START_TRIGGER_OTHER = 7;
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
message SoftwareUpdateStartEvent {
|
|
155
|
-
StartTrigger trigger = 1;
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
message FailureEvent {
|
|
159
|
-
State state = 1;
|
|
160
|
-
uint32 platformReturnCode = 2;
|
|
161
|
-
weave.common.ProfileSpecificStatusCode primaryStatusCode = 3;
|
|
162
|
-
weave.common.ProfileSpecificStatusCode remoteStatusCode = 4;
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
message DownloadFailureEvent {
|
|
166
|
-
State state = 1;
|
|
167
|
-
uint32 platformReturnCode = 2;
|
|
168
|
-
weave.common.ProfileSpecificStatusCode primaryStatusCode = 3;
|
|
169
|
-
weave.common.ProfileSpecificStatusCode remoteStatusCode = 4;
|
|
170
|
-
string bytesDownloaded = 32;
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
message QueryBeginEvent {
|
|
174
|
-
google.protobuf.StringValue currentSwVersion = 2;
|
|
175
|
-
google.protobuf.UInt32Value vendorId = 3;
|
|
176
|
-
google.protobuf.UInt32Value vendorProductId = 4;
|
|
177
|
-
google.protobuf.UInt32Value productRevision = 5;
|
|
178
|
-
google.protobuf.StringValue locale = 6;
|
|
179
|
-
google.protobuf.StringValue queryServerAddr = 7;
|
|
180
|
-
weave.common.ResourceId queryServerId = 8;
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
message QueryFinishEvent {
|
|
184
|
-
google.protobuf.StringValue imageVersion = 1;
|
|
185
|
-
google.protobuf.StringValue imageUrl = 2;
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
message DownloadStartEvent {
|
|
189
|
-
google.protobuf.StringValue imageVersion = 1;
|
|
190
|
-
google.protobuf.StringValue imageUrl = 2;
|
|
191
|
-
google.protobuf.StringValue subImageName = 3;
|
|
192
|
-
google.protobuf.UInt64Value offset = 4;
|
|
193
|
-
google.protobuf.StringValue destination = 5;
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
message DownloadFinishEvent {
|
|
197
|
-
google.protobuf.StringValue imageVersion = 1;
|
|
198
|
-
google.protobuf.StringValue imageUrl = 2;
|
|
199
|
-
google.protobuf.StringValue subImageName = 3;
|
|
200
|
-
google.protobuf.StringValue destination = 4;
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
message InstallStartEvent {
|
|
204
|
-
google.protobuf.StringValue imageVersion = 2;
|
|
205
|
-
google.protobuf.StringValue subImageName = 3;
|
|
206
|
-
google.protobuf.StringValue localSource = 4;
|
|
207
|
-
google.protobuf.StringValue destination = 5;
|
|
208
|
-
}
|
|
209
324
|
|
|
210
|
-
message
|
|
211
|
-
|
|
212
|
-
|
|
325
|
+
message EnvStatsEvent {
|
|
326
|
+
uint32 envWriteCount = 1;
|
|
327
|
+
uint32 envUsedBytes = 2;
|
|
328
|
+
uint32 entryCount = 3;
|
|
329
|
+
uint32 maxSectorEraseCount = 4;
|
|
330
|
+
uint32 avgSectorEraseCount = 5;
|
|
331
|
+
uint32 sectorCount = 6;
|
|
332
|
+
uint32 sectorSize = 7;
|
|
333
|
+
uint32 recoveryOperationCount = 8;
|
|
213
334
|
}
|
|
214
335
|
|
|
215
|
-
message
|
|
216
|
-
google.protobuf.
|
|
217
|
-
google.protobuf.StringValue subImageName = 3;
|
|
218
|
-
google.protobuf.StringValue rollbackFrom = 4;
|
|
219
|
-
google.protobuf.StringValue rollbackTo = 5;
|
|
336
|
+
message FirmwareBootEndEvent {
|
|
337
|
+
google.protobuf.Duration uptime = 1;
|
|
220
338
|
}
|
|
221
|
-
}
|
|
339
|
+
}
|