@@ -212,13 +212,6 @@ enum TestGlobalEnum : enum8 {
212
212
kFinalValue = 2;
213
213
}
214
214
215
- enum ThreeLevelAutoEnum : enum8 {
216
- kLow = 0;
217
- kMedium = 1;
218
- kHigh = 2;
219
- kAutomatic = 3;
220
- }
221
-
222
215
bitmap TestGlobalBitmap : bitmap32 {
223
216
kFirstBit = 0x1;
224
217
kSecondBit = 0x2;
@@ -9415,26 +9408,122 @@ provisional cluster ContentAppObserver = 1296 {
9415
9408
command ContentAppMessage(ContentAppMessageRequest): ContentAppMessageResponse = 0;
9416
9409
}
9417
9410
9418
- /** This cluster provides facilities to configure and play Chime sounds, such as those used in a doorbell . */
9419
- provisional cluster Chime = 1366 {
9411
+ /** This cluster provides an interface to manage regions of interest, or Zones, which can be either manufacturer or user defined . */
9412
+ provisional cluster ZoneManagement = 1360 {
9420
9413
revision 1;
9421
9414
9422
- struct ChimeSoundStruct {
9423
- int8u chimeID = 0;
9424
- char_string<48> name = 1;
9415
+ enum StatusCodeEnum : enum8 {
9416
+ kZONENOTFOUND = 2;
9417
+ kZONEINUSE = 3;
9418
+ }
9419
+
9420
+ enum ZoneEventStoppedReasonEnum : enum8 {
9421
+ kActionStopped = 0;
9422
+ kTimeout = 1;
9423
+ }
9424
+
9425
+ enum ZoneEventTriggeredReasonEnum : enum8 {
9426
+ kMotion = 0;
9427
+ }
9428
+
9429
+ enum ZoneSourceEnum : enum8 {
9430
+ kMfg = 0;
9431
+ kUser = 1;
9432
+ }
9433
+
9434
+ enum ZoneTypeEnum : enum8 {
9435
+ kTwoDCARTZone = 0;
9436
+ }
9437
+
9438
+ enum ZoneUseEnum : enum8 {
9439
+ kMotion = 0;
9440
+ kPrivacy = 1;
9441
+ kFocus = 2;
9442
+ }
9443
+
9444
+ bitmap Feature : bitmap32 {
9445
+ kTwoDimensionalCartesianZone = 0x1;
9446
+ }
9447
+
9448
+ struct TwoDCartesianVertexStruct {
9449
+ int16u x = 0;
9450
+ int16u y = 1;
9451
+ }
9452
+
9453
+ struct TwoDCartesianZoneStruct {
9454
+ char_string<16> name = 0;
9455
+ ZoneUseEnum use = 1;
9456
+ TwoDCartesianVertexStruct vertices[] = 2;
9457
+ optional char_string<9> color = 3;
9425
9458
}
9426
9459
9427
- readonly attribute ChimeSoundStruct installedChimeSounds[] = 0;
9428
- attribute int8u activeChimeID = 1;
9429
- attribute boolean enabled = 2;
9460
+ struct ZoneInformationStruct {
9461
+ int16u zoneID = 0;
9462
+ ZoneTypeEnum zoneType = 1;
9463
+ ZoneSourceEnum zoneSource = 2;
9464
+ }
9465
+
9466
+ struct ZoneTriggeringTimeControlStruct {
9467
+ int16u initialDuration = 0;
9468
+ int16u augmentationDuration = 1;
9469
+ int32u maxDuration = 2;
9470
+ int16u blindDuration = 3;
9471
+ }
9472
+
9473
+ info event ZoneTriggered = 0 {
9474
+ int16u zones[] = 0;
9475
+ ZoneEventTriggeredReasonEnum reason = 1;
9476
+ }
9477
+
9478
+ info event ZoneStopped = 1 {
9479
+ int16u zones[] = 0;
9480
+ ZoneEventStoppedReasonEnum reason = 1;
9481
+ }
9482
+
9483
+ readonly attribute ZoneSourceEnum supportedZoneSources[] = 0;
9484
+ readonly attribute optional ZoneInformationStruct zones[] = 1;
9485
+ attribute ZoneTriggeringTimeControlStruct timeControl[] = 2;
9486
+ attribute int8u sensitivity = 3;
9430
9487
readonly attribute command_id generatedCommandList[] = 65528;
9431
9488
readonly attribute command_id acceptedCommandList[] = 65529;
9432
9489
readonly attribute event_id eventList[] = 65530;
9433
9490
readonly attribute attrib_id attributeList[] = 65531;
9434
9491
readonly attribute bitmap32 featureMap = 65532;
9435
9492
readonly attribute int16u clusterRevision = 65533;
9436
9493
9437
- command PlayChimeSound(): DefaultSuccess = 0;
9494
+ request struct CreateTwoDCartesianZoneRequest {
9495
+ TwoDCartesianZoneStruct zone = 0;
9496
+ }
9497
+
9498
+ response struct CreateTwoDCartesianZoneResponse = 1 {
9499
+ int16u zoneID = 0;
9500
+ }
9501
+
9502
+ request struct UpdateTwoDCartesianZoneRequest {
9503
+ int16u zoneID = 0;
9504
+ TwoDCartesianZoneStruct zone = 1;
9505
+ }
9506
+
9507
+ request struct GetTwoDCartesianZoneRequest {
9508
+ optional nullable int16u zoneID = 0;
9509
+ }
9510
+
9511
+ response struct GetTwoDCartesianZoneResponse = 4 {
9512
+ TwoDCartesianZoneStruct zones[] = 0;
9513
+ }
9514
+
9515
+ request struct RemoveZoneRequest {
9516
+ int16u zoneID = 0;
9517
+ }
9518
+
9519
+ /** This command SHALL create and store a TwoD Cartesian Zone. */
9520
+ command access(invoke: manage) CreateTwoDCartesianZone(CreateTwoDCartesianZoneRequest): DefaultSuccess = 0;
9521
+ /** The UpdateTwoDCartesianZone SHALL update a stored TwoD Cartesian Zone. */
9522
+ command access(invoke: manage) UpdateTwoDCartesianZone(UpdateTwoDCartesianZoneRequest): DefaultSuccess = 2;
9523
+ /** The GetTwoDCartesianZone SHALL return the TwoD Cartesian Zone for the passed in ZoneID. */
9524
+ command access(invoke: manage) GetTwoDCartesianZone(GetTwoDCartesianZoneRequest): DefaultSuccess = 3;
9525
+ /** This command SHALL remove the Zone mapped to the passed in ZoneID. */
9526
+ command access(invoke: manage) RemoveZone(RemoveZoneRequest): DefaultSuccess = 5;
9438
9527
}
9439
9528
9440
9529
/** Provides extended device information for all the logical devices represented by a Bridged Node. */
0 commit comments