@kusinta/iot-schema 0.2.0-beta.6 → 0.2.0-beta.61

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.
Files changed (73) hide show
  1. package/package.json +44 -29
  2. package/src/kusinta/iot/access/v1/acl_pb.d.ts +146 -2
  3. package/src/kusinta/iot/access/v1/acl_pb.js +19 -2
  4. package/src/kusinta/iot/access/v1/roles_pb.d.ts +160 -4
  5. package/src/kusinta/iot/access/v1/roles_pb.js +128 -5
  6. package/src/kusinta/iot/accountlink/v1/account_link_pb.d.ts +591 -0
  7. package/src/kusinta/iot/accountlink/v1/account_link_pb.js +160 -0
  8. package/src/kusinta/iot/climate/v1/climate_pb.d.ts +1695 -0
  9. package/src/kusinta/iot/climate/v1/climate_pb.js +292 -0
  10. package/src/kusinta/iot/commissioning/v1/commissioning_pb.d.ts +1643 -0
  11. package/src/kusinta/iot/commissioning/v1/commissioning_pb.js +339 -0
  12. package/src/kusinta/iot/common/v1/pairing_pb.d.ts +24 -4
  13. package/src/kusinta/iot/common/v1/pairing_pb.js +1 -1
  14. package/src/kusinta/iot/common/v1/types_pb.d.ts +235 -0
  15. package/src/kusinta/iot/common/v1/types_pb.js +84 -2
  16. package/src/kusinta/iot/connector/v1/connector_pb.d.ts +713 -3
  17. package/src/kusinta/iot/connector/v1/connector_pb.js +107 -16
  18. package/src/kusinta/iot/device/v1/cluster_state_pb.d.ts +213 -1
  19. package/src/kusinta/iot/device/v1/cluster_state_pb.js +37 -2
  20. package/src/kusinta/iot/device/v1/descriptor_pb.d.ts +32 -4
  21. package/src/kusinta/iot/device/v1/descriptor_pb.js +2 -1
  22. package/src/kusinta/iot/device/v1/device_event_pb.d.ts +89 -5
  23. package/src/kusinta/iot/device/v1/device_event_pb.js +1 -1
  24. package/src/kusinta/iot/device/v1/device_pb.d.ts +444 -11
  25. package/src/kusinta/iot/device/v1/device_pb.js +74 -2
  26. package/src/kusinta/iot/device/v1/properties_pb.d.ts +26 -5
  27. package/src/kusinta/iot/device/v1/properties_pb.js +1 -1
  28. package/src/kusinta/iot/device/v1/property_update_pb.d.ts +46 -2
  29. package/src/kusinta/iot/device/v1/property_update_pb.js +2 -1
  30. package/src/kusinta/iot/heating/v1/heating_pb.d.ts +659 -0
  31. package/src/kusinta/iot/heating/v1/heating_pb.js +119 -0
  32. package/src/kusinta/iot/link/v1/link_pb.d.ts +438 -0
  33. package/src/kusinta/iot/link/v1/link_pb.js +121 -0
  34. package/src/kusinta/iot/planning/v1/planning_pb.d.ts +199 -0
  35. package/src/kusinta/iot/planning/v1/planning_pb.js +48 -0
  36. package/src/kusinta/iot/planning/v1/planning_service_pb.d.ts +121 -0
  37. package/src/kusinta/iot/planning/v1/planning_service_pb.js +38 -0
  38. package/src/kusinta/iot/registration/v1/registration_pb.d.ts +18 -0
  39. package/src/kusinta/iot/registration/v1/registration_pb.js +1 -1
  40. package/src/kusinta/iot/reporting/v1/reporting_pb.d.ts +1263 -0
  41. package/src/kusinta/iot/reporting/v1/reporting_pb.js +238 -0
  42. package/src/kusinta/iot/reporting/v1/reporting_service_pb.d.ts +63 -0
  43. package/src/kusinta/iot/reporting/v1/reporting_service_pb.js +24 -0
  44. package/src/kusinta/iot/signaling/v1/signaling_pb.d.ts +939 -7
  45. package/src/kusinta/iot/signaling/v1/signaling_pb.js +163 -4
  46. package/src/kusinta/iot/signaling/v1/signaling_service_pb.d.ts +24 -1
  47. package/src/kusinta/iot/signaling/v1/signaling_service_pb.js +1 -1
  48. package/src/kusinta/iot/space/v1/space_pb.d.ts +218 -3
  49. package/src/kusinta/iot/space/v1/space_pb.js +25 -2
  50. package/src/kusinta/iot/vendor/homematic/v1/homematic_pb.d.ts +15 -0
  51. package/src/kusinta/iot/vendor/homematic/v1/homematic_pb.js +1 -1
  52. package/src/kusinta/iot/vendor/lorawan/v1/lorawan_pb.d.ts +69 -0
  53. package/src/kusinta/iot/vendor/lorawan/v1/lorawan_pb.js +19 -0
  54. package/src/kusinta/iot/vendor/v1/vendor_options_pb.d.ts +5 -4
  55. package/src/kusinta/iot/vendor/v1/vendor_options_pb.js +5 -4
  56. package/src/kusinta/iot/webrtc/v1/app_token_pb.d.ts +48 -5
  57. package/src/kusinta/iot/webrtc/v1/app_token_pb.js +1 -1
  58. package/src/kusinta/iot/webrtc/v1/command_pb.d.ts +56 -0
  59. package/src/kusinta/iot/webrtc/v1/command_pb.js +1 -1
  60. package/src/kusinta/iot/webrtc/v1/device_state_pb.d.ts +179 -5
  61. package/src/kusinta/iot/webrtc/v1/device_state_pb.js +34 -5
  62. package/src/kusinta/iot/webrtc/v1/envelope_pb.d.ts +603 -13
  63. package/src/kusinta/iot/webrtc/v1/envelope_pb.js +61 -4
  64. package/src/kusinta/iot/webrtc/v1/household_pb.d.ts +613 -0
  65. package/src/kusinta/iot/webrtc/v1/household_pb.js +134 -0
  66. package/src/kusinta/iot/webrtc/v1/invite_pb.d.ts +502 -0
  67. package/src/kusinta/iot/webrtc/v1/invite_pb.js +108 -0
  68. package/src/kusinta/iot/webrtc/v1/management_pb.d.ts +2595 -75
  69. package/src/kusinta/iot/webrtc/v1/management_pb.js +382 -5
  70. package/src/kusinta/iot/webrtc/v1/members_pb.d.ts +582 -0
  71. package/src/kusinta/iot/webrtc/v1/members_pb.js +113 -0
  72. package/src/kusinta/iot/webrtc/v1/permission_push_pb.d.ts +66 -4
  73. package/src/kusinta/iot/webrtc/v1/permission_push_pb.js +9 -1
@@ -2,21 +2,23 @@
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_accountlink_v1_account_link } from "../../accountlink/v1/account_link_pb.js";
7
8
  import { file_kusinta_iot_common_v1_pairing } from "../../common/v1/pairing_pb.js";
8
9
  import { file_kusinta_iot_common_v1_types } from "../../common/v1/types_pb.js";
9
10
  import { file_kusinta_iot_device_v1_device } from "../../device/v1/device_pb.js";
10
11
  import { file_kusinta_iot_device_v1_device_event } from "../../device/v1/device_event_pb.js";
11
12
  import { file_kusinta_iot_device_v1_property_update } from "../../device/v1/property_update_pb.js";
12
13
  import { file_kusinta_iot_identity_v1_identity } from "../../identity/v1/identity_pb.js";
14
+ import { file_kusinta_iot_link_v1_link } from "../../link/v1/link_pb.js";
13
15
  import { file_kusinta_iot_webrtc_v1_command } from "../../webrtc/v1/command_pb.js";
14
16
 
15
17
  /**
16
18
  * Describes the file kusinta/iot/connector/v1/connector.proto.
17
19
  */
18
20
  export const file_kusinta_iot_connector_v1_connector = /*@__PURE__*/
