Skip to content

Commit 1da5b4b

Browse files
authored
Merge branch 'master' into feature/refresh-content-app-acl
2 parents f02313d + 8ebe19d commit 1da5b4b

File tree

149 files changed

+10078
-3472
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

149 files changed

+10078
-3472
lines changed

.github/workflows/tests.yaml

+2
Original file line numberDiff line numberDiff line change
@@ -191,6 +191,7 @@ jobs:
191191
src/app/zap-templates/zcl/data-model/chip/unit-localization-cluster.xml \
192192
src/app/zap-templates/zcl/data-model/chip/wake-on-lan-cluster.xml \
193193
src/app/zap-templates/zcl/data-model/chip/washer-controls-cluster.xml \
194+
src/app/zap-templates/zcl/data-model/chip/water-heater-management-cluster.xml \
194195
src/app/zap-templates/zcl/data-model/chip/wifi-network-diagnostics-cluster.xml \
195196
src/app/zap-templates/zcl/data-model/chip/wifi-network-management-cluster.xml \
196197
src/app/zap-templates/zcl/data-model/chip/window-covering.xml \
@@ -529,6 +530,7 @@ jobs:
529530
scripts/run_in_python_env.sh out/venv './scripts/tests/run_python_test.py --load-from-env /tmp/test_env.yaml --script src/python_testing/TC_ICDManagementCluster.py'
530531
scripts/run_in_python_env.sh out/venv './scripts/tests/run_python_test.py --load-from-env /tmp/test_env.yaml --script src/python_testing/TC_IDM_1_2.py'
531532
scripts/run_in_python_env.sh out/venv './scripts/tests/run_python_test.py --load-from-env /tmp/test_env.yaml --script src/python_testing/TC_IDM_1_4.py'
533+
scripts/run_in_python_env.sh out/venv './scripts/tests/run_python_test.py --load-from-env /tmp/test_env.yaml --script src/python_testing/TC_IDM_4_2.py'
532534
scripts/run_in_python_env.sh out/venv './scripts/tests/run_python_test.py --load-from-env /tmp/test_env.yaml --script src/python_testing/TC_PWRTL_2_1.py'
533535
scripts/run_in_python_env.sh out/venv './scripts/tests/run_python_test.py --load-from-env /tmp/test_env.yaml --script src/python_testing/TC_RR_1_1.py'
534536
scripts/run_in_python_env.sh out/venv './scripts/tests/run_python_test.py --load-from-env /tmp/test_env.yaml --script src/python_testing/TC_SC_3_6.py'

config/python/CHIPProjectConfig.h

+11-4
Original file line numberDiff line numberDiff line change
@@ -26,14 +26,19 @@
2626
#define CHIP_CONFIG_EVENT_LOGGING_NUM_EXTERNAL_CALLBACKS 2
2727

2828
// Uncomment this for a large Tunnel MTU.
29-
//#define CHIP_CONFIG_TUNNEL_INTERFACE_MTU (9000)
29+
// #define CHIP_CONFIG_TUNNEL_INTERFACE_MTU (9000)
3030

3131
// Enable support functions for parsing command-line arguments
3232
#define CHIP_CONFIG_ENABLE_ARG_PARSER 1
3333

34-
// Use a default pairing code if one hasn't been provisioned in flash.
35-
#define CHIP_DEVICE_CONFIG_USE_TEST_SETUP_PIN_CODE 20202021
36-
#define CHIP_DEVICE_CONFIG_USE_TEST_SETUP_DISCRIMINATOR 0xF00
34+
// Enable use of test setup parameters for testing purposes only.
35+
//
36+
// WARNING: This option makes it possible to circumvent basic chip security functionality.
37+
// Because of this it SHOULD NEVER BE ENABLED IN PRODUCTION BUILDS.
38+
//
39+
#ifndef CHIP_DEVICE_CONFIG_ENABLE_TEST_SETUP_PARAMS
40+
#define CHIP_DEVICE_CONFIG_ENABLE_TEST_SETUP_PARAMS 1
41+
#endif
3742

