@kusinta/iot-schema 0.1.0-beta.9 → 0.2.0-beta.10
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/package.json +19 -2
- package/src/kusinta/iot/access/v1/acl_pb.d.ts +230 -11
- package/src/kusinta/iot/access/v1/acl_pb.js +26 -5
- package/src/kusinta/iot/access/v1/roles_pb.d.ts +95 -2
- package/src/kusinta/iot/access/v1/roles_pb.js +37 -1
- package/src/kusinta/iot/common/v1/pairing_pb.d.ts +201 -0
- package/src/kusinta/iot/common/v1/pairing_pb.js +50 -0
- package/src/kusinta/iot/connector/v1/connector_pb.d.ts +481 -34
- package/src/kusinta/iot/connector/v1/connector_pb.js +81 -22
- package/src/kusinta/iot/connector/v1/connector_service_pb.d.ts +5 -5
- package/src/kusinta/iot/connector/v1/connector_service_pb.js +1 -1
- package/src/kusinta/iot/device/v1/cluster_state_pb.d.ts +263 -0
- package/src/kusinta/iot/device/v1/cluster_state_pb.js +54 -0
- package/src/kusinta/iot/device/v1/descriptor_pb.d.ts +53 -9
- package/src/kusinta/iot/device/v1/descriptor_pb.js +3 -1
- package/src/kusinta/iot/device/v1/device_event_pb.d.ts +162 -0
- package/src/kusinta/iot/device/v1/device_event_pb.js +45 -0
- package/src/kusinta/iot/device/v1/device_pb.d.ts +185 -28
- package/src/kusinta/iot/device/v1/device_pb.js +10 -2
- package/src/kusinta/iot/device/v1/matter_options_pb.d.ts +110 -0
- package/src/kusinta/iot/device/v1/matter_options_pb.js +118 -0
- package/src/kusinta/iot/device/v1/properties_pb.d.ts +240 -205
- package/src/kusinta/iot/device/v1/properties_pb.js +9 -1
- package/src/kusinta/iot/device/v1/property_update_pb.d.ts +197 -8
- package/src/kusinta/iot/device/v1/property_update_pb.js +20 -2
- package/src/kusinta/iot/link/v1/link_pb.d.ts +419 -0
- package/src/kusinta/iot/link/v1/link_pb.js +121 -0
- package/src/kusinta/iot/registration/v1/registration_pb.d.ts +170 -0
- package/src/kusinta/iot/registration/v1/registration_pb.js +61 -0
- package/src/kusinta/iot/registration/v1/registration_service_pb.d.ts +34 -0
- package/src/kusinta/iot/registration/v1/registration_service_pb.js +19 -0
- package/src/kusinta/iot/signaling/v1/signaling_pb.d.ts +320 -0
- package/src/kusinta/iot/signaling/v1/signaling_pb.js +83 -0
- package/src/kusinta/iot/signaling/v1/signaling_service_pb.d.ts +34 -0
- package/src/kusinta/iot/signaling/v1/signaling_service_pb.js +19 -0
- package/src/kusinta/iot/vendor/homematic/v1/homematic_pb.d.ts +202 -35
- package/src/kusinta/iot/vendor/homematic/v1/homematic_pb.js +14 -6
- package/src/kusinta/iot/vendor/v1/vendor_options_pb.d.ts +71 -0
- package/src/kusinta/iot/vendor/v1/vendor_options_pb.js +75 -0
- package/src/kusinta/iot/webrtc/v1/app_token_pb.d.ts +152 -0
- package/src/kusinta/iot/webrtc/v1/app_token_pb.js +28 -0
- package/src/kusinta/iot/webrtc/v1/command_pb.d.ts +277 -39
- package/src/kusinta/iot/webrtc/v1/command_pb.js +29 -2
- package/src/kusinta/iot/webrtc/v1/device_state_pb.d.ts +76 -7
- package/src/kusinta/iot/webrtc/v1/device_state_pb.js +20 -5
- package/src/kusinta/iot/webrtc/v1/envelope_pb.d.ts +603 -25
- package/src/kusinta/iot/webrtc/v1/envelope_pb.js +99 -5
- package/src/kusinta/iot/webrtc/v1/management_pb.d.ts +627 -0
- package/src/kusinta/iot/webrtc/v1/management_pb.js +135 -0
- package/src/kusinta/iot/webrtc/v1/permission_push_pb.d.ts +7 -1
- package/src/kusinta/iot/webrtc/v1/permission_push_pb.js +2 -2
- package/src/kusinta/iot/webrtc/v1/setpoint_mode_pb.d.ts +63 -0
- package/src/kusinta/iot/webrtc/v1/setpoint_mode_pb.js +45 -0
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
// @generated by protoc-gen-es v2.12.0 with parameter "target=js+dts,import_extension=js"
|
|
2
|
+
// @generated from file kusinta/iot/signaling/v1/signaling_service.proto (package kusinta.iot.signaling.v1, syntax proto3)
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
|
|
5
|
+
import type { GenFile, GenService } from "@bufbuild/protobuf/codegenv2";
|
|
6
|
+
import type { GatewayConnectRequestSchema, GatewayConnectResponseSchema, UserConnectRequestSchema, UserConnectResponseSchema } from "./signaling_pb.js";
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Describes the file kusinta/iot/signaling/v1/signaling_service.proto.
|
|
10
|
+
*/
|
|
11
|
+
export declare const file_kusinta_iot_signaling_v1_signaling_service: GenFile;
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* @generated from service kusinta.iot.signaling.v1.GatewaySignalingService
|
|
15
|
+
*/
|
|
16
|
+
export declare const GatewaySignalingService: GenService<{
|
|
17
|
+
/**
|
|
18
|
+
* @generated from rpc kusinta.iot.signaling.v1.GatewaySignalingService.GatewayConnect
|
|
19
|
+
*/
|
|
20
|
+
gatewayConnect: {
|
|
21
|
+
methodKind: "bidi_streaming";
|
|
22
|
+
input: typeof GatewayConnectRequestSchema;
|
|
23
|
+
output: typeof GatewayConnectResponseSchema;
|
|
24
|
+
},
|
|
25
|
+
/**
|
|
26
|
+
* @generated from rpc kusinta.iot.signaling.v1.GatewaySignalingService.UserConnect
|
|
27
|
+
*/
|
|
28
|
+
userConnect: {
|
|
29
|
+
methodKind: "bidi_streaming";
|
|
30
|
+
input: typeof UserConnectRequestSchema;
|
|
31
|
+
output: typeof UserConnectResponseSchema;
|
|
32
|
+
},
|
|
33
|
+
}>;
|
|
34
|
+
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
// @generated by protoc-gen-es v2.12.0 with parameter "target=js+dts,import_extension=js"
|
|
2
|
+
// @generated from file kusinta/iot/signaling/v1/signaling_service.proto (package kusinta.iot.signaling.v1, syntax proto3)
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
|
|
5
|
+
import { fileDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2";
|
|
6
|
+
import { file_kusinta_iot_signaling_v1_signaling } from "./signaling_pb.js";
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Describes the file kusinta/iot/signaling/v1/signaling_service.proto.
|
|
10
|
+
*/
|
|
11
|
+
export const file_kusinta_iot_signaling_v1_signaling_service = /*@__PURE__*/
|
|
12
|
+
fileDesc("CjBrdXNpbnRhL2lvdC9zaWduYWxpbmcvdjEvc2lnbmFsaW5nX3NlcnZpY2UucHJvdG8SGGt1c2ludGEuaW90LnNpZ25hbGluZy52MTKCAgoXR2F0ZXdheVNpZ25hbGluZ1NlcnZpY2USdwoOR2F0ZXdheUNvbm5lY3QSLy5rdXNpbnRhLmlvdC5zaWduYWxpbmcudjEuR2F0ZXdheUNvbm5lY3RSZXF1ZXN0GjAua3VzaW50YS5pb3Quc2lnbmFsaW5nLnYxLkdhdGV3YXlDb25uZWN0UmVzcG9uc2UoATABEm4KC1VzZXJDb25uZWN0Eiwua3VzaW50YS5pb3Quc2lnbmFsaW5nLnYxLlVzZXJDb25uZWN0UmVxdWVzdBotLmt1c2ludGEuaW90LnNpZ25hbGluZy52MS5Vc2VyQ29ubmVjdFJlc3BvbnNlKAEwAUICSAFiBnByb3RvMw", [file_kusinta_iot_signaling_v1_signaling]);
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* @generated from service kusinta.iot.signaling.v1.GatewaySignalingService
|
|
16
|
+
*/
|
|
17
|
+
export const GatewaySignalingService = /*@__PURE__*/
|
|
18
|
+
serviceDesc(file_kusinta_iot_signaling_v1_signaling_service, 0);
|
|
19
|
+
|
|
@@ -11,40 +11,140 @@ import type { Message } from "@bufbuild/protobuf";
|
|
|
11
11
|
export declare const file_kusinta_iot_vendor_homematic_v1_homematic: GenFile;
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
|
-
* HomeMatic
|
|
15
|
-
*
|
|
14
|
+
* Who a HomeMatic device is, in its own terms. Identity, not readings — it describes the
|
|
15
|
+
* physical device, so it hangs off device.v1.DeviceDescriptor rather than off any one
|
|
16
|
+
* endpoint.
|
|
17
|
+
*
|
|
18
|
+
* @generated from message kusinta.iot.vendor.homematic.v1.HomematicDeviceIdentity
|
|
19
|
+
*/
|
|
20
|
+
export declare type HomematicDeviceIdentity = Message<"kusinta.iot.vendor.homematic.v1.HomematicDeviceIdentity"> & {
|
|
21
|
+
/**
|
|
22
|
+
* upstream device address, e.g. "MEQ1234567"
|
|
23
|
+
*
|
|
24
|
+
* @generated from field: string address = 1;
|
|
25
|
+
*/
|
|
26
|
+
address: string;
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* aiohomematic device type string, e.g. "HmIP-eTRV-C"
|
|
30
|
+
*
|
|
31
|
+
* @generated from field: string type = 2;
|
|
32
|
+
*/
|
|
33
|
+
type: string;
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Describes the message kusinta.iot.vendor.homematic.v1.HomematicDeviceIdentity.
|
|
38
|
+
* Use `create(HomematicDeviceIdentitySchema)` to create a new message.
|
|
39
|
+
*/
|
|
40
|
+
export declare const HomematicDeviceIdentitySchema: GenMessage<HomematicDeviceIdentity>;
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* HomeMatic thermostat parameters with no Matter equivalent, carried on the same endpoint
|
|
44
|
+
* as that thermostat's Matter properties rather than instead of them.
|
|
45
|
+
*
|
|
46
|
+
* "No Matter equivalent" is the entry test, and it is the one to apply before adding a
|
|
47
|
+
* field here. Valve position failed it: LEVEL is Thermostat/PIHeatingDemand, and it lived
|
|
48
|
+
* here for a while under the claim that Matter had nothing for it. It is now
|
|
49
|
+
* device.v1.ThermostatProperties.pi_heating_demand, and field 6 is burned.
|
|
50
|
+
*
|
|
51
|
+
* Battery state is deliberately NOT here. LOW_BAT and OPERATING_VOLTAGE are Matter's
|
|
52
|
+
* PowerSource cluster, which every battery device from every technology needs, so they
|
|
53
|
+
* belong on a Power Source endpoint. See device/v1/properties.proto.
|
|
54
|
+
*
|
|
55
|
+
* Every field is `optional`, for the same reason as device/v1/properties.proto: these are
|
|
56
|
+
* assembled from a PropertyUpdate stream, and zero is a real reading here too — boost_mode
|
|
57
|
+
* false means not boosting, control_mode 0 is an HmIP ControlMode value. Absent means never
|
|
58
|
+
* reported; present means a reading, including zero.
|
|
59
|
+
*
|
|
60
|
+
* Enum parameters cross the wire as the CCU's own index, not as a type this schema defines,
|
|
61
|
+
* so each one lists its values in its comment. The order is the CCU's; do not renumber it.
|
|
62
|
+
*
|
|
63
|
+
* Add new fields at the next available number — never reuse a removed one.
|
|
16
64
|
*
|
|
17
65
|
* @generated from message kusinta.iot.vendor.homematic.v1.HmThermostatProps
|
|
18
66
|
*/
|
|
19
67
|
export declare type HmThermostatProps = Message<"kusinta.iot.vendor.homematic.v1.HmThermostatProps"> & {
|
|
20
68
|
/**
|
|
21
|
-
* @generated from field: bool boost_mode = 1;
|
|
69
|
+
* @generated from field: optional bool boost_mode = 1;
|
|
70
|
+
*/
|
|
71
|
+
boostMode?: boolean | undefined;
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Seconds remaining, 0-2048 — the CCU counts boost in whole seconds, not minutes.
|
|
75
|
+
* Default boost is 5 min (300), maximum 30 min (1800).
|
|
76
|
+
*
|
|
77
|
+
* @generated from field: optional uint32 boost_time_remaining = 2;
|
|
78
|
+
*/
|
|
79
|
+
boostTimeRemaining?: number | undefined;
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* Write-only on the CCU: it accepts a ControlMode and never reports one back. Carried
|
|
83
|
+
* here for a future write path, not as a reading — a connector that emits it as a
|
|
84
|
+
* PropertyUpdate is sending a value the device never gave. 0-3.
|
|
85
|
+
*
|
|
86
|
+
* @generated from field: optional uint32 control_mode = 3;
|
|
87
|
+
*/
|
|
88
|
+
controlMode?: number | undefined;
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* @generated from field: optional bool frost_protection = 4;
|
|
92
|
+
*/
|
|
93
|
+
frostProtection?: boolean | undefined;
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Party mode active. A boolean, whatever the old field name suggested.
|
|
97
|
+
*
|
|
98
|
+
* @generated from field: optional bool party_mode = 5;
|
|
99
|
+
*/
|
|
100
|
+
partyMode?: boolean | undefined;
|
|
101
|
+
|
|
102
|
+
/**
|
|
103
|
+
* CLOSED = 0, OPEN = 1
|
|
104
|
+
*
|
|
105
|
+
* @generated from field: optional uint32 window_state = 7;
|
|
22
106
|
*/
|
|
23
|
-
|
|
107
|
+
windowState?: number | undefined;
|
|
24
108
|
|
|
25
109
|
/**
|
|
26
|
-
*
|
|
110
|
+
* Valve fault and adaption state, nine CCU-defined values. Radiator valves only — a wall
|
|
111
|
+
* thermostat drives no valve and never reports it.
|
|
27
112
|
*
|
|
28
|
-
* @generated from field:
|
|
113
|
+
* @generated from field: optional uint32 valve_state = 8;
|
|
29
114
|
*/
|
|
30
|
-
|
|
115
|
+
valveState?: number | undefined;
|
|
31
116
|
|
|
32
117
|
/**
|
|
33
|
-
*
|
|
118
|
+
* Which schedule the thermostat is following: AUTO = 0, MANU = 1, AWAY = 2, plus a
|
|
119
|
+
* fourth CCU value. NOT webrtc.v1.SetpointAdjustMode, which names which setpoint a
|
|
120
|
+
* command targets — a different enum over a different set of concepts.
|
|
34
121
|
*
|
|
35
|
-
* @generated from field: uint32
|
|
122
|
+
* @generated from field: optional uint32 set_point_mode = 9;
|
|
36
123
|
*/
|
|
37
|
-
|
|
124
|
+
setPointMode?: number | undefined;
|
|
38
125
|
|
|
39
126
|
/**
|
|
40
|
-
*
|
|
127
|
+
* The active weekly profile: 1-3 on a radiator valve, 1-6 on a wall thermostat. The
|
|
128
|
+
* upper bound is the device's, not the protocol's.
|
|
129
|
+
*
|
|
130
|
+
* @generated from field: optional uint32 active_profile = 10;
|
|
41
131
|
*/
|
|
42
|
-
|
|
132
|
+
activeProfile?: number | undefined;
|
|
43
133
|
|
|
44
134
|
/**
|
|
45
|
-
*
|
|
135
|
+
* Whether the measured temperature is usable: NORMAL = 0, UNKNOWN = 1, OVERFLOW = 2,
|
|
136
|
+
* UNDERFLOW = 3. A reading beside ACTUAL_TEMPERATURE, not a substitute for it.
|
|
137
|
+
*
|
|
138
|
+
* @generated from field: optional uint32 actual_temperature_status = 11;
|
|
139
|
+
*/
|
|
140
|
+
actualTemperatureStatus?: number | undefined;
|
|
141
|
+
|
|
142
|
+
/**
|
|
143
|
+
* Valve adaption run: writing true starts the valve's stroke calibration.
|
|
144
|
+
*
|
|
145
|
+
* @generated from field: optional bool valve_adaption = 12;
|
|
46
146
|
*/
|
|
47
|
-
|
|
147
|
+
valveAdaption?: boolean | undefined;
|
|
48
148
|
};
|
|
49
149
|
|
|
50
150
|
/**
|
|
@@ -54,41 +154,108 @@ export declare type HmThermostatProps = Message<"kusinta.iot.vendor.homematic.v1
|
|
|
54
154
|
export declare const HmThermostatPropsSchema: GenMessage<HmThermostatProps>;
|
|
55
155
|
|
|
56
156
|
/**
|
|
57
|
-
*
|
|
58
|
-
*
|
|
157
|
+
* The maintenance channel every HomeMatic device carries — device health and radio state,
|
|
158
|
+
* not what the device measures or controls.
|
|
59
159
|
*
|
|
60
|
-
*
|
|
160
|
+
* It is device-agnostic: a radiator valve, a wall thermostat and a switch actuator all
|
|
161
|
+
* report the same core set on the same channel, which is why this is one message rather
|
|
162
|
+
* than a per-device-type one. Which of these a given device actually has is model-
|
|
163
|
+
* dependent, and stated per device in device.v1.Endpoint.vendor_attribute_names — SABOTAGE
|
|
164
|
+
* especially, where "no tamper detected" and "cannot detect tamper" must not render alike.
|
|
165
|
+
*
|
|
166
|
+
* Not a Matter endpoint of its own: the maintenance channel is channel 0 upstream, and
|
|
167
|
+
* Matter reserves endpoint 0 for the root node. A connector puts these readings on the
|
|
168
|
+
* endpoint whose Matter properties they belong beside — the Power Source endpoint, whose
|
|
169
|
+
* battery attributes are derived from this same channel's LOW_BAT and OPERATING_VOLTAGE.
|
|
170
|
+
*
|
|
171
|
+
* LOW_BAT, OPERATING_VOLTAGE and OPERATING_VOLTAGE_LEVEL are deliberately absent: they are
|
|
172
|
+
* Matter's PowerSource cluster, and PowerSourceProperties carries them. Only the derived
|
|
173
|
+
* Matter value has a home there, so the raw OPERATING_VOLTAGE_STATUS enum is kept here.
|
|
174
|
+
*
|
|
175
|
+
* Every field is `optional`, for the reason HmThermostatProps gives: ERROR_CODE 0 is "no
|
|
176
|
+
* error", a reading, and SABOTAGE false is a safety claim.
|
|
177
|
+
*
|
|
178
|
+
* @generated from message kusinta.iot.vendor.homematic.v1.HmMaintenanceProps
|
|
61
179
|
*/
|
|
62
|
-
export declare type
|
|
180
|
+
export declare type HmMaintenanceProps = Message<"kusinta.iot.vendor.homematic.v1.HmMaintenanceProps"> & {
|
|
181
|
+
/**
|
|
182
|
+
* Device-defined fault code, 0-255, where 0 is no error. Present only on models that
|
|
183
|
+
* have one.
|
|
184
|
+
*
|
|
185
|
+
* @generated from field: optional uint32 error_code = 1;
|
|
186
|
+
*/
|
|
187
|
+
errorCode?: number | undefined;
|
|
188
|
+
|
|
189
|
+
/**
|
|
190
|
+
* Tamper detection: true means the device reports having been removed or opened. Present
|
|
191
|
+
* only on models with the hardware for it.
|
|
192
|
+
*
|
|
193
|
+
* @generated from field: optional bool sabotage = 2;
|
|
194
|
+
*/
|
|
195
|
+
sabotage?: boolean | undefined;
|
|
196
|
+
|
|
197
|
+
/**
|
|
198
|
+
* Received signal strength in dBm, -128 to 127, as this device measures it.
|
|
199
|
+
*
|
|
200
|
+
* sint32, not uint32: these are negative in normal operation, and an unsigned field would
|
|
201
|
+
* carry -72 dBm as 4294967224.
|
|
202
|
+
*
|
|
203
|
+
* @generated from field: optional sint32 rssi_device = 3;
|
|
204
|
+
*/
|
|
205
|
+
rssiDevice?: number | undefined;
|
|
206
|
+
|
|
207
|
+
/**
|
|
208
|
+
* The same measurement made at the other end of the link, as reported back.
|
|
209
|
+
*
|
|
210
|
+
* @generated from field: optional sint32 rssi_peer = 4;
|
|
211
|
+
*/
|
|
212
|
+
rssiPeer?: number | undefined;
|
|
213
|
+
|
|
63
214
|
/**
|
|
64
|
-
*
|
|
215
|
+
* Supply state as the CCU reports it: NORMAL = 0, UNKNOWN = 1, OVERFLOW = 2,
|
|
216
|
+
* EXTERNAL = 3. The raw enum; PowerSourceProperties.status carries the Matter
|
|
217
|
+
* PowerSourceStatusEnum value derived from it, and the two are not interchangeable.
|
|
65
218
|
*
|
|
66
|
-
* @generated from field:
|
|
219
|
+
* @generated from field: optional uint32 operating_voltage_status = 5;
|
|
67
220
|
*/
|
|
68
|
-
|
|
221
|
+
operatingVoltageStatus?: number | undefined;
|
|
69
222
|
|
|
70
223
|
/**
|
|
71
|
-
*
|
|
224
|
+
* True when the gateway has lost contact with the device. Reachability as the upstream
|
|
225
|
+
* system sees it, which is not the same claim as device.v1.Device.last_seen — that is
|
|
226
|
+
* when the gateway last had evidence of the device, observed one hop further out.
|
|
72
227
|
*
|
|
73
|
-
* @generated from field:
|
|
228
|
+
* @generated from field: optional bool unreach = 6;
|
|
74
229
|
*/
|
|
75
|
-
|
|
230
|
+
unreach?: boolean | undefined;
|
|
76
231
|
|
|
77
232
|
/**
|
|
78
|
-
*
|
|
233
|
+
* True while a configuration change is queued for a device that has not yet woken to
|
|
234
|
+
* take it. A battery device can sit here for its whole report interval.
|
|
235
|
+
*
|
|
236
|
+
* @generated from field: optional bool config_pending = 7;
|
|
237
|
+
*/
|
|
238
|
+
configPending?: boolean | undefined;
|
|
239
|
+
|
|
240
|
+
/**
|
|
241
|
+
* True while the device has spent its share of the radio band's transmit budget and
|
|
242
|
+
* must wait before sending again. The 868 MHz band permits roughly one percent duty
|
|
243
|
+
* cycle, and it regenerates at about that rate per half minute.
|
|
244
|
+
*
|
|
245
|
+
* Worth carrying rather than leaving to the connector, because a spent budget is
|
|
246
|
+
* indistinguishable from a working device that simply has nothing to say: it stays
|
|
247
|
+
* reachable, reports no error, and silently drops what it was asked to do. Anything
|
|
248
|
+
* that writes on a schedule needs to be able to see this before it concludes a device
|
|
249
|
+
* is ignoring it.
|
|
250
|
+
*
|
|
251
|
+
* @generated from field: optional bool duty_cycle = 8;
|
|
79
252
|
*/
|
|
80
|
-
|
|
81
|
-
/**
|
|
82
|
-
* @generated from field: kusinta.iot.vendor.homematic.v1.HmThermostatProps hm_thermostat = 10;
|
|
83
|
-
*/
|
|
84
|
-
value: HmThermostatProps;
|
|
85
|
-
case: "hmThermostat";
|
|
86
|
-
} | { case: undefined; value?: undefined };
|
|
253
|
+
dutyCycle?: boolean | undefined;
|
|
87
254
|
};
|
|
88
255
|
|
|
89
256
|
/**
|
|
90
|
-
* Describes the message kusinta.iot.vendor.homematic.v1.
|
|
91
|
-
* Use `create(
|
|
257
|
+
* Describes the message kusinta.iot.vendor.homematic.v1.HmMaintenanceProps.
|
|
258
|
+
* Use `create(HmMaintenancePropsSchema)` to create a new message.
|
|
92
259
|
*/
|
|
93
|
-
export declare const
|
|
260
|
+
export declare const HmMaintenancePropsSchema: GenMessage<HmMaintenanceProps>;
|
|
94
261
|
|
|
@@ -3,24 +3,32 @@
|
|
|
3
3
|
/* eslint-disable */
|
|
4
4
|
|
|
5
5
|
import { fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2";
|
|
6
|
+
import { file_kusinta_iot_vendor_v1_vendor_options } from "../../v1/vendor_options_pb.js";
|
|
6
7
|
|
|
7
8
|
/**
|
|
8
9
|
* Describes the file kusinta/iot/vendor/homematic/v1/homematic.proto.
|
|
9
10
|
*/
|
|
10
11
|
export const file_kusinta_iot_vendor_homematic_v1_homematic = /*@__PURE__*/
|
|
11
|
-
fileDesc("
|
|
12
|
+
fileDesc("Ci9rdXNpbnRhL2lvdC92ZW5kb3IvaG9tZW1hdGljL3YxL2hvbWVtYXRpYy5wcm90bxIfa3VzaW50YS5pb3QudmVuZG9yLmhvbWVtYXRpYy52MSI4ChdIb21lbWF0aWNEZXZpY2VJZGVudGl0eRIPCgdhZGRyZXNzGAEgASgJEgwKBHR5cGUYAiABKAki/wYKEUhtVGhlcm1vc3RhdFByb3BzEisKCmJvb3N0X21vZGUYASABKAhCEqK1GApCT09TVF9NT0RF0LUYBkgAiAEBEjUKFGJvb3N0X3RpbWVfcmVtYWluaW5nGAIgASgNQhKitRgKQk9PU1RfVElNRdC1GAVIAYgBARIvCgxjb250cm9sX21vZGUYAyABKA1CFKK1GAxDT05UUk9MX01PREXQtRgCSAKIAQESNwoQZnJvc3RfcHJvdGVjdGlvbhgEIAEoCEIYorUYEEZST1NUX1BST1RFQ1RJT07QtRgFSAOIAQESKwoKcGFydHlfbW9kZRgFIAEoCEISorUYClBBUlRZX01PREXQtRgFSASIAQESLwoMd2luZG93X3N0YXRlGAcgASgNQhSitRgMV0lORE9XX1NUQVRF0LUYB0gFiAEBEi0KC3ZhbHZlX3N0YXRlGAggASgNQhOitRgLVkFMVkVfU1RBVEXQtRgFSAaIAQESMwoOc2V0X3BvaW50X21vZGUYCSABKA1CFqK1GA5TRVRfUE9JTlRfTU9ERdC1GAdIB4gBARIzCg5hY3RpdmVfcHJvZmlsZRgKIAEoDUIWorUYDkFDVElWRV9QUk9GSUxF0LUYB0gIiAEBEkkKGWFjdHVhbF90ZW1wZXJhdHVyZV9zdGF0dXMYCyABKA1CIaK1GBlBQ1RVQUxfVEVNUEVSQVRVUkVfU1RBVFVT0LUYBUgJiAEBEjMKDnZhbHZlX2FkYXB0aW9uGAwgASgIQhaitRgOVkFMVkVfQURBUFRJT07QtRgHSAqIAQE6GKq1GBRob21lbWF0aWMudGhlcm1vc3RhdEINCgtfYm9vc3RfbW9kZUIXChVfYm9vc3RfdGltZV9yZW1haW5pbmdCDwoNX2NvbnRyb2xfbW9kZUITChFfZnJvc3RfcHJvdGVjdGlvbkINCgtfcGFydHlfbW9kZUIPCg1fd2luZG93X3N0YXRlQg4KDF92YWx2ZV9zdGF0ZUIRCg9fc2V0X3BvaW50X21vZGVCEQoPX2FjdGl2ZV9wcm9maWxlQhwKGl9hY3R1YWxfdGVtcGVyYXR1cmVfc3RhdHVzQhEKD192YWx2ZV9hZGFwdGlvbkoECAYQB1IFbGV2ZWxSFmN1cnJlbnRfcHJvZmlsZV9wZXJpb2RSEWJvb3N0X3RpbWVfcGVyaW9kIrYEChJIbU1haW50ZW5hbmNlUHJvcHMSKwoKZXJyb3JfY29kZRgBIAEoDUISorUYCkVSUk9SX0NPREXQtRgFSACIAQESJwoIc2Fib3RhZ2UYAiABKAhCEKK1GAhTQUJPVEFHRdC1GAVIAYgBARItCgtyc3NpX2RldmljZRgDIAEoEUITorUYC1JTU0lfREVWSUNF0LUYBUgCiAEBEikKCXJzc2lfcGVlchgEIAEoEUIRorUYCVJTU0lfUEVFUtC1GAVIA4gBARJHChhvcGVyYXRpbmdfdm9sdGFnZV9zdGF0dXMYBSABKA1CIKK1GBhPUEVSQVRJTkdfVk9MVEFHRV9TVEFUVVPQtRgFSASIAQESJQoHdW5yZWFjaBgGIAEoCEIPorUYB1VOUkVBQ0jQtRgFSAWIAQESMwoOY29uZmlnX3BlbmRpbmcYByABKAhCFqK1GA5DT05GSUdfUEVORElOR9C1GAVIBogBARIrCgpkdXR5X2N5Y2xlGAggASgIQhKitRgKRFVUWV9DWUNMRdC1GAVIB4gBAToZqrUYFWhvbWVtYXRpYy5tYWludGVuYW5jZUINCgtfZXJyb3JfY29kZUILCglfc2Fib3RhZ2VCDgoMX3Jzc2lfZGV2aWNlQgwKCl9yc3NpX3BlZXJCGwoZX29wZXJhdGluZ192b2x0YWdlX3N0YXR1c0IKCghfdW5yZWFjaEIRCg9fY29uZmlnX3BlbmRpbmdCDQoLX2R1dHlfY3ljbGVCAkgBYgZwcm90bzM", [file_kusinta_iot_vendor_v1_vendor_options]);
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Describes the message kusinta.iot.vendor.homematic.v1.HomematicDeviceIdentity.
|
|
16
|
+
* Use `create(HomematicDeviceIdentitySchema)` to create a new message.
|
|
17
|
+
*/
|
|
18
|
+
export const HomematicDeviceIdentitySchema = /*@__PURE__*/
|
|
19
|
+
messageDesc(file_kusinta_iot_vendor_homematic_v1_homematic, 0);
|
|
12
20
|
|
|
13
21
|
/**
|
|
14
22
|
* Describes the message kusinta.iot.vendor.homematic.v1.HmThermostatProps.
|
|
15
23
|
* Use `create(HmThermostatPropsSchema)` to create a new message.
|
|
16
24
|
*/
|
|
17
25
|
export const HmThermostatPropsSchema = /*@__PURE__*/
|
|
18
|
-
messageDesc(file_kusinta_iot_vendor_homematic_v1_homematic,
|
|
26
|
+
messageDesc(file_kusinta_iot_vendor_homematic_v1_homematic, 1);
|
|
19
27
|
|
|
20
28
|
/**
|
|
21
|
-
* Describes the message kusinta.iot.vendor.homematic.v1.
|
|
22
|
-
* Use `create(
|
|
29
|
+
* Describes the message kusinta.iot.vendor.homematic.v1.HmMaintenanceProps.
|
|
30
|
+
* Use `create(HmMaintenancePropsSchema)` to create a new message.
|
|
23
31
|
*/
|
|
24
|
-
export const
|
|
25
|
-
messageDesc(file_kusinta_iot_vendor_homematic_v1_homematic,
|
|
32
|
+
export const HmMaintenancePropsSchema = /*@__PURE__*/
|
|
33
|
+
messageDesc(file_kusinta_iot_vendor_homematic_v1_homematic, 2);
|
|
26
34
|
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
// @generated by protoc-gen-es v2.12.0 with parameter "target=js+dts,import_extension=js"
|
|
2
|
+
// @generated from file kusinta/iot/vendor/v1/vendor_options.proto (package kusinta.iot.vendor.v1, syntax proto3)
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
|
|
5
|
+
import type { GenExtension, GenFile } from "@bufbuild/protobuf/codegenv2";
|
|
6
|
+
import type { FieldOptions, MessageOptions } from "@bufbuild/protobuf/wkt";
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Describes the file kusinta/iot/vendor/v1/vendor_options.proto.
|
|
10
|
+
*/
|
|
11
|
+
export declare const file_kusinta_iot_vendor_v1_vendor_options: GenFile;
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* The vendor parameter this field carries, in the vendor's own spelling — e.g.
|
|
15
|
+
* "LEVEL", not "level". Matches device.v1.PropertyUpdate.attribute_name byte for byte
|
|
16
|
+
* when that update names a vendor extension.
|
|
17
|
+
*
|
|
18
|
+
* This and the Matter annotations are mutually exclusive: a field is either a Matter
|
|
19
|
+
* attribute or a vendor parameter. Which branch a PropertyUpdate takes is decided by
|
|
20
|
+
* whether it names a vendor extension, never by inspecting both.
|
|
21
|
+
*
|
|
22
|
+
* Must be unique within the message it appears in — the vendor branch matches one
|
|
23
|
+
* field of one message, so a repeat would make resolution ambiguous.
|
|
24
|
+
*
|
|
25
|
+
* @generated from extension: string vendor_attribute = 50004;
|
|
26
|
+
*/
|
|
27
|
+
export declare const vendor_attribute: GenExtension<FieldOptions, string>;
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* What this vendor parameter supports, as the same bitmask device/v1/matter_options.proto
|
|
31
|
+
* defines: READ = 1, WRITE = 2, REPORT = 4.
|
|
32
|
+
*
|
|
33
|
+
* One mask across both branches on purpose. Bit 4 is Matter's reportable quality and, for
|
|
34
|
+
* HomeMatic, the parameter's EVENT bit — the same fact under two names, so a consumer
|
|
35
|
+
* deciding whether to draw a control or a reading asks one question either way.
|
|
36
|
+
*
|
|
37
|
+
* Where the value comes from is the difference. The Matter side reads its mask off the
|
|
38
|
+
* specification; a vendor parameter has no spec to defer to, so this is the upstream
|
|
39
|
+
* system's own answer about its own parameter — for HomeMatic, the OPERATIONS value the
|
|
40
|
+
* CCU reports in getParamsetDescription().
|
|
41
|
+
*
|
|
42
|
+
* Not permission, and not the implemented set: see matter_attribute_capabilities for both
|
|
43
|
+
* distinctions. The vendor mirror of the implemented set is
|
|
44
|
+
* device.v1.Endpoint.vendor_attribute_names.
|
|
45
|
+
*
|
|
46
|
+
* @generated from extension: uint32 vendor_attribute_capabilities = 50010;
|
|
47
|
+
*/
|
|
48
|
+
export declare const vendor_attribute_capabilities: GenExtension<FieldOptions, number>;
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* The stable key identifying a vendor extension message, e.g. "homematic.thermostat".
|
|
52
|
+
* Matches device.v1.PropertyUpdate.vendor_extension byte for byte, and is what selects
|
|
53
|
+
* the Endpoint.vendor_properties case.
|
|
54
|
+
*
|
|
55
|
+
* One key per message carried in Endpoint.vendor_properties, so the vendor branch of the
|
|
56
|
+
* resolution rule is the same shape as the Matter branch: pick a message by a message
|
|
57
|
+
* option, then one field by a field option. Nothing nests.
|
|
58
|
+
*
|
|
59
|
+
* Form: "<vendor>.<what the message models>", lower_snake_case on both sides —
|
|
60
|
+
* "homematic.thermostat", and a humidity one would be "homematic.humidity_sensor". The
|
|
61
|
+
* vendor half alone is NOT a key: a vendor has one message per device type it extends,
|
|
62
|
+
* and two sharing a key would make the branch non-deterministic. A test asserts they
|
|
63
|
+
* are distinct, but it cannot tell you which of two is wrong, so keep to the form.
|
|
64
|
+
*
|
|
65
|
+
* Not derived from the package or message name — this is the authoritative spelling,
|
|
66
|
+
* exactly as matter_attribute is on the Matter side.
|
|
67
|
+
*
|
|
68
|
+
* @generated from extension: string vendor_extension = 50005;
|
|
69
|
+
*/
|
|
70
|
+
export declare const vendor_extension: GenExtension<MessageOptions, string>;
|
|
71
|
+
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
// @generated by protoc-gen-es v2.12.0 with parameter "target=js+dts,import_extension=js"
|
|
2
|
+
// @generated from file kusinta/iot/vendor/v1/vendor_options.proto (package kusinta.iot.vendor.v1, syntax proto3)
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
|
|
5
|
+
import { extDesc, fileDesc } from "@bufbuild/protobuf/codegenv2";
|
|
6
|
+
import { file_google_protobuf_descriptor } from "@bufbuild/protobuf/wkt";
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Describes the file kusinta/iot/vendor/v1/vendor_options.proto.
|
|
10
|
+
*/
|
|
11
|
+
export const file_kusinta_iot_vendor_v1_vendor_options = /*@__PURE__*/
|
|
12
|
+
fileDesc("CiprdXNpbnRhL2lvdC92ZW5kb3IvdjEvdmVuZG9yX29wdGlvbnMucHJvdG8SFWt1c2ludGEuaW90LnZlbmRvci52MTpKChB2ZW5kb3JfYXR0cmlidXRlEh0uZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucxjUhgMgASgJUg92ZW5kb3JBdHRyaWJ1dGU6YwoddmVuZG9yX2F0dHJpYnV0ZV9jYXBhYmlsaXRpZXMSHS5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zGNqGAyABKA1SG3ZlbmRvckF0dHJpYnV0ZUNhcGFiaWxpdGllczpMChB2ZW5kb3JfZXh0ZW5zaW9uEh8uZ29vZ2xlLnByb3RvYnVmLk1lc3NhZ2VPcHRpb25zGNWGAyABKAlSD3ZlbmRvckV4dGVuc2lvbmIGcHJvdG8z", [file_google_protobuf_descriptor]);
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* The vendor parameter this field carries, in the vendor's own spelling — e.g.
|
|
16
|
+
* "LEVEL", not "level". Matches device.v1.PropertyUpdate.attribute_name byte for byte
|
|
17
|
+
* when that update names a vendor extension.
|
|
18
|
+
*
|
|
19
|
+
* This and the Matter annotations are mutually exclusive: a field is either a Matter
|
|
20
|
+
* attribute or a vendor parameter. Which branch a PropertyUpdate takes is decided by
|
|
21
|
+
* whether it names a vendor extension, never by inspecting both.
|
|
22
|
+
*
|
|
23
|
+
* Must be unique within the message it appears in — the vendor branch matches one
|
|
24
|
+
* field of one message, so a repeat would make resolution ambiguous.
|
|
25
|
+
*
|
|
26
|
+
* @generated from extension: string vendor_attribute = 50004;
|
|
27
|
+
*/
|
|
28
|
+
export const vendor_attribute = /*@__PURE__*/
|
|
29
|
+
extDesc(file_kusinta_iot_vendor_v1_vendor_options, 0);
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* What this vendor parameter supports, as the same bitmask device/v1/matter_options.proto
|
|
33
|
+
* defines: READ = 1, WRITE = 2, REPORT = 4.
|
|
34
|
+
*
|
|
35
|
+
* One mask across both branches on purpose. Bit 4 is Matter's reportable quality and, for
|
|
36
|
+
* HomeMatic, the parameter's EVENT bit — the same fact under two names, so a consumer
|
|
37
|
+
* deciding whether to draw a control or a reading asks one question either way.
|
|
38
|
+
*
|
|
39
|
+
* Where the value comes from is the difference. The Matter side reads its mask off the
|
|
40
|
+
* specification; a vendor parameter has no spec to defer to, so this is the upstream
|
|
41
|
+
* system's own answer about its own parameter — for HomeMatic, the OPERATIONS value the
|
|
42
|
+
* CCU reports in getParamsetDescription().
|
|
43
|
+
*
|
|
44
|
+
* Not permission, and not the implemented set: see matter_attribute_capabilities for both
|
|
45
|
+
* distinctions. The vendor mirror of the implemented set is
|
|
46
|
+
* device.v1.Endpoint.vendor_attribute_names.
|
|
47
|
+
*
|
|
48
|
+
* @generated from extension: uint32 vendor_attribute_capabilities = 50010;
|
|
49
|
+
*/
|
|
50
|
+
export const vendor_attribute_capabilities = /*@__PURE__*/
|
|
51
|
+
extDesc(file_kusinta_iot_vendor_v1_vendor_options, 1);
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* The stable key identifying a vendor extension message, e.g. "homematic.thermostat".
|
|
55
|
+
* Matches device.v1.PropertyUpdate.vendor_extension byte for byte, and is what selects
|
|
56
|
+
* the Endpoint.vendor_properties case.
|
|
57
|
+
*
|
|
58
|
+
* One key per message carried in Endpoint.vendor_properties, so the vendor branch of the
|
|
59
|
+
* resolution rule is the same shape as the Matter branch: pick a message by a message
|
|
60
|
+
* option, then one field by a field option. Nothing nests.
|
|
61
|
+
*
|
|
62
|
+
* Form: "<vendor>.<what the message models>", lower_snake_case on both sides —
|
|
63
|
+
* "homematic.thermostat", and a humidity one would be "homematic.humidity_sensor". The
|
|
64
|
+
* vendor half alone is NOT a key: a vendor has one message per device type it extends,
|
|
65
|
+
* and two sharing a key would make the branch non-deterministic. A test asserts they
|
|
66
|
+
* are distinct, but it cannot tell you which of two is wrong, so keep to the form.
|
|
67
|
+
*
|
|
68
|
+
* Not derived from the package or message name — this is the authoritative spelling,
|
|
69
|
+
* exactly as matter_attribute is on the Matter side.
|
|
70
|
+
*
|
|
71
|
+
* @generated from extension: string vendor_extension = 50005;
|
|
72
|
+
*/
|
|
73
|
+
export const vendor_extension = /*@__PURE__*/
|
|
74
|
+
extDesc(file_kusinta_iot_vendor_v1_vendor_options, 2);
|
|
75
|
+
|