@kusinta/iot-schema 0.2.0-beta.3 → 0.2.0-beta.31
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 +9 -1
- package/src/kusinta/iot/access/v1/acl_pb.d.ts +118 -2
- package/src/kusinta/iot/access/v1/acl_pb.js +20 -3
- package/src/kusinta/iot/access/v1/roles_pb.d.ts +119 -4
- package/src/kusinta/iot/access/v1/roles_pb.js +98 -5
- package/src/kusinta/iot/climate/v1/climate_pb.d.ts +726 -0
- package/src/kusinta/iot/climate/v1/climate_pb.js +142 -0
- package/src/kusinta/iot/common/v1/pairing_pb.d.ts +217 -0
- package/src/kusinta/iot/common/v1/pairing_pb.js +50 -0
- package/src/kusinta/iot/common/v1/types_pb.d.ts +175 -0
- package/src/kusinta/iot/common/v1/types_pb.js +70 -1
- package/src/kusinta/iot/connector/v1/connector_pb.d.ts +691 -2
- package/src/kusinta/iot/connector/v1/connector_pb.js +104 -13
- package/src/kusinta/iot/device/v1/cluster_state_pb.d.ts +44 -0
- package/src/kusinta/iot/device/v1/cluster_state_pb.js +1 -1
- package/src/kusinta/iot/device/v1/descriptor_pb.d.ts +22 -2
- package/src/kusinta/iot/device/v1/descriptor_pb.js +2 -1
- package/src/kusinta/iot/device/v1/device_event_pb.d.ts +87 -5
- package/src/kusinta/iot/device/v1/device_event_pb.js +1 -1
- package/src/kusinta/iot/device/v1/device_pb.d.ts +150 -6
- package/src/kusinta/iot/device/v1/device_pb.js +33 -2
- package/src/kusinta/iot/device/v1/matter_options_pb.d.ts +26 -0
- package/src/kusinta/iot/device/v1/matter_options_pb.js +31 -4
- package/src/kusinta/iot/device/v1/properties_pb.d.ts +14 -0
- package/src/kusinta/iot/device/v1/properties_pb.js +1 -1
- package/src/kusinta/iot/device/v1/property_update_pb.d.ts +3 -2
- package/src/kusinta/iot/link/v1/link_pb.d.ts +438 -0
- package/src/kusinta/iot/link/v1/link_pb.js +121 -0
- package/src/kusinta/iot/reporting/v1/reporting_pb.d.ts +1219 -0
- package/src/kusinta/iot/reporting/v1/reporting_pb.js +238 -0
- package/src/kusinta/iot/reporting/v1/reporting_service_pb.d.ts +63 -0
- package/src/kusinta/iot/reporting/v1/reporting_service_pb.js +24 -0
- package/src/kusinta/iot/signaling/v1/signaling_pb.d.ts +361 -7
- package/src/kusinta/iot/signaling/v1/signaling_pb.js +68 -4
- package/src/kusinta/iot/signaling/v1/signaling_service_pb.d.ts +24 -1
- package/src/kusinta/iot/signaling/v1/signaling_service_pb.js +1 -1
- package/src/kusinta/iot/space/v1/space_pb.d.ts +103 -2
- package/src/kusinta/iot/space/v1/space_pb.js +10 -1
- package/src/kusinta/iot/vendor/homematic/v1/homematic_pb.d.ts +162 -13
- package/src/kusinta/iot/vendor/homematic/v1/homematic_pb.js +8 -1
- package/src/kusinta/iot/vendor/lorawan/v1/lorawan_pb.d.ts +69 -0
- package/src/kusinta/iot/vendor/lorawan/v1/lorawan_pb.js +19 -0
- package/src/kusinta/iot/vendor/v1/vendor_options_pb.d.ts +25 -4
- package/src/kusinta/iot/vendor/v1/vendor_options_pb.js +28 -6
- package/src/kusinta/iot/webrtc/v1/app_token_pb.d.ts +45 -5
- package/src/kusinta/iot/webrtc/v1/app_token_pb.js +1 -1
- package/src/kusinta/iot/webrtc/v1/command_pb.d.ts +14 -0
- package/src/kusinta/iot/webrtc/v1/command_pb.js +1 -1
- package/src/kusinta/iot/webrtc/v1/device_state_pb.d.ts +179 -5
- package/src/kusinta/iot/webrtc/v1/device_state_pb.js +35 -6
- package/src/kusinta/iot/webrtc/v1/envelope_pb.d.ts +520 -3
- package/src/kusinta/iot/webrtc/v1/envelope_pb.js +65 -3
- package/src/kusinta/iot/webrtc/v1/invite_pb.d.ts +498 -0
- package/src/kusinta/iot/webrtc/v1/invite_pb.js +108 -0
- package/src/kusinta/iot/webrtc/v1/management_pb.d.ts +982 -12
- package/src/kusinta/iot/webrtc/v1/management_pb.js +132 -5
- package/src/kusinta/iot/webrtc/v1/members_pb.d.ts +328 -0
- package/src/kusinta/iot/webrtc/v1/members_pb.js +78 -0
- package/src/kusinta/iot/webrtc/v1/permission_push_pb.d.ts +66 -4
- package/src/kusinta/iot/webrtc/v1/permission_push_pb.js +10 -2
|
@@ -2,20 +2,22 @@
|
|
|
2
2
|
// @generated from file kusinta/iot/connector/v1/connector.proto (package kusinta.iot.connector.v1, syntax proto3)
|
|
3
3
|
/* eslint-disable */
|
|
4
4
|
|
|
5
|
-
import { fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2";
|
|
5
|
+
import { enumDesc, fileDesc, messageDesc, tsEnum } from "@bufbuild/protobuf/codegenv2";
|
|
6
6
|
import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
|
|
7
|
+
import { file_kusinta_iot_common_v1_pairing } from "../../common/v1/pairing_pb.js";
|
|
7
8
|
import { file_kusinta_iot_common_v1_types } from "../../common/v1/types_pb.js";
|
|
8
|
-
import { file_kusinta_iot_identity_v1_identity } from "../../identity/v1/identity_pb.js";
|
|
9
9
|
import { file_kusinta_iot_device_v1_device } from "../../device/v1/device_pb.js";
|
|
10
10
|
import { file_kusinta_iot_device_v1_device_event } from "../../device/v1/device_event_pb.js";
|
|
11
11
|
import { file_kusinta_iot_device_v1_property_update } from "../../device/v1/property_update_pb.js";
|
|
12
|
+
import { file_kusinta_iot_identity_v1_identity } from "../../identity/v1/identity_pb.js";
|
|
13
|
+
import { file_kusinta_iot_link_v1_link } from "../../link/v1/link_pb.js";
|
|
12
14
|
import { file_kusinta_iot_webrtc_v1_command } from "../../webrtc/v1/command_pb.js";
|
|
13
15
|
|
|
14
16
|
/**
|
|
15
17
|
* Describes the file kusinta/iot/connector/v1/connector.proto.
|
|
16
18
|
*/
|
|
17
19
|
export const file_kusinta_iot_connector_v1_connector = /*@__PURE__*/
|
|
18
|
-
fileDesc("
|
|
20
|
+
fileDesc("CihrdXNpbnRhL2lvdC9jb25uZWN0b3IvdjEvY29ubmVjdG9yLnByb3RvEhhrdXNpbnRhLmlvdC5jb25uZWN0b3IudjEipQMKDUNvbm5lY3RvckluZm8SOgoMY29ubmVjdG9yX2lkGAEgASgLMiQua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuQ29ubmVjdG9ySWQSFAoMZGlzcGxheV9uYW1lGAIgASgJEg8KB3ZlcnNpb24YAyABKAkSPAoJdHJhbnNwb3J0GAQgASgOMikua3VzaW50YS5pb3QuY29tbW9uLnYxLkNvbm5lY3RvclRyYW5zcG9ydBIQCghlbmRwb2ludBgFIAEoCRIhChlzdXBwb3J0ZWRfZGV2aWNlX3R5cGVfaWRzGAYgAygNEhgKEHN1cHBvcnRzX3BhaXJpbmcYByABKAgSHQoVc3VwcG9ydHNfcHJvdmlzaW9uaW5nGAggASgIEhUKDWJyb2tlcnNfbGlua3MYCSABKAgSMgoEa2luZBgKIAEoDjIkLmt1c2ludGEuaW90LmNvbW1vbi52MS5Db25uZWN0b3JLaW5kEhMKC2Rlc2NyaXB0aW9uGAsgASgJEiUKHXN1cHBvcnRzX2JhY2tlbmRfcmVpbml0aWFsaXplGAwgASgIIv4BChJDb25uZWN0b3JIYW5kc2hha2USNQoEaW5mbxgBIAEoCzInLmt1c2ludGEuaW90LmNvbm5lY3Rvci52MS5Db25uZWN0b3JJbmZvEjQKDWtub3duX2RldmljZXMYAiADKAsyHS5rdXNpbnRhLmlvdC5kZXZpY2UudjEuRGV2aWNlEjQKC2tub3duX2xpbmtzGAMgAygLMh8ua3VzaW50YS5pb3QubGluay52MS5EZXZpY2VMaW5rEkUKDmJhY2tlbmRfaGVhbHRoGAQgASgLMi0ua3VzaW50YS5pb3QuY29ubmVjdG9yLnYxLkJhY2tlbmRIZWFsdGhSZXBvcnQiWwoTQmFja2VuZEhlYWx0aFJlcG9ydBI0CgZoZWFsdGgYASABKAsyJC5rdXNpbnRhLmlvdC5jb21tb24udjEuQmFja2VuZEhlYWx0aBIOCgZkZXRhaWwYAiABKAkiKQoTUmVpbml0aWFsaXplQmFja2VuZBISCgpyZXF1ZXN0X2lkGAEgASgJIrwBChlSZWluaXRpYWxpemVCYWNrZW5kUmVzdWx0EhIKCnJlcXVlc3RfaWQYASABKAkSPgoHb3V0Y29tZRgCIAEoDjItLmt1c2ludGEuaW90LmNvbm5lY3Rvci52MS5SZWluaXRpYWxpemVPdXRjb21lEjsKBnJlYXNvbhgDIAEoDjIrLmt1c2ludGEuaW90LmNvbW1vbi52MS5CYWNrZW5kRmFpbHVyZVJlYXNvbhIOCgZkZXRhaWwYBCABKAkiugEKCkNyZWF0ZUxpbmsSDwoHbGlua19pZBgBIAEoCRIxCgZzZW5kZXIYAiABKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZBIzCghyZWNlaXZlchgDIAEoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkEjMKCGZ1bmN0aW9uGAQgASgOMiEua3VzaW50YS5pb3QubGluay52MS5MaW5rRnVuY3Rpb24iugEKClJlbW92ZUxpbmsSDwoHbGlua19pZBgBIAEoCRIxCgZzZW5kZXIYAiABKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZBIzCghyZWNlaXZlchgDIAEoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkEjMKCGZ1bmN0aW9uGAQgASgOMiEua3VzaW50YS5pb3QubGluay52MS5MaW5rRnVuY3Rpb24iQQoJTGlzdExpbmtzEjQKCWRldmljZV9pZBgBIAEoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkIm0KCkxpbmtSZXN1bHQSDwoHbGlua19pZBgBIAEoCRIPCgdzdWNjZXNzGAIgASgIEi0KBXN0YXRlGAMgASgOMh4ua3VzaW50YS5pb3QubGluay52MS5MaW5rU3RhdGUSDgoGZGV0YWlsGAQgASgJIj8KDUxpbmtzUmVwb3J0ZWQSLgoFbGlua3MYASADKAsyHy5rdXNpbnRhLmlvdC5saW5rLnYxLkRldmljZUxpbmsiiQEKDEhhbmRzaGFrZUFjaxIQCghhY2NlcHRlZBgBIAEoCBIOCgZyZWFzb24YAiABKAkSNgoKZ2F0ZXdheV9pZBgDIAEoCzIiLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkdhdGV3YXlJZBIfChdzdXBwb3J0c19iYWNrZW5kX2hlYWx0aBgEIAEoCCJxChJEZXZpY2VBbm5vdW5jZW1lbnQSLQoGZGV2aWNlGAIgASgLMh0ua3VzaW50YS5pb3QuZGV2aWNlLnYxLkRldmljZRIaChJwYWlyaW5nX3JlcXVlc3RfaWQYAyABKAlKBAgBEAJSCmRlc2NyaXB0b3IiVQoNRGV2aWNlUmVtb3ZhbBI0CglkZXZpY2VfaWQYASABKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZBIOCgZyZWFzb24YAiABKAkiCwoJSGVhcnRCZWF0IkcKD1N1YnNjcmliZURldmljZRI0CglkZXZpY2VfaWQYASABKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZCJJChFVbnN1YnNjcmliZURldmljZRI0CglkZXZpY2VfaWQYASABKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZCJBCgxHYXRld2F5RXJyb3ISDAoEY29kZRgBIAEoCRIPCgdtZXNzYWdlGAIgASgJEhIKCnJlcXVlc3RfaWQYAyABKAki7QEKFkNvbm5lY3RvckNvbW1hbmRSZXN1bHQSEgoKcmVxdWVzdF9pZBgBIAEoCRIPCgdzdWNjZXNzGAIgASgIEjAKDGNvbXBsZXRlZF9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMgoFZXJyb3IYBSABKAsyIy5rdXNpbnRhLmlvdC53ZWJydGMudjEuQ29tbWFuZEVycm9yEjMKCnNldHRsZXNfYnkYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSACIAQFCDQoLX3NldHRsZXNfYnlKBAgDEAQiXAoQRW50ZXJQYWlyaW5nTW9kZRISCgpyZXF1ZXN0X2lkGAEgASgJEjQKBndpbmRvdxgCIAEoCzIkLmt1c2ludGEuaW90LmNvbW1vbi52MS5QYWlyaW5nV2luZG93IqMBChFQYWlyaW5nTW9kZVJlc3VsdBISCgpyZXF1ZXN0X2lkGAEgASgJEhAKCGFjY2VwdGVkGAIgASgIEjgKBWVycm9yGAMgASgLMikua3VzaW50YS5pb3QuY29tbW9uLnYxLlBhaXJpbmdFcnJvckRldGFpbBIuCgpleHBpcmVzX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCJ8ChBQYWlyaW5nTW9kZUVuZGVkEhIKCnJlcXVlc3RfaWQYASABKAkSGgoSZGV2aWNlc19hdHRyaWJ1dGVkGAIgASgNEjgKBWVycm9yGAMgASgLMikua3VzaW50YS5pb3QuY29tbW9uLnYxLlBhaXJpbmdFcnJvckRldGFpbCL2BwoOU2Vzc2lvblJlcXVlc3QSEgoKbWVzc2FnZV9pZBgBIAEoCRIrCgdzZW50X2F0GAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBJBCgloYW5kc2hha2UYAyABKAsyLC5rdXNpbnRhLmlvdC5jb25uZWN0b3IudjEuQ29ubmVjdG9ySGFuZHNoYWtlSAASRQoPcHJvcGVydHlfdXBkYXRlGAQgASgLMioua3VzaW50YS5pb3QuZGV2aWNlLnYxLlByb3BlcnR5VXBkYXRlQmF0Y2hIABJIChBkZXZpY2VfYW5ub3VuY2VkGAUgASgLMiwua3VzaW50YS5pb3QuY29ubmVjdG9yLnYxLkRldmljZUFubm91bmNlbWVudEgAEkEKDmRldmljZV9yZW1vdmVkGAYgASgLMicua3VzaW50YS5pb3QuY29ubmVjdG9yLnYxLkRldmljZVJlbW92YWxIABJKCg5jb21tYW5kX3Jlc3VsdBgHIAEoCzIwLmt1c2ludGEuaW90LmNvbm5lY3Rvci52MS5Db25uZWN0b3JDb21tYW5kUmVzdWx0SAASOAoJaGVhcnRiZWF0GAggASgLMiMua3VzaW50YS5pb3QuY29ubmVjdG9yLnYxLkhlYXJ0QmVhdEgAEkAKDWRldmljZV9ldmVudHMYCSABKAsyJy5rdXNpbnRhLmlvdC5kZXZpY2UudjEuRGV2aWNlRXZlbnRCYXRjaEgAEkoKE3BhaXJpbmdfbW9kZV9yZXN1bHQYCiABKAsyKy5rdXNpbnRhLmlvdC5jb25uZWN0b3IudjEuUGFpcmluZ01vZGVSZXN1bHRIABJIChJwYWlyaW5nX21vZGVfZW5kZWQYCyABKAsyKi5rdXNpbnRhLmlvdC5jb25uZWN0b3IudjEuUGFpcmluZ01vZGVFbmRlZEgAEjsKC2xpbmtfcmVzdWx0GAwgASgLMiQua3VzaW50YS5pb3QuY29ubmVjdG9yLnYxLkxpbmtSZXN1bHRIABJBCg5saW5rc19yZXBvcnRlZBgNIAEoCzInLmt1c2ludGEuaW90LmNvbm5lY3Rvci52MS5MaW5rc1JlcG9ydGVkSAASRwoOYmFja2VuZF9oZWFsdGgYDiABKAsyLS5rdXNpbnRhLmlvdC5jb25uZWN0b3IudjEuQmFja2VuZEhlYWx0aFJlcG9ydEgAEloKG3JlaW5pdGlhbGl6ZV9iYWNrZW5kX3Jlc3VsdBgPIAEoCzIzLmt1c2ludGEuaW90LmNvbm5lY3Rvci52MS5SZWluaXRpYWxpemVCYWNrZW5kUmVzdWx0SABCCQoHcGF5bG9hZCLBBgoPU2Vzc2lvblJlc3BvbnNlEhIKCm1lc3NhZ2VfaWQYASABKAkSKwoHc2VudF9hdBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASPwoNaGFuZHNoYWtlX2FjaxgDIAEoCzImLmt1c2ludGEuaW90LmNvbm5lY3Rvci52MS5IYW5kc2hha2VBY2tIABI+CglzdWJzY3JpYmUYBSABKAsyKS5rdXNpbnRhLmlvdC5jb25uZWN0b3IudjEuU3Vic2NyaWJlRGV2aWNlSAASQgoLdW5zdWJzY3JpYmUYBiABKAsyKy5rdXNpbnRhLmlvdC5jb25uZWN0b3IudjEuVW5zdWJzY3JpYmVEZXZpY2VIABI3CgVlcnJvchgHIAEoCzImLmt1c2ludGEuaW90LmNvbm5lY3Rvci52MS5HYXRld2F5RXJyb3JIABI/Cg9leGVjdXRlX2NvbW1hbmQYCCABKAsyJC5rdXNpbnRhLmlvdC53ZWJydGMudjEuRGV2aWNlQ29tbWFuZEgAEk8KF2V4ZWN1dGVfYXR0cmlidXRlX3dyaXRlGAkgASgLMiwua3VzaW50YS5pb3Qud2VicnRjLnYxLkF0dHJpYnV0ZVdyaXRlUmVxdWVzdEgAEkgKEmVudGVyX3BhaXJpbmdfbW9kZRgKIAEoCzIqLmt1c2ludGEuaW90LmNvbm5lY3Rvci52MS5FbnRlclBhaXJpbmdNb2RlSAASOwoLY3JlYXRlX2xpbmsYCyABKAsyJC5rdXNpbnRhLmlvdC5jb25uZWN0b3IudjEuQ3JlYXRlTGlua0gAEjsKC3JlbW92ZV9saW5rGAwgASgLMiQua3VzaW50YS5pb3QuY29ubmVjdG9yLnYxLlJlbW92ZUxpbmtIABI5CgpsaXN0X2xpbmtzGA0gASgLMiMua3VzaW50YS5pb3QuY29ubmVjdG9yLnYxLkxpc3RMaW5rc0gAEk0KFHJlaW5pdGlhbGl6ZV9iYWNrZW5kGA4gASgLMi0ua3VzaW50YS5pb3QuY29ubmVjdG9yLnYxLlJlaW5pdGlhbGl6ZUJhY2tlbmRIAEIJCgdwYXlsb2FkSgQIBBAFKqMBChNSZWluaXRpYWxpemVPdXRjb21lEiQKIFJFSU5JVElBTElaRV9PVVRDT01FX1VOU1BFQ0lGSUVEEAASHQoZUkVJTklUSUFMSVpFX09VVENPTUVfRE9ORRABEh8KG1JFSU5JVElBTElaRV9PVVRDT01FX0ZBSUxFRBACEiYKIlJFSU5JVElBTElaRV9PVVRDT01FX05PVF9TVVBQT1JURUQQA0ICSAFiBnByb3RvMw", [file_google_protobuf_timestamp, file_kusinta_iot_common_v1_pairing, file_kusinta_iot_common_v1_types, file_kusinta_iot_device_v1_device, file_kusinta_iot_device_v1_device_event, file_kusinta_iot_device_v1_property_update, file_kusinta_iot_identity_v1_identity, file_kusinta_iot_link_v1_link, file_kusinta_iot_webrtc_v1_command]);
|
|
19
21
|
|
|
20
22
|
/**
|
|
21
23
|
* Describes the message kusinta.iot.connector.v1.ConnectorInfo.
|
|
@@ -31,73 +33,162 @@ export const ConnectorInfoSchema = /*@__PURE__*/
|
|
|
31
33
|
export const ConnectorHandshakeSchema = /*@__PURE__*/
|
|
32
34
|
messageDesc(file_kusinta_iot_connector_v1_connector, 1);
|
|
33
35
|
|
|
36
|
+
/**
|
|
37
|
+
* Describes the message kusinta.iot.connector.v1.BackendHealthReport.
|
|
38
|
+
* Use `create(BackendHealthReportSchema)` to create a new message.
|
|
39
|
+
*/
|
|
40
|
+
export const BackendHealthReportSchema = /*@__PURE__*/
|
|
41
|
+
messageDesc(file_kusinta_iot_connector_v1_connector, 2);
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Describes the message kusinta.iot.connector.v1.ReinitializeBackend.
|
|
45
|
+
* Use `create(ReinitializeBackendSchema)` to create a new message.
|
|
46
|
+
*/
|
|
47
|
+
export const ReinitializeBackendSchema = /*@__PURE__*/
|
|
48
|
+
messageDesc(file_kusinta_iot_connector_v1_connector, 3);
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Describes the message kusinta.iot.connector.v1.ReinitializeBackendResult.
|
|
52
|
+
* Use `create(ReinitializeBackendResultSchema)` to create a new message.
|
|
53
|
+
*/
|
|
54
|
+
export const ReinitializeBackendResultSchema = /*@__PURE__*/
|
|
55
|
+
messageDesc(file_kusinta_iot_connector_v1_connector, 4);
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Describes the message kusinta.iot.connector.v1.CreateLink.
|
|
59
|
+
* Use `create(CreateLinkSchema)` to create a new message.
|
|
60
|
+
*/
|
|
61
|
+
export const CreateLinkSchema = /*@__PURE__*/
|
|
62
|
+
messageDesc(file_kusinta_iot_connector_v1_connector, 5);
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Describes the message kusinta.iot.connector.v1.RemoveLink.
|
|
66
|
+
* Use `create(RemoveLinkSchema)` to create a new message.
|
|
67
|
+
*/
|
|
68
|
+
export const RemoveLinkSchema = /*@__PURE__*/
|
|
69
|
+
messageDesc(file_kusinta_iot_connector_v1_connector, 6);
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Describes the message kusinta.iot.connector.v1.ListLinks.
|
|
73
|
+
* Use `create(ListLinksSchema)` to create a new message.
|
|
74
|
+
*/
|
|
75
|
+
export const ListLinksSchema = /*@__PURE__*/
|
|
76
|
+
messageDesc(file_kusinta_iot_connector_v1_connector, 7);
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* Describes the message kusinta.iot.connector.v1.LinkResult.
|
|
80
|
+
* Use `create(LinkResultSchema)` to create a new message.
|
|
81
|
+
*/
|
|
82
|
+
export const LinkResultSchema = /*@__PURE__*/
|
|
83
|
+
messageDesc(file_kusinta_iot_connector_v1_connector, 8);
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Describes the message kusinta.iot.connector.v1.LinksReported.
|
|
87
|
+
* Use `create(LinksReportedSchema)` to create a new message.
|
|
88
|
+
*/
|
|
89
|
+
export const LinksReportedSchema = /*@__PURE__*/
|
|
90
|
+
messageDesc(file_kusinta_iot_connector_v1_connector, 9);
|
|
91
|
+
|
|
34
92
|
/**
|
|
35
93
|
* Describes the message kusinta.iot.connector.v1.HandshakeAck.
|
|
36
94
|
* Use `create(HandshakeAckSchema)` to create a new message.
|
|
37
95
|
*/
|
|
38
96
|
export const HandshakeAckSchema = /*@__PURE__*/
|
|
39
|
-
messageDesc(file_kusinta_iot_connector_v1_connector,
|
|
97
|
+
messageDesc(file_kusinta_iot_connector_v1_connector, 10);
|
|
40
98
|
|
|
41
99
|
/**
|
|
42
100
|
* Describes the message kusinta.iot.connector.v1.DeviceAnnouncement.
|
|
43
101
|
* Use `create(DeviceAnnouncementSchema)` to create a new message.
|
|
44
102
|
*/
|
|
45
103
|
export const DeviceAnnouncementSchema = /*@__PURE__*/
|
|
46
|
-
messageDesc(file_kusinta_iot_connector_v1_connector,
|
|
104
|
+
messageDesc(file_kusinta_iot_connector_v1_connector, 11);
|
|
47
105
|
|
|
48
106
|
/**
|
|
49
107
|
* Describes the message kusinta.iot.connector.v1.DeviceRemoval.
|
|
50
108
|
* Use `create(DeviceRemovalSchema)` to create a new message.
|
|
51
109
|
*/
|
|
52
110
|
export const DeviceRemovalSchema = /*@__PURE__*/
|
|
53
|
-
messageDesc(file_kusinta_iot_connector_v1_connector,
|
|
111
|
+
messageDesc(file_kusinta_iot_connector_v1_connector, 12);
|
|
54
112
|
|
|
55
113
|
/**
|
|
56
114
|
* Describes the message kusinta.iot.connector.v1.HeartBeat.
|
|
57
115
|
* Use `create(HeartBeatSchema)` to create a new message.
|
|
58
116
|
*/
|
|
59
117
|
export const HeartBeatSchema = /*@__PURE__*/
|
|
60
|
-
messageDesc(file_kusinta_iot_connector_v1_connector,
|
|
118
|
+
messageDesc(file_kusinta_iot_connector_v1_connector, 13);
|
|
61
119
|
|
|
62
120
|
/**
|
|
63
121
|
* Describes the message kusinta.iot.connector.v1.SubscribeDevice.
|
|
64
122
|
* Use `create(SubscribeDeviceSchema)` to create a new message.
|
|
65
123
|
*/
|
|
66
124
|
export const SubscribeDeviceSchema = /*@__PURE__*/
|
|
67
|
-
messageDesc(file_kusinta_iot_connector_v1_connector,
|
|
125
|
+
messageDesc(file_kusinta_iot_connector_v1_connector, 14);
|
|
68
126
|
|
|
69
127
|
/**
|
|
70
128
|
* Describes the message kusinta.iot.connector.v1.UnsubscribeDevice.
|
|
71
129
|
* Use `create(UnsubscribeDeviceSchema)` to create a new message.
|
|
72
130
|
*/
|
|
73
131
|
export const UnsubscribeDeviceSchema = /*@__PURE__*/
|
|
74
|
-
messageDesc(file_kusinta_iot_connector_v1_connector,
|
|
132
|
+
messageDesc(file_kusinta_iot_connector_v1_connector, 15);
|
|
75
133
|
|
|
76
134
|
/**
|
|
77
135
|
* Describes the message kusinta.iot.connector.v1.GatewayError.
|
|
78
136
|
* Use `create(GatewayErrorSchema)` to create a new message.
|
|
79
137
|
*/
|
|
80
138
|
export const GatewayErrorSchema = /*@__PURE__*/
|
|
81
|
-
messageDesc(file_kusinta_iot_connector_v1_connector,
|
|
139
|
+
messageDesc(file_kusinta_iot_connector_v1_connector, 16);
|
|
82
140
|
|
|
83
141
|
/**
|
|
84
142
|
* Describes the message kusinta.iot.connector.v1.ConnectorCommandResult.
|
|
85
143
|
* Use `create(ConnectorCommandResultSchema)` to create a new message.
|
|
86
144
|
*/
|
|
87
145
|
export const ConnectorCommandResultSchema = /*@__PURE__*/
|
|
88
|
-
messageDesc(file_kusinta_iot_connector_v1_connector,
|
|
146
|
+
messageDesc(file_kusinta_iot_connector_v1_connector, 17);
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
* Describes the message kusinta.iot.connector.v1.EnterPairingMode.
|
|
150
|
+
* Use `create(EnterPairingModeSchema)` to create a new message.
|
|
151
|
+
*/
|
|
152
|
+
export const EnterPairingModeSchema = /*@__PURE__*/
|
|
153
|
+
messageDesc(file_kusinta_iot_connector_v1_connector, 18);
|
|
154
|
+
|
|
155
|
+
/**
|
|
156
|
+
* Describes the message kusinta.iot.connector.v1.PairingModeResult.
|
|
157
|
+
* Use `create(PairingModeResultSchema)` to create a new message.
|
|
158
|
+
*/
|
|
159
|
+
export const PairingModeResultSchema = /*@__PURE__*/
|
|
160
|
+
messageDesc(file_kusinta_iot_connector_v1_connector, 19);
|
|
161
|
+
|
|
162
|
+
/**
|
|
163
|
+
* Describes the message kusinta.iot.connector.v1.PairingModeEnded.
|
|
164
|
+
* Use `create(PairingModeEndedSchema)` to create a new message.
|
|
165
|
+
*/
|
|
166
|
+
export const PairingModeEndedSchema = /*@__PURE__*/
|
|
167
|
+
messageDesc(file_kusinta_iot_connector_v1_connector, 20);
|
|
89
168
|
|
|
90
169
|
/**
|
|
91
170
|
* Describes the message kusinta.iot.connector.v1.SessionRequest.
|
|
92
171
|
* Use `create(SessionRequestSchema)` to create a new message.
|
|
93
172
|
*/
|
|
94
173
|
export const SessionRequestSchema = /*@__PURE__*/
|
|
95
|
-
messageDesc(file_kusinta_iot_connector_v1_connector,
|
|
174
|
+
messageDesc(file_kusinta_iot_connector_v1_connector, 21);
|
|
96
175
|
|
|
97
176
|
/**
|
|
98
177
|
* Describes the message kusinta.iot.connector.v1.SessionResponse.
|
|
99
178
|
* Use `create(SessionResponseSchema)` to create a new message.
|
|
100
179
|
*/
|
|
101
180
|
export const SessionResponseSchema = /*@__PURE__*/
|
|
102
|
-
messageDesc(file_kusinta_iot_connector_v1_connector,
|
|
181
|
+
messageDesc(file_kusinta_iot_connector_v1_connector, 22);
|
|
182
|
+
|
|
183
|
+
/**
|
|
184
|
+
* Describes the enum kusinta.iot.connector.v1.ReinitializeOutcome.
|
|
185
|
+
*/
|
|
186
|
+
export const ReinitializeOutcomeSchema = /*@__PURE__*/
|
|
187
|
+
enumDesc(file_kusinta_iot_connector_v1_connector, 0);
|
|
188
|
+
|
|
189
|
+
/**
|
|
190
|
+
* @generated from enum kusinta.iot.connector.v1.ReinitializeOutcome
|
|
191
|
+
*/
|
|
192
|
+
export const ReinitializeOutcome = /*@__PURE__*/
|
|
193
|
+
tsEnum(ReinitializeOutcomeSchema);
|
|
103
194
|
|
|
@@ -228,6 +228,50 @@ export declare type ClusterState = Message<"kusinta.iot.device.v1.ClusterState">
|
|
|
228
228
|
* @generated from field: repeated uint32 accepted_command_ids = 5;
|
|
229
229
|
*/
|
|
230
230
|
acceptedCommandIds: number[];
|
|
231
|
+
|
|
232
|
+
/**
|
|
233
|
+
* Matter's AttributeList (0xFFFB): which attributes this cluster instance actually
|
|
234
|
+
* implements HERE, on this endpoint of this device.
|
|
235
|
+
*
|
|
236
|
+
* It answers the question presence cannot. A typed field that is absent means "never
|
|
237
|
+
* reported" — and a device that will never report it, because it does not have the
|
|
238
|
+
* hardware, looks exactly the same. A wall thermostat drives no valve, so it has no
|
|
239
|
+
* PIHeatingDemand; a radiator valve has one it has not sent yet. Listed here with no
|
|
240
|
+
* value in the properties message = implemented, not yet reported. Absent from this
|
|
241
|
+
* list = the device does not have it.
|
|
242
|
+
*
|
|
243
|
+
* Distinct from feature_map, which is per-feature rather than per-attribute, and from
|
|
244
|
+
* (matter_attribute_capabilities), which says what the attribute IS — readable,
|
|
245
|
+
* writable, reportable — uniformly for every device, at compile time. Neither
|
|
246
|
+
* substitutes for the other: an app needs both to decide whether to draw a control,
|
|
247
|
+
* draw a value, or draw nothing.
|
|
248
|
+
*
|
|
249
|
+
* An empty list is "not stated", not "implements nothing". A producer that does not
|
|
250
|
+
* know its device's attribute list leaves it empty; one that does SHOULD fill it at
|
|
251
|
+
* announcement, where it costs nothing per update.
|
|
252
|
+
*
|
|
253
|
+
* @generated from field: repeated uint32 attribute_ids = 6;
|
|
254
|
+
*/
|
|
255
|
+
attributeIds: number[];
|
|
256
|
+
|
|
257
|
+
/**
|
|
258
|
+
* The step each writable attribute is set in, keyed by attribute id, in the attribute's
|
|
259
|
+
* own wire unit: 50 on OccupiedHeatingSetpoint is a half degree, since the setpoint is
|
|
260
|
+
* carried in centidegrees.
|
|
261
|
+
*
|
|
262
|
+
* Matter defines no granularity for a setpoint, and devices differ by a factor of ten —
|
|
263
|
+
* one valve holds tenths, another half degrees, another whole degrees. A consumer that
|
|
264
|
+
* guesses offers steps the device silently rounds away, and one that compares a written
|
|
265
|
+
* value with the device's report on the wrong grid never sees the two agree. A value
|
|
266
|
+
* written on this step is one the device holds as written.
|
|
267
|
+
*
|
|
268
|
+
* Stated by the producer at announcement, like attribute_ids, and the same rule
|
|
269
|
+
* applies: an absent key is "not stated", never a step of zero, and a consumer falls
|
|
270
|
+
* back to its own default. A value of 0 means nothing and is treated as absent.
|
|
271
|
+
*
|
|
272
|
+
* @generated from field: map<uint32, uint32> attribute_steps = 7;
|
|
273
|
+
*/
|
|
274
|
+
attributeSteps: { [key: number]: number };
|
|
231
275
|
};
|
|
232
276
|
|
|
233
277
|
/**
|
|
@@ -8,7 +8,7 @@ import { fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2";
|
|
|
8
8
|
* Describes the file kusinta/iot/device/v1/cluster_state.proto.
|
|
9
9
|
*/
|
|
10
10
|
export const file_kusinta_iot_device_v1_cluster_state = /*@__PURE__*/
|
|
11
|
-
fileDesc("
|
|
11
|
+
fileDesc("CilrdXNpbnRhL2lvdC9kZXZpY2UvdjEvY2x1c3Rlcl9zdGF0ZS5wcm90bxIVa3VzaW50YS5pb3QuZGV2aWNlLnYxIgsKCU51bGxWYWx1ZSLfAgoOQXR0cmlidXRlVmFsdWUSFAoKYm9vbF92YWx1ZRgBIAEoCEgAEhMKCWludF92YWx1ZRgCIAEoEkgAEhQKCnVpbnRfdmFsdWUYAyABKARIABIWCgxkb3VibGVfdmFsdWUYBCABKAFIABIWCgxzdHJpbmdfdmFsdWUYBSABKAlIABIVCgtieXRlc192YWx1ZRgGIAEoDEgAEj8KCmxpc3RfdmFsdWUYByABKAsyKS5rdXNpbnRhLmlvdC5kZXZpY2UudjEuQXR0cmlidXRlVmFsdWVMaXN0SAASQwoMc3RydWN0X3ZhbHVlGAggASgLMisua3VzaW50YS5pb3QuZGV2aWNlLnYxLkF0dHJpYnV0ZVZhbHVlU3RydWN0SAASNgoKbnVsbF92YWx1ZRgJIAEoCzIgLmt1c2ludGEuaW90LmRldmljZS52MS5OdWxsVmFsdWVIAEIHCgV2YWx1ZSJLChJBdHRyaWJ1dGVWYWx1ZUxpc3QSNQoGdmFsdWVzGAEgAygLMiUua3VzaW50YS5pb3QuZGV2aWNlLnYxLkF0dHJpYnV0ZVZhbHVlIrUBChRBdHRyaWJ1dGVWYWx1ZVN0cnVjdBJHCgZmaWVsZHMYASADKAsyNy5rdXNpbnRhLmlvdC5kZXZpY2UudjEuQXR0cmlidXRlVmFsdWVTdHJ1Y3QuRmllbGRzRW50cnkaVAoLRmllbGRzRW50cnkSCwoDa2V5GAEgASgNEjQKBXZhbHVlGAIgASgLMiUua3VzaW50YS5pb3QuZGV2aWNlLnYxLkF0dHJpYnV0ZVZhbHVlOgI4ASJcCg5BdHRyaWJ1dGVTdGF0ZRIUCgxhdHRyaWJ1dGVfaWQYASABKA0SNAoFdmFsdWUYAiABKAsyJS5rdXNpbnRhLmlvdC5kZXZpY2UudjEuQXR0cmlidXRlVmFsdWUi+QIKDENsdXN0ZXJTdGF0ZRISCgpjbHVzdGVyX2lkGAEgASgNEh0KEGNsdXN0ZXJfcmV2aXNpb24YAiABKA1IAIgBARIYCgtmZWF0dXJlX21hcBgDIAEoDUgBiAEBEjkKCmF0dHJpYnV0ZXMYBCADKAsyJS5rdXNpbnRhLmlvdC5kZXZpY2UudjEuQXR0cmlidXRlU3RhdGUSHAoUYWNjZXB0ZWRfY29tbWFuZF9pZHMYBSADKA0SFQoNYXR0cmlidXRlX2lkcxgGIAMoDRJQCg9hdHRyaWJ1dGVfc3RlcHMYByADKAsyNy5rdXNpbnRhLmlvdC5kZXZpY2UudjEuQ2x1c3RlclN0YXRlLkF0dHJpYnV0ZVN0ZXBzRW50cnkaNQoTQXR0cmlidXRlU3RlcHNFbnRyeRILCgNrZXkYASABKA0SDQoFdmFsdWUYAiABKA06AjgBQhMKEV9jbHVzdGVyX3JldmlzaW9uQg4KDF9mZWF0dXJlX21hcEICSAFiBnByb3RvMw");
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
14
|
* Describes the message kusinta.iot.device.v1.NullValue.
|
|
@@ -7,6 +7,7 @@ import type { Message } from "@bufbuild/protobuf";
|
|
|
7
7
|
import type { ConnectorId, DeviceId, SpaceId, UserId } from "../../identity/v1/identity_pb.js";
|
|
8
8
|
import type { DeviceLifecycleState, DeviceOwnershipType } from "../../common/v1/types_pb.js";
|
|
9
9
|
import type { Timestamp } from "@bufbuild/protobuf/wkt";
|
|
10
|
+
import type { LinkCapability } from "../../link/v1/link_pb.js";
|
|
10
11
|
import type { HomematicDeviceIdentity } from "../../vendor/homematic/v1/homematic_pb.js";
|
|
11
12
|
|
|
12
13
|
/**
|
|
@@ -19,7 +20,9 @@ export declare const file_kusinta_iot_device_v1_descriptor: GenFile;
|
|
|
19
20
|
* device IS, not what it reports. The device types it presents are one per endpoint, in
|
|
20
21
|
* Device.endpoints.
|
|
21
22
|
*
|
|
22
|
-
*
|
|
23
|
+
* Field bands: 1-2 identity, 3-10 Matter BasicInformation, 11-12 placement,
|
|
24
|
+
* 13-16 ownership and lifecycle, 18-19 vendor identity and bridging.
|
|
25
|
+
* 2 and 17 are burned; the next free number is 20.
|
|
23
26
|
*
|
|
24
27
|
* @generated from message kusinta.iot.device.v1.DeviceDescriptor
|
|
25
28
|
*/
|
|
@@ -99,6 +102,10 @@ export declare type DeviceDescriptor = Message<"kusinta.iot.device.v1.DeviceDesc
|
|
|
99
102
|
ownerUserId?: UserId | undefined;
|
|
100
103
|
|
|
101
104
|
/**
|
|
105
|
+
* Unset when it is withheld from the recipient: in a service view, and from anyone when
|
|
106
|
+
* it dates from before their current residency in the home, or from a home they did not
|
|
107
|
+
* live in at the time (see access.v1.MembershipRelation).
|
|
108
|
+
*
|
|
102
109
|
* @generated from field: google.protobuf.Timestamp claimed_at = 16;
|
|
103
110
|
*/
|
|
104
111
|
claimedAt?: Timestamp | undefined;
|
|
@@ -118,12 +125,25 @@ export declare type DeviceDescriptor = Message<"kusinta.iot.device.v1.DeviceDesc
|
|
|
118
125
|
*
|
|
119
126
|
* So a Device is a Matter node OR one device behind one — the equivalence is deliberately
|
|
120
127
|
* not exact, and this field is how a consumer tells which. Absent means the device is
|
|
121
|
-
* reached directly
|
|
128
|
+
* reached directly, or that its bridge is withheld from the recipient (see
|
|
129
|
+
* access.v1.ServiceSignal FILING).
|
|
122
130
|
*
|
|
123
131
|
* @generated from field: optional kusinta.iot.identity.v1.DeviceId bridged_by = 19;
|
|
124
132
|
*/
|
|
125
133
|
bridgedBy?: DeviceId | undefined;
|
|
126
134
|
|
|
135
|
+
/**
|
|
136
|
+
* What this device can be linked as, if anything — see link.v1.LinkCapability.
|
|
137
|
+
*
|
|
138
|
+
* Declared by the connector that models the device, because only it knows
|
|
139
|
+
* which of a device's connections can lead, which can follow, and what a hub
|
|
140
|
+
* will actually broker. Empty means "states nothing", never "cannot be
|
|
141
|
+
* linked": a connector that does not model linking says nothing here.
|
|
142
|
+
*
|
|
143
|
+
* @generated from field: repeated kusinta.iot.link.v1.LinkCapability link_capabilities = 20;
|
|
144
|
+
*/
|
|
145
|
+
linkCapabilities: LinkCapability[];
|
|
146
|
+
|
|
127
147
|
/**
|
|
128
148
|
* @generated from oneof kusinta.iot.device.v1.DeviceDescriptor.vendor_identity
|
|
129
149
|
*/
|
|
@@ -6,13 +6,14 @@ import { fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2";
|
|
|
6
6
|
import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
|
|
7
7
|
import { file_kusinta_iot_common_v1_types } from "../../common/v1/types_pb.js";
|
|
8
8
|
import { file_kusinta_iot_identity_v1_identity } from "../../identity/v1/identity_pb.js";
|
|
9
|
+
import { file_kusinta_iot_link_v1_link } from "../../link/v1/link_pb.js";
|
|
9
10
|
import { file_kusinta_iot_vendor_homematic_v1_homematic } from "../../vendor/homematic/v1/homematic_pb.js";
|
|
10
11
|
|
|
11
12
|
/**
|
|
12
13
|
* Describes the file kusinta/iot/device/v1/descriptor.proto.
|
|
13
14
|
*/
|
|
14
15
|
export const file_kusinta_iot_device_v1_descriptor = /*@__PURE__*/
|
|
15
|
-
fileDesc("
|
|
16
|
+
fileDesc("CiZrdXNpbnRhL2lvdC9kZXZpY2UvdjEvZGVzY3JpcHRvci5wcm90bxIVa3VzaW50YS5pb3QuZGV2aWNlLnYxIvkGChBEZXZpY2VEZXNjcmlwdG9yEjQKCWRldmljZV9pZBgBIAEoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkEhMKC3ZlbmRvcl9uYW1lGAMgASgJEhQKDHByb2R1Y3RfbmFtZRgEIAEoCRIVCg1zZXJpYWxfbnVtYmVyGAUgASgJEhIKCm5vZGVfbGFiZWwYBiABKAkSEQoJdmVuZG9yX2lkGAcgASgNEhIKCnByb2R1Y3RfaWQYCCABKA0SHwoXaGFyZHdhcmVfdmVyc2lvbl9zdHJpbmcYCSABKAkSHwoXc29mdHdhcmVfdmVyc2lvbl9zdHJpbmcYCiABKAkSOgoMY29ubmVjdG9yX2lkGAsgASgLMiQua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuQ29ubmVjdG9ySWQSMgoIc3BhY2VfaWQYDCABKAsyIC5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5TcGFjZUlkEj0KCW93bmVyc2hpcBgNIAEoDjIqLmt1c2ludGEuaW90LmNvbW1vbi52MS5EZXZpY2VPd25lcnNoaXBUeXBlEj4KCWxpZmVjeWNsZRgOIAEoDjIrLmt1c2ludGEuaW90LmNvbW1vbi52MS5EZXZpY2VMaWZlY3ljbGVTdGF0ZRI2Cg1vd25lcl91c2VyX2lkGA8gASgLMh8ua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuVXNlcklkEi4KCmNsYWltZWRfYXQYECABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjoKCmJyaWRnZWRfYnkYEyABKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZEgBiAEBEj4KEWxpbmtfY2FwYWJpbGl0aWVzGBQgAygLMiMua3VzaW50YS5pb3QubGluay52MS5MaW5rQ2FwYWJpbGl0eRJNCglob21lbWF0aWMYEiABKAsyOC5rdXNpbnRhLmlvdC52ZW5kb3IuaG9tZW1hdGljLnYxLkhvbWVtYXRpY0RldmljZUlkZW50aXR5SABCEQoPdmVuZG9yX2lkZW50aXR5Qg0KC19icmlkZ2VkX2J5SgQIAhADSgQIERASUhVtYXR0ZXJfZGV2aWNlX3R5cGVfaWRSCWVuZHBvaW50c0ICSAFiBnByb3RvMw", [file_google_protobuf_timestamp, file_kusinta_iot_common_v1_types, file_kusinta_iot_identity_v1_identity, file_kusinta_iot_link_v1_link, file_kusinta_iot_vendor_homematic_v1_homematic]);
|
|
16
17
|
|
|
17
18
|
/**
|
|
18
19
|
* Describes the message kusinta.iot.device.v1.DeviceDescriptor.
|
|
@@ -60,12 +60,21 @@ export declare type DeviceEvent = Message<"kusinta.iot.device.v1.DeviceEvent"> &
|
|
|
60
60
|
eventId: number;
|
|
61
61
|
|
|
62
62
|
/**
|
|
63
|
-
*
|
|
64
|
-
*
|
|
65
|
-
*
|
|
63
|
+
* The device's event number, as its connector numbers it — per device, where Matter's
|
|
64
|
+
* EventNumber is per node; a connector renumbers what a node gives it. It is the reason
|
|
65
|
+
* an event log can be resumed rather than merely replayed. A consumer that sees a gap
|
|
66
|
+
* knows it missed something and can say so — the one guarantee a PropertyUpdate stream
|
|
67
|
+
* cannot give. On the app leg a gap is judged by previous_event_number and follows_loss
|
|
68
|
+
* below, not by a skip in this number.
|
|
66
69
|
*
|
|
67
|
-
* Monotonic within one device
|
|
68
|
-
*
|
|
70
|
+
* Monotonic within one device, its connector and one numbering_id — a device that moves
|
|
71
|
+
* to another connector begins a new sequence — and consecutive as a connector delivers
|
|
72
|
+
* it: a connector numbers each device's events on its own, so a skip means events were
|
|
73
|
+
* lost — including ones the connector lost itself, whose numbers it skips. A number at or
|
|
74
|
+
* below one already received for the device from the same connector under the same
|
|
75
|
+
* numbering_id is that event again — a connector resends what it could not confirm,
|
|
76
|
+
* always the whole unconfirmed tail of what it sent, in order — and is dropped. Do NOT
|
|
77
|
+
* compare across devices; they are unrelated sequences.
|
|
69
78
|
*
|
|
70
79
|
* @generated from field: uint64 event_number = 5;
|
|
71
80
|
*/
|
|
@@ -92,6 +101,79 @@ export declare type DeviceEvent = Message<"kusinta.iot.device.v1.DeviceEvent"> &
|
|
|
92
101
|
* @generated from field: kusinta.iot.device.v1.AttributeValue data = 8;
|
|
93
102
|
*/
|
|
94
103
|
data?: AttributeValue | undefined;
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* How a recipient tells events it was not sent from events that were lost. Filled by the
|
|
107
|
+
* gateway on the app leg; a connector leaves both unset.
|
|
108
|
+
*
|
|
109
|
+
* A recipient is not sent every event of a device: which ones it receives depends on its
|
|
110
|
+
* grant (access.v1.DeviceAcl.allowed_event_refs), so event_number skips wherever an event
|
|
111
|
+
* went to somebody else. A skip in event_number is therefore NOT a gap. A gap is:
|
|
112
|
+
*
|
|
113
|
+
* * previous_event_number set, the recipient holding a last-received event_number for
|
|
114
|
+
* this device under the same numbering_id (whether or not it kept the event), and
|
|
115
|
+
* previous_event_number above it — its log misses events the gateway sent this user,
|
|
116
|
+
* on another session or while it was away, or that were lost; one at or below it is
|
|
117
|
+
* no gap; or
|
|
118
|
+
* * follows_loss set on an event above the last number the recipient holds, or when it
|
|
119
|
+
* holds none.
|
|
120
|
+
*
|
|
121
|
+
* Otherwise — previous_event_number unset, or the recipient holding no number for the
|
|
122
|
+
* device under that numbering_id — continuity is unknown, and only follows_loss claims a
|
|
123
|
+
* gap: the gateway knows events were lost, whatever the recipient holds.
|
|
124
|
+
*
|
|
125
|
+
* event_number counts a device's events over its life, so it tells anyone it reaches
|
|
126
|
+
* roughly how many events came before; that much the number discloses. And it is still
|
|
127
|
+
* the device's own, so a recipient granted only some of a device's events learns from it
|
|
128
|
+
* how many it was not sent: that much a partial grant of events discloses.
|
|
129
|
+
*
|
|
130
|
+
* previous_event_number never names an event from before the user's current residency in
|
|
131
|
+
* a home, nor from before their current, unbroken stretch of seeing the device — it is
|
|
132
|
+
* unset instead, and follows_loss then looks no further back either. Otherwise it is the
|
|
133
|
+
* event_number of the previous event of this device that this user was due — within the
|
|
134
|
+
* grant they held when it happened — whether or not any session of theirs was open to be
|
|
135
|
+
* sent it, so that events missed while away are a gap like any other. A number of the
|
|
136
|
+
* event's own numbering_id. Unset when the gateway has received no such event under that
|
|
137
|
+
* numbering since the gateway itself last started — the first event after a numbering
|
|
138
|
+
* restart included: continuity is then unknown. The gateway remembers nothing of a
|
|
139
|
+
* numbering across its own restart, so follows_loss too covers only what it received
|
|
140
|
+
* since, and a resend it can no longer recognise reaches the app: an app drops an event
|
|
141
|
+
* whose number is at or below the last it holds for the device under the same
|
|
142
|
+
* numbering_id.
|
|
143
|
+
*
|
|
144
|
+
* @generated from field: optional uint64 previous_event_number = 9;
|
|
145
|
+
*/
|
|
146
|
+
previousEventNumber?: bigint | undefined;
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
* Set when the gateway itself missed events of this device since previous_event_number —
|
|
150
|
+
* or, when that is unset, since the latest of the start of what the user may learn of the
|
|
151
|
+
* device, the start of the current numbering and the gateway's own last start — the
|
|
152
|
+
* sequence it receives from the device skipped. A restart of the numbering is not itself
|
|
153
|
+
* a loss; a connector shows what it lost by skipping numbers. What was lost is unknown,
|
|
154
|
+
* so it may have been an event this recipient would have been sent.
|
|
155
|
+
*
|
|
156
|
+
* @generated from field: bool follows_loss = 10;
|
|
157
|
+
*/
|
|
158
|
+
followsLoss: boolean;
|
|
159
|
+
|
|
160
|
+
/**
|
|
161
|
+
* Which numbering event_number belongs to. A connector changes it whenever it restarts a
|
|
162
|
+
* device's numbering — after losing its own count — so that a restart is never mistaken
|
|
163
|
+
* for a resend. The gateway then begins a new sequence for the device: the first event of
|
|
164
|
+
* it that each user is due carries previous_event_number unset, continuity unknown. A new
|
|
165
|
+
* value is one never used before for the device — a UUIDv4 is the expected form. Opaque;
|
|
166
|
+
* compare for equality only. Empty is a numbering like any other, for a connector whose
|
|
167
|
+
* count for a device never restarts; a connector that begins a device's sequence anew —
|
|
168
|
+
* having lost its count, or the device having come back to it — must give it a
|
|
169
|
+
* numbering_id never used for that device before. Every numbering starts at 1. On the app leg
|
|
170
|
+
* the gateway derives it from the connector's own id and the connector's numbering_id
|
|
171
|
+
* alone, so that it is the same across a gateway restart and changes whenever either
|
|
172
|
+
* does — a numbering restart, or a device moving to another connector.
|
|
173
|
+
*
|
|
174
|
+
* @generated from field: string numbering_id = 11;
|
|
175
|
+
*/
|
|
176
|
+
numberingId: string;
|
|
95
177
|
};
|
|
96
178
|
|
|
97
179
|
/**
|
|
@@ -11,7 +11,7 @@ import { file_kusinta_iot_identity_v1_identity } from "../../identity/v1/identit
|
|
|
11
11
|
* Describes the file kusinta/iot/device/v1/device_event.proto.
|
|
12
12
|
*/
|
|
13
13
|
export const file_kusinta_iot_device_v1_device_event = /*@__PURE__*/
|
|
14
|
-
fileDesc("
|
|
14
|
+
fileDesc("CihrdXNpbnRhL2lvdC9kZXZpY2UvdjEvZGV2aWNlX2V2ZW50LnByb3RvEhVrdXNpbnRhLmlvdC5kZXZpY2UudjEirwMKC0RldmljZUV2ZW50EjQKCWRldmljZV9pZBgBIAEoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkEhgKC2VuZHBvaW50X2lkGAIgASgNSACIAQESEgoKY2x1c3Rlcl9pZBgDIAEoDRIQCghldmVudF9pZBgEIAEoDRIUCgxldmVudF9udW1iZXIYBSABKAQSLQoJdGltZXN0YW1wGAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI2Cghwcmlvcml0eRgHIAEoDjIkLmt1c2ludGEuaW90LmRldmljZS52MS5FdmVudFByaW9yaXR5EjMKBGRhdGEYCCABKAsyJS5rdXNpbnRhLmlvdC5kZXZpY2UudjEuQXR0cmlidXRlVmFsdWUSIgoVcHJldmlvdXNfZXZlbnRfbnVtYmVyGAkgASgESAGIAQESFAoMZm9sbG93c19sb3NzGAogASgIEhQKDG51bWJlcmluZ19pZBgLIAEoCUIOCgxfZW5kcG9pbnRfaWRCGAoWX3ByZXZpb3VzX2V2ZW50X251bWJlciJ3ChBEZXZpY2VFdmVudEJhdGNoEjIKBmV2ZW50cxgBIAMoCzIiLmt1c2ludGEuaW90LmRldmljZS52MS5EZXZpY2VFdmVudBIvCgtyZWNlaXZlZF9hdBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAqfwoNRXZlbnRQcmlvcml0eRIeChpFVkVOVF9QUklPUklUWV9VTlNQRUNJRklFRBAAEhgKFEVWRU5UX1BSSU9SSVRZX0RFQlVHEAESFwoTRVZFTlRfUFJJT1JJVFlfSU5GTxACEhsKF0VWRU5UX1BSSU9SSVRZX0NSSVRJQ0FMEANCAkgBYgZwcm90bzM", [file_google_protobuf_timestamp, file_kusinta_iot_device_v1_cluster_state, file_kusinta_iot_identity_v1_identity]);
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
17
|
* Describes the message kusinta.iot.device.v1.DeviceEvent.
|