19
- fileDesc("CihrdXNpbnRhL2lvdC9jb25uZWN0b3IvdjEvY29ubmVjdG9yLnByb3RvEhhrdXNpbnRhLmlvdC5jb25uZWN0b3IudjEi5QEKDUNvbm5lY3RvckluZm8SOgoMY29ubmVjdG9yX2lkGAEgASgLMiQua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuQ29ubmVjdG9ySWQSFAoMZGlzcGxheV9uYW1lGAIgASgJEg8KB3ZlcnNpb24YAyABKAkSPAoJdHJhbnNwb3J0GAQgASgOMikua3VzaW50YS5pb3QuY29tbW9uLnYxLkNvbm5lY3RvclRyYW5zcG9ydBIQCghlbmRwb2ludBgFIAEoCRIhChlzdXBwb3J0ZWRfZGV2aWNlX3R5cGVfaWRzGAYgAygNIoEBChJDb25uZWN0b3JIYW5kc2hha2USNQoEaW5mbxgBIAEoCzInLmt1c2ludGEuaW90LmNvbm5lY3Rvci52MS5Db25uZWN0b3JJbmZvEjQKDWtub3duX2RldmljZXMYAiADKAsyHS5rdXNpbnRhLmlvdC5kZXZpY2UudjEuRGV2aWNlImgKDEhhbmRzaGFrZUFjaxIQCghhY2NlcHRlZBgBIAEoCBIOCgZyZWFzb24YAiABKAkSNgoKZ2F0ZXdheV9pZBgDIAEoCzIiLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkdhdGV3YXlJZCJxChJEZXZpY2VBbm5vdW5jZW1lbnQSLQoGZGV2aWNlGAIgASgLMh0ua3VzaW50YS5pb3QuZGV2aWNlLnYxLkRldmljZRIaChJwYWlyaW5nX3JlcXVlc3RfaWQYAyABKAlKBAgBEAJSCmRlc2NyaXB0b3IiVQoNRGV2aWNlUmVtb3ZhbBI0CglkZXZpY2VfaWQYASABKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZBIOCgZyZWFzb24YAiABKAkiCwoJSGVhcnRCZWF0IkcKD1N1YnNjcmliZURldmljZRI0CglkZXZpY2VfaWQYASABKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZCJJChFVbnN1YnNjcmliZURldmljZRI0CglkZXZpY2VfaWQYASABKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZCJBCgxHYXRld2F5RXJyb3ISDAoEY29kZRgBIAEoCRIPCgdtZXNzYWdlGAIgASgJEhIKCnJlcXVlc3RfaWQYAyABKAki7QEKFkNvbm5lY3RvckNvbW1hbmRSZXN1bHQSEgoKcmVxdWVzdF9pZBgBIAEoCRIPCgdzdWNjZXNzGAIgASgIEjAKDGNvbXBsZXRlZF9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMgoFZXJyb3IYBSABKAsyIy5rdXNpbnRhLmlvdC53ZWJydGMudjEuQ29tbWFuZEVycm9yEjMKCnNldHRsZXNfYnkYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSACIAQFCDQoLX3NldHRsZXNfYnlKBAgDEAQiXAoQRW50ZXJQYWlyaW5nTW9kZRISCgpyZXF1ZXN0X2lkGAEgASgJEjQKBndpbmRvdxgCIAEoCzIkLmt1c2ludGEuaW90LmNvbW1vbi52MS5QYWlyaW5nV2luZG93IqMBChFQYWlyaW5nTW9kZVJlc3VsdBISCgpyZXF1ZXN0X2lkGAEgASgJEhAKCGFjY2VwdGVkGAIgASgIEjgKBWVycm9yGAMgASgLMikua3VzaW50YS5pb3QuY29tbW9uLnYxLlBhaXJpbmdFcnJvckRldGFpbBIuCgpleHBpcmVzX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCJ8ChBQYWlyaW5nTW9kZUVuZGVkEhIKCnJlcXVlc3RfaWQYASABKAkSGgoSZGV2aWNlc19hdHRyaWJ1dGVkGAIgASgNEjgKBWVycm9yGAMgASgLMikua3VzaW50YS5pb3QuY29tbW9uLnYxLlBhaXJpbmdFcnJvckRldGFpbCLRBQoOU2Vzc2lvblJlcXVlc3QSEgoKbWVzc2FnZV9pZBgBIAEoCRIrCgdzZW50X2F0GAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBJBCgloYW5kc2hha2UYAyABKAsyLC5rdXNpbnRhLmlvdC5jb25uZWN0b3IudjEuQ29ubmVjdG9ySGFuZHNoYWtlSAASRQoPcHJvcGVydHlfdXBkYXRlGAQgASgLMioua3VzaW50YS5pb3QuZGV2aWNlLnYxLlByb3BlcnR5VXBkYXRlQmF0Y2hIABJIChBkZXZpY2VfYW5ub3VuY2VkGAUgASgLMiwua3VzaW50YS5pb3QuY29ubmVjdG9yLnYxLkRldmljZUFubm91bmNlbWVudEgAEkEKDmRldmljZV9yZW1vdmVkGAYgASgLMicua3VzaW50YS5pb3QuY29ubmVjdG9yLnYxLkRldmljZVJlbW92YWxIABJKCg5jb21tYW5kX3Jlc3VsdBgHIAEoCzIwLmt1c2ludGEuaW90LmNvbm5lY3Rvci52MS5Db25uZWN0b3JDb21tYW5kUmVzdWx0SAASOAoJaGVhcnRiZWF0GAggASgLMiMua3VzaW50YS5pb3QuY29ubmVjdG9yLnYxLkhlYXJ0QmVhdEgAEkAKDWRldmljZV9ldmVudHMYCSABKAsyJy5rdXNpbnRhLmlvdC5kZXZpY2UudjEuRGV2aWNlRXZlbnRCYXRjaEgAEkoKE3BhaXJpbmdfbW9kZV9yZXN1bHQYCiABKAsyKy5rdXNpbnRhLmlvdC5jb25uZWN0b3IudjEuUGFpcmluZ01vZGVSZXN1bHRIABJIChJwYWlyaW5nX21vZGVfZW5kZWQYCyABKAsyKi5rdXNpbnRhLmlvdC5jb25uZWN0b3IudjEuUGFpcmluZ01vZGVFbmRlZEgAQgkKB3BheWxvYWQivQQKD1Nlc3Npb25SZXNwb25zZRISCgptZXNzYWdlX2lkGAEgASgJEisKB3NlbnRfYXQYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEj8KDWhhbmRzaGFrZV9hY2sYAyABKAsyJi5rdXNpbnRhLmlvdC5jb25uZWN0b3IudjEuSGFuZHNoYWtlQWNrSAASPgoJc3Vic2NyaWJlGAUgASgLMikua3VzaW50YS5pb3QuY29ubmVjdG9yLnYxLlN1YnNjcmliZURldmljZUgAEkIKC3Vuc3Vic2NyaWJlGAYgASgLMisua3VzaW50YS5pb3QuY29ubmVjdG9yLnYxLlVuc3Vic2NyaWJlRGV2aWNlSAASNwoFZXJyb3IYByABKAsyJi5rdXNpbnRhLmlvdC5jb25uZWN0b3IudjEuR2F0ZXdheUVycm9ySAASPwoPZXhlY3V0ZV9jb21tYW5kGAggASgLMiQua3VzaW50YS5pb3Qud2VicnRjLnYxLkRldmljZUNvbW1hbmRIABJPChdleGVjdXRlX2F0dHJpYnV0ZV93cml0ZRgJIAEoCzIsLmt1c2ludGEuaW90LndlYnJ0Yy52MS5BdHRyaWJ1dGVXcml0ZVJlcXVlc3RIABJIChJlbnRlcl9wYWlyaW5nX21vZGUYCiABKAsyKi5rdXNpbnRhLmlvdC5jb25uZWN0b3IudjEuRW50ZXJQYWlyaW5nTW9kZUgAQgkKB3BheWxvYWRKBAgEEAVCAkgBYgZwcm90bzM", [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_webrtc_v1_command]);
21
+ fileDesc("CihrdXNpbnRhL2lvdC9jb25uZWN0b3IvdjEvY29ubmVjdG9yLnByb3RvEhhrdXNpbnRhLmlvdC5jb25uZWN0b3IudjEi7gMKDUNvbm5lY3RvckluZm8SOgoMY29ubmVjdG9yX2lkGAEgASgLMiQua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuQ29ubmVjdG9ySWQSFAoMZGlzcGxheV9uYW1lGAIgASgJEg8KB3ZlcnNpb24YAyABKAkSPAoJdHJhbnNwb3J0GAQgASgOMikua3VzaW50YS5pb3QuY29tbW9uLnYxLkNvbm5lY3RvclRyYW5zcG9ydBIQCghlbmRwb2ludBgFIAEoCRIhChlzdXBwb3J0ZWRfZGV2aWNlX3R5cGVfaWRzGAYgAygNEhgKEHN1cHBvcnRzX3BhaXJpbmcYByABKAgSHQoVc3VwcG9ydHNfcHJvdmlzaW9uaW5nGAggASgIEhUKDWJyb2tlcnNfbGlua3MYCSABKAgSMgoEa2luZBgKIAEoDjIkLmt1c2ludGEuaW90LmNvbW1vbi52MS5Db25uZWN0b3JLaW5kEhMKC2Rlc2NyaXB0aW9uGAsgASgJEiUKHXN1cHBvcnRzX2JhY2tlbmRfcmVpbml0aWFsaXplGAwgASgIEkcKFGNvbnN1bWVzX2NyZWRlbnRpYWxzGA0gAygOMikua3VzaW50YS5pb3QuYWNjb3VudGxpbmsudjEuTGlua2VkU2VydmljZSKuAQoRQ3JlZGVudGlhbHNVcGRhdGUSFwoPYWNjb3VudF9saW5rX2lkGAEgASgJEjoKB3NlcnZpY2UYAiABKA4yKS5rdXNpbnRhLmlvdC5hY2NvdW50bGluay52MS5MaW5rZWRTZXJ2aWNlEhQKDGFjY2Vzc190b2tlbhgDIAEoCRIuCgpleHBpcmVzX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCJRChNDcmVkZW50aWFsc1NuYXBzaG90EjoKBWxpbmtzGAEgAygLMisua3VzaW50YS5pb3QuY29ubmVjdG9yLnYxLkNyZWRlbnRpYWxzVXBkYXRlIi0KEkNyZWRlbnRpYWxzUmV2b2tlZBIXCg9hY2NvdW50X2xpbmtfaWQYASABKAkirQMKEkNvbm5lY3RvckhhbmRzaGFrZRI1CgRpbmZvGAEgASgLMicua3VzaW50YS5pb3QuY29ubmVjdG9yLnYxLkNvbm5lY3RvckluZm8SNAoNa25vd25fZGV2aWNlcxgCIAMoCzIdLmt1c2ludGEuaW90LmRldmljZS52MS5EZXZpY2USNAoLa25vd25fbGlua3MYAyADKAsyHy5rdXNpbnRhLmlvdC5saW5rLnYxLkRldmljZUxpbmsSRQoOYmFja2VuZF9oZWFsdGgYBCABKAsyLS5rdXNpbnRhLmlvdC5jb25uZWN0b3IudjEuQmFja2VuZEhlYWx0aFJlcG9ydBJtChprbm93bl9kZXZpY2VfYWNjb3VudF9saW5rcxgFIAMoCzJJLmt1c2ludGEuaW90LmNvbm5lY3Rvci52MS5Db25uZWN0b3JIYW5kc2hha2UuS25vd25EZXZpY2VBY2NvdW50TGlua3NFbnRyeRo+ChxLbm93bkRldmljZUFjY291bnRMaW5rc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEiWwoTQmFja2VuZEhlYWx0aFJlcG9ydBI0CgZoZWFsdGgYASABKAsyJC5rdXNpbnRhLmlvdC5jb21tb24udjEuQmFja2VuZEhlYWx0aBIOCgZkZXRhaWwYAiABKAkiKQoTUmVpbml0aWFsaXplQmFja2VuZBISCgpyZXF1ZXN0X2lkGAEgASgJIrwBChlSZWluaXRpYWxpemVCYWNrZW5kUmVzdWx0EhIKCnJlcXVlc3RfaWQYASABKAkSPgoHb3V0Y29tZRgCIAEoDjItLmt1c2ludGEuaW90LmNvbm5lY3Rvci52MS5SZWluaXRpYWxpemVPdXRjb21lEjsKBnJlYXNvbhgDIAEoDjIrLmt1c2ludGEuaW90LmNvbW1vbi52MS5CYWNrZW5kRmFpbHVyZVJlYXNvbhIOCgZkZXRhaWwYBCABKAkiugEKCkNyZWF0ZUxpbmsSDwoHbGlua19pZBgBIAEoCRIxCgZzZW5kZXIYAiABKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZBIzCghyZWNlaXZlchgDIAEoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkEjMKCGZ1bmN0aW9uGAQgASgOMiEua3VzaW50YS5pb3QubGluay52MS5MaW5rRnVuY3Rpb24iugEKClJlbW92ZUxpbmsSDwoHbGlua19pZBgBIAEoCRIxCgZzZW5kZXIYAiABKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZBIzCghyZWNlaXZlchgDIAEoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkEjMKCGZ1bmN0aW9uGAQgASgOMiEua3VzaW50YS5pb3QubGluay52MS5MaW5rRnVuY3Rpb24iQQoJTGlzdExpbmtzEjQKCWRldmljZV9pZBgBIAEoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkIm0KCkxpbmtSZXN1bHQSDwoHbGlua19pZBgBIAEoCRIPCgdzdWNjZXNzGAIgASgIEi0KBXN0YXRlGAMgASgOMh4ua3VzaW50YS5pb3QubGluay52MS5MaW5rU3RhdGUSDgoGZGV0YWlsGAQgASgJIj8KDUxpbmtzUmVwb3J0ZWQSLgoFbGlua3MYASADKAsyHy5rdXNpbnRhLmlvdC5saW5rLnYxLkRldmljZUxpbmsipAEKDEhhbmRzaGFrZUFjaxIQCghhY2NlcHRlZBgBIAEoCBIOCgZyZWFzb24YAiABKAkSNgoKZ2F0ZXdheV9pZBgDIAEoCzIiLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkdhdGV3YXlJZBIfChdzdXBwb3J0c19iYWNrZW5kX2hlYWx0aBgEIAEoCBIZChFzZW5kc19jcmVkZW50aWFscxgFIAEoCCKKAQoSRGV2aWNlQW5ub3VuY2VtZW50Ei0KBmRldmljZRgCIAEoCzIdLmt1c2ludGEuaW90LmRldmljZS52MS5EZXZpY2USGgoScGFpcmluZ19yZXF1ZXN0X2lkGAMgASgJEhcKD2FjY291bnRfbGlua19pZBgEIAEoCUoECAEQAlIKZGVzY3JpcHRvciJVCg1EZXZpY2VSZW1vdmFsEjQKCWRldmljZV9pZBgBIAEoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkEg4KBnJlYXNvbhgCIAEoCSILCglIZWFydEJlYXQiRwoPU3Vic2NyaWJlRGV2aWNlEjQKCWRldmljZV9pZBgBIAEoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkIkkKEVVuc3Vic2NyaWJlRGV2aWNlEjQKCWRldmljZV9pZBgBIAEoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkIkEKDEdhdGV3YXlFcnJvchIMCgRjb2RlGAEgASgJEg8KB21lc3NhZ2UYAiABKAkSEgoKcmVxdWVzdF9pZBgDIAEoCSLtAQoWQ29ubmVjdG9yQ29tbWFuZFJlc3VsdBISCgpyZXF1ZXN0X2lkGAEgASgJEg8KB3N1Y2Nlc3MYAiABKAgSMAoMY29tcGxldGVkX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIyCgVlcnJvchgFIAEoCzIjLmt1c2ludGEuaW90LndlYnJ0Yy52MS5Db21tYW5kRXJyb3ISMwoKc2V0dGxlc19ieRgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBAUINCgtfc2V0dGxlc19ieUoECAMQBCJcChBFbnRlclBhaXJpbmdNb2RlEhIKCnJlcXVlc3RfaWQYASABKAkSNAoGd2luZG93GAIgASgLMiQua3VzaW50YS5pb3QuY29tbW9uLnYxLlBhaXJpbmdXaW5kb3ciowEKEVBhaXJpbmdNb2RlUmVzdWx0EhIKCnJlcXVlc3RfaWQYASABKAkSEAoIYWNjZXB0ZWQYAiABKAgSOAoFZXJyb3IYAyABKAsyKS5rdXNpbnRhLmlvdC5jb21tb24udjEuUGFpcmluZ0Vycm9yRGV0YWlsEi4KCmV4cGlyZXNfYXQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wInwKEFBhaXJpbmdNb2RlRW5kZWQSEgoKcmVxdWVzdF9pZBgBIAEoCRIaChJkZXZpY2VzX2F0dHJpYnV0ZWQYAiABKA0SOAoFZXJyb3IYAyABKAsyKS5rdXNpbnRhLmlvdC5jb21tb24udjEuUGFpcmluZ0Vycm9yRGV0YWlsIvYHCg5TZXNzaW9uUmVxdWVzdBISCgptZXNzYWdlX2lkGAEgASgJEisKB3NlbnRfYXQYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEkEKCWhhbmRzaGFrZRgDIAEoCzIsLmt1c2ludGEuaW90LmNvbm5lY3Rvci52MS5Db25uZWN0b3JIYW5kc2hha2VIABJFCg9wcm9wZXJ0eV91cGRhdGUYBCABKAsyKi5rdXNpbnRhLmlvdC5kZXZpY2UudjEuUHJvcGVydHlVcGRhdGVCYXRjaEgAEkgKEGRldmljZV9hbm5vdW5jZWQYBSABKAsyLC5rdXNpbnRhLmlvdC5jb25uZWN0b3IudjEuRGV2aWNlQW5ub3VuY2VtZW50SAASQQoOZGV2aWNlX3JlbW92ZWQYBiABKAsyJy5rdXNpbnRhLmlvdC5jb25uZWN0b3IudjEuRGV2aWNlUmVtb3ZhbEgAEkoKDmNvbW1hbmRfcmVzdWx0GAcgASgLMjAua3VzaW50YS5pb3QuY29ubmVjdG9yLnYxLkNvbm5lY3RvckNvbW1hbmRSZXN1bHRIABI4CgloZWFydGJlYXQYCCABKAsyIy5rdXNpbnRhLmlvdC5jb25uZWN0b3IudjEuSGVhcnRCZWF0SAASQAoNZGV2aWNlX2V2ZW50cxgJIAEoCzInLmt1c2ludGEuaW90LmRldmljZS52MS5EZXZpY2VFdmVudEJhdGNoSAASSgoTcGFpcmluZ19tb2RlX3Jlc3VsdBgKIAEoCzIrLmt1c2ludGEuaW90LmNvbm5lY3Rvci52MS5QYWlyaW5nTW9kZVJlc3VsdEgAEkgKEnBhaXJpbmdfbW9kZV9lbmRlZBgLIAEoCzIqLmt1c2ludGEuaW90LmNvbm5lY3Rvci52MS5QYWlyaW5nTW9kZUVuZGVkSAASOwoLbGlua19yZXN1bHQYDCABKAsyJC5rdXNpbnRhLmlvdC5jb25uZWN0b3IudjEuTGlua1Jlc3VsdEgAEkEKDmxpbmtzX3JlcG9ydGVkGA0gASgLMicua3VzaW50YS5pb3QuY29ubmVjdG9yLnYxLkxpbmtzUmVwb3J0ZWRIABJHCg5iYWNrZW5kX2hlYWx0aBgOIAEoCzItLmt1c2ludGEuaW90LmNvbm5lY3Rvci52MS5CYWNrZW5kSGVhbHRoUmVwb3J0SAASWgobcmVpbml0aWFsaXplX2JhY2tlbmRfcmVzdWx0GA8gASgLMjMua3VzaW50YS5pb3QuY29ubmVjdG9yLnYxLlJlaW5pdGlhbGl6ZUJhY2tlbmRSZXN1bHRIAEIJCgdwYXlsb2FkIqgICg9TZXNzaW9uUmVzcG9uc2USEgoKbWVzc2FnZV9pZBgBIAEoCRIrCgdzZW50X2F0GAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI/Cg1oYW5kc2hha2VfYWNrGAMgASgLMiYua3VzaW50YS5pb3QuY29ubmVjdG9yLnYxLkhhbmRzaGFrZUFja0gAEj4KCXN1YnNjcmliZRgFIAEoCzIpLmt1c2ludGEuaW90LmNvbm5lY3Rvci52MS5TdWJzY3JpYmVEZXZpY2VIABJCCgt1bnN1YnNjcmliZRgGIAEoCzIrLmt1c2ludGEuaW90LmNvbm5lY3Rvci52MS5VbnN1YnNjcmliZURldmljZUgAEjcKBWVycm9yGAcgASgLMiYua3VzaW50YS5pb3QuY29ubmVjdG9yLnYxLkdhdGV3YXlFcnJvckgAEj8KD2V4ZWN1dGVfY29tbWFuZBgIIAEoCzIkLmt1c2ludGEuaW90LndlYnJ0Yy52MS5EZXZpY2VDb21tYW5kSAASTwoXZXhlY3V0ZV9hdHRyaWJ1dGVfd3JpdGUYCSABKAsyLC5rdXNpbnRhLmlvdC53ZWJydGMudjEuQXR0cmlidXRlV3JpdGVSZXF1ZXN0SAASSAoSZW50ZXJfcGFpcmluZ19tb2RlGAogASgLMioua3VzaW50YS5pb3QuY29ubmVjdG9yLnYxLkVudGVyUGFpcmluZ01vZGVIABI7CgtjcmVhdGVfbGluaxgLIAEoCzIkLmt1c2ludGEuaW90LmNvbm5lY3Rvci52MS5DcmVhdGVMaW5rSAASOwoLcmVtb3ZlX2xpbmsYDCABKAsyJC5rdXNpbnRhLmlvdC5jb25uZWN0b3IudjEuUmVtb3ZlTGlua0gAEjkKCmxpc3RfbGlua3MYDSABKAsyIy5rdXNpbnRhLmlvdC5jb25uZWN0b3IudjEuTGlzdExpbmtzSAASTQoUcmVpbml0aWFsaXplX2JhY2tlbmQYDiABKAsyLS5rdXNpbnRhLmlvdC5jb25uZWN0b3IudjEuUmVpbml0aWFsaXplQmFja2VuZEgAEkkKEmNyZWRlbnRpYWxzX3VwZGF0ZRgPIAEoCzIrLmt1c2ludGEuaW90LmNvbm5lY3Rvci52MS5DcmVkZW50aWFsc1VwZGF0ZUgAEksKE2NyZWRlbnRpYWxzX3Jldm9rZWQYECABKAsyLC5rdXNpbnRhLmlvdC5jb25uZWN0b3IudjEuQ3JlZGVudGlhbHNSZXZva2VkSAASTQoUY3JlZGVudGlhbHNfc25hcHNob3QYESABKAsyLS5rdXNpbnRhLmlvdC5jb25uZWN0b3IudjEuQ3JlZGVudGlhbHNTbmFwc2hvdEgAQgkKB3BheWxvYWRKBAgEEAUqowEKE1JlaW5pdGlhbGl6ZU91dGNvbWUSJAogUkVJTklUSUFMSVpFX09VVENPTUVfVU5TUEVDSUZJRUQQABIdChlSRUlOSVRJQUxJWkVfT1VUQ09NRV9ET05FEAESHwobUkVJTklUSUFMSVpFX09VVENPTUVfRkFJTEVEEAISJgoiUkVJTklUSUFMSVpFX09VVENPTUVfTk9UX1NVUFBPUlRFRBADQgJIAWIGcHJvdG8z", [file_google_protobuf_timestamp, file_kusinta_iot_accountlink_v1_account_link, 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]);
20
22
 
