Skip to content

Latest commit

 

History

History
165 lines (97 loc) · 9.75 KB

README.md

File metadata and controls

165 lines (97 loc) · 9.75 KB

Matter EFR32 Dishwasher Example

Software

Hardware

Dishwasher Clusters

Clusters on Endpoint 1 / Device Type(s): Dishwasher

Clusters on Endpoint 2 / Device Type(s): Electrical Sensor

Source files

Electrical Power Measurement

Modes values in source code

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

Control and Power Measurement

Local

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

Remote control with chip-tool

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

Read ElectricalPowerMeasurement

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

Matter clusters with ZAP tool

image

Endpoint 1 / General / Dishwasher Mode

PowerSource Cluster image

OperationalState Cluster image

Endpoint 2 / Measurement & Sensing

image

Electrical Power Measurement

image

Electrical Energy Measurement

image

Home Assistant

Clusters on Endpoint 1 / Device Type(s): Dishwasher

image

Clusters on Endpoint 2 / Device Type(s): Electrical Sensor

image

Electrical Power Measurement

image

image

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)>

Native support for electrical/power measurements

Matter 1.3 introduced native support for electrical/power measurements:

image