3843
// Enable reading DRBG seed data from /dev/(u)random.
3944
// This is needed for test applications and the CHIP device manager to function
@@ -46,6 +51,8 @@
4651
// WARNING: These options make it possible to circumvent basic Chip security functionality,
4752
// including message encryption. Because of this they MUST NEVER BE ENABLED IN PRODUCTION BUILDS.
4853
//
54+
// To build with this flag, pass 'treat_warnings_as_errors=false' to gn/ninja.
55+
//
4956
#define CHIP_CONFIG_SECURITY_TEST_MODE 0
5057

5158
#define CHIP_CONFIG_ENABLE_UPDATE 1

docs/getting_started/SDKBasics.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ logic is handled in the run-time installed interface layers.
5858
- examples
5959
- [examples/chip-tool](https://github.com/project-chip/connectedhomeip/blob/master/examples/chip-tool) -
6060
main controller example
61-
- [examples/all-clusters-app](https://github.com/project-chip/connectedhomeip/blob/master/examples/all-cluster-app) -
61+
- [examples/all-clusters-app](https://github.com/project-chip/connectedhomeip/blob/master/examples/all-clusters-app) -
6262
QA app
6363
- [examples/\<others\>](https://github.com/project-chip/connectedhomeip/blob/master/examples) -
6464
Specific Device examples

docs/testing/unit_testing.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -218,8 +218,8 @@ your overriding function make sure to check `HasFailure()` and return if the
218218
parent function failed.
219219

220220
If you don't override any of the setup/teardown functions, you can simply make a
221-
type alias: `using YourTestContext = Test::AppContextPW;` instead of defining
222-
your own text context class.
221+
type alias: `using YourTestContext = Test::AppContext;` instead of defining your
222+
own text context class.
223223

224224
## Best practices
225225

docs/zap_clusters.md

+1
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ Generally regenerate using one of:
7979
| 129 | 0x81 | ValveConfigurationAndControl |
8080
| 144 | 0x90 | ElectricalPowerMeasurement |
8181
| 145 | 0x91 | ElectricalEnergyMeasurement |
82+
| 148 | 0x94 | WaterHeaterManagement |
8283
| 150 | 0x96 | DemandResponseLoadControl |
8384
| 151 | 0x97 | Messages |
8485
| 152 | 0x98 | DeviceEnergyManagement |

examples/all-clusters-app/all-clusters-common/all-clusters-app.matter

+7-4
Original file line numberDiff line numberDiff line change
@@ -4298,7 +4298,7 @@ provisional cluster DeviceEnergyManagement = 152 {
42984298

42994299
/** 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. */
43004300
cluster EnergyEvse = 153 {
4301-
revision 2;
4301+
revision 4;
43024302

43034303
enum EnergyTransferStoppedReasonEnum : enum8 {
43044304
kEVStopped = 0;
@@ -4342,6 +4342,7 @@ cluster EnergyEvse = 153 {
43424342
kDischargingEnabled = 2;
43434343
kDisabledError = 3;
43444344
kDisabledDiagnostics = 4;
4345+
kEnabled = 5;
43454346
}
43464347

43474348
bitmap Feature : bitmap32 {
@@ -4389,13 +4390,15 @@ cluster EnergyEvse = 153 {
43894390
int32u sessionID = 0;
43904391
StateEnum state = 1;
43914392
amperage_ma maximumCurrent = 2;
4393+
optional amperage_ma maximumDischargeCurrent = 3;
43924394
}
43934395

43944396
info event EnergyTransferStopped = 3 {
43954397
int32u sessionID = 0;
43964398
StateEnum state = 1;
43974399
EnergyTransferStoppedReasonEnum reason = 2;
43984400
energy_mwh energyTransferred = 4;
4401+
optional energy_mwh energyDischarged = 5;
43994402
}
44004403

44014404
critical event Fault = 4 {
@@ -4460,15 +4463,15 @@ cluster EnergyEvse = 153 {
44604463

44614464
/** Allows a client to disable the EVSE from charging and discharging. */
44624465
timed command Disable(): DefaultSuccess = 1;
4463-
/** Allows a client to enable the EVSE to charge an EV. */
4466+
/** This command allows a client to enable the EVSE to charge an EV, */
44644467
timed command EnableCharging(EnableChargingRequest): DefaultSuccess = 2;
4465-
/** Allows a client to enable the EVSE to discharge an EV. */
4468+
/** Upon receipt, this SHALL allow a client to enable the discharge of an EV, */
44664469
timed command EnableDischarging(EnableDischargingRequest): DefaultSuccess = 3;
44674470
/** Allows a client to put the EVSE into a self-diagnostics mode. */
44684471
timed command StartDiagnostics(): DefaultSuccess = 4;
44694472
/** Allows a client to set the user specified charging targets. */
44704473
timed command SetTargets(SetTargetsRequest): DefaultSuccess = 5;
4471-
/** Allows a client to retrieve the user specified charging targets. */
4474+
/** Allows a client to retrieve the current set of charging targets. */
44724475
timed command GetTargets(): GetTargetsResponse = 6;
44734476
/** Allows a client to clear all stored charging targets. */
44744477
timed command ClearTargets(): DefaultSuccess = 7;

examples/chip-tool/commands/common/RemoteDataModelLogger.cpp

+2-1
Original file line numberDiff line numberDiff line change
@@ -241,7 +241,8 @@ CHIP_ERROR LogDiscoveredNodeData(const chip::Dnssd::CommissionNodeData & nodeDat
241241
value["rotatingIdLen"] = static_cast<uint64_t>(commissionData.rotatingIdLen);
242242
value["pairingHint"] = commissionData.pairingHint;
243243
value["pairingInstruction"] = commissionData.pairingInstruction;
244-
value["supportsTcp"] = resolutionData.supportsTcp;
244+
value["supportsTcpClient"] = resolutionData.supportsTcpClient;
245+
value["supportsTcpServer"] = resolutionData.supportsTcpServer;
245246
value["port"] = resolutionData.port;
246247
value["numIPs"] = static_cast<uint8_t>(resolutionData.numIPs);
247248

examples/chip-tool/commands/discover/Commands.h

+2-1
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,8 @@ class Resolve : public DiscoverCommand, public chip::AddressResolve::NodeListene
5353
result.mrpRemoteConfig.mIdleRetransTimeout.count());
5454
ChipLogProgress(chipTool, " MRP retry interval (active): %" PRIu32 "ms",
5555
result.mrpRemoteConfig.mActiveRetransTimeout.count());
56-
ChipLogProgress(chipTool, " Supports TCP: %s", result.supportsTcp ? "yes" : "no");
56+
ChipLogProgress(chipTool, " Supports TCP Client: %s", result.supportsTcpClient ? "yes" : "no");
57+
ChipLogProgress(chipTool, " Supports TCP Server: %s", result.supportsTcpServer ? "yes" : "no");
5758
ChipLogProgress(chipTool, " ICD is operating as: %s", result.isICDOperatingAsLIT ? "LIT" : "SIT");
5859
SetCommandExitStatus(CHIP_NO_ERROR);
5960
}

examples/contact-sensor-app/nxp/k32w/k32w0/README.md

+6-1
Original file line numberDiff line numberDiff line change
@@ -730,9 +730,14 @@ Please see more in the
730730
Here is an example that generates an OTA image with application update TLV:
731731

732732
```
733-
./scripts/tools/nxp/ota/ota_image_tool.py create -v 0xDEAD -p 0xBEEF -vn 42021 -vs "1.0" -da sha256 --app-input-file chip-k32w0x-contact-example.bin chip-k32w0x-contact-example.ota
733+
./scripts/tools/nxp/ota/ota_image_tool.py create -v 0xDEAD -p 0xBEEF -vn 2 -vs "2.0" -da sha256 --enc_enable --input_ota_key "1234567890ABCDEFA1B2C3D4E5F6F1B4" --app-input-file chip-k32w0x-contact-example.bin chip-k32w0x-contact-example.ota
734734
```
735735

736+
Please note the two options `--enc_enable` and `--input_ota_key`, which are
737+
mandatory when `chip_with_ota_encryption=1`. The value of `--input_ota_key` must
738+
match the value of `chip_with_ota_key`. See `args.gni` for the default gn
739+
configuration.
740+
736741
A note regarding OTA image header version (`-vn` option). An application binary
737742
has its own software version, given by
738743
`CHIP_DEVICE_CONFIG_DEVICE_SOFTWARE_VERSION` (`42020` by default), which can be

examples/energy-management-app/energy-management-common/energy-management-app.matter

+7-4
Original file line numberDiff line numberDiff line change
@@ -1651,7 +1651,7 @@ provisional cluster DeviceEnergyManagement = 152 {
16511651

16521652
/** 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. */
16531653
cluster EnergyEvse = 153 {
1654-
revision 2;
1654+
revision 4;
16551655

16561656
enum EnergyTransferStoppedReasonEnum : enum8 {
16571657
kEVStopped = 0;
@@ -1695,6 +1695,7 @@ cluster EnergyEvse = 153 {
16951695
kDischargingEnabled = 2;
16961696
kDisabledError = 3;
16971697
kDisabledDiagnostics = 4;
1698+
kEnabled = 5;
16981699
}
16991700

17001701
bitmap Feature : bitmap32 {
@@ -1742,13 +1743,15 @@ cluster EnergyEvse = 153 {
17421743
int32u sessionID = 0;
17431744
StateEnum state = 1;
17441745
amperage_ma maximumCurrent = 2;
1746+
optional amperage_ma maximumDischargeCurrent = 3;
17451747
}
17461748

17471749
info event EnergyTransferStopped = 3 {
17481750
int32u sessionID = 0;
17491751
StateEnum state = 1;
17501752
EnergyTransferStoppedReasonEnum reason = 2;
17511753
energy_mwh energyTransferred = 4;
1754+
optional energy_mwh energyDischarged = 5;
17521755
}
17531756

17541757
critical event Fault = 4 {
@@ -1813,15 +1816,15 @@ cluster EnergyEvse = 153 {
18131816

18141817
/** Allows a client to disable the EVSE from charging and discharging. */
18151818
timed command Disable(): DefaultSuccess = 1;
1816-
/** Allows a client to enable the EVSE to charge an EV. */
1819+
/** This command allows a client to enable the EVSE to charge an EV, */
18171820
timed command EnableCharging(EnableChargingRequest): DefaultSuccess = 2;
1818-
/** Allows a client to enable the EVSE to discharge an EV. */
1821+
/** Upon receipt, this SHALL allow a client to enable the discharge of an EV, */
18191822
timed command EnableDischarging(EnableDischargingRequest): DefaultSuccess = 3;
18201823
/** Allows a client to put the EVSE into a self-diagnostics mode. */
18211824
timed command StartDiagnostics(): DefaultSuccess = 4;
18221825
/** Allows a client to set the user specified charging targets. */
18231826
timed command SetTargets(SetTargetsRequest): DefaultSuccess = 5;
1824-
/** Allows a client to retrieve the user specified charging targets. */
1827+
/** Allows a client to retrieve the current set of charging targets. */
18251828
timed command GetTargets(): GetTargetsResponse = 6;
18261829
/** Allows a client to clear all stored charging targets. */
18271830
timed command ClearTargets(): DefaultSuccess = 7;

examples/fabric-admin/commands/common/RemoteDataModelLogger.cpp

+2-1
Original file line numberDiff line numberDiff line change
@@ -241,7 +241,8 @@ CHIP_ERROR LogDiscoveredNodeData(const chip::Dnssd::CommissionNodeData & nodeDat
241241
value["rotatingIdLen"] = static_cast<uint64_t>(commissionData.rotatingIdLen);
242242
value["pairingHint"] = commissionData.pairingHint;
243243
value["pairingInstruction"] = commissionData.pairingInstruction;
244-
value["supportsTcp"] = resolutionData.supportsTcp;
244+
value["supportsTcpClient"] = resolutionData.supportsTcpClient;
245+
value["supportsTcpServer"] = resolutionData.supportsTcpServer;
245246
value["port"] = resolutionData.port;
246247
value["numIPs"] = static_cast<uint8_t>(resolutionData.numIPs);
247248

0 commit comments

Comments
 (0)