21
23
  /**
22
24
  * Describes the message kusinta.iot.connector.v1.ConnectorInfo.
@@ -25,101 +27,190 @@ export const file_kusinta_iot_connector_v1_connector = /*@__PURE__*/
25
27
  export const ConnectorInfoSchema = /*@__PURE__*/
26
28
  messageDesc(file_kusinta_iot_connector_v1_connector, 0);
27
29
 
30
+ /**
31
+ * Describes the message kusinta.iot.connector.v1.CredentialsUpdate.
32
+ * Use `create(CredentialsUpdateSchema)` to create a new message.
33
+ */
34
+ export const CredentialsUpdateSchema = /*@__PURE__*/
35
+ messageDesc(file_kusinta_iot_connector_v1_connector, 1);
36
+
37
+ /**
38
+ * Describes the message kusinta.iot.connector.v1.CredentialsSnapshot.
39
+ * Use `create(CredentialsSnapshotSchema)` to create a new message.
40
+ */
41
+ export const CredentialsSnapshotSchema = /*@__PURE__*/
42
+ messageDesc(file_kusinta_iot_connector_v1_connector, 2);
43
+
44
+ /**
45
+ * Describes the message kusinta.iot.connector.v1.CredentialsRevoked.
46
+ * Use `create(CredentialsRevokedSchema)` to create a new message.
47
+ */
48
+ export const CredentialsRevokedSchema = /*@__PURE__*/
49
+ messageDesc(file_kusinta_iot_connector_v1_connector, 3);
50
+
28
51
  /**
29
52
  * Describes the message kusinta.iot.connector.v1.ConnectorHandshake.
30
53
  * Use `create(ConnectorHandshakeSchema)` to create a new message.
31
54
  */
