- SiliconLabs Matter Github: Matter EFR32 Dishwasher Example 2.3.0-1.3:
- An example showing the use of Matter on the Silicon Labs EFR32 MG12 and MG24 boards.
- OperationalState Cluster on Endpoint 1 / ClusterId 96 (0x0060)
- PowerSource Cluster on Endpoint 1 / ClusterId 47 (0x002f)
- ElectricalPowerMeasurement ClusterId 144 (0x0090)
- ElectricalEnergyMeasurement ClusterId 145 (0x0091)
- PowerTopology ClusterId 156 (0x009c)
Source files
Electrical Power Measurement
Mode | Voltage | ActiveCurrent | ReactiveCurrent | ApparentCurrent | ActivePower | ReactivePower | ApparentPower | RMSVoltage | RMSCurrent | RMSPower | Frequency | PowerFactor | NeutralCurrent |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Stopped | 120'000 | 0 | 0 | 0 | 0 | 0 | 0 | 120'000 | 0 | 0 | 50 | 98'00 | 0 |
Running | 120'000 | 15'000 | 17'000 | 23'000 | 1800'000 | 2040'000 | 3000'000 | 120'000 | 15'000 | 1800'000 | 50 | 92'00 | 15'000 |
Paused | 120'000 | 125 | 150 | 190 | 17'000 | 18'000 | 25'000 | 120'000 | 125 | 17'000 | 50 | 95'00 | 125 |
Error | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Electrical Energy Measurement
TODO
LED 0 shows the overall state of the device and its connectivity. The following states are possible:
State | Description |
---|---|
Short Flash On (50 ms on/950 ms off) | The device is in the unprovisioned (unpaired) state and is waiting for a commissioning application to connect. |
Rapid Even Flashing (100 ms on/100 ms off) | The device is in the unprovisioned state and a commissioning application is connected through Bluetooth LE. |
Short Flash Off (950ms on/50ms off) | The device is fully provisioned, but does not yet have full Thread network or service connectivity. |
Solid On | The device is fully provisioned and has full Thread network and service connectivity. |
LED 1 Shows the dishwasher working state following states are possible:
State | Description |
---|---|
Solid On | dishwasher is running |
Slow Blink | dishwasher is paused |
Off | dishwasher is stopped |
Fast Blink | dishwasher has encountered an error |
Push Button 0 Pairing
State | Description |
---|---|
Press and Release | Start, or restart, BLE advertisement in fast mode. It will advertise in this mode for 30 seconds. The device will then switch to a slower interval advertisement. After 15 minutes, the advertisement stops. |
Pressed and hold for 6 s | Initiates the factory reset of the device. Releasing the button within the 6-second window cancels the factory reset procedure. LEDs blink in unison when the factory reset procedure is initiated. |
Push Button 1 Cycle the dishwasher operational states Running/Paused/Stopped
To control the device's operational state, act on the OperationalState cluster:
chip-tool operationalstate start <node_id> <endpoint>
chip-tool operationalstate stop <node_id> <endpoint>
chip-tool operationalstate pause <node_id> <endpoint>
chip-tool operationalstate start 1 1
chip-tool operationalstate stop 1 1
chip-tool operationalstate pause 1 1
ElectricalPowerMeasurement ClusterId 144 (0x0090)
Voltage
chip-tool electricalpowermeasurement read voltage 2 2
Active-Power
chip-tool electricalpowermeasurement read active-power 2 2
Active-Current
chip-tool electricalpowermeasurement read active-current 2 2
Electrical Power Measurement
Electrical Energy Measurement
Electrical Power Measurement
ElectricalEnergyMeasurement event
2024-08-28 22:26:23.721 (MainThread) VERBOSE [matter_server.server.device_controller] <Node:62> Received node event: EventReadResult(Header=EventHeader(EndpointId=2, ClusterId=145, EventId=0, EventNumber=524583, Priority=<EventPriority.INFO: 1>, Timestamp=946685094118, TimestampType=<EventTimestampType.EPOCH: 1>), Status=<Status.Success: 0>, Data=ElectricalEnergyMeasurement.Events.CumulativeEnergyMeasured(energyImported=ElectricalEnergyMeasurement.Structs.EnergyMeasurementStruct(energy=0, startTimestamp=10, endTimestamp=14, startSystime=10273, endSystime=14019), energyExported=ElectricalEnergyMeasurement.Structs.EnergyMeasurementStruct(energy=0, startTimestamp=None, endTimestamp=None, startSystime=None, endSystime=None))) - transaction: <Subscription (Id=3757335339)>
Matter 1.3 introduced native support for electrical/power measurements: