@@ -9408,6 +9408,124 @@ provisional cluster ContentAppObserver = 1296 {
9408
9408
command ContentAppMessage(ContentAppMessageRequest): ContentAppMessageResponse = 0;
9409
9409
}
9410
9410
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 {
9413
+ revision 1;
9414
+
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;
9458
+ }
9459
+
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;
9487
+ readonly attribute command_id generatedCommandList[] = 65528;
9488
+ readonly attribute command_id acceptedCommandList[] = 65529;
9489
+ readonly attribute event_id eventList[] = 65530;
9490
+ readonly attribute attrib_id attributeList[] = 65531;
9491
+ readonly attribute bitmap32 featureMap = 65532;
9492
+ readonly attribute int16u clusterRevision = 65533;
9493
+
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;
9527
+ }
9528
+
9411
9529
/** Provides extended device information for all the logical devices represented by a Bridged Node. */
9412
9530
provisional cluster EcosystemInformation = 1872 {
9413
9531
revision 1;
0 commit comments