32
55
  export const ConnectorHandshakeSchema = /*@__PURE__*/
33
- messageDesc(file_kusinta_iot_connector_v1_connector, 1);
56
+ messageDesc(file_kusinta_iot_connector_v1_connector, 4);
57
+
58
+ /**
59
+ * Describes the message kusinta.iot.connector.v1.BackendHealthReport.
60
+ * Use `create(BackendHealthReportSchema)` to create a new message.
61
+ */
62
+ export const BackendHealthReportSchema = /*@__PURE__*/
63
+ messageDesc(file_kusinta_iot_connector_v1_connector, 5);
64
+
65
+ /**
66
+ * Describes the message kusinta.iot.connector.v1.ReinitializeBackend.
67
+ * Use `create(ReinitializeBackendSchema)` to create a new message.
68
+ */
69
+ export const ReinitializeBackendSchema = /*@__PURE__*/
70
+ messageDesc(file_kusinta_iot_connector_v1_connector, 6);
71
+
72
+ /**
73
+ * Describes the message kusinta.iot.connector.v1.ReinitializeBackendResult.
74
+ * Use `create(ReinitializeBackendResultSchema)` to create a new message.
75
+ */
76
+ export const ReinitializeBackendResultSchema = /*@__PURE__*/
77
+ messageDesc(file_kusinta_iot_connector_v1_connector, 7);
78
+
79
+ /**
80
+ * Describes the message kusinta.iot.connector.v1.CreateLink.
81
+ * Use `create(CreateLinkSchema)` to create a new message.
82
+ */
83
+ export const CreateLinkSchema = /*@__PURE__*/
84
+ messageDesc(file_kusinta_iot_connector_v1_connector, 8);
85
+
86
+ /**
87
+ * Describes the message kusinta.iot.connector.v1.RemoveLink.
88
+ * Use `create(RemoveLinkSchema)` to create a new message.
89
+ */
90
+ export const RemoveLinkSchema = /*@__PURE__*/
91
+ messageDesc(file_kusinta_iot_connector_v1_connector, 9);
92
+
93
+ /**
94
+ * Describes the message kusinta.iot.connector.v1.ListLinks.
95
+ * Use `create(ListLinksSchema)` to create a new message.
96
+ */
97
+ export const ListLinksSchema = /*@__PURE__*/
98
+ messageDesc(file_kusinta_iot_connector_v1_connector, 10);
99
+
100
+ /**
101
+ * Describes the message kusinta.iot.connector.v1.LinkResult.
102
+ * Use `create(LinkResultSchema)` to create a new message.
103
+ */
104
+ export const LinkResultSchema = /*@__PURE__*/
105
+ messageDesc(file_kusinta_iot_connector_v1_connector, 11);
106
+
107
+ /**
108
+ * Describes the message kusinta.iot.connector.v1.LinksReported.
109
+ * Use `create(LinksReportedSchema)` to create a new message.
110
+ */
111
+ export const LinksReportedSchema = /*@__PURE__*/
112
+ messageDesc(file_kusinta_iot_connector_v1_connector, 12);
34
113
 
35
114
  /**
36
115
  * Describes the message kusinta.iot.connector.v1.HandshakeAck.
37
116
  * Use `create(HandshakeAckSchema)` to create a new message.
38
117
  */
39
118
  export const HandshakeAckSchema = /*@__PURE__*/
40
- messageDesc(file_kusinta_iot_connector_v1_connector, 2);
119
+ messageDesc(file_kusinta_iot_connector_v1_connector, 13);
41
120
 
42
121
  /**
43
122
  * Describes the message kusinta.iot.connector.v1.DeviceAnnouncement.
44
123
  * Use `create(DeviceAnnouncementSchema)` to create a new message.
45
124
  */
46
125
  export const DeviceAnnouncementSchema = /*@__PURE__*/
47
- messageDesc(file_kusinta_iot_connector_v1_connector, 3);
126
+ messageDesc(file_kusinta_iot_connector_v1_connector, 14);
48
127
 
49
128
  /**
50
129
  * Describes the message kusinta.iot.connector.v1.DeviceRemoval.
51
130
  * Use `create(DeviceRemovalSchema)` to create a new message.
52
131
  */
53
132
  export const DeviceRemovalSchema = /*@__PURE__*/
54
- messageDesc(file_kusinta_iot_connector_v1_connector, 4);
133
+ messageDesc(file_kusinta_iot_connector_v1_connector, 15);
55
134
 
56
135
  /**
57
136
  * Describes the message kusinta.iot.connector.v1.HeartBeat.
58
137
  * Use `create(HeartBeatSchema)` to create a new message.
59
138
  */
60
139
  export const HeartBeatSchema = /*@__PURE__*/
61
- messageDesc(file_kusinta_iot_connector_v1_connector, 5);
140
+ messageDesc(file_kusinta_iot_connector_v1_connector, 16);
62
141
 
63
142
  /**
64
143
  * Describes the message kusinta.iot.connector.v1.SubscribeDevice.
65
144
  * Use `create(SubscribeDeviceSchema)` to create a new message.
66
145
  */
67
146
  export const SubscribeDeviceSchema = /*@__PURE__*/
68
- messageDesc(file_kusinta_iot_connector_v1_connector, 6);
147
+ messageDesc(file_kusinta_iot_connector_v1_connector, 17);
69
148
 
70
149
  /**
71
150
  * Describes the message kusinta.iot.connector.v1.UnsubscribeDevice.
72
151
  * Use `create(UnsubscribeDeviceSchema)` to create a new message.
73
152
  */
74
153
  export const UnsubscribeDeviceSchema = /*@__PURE__*/
75
- messageDesc(file_kusinta_iot_connector_v1_connector, 7);
154
+ messageDesc(file_kusinta_iot_connector_v1_connector, 18);
76
155
 
77
156
  /**
78
157
  * Describes the message kusinta.iot.connector.v1.GatewayError.
79
158
  * Use `create(GatewayErrorSchema)` to create a new message.
80
159
  */
81
160
  export const GatewayErrorSchema = /*@__PURE__*/
82
- messageDesc(file_kusinta_iot_connector_v1_connector, 8);
161
+ messageDesc(file_kusinta_iot_connector_v1_connector, 19);
83
162
 
84
163
  /**
85
164
  * Describes the message kusinta.iot.connector.v1.ConnectorCommandResult.
86
165
  * Use `create(ConnectorCommandResultSchema)` to create a new message.
87
166
  */
88
167
  export const ConnectorCommandResultSchema = /*@__PURE__*/
89
- messageDesc(file_kusinta_iot_connector_v1_connector, 9);
168
+ messageDesc(file_kusinta_iot_connector_v1_connector, 20);
90
169
 
91
170
  /**
92
171
  * Describes the message kusinta.iot.connector.v1.EnterPairingMode.
93
172
  * Use `create(EnterPairingModeSchema)` to create a new message.
94
173
  */
95
174
  export const EnterPairingModeSchema = /*@__PURE__*/
96
- messageDesc(file_kusinta_iot_connector_v1_connector, 10);
175
+ messageDesc(file_kusinta_iot_connector_v1_connector, 21);
97
176
 
98
177
  /**
99
178
  * Describes the message kusinta.iot.connector.v1.PairingModeResult.
100
179
  * Use `create(PairingModeResultSchema)` to create a new message.
101
180
  */
102
181
  export const PairingModeResultSchema = /*@__PURE__*/
103
- messageDesc(file_kusinta_iot_connector_v1_connector, 11);
182
+ messageDesc(file_kusinta_iot_connector_v1_connector, 22);
104
183
 
105
184
  /**
106
185
  * Describes the message kusinta.iot.connector.v1.PairingModeEnded.
107
186
  * Use `create(PairingModeEndedSchema)` to create a new message.
108
187
  */
109
188
  export const PairingModeEndedSchema = /*@__PURE__*/
110
- messageDesc(file_kusinta_iot_connector_v1_connector, 12);
189
+ messageDesc(file_kusinta_iot_connector_v1_connector, 23);
111
190
 
112
191
  /**
113
192
  * Describes the message kusinta.iot.connector.v1.SessionRequest.
114
193
  * Use `create(SessionRequestSchema)` to create a new message.
115
194
  */
116
195
  export const SessionRequestSchema = /*@__PURE__*/
117
- messageDesc(file_kusinta_iot_connector_v1_connector, 13);
196
+ messageDesc(file_kusinta_iot_connector_v1_connector, 24);
118
197
 
119
198
  /**
120
199
  * Describes the message kusinta.iot.connector.v1.SessionResponse.
121
200
  * Use `create(SessionResponseSchema)` to create a new message.
122
201
  */
123
202
  export const SessionResponseSchema = /*@__PURE__*/
124
- messageDesc(file_kusinta_iot_connector_v1_connector, 14);
203
+ messageDesc(file_kusinta_iot_connector_v1_connector, 25);
204
+
205
+ /**
206
+ * Describes the enum kusinta.iot.connector.v1.ReinitializeOutcome.
207
+ */
208
+ export const ReinitializeOutcomeSchema = /*@__PURE__*/
209
+ enumDesc(file_kusinta_iot_connector_v1_connector, 0);
210
+
211
+ /**
212
+ * @generated from enum kusinta.iot.connector.v1.ReinitializeOutcome
213
+ */
214
+ export const ReinitializeOutcome = /*@__PURE__*/
215
+ tsEnum(ReinitializeOutcomeSchema);
125
216
 
@@ -2,7 +2,7 @@
2
2
  // @generated from file kusinta/iot/device/v1/cluster_state.proto (package kusinta.iot.device.v1, syntax proto3)
3
3
  /* eslint-disable */
4
4
 
5
- import type { GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
5
+ import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
6
6
  import type { Message } from "@bufbuild/protobuf";
7
7
 
8
8
  /**
@@ -253,6 +253,40 @@ export declare type ClusterState = Message<"kusinta.iot.device.v1.ClusterState">
253
253
  * @generated from field: repeated uint32 attribute_ids = 6;
254
254
  */
255
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 };
275
+
276
+ /**
277
+ * What a write to each attribute leaves behind, and how late its reports arrive, keyed by
278
+ * attribute id. See AttributeBehaviour. Its step stays in attribute_steps.
279
+ *
280
+ * Per endpoint because a ClusterState belongs to one endpoint: a device with several
281
+ * independently switched outputs states each output's behaviour on that output's
282
+ * endpoint. A vendor parameter, which has no cluster, states its behaviour in
283
+ * Endpoint.vendor_attribute_behaviours.
284
+ *
285
+ * Stated by the producer at announcement. An absent key is "not stated".
286
+ *
287
+ * @generated from field: map<uint32, kusinta.iot.device.v1.AttributeBehaviour> attribute_behaviours = 8;
288
+ */
289
+ attributeBehaviours: { [key: number]: AttributeBehaviour };
256
290
  };
257
291
 
258
292
  /**
@@ -261,3 +295,181 @@ export declare type ClusterState = Message<"kusinta.iot.device.v1.ClusterState">
261
295
  */
262
296
  export declare const ClusterStateSchema: GenMessage<ClusterState>;
263
297
 
298
+ /**
299
+ * What a write to one attribute leaves behind, and how late its reports arrive. Stated per
300
+ * attribute, per endpoint, by the producer that knows the device.
301
+ *
302
+ * A consumer that leaves a written value in place while it is gone — a gateway steering
303
+ * heat — needs to know what the device does on its own. Not stated is read as the worst
304
+ * case: a write whose kind is not stated is held as if sticky, and a reading whose latency
305
+ * is not stated is never treated as real-time.
306
+ *
307
+ * A consumer that drives an output while it may itself go quiet states its own rule for
308
+ * an output whose behaviour is not stated, and the rule is a refusal — the opposite default
309
+ * to attribute_ids or a connector's known_links, where not stated only means not known.
310
+ * heating.v1 is one: it binds no output whose write is not stated as leased. Rollout order:
311
+ * a producer states the behaviour of such outputs before a consumer that drives them takes
312
+ * the release that enforces its rule.
313
+ *
314
+ * @generated from message kusinta.iot.device.v1.AttributeBehaviour
315
+ */
316
+ export declare type AttributeBehaviour = Message<"kusinta.iot.device.v1.AttributeBehaviour"> & {
317
+ /**
318
+ * What a write leaves behind when its writer goes quiet. Unset: not stated.
319
+ *
320
+ * @generated from oneof kusinta.iot.device.v1.AttributeBehaviour.write
321
+ */
322
+ write: {
323
+ /**
324
+ * @generated from field: kusinta.iot.device.v1.StickyWrite sticky = 1;
325
+ */
326
+ value: StickyWrite;
327
+ case: "sticky";
328
+ } | {
329
+ /**
330
+ * @generated from field: kusinta.iot.device.v1.LeasedWrite leased = 2;
331
+ */
332
+ value: LeasedWrite;
333
+ case: "leased";
334
+ } | { case: undefined; value?: undefined };
335
+
336
+ /**
337
+ * The value the attribute takes when the device's power returns. Stated only for an
338
+ * attribute whose cluster has no startup attribute of its own: where the cluster has one
339
+ * (OnOff's StartUpOnOff, Level Control's StartUpCurrentLevel), that attribute says it and
340
+ * this stays unset, so the value lives in one place. Unset: not stated.
341
+ *
342
+ * @generated from field: kusinta.iot.device.v1.AttributeValue power_on_value = 3;
343
+ */
344
+ powerOnValue?: AttributeValue | undefined;
345
+
346
+ /**
347
+ * How late a reported value reaches the producer. Unset: not stated, never REAL_TIME.
348
+ *
349
+ * @generated from field: kusinta.iot.device.v1.ReadLatency read_latency = 4;
350
+ */
351
+ readLatency: ReadLatency;
352
+ };
353
+
354
+ /**
355
+ * Describes the message kusinta.iot.device.v1.AttributeBehaviour.
356
+ * Use `create(AttributeBehaviourSchema)` to create a new message.
357
+ */
358
+ export declare const AttributeBehaviourSchema: GenMessage<AttributeBehaviour>;
359
+
360
+ /**
361
+ * The device holds a written value until something writes it again: through the writer's
362
+ * absence and a lost network. A writer that may go quiet writes a value it can live with
363
+ * being left in place.
364
+ *
365
+ * @generated from message kusinta.iot.device.v1.StickyWrite
366
+ */
367
+ export declare type StickyWrite = Message<"kusinta.iot.device.v1.StickyWrite"> & {
368
+ };
369
+
370
+ /**
371
+ * Describes the message kusinta.iot.device.v1.StickyWrite.
372
+ * Use `create(StickyWriteSchema)` to create a new message.
373
+ */
374
+ export declare const StickyWriteSchema: GenMessage<StickyWrite>;
375
+
376
+ /**
377
+ * The device itself returns the attribute to lapse_value when a write's lease runs out,
378
+ * whether or not anything is still talking to it. The lease is kept by the device — a
379
+ * timer, or a watchdog on the device's own link — never by the writer re-sending: a value
380
+ * that lapses only because its writer keeps renewing it is sticky to anyone who has to
381
+ * plan for the writer failing.
382
+ *
383
+ * @generated from message kusinta.iot.device.v1.LeasedWrite
384
+ */
385
+ export declare type LeasedWrite = Message<"kusinta.iot.device.v1.LeasedWrite"> & {
386
+ /**
387
+ * The shortest and longest lease, in seconds, the device accepts. Absent: no bound on
388
+ * that side, never zero. A lease outside them is refused rather than clamped. Where the
389
+ * device fixes the length itself — a boost time set as a device parameter — the producer
390
+ * states that length as both bounds, so it never accepts a lease it cannot keep.
391
+ *
392
+ * @generated from field: optional uint32 min_lease_seconds = 1;
393
+ */
394
+ minLeaseSeconds?: number | undefined;
395
+
396
+ /**
397
+ * @generated from field: optional uint32 max_lease_seconds = 2;
398
+ */
399
+ maxLeaseSeconds?: number | undefined;
400
+
401
+ /**
402
+ * Whether a write that arrives before the lease runs out starts the lease again from
403
+ * that write. False or unset (not stated): a writer MUST NOT assume that writing the
404
+ * same value again extends how long it holds.
405
+ *
406
+ * @generated from field: optional bool renewal_restarts_lease = 3;
407
+ */
408
+ renewalRestartsLease?: boolean | undefined;
409
+
410
+ /**
411
+ * The value the attribute returns to when the lease runs out. It is the state a site
412
+ * falls back to whenever its writer is gone, so it is what an installer checks first and
413
+ * what a consumer shows as "what happens if this stops". A producer always states it; a
414
+ * consumer reads a lease without it as a write kind not stated.
415
+ *
416
+ * A fixed value. A device whose timer returns the output to whatever it held before the
417
+ * write is leased only if its producer guarantees that earlier value is the lapse value
418
+ * — by accepting timed writes only while the output is at its lapse value, or by
419
+ * writing the lapse value untimed before each one — and is otherwise stated sticky.
420
+ *
421
+ * A write of the lapse value itself needs no lease: it ends any lease running, and a
422
+ * lease carried on it is ignored rather than refused. That is how a writer ends a lease
423
+ * early.
424
+ *
425
+ * A report of the lapse value after a lease has run out is the lease ending, not a
426
+ * change from outside: a consumer that adopts values it did not write — a turned dial —
427
+ * MUST NOT adopt that one as a person's.
428
+ *
429
+ * @generated from field: kusinta.iot.device.v1.AttributeValue lapse_value = 4;
430
+ */
431
+ lapseValue?: AttributeValue | undefined;
432
+ };
433
+
434
+ /**
435
+ * Describes the message kusinta.iot.device.v1.LeasedWrite.
436
+ * Use `create(LeasedWriteSchema)` to create a new message.
437
+ */
438
+ export declare const LeasedWriteSchema: GenMessage<LeasedWrite>;
439
+
440
+ /**
441
+ * How late a reported value reaches the producer after it changes at the device.
442
+ *
443
+ * @generated from enum kusinta.iot.device.v1.ReadLatency
444
+ */
445
+ export enum ReadLatency {
446
+ /**
447
+ * Not stated. Never treated as REAL_TIME.
448
+ *
449
+ * @generated from enum value: READ_LATENCY_UNSPECIFIED = 0;
450
+ */
451
+ UNSPECIFIED = 0,
452
+
453
+ /**
454
+ * Within a few minutes of the change, every time. A value relayed through a vendor's
455
+ * service is not stated REAL_TIME unless that has been measured.
456
+ *
457
+ * @generated from enum value: READ_LATENCY_REAL_TIME = 1;
458
+ */
459
+ REAL_TIME = 1,
460
+
461
+ /**
462
+ * Late enough that acting on it as current would be wrong: values collected by a
463
+ * vendor's service and handed on in batches, hourly values made available the next day.
464
+ * Fit for records, models and reports; not for a decision that has to be made now.
465
+ *
466
+ * @generated from enum value: READ_LATENCY_DELAYED = 2;
467
+ */
468
+ DELAYED = 2,
469
+ }
470
+
471
+ /**
472
+ * Describes the enum kusinta.iot.device.v1.ReadLatency.
473
+ */
474
+ export declare const ReadLatencySchema: GenEnum<ReadLatency>;
475
+
@@ -2,13 +2,13 @@
2
2
  // @generated from file kusinta/iot/device/v1/cluster_state.proto (package kusinta.iot.device.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
 
