@@ -33,16 +33,16 @@ bool MatterDimmableLight::attributeChangeCB(uint16_t endpoint_id, uint32_t clust
33
33
log_d (" Dimmable Attr update callback: endpoint: %u, cluster: %u, attribute: %u, val: %u" , endpoint_id, cluster_id, attribute_id, val->val .u32 );
34
34
35
35
if (endpoint_id == getEndPointId ()) {
36
- bool ret = false ;
36
+ bool ret = true ;
37
37
switch (cluster_id) {
38
38
case OnOff::Id:
39
39
if (attribute_id == OnOff::Attributes::OnOff::Id) {
40
40
log_d (" DimmableLight On/Off State changed to %d" , val->val .b );
41
41
if (_onChangeOnOffCB != NULL ) {
42
- ret | = _onChangeOnOffCB (val->val .b );
42
+ ret & = _onChangeOnOffCB (val->val .b );
43
43
}
44
44
if (_onChangeCB != NULL ) {
45
- ret | = _onChangeCB (val->val .b , brightnessLevel);
45
+ ret & = _onChangeCB (val->val .b , brightnessLevel);
46
46
}
47
47
if (ret == true ) {
48
48
onOffState = val->val .b ;
@@ -53,10 +53,10 @@ bool MatterDimmableLight::attributeChangeCB(uint16_t endpoint_id, uint32_t clust
53
53
if (attribute_id == LevelControl::Attributes::CurrentLevel::Id) {
54
54
log_d (" DimmableLight Brightness changed to %d" , val->val .u8 );
55
55
if (_onChangeBrightnessCB != NULL ) {
56
- ret | = _onChangeBrightnessCB (val->val .u8 );
56
+ ret & = _onChangeBrightnessCB (val->val .u8 );
57
57
}
58
58
if (_onChangeCB != NULL ) {
59
- ret | = _onChangeCB (onOffState, val->val .u8 );
59
+ ret & = _onChangeCB (onOffState, val->val .u8 );
60
60
}
61
61
if (ret == true ) {
62
62
brightnessLevel = val->val .u8 ;
0 commit comments