Skip to content

Commit aba5b2f

Browse files
authored
Merge branch 'master' into granbery/preset_setpoint_sync
2 parents 04b18d3 + 32c961f commit aba5b2f

File tree

78 files changed

+697
-981
lines changed

Some content is hidden

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

78 files changed

+697
-981
lines changed

config/esp32/components/chip/idf_component.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ dependencies:
2727
- if: "target != esp32h2"
2828

2929
espressif/esp_rcp_update:
30-
version: "1.0.3"
30+
version: "1.2.0"
3131
rules:
3232
- if: "idf_version >=5.0"
3333

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

+5-1
Original file line numberDiff line numberDiff line change
@@ -6301,7 +6301,7 @@ cluster RelativeHumidityMeasurement = 1029 {
63016301
readonly attribute int16u clusterRevision = 65533;
63026302
}
63036303

6304-
/** Attributes and commands for configuring occupancy sensing, and reporting occupancy status. */
6304+
/** The server cluster provides an interface to occupancy sensing functionality based on one or more sensing modalities, including configuration and provision of notifications of occupancy status. */
63056305
cluster OccupancySensing = 1030 {
63066306
revision 5;
63076307

@@ -6339,6 +6339,10 @@ cluster OccupancySensing = 1030 {
63396339
int16u holdTimeDefault = 2;
63406340
}
63416341

6342+
info event OccupancyChanged = 0 {
6343+
OccupancyBitmap occupancy = 0;
6344+
}
6345+
63426346
readonly attribute OccupancyBitmap occupancy = 0;
63436347
readonly attribute OccupancySensorTypeEnum occupancySensorType = 1;
63446348
readonly attribute OccupancySensorTypeBitmap occupancySensorTypeBitmap = 2;

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

+5-1
Original file line numberDiff line numberDiff line change
@@ -4735,7 +4735,7 @@ cluster RelativeHumidityMeasurement = 1029 {
47354735
readonly attribute int16u clusterRevision = 65533;
47364736
}
47374737

4738-
/** Attributes and commands for configuring occupancy sensing, and reporting occupancy status. */
4738+
/** The server cluster provides an interface to occupancy sensing functionality based on one or more sensing modalities, including configuration and provision of notifications of occupancy status. */
47394739
cluster OccupancySensing = 1030 {
47404740
revision 5;
47414741

@@ -4773,6 +4773,10 @@ cluster OccupancySensing = 1030 {
47734773
int16u holdTimeDefault = 2;
47744774
}
47754775

4776+
info event OccupancyChanged = 0 {
4777+
OccupancyBitmap occupancy = 0;
4778+
}
4779+
47764780
readonly attribute OccupancyBitmap occupancy = 0;
47774781
readonly attribute OccupancySensorTypeEnum occupancySensorType = 1;
47784782
readonly attribute OccupancySensorTypeBitmap occupancySensorTypeBitmap = 2;

examples/all-clusters-minimal-app/all-clusters-common/all-clusters-minimal-app.zap

+1-1
Original file line numberDiff line numberDiff line change
@@ -12488,4 +12488,4 @@
1248812488
"parentEndpointIdentifier": null
1248912489
}
1249012490
]
12491-
}
12491+
}

examples/chef/devices/noip_rootnode_dimmablelight_bCwGYSDpoe.matter

+5-1
Original file line numberDiff line numberDiff line change
@@ -1917,7 +1917,7 @@ cluster FixedLabel = 64 {
19171917
readonly attribute int16u clusterRevision = 65533;
19181918
}
19191919