7
7
  /**
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("CilrdXNpbnRhL2lvdC9kZXZpY2UvdjEvY2x1c3Rlcl9zdGF0ZS5wcm90bxIVa3VzaW50YS5pb3QuZGV2aWNlLnYxIgsKCU51bGxWYWx1ZSLfAgoOQXR0cmlidXRlVmFsdWUSFAoKYm9vbF92YWx1ZRgBIAEoCEgAEhMKCWludF92YWx1ZRgCIAEoEkgAEhQKCnVpbnRfdmFsdWUYAyABKARIABIWCgxkb3VibGVfdmFsdWUYBCABKAFIABIWCgxzdHJpbmdfdmFsdWUYBSABKAlIABIVCgtieXRlc192YWx1ZRgGIAEoDEgAEj8KCmxpc3RfdmFsdWUYByABKAsyKS5rdXNpbnRhLmlvdC5kZXZpY2UudjEuQXR0cmlidXRlVmFsdWVMaXN0SAASQwoMc3RydWN0X3ZhbHVlGAggASgLMisua3VzaW50YS5pb3QuZGV2aWNlLnYxLkF0dHJpYnV0ZVZhbHVlU3RydWN0SAASNgoKbnVsbF92YWx1ZRgJIAEoCzIgLmt1c2ludGEuaW90LmRldmljZS52MS5OdWxsVmFsdWVIAEIHCgV2YWx1ZSJLChJBdHRyaWJ1dGVWYWx1ZUxpc3QSNQoGdmFsdWVzGAEgAygLMiUua3VzaW50YS5pb3QuZGV2aWNlLnYxLkF0dHJpYnV0ZVZhbHVlIrUBChRBdHRyaWJ1dGVWYWx1ZVN0cnVjdBJHCgZmaWVsZHMYASADKAsyNy5rdXNpbnRhLmlvdC5kZXZpY2UudjEuQXR0cmlidXRlVmFsdWVTdHJ1Y3QuRmllbGRzRW50cnkaVAoLRmllbGRzRW50cnkSCwoDa2V5GAEgASgNEjQKBXZhbHVlGAIgASgLMiUua3VzaW50YS5pb3QuZGV2aWNlLnYxLkF0dHJpYnV0ZVZhbHVlOgI4ASJcCg5BdHRyaWJ1dGVTdGF0ZRIUCgxhdHRyaWJ1dGVfaWQYASABKA0SNAoFdmFsdWUYAiABKAsyJS5rdXNpbnRhLmlvdC5kZXZpY2UudjEuQXR0cmlidXRlVmFsdWUi8AEKDENsdXN0ZXJTdGF0ZRISCgpjbHVzdGVyX2lkGAEgASgNEh0KEGNsdXN0ZXJfcmV2aXNpb24YAiABKA1IAIgBARIYCgtmZWF0dXJlX21hcBgDIAEoDUgBiAEBEjkKCmF0dHJpYnV0ZXMYBCADKAsyJS5rdXNpbnRhLmlvdC5kZXZpY2UudjEuQXR0cmlidXRlU3RhdGUSHAoUYWNjZXB0ZWRfY29tbWFuZF9pZHMYBSADKA0SFQoNYXR0cmlidXRlX2lkcxgGIAMoDUITChFfY2x1c3Rlcl9yZXZpc2lvbkIOCgxfZmVhdHVyZV9tYXBCAkgBYgZwcm90bzM");
11
+ fileDesc("CilrdXNpbnRhL2lvdC9kZXZpY2UvdjEvY2x1c3Rlcl9zdGF0ZS5wcm90bxIVa3VzaW50YS5pb3QuZGV2aWNlLnYxIgsKCU51bGxWYWx1ZSLfAgoOQXR0cmlidXRlVmFsdWUSFAoKYm9vbF92YWx1ZRgBIAEoCEgAEhMKCWludF92YWx1ZRgCIAEoEkgAEhQKCnVpbnRfdmFsdWUYAyABKARIABIWCgxkb3VibGVfdmFsdWUYBCABKAFIABIWCgxzdHJpbmdfdmFsdWUYBSABKAlIABIVCgtieXRlc192YWx1ZRgGIAEoDEgAEj8KCmxpc3RfdmFsdWUYByABKAsyKS5rdXNpbnRhLmlvdC5kZXZpY2UudjEuQXR0cmlidXRlVmFsdWVMaXN0SAASQwoMc3RydWN0X3ZhbHVlGAggASgLMisua3VzaW50YS5pb3QuZGV2aWNlLnYxLkF0dHJpYnV0ZVZhbHVlU3RydWN0SAASNgoKbnVsbF92YWx1ZRgJIAEoCzIgLmt1c2ludGEuaW90LmRldmljZS52MS5OdWxsVmFsdWVIAEIHCgV2YWx1ZSJLChJBdHRyaWJ1dGVWYWx1ZUxpc3QSNQoGdmFsdWVzGAEgAygLMiUua3VzaW50YS5pb3QuZGV2aWNlLnYxLkF0dHJpYnV0ZVZhbHVlIrUBChRBdHRyaWJ1dGVWYWx1ZVN0cnVjdBJHCgZmaWVsZHMYASADKAsyNy5rdXNpbnRhLmlvdC5kZXZpY2UudjEuQXR0cmlidXRlVmFsdWVTdHJ1Y3QuRmllbGRzRW50cnkaVAoLRmllbGRzRW50cnkSCwoDa2V5GAEgASgNEjQKBXZhbHVlGAIgASgLMiUua3VzaW50YS5pb3QuZGV2aWNlLnYxLkF0dHJpYnV0ZVZhbHVlOgI4ASJcCg5BdHRyaWJ1dGVTdGF0ZRIUCgxhdHRyaWJ1dGVfaWQYASABKA0SNAoFdmFsdWUYAiABKAsyJS5rdXNpbnRhLmlvdC5kZXZpY2UudjEuQXR0cmlidXRlVmFsdWUivAQKDENsdXN0ZXJTdGF0ZRISCgpjbHVzdGVyX2lkGAEgASgNEh0KEGNsdXN0ZXJfcmV2aXNpb24YAiABKA1IAIgBARIYCgtmZWF0dXJlX21hcBgDIAEoDUgBiAEBEjkKCmF0dHJpYnV0ZXMYBCADKAsyJS5rdXNpbnRhLmlvdC5kZXZpY2UudjEuQXR0cmlidXRlU3RhdGUSHAoUYWNjZXB0ZWRfY29tbWFuZF9pZHMYBSADKA0SFQoNYXR0cmlidXRlX2lkcxgGIAMoDRJQCg9hdHRyaWJ1dGVfc3RlcHMYByADKAsyNy5rdXNpbnRhLmlvdC5kZXZpY2UudjEuQ2x1c3RlclN0YXRlLkF0dHJpYnV0ZVN0ZXBzRW50cnkSWgoUYXR0cmlidXRlX2JlaGF2aW91cnMYCCADKAsyPC5rdXNpbnRhLmlvdC5kZXZpY2UudjEuQ2x1c3RlclN0YXRlLkF0dHJpYnV0ZUJlaGF2aW91cnNFbnRyeRo1ChNBdHRyaWJ1dGVTdGVwc0VudHJ5EgsKA2tleRgBIAEoDRINCgV2YWx1ZRgCIAEoDToCOAEaZQoYQXR0cmlidXRlQmVoYXZpb3Vyc0VudHJ5EgsKA2tleRgBIAEoDRI4CgV2YWx1ZRgCIAEoCzIpLmt1c2ludGEuaW90LmRldmljZS52MS5BdHRyaWJ1dGVCZWhhdmlvdXI6AjgBQhMKEV9jbHVzdGVyX3JldmlzaW9uQg4KDF9mZWF0dXJlX21hcCKCAgoSQXR0cmlidXRlQmVoYXZpb3VyEjQKBnN0aWNreRgBIAEoCzIiLmt1c2ludGEuaW90LmRldmljZS52MS5TdGlja3lXcml0ZUgAEjQKBmxlYXNlZBgCIAEoCzIiLmt1c2ludGEuaW90LmRldmljZS52MS5MZWFzZWRXcml0ZUgAEj0KDnBvd2VyX29uX3ZhbHVlGAMgASgLMiUua3VzaW50YS5pb3QuZGV2aWNlLnYxLkF0dHJpYnV0ZVZhbHVlEjgKDHJlYWRfbGF0ZW5jeRgEIAEoDjIiLmt1c2ludGEuaW90LmRldmljZS52MS5SZWFkTGF0ZW5jeUIHCgV3cml0ZSINCgtTdGlja3lXcml0ZSL1AQoLTGVhc2VkV3JpdGUSHgoRbWluX2xlYXNlX3NlY29uZHMYASABKA1IAIgBARIeChFtYXhfbGVhc2Vfc2Vjb25kcxgCIAEoDUgBiAEBEiMKFnJlbmV3YWxfcmVzdGFydHNfbGVhc2UYAyABKAhIAogBARI6CgtsYXBzZV92YWx1ZRgEIAEoCzIlLmt1c2ludGEuaW90LmRldmljZS52MS5BdHRyaWJ1dGVWYWx1ZUIUChJfbWluX2xlYXNlX3NlY29uZHNCFAoSX21heF9sZWFzZV9zZWNvbmRzQhkKF19yZW5ld2FsX3Jlc3RhcnRzX2xlYXNlKmEKC1JlYWRMYXRlbmN5EhwKGFJFQURfTEFURU5DWV9VTlNQRUNJRklFRBAAEhoKFlJFQURfTEFURU5DWV9SRUFMX1RJTUUQARIYChRSRUFEX0xBVEVOQ1lfREVMQVlFRBACQgJIAWIGcHJvdG8z");
12
12
 
13
13
  /**
14
14
  * Describes the message kusinta.iot.device.v1.NullValue.
@@ -52,3 +52,38 @@ export const AttributeStateSchema = /*@__PURE__*/
52
52
  export const ClusterStateSchema = /*@__PURE__*/
53
53
  messageDesc(file_kusinta_iot_device_v1_cluster_state, 5);
54
54
 
