# matter_ex v0.4.0 - Table of Contents

A Matter (smart home) protocol stack in pure Elixir

## Pages

- [MatterEx](readme.md)
- [Advanced Matter IDs](advanced-matter-ids.md)
- [LICENSE](license.md)

## Modules

- [MatterEx.ACL](MatterEx.ACL.md): Pure-function ACL engine for Matter access control.
- [MatterEx.CASE](MatterEx.CASE.md): CASE (Certificate Authenticated Session Establishment) state machine.
- [MatterEx.CASE.Messages](MatterEx.CASE.Messages.md): TLV codec for CASE Sigma protocol messages.
- [MatterEx.Cluster](MatterEx.Cluster.md): Behaviour and macro system for Matter clusters.
- [MatterEx.Cluster.AccessControl](MatterEx.Cluster.AccessControl.md): Matter Access Control cluster (0x001F).
- [MatterEx.Cluster.AdminCommissioning](MatterEx.Cluster.AdminCommissioning.md): Matter Administrator Commissioning cluster (0x003C).
- [MatterEx.Cluster.AirQuality](MatterEx.Cluster.AirQuality.md): Matter Air Quality cluster (0x005B).
- [MatterEx.Cluster.ApplePrivate](MatterEx.Cluster.ApplePrivate.md): Minimal vendor-specific cluster observed on Apple/Home-compatible devices.
- [MatterEx.Cluster.AudioOutput](MatterEx.Cluster.AudioOutput.md): Matter Audio Output cluster (0x050B).
- [MatterEx.Cluster.BasicInformation](MatterEx.Cluster.BasicInformation.md): Matter Basic Information cluster (0x0028).
- [MatterEx.Cluster.Binding](MatterEx.Cluster.Binding.md): Matter Binding cluster (0x001E).
- [MatterEx.Cluster.BooleanState](MatterEx.Cluster.BooleanState.md): Matter Boolean State cluster (0x0045).
- [MatterEx.Cluster.BooleanStateConfiguration](MatterEx.Cluster.BooleanStateConfiguration.md): Matter Boolean State Configuration cluster (0x0080).
- [MatterEx.Cluster.CarbonDioxideConcentrationMeasurement](MatterEx.Cluster.CarbonDioxideConcentrationMeasurement.md): Carbon Dioxide Concentration Measurement cluster (0x040D).
- [MatterEx.Cluster.ColorControl](MatterEx.Cluster.ColorControl.md): Matter Color Control cluster (0x0300).
- [MatterEx.Cluster.ConcentrationMeasurement](MatterEx.Cluster.ConcentrationMeasurement.md): Matter Concentration Measurement base module.
- [MatterEx.Cluster.ContentLauncher](MatterEx.Cluster.ContentLauncher.md): Matter Content Launcher cluster (0x050A).
- [MatterEx.Cluster.Descriptor](MatterEx.Cluster.Descriptor.md): Matter Descriptor cluster (0x001D).
- [MatterEx.Cluster.DeviceEnergyManagement](MatterEx.Cluster.DeviceEnergyManagement.md): Matter Device Energy Management cluster (0x0098).
- [MatterEx.Cluster.DishwasherAlarm](MatterEx.Cluster.DishwasherAlarm.md): Matter Dishwasher Alarm cluster (0x005D).
- [MatterEx.Cluster.DoorLock](MatterEx.Cluster.DoorLock.md): Matter Door Lock cluster (0x0101).
- [MatterEx.Cluster.ElectricalMeasurement](MatterEx.Cluster.ElectricalMeasurement.md): Matter Electrical Measurement cluster (0x0B04).
- [MatterEx.Cluster.EnergyPreference](MatterEx.Cluster.EnergyPreference.md): Matter Energy Preference cluster (0x009B).
- [MatterEx.Cluster.EthernetNetworkDiagnostics](MatterEx.Cluster.EthernetNetworkDiagnostics.md): Matter Ethernet Network Diagnostics cluster (0x0037).
- [MatterEx.Cluster.FanControl](MatterEx.Cluster.FanControl.md): Matter Fan Control cluster (0x0202).
- [MatterEx.Cluster.FixedLabel](MatterEx.Cluster.FixedLabel.md): Matter Fixed Label cluster (0x0040).
- [MatterEx.Cluster.FlowMeasurement](MatterEx.Cluster.FlowMeasurement.md): Matter Flow Measurement cluster (0x0404).
- [MatterEx.Cluster.GeneralCommissioning](MatterEx.Cluster.GeneralCommissioning.md): Matter General Commissioning cluster (0x0030).
- [MatterEx.Cluster.GeneralDiagnostics](MatterEx.Cluster.GeneralDiagnostics.md): Matter General Diagnostics cluster (0x0033).
- [MatterEx.Cluster.GroupKeyManagement](MatterEx.Cluster.GroupKeyManagement.md): Matter Group Key Management cluster (0x003F).
- [MatterEx.Cluster.Groups](MatterEx.Cluster.Groups.md): Matter Groups cluster (0x0004).
- [MatterEx.Cluster.ICDManagement](MatterEx.Cluster.ICDManagement.md): Matter ICD Management cluster (0x0046).
- [MatterEx.Cluster.Identify](MatterEx.Cluster.Identify.md): Matter Identify cluster (0x0003).
- [MatterEx.Cluster.IlluminanceMeasurement](MatterEx.Cluster.IlluminanceMeasurement.md): Matter Illuminance Measurement cluster (0x0400).
- [MatterEx.Cluster.LaundryWasherControls](MatterEx.Cluster.LaundryWasherControls.md): Matter Laundry Washer Controls cluster (0x0053).
- [MatterEx.Cluster.LevelControl](MatterEx.Cluster.LevelControl.md): Matter Level Control cluster (0x0008).
- [MatterEx.Cluster.LocalizationConfiguration](MatterEx.Cluster.LocalizationConfiguration.md): Matter Localization Configuration cluster (0x002B).
- [MatterEx.Cluster.MediaPlayback](MatterEx.Cluster.MediaPlayback.md): Matter Media Playback cluster (0x0506).
- [MatterEx.Cluster.ModeSelect](MatterEx.Cluster.ModeSelect.md): Matter Mode Select cluster (0x0050).
- [MatterEx.Cluster.NetworkCommissioning](MatterEx.Cluster.NetworkCommissioning.md): Matter Network Commissioning cluster (0x0031).
- [MatterEx.Cluster.OTASoftwareUpdateProvider](MatterEx.Cluster.OTASoftwareUpdateProvider.md): Matter OTA Software Update Provider cluster (0x0029).
- [MatterEx.Cluster.OTASoftwareUpdateRequestor](MatterEx.Cluster.OTASoftwareUpdateRequestor.md): Matter OTA Software Update Requestor cluster (0x002A).
- [MatterEx.Cluster.OccupancySensing](MatterEx.Cluster.OccupancySensing.md): Matter Occupancy Sensing cluster (0x0406).
- [MatterEx.Cluster.OnOff](MatterEx.Cluster.OnOff.md): Matter OnOff cluster (0x0006).

- [MatterEx.Cluster.OperationalCredentials](MatterEx.Cluster.OperationalCredentials.md): Matter Operational Credentials cluster (0x003E).
- [MatterEx.Cluster.PM10ConcentrationMeasurement](MatterEx.Cluster.PM10ConcentrationMeasurement.md): PM10 Concentration Measurement cluster (0x042D).
- [MatterEx.Cluster.PM25ConcentrationMeasurement](MatterEx.Cluster.PM25ConcentrationMeasurement.md): PM2.5 Concentration Measurement cluster (0x042A).
- [MatterEx.Cluster.PowerSource](MatterEx.Cluster.PowerSource.md): Matter Power Source cluster (0x002F).
- [MatterEx.Cluster.PowerTopology](MatterEx.Cluster.PowerTopology.md): Matter Power Topology cluster (0x009C).
- [MatterEx.Cluster.PressureMeasurement](MatterEx.Cluster.PressureMeasurement.md): Matter Pressure Measurement cluster (0x0403).
- [MatterEx.Cluster.PumpConfigurationAndControl](MatterEx.Cluster.PumpConfigurationAndControl.md): Matter Pump Configuration and Control cluster (0x0200).
- [MatterEx.Cluster.RefrigeratorAlarm](MatterEx.Cluster.RefrigeratorAlarm.md): Matter Refrigerator Alarm cluster (0x0057).
- [MatterEx.Cluster.RelativeHumidityMeasurement](MatterEx.Cluster.RelativeHumidityMeasurement.md): Matter Relative Humidity Measurement cluster (0x0405).
- [MatterEx.Cluster.Scenes](MatterEx.Cluster.Scenes.md): Matter Scenes cluster (0x0005).
- [MatterEx.Cluster.SmokeCOAlarm](MatterEx.Cluster.SmokeCOAlarm.md): Matter Smoke CO Alarm cluster (0x005C).
- [MatterEx.Cluster.SoftwareDiagnostics](MatterEx.Cluster.SoftwareDiagnostics.md): Matter Software Diagnostics cluster (0x0034).
- [MatterEx.Cluster.Switch](MatterEx.Cluster.Switch.md): Matter Switch cluster (0x003B).
- [MatterEx.Cluster.TemperatureMeasurement](MatterEx.Cluster.TemperatureMeasurement.md): Matter Temperature Measurement cluster (0x0402).
- [MatterEx.Cluster.Thermostat](MatterEx.Cluster.Thermostat.md): Matter Thermostat cluster (0x0201).
- [MatterEx.Cluster.TimeFormatLocalization](MatterEx.Cluster.TimeFormatLocalization.md): Matter Time Format Localization cluster (0x002C).
- [MatterEx.Cluster.TimeSynchronization](MatterEx.Cluster.TimeSynchronization.md): Matter Time Synchronization cluster (0x0038).
- [MatterEx.Cluster.TotalVolatileOrganicCompoundsConcentrationMeasurement](MatterEx.Cluster.TotalVolatileOrganicCompoundsConcentrationMeasurement.md): TVOC Concentration Measurement cluster (0x042E).
- [MatterEx.Cluster.UnitLocalization](MatterEx.Cluster.UnitLocalization.md): Matter Unit Localization cluster (0x002D).
- [MatterEx.Cluster.UserLabel](MatterEx.Cluster.UserLabel.md): Matter User Label cluster (0x0041).
- [MatterEx.Cluster.ValveConfigurationAndControl](MatterEx.Cluster.ValveConfigurationAndControl.md): Matter Valve Configuration and Control cluster (0x0081).
- [MatterEx.Cluster.WiFiNetworkDiagnostics](MatterEx.Cluster.WiFiNetworkDiagnostics.md): Matter Wi-Fi Network Diagnostics cluster (0x0036).
- [MatterEx.Cluster.WindowCovering](MatterEx.Cluster.WindowCovering.md): Matter Window Covering cluster (0x0102).
- [MatterEx.Commissioning](MatterEx.Commissioning.md): Agent holding transient commissioning state.
- [MatterEx.Crypto.Certificate](MatterEx.Crypto.Certificate.md): ECDSA P-256 signing/verification for Matter CASE authentication.
- [MatterEx.Crypto.GroupKey](MatterEx.Crypto.GroupKey.md): Matter group key derivation.
- [MatterEx.Crypto.KDF](MatterEx.Crypto.KDF.md): Key derivation functions for Matter cryptography.
- [MatterEx.Crypto.SPAKE2Plus](MatterEx.Crypto.SPAKE2Plus.md): SPAKE2+ implementation for Matter PASE commissioning.
- [MatterEx.Crypto.Session](MatterEx.Crypto.Session.md): AES-128-CCM authenticated encryption for Matter session security.
- [MatterEx.Device](MatterEx.Device.md): Macro for defining a Matter device with endpoints and clusters.
- [MatterEx.DeviceTypes](MatterEx.DeviceTypes.md): Matter Device Type registry.
- [MatterEx.ExchangeManager](MatterEx.ExchangeManager.md): Exchange correlation, protocol dispatch, ACK management, and MRP integration.
- [MatterEx.IM](MatterEx.IM.md): Matter Interaction Model codec — encode/decode IM payloads.
- [MatterEx.IM.EventStore](MatterEx.IM.EventStore.md): In-memory ring buffer for Matter events.
- [MatterEx.IM.Router](MatterEx.IM.Router.md): Routes IM messages to cluster GenServers.
- [MatterEx.IM.Status](MatterEx.IM.Status.md): Matter Interaction Model status codes (spec section 8.10).