1920-
/** Attributes and commands for configuring occupancy sensing, and reporting occupancy status. */
1920+
/** The server cluster provides an interface to occupancy sensing functionality based on one or more sensing modalities, including configuration and provision of notifications of occupancy status. */
19211921
cluster OccupancySensing = 1030 {
19221922
revision 5;
19231923

@@ -1955,6 +1955,10 @@ cluster OccupancySensing = 1030 {
19551955
int16u holdTimeDefault = 2;
19561956
}
19571957

1958+
info event OccupancyChanged = 0 {
1959+
OccupancyBitmap occupancy = 0;
1960+
}
1961+
19581962
readonly attribute OccupancyBitmap occupancy = 0;
19591963
readonly attribute OccupancySensorTypeEnum occupancySensorType = 1;
19601964
readonly attribute OccupancySensorTypeBitmap occupancySensorTypeBitmap = 2;

examples/chef/devices/rootnode_dimmablelight_bCwGYSDpoe.matter

+5-1
Original file line numberDiff line numberDiff line change
@@ -1812,7 +1812,7 @@ cluster FixedLabel = 64 {
18121812
readonly attribute int16u clusterRevision = 65533;
18131813
}
18141814

1815-
/** Attributes and commands for configuring occupancy sensing, and reporting occupancy status. */
1815+
/** The server cluster provides an interface to occupancy sensing functionality based on one or more sensing modalities, including configuration and provision of notifications of occupancy status. */
18161816
cluster OccupancySensing = 1030 {
18171817
revision 5;
18181818

@@ -1850,6 +1850,10 @@ cluster OccupancySensing = 1030 {
18501850
int16u holdTimeDefault = 2;
18511851
}
18521852

1853+
info event OccupancyChanged = 0 {
1854+
OccupancyBitmap occupancy = 0;
1855+
}
1856+
18531857
readonly attribute OccupancyBitmap occupancy = 0;
18541858
readonly attribute OccupancySensorTypeEnum occupancySensorType = 1;
18551859
readonly attribute OccupancySensorTypeBitmap occupancySensorTypeBitmap = 2;

examples/chef/devices/rootnode_dimmablepluginunit_f8a9a0b9d4.matter

+5-1
Original file line numberDiff line numberDiff line change
@@ -1968,7 +1968,7 @@ provisional cluster ScenesManagement = 98 {
19681968
fabric command CopyScene(CopySceneRequest): CopySceneResponse = 64;
19691969
}
19701970

1971-
/** Attributes and commands for configuring occupancy sensing, and reporting occupancy status. */
1971+
/** The server cluster provides an interface to occupancy sensing functionality based on one or more sensing modalities, including configuration and provision of notifications of occupancy status. */
19721972
cluster OccupancySensing = 1030 {
19731973
revision 5;
19741974

@@ -2006,6 +2006,10 @@ cluster OccupancySensing = 1030 {
20062006
int16u holdTimeDefault = 2;
20072007
}
20082008

2009+
info event OccupancyChanged = 0 {
2010+
OccupancyBitmap occupancy = 0;
2011+
}
2012+
20092013
readonly attribute OccupancyBitmap occupancy = 0;
20102014
readonly attribute OccupancySensorTypeEnum occupancySensorType = 1;
20112015
readonly attribute OccupancySensorTypeBitmap occupancySensorTypeBitmap = 2;

examples/chef/devices/rootnode_genericswitch_2dfff6e516.zap

+1-1
Original file line numberDiff line numberDiff line change
@@ -2801,4 +2801,4 @@
28012801
"parentEndpointIdentifier": null
28022802
}
28032803
]
2804-
}
2804+
}

examples/chef/devices/rootnode_genericswitch_9866e35d0b.zap

+1-1
Original file line numberDiff line numberDiff line change
@@ -2780,4 +2780,4 @@
27802780
"parentEndpointIdentifier": null
27812781
}
27822782
]
2783-
}
2783+
}

examples/chef/devices/rootnode_occupancysensor_iHyVgifZuo.matter

+6-2
Original file line numberDiff line numberDiff line change
@@ -1615,7 +1615,7 @@ cluster FixedLabel = 64 {
16151615
readonly attribute int16u clusterRevision = 65533;
16161616
}
16171617

1618-
/** Attributes and commands for configuring occupancy sensing, and reporting occupancy status. */
1618+
/** The server cluster provides an interface to occupancy sensing functionality based on one or more sensing modalities, including configuration and provision of notifications of occupancy status. */
16191619
cluster OccupancySensing = 1030 {
16201620
revision 5;
16211621

@@ -1653,6 +1653,10 @@ cluster OccupancySensing = 1030 {
16531653
int16u holdTimeDefault = 2;
16541654
}
16551655

1656+
info event OccupancyChanged = 0 {
1657+
OccupancyBitmap occupancy = 0;
1658+
}
1659+
16561660
readonly attribute OccupancyBitmap occupancy = 0;
16571661
readonly attribute OccupancySensorTypeEnum occupancySensorType = 1;
16581662
readonly attribute OccupancySensorTypeBitmap occupancySensorTypeBitmap = 2;
@@ -1896,7 +1900,7 @@ endpoint 0 {
18961900
}
18971901
}
18981902
endpoint 1 {
1899-
device type ma_occupancysensor = 263, version 1;
1903+
device type ma_occupancysensor = 263, version 4;
19001904

19011905
binding cluster Groups;
19021906
binding cluster Binding;

examples/chef/devices/rootnode_occupancysensor_iHyVgifZuo.zap

+2-2
Original file line numberDiff line numberDiff line change
@@ -2484,7 +2484,7 @@
24842484
}
24852485
],
24862486
"deviceVersions": [
2487-
1
2487+
4
24882488
],
24892489
"deviceIdentifiers": [
24902490
263
@@ -3022,4 +3022,4 @@
30223022
"parentEndpointIdentifier": null
30233023
}
30243024
]
3025-
}
3025+
}

examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter

+5-1
Original file line numberDiff line numberDiff line change
@@ -2118,7 +2118,7 @@ cluster RelativeHumidityMeasurement = 1029 {
21182118
readonly attribute int16u clusterRevision = 65533;
21192119
}
21202120

2121-
/** Attributes and commands for configuring occupancy sensing, and reporting occupancy status. */
2121+
/** The server cluster provides an interface to occupancy sensing functionality based on one or more sensing modalities, including configuration and provision of notifications of occupancy status. */
21222122
cluster OccupancySensing = 1030 {
21232123
revision 5;
21242124

@@ -2156,6 +2156,10 @@ cluster OccupancySensing = 1030 {
21562156
int16u holdTimeDefault = 2;
21572157
}
21582158

2159+
info event OccupancyChanged = 0 {
2160+
OccupancyBitmap occupancy = 0;
2161+
}
2162+
21592163
readonly attribute OccupancyBitmap occupancy = 0;
21602164
readonly attribute OccupancySensorTypeEnum occupancySensorType = 1;
21612165
readonly attribute OccupancySensorTypeBitmap occupancySensorTypeBitmap = 2;

examples/chef/sample_app_util/test_files/sample_zap_file.zap

+1-1
Original file line numberDiff line numberDiff line change
@@ -5683,4 +5683,4 @@
56835683
"parentEndpointIdentifier": null
56845684
}
56855685
]
5686-
}
5686+
}

examples/contact-sensor-app/contact-sensor-common/contact-sensor-app.matter

+5-1
Original file line numberDiff line numberDiff line change
@@ -1914,7 +1914,7 @@ cluster BooleanState = 69 {
19141914
readonly attribute int16u clusterRevision = 65533;
19151915
}
19161916

1917-
/** Attributes and commands for configuring occupancy sensing, and reporting occupancy status. */
1917+
/** The server cluster provides an interface to occupancy sensing functionality based on one or more sensing modalities, including configuration and provision of notifications of occupancy status. */
19181918
cluster OccupancySensing = 1030 {
19191919
revision 5;
19201920

@@ -1952,6 +1952,10 @@ cluster OccupancySensing = 1030 {
19521952
int16u holdTimeDefault = 2;
19531953
}
19541954

1955+
info event OccupancyChanged = 0 {
1956+
OccupancyBitmap occupancy = 0;
1957+
}
1958+
19551959
readonly attribute OccupancyBitmap occupancy = 0;
19561960
readonly attribute OccupancySensorTypeEnum occupancySensorType = 1;
19571961
readonly attribute OccupancySensorTypeBitmap occupancySensorTypeBitmap = 2;

examples/contact-sensor-app/contact-sensor-common/contact-sensor-app.zap

+1-1
Original file line numberDiff line numberDiff line change
@@ -4750,4 +4750,4 @@
47504750
"parentEndpointIdentifier": null
47514751
}
47524752
]
4753-
}
4753+
}

examples/darwin-framework-tool/commands/clusters/ModelCommandBridge.mm

+3-2
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,10 @@
2525