55
+ /**
56
+ * Describes the message kusinta.iot.device.v1.AttributeBehaviour.
57
+ * Use `create(AttributeBehaviourSchema)` to create a new message.
58
+ */
59
+ export const AttributeBehaviourSchema = /*@__PURE__*/
60
+ messageDesc(file_kusinta_iot_device_v1_cluster_state, 6);
61
+
62
+ /**
63
+ * Describes the message kusinta.iot.device.v1.StickyWrite.
64
+ * Use `create(StickyWriteSchema)` to create a new message.
65
+ */
66
+ export const StickyWriteSchema = /*@__PURE__*/
67
+ messageDesc(file_kusinta_iot_device_v1_cluster_state, 7);
68
+
69
+ /**
70
+ * Describes the message kusinta.iot.device.v1.LeasedWrite.
71
+ * Use `create(LeasedWriteSchema)` to create a new message.
72
+ */
73
+ export const LeasedWriteSchema = /*@__PURE__*/
74
+ messageDesc(file_kusinta_iot_device_v1_cluster_state, 8);
75
+
76
+ /**
77
+ * Describes the enum kusinta.iot.device.v1.ReadLatency.
78
+ */
79
+ export const ReadLatencySchema = /*@__PURE__*/
80
+ enumDesc(file_kusinta_iot_device_v1_cluster_state, 0);
81
+
82
+ /**
83
+ * How late a reported value reaches the producer after it changes at the device.
84
+ *
85
+ * @generated from enum kusinta.iot.device.v1.ReadLatency
86
+ */
87
+ export const ReadLatency = /*@__PURE__*/
88
+ tsEnum(ReadLatencySchema);
89
+
@@ -5,8 +5,9 @@
5
5
  import type { GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
6
6
  import type { Message } from "@bufbuild/protobuf";
7
7
  import type { ConnectorId, DeviceId, SpaceId, UserId } from "../../identity/v1/identity_pb.js";
8
- import type { DeviceLifecycleState, DeviceOwnershipType } from "../../common/v1/types_pb.js";
8
+ import type { AssetOwner, 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
  /**
@@ -20,8 +21,8 @@ export declare const file_kusinta_iot_device_v1_descriptor: GenFile;
20
21
  * Device.endpoints.
21
22
  *
22
23
  * Field bands: 1-2 identity, 3-10 Matter BasicInformation, 11-12 placement,
23
- * 13-16 ownership and lifecycle, 18-19 vendor identity and bridging.
24
- * 2 and 17 are burned; the next free number is 20.
24
+ * 13-16 and 21 ownership and lifecycle, 18-20 vendor identity, bridging and linking.
25
+ * 2 and 17 are burned; the next free number is 22.
25
26
  *
26
27
  * @generated from message kusinta.iot.device.v1.DeviceDescriptor
27
28
  */
@@ -101,6 +102,20 @@ export declare type DeviceDescriptor = Message<"kusinta.iot.device.v1.DeviceDesc
101
102
  ownerUserId?: UserId | undefined;
102
103
 
103
104
  /**
105
+ * Who owns it as an asset, where ownership is COMPANY: see common.v1.AssetOwner, which
106
+ * decides nobody's access, only whether a room's outer limits can bind the device. Set by the
107
+ * gateway from its own records (webrtc.v1.SetAssetOwner) and given to whoever is given the
108
+ * descriptor; a connector leaves it unset, and the gateway ignores it from one.
109
+ *
110
+ * @generated from field: kusinta.iot.common.v1.AssetOwner asset_owner = 21;
111
+ */
112
+ assetOwner?: AssetOwner | undefined;
113
+
114
+ /**
115
+ * Unset when it is withheld from the recipient: in a service view, and from anyone when
116
+ * it dates from before their current residency in the home, or from a home they did not
117
+ * live in at the time (see access.v1.MembershipRelation).
118
+ *
104
119
  * @generated from field: google.protobuf.Timestamp claimed_at = 16;
105
120
  */
106
121
  claimedAt?: Timestamp | undefined;
@@ -120,12 +135,25 @@ export declare type DeviceDescriptor = Message<"kusinta.iot.device.v1.DeviceDesc
120
135
  *
121
136
  * So a Device is a Matter node OR one device behind one — the equivalence is deliberately
122
137
  * not exact, and this field is how a consumer tells which. Absent means the device is
123
- * reached directly.
138
+ * reached directly, or that its bridge is withheld from the recipient (see
139
+ * access.v1.ServiceSignal FILING).
124
140
  *
125
141
  * @generated from field: optional kusinta.iot.identity.v1.DeviceId bridged_by = 19;
126
142
  */
127
143
  bridgedBy?: DeviceId | undefined;
128
144
 
145
+ /**
146
+ * What this device can be linked as, if anything — see link.v1.LinkCapability.
147
+ *
148
+ * Declared by the connector that models the device, because only it knows
149
+ * which of a device's connections can lead, which can follow, and what a hub
150
+ * will actually broker. Empty means "states nothing", never "cannot be
151
+ * linked": a connector that does not model linking says nothing here.
152
+ *
153
+ * @generated from field: repeated kusinta.iot.link.v1.LinkCapability link_capabilities = 20;
154
+ */
155
+ linkCapabilities: LinkCapability[];
156
+
129
157
  /**
130
158
  * @generated from oneof kusinta.iot.device.v1.DeviceDescriptor.vendor_identity
131
159
  */
@@ -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("CiZrdXNpbnRhL2lvdC9kZXZpY2UvdjEvZGVzY3JpcHRvci5wcm90bxIVa3VzaW50YS5pb3QuZGV2aWNlLnYxIrkGChBEZXZpY2VEZXNjcmlwdG9yEjQKCWRldmljZV9pZBgBIAEoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkEhMKC3ZlbmRvcl9uYW1lGAMgASgJEhQKDHByb2R1Y3RfbmFtZRgEIAEoCRIVCg1zZXJpYWxfbnVtYmVyGAUgASgJEhIKCm5vZGVfbGFiZWwYBiABKAkSEQoJdmVuZG9yX2lkGAcgASgNEhIKCnByb2R1Y3RfaWQYCCABKA0SHwoXaGFyZHdhcmVfdmVyc2lvbl9zdHJpbmcYCSABKAkSHwoXc29mdHdhcmVfdmVyc2lvbl9zdHJpbmcYCiABKAkSOgoMY29ubmVjdG9yX2lkGAsgASgLMiQua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuQ29ubmVjdG9ySWQSMgoIc3BhY2VfaWQYDCABKAsyIC5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5TcGFjZUlkEj0KCW93bmVyc2hpcBgNIAEoDjIqLmt1c2ludGEuaW90LmNvbW1vbi52MS5EZXZpY2VPd25lcnNoaXBUeXBlEj4KCWxpZmVjeWNsZRgOIAEoDjIrLmt1c2ludGEuaW90LmNvbW1vbi52MS5EZXZpY2VMaWZlY3ljbGVTdGF0ZRI2Cg1vd25lcl91c2VyX2lkGA8gASgLMh8ua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuVXNlcklkEi4KCmNsYWltZWRfYXQYECABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjoKCmJyaWRnZWRfYnkYEyABKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZEgBiAEBEk0KCWhvbWVtYXRpYxgSIAEoCzI4Lmt1c2ludGEuaW90LnZlbmRvci5ob21lbWF0aWMudjEuSG9tZW1hdGljRGV2aWNlSWRlbnRpdHlIAEIRCg92ZW5kb3JfaWRlbnRpdHlCDQoLX2JyaWRnZWRfYnlKBAgCEANKBAgREBJSFW1hdHRlcl9kZXZpY2VfdHlwZV9pZFIJZW5kcG9pbnRzQgJIAWIGcHJvdG8z", [file_google_protobuf_timestamp, file_kusinta_iot_common_v1_types, file_kusinta_iot_identity_v1_identity, file_kusinta_iot_vendor_homematic_v1_homematic]);
16
+ fileDesc("CiZrdXNpbnRhL2lvdC9kZXZpY2UvdjEvZGVzY3JpcHRvci5wcm90bxIVa3VzaW50YS5pb3QuZGV2aWNlLnYxIrEHChBEZXZpY2VEZXNjcmlwdG9yEjQKCWRldmljZV9pZBgBIAEoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkEhMKC3ZlbmRvcl9uYW1lGAMgASgJEhQKDHByb2R1Y3RfbmFtZRgEIAEoCRIVCg1zZXJpYWxfbnVtYmVyGAUgASgJEhIKCm5vZGVfbGFiZWwYBiABKAkSEQoJdmVuZG9yX2lkGAcgASgNEhIKCnByb2R1Y3RfaWQYCCABKA0SHwoXaGFyZHdhcmVfdmVyc2lvbl9zdHJpbmcYCSABKAkSHwoXc29mdHdhcmVfdmVyc2lvbl9zdHJpbmcYCiABKAkSOgoMY29ubmVjdG9yX2lkGAsgASgLMiQua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuQ29ubmVjdG9ySWQSMgoIc3BhY2VfaWQYDCABKAsyIC5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5TcGFjZUlkEj0KCW93bmVyc2hpcBgNIAEoDjIqLmt1c2ludGEuaW90LmNvbW1vbi52MS5EZXZpY2VPd25lcnNoaXBUeXBlEj4KCWxpZmVjeWNsZRgOIAEoDjIrLmt1c2ludGEuaW90LmNvbW1vbi52MS5EZXZpY2VMaWZlY3ljbGVTdGF0ZRI2Cg1vd25lcl91c2VyX2lkGA8gASgLMh8ua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuVXNlcklkEjYKC2Fzc2V0X293bmVyGBUgASgLMiEua3VzaW50YS5pb3QuY29tbW9uLnYxLkFzc2V0T3duZXISLgoKY2xhaW1lZF9hdBgQIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASOgoKYnJpZGdlZF9ieRgTIAEoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkSAGIAQESPgoRbGlua19jYXBhYmlsaXRpZXMYFCADKAsyIy5rdXNpbnRhLmlvdC5saW5rLnYxLkxpbmtDYXBhYmlsaXR5Ek0KCWhvbWVtYXRpYxgSIAEoCzI4Lmt1c2ludGEuaW90LnZlbmRvci5ob21lbWF0aWMudjEuSG9tZW1hdGljRGV2aWNlSWRlbnRpdHlIAEIRCg92ZW5kb3JfaWRlbnRpdHlCDQoLX2JyaWRnZWRfYnlKBAgCEANKBAgREBJSFW1hdHRlcl9kZXZpY2VfdHlwZV9pZFIJZW5kcG9pbnRzQgJIAWIGcHJvdG8z", [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.