diff --git a/examples/bridge-app/bridge-common/bridge-app.matter b/examples/bridge-app/bridge-common/bridge-app.matter index 8274cbb34f2f39..6241e8c635bba9 100644 --- a/examples/bridge-app/bridge-common/bridge-app.matter +++ b/examples/bridge-app/bridge-common/bridge-app.matter @@ -2678,7 +2678,7 @@ endpoint 2 { } server cluster LevelControl { - persist attribute currentLevel default = 0x00; + persist attribute currentLevel default = 0xFE; ram attribute remainingTime default = 0x0000; ram attribute minLevel default = 0x01; ram attribute maxLevel default = 0xFE; diff --git a/examples/bridge-app/bridge-common/bridge-app.zap b/examples/bridge-app/bridge-common/bridge-app.zap index 5b820fd57c83cc..bf78875444add5 100644 --- a/examples/bridge-app/bridge-common/bridge-app.zap +++ b/examples/bridge-app/bridge-common/bridge-app.zap @@ -5079,7 +5079,7 @@ "storageOption": "NVM", "singleton": 0, "bounded": 0, - "defaultValue": "0x00", + "defaultValue": "0xFE", "reportable": 1, "minInterval": 0, "maxInterval": 65344, diff --git a/examples/chef/common/chef-concentration-measurement.cpp b/examples/chef/common/chef-concentration-measurement.cpp index d168b797b929ac..a23e66561d4cce 100644 --- a/examples/chef/common/chef-concentration-measurement.cpp +++ b/examples/chef/common/chef-concentration-measurement.cpp @@ -76,17 +76,8 @@ Protocols::InteractionModel::Status chefConcentrationMeasurementWriteCallback( if (attributeId == measuredValueId) { - float newValue = 0; - uint16_t tlvLen = *(uint16_t *) buffer; - chip::TLV::TLVReader reader; - reader.Init(buffer + sizeof(uint16_t), tlvLen); - reader.Next(); - reader.Get(newValue); - - ChipLogDetail(DeviceLayer, "TLV Type %d, Length %d \n", static_cast(reader.GetType()), tlvLen); - // 2 bytes buf length + 5 bytes TLV for float - ChipLogDetail(DeviceLayer, "buffer: %02x%02x%02x%02x%02x%02x%02x \n", buffer[0], buffer[1], buffer[2], buffer[3], buffer[4], - buffer[5], buffer[6]); + float newValue; + std::memcpy(&newValue, buffer, sizeof(float)); // Copy buffer content to float CHIP_ERROR err = clusterInstance->SetMeasuredValue(MakeNullable(newValue)); if (CHIP_NO_ERROR == err) diff --git a/examples/chef/devices/noip_rootnode_dimmablelight_bCwGYSDpoe.matter b/examples/chef/devices/noip_rootnode_dimmablelight_bCwGYSDpoe.matter index 283e591a563d8f..9a91b17a2a718a 100644 --- a/examples/chef/devices/noip_rootnode_dimmablelight_bCwGYSDpoe.matter +++ b/examples/chef/devices/noip_rootnode_dimmablelight_bCwGYSDpoe.matter @@ -2271,7 +2271,7 @@ endpoint 1 { } server cluster LevelControl { - ram attribute currentLevel default = 0x01; + ram attribute currentLevel default = 0xFE; ram attribute remainingTime default = 0x0000; ram attribute minLevel default = 0x01; ram attribute maxLevel default = 0xFE; diff --git a/examples/chef/devices/noip_rootnode_dimmablelight_bCwGYSDpoe.zap b/examples/chef/devices/noip_rootnode_dimmablelight_bCwGYSDpoe.zap index 5f2e2bd0eb4859..c72734d55cecc1 100644 --- a/examples/chef/devices/noip_rootnode_dimmablelight_bCwGYSDpoe.zap +++ b/examples/chef/devices/noip_rootnode_dimmablelight_bCwGYSDpoe.zap @@ -4206,7 +4206,7 @@ "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "0x01", + "defaultValue": "0xFE", "reportable": 1, "minInterval": 1, "maxInterval": 65534, diff --git a/examples/chef/devices/rootnode_colortemperaturelight_hbUnzYVeyn.matter b/examples/chef/devices/rootnode_colortemperaturelight_hbUnzYVeyn.matter index 63b7de859704ae..5f0c6496f87d65 100644 --- a/examples/chef/devices/rootnode_colortemperaturelight_hbUnzYVeyn.matter +++ b/examples/chef/devices/rootnode_colortemperaturelight_hbUnzYVeyn.matter @@ -2300,7 +2300,7 @@ endpoint 1 { } server cluster LevelControl { - persist attribute currentLevel default = 0x00; + persist attribute currentLevel default = 0xFE; ram attribute remainingTime default = 0x0000; ram attribute minLevel default = 0x1; ram attribute maxLevel default = 0xFE; diff --git a/examples/chef/devices/rootnode_colortemperaturelight_hbUnzYVeyn.zap b/examples/chef/devices/rootnode_colortemperaturelight_hbUnzYVeyn.zap index 24f3246bce52e8..fc2f45d22b7dc6 100644 --- a/examples/chef/devices/rootnode_colortemperaturelight_hbUnzYVeyn.zap +++ b/examples/chef/devices/rootnode_colortemperaturelight_hbUnzYVeyn.zap @@ -2885,7 +2885,7 @@ "storageOption": "NVM", "singleton": 0, "bounded": 0, - "defaultValue": "0x00", + "defaultValue": "0xFE", "reportable": 1, "minInterval": 1, "maxInterval": 65534, diff --git a/examples/chef/devices/rootnode_dimmablelight_bCwGYSDpoe.matter b/examples/chef/devices/rootnode_dimmablelight_bCwGYSDpoe.matter index 183eb0c5938f3b..57166f3ba46159 100644 --- a/examples/chef/devices/rootnode_dimmablelight_bCwGYSDpoe.matter +++ b/examples/chef/devices/rootnode_dimmablelight_bCwGYSDpoe.matter @@ -2082,7 +2082,7 @@ endpoint 1 { } server cluster LevelControl { - persist attribute currentLevel default = 0x01; + persist attribute currentLevel default = 0xFE; ram attribute remainingTime default = 0x0000; ram attribute minLevel default = 0x01; ram attribute maxLevel default = 0xFE; diff --git a/examples/chef/devices/rootnode_dimmablelight_bCwGYSDpoe.zap b/examples/chef/devices/rootnode_dimmablelight_bCwGYSDpoe.zap index 78ea7d87648f74..2e215aa472f07a 100644 --- a/examples/chef/devices/rootnode_dimmablelight_bCwGYSDpoe.zap +++ b/examples/chef/devices/rootnode_dimmablelight_bCwGYSDpoe.zap @@ -2943,7 +2943,7 @@ "storageOption": "NVM", "singleton": 0, "bounded": 0, - "defaultValue": "0x01", + "defaultValue": "0xFE", "reportable": 1, "minInterval": 1, "maxInterval": 65534, diff --git a/examples/chef/devices/rootnode_dimmablepluginunit_f8a9a0b9d4.matter b/examples/chef/devices/rootnode_dimmablepluginunit_f8a9a0b9d4.matter index f48076c4d2a808..44865e71f3a0a0 100644 --- a/examples/chef/devices/rootnode_dimmablepluginunit_f8a9a0b9d4.matter +++ b/examples/chef/devices/rootnode_dimmablepluginunit_f8a9a0b9d4.matter @@ -2243,7 +2243,7 @@ endpoint 1 { } server cluster LevelControl { - persist attribute currentLevel default = 0x01; + persist attribute currentLevel default = 0xFE; ram attribute remainingTime default = 0x0000; ram attribute minLevel default = 0x01; ram attribute maxLevel default = 0xFE; diff --git a/examples/chef/devices/rootnode_dimmablepluginunit_f8a9a0b9d4.zap b/examples/chef/devices/rootnode_dimmablepluginunit_f8a9a0b9d4.zap index 4fa09375fde860..3ba91647fadc90 100644 --- a/examples/chef/devices/rootnode_dimmablepluginunit_f8a9a0b9d4.zap +++ b/examples/chef/devices/rootnode_dimmablepluginunit_f8a9a0b9d4.zap @@ -2991,7 +2991,7 @@ "storageOption": "NVM", "singleton": 0, "bounded": 0, - "defaultValue": "0x01", + "defaultValue": "0xFE", "reportable": 1, "minInterval": 1, "maxInterval": 65534, diff --git a/examples/chef/devices/rootnode_extendedcolorlight_8lcaaYJVAa.matter b/examples/chef/devices/rootnode_extendedcolorlight_8lcaaYJVAa.matter index d9f033b0e0009b..71363c84a7d8a5 100644 --- a/examples/chef/devices/rootnode_extendedcolorlight_8lcaaYJVAa.matter +++ b/examples/chef/devices/rootnode_extendedcolorlight_8lcaaYJVAa.matter @@ -2343,7 +2343,7 @@ endpoint 1 { } server cluster LevelControl { - persist attribute currentLevel default = 0x01; + persist attribute currentLevel default = 0xFE; ram attribute remainingTime default = 0x0000; ram attribute minLevel default = 0x01; ram attribute maxLevel default = 0xFE; diff --git a/examples/chef/devices/rootnode_extendedcolorlight_8lcaaYJVAa.zap b/examples/chef/devices/rootnode_extendedcolorlight_8lcaaYJVAa.zap index 19288d4d83a2f0..c5008df0c2ad30 100644 --- a/examples/chef/devices/rootnode_extendedcolorlight_8lcaaYJVAa.zap +++ b/examples/chef/devices/rootnode_extendedcolorlight_8lcaaYJVAa.zap @@ -2911,7 +2911,7 @@ "storageOption": "NVM", "singleton": 0, "bounded": 0, - "defaultValue": "0x01", + "defaultValue": "0xFE", "reportable": 1, "minInterval": 1, "maxInterval": 65534, diff --git a/examples/chef/devices/rootnode_onofflight_bbs1b7IaOV.matter b/examples/chef/devices/rootnode_onofflight_bbs1b7IaOV.matter index f63c51eb699eb8..c4cc8357d94ef8 100644 --- a/examples/chef/devices/rootnode_onofflight_bbs1b7IaOV.matter +++ b/examples/chef/devices/rootnode_onofflight_bbs1b7IaOV.matter @@ -2015,7 +2015,7 @@ endpoint 13 { } server cluster LevelControl { - persist attribute currentLevel default = 0x01; + persist attribute currentLevel default = 0xFE; ram attribute remainingTime default = 0x0000; ram attribute minLevel default = 0x01; ram attribute maxLevel default = 0xFE; diff --git a/examples/chef/devices/rootnode_onofflight_bbs1b7IaOV.zap b/examples/chef/devices/rootnode_onofflight_bbs1b7IaOV.zap index d77eca38e6e7d6..36b41b59f189f7 100644 --- a/examples/chef/devices/rootnode_onofflight_bbs1b7IaOV.zap +++ b/examples/chef/devices/rootnode_onofflight_bbs1b7IaOV.zap @@ -2911,7 +2911,7 @@ "storageOption": "NVM", "singleton": 0, "bounded": 0, - "defaultValue": "0x01", + "defaultValue": "0xFE", "reportable": 1, "minInterval": 1, "maxInterval": 65534, diff --git a/examples/chef/devices/rootnode_onofflight_samplemei.matter b/examples/chef/devices/rootnode_onofflight_samplemei.matter index 5f8e70cc64ab97..f7db9d69aeb50c 100644 --- a/examples/chef/devices/rootnode_onofflight_samplemei.matter +++ b/examples/chef/devices/rootnode_onofflight_samplemei.matter @@ -2047,7 +2047,7 @@ endpoint 1 { } server cluster LevelControl { - persist attribute currentLevel default = 0x01; + persist attribute currentLevel default = 0xFE; ram attribute remainingTime default = 0x0000; ram attribute minLevel default = 0x01; ram attribute maxLevel default = 0xFE; diff --git a/examples/chef/devices/rootnode_onofflight_samplemei.zap b/examples/chef/devices/rootnode_onofflight_samplemei.zap index bf7bb8efdf2b5b..23543f053ded81 100644 --- a/examples/chef/devices/rootnode_onofflight_samplemei.zap +++ b/examples/chef/devices/rootnode_onofflight_samplemei.zap @@ -2911,7 +2911,7 @@ "storageOption": "NVM", "singleton": 0, "bounded": 0, - "defaultValue": "0x01", + "defaultValue": "0xFE", "reportable": 1, "minInterval": 1, "maxInterval": 65534, diff --git a/examples/chef/devices/rootnode_waterleakdetector_0b067acfa3.zap b/examples/chef/devices/rootnode_waterleakdetector_0b067acfa3.zap index 11ebd3c2e3144e..34e2b90f20c398 100644 --- a/examples/chef/devices/rootnode_waterleakdetector_0b067acfa3.zap +++ b/examples/chef/devices/rootnode_waterleakdetector_0b067acfa3.zap @@ -3062,4 +3062,4 @@ "parentEndpointIdentifier": 0 } ] -} +} \ No newline at end of file diff --git a/examples/chef/devices/rootnode_watervalve_6bb39f1f67.zap b/examples/chef/devices/rootnode_watervalve_6bb39f1f67.zap index 6650dbe1d56300..ba64c26fcf9d2b 100644 --- a/examples/chef/devices/rootnode_watervalve_6bb39f1f67.zap +++ b/examples/chef/devices/rootnode_watervalve_6bb39f1f67.zap @@ -2983,4 +2983,4 @@ "parentEndpointIdentifier": 0 } ] -} +} \ No newline at end of file diff --git a/examples/chef/sample_app_util/test_files/sample_zap_file.zap b/examples/chef/sample_app_util/test_files/sample_zap_file.zap index 7ad3cf51484541..421ab3e37cefbe 100644 --- a/examples/chef/sample_app_util/test_files/sample_zap_file.zap +++ b/examples/chef/sample_app_util/test_files/sample_zap_file.zap @@ -4522,7 +4522,7 @@ "storageOption": "NVM", "singleton": 0, "bounded": 0, - "defaultValue": "0x01", + "defaultValue": "0xFE", "reportable": 1, "minInterval": 0, "maxInterval": 65344, @@ -4554,7 +4554,7 @@ "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "0x00", + "defaultValue": "0x01", "reportable": 1, "minInterval": 1, "maxInterval": 65534, diff --git a/examples/common/pigweed/protos/attributes_service.proto b/examples/common/pigweed/protos/attributes_service.proto index 927f10a8aa2fc6..ef34448f93b68f 100644 --- a/examples/common/pigweed/protos/attributes_service.proto +++ b/examples/common/pigweed/protos/attributes_service.proto @@ -219,6 +219,7 @@ message AttributeData { int32 data_int8 = 6; int32 data_int16 = 7; int32 data_int32 = 8; + float data_single = 10; }; optional bytes tlv_data = 9; } diff --git a/examples/common/pigweed/rpc_services/Attributes.h b/examples/common/pigweed/rpc_services/Attributes.h index 3ff1200be2edeb..e4ced64a51d9f2 100644 --- a/examples/common/pigweed/rpc_services/Attributes.h +++ b/examples/common/pigweed/rpc_services/Attributes.h @@ -78,6 +78,9 @@ class Attributes : public pw_rpc::nanopb::Attributes::Service case chip_rpc_AttributeData_data_bytes_tag: data = &request.data.data.data_bytes; break; + case chip_rpc_AttributeData_data_single_tag: + data = &request.data.data.data_single; + break; default: return pw::Status::InvalidArgument(); } @@ -133,6 +136,10 @@ class Attributes : public pw_rpc::nanopb::Attributes::Service PW_TRY(TlvBufferGetData(tlvBuffer, TLV::kTLVType_SignedInteger, response.data.data_int32)); response.which_data = chip_rpc_AttributeData_data_int32_tag; break; + case chip_rpc_AttributeType_ZCL_SINGLE_ATTRIBUTE_TYPE: + PW_TRY(TlvBufferGetData(tlvBuffer, TLV::kTLVType_FloatingPointNumber, response.data.data_single)); + response.which_data = chip_rpc_AttributeData_data_single_tag; + break; case chip_rpc_AttributeType_ZCL_BITMAP8_ATTRIBUTE_TYPE: case chip_rpc_AttributeType_ZCL_BITMAP16_ATTRIBUTE_TYPE: case chip_rpc_AttributeType_ZCL_BITMAP32_ATTRIBUTE_TYPE: @@ -148,7 +155,6 @@ class Attributes : public pw_rpc::nanopb::Attributes::Service case chip_rpc_AttributeType_ZCL_INT48S_ATTRIBUTE_TYPE: case chip_rpc_AttributeType_ZCL_INT56S_ATTRIBUTE_TYPE: case chip_rpc_AttributeType_ZCL_INT64S_ATTRIBUTE_TYPE: - case chip_rpc_AttributeType_ZCL_SINGLE_ATTRIBUTE_TYPE: case chip_rpc_AttributeType_ZCL_DOUBLE_ATTRIBUTE_TYPE: case chip_rpc_AttributeType_ZCL_OCTET_STRING_ATTRIBUTE_TYPE: case chip_rpc_AttributeType_ZCL_CHAR_STRING_ATTRIBUTE_TYPE: diff --git a/examples/contact-sensor-app/nxp/zap-lit/contact-sensor-app.zap b/examples/contact-sensor-app/nxp/zap-lit/contact-sensor-app.zap index f2e73f974cc087..dfbd44ad6eb023 100644 --- a/examples/contact-sensor-app/nxp/zap-lit/contact-sensor-app.zap +++ b/examples/contact-sensor-app/nxp/zap-lit/contact-sensor-app.zap @@ -4315,4 +4315,4 @@ "parentEndpointIdentifier": null } ] -} +} \ No newline at end of file diff --git a/examples/lighting-app-data-mode-no-unique-id/lighting-common/lighting-app.matter b/examples/lighting-app-data-mode-no-unique-id/lighting-common/lighting-app.matter index 0979b305ca9e70..d103ddc553fc42 100644 --- a/examples/lighting-app-data-mode-no-unique-id/lighting-common/lighting-app.matter +++ b/examples/lighting-app-data-mode-no-unique-id/lighting-common/lighting-app.matter @@ -3020,7 +3020,7 @@ endpoint 1 { } server cluster LevelControl { - persist attribute currentLevel default = 0x01; + persist attribute currentLevel default = 0xFE; ram attribute remainingTime default = 0x0000; ram attribute minLevel default = 0x01; ram attribute maxLevel default = 0xFE; diff --git a/examples/lighting-app-data-mode-no-unique-id/lighting-common/lighting-app.zap b/examples/lighting-app-data-mode-no-unique-id/lighting-common/lighting-app.zap index 8d55481e31f739..54693b151520a3 100644 --- a/examples/lighting-app-data-mode-no-unique-id/lighting-common/lighting-app.zap +++ b/examples/lighting-app-data-mode-no-unique-id/lighting-common/lighting-app.zap @@ -4484,7 +4484,7 @@ "storageOption": "NVM", "singleton": 0, "bounded": 0, - "defaultValue": "0x01", + "defaultValue": "0xFE", "reportable": 1, "minInterval": 0, "maxInterval": 65344, diff --git a/examples/lighting-app/bouffalolab/data_model/lighting-app-ethernet.matter b/examples/lighting-app/bouffalolab/data_model/lighting-app-ethernet.matter index 8c4fa34560a7c6..7ce2b52c2db8a2 100644 --- a/examples/lighting-app/bouffalolab/data_model/lighting-app-ethernet.matter +++ b/examples/lighting-app/bouffalolab/data_model/lighting-app-ethernet.matter @@ -2391,7 +2391,7 @@ endpoint 1 { } server cluster LevelControl { - persist attribute currentLevel default = 0x254; + persist attribute currentLevel default = 0xFE; ram attribute remainingTime default = 0x0000; ram attribute minLevel default = 0x01; ram attribute maxLevel default = 0xFE; diff --git a/examples/lighting-app/bouffalolab/data_model/lighting-app-ethernet.zap b/examples/lighting-app/bouffalolab/data_model/lighting-app-ethernet.zap index 5a0e876845aef6..5115fe9657926f 100644 --- a/examples/lighting-app/bouffalolab/data_model/lighting-app-ethernet.zap +++ b/examples/lighting-app/bouffalolab/data_model/lighting-app-ethernet.zap @@ -2952,7 +2952,7 @@ "storageOption": "NVM", "singleton": 0, "bounded": 0, - "defaultValue": "0x254", + "defaultValue": "0xFE", "reportable": 1, "minInterval": 0, "maxInterval": 65344, diff --git a/examples/lighting-app/bouffalolab/data_model/lighting-app-thread.matter b/examples/lighting-app/bouffalolab/data_model/lighting-app-thread.matter index d528254100181b..bc48c4056b2b45 100644 --- a/examples/lighting-app/bouffalolab/data_model/lighting-app-thread.matter +++ b/examples/lighting-app/bouffalolab/data_model/lighting-app-thread.matter @@ -2577,7 +2577,7 @@ endpoint 1 { } server cluster LevelControl { - persist attribute currentLevel default = 0x254; + persist attribute currentLevel default = 0xFE; ram attribute remainingTime default = 0x0000; ram attribute minLevel default = 0x01; ram attribute maxLevel default = 0xFE; diff --git a/examples/lighting-app/bouffalolab/data_model/lighting-app-thread.zap b/examples/lighting-app/bouffalolab/data_model/lighting-app-thread.zap index 0c3c28dbddfdd1..f3e9a7c5ce2aba 100644 --- a/examples/lighting-app/bouffalolab/data_model/lighting-app-thread.zap +++ b/examples/lighting-app/bouffalolab/data_model/lighting-app-thread.zap @@ -3928,7 +3928,7 @@ "storageOption": "NVM", "singleton": 0, "bounded": 0, - "defaultValue": "0x254", + "defaultValue": "0xFE", "reportable": 1, "minInterval": 0, "maxInterval": 65344, diff --git a/examples/lighting-app/bouffalolab/data_model/lighting-app-wifi.matter b/examples/lighting-app/bouffalolab/data_model/lighting-app-wifi.matter index 6d26e8c2f8e4f3..d896f4308f956d 100644 --- a/examples/lighting-app/bouffalolab/data_model/lighting-app-wifi.matter +++ b/examples/lighting-app/bouffalolab/data_model/lighting-app-wifi.matter @@ -2440,7 +2440,7 @@ endpoint 1 { } server cluster LevelControl { - persist attribute currentLevel default = 0x254; + persist attribute currentLevel default = 0xFE; ram attribute remainingTime default = 0x0000; ram attribute minLevel default = 0x01; ram attribute maxLevel default = 0xFE; diff --git a/examples/lighting-app/bouffalolab/data_model/lighting-app-wifi.zap b/examples/lighting-app/bouffalolab/data_model/lighting-app-wifi.zap index 3f7f9e31192dc2..2afef0893a4091 100644 --- a/examples/lighting-app/bouffalolab/data_model/lighting-app-wifi.zap +++ b/examples/lighting-app/bouffalolab/data_model/lighting-app-wifi.zap @@ -3135,7 +3135,7 @@ "storageOption": "NVM", "singleton": 0, "bounded": 0, - "defaultValue": "0x254", + "defaultValue": "0xFE", "reportable": 1, "minInterval": 0, "maxInterval": 65344, diff --git a/examples/lighting-app/lighting-common/lighting-app.matter b/examples/lighting-app/lighting-common/lighting-app.matter index f8e6d2e795b4d4..769d929e580836 100644 --- a/examples/lighting-app/lighting-common/lighting-app.matter +++ b/examples/lighting-app/lighting-common/lighting-app.matter @@ -2957,7 +2957,7 @@ endpoint 1 { } server cluster LevelControl { - persist attribute currentLevel default = 0x01; + persist attribute currentLevel default = 0xFE; ram attribute remainingTime default = 0x0000; ram attribute minLevel default = 0x01; ram attribute maxLevel default = 0xFE; diff --git a/examples/lighting-app/lighting-common/lighting-app.zap b/examples/lighting-app/lighting-common/lighting-app.zap index b04b233712c293..e714f74af15315 100644 --- a/examples/lighting-app/lighting-common/lighting-app.zap +++ b/examples/lighting-app/lighting-common/lighting-app.zap @@ -4500,7 +4500,7 @@ "storageOption": "NVM", "singleton": 0, "bounded": 0, - "defaultValue": "0x01", + "defaultValue": "0xFE", "reportable": 1, "minInterval": 0, "maxInterval": 65344, diff --git a/examples/lighting-app/nxp/zap/lighting-on-off.matter b/examples/lighting-app/nxp/zap/lighting-on-off.matter index d76ebd5cd8a50d..c80d7cfa191a0e 100644 --- a/examples/lighting-app/nxp/zap/lighting-on-off.matter +++ b/examples/lighting-app/nxp/zap/lighting-on-off.matter @@ -2137,7 +2137,7 @@ endpoint 1 { } server cluster LevelControl { - persist attribute currentLevel default = 0x01; + persist attribute currentLevel default = 0xFE; ram attribute remainingTime default = 0x0000; ram attribute minLevel default = 0x01; ram attribute maxLevel default = 0xFE; diff --git a/examples/lighting-app/nxp/zap/lighting-on-off.zap b/examples/lighting-app/nxp/zap/lighting-on-off.zap index 6d5d8fd8cb382d..f8293b8cfc4e25 100644 --- a/examples/lighting-app/nxp/zap/lighting-on-off.zap +++ b/examples/lighting-app/nxp/zap/lighting-on-off.zap @@ -3637,7 +3637,7 @@ "storageOption": "NVM", "singleton": 0, "bounded": 0, - "defaultValue": "0x01", + "defaultValue": "0xFE", "reportable": 1, "minInterval": 0, "maxInterval": 65344, diff --git a/examples/lighting-app/qpg/zap/light.matter b/examples/lighting-app/qpg/zap/light.matter index fc3de298b9d073..fbefaabad5bb1f 100644 --- a/examples/lighting-app/qpg/zap/light.matter +++ b/examples/lighting-app/qpg/zap/light.matter @@ -2631,7 +2631,7 @@ endpoint 1 { } server cluster LevelControl { - persist attribute currentLevel default = 0x01; + persist attribute currentLevel default = 0xFE; ram attribute remainingTime default = 0x0000; ram attribute minLevel default = 0x01; ram attribute maxLevel default = 0xFE; diff --git a/examples/lighting-app/qpg/zap/light.zap b/examples/lighting-app/qpg/zap/light.zap index f4b4c6f1bf8ce9..b744892b3b9423 100644 --- a/examples/lighting-app/qpg/zap/light.zap +++ b/examples/lighting-app/qpg/zap/light.zap @@ -4770,7 +4770,7 @@ "storageOption": "NVM", "singleton": 0, "bounded": 0, - "defaultValue": "0x01", + "defaultValue": "0xFE", "reportable": 1, "minInterval": 0, "maxInterval": 65344, diff --git a/examples/lighting-app/silabs/data_model/lighting-thread-app.matter b/examples/lighting-app/silabs/data_model/lighting-thread-app.matter index ac3896a6d9cf03..cae4c8301878c4 100644 --- a/examples/lighting-app/silabs/data_model/lighting-thread-app.matter +++ b/examples/lighting-app/silabs/data_model/lighting-thread-app.matter @@ -2588,7 +2588,7 @@ endpoint 1 { } server cluster LevelControl { - persist attribute currentLevel default = 0x01; + persist attribute currentLevel default = 0xFE; ram attribute remainingTime default = 0x0000; ram attribute minLevel default = 0x01; ram attribute maxLevel default = 0xFE; diff --git a/examples/lighting-app/silabs/data_model/lighting-thread-app.zap b/examples/lighting-app/silabs/data_model/lighting-thread-app.zap index 2644717a84a11a..62cc5c49eb9ac3 100644 --- a/examples/lighting-app/silabs/data_model/lighting-thread-app.zap +++ b/examples/lighting-app/silabs/data_model/lighting-thread-app.zap @@ -3803,7 +3803,7 @@ "storageOption": "NVM", "singleton": 0, "bounded": 0, - "defaultValue": "0x01", + "defaultValue": "0xFE", "reportable": 1, "minInterval": 0, "maxInterval": 65344, diff --git a/examples/lighting-app/silabs/data_model/lighting-wifi-app.matter b/examples/lighting-app/silabs/data_model/lighting-wifi-app.matter index 61be1cd04594e9..33e76146049534 100644 --- a/examples/lighting-app/silabs/data_model/lighting-wifi-app.matter +++ b/examples/lighting-app/silabs/data_model/lighting-wifi-app.matter @@ -2860,7 +2860,7 @@ endpoint 1 { } server cluster LevelControl { - persist attribute currentLevel default = 0x01; + persist attribute currentLevel default = 0xFE; ram attribute remainingTime default = 0x0000; ram attribute minLevel default = 0x01; ram attribute maxLevel default = 0xFE; diff --git a/examples/lighting-app/silabs/data_model/lighting-wifi-app.zap b/examples/lighting-app/silabs/data_model/lighting-wifi-app.zap index 086261b9e095dc..94397579a0a7d6 100644 --- a/examples/lighting-app/silabs/data_model/lighting-wifi-app.zap +++ b/examples/lighting-app/silabs/data_model/lighting-wifi-app.zap @@ -3288,7 +3288,7 @@ "storageOption": "NVM", "singleton": 0, "bounded": 0, - "defaultValue": "0x01", + "defaultValue": "0xFE", "reportable": 1, "minInterval": 0, "maxInterval": 65344, diff --git a/examples/platform/nxp/common/matter_button/source/ButtonApp.cpp b/examples/platform/nxp/common/matter_button/source/ButtonApp.cpp index c380319a1d1840..ce036dbd756682 100644 --- a/examples/platform/nxp/common/matter_button/source/ButtonApp.cpp +++ b/examples/platform/nxp/common/matter_button/source/ButtonApp.cpp @@ -24,11 +24,30 @@ extern "C" { #include "board_comp.h" } +/** + * @brief Flag to describe if the button handles are predefined in SDK. + * + * Set to true by default. Platforms that do not have this support should + * disable the flag, which will enable handle definition in this file. + */ +#ifndef CONFIG_APP_BUTTON_HANDLE_SDK_PREDEFINED +#define CONFIG_APP_BUTTON_HANDLE_SDK_PREDEFINED 1 +#endif + +#if !CONFIG_APP_BUTTON_HANDLE_SDK_PREDEFINED +BUTTON_HANDLE_ARRAY_DEFINE(g_buttonHandle, gAppButtonCnt_c); +#endif + CHIP_ERROR chip::NXP::App::ButtonApp::Init() { - // Button is initialized in otSysInit, when APP_InitServices is called. - // Overwrite the handle to reference the SDK handle. +#if CONFIG_APP_BUTTON_HANDLE_SDK_PREDEFINED + // Button is defined in the SDK and initialized in otSysInit, when APP_InitServices is called. handle = &g_buttonHandle[1]; +#else + // Button handle is defined in this file and it should be initialized here. + handle = &g_buttonHandle[0]; + BOARD_InitButton0(handle); +#endif return CHIP_NO_ERROR; } diff --git a/examples/platform/nxp/common/matter_button/source/ButtonManager.cpp b/examples/platform/nxp/common/matter_button/source/ButtonManager.cpp index 046337397a3c3c..7aa9866edf9a01 100644 --- a/examples/platform/nxp/common/matter_button/source/ButtonManager.cpp +++ b/examples/platform/nxp/common/matter_button/source/ButtonManager.cpp @@ -17,7 +17,10 @@ */ #include "ButtonManager.h" + +extern "C" { #include "fwk_platform.h" +} #include #include diff --git a/examples/platform/nxp/common/matter_button/source/ButtonRegistrationAppAndBle.cpp b/examples/platform/nxp/common/matter_button/source/ButtonRegistrationAppAndBle.cpp index 45037b268f8254..b16bc1ff5cd58e 100644 --- a/examples/platform/nxp/common/matter_button/source/ButtonRegistrationAppAndBle.cpp +++ b/examples/platform/nxp/common/matter_button/source/ButtonRegistrationAppAndBle.cpp @@ -24,14 +24,37 @@ #include -static chip::NXP::App::ButtonApp sAppButton; -static chip::NXP::App::ButtonBle sBleButton; +/** + * @brief Flag to configure if the app button is enabled. + * + * Enabled by default. + */ +#ifndef CONFIG_APP_BUTTON_ENABLED +#define CONFIG_APP_BUTTON_ENABLED 1 +#endif + +/** + * @brief Flag to configure if the BLE button is enabled. + * + * Enabled by default. + */ +#ifndef CONFIG_BLE_BUTTON_ENABLED +#define CONFIG_BLE_BUTTON_ENABLED 1 +#endif CHIP_ERROR chip::NXP::App::RegisterButtons(void) { ReturnErrorOnFailure(ButtonMgr().Init()); + +#if CONFIG_BLE_BUTTON_ENABLED + static chip::NXP::App::ButtonBle sBleButton; ReturnErrorOnFailure(ButtonMgr().RegisterButton(sBleButton)); +#endif + +#if CONFIG_APP_BUTTON_ENABLED + static chip::NXP::App::ButtonApp sAppButton; ReturnErrorOnFailure(ButtonMgr().RegisterButton(sAppButton)); +#endif return CHIP_NO_ERROR; } diff --git a/scripts/setup/zap.json b/scripts/setup/zap.json index 38dec0696910f5..20cf55478c00dd 100644 --- a/scripts/setup/zap.json +++ b/scripts/setup/zap.json @@ -8,13 +8,13 @@ "mac-amd64", "windows-amd64" ], - "tags": ["version:2@v2024.08.14-nightly.1"] + "tags": ["version:2@v2024.10.11-nightly.1"] }, { "_comment": "Always get the amd64 version on mac until usable arm64 zap build is available", "path": "fuchsia/third_party/zap/mac-amd64", "platforms": ["mac-arm64"], - "tags": ["version:2@v2024.08.14-nightly.1"] + "tags": ["version:2@v2024.10.11-nightly.1"] } ] } diff --git a/scripts/setup/zap.version b/scripts/setup/zap.version index 5e2fd1daf0596d..044bdcd3d92f21 100644 --- a/scripts/setup/zap.version +++ b/scripts/setup/zap.version @@ -1 +1 @@ -v2024.08.14-nightly +v2024.10.11-nightly diff --git a/scripts/tests/chiptest/__init__.py b/scripts/tests/chiptest/__init__.py index 161d3b8c0cdcc1..5cb891a0144b3e 100644 --- a/scripts/tests/chiptest/__init__.py +++ b/scripts/tests/chiptest/__init__.py @@ -235,6 +235,7 @@ def _GetChipReplUnsupportedTests() -> Set[str]: "TestReadNoneSubscribeNone.yaml", # chip-repl does not support AnyCommands (07/27/2023) "Test_TC_IDM_1_2.yaml", # chip-repl does not support AnyCommands (19/07/2023) "Test_TC_BRBINFO_2_1.yaml", # chip-repl does not support AnyCommands (24/07/2024) + "TestThermostat.yaml", # chip-repl does not support AnyCommands (14/10/2024) "TestIcdManagementCluster.yaml", # TODO(#30430): add ICD registration support in chip-repl "Test_TC_ICDM_3_4.yaml", # chip-repl does not support ICD registration # chip-repl and chip-tool disagree on what the YAML here should look like: https://github.com/project-chip/connectedhomeip/issues/29110 diff --git a/scripts/tools/zap/zap_execution.py b/scripts/tools/zap/zap_execution.py index 40bc2e2a4b94a8..21257ef1952e75 100644 --- a/scripts/tools/zap/zap_execution.py +++ b/scripts/tools/zap/zap_execution.py @@ -23,7 +23,7 @@ # Use scripts/tools/zap/version_update.py to manage ZAP versioning as many # files may need updating for versions # -MIN_ZAP_VERSION = '2024.8.14' +MIN_ZAP_VERSION = '2024.10.11' class ZapTool: diff --git a/src/app/clusters/thermostat-server/thermostat-server.cpp b/src/app/clusters/thermostat-server/thermostat-server.cpp index 9e6e0f074d5e52..bda97c5cb1f22f 100644 --- a/src/app/clusters/thermostat-server/thermostat-server.cpp +++ b/src/app/clusters/thermostat-server/thermostat-server.cpp @@ -778,8 +778,8 @@ MatterThermostatClusterServerPreAttributeChangedCallback(const app::ConcreteAttr return Status::InvalidValue; } auto RequestedSystemMode = static_cast(*value); - if (ControlSequenceOfOperation > ControlSequenceOfOperationEnum::kCoolingAndHeatingWithReheat || - RequestedSystemMode > SystemModeEnum::kFanOnly) + if (EnsureKnownEnumValue(ControlSequenceOfOperation) == ControlSequenceOfOperationEnum::kUnknownEnumValue || + EnsureKnownEnumValue(RequestedSystemMode) == SystemModeEnum::kUnknownEnumValue) { return Status::InvalidValue; } diff --git a/src/app/tests/suites/TestThermostat.yaml b/src/app/tests/suites/TestThermostat.yaml new file mode 100644 index 00000000000000..70307db442f5f7 --- /dev/null +++ b/src/app/tests/suites/TestThermostat.yaml @@ -0,0 +1,91 @@ +# Copyright (c) 2024 Project CHIP Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +name: Thermostat basic functionality tests + +config: + nodeId: 0x12344321 + cluster: "Thermostat" + endpoint: 1 + +tests: + - label: "Wait for the commissioned device to be retrieved" + cluster: "DelayCommands" + command: "WaitForCommissionee" + arguments: + values: + - name: "nodeId" + value: nodeId + + - label: "Read current SystemMode value" + command: "readAttribute" + attribute: "SystemMode" + response: + saveAs: originalSystemMode + + - label: "Try to set SystemMode to Sleep" + command: "writeAttribute" + attribute: "SystemMode" + arguments: + value: SystemModeEnum.Sleep + + - label: "Check that the new value is set now" + command: "readAttribute" + attribute: "SystemMode" + response: + value: SystemModeEnum.Sleep + + - label: "Try to set SystemMode to an invalid value" + # Have to use WriteById, because normal write enforces valid values for enums. + cluster: "AnyCommands" + command: "WriteById" + attribute: "SystemMode" + arguments: + values: + - name: "ClusterId" + value: 0x0201 # Thermostat + - name: "AttributeId" + value: 0x001C # SystemMode + - name: "Value" + # Note: At some point this might become a valid value, + # and then this test will need to be adjusted, but that + # seems fairly low-probability. + value: 254 + response: + error: CONSTRAINT_ERROR + + - label: "Verify that WriteById would work correctly with a valid value" + cluster: "AnyCommands" + command: "WriteById" + attribute: "SystemMode" + arguments: + values: + - name: "ClusterId" + value: 0x0201 # Thermostat + - name: "AttributeId" + value: 0x001C # SystemMode + - name: "Value" + value: 8 # SystemModeEnum.Dry + + - label: "Check that the new value is set by id" + command: "readAttribute" + attribute: "SystemMode" + response: + value: SystemModeEnum.Dry + + - label: "reset SystemMode to original value" + command: "writeAttribute" + attribute: "SystemMode" + arguments: + value: originalSystemMode diff --git a/src/app/zap-templates/zcl/data-model/chip/matter-devices.xml b/src/app/zap-templates/zcl/data-model/chip/matter-devices.xml index 37af7693934825..f7f5699ef8fccf 100644 --- a/src/app/zap-templates/zcl/data-model/chip/matter-devices.xml +++ b/src/app/zap-templates/zcl/data-model/chip/matter-devices.xml @@ -19,7 +19,7 @@ limitations under the License. MA-orphan CHIP - Matter Orphan Clusters + Orphan Clusters 0x0103 0xFFF10001 @@ -32,7 +32,7 @@ limitations under the License. MA-rootdevice CHIP - Matter Root Node + Root Node 0x0103 0x0016 Node @@ -103,7 +103,7 @@ limitations under the License. MA-powersource CHIP - Matter Power Source + Power Source 0x0103 0x0011 Utility @@ -121,7 +121,7 @@ limitations under the License. MA-electricalsensor CHIP - Matter Electrical Sensor + Electrical Sensor 0x0103 0x0510 Utility @@ -136,7 +136,7 @@ limitations under the License. MA-otarequestor CHIP - Matter OTA Requestor + OTA Requestor 0x0103 0x0012 Utility @@ -155,7 +155,7 @@ limitations under the License. MA-otaprovider CHIP - Matter OTA Provider + OTA Provider 0x0103 0x0014 Utility @@ -174,7 +174,7 @@ limitations under the License. MA-aggregator CHIP - Matter Aggregator + Aggregator 0x0103 0x000e Simple @@ -192,7 +192,7 @@ limitations under the License. MA-bridgednode CHIP - Matter Bridged Node + Bridged Node 0x0103 0x0013 Utility @@ -214,7 +214,7 @@ limitations under the License. MA-onofflight CHIP - Matter On/Off Light + On/Off Light 0x0103 0x0100 Simple @@ -311,12 +311,12 @@ limitations under the License. MA-dimmablelight CHIP - Matter Dimmable Light + Dimmable Light 0x0103 0x0101 Simple Endpoint - Matter On/Off Light + On/Off Light IDENTIFY_TIME @@ -412,12 +412,12 @@ limitations under the License. MA-colortemperaturelight CHIP - Matter Color Temperature Light + Color Temperature Light 0x0103 0x010C Simple Endpoint - Matter Dimmable Light + Dimmable Light IDENTIFY_TIME @@ -531,12 +531,12 @@ limitations under the License. MA-extendedcolorlight CHIP - Matter Extended Color Light + Extended Color Light 0x0103 0x010D Simple Endpoint - Matter Color Temperature Light + Color Temperature Light IDENTIFY_TIME @@ -665,7 +665,7 @@ limitations under the License. MA-onoffpluginunit CHIP - Matter On/Off Plug-in Unit + On/Off Plug-in Unit 0x0103 0x010A Simple @@ -759,7 +759,7 @@ limitations under the License. MA-dimmablepluginunit CHIP - Matter Dimmable Plug-in Unit + Dimmable Plug-in Unit 0x0103 0x010B Simple @@ -853,7 +853,7 @@ limitations under the License. MA-pump CHIP - Matter Pump + Pump 0x0999 0x0303 Simple @@ -933,7 +933,7 @@ limitations under the License. MA-onofflightswitch CHIP - Matter On/Off Light Switch + On/Off Light Switch 0x0103 0x0103 Simple @@ -993,12 +993,12 @@ limitations under the License. MA-dimmerswitch CHIP - Matter Dimmer Switch + Dimmer Switch 0x0103 0x0104 Simple Endpoint - Matter On/Off Light Switch + On/Off Light Switch IDENTIFY_TIME @@ -1055,12 +1055,12 @@ limitations under the License. MA-colordimmerswitch CHIP - Matter Color Dimmer Switch + Color Dimmer Switch 0x0103 0x0105 Simple Endpoint - Matter Dimmer Switch + Dimmer Switch IDENTIFY_TIME @@ -1114,7 +1114,7 @@ limitations under the License. MA-controlbridge CHIP - Matter Control Bridge + Control Bridge 0x0103 0x0840 Simple @@ -1150,7 +1150,7 @@ limitations under the License. MA-pumpcontroller CHIP - Matter Pump Controller + Pump Controller 0x0999 0x0304 Simple @@ -1218,7 +1218,7 @@ limitations under the License. MA-genericswitch CHIP - Matter Generic Switch + Generic Switch 0x0103 0x000f Simple @@ -1245,7 +1245,7 @@ limitations under the License. MA-contactsensor CHIP - Matter Contact Sensor + Contact Sensor 0x0103 0x0015 Simple @@ -1272,7 +1272,7 @@ limitations under the License. MA-lightsensor CHIP - Matter Light Sensor + Light Sensor 0x0103 0x0106 Simple @@ -1305,7 +1305,7 @@ limitations under the License. MA-occupancysensor CHIP - Matter Occupancy Sensor + Occupancy Sensor 0x0103 0x0107 Simple @@ -1337,7 +1337,7 @@ limitations under the License. MA-tempsensor CHIP - Matter Temperature Sensor + Temperature Sensor 0x0103 0x0302 Simple @@ -1362,7 +1362,7 @@ limitations under the License. MA-pressuresensor CHIP - Matter Pressure Sensor + Pressure Sensor 0x0103 0x0305 Simple @@ -1387,7 +1387,7 @@ limitations under the License. MA-flowsensor CHIP - Matter Flow Sensor + Flow Sensor 0x0103 0x0306 Simple @@ -1412,7 +1412,7 @@ limitations under the License. MA-humiditysensor CHIP - Matter Humidity Sensor + Humidity Sensor 0x0103 0x0307 Simple @@ -1437,7 +1437,7 @@ limitations under the License. MA-onoffsensor CHIP - Matter On/Off Sensor + On/Off Sensor 0x0103 0x0850 Simple @@ -1469,7 +1469,7 @@ limitations under the License. MA-doorlock CHIP - Matter Door Lock + Door Lock 0x0103 0x000A Simple @@ -1517,7 +1517,7 @@ limitations under the License. MA-doorlockcontroller CHIP - Matter Door Lock Controller + Door Lock Controller 0x0103 0x000B Simple @@ -1539,7 +1539,7 @@ limitations under the License. MA-windowcovering CHIP - Matter Window Covering + Window Covering 0x0103 0x0202 Simple @@ -1604,7 +1604,7 @@ limitations under the License. MA-windowcoveringcontroller CHIP - Matter Window Covering Controller + Window Covering Controller 0x0103 0x0203 Simple @@ -1641,7 +1641,7 @@ limitations under the License. MA-heatcool CHIP - Matter Heating/Cooling Unit + Heating/Cooling Unit 0x0103 0x0300 Simple @@ -1705,7 +1705,7 @@ limitations under the License. MA-thermostat CHIP - Matter Thermostat + Thermostat 0x0103 0x0301 Simple @@ -1772,7 +1772,7 @@ limitations under the License. MA-fan CHIP - Matter Fan + Fan 0x0103 0x002B Simple @@ -1809,7 +1809,7 @@ limitations under the License. MA-casting-videoplayer CHIP - Matter Casting Video Player + Casting Video Player 0x0103 0x0023 Simple @@ -1844,7 +1844,7 @@ limitations under the License. MA-basic-videoplayer CHIP - Matter Basic Video Player + Basic Video Player 0x0103 0x0028 Simple @@ -1870,7 +1870,7 @@ limitations under the License. MA-casting-videoclient CHIP - Matter Casting Video Client + Casting Video Client 0x0103 0x0029 Simple @@ -1904,7 +1904,7 @@ limitations under the License. MA-video-remotecontrol CHIP - Matter Video Remote Control + Video Remote Control 0x0103 0x002A Simple @@ -1937,7 +1937,7 @@ limitations under the License. MA-speaker CHIP - Matter Speaker + Speaker 0x0103 0x0022 Simple @@ -1963,7 +1963,7 @@ limitations under the License. MA-contentapp CHIP - Matter Content App + Content App 0x0103 0x0024 Simple @@ -2001,7 +2001,7 @@ limitations under the License. MA-modeselect CHIP - Matter Mode Select + Mode Select 0x0103 0x0027 Simple @@ -2026,7 +2026,7 @@ limitations under the License. MA-room-airconditioner CHIP - Matter Room Air Conditioner + Room Air Conditioner 0x0103 0x0072 Simple @@ -2061,7 +2061,7 @@ limitations under the License. MA-smokecoalarm CHIP - Matter Smoke CO Alarm + Smoke CO Alarm 0x0103 0x0076 Simple @@ -2084,7 +2084,7 @@ limitations under the License. MA-air-purifier CHIP - Matter Air Purifier + Air Purifier 0x0103 0x002D Simple @@ -2105,7 +2105,7 @@ limitations under the License. MA-air-quality-sensor CHIP - Matter Air Quality Sensor + Air Quality Sensor 0x0103 0x002C Simple @@ -2135,7 +2135,7 @@ limitations under the License. MA-dishwasher CHIP - Matter Dishwasher + Dishwasher 0x0103 0x0075 Simple @@ -2165,7 +2165,7 @@ limitations under the License. MA-oven CHIP - Matter Oven + Oven 0x0103 0x007B Simple @@ -2178,7 +2178,7 @@ limitations under the License. MA-microwave-oven CHIP - Matter Microwave Oven + Microwave Oven 0x0103 0x0079 Simple @@ -2204,7 +2204,7 @@ limitations under the License. MA-refrigerator CHIP - Matter Refrigerator + Refrigerator 0x0103 0x0070 Simple @@ -2231,7 +2231,7 @@ limitations under the License. MA-laundry-washer CHIP - Matter Laundry Washer + Laundry Washer 0x0103 0x0073 Simple @@ -2261,7 +2261,7 @@ limitations under the License. MA-laundry-dryer CHIP - Matter Laundry Dryer + Laundry Dryer 0x0103 0x007C Simple @@ -2291,7 +2291,7 @@ limitations under the License. MA-extractor-hood CHIP - Matter Extractor Hood + Extractor Hood 0x0103 0x007A Simple @@ -2319,7 +2319,7 @@ limitations under the License. MA-robotic-vacuum-cleaner CHIP - Matter Robotic Vacuum Cleaner + Robotic Vacuum Cleaner 0x0103 0x0074 Simple @@ -2337,7 +2337,7 @@ limitations under the License. MA-temperature-controlled-cabinet CHIP - Matter Temperature Controlled Cabinet + Temperature Controlled Cabinet 0x0103 0x0071 Simple @@ -2366,7 +2366,7 @@ limitations under the License. MA-water-freeze-detector CHIP - Matter Water Freeze Detector + Water Freeze Detector 0x0103 0x0041 Simple @@ -2381,7 +2381,7 @@ limitations under the License. MA-water-valve CHIP - Matter Water Valve + Water Valve 0x0103 0x0042 Simple @@ -2395,7 +2395,7 @@ limitations under the License. MA-water-leak-detector CHIP - Matter Water Leak Detector + Water Leak Detector 0x0103 0x0043 Simple @@ -2410,7 +2410,7 @@ limitations under the License. MA-rain-sensor CHIP - Matter Rain Sensor + Rain Sensor 0x0103 0x0044 Simple @@ -2425,7 +2425,7 @@ limitations under the License. MA-network-infrastructure-manager CHIP - Matter Network Infrastructure Manager + Network Infrastructure Manager 0x0103 0x0090 Simple @@ -2440,7 +2440,7 @@ limitations under the License. MA-thread-border-router CHIP - Matter Thread Border Router + Thread Border Router 0x0103 0x0091 Simple @@ -2455,7 +2455,7 @@ limitations under the License. MA-all-clusters-app CHIP - Matter All-clusters-app Server Example + All-clusters-app Server Example 0x0103 0xFFF10003 @@ -2612,7 +2612,7 @@ limitations under the License. MA-secondary-network-interface CHIP - Matter Secondary Network Interface + Secondary Network Interface 0x0103 0x0019 Utility @@ -2633,7 +2633,7 @@ limitations under the License. Cooktop CHIP - Matter Cooktop + Cooktop Simple 0x0103 0x0078 @@ -2653,7 +2653,7 @@ limitations under the License. Cook Surface CHIP - Matter Cook Surface + Cook Surface Simple 0x0103 0x0077 @@ -2673,7 +2673,7 @@ limitations under the License. Energy EVSE CHIP - Matter EVSE + EVSE Simple 0x0103 0x050C @@ -2688,7 +2688,7 @@ limitations under the License. Device Energy Management CHIP - Matter Device Energy Management + Device Energy Management Simple 0x0103 0x050D diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRDeviceTypeMetadata.mm b/src/darwin/Framework/CHIP/zap-generated/MTRDeviceTypeMetadata.mm index 5658861414e70f..cadfa6ab337950 100644 --- a/src/darwin/Framework/CHIP/zap-generated/MTRDeviceTypeMetadata.mm +++ b/src/darwin/Framework/CHIP/zap-generated/MTRDeviceTypeMetadata.mm @@ -34,76 +34,76 @@ }; constexpr DeviceTypeData knownDeviceTypes[] = { - { 0x0000000A, DeviceTypeClass::Simple, "Matter Door Lock" }, - { 0x0000000B, DeviceTypeClass::Simple, "Matter Door Lock Controller" }, - { 0x0000000E, DeviceTypeClass::Simple, "Matter Aggregator" }, - { 0x0000000F, DeviceTypeClass::Simple, "Matter Generic Switch" }, - { 0x00000011, DeviceTypeClass::Utility, "Matter Power Source" }, - { 0x00000012, DeviceTypeClass::Utility, "Matter OTA Requestor" }, - { 0x00000013, DeviceTypeClass::Utility, "Matter Bridged Node" }, - { 0x00000014, DeviceTypeClass::Utility, "Matter OTA Provider" }, - { 0x00000015, DeviceTypeClass::Simple, "Matter Contact Sensor" }, - { 0x00000016, DeviceTypeClass::Node, "Matter Root Node" }, - { 0x00000019, DeviceTypeClass::Utility, "Matter Secondary Network Interface" }, - { 0x00000022, DeviceTypeClass::Simple, "Matter Speaker" }, - { 0x00000023, DeviceTypeClass::Simple, "Matter Casting Video Player" }, - { 0x00000024, DeviceTypeClass::Simple, "Matter Content App" }, - { 0x00000027, DeviceTypeClass::Simple, "Matter Mode Select" }, - { 0x00000028, DeviceTypeClass::Simple, "Matter Basic Video Player" }, - { 0x00000029, DeviceTypeClass::Simple, "Matter Casting Video Client" }, - { 0x0000002A, DeviceTypeClass::Simple, "Matter Video Remote Control" }, - { 0x0000002B, DeviceTypeClass::Simple, "Matter Fan" }, - { 0x0000002C, DeviceTypeClass::Simple, "Matter Air Quality Sensor" }, - { 0x0000002D, DeviceTypeClass::Simple, "Matter Air Purifier" }, - { 0x00000041, DeviceTypeClass::Simple, "Matter Water Freeze Detector" }, - { 0x00000042, DeviceTypeClass::Simple, "Matter Water Valve" }, - { 0x00000043, DeviceTypeClass::Simple, "Matter Water Leak Detector" }, - { 0x00000044, DeviceTypeClass::Simple, "Matter Rain Sensor" }, - { 0x00000070, DeviceTypeClass::Simple, "Matter Refrigerator" }, - { 0x00000071, DeviceTypeClass::Simple, "Matter Temperature Controlled Cabinet" }, - { 0x00000072, DeviceTypeClass::Simple, "Matter Room Air Conditioner" }, - { 0x00000073, DeviceTypeClass::Simple, "Matter Laundry Washer" }, - { 0x00000074, DeviceTypeClass::Simple, "Matter Robotic Vacuum Cleaner" }, - { 0x00000075, DeviceTypeClass::Simple, "Matter Dishwasher" }, - { 0x00000076, DeviceTypeClass::Simple, "Matter Smoke CO Alarm" }, - { 0x00000077, DeviceTypeClass::Simple, "Matter Cook Surface" }, - { 0x00000078, DeviceTypeClass::Simple, "Matter Cooktop" }, - { 0x00000079, DeviceTypeClass::Simple, "Matter Microwave Oven" }, - { 0x0000007A, DeviceTypeClass::Simple, "Matter Extractor Hood" }, - { 0x0000007B, DeviceTypeClass::Simple, "Matter Oven" }, - { 0x0000007C, DeviceTypeClass::Simple, "Matter Laundry Dryer" }, - { 0x00000090, DeviceTypeClass::Simple, "Matter Network Infrastructure Manager" }, - { 0x00000091, DeviceTypeClass::Simple, "Matter Thread Border Router" }, - { 0x00000100, DeviceTypeClass::Simple, "Matter On/Off Light" }, - { 0x00000101, DeviceTypeClass::Simple, "Matter Dimmable Light" }, - { 0x00000103, DeviceTypeClass::Simple, "Matter On/Off Light Switch" }, - { 0x00000104, DeviceTypeClass::Simple, "Matter Dimmer Switch" }, - { 0x00000105, DeviceTypeClass::Simple, "Matter Color Dimmer Switch" }, - { 0x00000106, DeviceTypeClass::Simple, "Matter Light Sensor" }, - { 0x00000107, DeviceTypeClass::Simple, "Matter Occupancy Sensor" }, - { 0x0000010A, DeviceTypeClass::Simple, "Matter On/Off Plug-in Unit" }, - { 0x0000010B, DeviceTypeClass::Simple, "Matter Dimmable Plug-in Unit" }, - { 0x0000010C, DeviceTypeClass::Simple, "Matter Color Temperature Light" }, - { 0x0000010D, DeviceTypeClass::Simple, "Matter Extended Color Light" }, - { 0x00000202, DeviceTypeClass::Simple, "Matter Window Covering" }, - { 0x00000203, DeviceTypeClass::Simple, "Matter Window Covering Controller" }, - { 0x00000300, DeviceTypeClass::Simple, "Matter Heating/Cooling Unit" }, - { 0x00000301, DeviceTypeClass::Simple, "Matter Thermostat" }, - { 0x00000302, DeviceTypeClass::Simple, "Matter Temperature Sensor" }, - { 0x00000303, DeviceTypeClass::Simple, "Matter Pump" }, - { 0x00000304, DeviceTypeClass::Simple, "Matter Pump Controller" }, - { 0x00000305, DeviceTypeClass::Simple, "Matter Pressure Sensor" }, - { 0x00000306, DeviceTypeClass::Simple, "Matter Flow Sensor" }, - { 0x00000307, DeviceTypeClass::Simple, "Matter Humidity Sensor" }, - { 0x0000050C, DeviceTypeClass::Simple, "Matter EVSE" }, - { 0x0000050D, DeviceTypeClass::Simple, "Matter Device Energy Management" }, - { 0x00000510, DeviceTypeClass::Utility, "Matter Electrical Sensor" }, - { 0x00000840, DeviceTypeClass::Simple, "Matter Control Bridge" }, - { 0x00000850, DeviceTypeClass::Simple, "Matter On/Off Sensor" }, + { 0x0000000A, DeviceTypeClass::Simple, "Door Lock" }, + { 0x0000000B, DeviceTypeClass::Simple, "Door Lock Controller" }, + { 0x0000000E, DeviceTypeClass::Simple, "Aggregator" }, + { 0x0000000F, DeviceTypeClass::Simple, "Generic Switch" }, + { 0x00000011, DeviceTypeClass::Utility, "Power Source" }, + { 0x00000012, DeviceTypeClass::Utility, "OTA Requestor" }, + { 0x00000013, DeviceTypeClass::Utility, "Bridged Node" }, + { 0x00000014, DeviceTypeClass::Utility, "OTA Provider" }, + { 0x00000015, DeviceTypeClass::Simple, "Contact Sensor" }, + { 0x00000016, DeviceTypeClass::Node, "Root Node" }, + { 0x00000019, DeviceTypeClass::Utility, "Secondary Network Interface" }, + { 0x00000022, DeviceTypeClass::Simple, "Speaker" }, + { 0x00000023, DeviceTypeClass::Simple, "Casting Video Player" }, + { 0x00000024, DeviceTypeClass::Simple, "Content App" }, + { 0x00000027, DeviceTypeClass::Simple, "Mode Select" }, + { 0x00000028, DeviceTypeClass::Simple, "Basic Video Player" }, + { 0x00000029, DeviceTypeClass::Simple, "Casting Video Client" }, + { 0x0000002A, DeviceTypeClass::Simple, "Video Remote Control" }, + { 0x0000002B, DeviceTypeClass::Simple, "Fan" }, + { 0x0000002C, DeviceTypeClass::Simple, "Air Quality Sensor" }, + { 0x0000002D, DeviceTypeClass::Simple, "Air Purifier" }, + { 0x00000041, DeviceTypeClass::Simple, "Water Freeze Detector" }, + { 0x00000042, DeviceTypeClass::Simple, "Water Valve" }, + { 0x00000043, DeviceTypeClass::Simple, "Water Leak Detector" }, + { 0x00000044, DeviceTypeClass::Simple, "Rain Sensor" }, + { 0x00000070, DeviceTypeClass::Simple, "Refrigerator" }, + { 0x00000071, DeviceTypeClass::Simple, "Temperature Controlled Cabinet" }, + { 0x00000072, DeviceTypeClass::Simple, "Room Air Conditioner" }, + { 0x00000073, DeviceTypeClass::Simple, "Laundry Washer" }, + { 0x00000074, DeviceTypeClass::Simple, "Robotic Vacuum Cleaner" }, + { 0x00000075, DeviceTypeClass::Simple, "Dishwasher" }, + { 0x00000076, DeviceTypeClass::Simple, "Smoke CO Alarm" }, + { 0x00000077, DeviceTypeClass::Simple, "Cook Surface" }, + { 0x00000078, DeviceTypeClass::Simple, "Cooktop" }, + { 0x00000079, DeviceTypeClass::Simple, "Microwave Oven" }, + { 0x0000007A, DeviceTypeClass::Simple, "Extractor Hood" }, + { 0x0000007B, DeviceTypeClass::Simple, "Oven" }, + { 0x0000007C, DeviceTypeClass::Simple, "Laundry Dryer" }, + { 0x00000090, DeviceTypeClass::Simple, "Network Infrastructure Manager" }, + { 0x00000091, DeviceTypeClass::Simple, "Thread Border Router" }, + { 0x00000100, DeviceTypeClass::Simple, "On/Off Light" }, + { 0x00000101, DeviceTypeClass::Simple, "Dimmable Light" }, + { 0x00000103, DeviceTypeClass::Simple, "On/Off Light Switch" }, + { 0x00000104, DeviceTypeClass::Simple, "Dimmer Switch" }, + { 0x00000105, DeviceTypeClass::Simple, "Color Dimmer Switch" }, + { 0x00000106, DeviceTypeClass::Simple, "Light Sensor" }, + { 0x00000107, DeviceTypeClass::Simple, "Occupancy Sensor" }, + { 0x0000010A, DeviceTypeClass::Simple, "On/Off Plug-in Unit" }, + { 0x0000010B, DeviceTypeClass::Simple, "Dimmable Plug-in Unit" }, + { 0x0000010C, DeviceTypeClass::Simple, "Color Temperature Light" }, + { 0x0000010D, DeviceTypeClass::Simple, "Extended Color Light" }, + { 0x00000202, DeviceTypeClass::Simple, "Window Covering" }, + { 0x00000203, DeviceTypeClass::Simple, "Window Covering Controller" }, + { 0x00000300, DeviceTypeClass::Simple, "Heating/Cooling Unit" }, + { 0x00000301, DeviceTypeClass::Simple, "Thermostat" }, + { 0x00000302, DeviceTypeClass::Simple, "Temperature Sensor" }, + { 0x00000303, DeviceTypeClass::Simple, "Pump" }, + { 0x00000304, DeviceTypeClass::Simple, "Pump Controller" }, + { 0x00000305, DeviceTypeClass::Simple, "Pressure Sensor" }, + { 0x00000306, DeviceTypeClass::Simple, "Flow Sensor" }, + { 0x00000307, DeviceTypeClass::Simple, "Humidity Sensor" }, + { 0x0000050C, DeviceTypeClass::Simple, "EVSE" }, + { 0x0000050D, DeviceTypeClass::Simple, "Device Energy Management" }, + { 0x00000510, DeviceTypeClass::Utility, "Electrical Sensor" }, + { 0x00000840, DeviceTypeClass::Simple, "Control Bridge" }, + { 0x00000850, DeviceTypeClass::Simple, "On/Off Sensor" }, }; -static_assert(ExtractVendorFromMEI(0xFFF10001) != 0, "Must have class defined for \"Matter Orphan Clusters\" if it's a standard device type"); -static_assert(ExtractVendorFromMEI(0xFFF10003) != 0, "Must have class defined for \"Matter All-clusters-app Server Example\" if it's a standard device type"); +static_assert(ExtractVendorFromMEI(0xFFF10001) != 0, "Must have class defined for \"Orphan Clusters\" if it's a standard device type"); +static_assert(ExtractVendorFromMEI(0xFFF10003) != 0, "Must have class defined for \"All-clusters-app Server Example\" if it's a standard device type"); } // anonymous namespace diff --git a/src/python_testing/TC_DA_1_2.py b/src/python_testing/TC_DA_1_2.py index 9bf08fe72afdf0..5c0b6dbf154d7c 100644 --- a/src/python_testing/TC_DA_1_2.py +++ b/src/python_testing/TC_DA_1_2.py @@ -35,6 +35,7 @@ # quiet: true # === END CI TEST ARGUMENTS === +import logging import os import random import re @@ -391,7 +392,12 @@ async def test_TC_DA_1_2(self): if '.der' not in filename: continue with open(os.path.join(cd_cert_dir, filename), 'rb') as f: - cert = x509.load_der_x509_certificate(f.read()) + logging.info(f'Parsing CD signing certificate file: {filename}') + try: + cert = x509.load_der_x509_certificate(f.read()) + except ValueError: + logging.info(f'File {filename} is not a valid certificate, skipping') + pass pub = cert.public_key() ski = x509.SubjectKeyIdentifier.from_public_key(pub).digest certs[ski] = pub diff --git a/zzz_generated/chip-tool/zap-generated/cluster/logging/EntryToText.cpp b/zzz_generated/chip-tool/zap-generated/cluster/logging/EntryToText.cpp index fd04833cd9191f..5aa0a783f8bfac 100644 --- a/zzz_generated/chip-tool/zap-generated/cluster/logging/EntryToText.cpp +++ b/zzz_generated/chip-tool/zap-generated/cluster/logging/EntryToText.cpp @@ -6636,141 +6636,141 @@ char const * DeviceTypeIdToText(chip::DeviceTypeId id) switch (id) { case 0x0000000A: - return "Matter Door Lock"; + return "Door Lock"; case 0x0000000B: - return "Matter Door Lock Controller"; + return "Door Lock Controller"; case 0x0000000E: - return "Matter Aggregator"; + return "Aggregator"; case 0x0000000F: - return "Matter Generic Switch"; + return "Generic Switch"; case 0x00000011: - return "Matter Power Source"; + return "Power Source"; case 0x00000012: - return "Matter OTA Requestor"; + return "OTA Requestor"; case 0x00000013: - return "Matter Bridged Node"; + return "Bridged Node"; case 0x00000014: - return "Matter OTA Provider"; + return "OTA Provider"; case 0x00000015: - return "Matter Contact Sensor"; + return "Contact Sensor"; case 0x00000016: - return "Matter Root Node"; + return "Root Node"; case 0x00000019: - return "Matter Secondary Network Interface"; + return "Secondary Network Interface"; case 0x00000022: - return "Matter Speaker"; + return "Speaker"; case 0x00000023: - return "Matter Casting Video Player"; + return "Casting Video Player"; case 0x00000024: - return "Matter Content App"; + return "Content App"; case 0x00000027: - return "Matter Mode Select"; + return "Mode Select"; case 0x00000028: - return "Matter Basic Video Player"; + return "Basic Video Player"; case 0x00000029: - return "Matter Casting Video Client"; + return "Casting Video Client"; case 0x0000002A: - return "Matter Video Remote Control"; + return "Video Remote Control"; case 0x0000002B: - return "Matter Fan"; + return "Fan"; case 0x0000002C: - return "Matter Air Quality Sensor"; + return "Air Quality Sensor"; case 0x0000002D: - return "Matter Air Purifier"; + return "Air Purifier"; case 0x00000041: - return "Matter Water Freeze Detector"; + return "Water Freeze Detector"; case 0x00000042: - return "Matter Water Valve"; + return "Water Valve"; case 0x00000043: - return "Matter Water Leak Detector"; + return "Water Leak Detector"; case 0x00000044: - return "Matter Rain Sensor"; + return "Rain Sensor"; case 0x00000070: - return "Matter Refrigerator"; + return "Refrigerator"; case 0x00000071: - return "Matter Temperature Controlled Cabinet"; + return "Temperature Controlled Cabinet"; case 0x00000072: - return "Matter Room Air Conditioner"; + return "Room Air Conditioner"; case 0x00000073: - return "Matter Laundry Washer"; + return "Laundry Washer"; case 0x00000074: - return "Matter Robotic Vacuum Cleaner"; + return "Robotic Vacuum Cleaner"; case 0x00000075: - return "Matter Dishwasher"; + return "Dishwasher"; case 0x00000076: - return "Matter Smoke CO Alarm"; + return "Smoke CO Alarm"; case 0x00000077: - return "Matter Cook Surface"; + return "Cook Surface"; case 0x00000078: - return "Matter Cooktop"; + return "Cooktop"; case 0x00000079: - return "Matter Microwave Oven"; + return "Microwave Oven"; case 0x0000007A: - return "Matter Extractor Hood"; + return "Extractor Hood"; case 0x0000007B: - return "Matter Oven"; + return "Oven"; case 0x0000007C: - return "Matter Laundry Dryer"; + return "Laundry Dryer"; case 0x00000090: - return "Matter Network Infrastructure Manager"; + return "Network Infrastructure Manager"; case 0x00000091: - return "Matter Thread Border Router"; + return "Thread Border Router"; case 0x00000100: - return "Matter On/Off Light"; + return "On/Off Light"; case 0x00000101: - return "Matter Dimmable Light"; + return "Dimmable Light"; case 0x00000103: - return "Matter On/Off Light Switch"; + return "On/Off Light Switch"; case 0x00000104: - return "Matter Dimmer Switch"; + return "Dimmer Switch"; case 0x00000105: - return "Matter Color Dimmer Switch"; + return "Color Dimmer Switch"; case 0x00000106: - return "Matter Light Sensor"; + return "Light Sensor"; case 0x00000107: - return "Matter Occupancy Sensor"; + return "Occupancy Sensor"; case 0x0000010A: - return "Matter On/Off Plug-in Unit"; + return "On/Off Plug-in Unit"; case 0x0000010B: - return "Matter Dimmable Plug-in Unit"; + return "Dimmable Plug-in Unit"; case 0x0000010C: - return "Matter Color Temperature Light"; + return "Color Temperature Light"; case 0x0000010D: - return "Matter Extended Color Light"; + return "Extended Color Light"; case 0x00000202: - return "Matter Window Covering"; + return "Window Covering"; case 0x00000203: - return "Matter Window Covering Controller"; + return "Window Covering Controller"; case 0x00000300: - return "Matter Heating/Cooling Unit"; + return "Heating/Cooling Unit"; case 0x00000301: - return "Matter Thermostat"; + return "Thermostat"; case 0x00000302: - return "Matter Temperature Sensor"; + return "Temperature Sensor"; case 0x00000303: - return "Matter Pump"; + return "Pump"; case 0x00000304: - return "Matter Pump Controller"; + return "Pump Controller"; case 0x00000305: - return "Matter Pressure Sensor"; + return "Pressure Sensor"; case 0x00000306: - return "Matter Flow Sensor"; + return "Flow Sensor"; case 0x00000307: - return "Matter Humidity Sensor"; + return "Humidity Sensor"; case 0x0000050C: - return "Matter EVSE"; + return "EVSE"; case 0x0000050D: - return "Matter Device Energy Management"; + return "Device Energy Management"; case 0x00000510: - return "Matter Electrical Sensor"; + return "Electrical Sensor"; case 0x00000840: - return "Matter Control Bridge"; + return "Control Bridge"; case 0x00000850: - return "Matter On/Off Sensor"; + return "On/Off Sensor"; case 0xFFF10001: - return "Matter Orphan Clusters"; + return "Orphan Clusters"; case 0xFFF10003: - return "Matter All-clusters-app Server Example"; + return "All-clusters-app Server Example"; default: return "Unknown"; }