- [MatterEx.IM.SubscriptionManager](MatterEx.IM.SubscriptionManager.md): Tracks active Matter subscriptions for a session.
- [MatterEx.MDNS](MatterEx.MDNS.md): mDNS responder GenServer for DNS-SD service discovery.
- [MatterEx.MDNS.DNS](MatterEx.MDNS.DNS.md): DNS wire format encoder/decoder per RFC 1035.
- [MatterEx.MessageHandler](MatterEx.MessageHandler.md): Central message orchestration — the single entry point for processing
raw binary frames from any transport (BLE, UDP).
- [MatterEx.Node](MatterEx.Node.md): Matter device node — GenServer wrapping MessageHandler + UDP/TCP sockets.
- [MatterEx.PASE](MatterEx.PASE.md): PASE (Passcode Authenticated Session Establishment) state machine.
- [MatterEx.PASE.Messages](MatterEx.PASE.Messages.md): TLV codec for PASE commissioning messages.
- [MatterEx.Protocol.Counter](MatterEx.Protocol.Counter.md): Message counter management and sliding-window replay protection.
- [MatterEx.Protocol.MRP](MatterEx.Protocol.MRP.md): Message Reliability Protocol — retransmission state and backoff.
- [MatterEx.Protocol.MessageCodec](MatterEx.Protocol.MessageCodec.md): Matter message frame encode/decode.
- [MatterEx.Protocol.MessageCodec.Header](MatterEx.Protocol.MessageCodec.Header.md): Matter message header (plaintext).
- [MatterEx.Protocol.MessageCodec.ProtoHeader](MatterEx.Protocol.MessageCodec.ProtoHeader.md): Matter protocol header (part of encrypted payload).
- [MatterEx.Protocol.ProtocolID](MatterEx.Protocol.ProtocolID.md): Matter protocol ID constants and opcode lookup.

