@@ -1430,7 +1430,7 @@ cluster ElectricalEnergyMeasurement = 145 {
1430
1430
1431
1431
/** This cluster allows a client to manage the power draw of a device. An example of such a client could be an Energy Management System (EMS) which controls an Energy Smart Appliance (ESA). */
1432
1432
provisional cluster DeviceEnergyManagement = 152 {
1433
- revision 3 ;
1433
+ revision 4 ;
1434
1434
1435
1435
enum AdjustmentCauseEnum : enum8 {
1436
1436
kLocalOptimization = 0;
@@ -1491,6 +1491,12 @@ provisional cluster DeviceEnergyManagement = 152 {
1491
1491
kOptOut = 3;
1492
1492
}
1493
1493
1494
+ enum PowerAdjustReasonEnum : enum8 {
1495
+ kNoAdjustment = 0;
1496
+ kLocalOptimizationAdjustment = 1;
1497
+ kGridOptimizationAdjustment = 2;
1498
+ }
1499
+
1494
1500
bitmap Feature : bitmap32 {
1495
1501
kPowerAdjustment = 0x1;
1496
1502
kPowerForecastReporting = 0x2;
@@ -1514,7 +1520,7 @@ provisional cluster DeviceEnergyManagement = 152 {
1514
1520
elapsed_s defaultDuration = 2;
1515
1521
elapsed_s elapsedSlotTime = 3;
1516
1522
elapsed_s remainingSlotTime = 4;
1517
- optional boolean slotIsPauseable = 5;
1523
+ optional boolean slotIsPausable = 5;
1518
1524
optional elapsed_s minPauseDuration = 6;
1519
1525
optional elapsed_s maxPauseDuration = 7;
1520
1526
optional int16u manufacturerESAState = 8;
@@ -1530,13 +1536,13 @@ provisional cluster DeviceEnergyManagement = 152 {
1530
1536
}
1531
1537
1532
1538
struct ForecastStruct {
1533
- int16u forecastId = 0;
1539
+ int32u forecastId = 0;
1534
1540
nullable int16u activeSlotNumber = 1;
1535
1541
epoch_s startTime = 2;
1536
1542
epoch_s endTime = 3;
1537
1543
optional nullable epoch_s earliestStartTime = 4;
1538
1544
optional epoch_s latestEndTime = 5;
1539
- boolean isPauseable = 6;
1545
+ boolean isPausable = 6;
1540
1546
SlotStruct slots[] = 7;
1541
1547
ForecastUpdateReasonEnum forecastUpdateReason = 8;
1542
1548
}
@@ -1554,11 +1560,12 @@ provisional cluster DeviceEnergyManagement = 152 {
1554
1560
power_mw maxPower = 1;
1555
1561
elapsed_s minDuration = 2;
1556
1562
elapsed_s maxDuration = 3;
1563
+ PowerAdjustReasonEnum cause = 4;
1557
1564
}
1558
1565
1559
1566
struct SlotAdjustmentStruct {
1560
1567
int8u slotIndex = 0;
1561
- power_mw nominalPower = 1;
1568
+ optional power_mw nominalPower = 1;
1562
1569
elapsed_s duration = 2;
1563
1570
}
1564
1571
@@ -1640,7 +1647,7 @@ provisional cluster DeviceEnergyManagement = 152 {
1640
1647
1641
1648
/** Electric Vehicle Supply Equipment (EVSE) is equipment used to charge an Electric Vehicle (EV) or Plug-In Hybrid Electric Vehicle. This cluster provides an interface to the functionality of Electric Vehicle Supply Equipment (EVSE) management. */
1642
1649
cluster EnergyEvse = 153 {
1643
- revision 2 ;
1650
+ revision 4 ;
1644
1651
1645
1652
enum EnergyTransferStoppedReasonEnum : enum8 {
1646
1653
kEVStopped = 0;
@@ -1684,6 +1691,7 @@ cluster EnergyEvse = 153 {
1684
1691
kDischargingEnabled = 2;
1685
1692
kDisabledError = 3;
1686
1693
kDisabledDiagnostics = 4;
1694
+ kEnabled = 5;
1687
1695
}
1688
1696
1689
1697
bitmap Feature : bitmap32 {
@@ -1711,8 +1719,8 @@ cluster EnergyEvse = 153 {
1711
1719
}
1712
1720
1713
1721
struct ChargingTargetScheduleStruct {
1714
- TargetDayOfWeekBitmap dayOfWeekForSequence = 0;
1715
- ChargingTargetStruct chargingTargets[] = 1;
1722
+ optional TargetDayOfWeekBitmap dayOfWeekForSequence = 0;
1723
+ optional ChargingTargetStruct chargingTargets[] = 1;
1716
1724
}
1717
1725
1718
1726
info event EVConnected = 0 {
@@ -1731,13 +1739,15 @@ cluster EnergyEvse = 153 {
1731
1739
int32u sessionID = 0;
1732
1740
StateEnum state = 1;
1733
1741
amperage_ma maximumCurrent = 2;
1742
+ optional amperage_ma maximumDischargingCurrent = 3;
1734
1743
}
1735
1744
1736
1745
info event EnergyTransferStopped = 3 {
1737
1746
int32u sessionID = 0;
1738
1747
StateEnum state = 1;
1739
1748
EnergyTransferStoppedReasonEnum reason = 2;
1740
1749
energy_mwh energyTransferred = 4;
1750
+ optional energy_mwh energyDischarged = 5;
1741
1751
}
1742
1752
1743
1753
critical event Fault = 4 {
0 commit comments