@@ -2007,6 +2007,99 @@ cluster UserLabel = 65 {
2007
2007
readonly attribute int16u clusterRevision = 65533;
2008
2008
}
2009
2009
2010
+ /** This cluster provides an interface for passing messages to be presented by a device. */
2011
+ cluster Messages = 151 {
2012
+ revision 3;
2013
+
2014
+ enum FutureMessagePreferenceEnum : enum8 {
2015
+ kAllowed = 0;
2016
+ kIncreased = 1;
2017
+ kReduced = 2;
2018
+ kDisallowed = 3;
2019
+ kBanned = 4;
2020
+ }
2021
+
2022
+ enum MessagePriorityEnum : enum8 {
2023
+ kLow = 0;
2024
+ kMedium = 1;
2025
+ kHigh = 2;
2026
+ kCritical = 3;
2027
+ }
2028
+
2029
+ bitmap Feature : bitmap32 {
2030
+ kReceivedConfirmation = 0x1;
2031
+ kConfirmationResponse = 0x2;
2032
+ kConfirmationReply = 0x4;
2033
+ kProtectedMessages = 0x8;
2034
+ }
2035
+
2036
+ bitmap MessageControlBitmap : bitmap8 {
2037
+ kConfirmationRequired = 0x1;
2038
+ kResponseRequired = 0x2;
2039
+ kReplyMessage = 0x4;
2040
+ kMessageConfirmed = 0x8;
2041
+ kMessageProtected = 0x10;
2042
+ }
2043
+
2044
+ struct MessageResponseOptionStruct {
2045
+ optional int32u messageResponseID = 0;
2046
+ optional char_string<32> label = 1;
2047
+ }
2048
+
2049
+ struct MessageStruct {
2050
+ octet_string<16> messageID = 0;
2051
+ MessagePriorityEnum priority = 1;
2052
+ MessageControlBitmap messageControl = 2;
2053
+ nullable epoch_s startTime = 3;
2054
+ nullable int16u duration = 4;
2055
+ char_string<256> messageText = 5;
2056
+ optional MessageResponseOptionStruct responses[] = 6;
2057
+ }
2058
+
2059
+ info event MessageQueued = 0 {
2060
+ octet_string messageID = 0;
2061
+ }
2062
+
2063
+ info event MessagePresented = 1 {
2064
+ octet_string messageID = 0;
2065
+ }
2066
+
2067
+ info event MessageComplete = 2 {
2068
+ octet_string messageID = 0;
2069
+ optional nullable int32u responseID = 1;
2070
+ optional nullable char_string reply = 2;
2071
+ nullable FutureMessagePreferenceEnum futureMessagesPreference = 3;
2072
+ }
2073
+
2074
+ readonly attribute MessageStruct messages[] = 0;
2075
+ readonly attribute octet_string activeMessageIDs[] = 1;
2076
+ readonly attribute command_id generatedCommandList[] = 65528;
2077
+ readonly attribute command_id acceptedCommandList[] = 65529;
2078
+ readonly attribute event_id eventList[] = 65530;
2079
+ readonly attribute attrib_id attributeList[] = 65531;
2080
+ readonly attribute bitmap32 featureMap = 65532;
2081
+ readonly attribute int16u clusterRevision = 65533;
2082
+
2083
+ request struct PresentMessagesRequestRequest {
2084
+ octet_string<16> messageID = 0;
2085
+ MessagePriorityEnum priority = 1;
2086
+ MessageControlBitmap messageControl = 2;
2087
+ nullable epoch_s startTime = 3;
2088
+ nullable int16u duration = 4;
2089
+ char_string<256> messageText = 5;
2090
+ optional MessageResponseOptionStruct responses[] = 6;
2091
+ }
2092
+
2093
+ request struct CancelMessagesRequestRequest {
2094
+ octet_string messageIDs[] = 0;
2095
+ }
2096
+
2097
+ /** Command for requesting messages be presented */
2098
+ fabric command PresentMessagesRequest(PresentMessagesRequestRequest): DefaultSuccess = 0;
2099
+ /** Command for cancelling message present requests */
2100
+ fabric command CancelMessagesRequest(CancelMessagesRequestRequest): DefaultSuccess = 1;
2101
+ }
2102
+
2010
2103
/** Attributes and commands for configuring the measurement of relative humidity, and reporting relative humidity measurements. */
2011
2104
cluster RelativeHumidityMeasurement = 1029 {
2012
2105
revision 3;
@@ -3433,6 +3526,23 @@ endpoint 1 {
3433
3526
callback attribute clusterRevision;
3434
3527
}
3435
3528
3529
+ server cluster Messages {
3530
+ emits event MessageQueued;
3531
+ emits event MessagePresented;
3532
+ emits event MessageComplete;
3533
+ callback attribute messages;
3534
+ callback attribute activeMessageIDs;
3535
+ callback attribute generatedCommandList;
3536
+ callback attribute acceptedCommandList;
3537
+ callback attribute eventList;
3538
+ callback attribute attributeList;
3539
+ ram attribute featureMap default = 0;
3540
+ ram attribute clusterRevision default = 3;
3541
+
3542
+ handle command PresentMessagesRequest;
3543
+ handle command CancelMessagesRequest;
3544
+ }
3545
+
3436
3546
server cluster WakeOnLan {
3437
3547
ram attribute MACAddress;
3438
3548
ram attribute featureMap default = 0;
0 commit comments