- [MatterEx.Protocol.StatusReport](MatterEx.Protocol.StatusReport.md): Matter StatusReport wire format codec.
- [MatterEx.SecureChannel](MatterEx.SecureChannel.md): Secure message framing for established Matter sessions.
- [MatterEx.Session](MatterEx.Session.md): Represents an established secure session after PASE or CASE completes.
- [MatterEx.SetupPayload](MatterEx.SetupPayload.md): Encodes Matter setup payloads for QR codes and manual pairing codes.
- [MatterEx.TLV](MatterEx.TLV.md): Matter TLV (Tag-Length-Value) encoder/decoder.
- [MatterEx.Transport.BLE](MatterEx.Transport.BLE.md): CHIPoBLE transport GenServer.
- [MatterEx.Transport.BLE.Adapter](MatterEx.Transport.BLE.Adapter.md): Behaviour for BLE hardware adapters.
- [MatterEx.Transport.BLE.MockAdapter](MatterEx.Transport.BLE.MockAdapter.md): Test adapter for BLE transport.
- [MatterEx.Transport.BTP](MatterEx.Transport.BTP.md): BLE Transport Protocol — fragmentation, reassembly, and handshake.
- [MatterEx.Transport.TCP](MatterEx.Transport.TCP.md): Matter TCP message framing.

