@@ -4467,6 +4467,91 @@ cluster EnergyEvse = 153 {
4467
4467
timed command ClearTargets(): DefaultSuccess = 7;
4468
4468
}
4469
4469
4470
+ /** */
4471
+ cluster EnergyCalendar = 154 {
4472
+ revision 3;
4473
+
4474
+ enum PeakPeriodSeverityEnum : enum8 {
4475
+ kUnused = 0;
4476
+ kLow = 1;
4477
+ kMedium = 2;
4478
+ kHigh = 3;
4479
+ }
4480
+
4481
+ bitmap AuxiliaryLoadBitmap : bitmap8 {
4482
+ kAuxiliarySwitch1 = 0x1;
4483
+ kAuxiliarySwitch2 = 0x2;
4484
+ kAuxiliarySwitch3 = 0x4;
4485
+ kAuxiliarySwitch4 = 0x8;
4486
+ kAuxiliarySwitch5 = 0x10;
4487
+ kAuxiliarySwitch6 = 0x20;
4488
+ kAuxiliarySwitch7 = 0x40;
4489
+ kAuxiliarySwitch8 = 0x80;
4490
+ }
4491
+
4492
+ bitmap Feature : bitmap32 {
4493
+ kPricingTier = 0x1;
4494
+ kFriendlyCredit = 0x2;
4495
+ kAuxiliaryLoad = 0x4;
4496
+ kPeakPeriod = 0x8;
4497
+ }
4498
+
4499
+ bitmap TransitionDayOfWeekBitmap : bitmap8 {
4500
+ kSunday = 0x1;
4501
+ kMonday = 0x2;
4502
+ kTuesday = 0x4;
4503
+ kWednesday = 0x8;
4504
+ kThursday = 0x10;
4505
+ kFriday = 0x20;
4506
+ kSaturday = 0x40;
4507
+ }
4508
+
4509
+ struct TransitionStruct {
4510
+ int16u transitionTime = 0;
4511
+ optional int32u priceTier = 1;
4512
+ optional boolean friendlyCredit = 2;
4513
+ optional AuxiliaryLoadBitmap auxiliaryLoad = 3;
4514
+ }
4515
+
4516
+ struct DayStruct {
4517
+ optional date date = 0;
4518
+ optional TransitionDayOfWeekBitmap daysOfWeek = 1;
4519
+ TransitionStruct transitions[] = 2;
4520
+ optional int32u calendarID = 3;
4521
+ }
4522
+
4523
+ struct CalendarPeriodStruct {
4524
+ nullable epoch_s startDate = 0;
4525
+ DayStruct days[] = 1;
4526
+ }
4527
+
4528
+ struct PeakPeriodStruct {
4529
+ PeakPeriodSeverityEnum severity = 0;
4530
+ int16u peakPeriod = 1;
4531
+ nullable epoch_s startTime = 2;
4532
+ nullable epoch_s endTime = 3;
4533
+ }
4534
+
4535
+ readonly attribute nullable int32u calendarID = 0;
4536
+ readonly attribute nullable char_string<12> name = 1;
4537
+ readonly attribute nullable int32u providerID = 2;
4538
+ readonly attribute nullable int32u eventID = 3;
4539
+ readonly attribute nullable epoch_s startDate = 4;
4540
+ readonly attribute nullable CalendarPeriodStruct calendarPeriods[] = 5;
4541
+ readonly attribute nullable DayStruct specialDays[] = 6;
4542
+ readonly attribute nullable DayStruct currentDay = 7;
4543
+ readonly attribute nullable DayStruct nextDay = 8;
4544
+ readonly attribute nullable TransitionStruct currentTransition = 9;
4545
+ readonly attribute optional nullable PeakPeriodStruct currentPeakPeriod = 10;
4546
+ readonly attribute optional nullable PeakPeriodStruct nextPeakPeriod = 11;
4547
+ readonly attribute command_id generatedCommandList[] = 65528;
4548
+ readonly attribute command_id acceptedCommandList[] = 65529;
4549
+ readonly attribute event_id eventList[] = 65530;
4550
+ readonly attribute attrib_id attributeList[] = 65531;
4551
+ readonly attribute bitmap32 featureMap = 65532;
4552
+ readonly attribute int16u clusterRevision = 65533;
4553
+ }
4554
+
4470
4555
/** This cluster provides an interface to specify preferences for how devices should consume energy. */
4471
4556
provisional cluster EnergyPreference = 155 {
4472
4557
revision 1;
@@ -6686,6 +6771,39 @@ deprecated cluster ElectricalMeasurement = 2820 {
6686
6771
command GetMeasurementProfileCommand(GetMeasurementProfileCommandRequest): DefaultSuccess = 1;
6687
6772
}
6688
6773
6774
+ /** */
6775
+ cluster MeterIdentification = 2822 {
6776
+ revision 1;
6777
+
6778
+ enum MeterTypeEnum : enum8 {
6779
+ kUtility = 0;
6780
+ kPrivate = 1;
6781
+ kGeneric = 2;
6782
+ }
6783
+
6784
+ enum PowerThresholdSourceEnum : enum8 {
6785
+ kContract = 0;
6786
+ kRegulator = 1;
6787
+ kEquipment = 2;
6788
+ }
6789
+
6790
+ bitmap Feature : bitmap32 {
6791
+ kPowerThreshold = 0x1;
6792
+ }
6793
+
6794
+ readonly attribute nullable MeterTypeEnum meterType = 0;
6795
+ readonly attribute nullable char_string<16> utilityName = 1;
6796
+ readonly attribute nullable char_string<16> pointOfDelivery = 2;
6797
+ readonly attribute optional nullable power_mw powerThreshold = 3;
6798
+ readonly attribute optional nullable PowerThresholdSourceEnum powerThresholdSource = 4;
6799
+ readonly attribute command_id generatedCommandList[] = 65528;
6800
+ readonly attribute command_id acceptedCommandList[] = 65529;
6801
+ readonly attribute event_id eventList[] = 65530;
6802
+ readonly attribute attrib_id attributeList[] = 65531;
6803
+ readonly attribute bitmap32 featureMap = 65532;
6804
+ readonly attribute int16u clusterRevision = 65533;
6805
+ }
6806
+
6689
6807
/** The Test Cluster is meant to validate the generated code */
6690
6808
internal cluster UnitTesting = 4294048773 {
6691
6809
revision 1; // NOTE: Default/not specifically set
@@ -8407,6 +8525,11 @@ endpoint 1 {
8407
8525
handle command ClearTargets;
8408
8526
}
8409
8527
8528
+ server cluster EnergyCalendar {
8529
+ callback attribute featureMap;
8530
+ ram attribute clusterRevision default = 1;
8531
+ }
8532
+
8410
8533
server cluster EnergyPreference {
8411
8534
callback attribute energyBalances;
8412
8535
ram attribute currentEnergyBalance;
@@ -8974,6 +9097,11 @@ endpoint 1 {
8974
9097
ram attribute clusterRevision default = 3;
8975
9098
}
8976
9099
9100
+ server cluster MeterIdentification {
9101
+ callback attribute featureMap;
9102
+ ram attribute clusterRevision default = 1;
9103
+ }
9104
+
8977
9105
server cluster UnitTesting {
8978
9106
emits event TestEvent;
8979
9107
emits event TestFabricScopedEvent;
0 commit comments