2626
CHIP_ERROR ModelCommand::RunCommand()
2727
{
28-
MTRDeviceController * commissioner = CurrentCommissioner();
2928
ChipLogProgress(chipTool, "Sending command to node 0x" ChipLogFormatX64, ChipLogValueX64(mNodeId));
30-
auto * device = [MTRBaseDevice deviceWithNodeID:@(mNodeId) controller:commissioner];
29+
auto * device = BaseDeviceWithNodeId(mNodeId);
30+
VerifyOrReturnError(device != nil, CHIP_ERROR_INCORRECT_STATE);
31+
3132
CHIP_ERROR err = SendCommand(device, mEndPointId);
3233

3334
if (err != CHIP_NO_ERROR) {

examples/darwin-framework-tool/commands/common/CHIPCommandBridge.h

+5-2
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
*/
1818

1919
#pragma once
20+
2021
#import <Matter/Matter.h>
2122
#include <commands/common/Command.h>
2223
#include <commands/common/CredentialIssuerCommands.h>
@@ -26,8 +27,6 @@
2627

2728
#include "../provider/OTAProviderDelegate.h"
2829

29-
#pragma once
30-
3130
inline constexpr char kIdentityAlpha[] = "alpha";
3231
inline constexpr char kIdentityBeta[] = "beta";
3332
inline constexpr char kIdentityGamma[] = "gamma";
@@ -91,6 +90,10 @@ class CHIPCommandBridge : public Command {
9190

9291
MTRDeviceController * GetCommissioner(const char * identity);
9392

93+
// Returns the MTRBaseDevice for the specified node ID.
94+
// Will utilize an existing PASE connection if the device is being commissioned.
95+
MTRBaseDevice * BaseDeviceWithNodeId(chip::NodeId nodeId);
96+
9497
// Will log the given string and given error (as progress if success, error
9598
// if failure).
9699
void LogNSError(const char * logString, NSError * error);

examples/darwin-framework-tool/commands/common/CHIPCommandBridge.mm

+8
Original file line numberDiff line numberDiff line change
@@ -195,6 +195,14 @@
195195

196196
MTRDeviceController * CHIPCommandBridge::GetCommissioner(const char * identity) { return mControllers[identity]; }
197197

198+
MTRBaseDevice * CHIPCommandBridge::BaseDeviceWithNodeId(chip::NodeId nodeId)
199+
{
200+
MTRDeviceController * controller = CurrentCommissioner();
201+
VerifyOrReturnValue(controller != nil, nil);
202+
return [controller deviceBeingCommissionedWithNodeID:@(nodeId) error:nullptr]
203+
?: [MTRBaseDevice deviceWithNodeID:@(nodeId) controller:controller];
204+
}
205+
198206
void CHIPCommandBridge::StopCommissioners()
199207
{
200208
for (auto & pair : mControllers) {

examples/darwin-framework-tool/commands/delay/WaitForCommissioneeCommand.mm

+1-4
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,7 @@
2222

2323
CHIP_ERROR WaitForCommissioneeCommand::RunCommand()
2424
{
25-
MTRDeviceController * commissioner = CurrentCommissioner();
26-
VerifyOrReturnError(nil != commissioner, CHIP_ERROR_INCORRECT_STATE);
27-
28-
auto * base_device = [MTRBaseDevice deviceWithNodeID:@(mNodeId) controller:commissioner];
25+
auto * base_device = BaseDeviceWithNodeId(mNodeId);
2926
VerifyOrReturnError(base_device != nil, CHIP_ERROR_INCORRECT_STATE);
3027

3128
if (mExpireExistingSession.ValueOr(true)) {

examples/darwin-framework-tool/commands/pairing/Commands.h

+25-9
Original file line numberDiff line numberDiff line change
@@ -28,61 +28,75 @@
2828
class PairCode : public PairingCommandBridge
2929
{
3030
public:
31-
PairCode() : PairingCommandBridge("code", PairingMode::Code, PairingNetworkType::None) {}
31+
PairCode() : PairingCommandBridge("code", PairingMode::Code, CommissioningType::NoNetwork) {}
32+
};
33+
34+
class PairCodePASEOnly : public PairingCommandBridge
35+
{
36+
public:
37+
PairCodePASEOnly() : PairingCommandBridge("code-paseonly", PairingMode::Code, CommissioningType::None) {}
3238
};
3339

3440
class PairCodeWifi : public PairingCommandBridge
3541
{
3642
public:
37-
PairCodeWifi() : PairingCommandBridge("code-wifi", PairingMode::Code, PairingNetworkType::WiFi) {}
43+
PairCodeWifi() : PairingCommandBridge("code-wifi", PairingMode::Code, CommissioningType::WiFi) {}
3844
};
3945

4046
class PairCodeThread : public PairingCommandBridge
4147
{
4248
public:
43-
PairCodeThread() : PairingCommandBridge("code-thread", PairingMode::Code, PairingNetworkType::Thread) {}
49+
PairCodeThread() : PairingCommandBridge("code-thread", PairingMode::Code, CommissioningType::Thread) {}
4450
};
4551

4652
class PairBleWiFi : public PairingCommandBridge
4753
{
4854
public:
49-
PairBleWiFi() : PairingCommandBridge("ble-wifi", PairingMode::Ble, PairingNetworkType::WiFi) {}
55+
PairBleWiFi() : PairingCommandBridge("ble-wifi", PairingMode::Ble, CommissioningType::WiFi) {}
5056
};
5157

5258
class PairBleThread : public PairingCommandBridge
5359
{
5460
public:
55-
PairBleThread() : PairingCommandBridge("ble-thread", PairingMode::Ble, PairingNetworkType::Thread) {}
61+
PairBleThread() : PairingCommandBridge("ble-thread", PairingMode::Ble, CommissioningType::Thread) {}
5662
};
5763

5864
class PairAlreadyDiscoveredByIndex : public PairingCommandBridge
5965
{
6066
public:
6167
PairAlreadyDiscoveredByIndex() :
62-
PairingCommandBridge("by-index", PairingMode::AlreadyDiscoveredByIndex, PairingNetworkType::None)
68+
PairingCommandBridge("by-index", PairingMode::AlreadyDiscoveredByIndex, CommissioningType::NoNetwork)
69+
{}
70+
};
71+
72+
class PairAlreadyDiscoveredByIndexPASEOnly : public PairingCommandBridge
73+
{
74+
public:
75+
PairAlreadyDiscoveredByIndexPASEOnly() :
76+
PairingCommandBridge("by-index-paseonly", PairingMode::AlreadyDiscoveredByIndex, CommissioningType::None)
6377
{}
6478
};
6579

6680
class PairAlreadyDiscoveredByIndexWithWiFi : public PairingCommandBridge
6781
{
6882
public:
6983
PairAlreadyDiscoveredByIndexWithWiFi() :
70-
PairingCommandBridge("by-index-with-wifi", PairingMode::AlreadyDiscoveredByIndex, PairingNetworkType::WiFi)
84+
PairingCommandBridge("by-index-with-wifi", PairingMode::AlreadyDiscoveredByIndex, CommissioningType::WiFi)
7185
{}
7286
};
7387

7488
class PairAlreadyDiscoveredByIndexWithThread : public PairingCommandBridge
7589
{
7690
public:
7791
PairAlreadyDiscoveredByIndexWithThread() :
78-
PairingCommandBridge("by-index-with-thread", PairingMode::AlreadyDiscoveredByIndex, PairingNetworkType::Thread)
92+
PairingCommandBridge("by-index-with-thread", PairingMode::AlreadyDiscoveredByIndex, CommissioningType::Thread)
7993
{}
8094
};
8195

8296
class Unpair : public PairingCommandBridge
8397
{
8498
public:
85-
Unpair() : PairingCommandBridge("unpair", PairingMode::None, PairingNetworkType::None) {}
99+
Unpair() : PairingCommandBridge("unpair", PairingMode::Unpair, CommissioningType::None) {}
86100
};
87101

88102
void registerCommandsPairing(Commands & commands)
@@ -91,11 +105,13 @@ void registerCommandsPairing(Commands & commands)
91105

92106
commands_list clusterCommands = {
93107
make_unique<PairCode>(),
108+
make_unique<PairCodePASEOnly>(),
94109
make_unique<PairCodeWifi>(),
95110
make_unique<PairCodeThread>(),
96111
make_unique<PairBleWiFi>(),
97112
make_unique<PairBleThread>(),
98113
make_unique<PairAlreadyDiscoveredByIndex>(),
114+
make_unique<PairAlreadyDiscoveredByIndexPASEOnly>(),
99115
make_unique<Unpair>(),
100116
make_unique<OpenCommissioningWindowCommand>(),
101117
make_unique<PreWarmCommissioningCommand>(),

0 commit comments

Comments
 (0)