fabric

package module
v0.8.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 19, 2026 License: Apache-2.0 Imports: 0 Imported by: 0

README

go-fabric

go-fabric is a pure-Go implementation of the Matter protocol, packaged as a library a host application embeds. On the device side it brings the TLV codec, the Interaction Model, PASE and CASE session establishment, MRP over IPv6 UDP and TCP, DNS-SD advertisement, the cluster servers a bridge needs (including the media clusters, the OTA requestor and provider, and DiagnosticLogs over BDX), and the endpoint assembler that turns a host's own device list into a Matter topology. The host keeps its device model; this module owns the wire format and hands back the port contracts (contract/) a device implements to appear as a bridged endpoint. On the controller side (controller/, ADR 0020) it is a full commissioner: discovery, attestation (with the CSA Distributed Compliance Ledger, opt-in), NOC issuance, the client interaction and a typed image of a remote node, bindings and the group sender — examples/reference-controller drives it from the command line. It is a semantic port of matter.js — cluster IDs, revisions, attribute IDs, constraints and wire shape are mirrored from matter.js HEAD rather than transcribed from the specification, and the extracted matter.js element model ships embedded so parity is a test, not a claim.

Status

As of v0.8.4 (2026-10-19); the numbers are the roadmap's baseline.

Area State
Device side 118 of 135 clusters served, 79 of 91 device types generated (comparison, roadmap)
Controller side full commissioner (BLE, Wi-Fi and Thread network steps, keys behind crypto.Signer, the embedded DCL snapshot), controller role stages 1–6b; Joint Fabric deferred (comparison)
BLE controller: done with milestone 1 — ble/bluez on Linux, pair --ble, proven against a matter.js node over virtual controllers; device: milestone 7
Thread dataset provisioning only, by the commissioner (milestone 1, phase 12); no Thread radio (comparison)
ICD milestone 5
Certification not pursued; certifiability is a goal (certifiability)
Verified ecosystems Apple Home, Home Assistant; Google Home and Alexa pending (roadmap)

Not certified

This is an independent open-source implementation. It is not certified by the Connectivity Standards Alliance, and it is not a project of the Alliance. No warranty or assurance is made about rights that may be required to implement it. Using it does not certify anything: it does not assure compliance with the Matter specification, and it does not convey any right to describe a device, product or service built with it as Matter compliant, certified or similar. Certification requires membership in the Alliance and compliance with Alliance policy; so does any use of Alliance trademarks and logos. See licenses/NOTICE-matter.js.txt, reproduced from matter.js, which states the same terms for the project this one is ported from.

Certification is not pursued by this project. Certifiability is a goal: the module is meant to let a product built on it pass certification, and the CSA certification test families run against the reference daemon to hold it there. What passes, what does not and why, and what a product owner must supply that a library cannot is in docs/certifiability.md (ADR 0011).

Documentation

The site (rendered from docs/) is at https://sukramj.github.io/go-fabric/; the API reference is pkg.go.dev.

docs/index.md Where to start, by role: embedding the device side, driving the controller, evaluating the architecture.
docs/architecture.md The two roles, the layers, the request path, the package map and the scope boundaries that are decisions rather than backlog.
docs/getting-started/ A minimal device host and a minimal controller, each a compiling example.
docs/guides/ Host ports, concurrency, persistence.
docs/security.md The security model of both roles.
docs/matterjs-comparison.md Feature-by-feature against matter.js, with a verdict on whether each gap is worth closing here.
docs/certifiability.md What the CSA certification families say about this module, family by family.
docs/matter-parity-contract.md What parity means and which standing guards enforce it. Read before your first change.
docs/matter-ecosystem-observations.md What Apple Home, Google Home and Alexa were actually observed to do.
docs/adr/ Architecture decision records.
docs/history/ Earlier planning concepts (German), kept for their reasoning.
notes/parity/by_design.md The catalogue of intentional divergences from matter.js.
notes/parity/matter_behaviour_findings.md Known behaviour gaps that are not intentional, as scoped fix packages.

Examples

examples/reference-bridge is the reference daemon: a bridge on this module, the binary the chip-tool suite runs against. examples/reference-controller is the controller role as a command-line tool — pair a node by its QR or manual code, read, write, invoke, subscribe, provision groups and bindings, serve an OTA image — with its fabric kept in one SQLite file; its README lists every command.

API stability

The module carries its own SemVer lane, independent of any host that embeds it.

What "public API" means here

Every exported identifier outside internal/ is public API. The module already draws that line for itself: internal/ holds the two one-way seams through which the test-support packages reach package internals (bridgeseam, channelseam) and the chip-tool suite, and Go makes those unimportable from outside. Nothing else is private by convention, so nothing else may be changed as if it were.

Depend freely on bdx/, binding/, bootid/, bridge/, cluster/…, commissioning/, contract/, controller/…, device/, diagevent/, eligibility/, endpoint/ (including endpoint/sqlitestore), groups/, im/, im/subscription, mdns/, node/, parity/, schema/, secure/…, store/, tlv/ and transport/…. The device layer device/ and the node facade node/ are public API since v0.3.0; that release freezes nothing, and the v1.0.0 freeze is still ahead.

bridge/bridgetest, endpoint/endpointtest, controller/ble/bletest, clock/clocktest and fabrictest are public API on the same terms as the rest, not a lower tier. They exist for the reason net/http/httptest exists — a consumer's tests need to place a bridge in a state the production API is not shaped to reach — and a consumer's test suite is as expensive to break as its production code.

Three things outside internal/ are still not API. conformance/ is this module's own suite, shaped for the tests in this repository rather than for a consumer -- one of its three exported identifiers takes a *testing.T, and the other two exist to serve it. examples/reference-bridge, examples/reference-controller and everything under script/ are package main — runnable, not importable. Copy from them; do not build against them.

One value-level caveat on parity/ and schema/: their Go surface is covered by everything below, but the data behind it is a matter.js HEAD extract. Cluster revisions, attribute IDs and constraint values move when upstream corrects them. That is a behaviour change, not a signature change, and it is announced the same way — see the exception under Pre-1.0.

The deprecation window

An identifier on its way out is marked, kept working, and only then removed.

  1. Marked. Its doc comment gains a paragraph beginning Deprecated: , naming the replacement and the release the removal becomes permissible in. That exact prefix is what gopls, staticcheck (SA1019) and the Go documentation renderer key on, so a consumer sees it in an editor without reading a changelog.
  2. Kept. A deprecated identifier keeps its exact behaviour for the whole window. It is not degraded, does not start logging, and does not become a no-op. A rename lands the new name first and leaves the old one delegating to it.
  3. Removed no earlier than the second minor release after the one that marked it. Deprecated in v0.4.0 means removable in v0.6.0, not before. Consumers who upgrade minor-by-minor therefore see at least one release in which their code still compiles and the warning is already visible.

Currently deprecated, each with its replacement — all marked when the time port clock landed ([Unreleased] in the changelog), removable in v0.10.0 at the earliest:

Deprecated Replacement
transport/btp.Clock, btp.Timer, btp.SystemClock, btp.Options.Clock btp.Options.TimeSource (a clock.Clock), clock.System
cluster/onoff.Clock, onoff.Config.Clock onoff.Config.TimeSource
cluster/core.OtaClock, core.OTARequestorConfig.Clock core.OTARequestorConfig.TimeSource
cluster/core.OTAProviderConfig.Now core.OTAProviderConfig.Clock
cluster/core.CommissionerControlConfig.Now core.CommissionerControlConfig.Clock
cluster.Quieter.Now, cluster.Quieter.AfterFunc cluster.Quieter.Clock
cluster/closure.DimensionConfig.Now closure.DimensionConfig.Clock
cluster/energy.CommodityTariffConfig.Now, energy.DeviceEnergyConfig.Now, energy.EvseConfig.Now the Clock field beside each
secure/mattercert.SystemTime clock.System (the TimeSource parameter stays: a clock.Clock satisfies it)
controller/ca.Config.Now ca.Config.Clock
controller/ble.ErrScannerClosed (marked by brief BH) none: a discovery on a closed scanner returns the stored devices without an error
cluster/wire.GenericSwitch, wire.NewGenericSwitch (marked by brief BK) cluster/switch (switchserver.New), which the MomentarySwitch materialiser builds

A patch release (v0.x.y) never removes or renames a public identifier and never changes a signature. Deprecations may be marked in a patch release; they are only ever acted on in a minor one.

Pre-1.0

The module is at v0; v0.1.0 is its first tag. Before it, main was the only consumable version and could break in any commit, which is why consumers tracked a pseudo-version. main is still consumable the same way — see CONTRIBUTING.md — but a tagged version is what a consumer should pin.

SemVer permits a v0 module to break on any minor bump. This module does not use that permission as a default. The window above applies at v0 exactly as it would at v1: a breaking change is a minor bump, never a patch, and wherever the old identifier can be kept working it is kept working for the full window.

v0.3.0 is the first release to act on the window: it removes the identifiers v0.2.0 marked for removal in it, each listed with its replacement under ### Removed in CHANGELOG.md.

Two changes bypass the window, and both are named as such in their entry:

  • A matter.js parity correction. matter.js HEAD is the gold standard for every cluster ID, revision, attribute ID and wire shape in this module. When upstream corrects one, this module follows it in the next release without a window. Holding a value stable because it is stable would mean knowingly shipping a wrong one, and the failure it produces is a silent pairing abort in a controller nobody can attach a debugger to.
  • A security fix that cannot be made without an API change. It ships in the next release, marked ### Security.

What v0 does not excuse: an unannounced break. Every one of these lands in the changelog before a consumer meets it.

How a consumer learns about a break

CHANGELOG.md is the single place. It follows Keep a Changelog, so the headings already carry the meaning:

  • ### Deprecated — the release that marks an identifier. The entry gives the full import path and name, the replacement, and the earliest release the removal may happen in.
  • ### Removed — the release that removes it. The entry repeats the replacement, so a consumer who skipped the deprecation release still finds it here rather than in a diff.
  • ### Changed — behaviour that moved under an unchanged signature. A parity correction lands here and says which matter.js element changed.
  • ### Security — a fix that forced an API change out of band.

A release note carries, for the version it names: every entry from those four headings, and an explicit statement of whether upgrading requires a source change. "No source change required" is a claim worth making when it is true, because it is the only sentence most consumers need to read.

The rule behind all of the above: a break that appears only in a commit message, a doc comment or a diff has not been announced. If it is not in the changelog, it does not ship.

Licence

Apache License 2.0 — see LICENSE and NOTICE (ADR 0023: the same licence as matter.js and connectedhomeip, with their patent grant; v0.4.0 and earlier were released under MIT and stay so). Upstream notices and the dependency licences are recorded in THIRD-PARTY-NOTICES.md. Contributions need the contributor licence agreement in CLA.md, agreed once per account in the first pull request.

Documentation

Overview

Package fabric is Matter in pure Go: the device and bridge side and a full commissioner/controller, as an embeddable library. A semantic port of matter.js; not certified by the Connectivity Standards Alliance. Subpackages:

  • node/ the facade: one node (root, aggregator, persistence, commissioning, OTA, client stack) from a config — where a host starts
  • device/ the generated Matter device types a host composes
  • bridge/ the composition root under node/: topology assembly, IM dispatcher wiring, UDP/TCP listener, mDNS — for hosts that wire it
  • contract/ the port contracts a host implements to expose a device
  • cluster/ cluster servers (core/ the system set, spec/ the generated definitions, media/ the media and content clusters, …)
  • endpoint/ endpoint topology assembler and device-type validation
  • im/ Interaction Model
  • controller/ the commissioner/controller role: discovery, PASE/CASE client, attestation (DCL opt-in), CA, client interaction, the client node model and registry
  • binding/, groups/ bindings and group messaging (send and receive)
  • bdx/ Bulk Data Exchange (OTA images, diagnostic logs)
  • commissioning/ on-network discovery, attestation, fabric join
  • secure/ PASE, CASE, session keys, AES-CCM, attestation, setup codes
  • transport/ UDP/IPv6, TCP, MRP, message framing
  • mdns/ DNS-SD advertisement and re-announce
  • store/ SQLite persistence: fabrics, NOCs, settings, migrations
  • tlv/ TLV codec (Matter Core Spec §A.7)
  • schema/, parity/ the embedded matter.js schema and its typed lookups
  • bootid/, diagevent/, eligibility/ UniqueID salt, pairing trace, host allowlist helpers
  • conformance/ golden-vector regression, load and chip-tool smoke tests

Architecture: rich model, dumb bridge — this module owns the Matter wire format only. Per-device cluster projection lives on the host's own types, which reach the bridge through the source-surface interfaces in github.com/SukramJ/go-fabric/contract. See docs/architecture.md.

Directories

Path Synopsis
bdx
Package bdx is the Bulk Data Exchange protocol (Matter Core §11.22): the message codecs, a Messenger over one exchange, and the transfer roles — the initiating receiver an OTA Software Update Requestor runs to download an image (Receive), the initiating sender a DiagnosticLogs server runs to hand over its logs (Send, StartSend), and the responder an OTA Software Update Provider serves its images with (Responder, Serve).
Package bdx is the Bulk Data Exchange protocol (Matter Core §11.22): the message codecs, a Messenger over one exchange, and the transfer roles — the initiating receiver an OTA Software Update Requestor runs to download an image (Receive), the initiating sender a DiagnosticLogs server runs to hand over its logs (Send, StartSend), and the responder an OTA Software Update Provider serves its images with (Responder, Serve).
otaimage
Package otaimage reads and writes Matter OTA software image files (Matter Core §11.21.2): a fixed little-endian prefix — file identifier 0x1BEEF11E (uint32), total size (uint64), header size (uint32) — then the header as an anonymous TLV structure, then the payload.
Package otaimage reads and writes Matter OTA software image files (Matter Core §11.21.2): a fixed little-endian prefix — file identifier 0x1BEEF11E (uint32), total size (uint64), header size (uint32) — then the header as an anonymous TLV structure, then the payload.
Package binding resolves the entries of the node's Binding servers into the peers they direct: matter.js's BindingManager (packages/node/src/behaviors/binding/BindingManager.ts at 0ceb202d), the node-scoped service its BindingServer registers every entry with.
Package binding resolves the entries of the node's Binding servers into the peers they direct: matter.js's BindingManager (packages/node/src/behaviors/binding/BindingManager.ts at 0ceb202d), the node-scoped service its BindingServer registers every entry with.
ble
bluez module
Package bootid exposes a process-lifetime 16-byte random value that can optionally be mixed into Matter UniqueID derivations.
Package bootid exposes a process-lifetime 16-byte random value that can optionally be mixed into Matter UniqueID derivations.
Package bridge orchestrates the Matter bridge runtime: endpoint topology assembly, IM dispatcher wiring, UDP listener, and mDNS advertisement.
Package bridge orchestrates the Matter bridge runtime: endpoint topology assembly, IM dispatcher wiring, UDP listener, and mDNS advertisement.
bridgetest
Package bridgetest provides the affordances a test outside package bridge needs to put a bridge.Bridge into a chosen state without sending anything over the wire — and, in Commissioner, the controller a test needs to reach that state over the wire instead: a commissioner that commissions a device onto a fabric of its own and then reads, writes, invokes and subscribes over CASE.
Package bridgetest provides the affordances a test outside package bridge needs to put a bridge.Bridge into a chosen state without sending anything over the wire — and, in Commissioner, the controller a test needs to reach that state over the wire instead: a commissioner that commissions a device onto a fabric of its own and then reads, writes, invokes and subscribes over CASE.
Package clock is the module's one time port: the current time, one-shot timers and tickers behind an interface, so that a test can drive every interval of the stack — MRP retransmission, the acknowledgement pump, the subscription reporting loop, commissioning windows, cluster timers — by hand instead of waiting for the wall clock.
Package clock is the module's one time port: the current time, one-shot timers and tickers behind an interface, so that a test can drive every interval of the stack — MRP retransmission, the acknowledgement pump, the subscription reporting loop, commissioning windows, cluster timers — by hand instead of waiting for the wall clock.
clocktest
Package clocktest is the test clock of the module: Fake, a clock.Clock whose time moves only when the test moves it.
Package clocktest is the test clock of the module: Fake, a clock.Clock whose time moves only when the test moves it.
Package cluster contains Matter cluster server implementations that the bridge attaches to assembled endpoints.
Package cluster contains Matter cluster server implementations that the bridge attaches to assembled endpoints.
alarm
Package alarm contains the Matter SmokeCoAlarm cluster server (0x005C), the one mandatory application cluster of the SmokeCoAlarm device type (0x0076).
Package alarm contains the Matter SmokeCoAlarm cluster server (0x005C), the one mandatory application cluster of the SmokeCoAlarm device type (0x0076).
alarmbase
Package alarmbase contains one server for the Matter AlarmBase cluster family, instantiated for its three derivations: DishwasherAlarm (0x005D), RefrigeratorAlarm (0x0057) and TemperatureAlarm (0x0064).
Package alarmbase contains one server for the Matter AlarmBase cluster family, instantiated for its three derivations: DishwasherAlarm (0x005D), RefrigeratorAlarm (0x0057) and TemperatureAlarm (0x0064).
appliance
Package appliance contains the servers of the appliance control clusters a device of the laundry, kitchen or oven families carries beside its OperationalState and ModeBase servers: MicrowaveOvenControl (0x005F), LaundryWasherControls (0x0053) and LaundryDryerControls (0x004A).
Package appliance contains the servers of the appliance control clusters a device of the laundry, kitchen or oven families carries beside its OperationalState and ModeBase servers: MicrowaveOvenControl (0x005F), LaundryWasherControls (0x0053) and LaundryDryerControls (0x004A).
boolcfg
Package boolcfg contains the server for the Matter BooleanStateConfiguration cluster (0x0080), the optional companion of BooleanState on ContactSensor, WaterLeakDetector, RainSensor and WaterFreezeDetector: a sensitivity level, visual / audible alarms that a controller enables, disables and suppresses, and sensor faults.
Package boolcfg contains the server for the Matter BooleanStateConfiguration cluster (0x0080), the optional companion of BooleanState on ContactSensor, WaterLeakDetector, RainSensor and WaterFreezeDetector: a sensitivity level, visual / audible alarms that a controller enables, disables and suppresses, and sensor faults.
closure
Package closure contains the Matter ClosureControl cluster server (0x0104) for the Positioning + Ventilation feature profile.
Package closure contains the Matter ClosureControl cluster server (0x0104) for the Positioning + Ventilation feature profile.
core
Package core hosts the Matter cluster servers that every bridge endpoint (or the root endpoint specifically) mandates per Matter Core Specification 1.6.1.
Package core hosts the Matter cluster servers that every bridge endpoint (or the root endpoint specifically) mandates per Matter Core Specification 1.6.1.
cover
Package cover contains the Matter WindowCovering cluster server (0x0102) for the position-aware lift and tilt feature profiles.
Package cover contains the Matter WindowCovering cluster server (0x0102) for the position-aware lift and tilt feature profiles.
energy
Package energy holds the servers of the Matter energy-management clusters a bridged appliance offers: WaterHeaterManagement (0x0094) for the WaterHeater device type, and EnergyPreference (0x009B), optional on the Thermostat device type.
Package energy holds the servers of the Matter energy-management clusters a bridged appliance offers: WaterHeaterManagement (0x0094) for the WaterHeater device type, and EnergyPreference (0x009B), optional on the Thermostat device type.
fan
Package fan contains the Matter FanControl cluster server (0x0202), the mandatory application cluster of the Fan (0x002B), AirPurifier (0x002D) and ExtractorHood (0x007A) device types.
Package fan contains the Matter FanControl cluster server (0x0202), the mandatory application cluster of the Fan (0x002B), AirPurifier (0x002D) and ExtractorHood (0x007A) device types.
filter
Package filter contains one server for the Matter ResourceMonitoring cluster family, instantiated for the two derivations the AirPurifier and ExtractorHood device types offer: HepaFilterMonitoring (0x0071) and ActivatedCarbonFilterMonitoring (0x0072).
Package filter contains one server for the Matter ResourceMonitoring cluster family, instantiated for the two derivations the AirPurifier and ExtractorHood device types offer: HepaFilterMonitoring (0x0071) and ActivatedCarbonFilterMonitoring (0x0072).
levelcontrol
Package levelcontrol contains the Matter LevelControl cluster server (0x0008) — the cluster Matter offers for a characteristic that moves along a continuous scale, as against the labelled choices of ModeSelect.
Package levelcontrol contains the Matter LevelControl cluster server (0x0008) — the cluster Matter offers for a characteristic that moves along a continuous scale, as against the labelled choices of ModeSelect.
light
Package light provides standalone Matter cluster-server implementations for light device types (OnOffLight, DimmableLight, ColorTemperatureLight, ExtendedColorLight).
Package light provides standalone Matter cluster-server implementations for light device types (OnOffLight, DimmableLight, ColorTemperatureLight, ExtendedColorLight).
lock
Package lock contains the DoorLock cluster server (0x0101): a semantic port of matter.js DoorLockBaseServer (packages/node/src/behaviors/ door-lock/DoorLockServer.ts, LockAuth.ts and LockSchedule.ts at 862ad75f).
Package lock contains the DoorLock cluster server (0x0101): a semantic port of matter.js DoorLockBaseServer (packages/node/src/behaviors/ door-lock/DoorLockServer.ts, LockAuth.ts and LockSchedule.ts at 862ad75f).
measurement
Package measurement contains generic, Source-driven cluster server implementations for the read-only Matter measurement clusters (Temperature, Humidity, Illuminance, Pressure, Flow, BooleanState, OccupancySensing, AirQuality).
Package measurement contains generic, Source-driven cluster server implementations for the read-only Matter measurement clusters (Temperature, Humidity, Illuminance, Pressure, Flow, BooleanState, OccupancySensing, AirQuality).
media
Package media holds the servers of the media and content clusters (ADR 0022): MediaPlayback, KeypadInput, ContentLauncher, ApplicationLauncher, ApplicationBasic, AccountLogin, AudioOutput, Channel, TargetNavigator, MediaInput, LowPower, WakeOnLan, ContentControl and ContentAppObserver.
Package media holds the servers of the media and content clusters (ADR 0022): MediaPlayback, KeypadInput, ContentLauncher, ApplicationLauncher, ApplicationBasic, AccountLogin, AudioOutput, Channel, TargetNavigator, MediaInput, LowPower, WakeOnLan, ContentControl and ContentAppObserver.
modebase
Package modebase contains one server for the Matter ModeBase cluster family, instantiated for the derivations the appliance device types use: LaundryWasherMode (0x0051, LaundryWasher and LaundryDryer), RvcRunMode (0x0054, mandatory on RoboticVacuumCleaner), RvcCleanMode (0x0055), DishwasherMode (0x0059), OvenMode, MicrowaveOvenMode, RefrigeratorAndTemperatureControlledCabinetMode, EnergyEvseMode, WaterHeaterMode and DeviceEnergyManagementMode (ids from their generated definitions).
Package modebase contains one server for the Matter ModeBase cluster family, instantiated for the derivations the appliance device types use: LaundryWasherMode (0x0051, LaundryWasher and LaundryDryer), RvcRunMode (0x0054, mandatory on RoboticVacuumCleaner), RvcCleanMode (0x0055), DishwasherMode (0x0059), OvenMode, MicrowaveOvenMode, RefrigeratorAndTemperatureControlledCabinetMode, EnergyEvseMode, WaterHeaterMode and DeviceEnergyManagementMode (ids from their generated definitions).
modeselect
Package modeselect contains the Matter ModeSelect cluster server (0x0050) — the cluster Matter offers for a characteristic that is set to one of several predefined, labelled values rather than to a number on a continuous scale.
Package modeselect contains the Matter ModeSelect cluster server (0x0050) — the cluster Matter offers for a characteristic that is set to one of several predefined, labelled values rather than to a number on a continuous scale.
onoff
Package onoff carries the OnOff cluster's Matter identity for every projection that exposes it.
Package onoff carries the OnOff cluster's Matter identity for every projection that exposes it.
opstate
Package opstate contains the Matter OperationalState cluster server (0x0060) and its derivations RvcOperationalState (0x0061) and OvenCavityOperationalState (0x0048): the state machine of a laundry washer, laundry dryer, dishwasher or microwave oven, of a robotic vacuum cleaner, and of an oven's heating cabinet.
Package opstate contains the Matter OperationalState cluster server (0x0060) and its derivations RvcOperationalState (0x0061) and OvenCavityOperationalState (0x0048): the state machine of a laundry washer, laundry dryer, dishwasher or microwave oven, of a robotic vacuum cleaner, and of an oven's heating cabinet.
pump
Package pump contains the Matter PumpConfigurationAndControl cluster server (0x0200), the cluster the Pump device type (0x0303) mandates next to OnOff.
Package pump contains the Matter PumpConfigurationAndControl cluster server (0x0200), the cluster the Pump device type (0x0303) mandates next to OnOff.
servicearea
Package servicearea contains the Matter ServiceArea cluster server (0x0150): the areas a robotic vacuum cleaner (or any device that serves areas) knows, the maps they lie on, which of them a controller selected, where the device is now and how far it got.
Package servicearea contains the Matter ServiceArea cluster server (0x0150): the areas a robotic vacuum cleaner (or any device that serves areas) knows, the maps they lie on, which of them a controller selected, where the device is now and how far it got.
spec
Package spec is the runtime half of the generated cluster definitions: the types a generated definition is made of, and what a cluster server derives from one definition plus the host's declared features and optional elements.
Package spec is the runtime half of the generated cluster definitions: the types a generated definition is made of, and what a cluster server derives from one definition plus the host's declared features and optional elements.
spec/accountlogin
Package accountlogin is the generated definition of the Matter AccountLogin cluster (0x050E, revision 2), from the matter.js model at 862ad75 (Matter 1.6.1).
Package accountlogin is the generated definition of the Matter AccountLogin cluster (0x050E, revision 2), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/actions
Package actions is the generated definition of the Matter Actions cluster (0x0025, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
Package actions is the generated definition of the Matter Actions cluster (0x0025, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/activatedcarbonfiltermonitoring
Package activatedcarbonfiltermonitoring is the generated definition of the Matter ActivatedCarbonFilterMonitoring cluster (0x0072, revision 1, derived from ResourceMonitoring), from the matter.js model at 862ad75 (Matter 1.6.1).
Package activatedcarbonfiltermonitoring is the generated definition of the Matter ActivatedCarbonFilterMonitoring cluster (0x0072, revision 1, derived from ResourceMonitoring), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/administratorcommissioning
Package administratorcommissioning is the generated definition of the Matter AdministratorCommissioning cluster (0x003C, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
Package administratorcommissioning is the generated definition of the Matter AdministratorCommissioning cluster (0x003C, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/airquality
Package airquality is the generated definition of the Matter AirQuality cluster (0x005B, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
Package airquality is the generated definition of the Matter AirQuality cluster (0x005B, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/ambientcontextsensing
Package ambientcontextsensing is the generated definition of the Matter AmbientContextSensing cluster (0x0431, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
Package ambientcontextsensing is the generated definition of the Matter AmbientContextSensing cluster (0x0431, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/applicationbasic
Package applicationbasic is the generated definition of the Matter ApplicationBasic cluster (0x050D, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
Package applicationbasic is the generated definition of the Matter ApplicationBasic cluster (0x050D, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/applicationlauncher
Package applicationlauncher is the generated definition of the Matter ApplicationLauncher cluster (0x050C, revision 2), from the matter.js model at 862ad75 (Matter 1.6.1).
Package applicationlauncher is the generated definition of the Matter ApplicationLauncher cluster (0x050C, revision 2), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/audiooutput
Package audiooutput is the generated definition of the Matter AudioOutput cluster (0x050B, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
Package audiooutput is the generated definition of the Matter AudioOutput cluster (0x050B, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/basicinformation
Package basicinformation is the generated definition of the Matter BasicInformation cluster (0x0028, revision 6), from the matter.js model at 862ad75 (Matter 1.6.1).
Package basicinformation is the generated definition of the Matter BasicInformation cluster (0x0028, revision 6), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/binding
Package binding is the generated definition of the Matter Binding cluster (0x001E, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
Package binding is the generated definition of the Matter Binding cluster (0x001E, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/booleanstate
Package booleanstate is the generated definition of the Matter BooleanState cluster (0x0045, revision 3), from the matter.js model at 862ad75 (Matter 1.6.1).
Package booleanstate is the generated definition of the Matter BooleanState cluster (0x0045, revision 3), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/booleanstateconfiguration
Package booleanstateconfiguration is the generated definition of the Matter BooleanStateConfiguration cluster (0x0080, revision 2), from the matter.js model at 862ad75 (Matter 1.6.1).
Package booleanstateconfiguration is the generated definition of the Matter BooleanStateConfiguration cluster (0x0080, revision 2), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/bridgeddevicebasicinformation
Package bridgeddevicebasicinformation is the generated definition of the Matter BridgedDeviceBasicInformation cluster (0x0039, revision 6, derived from BasicInformation), from the matter.js model at 862ad75 (Matter 1.6.1).
Package bridgeddevicebasicinformation is the generated definition of the Matter BridgedDeviceBasicInformation cluster (0x0039, revision 6, derived from BasicInformation), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/carbondioxideconcentrationmeasurement
Package carbondioxideconcentrationmeasurement is the generated definition of the Matter CarbonDioxideConcentrationMeasurement cluster (0x040D, revision 5, derived from ConcentrationMeasurement), from the matter.js model at 862ad75 (Matter 1.6.1).
Package carbondioxideconcentrationmeasurement is the generated definition of the Matter CarbonDioxideConcentrationMeasurement cluster (0x040D, revision 5, derived from ConcentrationMeasurement), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/carbonmonoxideconcentrationmeasurement
Package carbonmonoxideconcentrationmeasurement is the generated definition of the Matter CarbonMonoxideConcentrationMeasurement cluster (0x040C, revision 5, derived from ConcentrationMeasurement), from the matter.js model at 862ad75 (Matter 1.6.1).
Package carbonmonoxideconcentrationmeasurement is the generated definition of the Matter CarbonMonoxideConcentrationMeasurement cluster (0x040C, revision 5, derived from ConcentrationMeasurement), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/channel
Package channel is the generated definition of the Matter Channel cluster (0x0504, revision 2), from the matter.js model at 862ad75 (Matter 1.6.1).
Package channel is the generated definition of the Matter Channel cluster (0x0504, revision 2), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/chime
Package chime is the generated definition of the Matter Chime cluster (0x0556, revision 2), from the matter.js model at 862ad75 (Matter 1.6.1).
Package chime is the generated definition of the Matter Chime cluster (0x0556, revision 2), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/closurecontrol
Package closurecontrol is the generated definition of the Matter ClosureControl cluster (0x0104, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
Package closurecontrol is the generated definition of the Matter ClosureControl cluster (0x0104, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/closuredimension
Package closuredimension is the generated definition of the Matter ClosureDimension cluster (0x0105, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
Package closuredimension is the generated definition of the Matter ClosureDimension cluster (0x0105, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/colorcontrol
Package colorcontrol is the generated definition of the Matter ColorControl cluster (0x0300, revision 9), from the matter.js model at 862ad75 (Matter 1.6.1).
Package colorcontrol is the generated definition of the Matter ColorControl cluster (0x0300, revision 9), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/commissionercontrol
Package commissionercontrol is the generated definition of the Matter CommissionerControl cluster (0x0751, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
Package commissionercontrol is the generated definition of the Matter CommissionerControl cluster (0x0751, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/commoditymetering
Package commoditymetering is the generated definition of the Matter CommodityMetering cluster (0x0B07, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
Package commoditymetering is the generated definition of the Matter CommodityMetering cluster (0x0B07, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/commodityprice
Package commodityprice is the generated definition of the Matter CommodityPrice cluster (0x0095, revision 4), from the matter.js model at 862ad75 (Matter 1.6.1).
Package commodityprice is the generated definition of the Matter CommodityPrice cluster (0x0095, revision 4), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/commoditytariff
Package commoditytariff is the generated definition of the Matter CommodityTariff cluster (0x0700, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
Package commoditytariff is the generated definition of the Matter CommodityTariff cluster (0x0700, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/contentappobserver
Package contentappobserver is the generated definition of the Matter ContentAppObserver cluster (0x0510, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
Package contentappobserver is the generated definition of the Matter ContentAppObserver cluster (0x0510, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/contentcontrol
Package contentcontrol is the generated definition of the Matter ContentControl cluster (0x050F, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
Package contentcontrol is the generated definition of the Matter ContentControl cluster (0x050F, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/contentlauncher
Package contentlauncher is the generated definition of the Matter ContentLauncher cluster (0x050A, revision 2), from the matter.js model at 862ad75 (Matter 1.6.1).
Package contentlauncher is the generated definition of the Matter ContentLauncher cluster (0x050A, revision 2), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/descriptor
Package descriptor is the generated definition of the Matter Descriptor cluster (0x001D, revision 3), from the matter.js model at 862ad75 (Matter 1.6.1).
Package descriptor is the generated definition of the Matter Descriptor cluster (0x001D, revision 3), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/deviceenergymanagement
Package deviceenergymanagement is the generated definition of the Matter DeviceEnergyManagement cluster (0x0098, revision 4), from the matter.js model at 862ad75 (Matter 1.6.1).
Package deviceenergymanagement is the generated definition of the Matter DeviceEnergyManagement cluster (0x0098, revision 4), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/deviceenergymanagementmode
Package deviceenergymanagementmode is the generated definition of the Matter DeviceEnergyManagementMode cluster (0x009F, revision 2, derived from ModeBase), from the matter.js model at 862ad75 (Matter 1.6.1).
Package deviceenergymanagementmode is the generated definition of the Matter DeviceEnergyManagementMode cluster (0x009F, revision 2, derived from ModeBase), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/diagnosticlogs
Package diagnosticlogs is the generated definition of the Matter DiagnosticLogs cluster (0x0032, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
Package diagnosticlogs is the generated definition of the Matter DiagnosticLogs cluster (0x0032, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/dishwasheralarm
Package dishwasheralarm is the generated definition of the Matter DishwasherAlarm cluster (0x005D, revision 1, derived from AlarmBase), from the matter.js model at 862ad75 (Matter 1.6.1).
Package dishwasheralarm is the generated definition of the Matter DishwasherAlarm cluster (0x005D, revision 1, derived from AlarmBase), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/dishwashermode
Package dishwashermode is the generated definition of the Matter DishwasherMode cluster (0x0059, revision 3, derived from ModeBase), from the matter.js model at 862ad75 (Matter 1.6.1).
Package dishwashermode is the generated definition of the Matter DishwasherMode cluster (0x0059, revision 3, derived from ModeBase), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/doorlock
Package doorlock is the generated definition of the Matter DoorLock cluster (0x0101, revision 10), from the matter.js model at 862ad75 (Matter 1.6.1).
Package doorlock is the generated definition of the Matter DoorLock cluster (0x0101, revision 10), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/ecosysteminformation
Package ecosysteminformation is the generated definition of the Matter EcosystemInformation cluster (0x0750, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
Package ecosysteminformation is the generated definition of the Matter EcosystemInformation cluster (0x0750, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/electricalenergymeasurement
Package electricalenergymeasurement is the generated definition of the Matter ElectricalEnergyMeasurement cluster (0x0091, revision 2), from the matter.js model at 862ad75 (Matter 1.6.1).
Package electricalenergymeasurement is the generated definition of the Matter ElectricalEnergyMeasurement cluster (0x0091, revision 2), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/electricalgridconditions
Package electricalgridconditions is the generated definition of the Matter ElectricalGridConditions cluster (0x00A0, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
Package electricalgridconditions is the generated definition of the Matter ElectricalGridConditions cluster (0x00A0, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/electricalpowermeasurement
Package electricalpowermeasurement is the generated definition of the Matter ElectricalPowerMeasurement cluster (0x0090, revision 3), from the matter.js model at 862ad75 (Matter 1.6.1).
Package electricalpowermeasurement is the generated definition of the Matter ElectricalPowerMeasurement cluster (0x0090, revision 3), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/energyevse
Package energyevse is the generated definition of the Matter EnergyEvse cluster (0x0099, revision 4), from the matter.js model at 862ad75 (Matter 1.6.1).
Package energyevse is the generated definition of the Matter EnergyEvse cluster (0x0099, revision 4), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/energyevsemode
Package energyevsemode is the generated definition of the Matter EnergyEvseMode cluster (0x009D, revision 2, derived from ModeBase), from the matter.js model at 862ad75 (Matter 1.6.1).
Package energyevsemode is the generated definition of the Matter EnergyEvseMode cluster (0x009D, revision 2, derived from ModeBase), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/energypreference
Package energypreference is the generated definition of the Matter EnergyPreference cluster (0x009B, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
Package energypreference is the generated definition of the Matter EnergyPreference cluster (0x009B, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/ethernetnetworkdiagnostics
Package ethernetnetworkdiagnostics is the generated definition of the Matter EthernetNetworkDiagnostics cluster (0x0037, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
Package ethernetnetworkdiagnostics is the generated definition of the Matter EthernetNetworkDiagnostics cluster (0x0037, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/fancontrol
Package fancontrol is the generated definition of the Matter FanControl cluster (0x0202, revision 6), from the matter.js model at 862ad75 (Matter 1.6.1).
Package fancontrol is the generated definition of the Matter FanControl cluster (0x0202, revision 6), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/fixedlabel
Package fixedlabel is the generated definition of the Matter FixedLabel cluster (0x0040, revision 1, derived from Label), from the matter.js model at 862ad75 (Matter 1.6.1).
Package fixedlabel is the generated definition of the Matter FixedLabel cluster (0x0040, revision 1, derived from Label), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/flowmeasurement
Package flowmeasurement is the generated definition of the Matter FlowMeasurement cluster (0x0404, revision 5), from the matter.js model at 862ad75 (Matter 1.6.1).
Package flowmeasurement is the generated definition of the Matter FlowMeasurement cluster (0x0404, revision 5), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/formaldehydeconcentrationmeasurement
Package formaldehydeconcentrationmeasurement is the generated definition of the Matter FormaldehydeConcentrationMeasurement cluster (0x042B, revision 5, derived from ConcentrationMeasurement), from the matter.js model at 862ad75 (Matter 1.6.1).
Package formaldehydeconcentrationmeasurement is the generated definition of the Matter FormaldehydeConcentrationMeasurement cluster (0x042B, revision 5, derived from ConcentrationMeasurement), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/generalcommissioning
Package generalcommissioning is the generated definition of the Matter GeneralCommissioning cluster (0x0030, revision 2), from the matter.js model at 862ad75 (Matter 1.6.1).
Package generalcommissioning is the generated definition of the Matter GeneralCommissioning cluster (0x0030, revision 2), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/generaldiagnostics
Package generaldiagnostics is the generated definition of the Matter GeneralDiagnostics cluster (0x0033, revision 3), from the matter.js model at 862ad75 (Matter 1.6.1).
Package generaldiagnostics is the generated definition of the Matter GeneralDiagnostics cluster (0x0033, revision 3), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/groupcast
Package groupcast is the generated definition of the Matter Groupcast cluster (0x0065, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
Package groupcast is the generated definition of the Matter Groupcast cluster (0x0065, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/groups
Package groups is the generated definition of the Matter Groups cluster (0x0004, revision 4), from the matter.js model at 862ad75 (Matter 1.6.1).
Package groups is the generated definition of the Matter Groups cluster (0x0004, revision 4), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/hepafiltermonitoring
Package hepafiltermonitoring is the generated definition of the Matter HepaFilterMonitoring cluster (0x0071, revision 1, derived from ResourceMonitoring), from the matter.js model at 862ad75 (Matter 1.6.1).
Package hepafiltermonitoring is the generated definition of the Matter HepaFilterMonitoring cluster (0x0071, revision 1, derived from ResourceMonitoring), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/icdmanagement
Package icdmanagement is the generated definition of the Matter IcdManagement cluster (0x0046, revision 3), from the matter.js model at 862ad75 (Matter 1.6.1).
Package icdmanagement is the generated definition of the Matter IcdManagement cluster (0x0046, revision 3), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/identify
Package identify is the generated definition of the Matter Identify cluster (0x0003, revision 6), from the matter.js model at 862ad75 (Matter 1.6.1).
Package identify is the generated definition of the Matter Identify cluster (0x0003, revision 6), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/illuminancemeasurement
Package illuminancemeasurement is the generated definition of the Matter IlluminanceMeasurement cluster (0x0400, revision 5), from the matter.js model at 862ad75 (Matter 1.6.1).
Package illuminancemeasurement is the generated definition of the Matter IlluminanceMeasurement cluster (0x0400, revision 5), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/keypadinput
Package keypadinput is the generated definition of the Matter KeypadInput cluster (0x0509, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
Package keypadinput is the generated definition of the Matter KeypadInput cluster (0x0509, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/laundrydryercontrols
Package laundrydryercontrols is the generated definition of the Matter LaundryDryerControls cluster (0x004A, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
Package laundrydryercontrols is the generated definition of the Matter LaundryDryerControls cluster (0x004A, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/laundrywashercontrols
Package laundrywashercontrols is the generated definition of the Matter LaundryWasherControls cluster (0x0053, revision 2), from the matter.js model at 862ad75 (Matter 1.6.1).
Package laundrywashercontrols is the generated definition of the Matter LaundryWasherControls cluster (0x0053, revision 2), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/laundrywashermode
Package laundrywashermode is the generated definition of the Matter LaundryWasherMode cluster (0x0051, revision 3, derived from ModeBase), from the matter.js model at 862ad75 (Matter 1.6.1).
Package laundrywashermode is the generated definition of the Matter LaundryWasherMode cluster (0x0051, revision 3, derived from ModeBase), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/levelcontrol
Package levelcontrol is the generated definition of the Matter LevelControl cluster (0x0008, revision 7), from the matter.js model at 862ad75 (Matter 1.6.1).
Package levelcontrol is the generated definition of the Matter LevelControl cluster (0x0008, revision 7), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/localizationconfiguration
Package localizationconfiguration is the generated definition of the Matter LocalizationConfiguration cluster (0x002B, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
Package localizationconfiguration is the generated definition of the Matter LocalizationConfiguration cluster (0x002B, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/lowpower
Package lowpower is the generated definition of the Matter LowPower cluster (0x0508, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
Package lowpower is the generated definition of the Matter LowPower cluster (0x0508, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/mediainput
Package mediainput is the generated definition of the Matter MediaInput cluster (0x0507, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
Package mediainput is the generated definition of the Matter MediaInput cluster (0x0507, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/mediaplayback
Package mediaplayback is the generated definition of the Matter MediaPlayback cluster (0x0506, revision 2), from the matter.js model at 862ad75 (Matter 1.6.1).
Package mediaplayback is the generated definition of the Matter MediaPlayback cluster (0x0506, revision 2), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/messages
Package messages is the generated definition of the Matter Messages cluster (0x0097, revision 3), from the matter.js model at 862ad75 (Matter 1.6.1).
Package messages is the generated definition of the Matter Messages cluster (0x0097, revision 3), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/meteridentification
Package meteridentification is the generated definition of the Matter MeterIdentification cluster (0x0B06, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
Package meteridentification is the generated definition of the Matter MeterIdentification cluster (0x0B06, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/microwaveovencontrol
Package microwaveovencontrol is the generated definition of the Matter MicrowaveOvenControl cluster (0x005F, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
Package microwaveovencontrol is the generated definition of the Matter MicrowaveOvenControl cluster (0x005F, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/microwaveovenmode
Package microwaveovenmode is the generated definition of the Matter MicrowaveOvenMode cluster (0x005E, revision 2, derived from ModeBase), from the matter.js model at 862ad75 (Matter 1.6.1).
Package microwaveovenmode is the generated definition of the Matter MicrowaveOvenMode cluster (0x005E, revision 2, derived from ModeBase), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/modeselect
Package modeselect is the generated definition of the Matter ModeSelect cluster (0x0050, revision 2), from the matter.js model at 862ad75 (Matter 1.6.1).
Package modeselect is the generated definition of the Matter ModeSelect cluster (0x0050, revision 2), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/networkcommissioning
Package networkcommissioning is the generated definition of the Matter NetworkCommissioning cluster (0x0031, revision 2), from the matter.js model at 862ad75 (Matter 1.6.1).
Package networkcommissioning is the generated definition of the Matter NetworkCommissioning cluster (0x0031, revision 2), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/nitrogendioxideconcentrationmeasurement
Package nitrogendioxideconcentrationmeasurement is the generated definition of the Matter NitrogenDioxideConcentrationMeasurement cluster (0x0413, revision 5, derived from ConcentrationMeasurement), from the matter.js model at 862ad75 (Matter 1.6.1).
Package nitrogendioxideconcentrationmeasurement is the generated definition of the Matter NitrogenDioxideConcentrationMeasurement cluster (0x0413, revision 5, derived from ConcentrationMeasurement), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/occupancysensing
Package occupancysensing is the generated definition of the Matter OccupancySensing cluster (0x0406, revision 7), from the matter.js model at 862ad75 (Matter 1.6.1).
Package occupancysensing is the generated definition of the Matter OccupancySensing cluster (0x0406, revision 7), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/onoff
Package onoff is the generated definition of the Matter OnOff cluster (0x0006, revision 6), from the matter.js model at 862ad75 (Matter 1.6.1).
Package onoff is the generated definition of the Matter OnOff cluster (0x0006, revision 6), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/operationalstate
Package operationalstate is the generated definition of the Matter OperationalState cluster (0x0060, revision 3), from the matter.js model at 862ad75 (Matter 1.6.1).
Package operationalstate is the generated definition of the Matter OperationalState cluster (0x0060, revision 3), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/otasoftwareupdateprovider
Package otasoftwareupdateprovider is the generated definition of the Matter OtaSoftwareUpdateProvider cluster (0x0029, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
Package otasoftwareupdateprovider is the generated definition of the Matter OtaSoftwareUpdateProvider cluster (0x0029, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/otasoftwareupdaterequestor
Package otasoftwareupdaterequestor is the generated definition of the Matter OtaSoftwareUpdateRequestor cluster (0x002A, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
Package otasoftwareupdaterequestor is the generated definition of the Matter OtaSoftwareUpdateRequestor cluster (0x002A, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/ovencavityoperationalstate
Package ovencavityoperationalstate is the generated definition of the Matter OvenCavityOperationalState cluster (0x0048, revision 2, derived from OperationalState), from the matter.js model at 862ad75 (Matter 1.6.1).
Package ovencavityoperationalstate is the generated definition of the Matter OvenCavityOperationalState cluster (0x0048, revision 2, derived from OperationalState), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/ovenmode
Package ovenmode is the generated definition of the Matter OvenMode cluster (0x0049, revision 2, derived from ModeBase), from the matter.js model at 862ad75 (Matter 1.6.1).
Package ovenmode is the generated definition of the Matter OvenMode cluster (0x0049, revision 2, derived from ModeBase), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/ozoneconcentrationmeasurement
Package ozoneconcentrationmeasurement is the generated definition of the Matter OzoneConcentrationMeasurement cluster (0x0415, revision 5, derived from ConcentrationMeasurement), from the matter.js model at 862ad75 (Matter 1.6.1).
Package ozoneconcentrationmeasurement is the generated definition of the Matter OzoneConcentrationMeasurement cluster (0x0415, revision 5, derived from ConcentrationMeasurement), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/pm10concentrationmeasurement
Package pm10concentrationmeasurement is the generated definition of the Matter Pm10ConcentrationMeasurement cluster (0x042D, revision 5, derived from ConcentrationMeasurement), from the matter.js model at 862ad75 (Matter 1.6.1).
Package pm10concentrationmeasurement is the generated definition of the Matter Pm10ConcentrationMeasurement cluster (0x042D, revision 5, derived from ConcentrationMeasurement), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/pm1concentrationmeasurement
Package pm1concentrationmeasurement is the generated definition of the Matter Pm1ConcentrationMeasurement cluster (0x042C, revision 5, derived from ConcentrationMeasurement), from the matter.js model at 862ad75 (Matter 1.6.1).
Package pm1concentrationmeasurement is the generated definition of the Matter Pm1ConcentrationMeasurement cluster (0x042C, revision 5, derived from ConcentrationMeasurement), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/pm25concentrationmeasurement
Package pm25concentrationmeasurement is the generated definition of the Matter Pm25ConcentrationMeasurement cluster (0x042A, revision 5, derived from ConcentrationMeasurement), from the matter.js model at 862ad75 (Matter 1.6.1).
Package pm25concentrationmeasurement is the generated definition of the Matter Pm25ConcentrationMeasurement cluster (0x042A, revision 5, derived from ConcentrationMeasurement), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/powersource
Package powersource is the generated definition of the Matter PowerSource cluster (0x002F, revision 3), from the matter.js model at 862ad75 (Matter 1.6.1).
Package powersource is the generated definition of the Matter PowerSource cluster (0x002F, revision 3), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/powersourceconfiguration
Package powersourceconfiguration is the generated definition of the Matter PowerSourceConfiguration cluster (0x002E, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
Package powersourceconfiguration is the generated definition of the Matter PowerSourceConfiguration cluster (0x002E, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/powertopology
Package powertopology is the generated definition of the Matter PowerTopology cluster (0x009C, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
Package powertopology is the generated definition of the Matter PowerTopology cluster (0x009C, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/pressuremeasurement
Package pressuremeasurement is the generated definition of the Matter PressureMeasurement cluster (0x0403, revision 5), from the matter.js model at 862ad75 (Matter 1.6.1).
Package pressuremeasurement is the generated definition of the Matter PressureMeasurement cluster (0x0403, revision 5), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/pumpconfigurationandcontrol
Package pumpconfigurationandcontrol is the generated definition of the Matter PumpConfigurationAndControl cluster (0x0200, revision 5), from the matter.js model at 862ad75 (Matter 1.6.1).
Package pumpconfigurationandcontrol is the generated definition of the Matter PumpConfigurationAndControl cluster (0x0200, revision 5), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/radonconcentrationmeasurement
Package radonconcentrationmeasurement is the generated definition of the Matter RadonConcentrationMeasurement cluster (0x042F, revision 5, derived from ConcentrationMeasurement), from the matter.js model at 862ad75 (Matter 1.6.1).
Package radonconcentrationmeasurement is the generated definition of the Matter RadonConcentrationMeasurement cluster (0x042F, revision 5, derived from ConcentrationMeasurement), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/refrigeratoralarm
Package refrigeratoralarm is the generated definition of the Matter RefrigeratorAlarm cluster (0x0057, revision 1, derived from AlarmBase), from the matter.js model at 862ad75 (Matter 1.6.1).
Package refrigeratoralarm is the generated definition of the Matter RefrigeratorAlarm cluster (0x0057, revision 1, derived from AlarmBase), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/refrigeratorandtemperaturecontrolledcabinetmode
Package refrigeratorandtemperaturecontrolledcabinetmode is the generated definition of the Matter RefrigeratorAndTemperatureControlledCabinetMode cluster (0x0052, revision 3, derived from ModeBase), from the matter.js model at 862ad75 (Matter 1.6.1).
Package refrigeratorandtemperaturecontrolledcabinetmode is the generated definition of the Matter RefrigeratorAndTemperatureControlledCabinetMode cluster (0x0052, revision 3, derived from ModeBase), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/relativehumiditymeasurement
Package relativehumiditymeasurement is the generated definition of the Matter RelativeHumidityMeasurement cluster (0x0405, revision 5), from the matter.js model at 862ad75 (Matter 1.6.1).
Package relativehumiditymeasurement is the generated definition of the Matter RelativeHumidityMeasurement cluster (0x0405, revision 5), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/rvccleanmode
Package rvccleanmode is the generated definition of the Matter RvcCleanMode cluster (0x0055, revision 5, derived from ModeBase), from the matter.js model at 862ad75 (Matter 1.6.1).
Package rvccleanmode is the generated definition of the Matter RvcCleanMode cluster (0x0055, revision 5, derived from ModeBase), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/rvcoperationalstate
Package rvcoperationalstate is the generated definition of the Matter RvcOperationalState cluster (0x0061, revision 3, derived from OperationalState), from the matter.js model at 862ad75 (Matter 1.6.1).
Package rvcoperationalstate is the generated definition of the Matter RvcOperationalState cluster (0x0061, revision 3, derived from OperationalState), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/rvcrunmode
Package rvcrunmode is the generated definition of the Matter RvcRunMode cluster (0x0054, revision 4, derived from ModeBase), from the matter.js model at 862ad75 (Matter 1.6.1).
Package rvcrunmode is the generated definition of the Matter RvcRunMode cluster (0x0054, revision 4, derived from ModeBase), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/scenesmanagement
Package scenesmanagement is the generated definition of the Matter ScenesManagement cluster (0x0062, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
Package scenesmanagement is the generated definition of the Matter ScenesManagement cluster (0x0062, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/servicearea
Package servicearea is the generated definition of the Matter ServiceArea cluster (0x0150, revision 2), from the matter.js model at 862ad75 (Matter 1.6.1).
Package servicearea is the generated definition of the Matter ServiceArea cluster (0x0150, revision 2), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/smokecoalarm
Package smokecoalarm is the generated definition of the Matter SmokeCoAlarm cluster (0x005C, revision 2), from the matter.js model at 862ad75 (Matter 1.6.1).
Package smokecoalarm is the generated definition of the Matter SmokeCoAlarm cluster (0x005C, revision 2), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/softwarediagnostics
Package softwarediagnostics is the generated definition of the Matter SoftwareDiagnostics cluster (0x0034, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
Package softwarediagnostics is the generated definition of the Matter SoftwareDiagnostics cluster (0x0034, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/soilmeasurement
Package soilmeasurement is the generated definition of the Matter SoilMeasurement cluster (0x0430, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
Package soilmeasurement is the generated definition of the Matter SoilMeasurement cluster (0x0430, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/spectest
Package spectest holds the parity assertions every generated cluster definition, and every server built on one, is checked with: the definition against the matter.js snapshot it was generated from (CheckDefinition), a server's lists, globals, privileges and read-only writes against the definition's conformance (CheckServer), and the TLV round trip of generated payloads (RoundTrip & co).
Package spectest holds the parity assertions every generated cluster definition, and every server built on one, is checked with: the definition against the matter.js snapshot it was generated from (CheckDefinition), a server's lists, globals, privileges and read-only writes against the definition's conformance (CheckServer), and the TLV round trip of generated payloads (RoundTrip & co).
spec/switchcluster
Package switchcluster is the generated definition of the Matter Switch cluster (0x003B, revision 2), from the matter.js model at 862ad75 (Matter 1.6.1).
Package switchcluster is the generated definition of the Matter Switch cluster (0x003B, revision 2), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/targetnavigator
Package targetnavigator is the generated definition of the Matter TargetNavigator cluster (0x0505, revision 2), from the matter.js model at 862ad75 (Matter 1.6.1).
Package targetnavigator is the generated definition of the Matter TargetNavigator cluster (0x0505, revision 2), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/temperaturealarm
Package temperaturealarm is the generated definition of the Matter TemperatureAlarm cluster (0x0064, revision 1, derived from AlarmBase), from the matter.js model at 862ad75 (Matter 1.6.1).
Package temperaturealarm is the generated definition of the Matter TemperatureAlarm cluster (0x0064, revision 1, derived from AlarmBase), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/temperaturecontrol
Package temperaturecontrol is the generated definition of the Matter TemperatureControl cluster (0x0056, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
Package temperaturecontrol is the generated definition of the Matter TemperatureControl cluster (0x0056, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/temperaturemeasurement
Package temperaturemeasurement is the generated definition of the Matter TemperatureMeasurement cluster (0x0402, revision 6), from the matter.js model at 862ad75 (Matter 1.6.1).
Package temperaturemeasurement is the generated definition of the Matter TemperatureMeasurement cluster (0x0402, revision 6), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/thermostat
Package thermostat is the generated definition of the Matter Thermostat cluster (0x0201, revision 11), from the matter.js model at 862ad75 (Matter 1.6.1).
Package thermostat is the generated definition of the Matter Thermostat cluster (0x0201, revision 11), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/thermostatuserinterfaceconfiguration
Package thermostatuserinterfaceconfiguration is the generated definition of the Matter ThermostatUserInterfaceConfiguration cluster (0x0204, revision 2), from the matter.js model at 862ad75 (Matter 1.6.1).
Package thermostatuserinterfaceconfiguration is the generated definition of the Matter ThermostatUserInterfaceConfiguration cluster (0x0204, revision 2), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/timeformatlocalization
Package timeformatlocalization is the generated definition of the Matter TimeFormatLocalization cluster (0x002C, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
Package timeformatlocalization is the generated definition of the Matter TimeFormatLocalization cluster (0x002C, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/timesynchronization
Package timesynchronization is the generated definition of the Matter TimeSynchronization cluster (0x0038, revision 2), from the matter.js model at 862ad75 (Matter 1.6.1).
Package timesynchronization is the generated definition of the Matter TimeSynchronization cluster (0x0038, revision 2), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/totalvolatileorganiccompoundsconcentrationmeasurement
Package totalvolatileorganiccompoundsconcentrationmeasurement is the generated definition of the Matter TotalVolatileOrganicCompoundsConcentrationMeasurement cluster (0x042E, revision 5, derived from ConcentrationMeasurement), from the matter.js model at 862ad75 (Matter 1.6.1).
Package totalvolatileorganiccompoundsconcentrationmeasurement is the generated definition of the Matter TotalVolatileOrganicCompoundsConcentrationMeasurement cluster (0x042E, revision 5, derived from ConcentrationMeasurement), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/unitlocalization
Package unitlocalization is the generated definition of the Matter UnitLocalization cluster (0x002D, revision 2), from the matter.js model at 862ad75 (Matter 1.6.1).
Package unitlocalization is the generated definition of the Matter UnitLocalization cluster (0x002D, revision 2), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/userlabel
Package userlabel is the generated definition of the Matter UserLabel cluster (0x0041, revision 1, derived from Label), from the matter.js model at 862ad75 (Matter 1.6.1).
Package userlabel is the generated definition of the Matter UserLabel cluster (0x0041, revision 1, derived from Label), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/valveconfigurationandcontrol
Package valveconfigurationandcontrol is the generated definition of the Matter ValveConfigurationAndControl cluster (0x0081, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
Package valveconfigurationandcontrol is the generated definition of the Matter ValveConfigurationAndControl cluster (0x0081, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/wakeonlan
Package wakeonlan is the generated definition of the Matter WakeOnLan cluster (0x0503, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
Package wakeonlan is the generated definition of the Matter WakeOnLan cluster (0x0503, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/waterheatermanagement
Package waterheatermanagement is the generated definition of the Matter WaterHeaterManagement cluster (0x0094, revision 2), from the matter.js model at 862ad75 (Matter 1.6.1).
Package waterheatermanagement is the generated definition of the Matter WaterHeaterManagement cluster (0x0094, revision 2), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/waterheatermode
Package waterheatermode is the generated definition of the Matter WaterHeaterMode cluster (0x009E, revision 1, derived from ModeBase), from the matter.js model at 862ad75 (Matter 1.6.1).
Package waterheatermode is the generated definition of the Matter WaterHeaterMode cluster (0x009E, revision 1, derived from ModeBase), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/watertanklevelmonitoring
Package watertanklevelmonitoring is the generated definition of the Matter WaterTankLevelMonitoring cluster (0x0079, revision 1, derived from ResourceMonitoring), from the matter.js model at 862ad75 (Matter 1.6.1).
Package watertanklevelmonitoring is the generated definition of the Matter WaterTankLevelMonitoring cluster (0x0079, revision 1, derived from ResourceMonitoring), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/wifinetworkdiagnostics
Package wifinetworkdiagnostics is the generated definition of the Matter WiFiNetworkDiagnostics cluster (0x0036, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
Package wifinetworkdiagnostics is the generated definition of the Matter WiFiNetworkDiagnostics cluster (0x0036, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/wifinetworkmanagement
Package wifinetworkmanagement is the generated definition of the Matter WiFiNetworkManagement cluster (0x0451, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
Package wifinetworkmanagement is the generated definition of the Matter WiFiNetworkManagement cluster (0x0451, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
spec/windowcovering
Package windowcovering is the generated definition of the Matter WindowCovering cluster (0x0102, revision 8), from the matter.js model at 862ad75 (Matter 1.6.1).
Package windowcovering is the generated definition of the Matter WindowCovering cluster (0x0102, revision 8), from the matter.js model at 862ad75 (Matter 1.6.1).
switch
Package switchserver is the Matter Switch cluster server (0x003B): a semantic port of matter.js SwitchBaseServer (packages/node/src/behaviors/switch/SwitchServer.ts at 862ad75f), the server that derives every Switch event from one stream of switch positions.
Package switchserver is the Matter Switch cluster server (0x003B): a semantic port of matter.js SwitchBaseServer (packages/node/src/behaviors/switch/SwitchServer.ts at 862ad75f), the server that derives every Switch event from one stream of switch positions.
thermo
Package thermo provides the Matter Thermostat cluster server (0x0201).
Package thermo provides the Matter Thermostat cluster server (0x0201).
transition
Package transition is the module's port of matter.js's attribute transition engine (packages/node/src/behavior/Transitions.ts): it moves one or more numeric attributes of one cluster instance towards a target over time, in steps, and computes the RemainingTime the LevelControl and ColorControl clusters report while it does.
Package transition is the module's port of matter.js's attribute transition engine (packages/node/src/behavior/Transitions.ts): it moves one or more numeric attributes of one cluster instance towards a target over time, in steps, and computes the RemainingTime the LevelControl and ColorControl clusters report while it does.
valve
Package valve contains the Matter ValveConfigurationAndControl cluster server (0x0081) for a valve that opens and closes without a level axis.
Package valve contains the Matter ValveConfigurationAndControl cluster server (0x0081) for a valve that opens and closes without a level axis.
wire
Package wire holds the TLV codecs for Matter application-cluster command payloads.
Package wire holds the TLV codecs for Matter application-cluster command payloads.
Package commissioning orchestrates Matter on-network commissioning from the PASE handshake through NOC installation.
Package commissioning orchestrates Matter on-network commissioning from the PASE handshake through NOC installation.
Package conformance houses the Matter conformance suite for go-fabric — golden-vector regression tests, load tests, and the chip-tool subprocess smoke harness.
Package conformance houses the Matter conformance suite for go-fabric — golden-vector regression tests, load tests, and the chip-tool subprocess smoke harness.
Package contract holds the port contracts between a host's domain model and the Matter bridge: the interfaces a data point implements to materialise as a bridged endpoint, the cluster-server surface the bridge dispatches through, and the measurement / eligibility classifications the host computes once and the bridge consumes.
Package contract holds the port contracts between a host's domain model and the Matter bridge: the interfaces a data point implements to materialise as a bridged endpoint, the cluster-server surface the bridge dispatches through, and the measurement / eligibility classifications the host computes once and the bridge consumes.
controller
attestation
Package attestation is the commissioner's device attestation check: the port of matter.js packages/protocol/src/certificate/DeviceAttestationValidator.ts (DeviceAttestationValidator.validate, :170-537) at 0ceb202d, ADR 0020 stage 2, with a static trust store (PAAStore, StaticStore, TestStore) where matter.js consults its DclCertificateService.
Package attestation is the commissioner's device attestation check: the port of matter.js packages/protocol/src/certificate/DeviceAttestationValidator.ts (DeviceAttestationValidator.validate, :170-537) at 0ceb202d, ADR 0020 stage 2, with a static trust store (PAAStore, StaticStore, TestStore) where matter.js consults its DclCertificateService.
ble
Package ble is the commissioner's seam to Bluetooth LE (ADR 0024, decision 2): the interfaces a platform BLE stack implements (Central, Connection), the scanner that turns Matter advertisements into commissionable devices (Scanner) and the commissioning channel that runs PASE over a BTP session to one peripheral (Dial, Channel).
Package ble is the commissioner's seam to Bluetooth LE (ADR 0024, decision 2): the interfaces a platform BLE stack implements (Central, Connection), the scanner that turns Matter advertisements into commissionable devices (Scanner) and the commissioning channel that runs PASE over a BTP session to one peripheral (Dial, Channel).
ble/bletest
Package bletest is an in-memory BLE stack for tests: a Central that implements ble.Central and the [Peripheral]s it reaches, each a GATT server of the Matter service whose BTP side is a transport/btp peripheral session.
Package bletest is an in-memory BLE stack for tests: a Central that implements ble.Central and the [Peripheral]s it reaches, each a GATT server of the Matter service whose BTP side is a transport/btp peripheral session.
ca
Package ca is the controller's certificate authority: the root of trust of a fabric the controller owns (its RCAC, optionally an ICAC), which issues the controller's own NOC and the NOC of every node it commissions.
Package ca is the controller's certificate authority: the root of trust of a fabric the controller owns (its RCAC, optionally an ICAC), which issues the controller's own NOC and the NOC of every node it commissions.
ca/keyfile
Package keyfile keeps a P-256 key in a passphrase-encrypted file and signs with it as a crypto.Signer — the alternative to the SQLite record for [ca.Config.RootSigner], [ca.Config.ICACSigner] and commissioner.FabricConfig.OperationalSigner.
Package keyfile keeps a P-256 key in a passphrase-encrypted file and signs with it as a crypto.Signer — the alternative to the SQLite record for [ca.Config.RootSigner], [ca.Config.ICACSigner] and commissioner.FabricConfig.OperationalSigner.
client
Package client is the controller's image of a remote node (ADR 0020, stage 4, first half): what the node reports, kept as endpoints and clusters, cached and persisted, and kept live by one sustained subscription.
Package client is the controller's image of a remote node (ADR 0020, stage 4, first half): what the node reports, kept as endpoints and clusters, cached and persisted, and kept live by one sustained subscription.
client/sqlstore
Package sqlstore is a durable client.Store on SQLite (brief AL §8; ADR 0020, stage 4): the images, settings and commissioning records of a controller's client nodes, in the tables matter_client_values and matter_client_versions.
Package sqlstore is a durable client.Store on SQLite (brief AL §8; ADR 0020, stage 4): the images, settings and commissioning records of a controller's client nodes, in the tables matter_client_values and matter_client_versions.
commissioner
Package commissioner commissions Matter nodes onto a fabric the controller owns (ADR 0020, stage 2): the port of matter.js packages/protocol/src/peer/ControllerCommissioner.ts, CommissioningConnection.ts and ControllerCommissioningFlow.ts at 0ceb202d for nodes on an IP network.
Package commissioner commissions Matter nodes onto a fabric the controller owns (ADR 0020, stage 2): the port of matter.js packages/protocol/src/peer/ControllerCommissioner.ts, CommissioningConnection.ts and ControllerCommissioningFlow.ts at 0ceb202d for nodes on an IP network.
dcl
Package dcl is the controller's client of the CSA Distributed Compliance Ledger: the port of matter.js packages/protocol/src/dcl/ at 0ceb202d (ADR 0020 stage 6) — Client is DclClient.ts, CertificateStore the parts of DclCertificateService.ts the attestation check consults (the PAA and CD signer trust store, refreshed daily, and the CRL revocation check of Matter Core §6.2.6.1), OTAVersions the parts of DclOtaUpdateService.ts that answer whether a software version is in the ledger and with which checksum.
Package dcl is the controller's client of the CSA Distributed Compliance Ledger: the port of matter.js packages/protocol/src/dcl/ at 0ceb202d (ADR 0020 stage 6) — Client is DclClient.ts, CertificateStore the parts of DclCertificateService.ts the attestation check consults (the PAA and CD signer trust store, refreshed daily, and the CRL revocation check of Matter Core §6.2.6.1), OTAVersions the parts of DclOtaUpdateService.ts that answer whether a software version is in the ledger and with which checksum.
dcl/snapshot
Package snapshot is the controller's offline DCL trust set: the production PAAs and Certification Declaration signers of the CSA Distributed Compliance Ledger as DER files with a SOURCE manifest, embedded from data/ and refreshed by `make update-dcl-snapshot` — a review step like the schema refresh, never automatic.
Package snapshot is the controller's offline DCL trust set: the production PAAs and Certification Declaration signers of the CSA Distributed Compliance Ledger as DER files with a SOURCE manifest, embedded from data/ and refreshed by `make update-dcl-snapshot` — a review step like the schema refresh, never automatic.
discovery
Package discovery is the controller's DNS-SD browser: it finds commissionable nodes on the network and follows the operational instance of a commissioned one (ADR 0020, stage 1).
Package discovery is the controller's DNS-SD browser: it finds commissionable nodes on the network and follows the operational instance of a commissioned one (ADR 0020, stage 1).
exchange
Package exchange is the controller's message layer: the sessions and the exchanges of the initiator role over one UDP socket, with the Message Reliability Protocol (MRP) on every exchange.
Package exchange is the controller's message layer: the sessions and the exchanges of the initiator role over one UDP socket, with the Message Reliability Protocol (MRP) on every exchange.
handshake
Package handshake is the controller's side of session establishment: PASE, the client of the passcode-authenticated handshake a commissioner opens to a node in its commissioning window, and CASE, the client of the certificate-authenticated handshake a controller opens to a node on its fabric, with session resumption.
Package handshake is the controller's side of session establishment: PASE, the client of the passcode-authenticated handshake a commissioner opens to a node in its commissioning window, and CASE, the client of the certificate-authenticated handshake a controller opens to a node on its fabric, with session resumption.
interaction
Package interaction is the controller's Interaction Model client (ADR 0020, stages 2 and 3), ported from matter.js packages/protocol/src/action/client/ (ClientInteraction.ts, InputChunk.ts, subscription/) and the client half of interaction/InteractionMessenger.ts at 0ceb202d: Invoke (one command), Read with events and filters, Write, Subscribe with the registry of subscriptions and their liveness, the handler of the reports a peer pushes, and sustained subscriptions.
Package interaction is the controller's Interaction Model client (ADR 0020, stages 2 and 3), ported from matter.js packages/protocol/src/action/client/ (ClientInteraction.ts, InputChunk.ts, subscription/) and the client half of interaction/InteractionMessenger.ts at 0ceb202d: Invoke (one command), Read with events and filters, Write, Subscribe with the registry of subscriptions and their liveness, the handler of the reports a peer pushes, and sustained subscriptions.
peer
Package peer is the controller's view of the nodes on its fabrics: a Set of [Peer]s, each with its Descriptor, its sessions, the connection process that establishes a CASE session when none is live, and the address monitor that follows the node's operational address (ADR 0020, stage 1).
Package peer is the controller's view of the nodes on its fabrics: a Set of [Peer]s, each with its Descriptor, its sessions, the connection process that establishes a CASE session when none is live, and the address monitor that follows the node's operational address (ADR 0020, stage 1).
thread
Package thread is the commissioner's codec for the Thread operational dataset and the MeshCoP TLV stream it is written in (Thread spec §8.10): the dataset a controller hands a Thread device in AddOrUpdateThreadNetwork.
Package thread is the commissioner's codec for the Thread operational dataset and the MeshCoP TLV stream it is written in (Thread spec §8.10): the dataset a controller hands a Thread device in AddOrUpdateThreadNetwork.
Package device is the device layer: one Go type per Matter device type in scope, generated from parity/schema.json by script/devicegen, and the hand-written runtime they share — matter.js's packages/node/src/devices and packages/node/src/endpoints (ADR 0018).
Package device is the device layer: one Go type per Matter device type in scope, generated from parity/schema.json by script/devicegen, and the hand-written runtime they share — matter.js's packages/node/src/devices and packages/node/src/endpoints (ADR 0018).
Package diagevent keeps a bounded, in-memory trace of the Matter events that explain a failed pairing.
Package diagevent keeps a bounded, in-memory trace of the Matter events that explain a failed pairing.
Package eligibility answers two Matter-side questions that every host bridging to Matter has to answer the same way: what will Matter make of this source, and what will the ecosystem on the other end of the fabric make of the result.
Package eligibility answers two Matter-side questions that every host bridging to Matter has to answer the same way: what will Matter make of this source, and what will the ecosystem on the other end of the fabric make of the result.
Package endpoint turns flat endpoint descriptions into the Matter endpoint topology the bridge advertises to commissioners.
Package endpoint turns flat endpoint descriptions into the Matter endpoint topology the bridge advertises to commissioners.
endpointtest
Package endpointtest provides the endpoint-level scaffolding a test needs to stand a bridge up: an in-memory endpoint.Store and a snapshotter over an empty fleet — and AssertDeviceTypeConformance, which holds a host's assembled topology to its device types.
Package endpointtest provides the endpoint-level scaffolding a test needs to stand a bridge up: an in-memory endpoint.Store and a snapshotter over an empty fleet — and AssertDeviceTypeConformance, which holds a host's assembled topology to its device types.
sqlitestore
Package sqlitestore is a persistent endpoint.Store over SQLite.
Package sqlitestore is a persistent endpoint.Store over SQLite.
examples
quickstart-controller command
Command quickstart-controller is the smallest Matter controller on go-fabric: it keeps one fabric in a SQLite file, pairs a node by its QR or manual code, reads its NodeLabel, toggles its endpoint 1 OnOff and prints the OnOff reports of a subscription until Ctrl-C. docs/getting-started/controller.md walks through it; the reference controller (examples/reference-controller) is the complete tool.
Command quickstart-controller is the smallest Matter controller on go-fabric: it keeps one fabric in a SQLite file, pairs a node by its QR or manual code, reads its NodeLabel, toggles its endpoint 1 OnOff and prints the OnOff reports of a subscription until Ctrl-C. docs/getting-started/controller.md walks through it; the reference controller (examples/reference-controller) is the complete tool.
quickstart-device command
Command quickstart-device is the smallest Matter bridge on go-fabric: one on/off light under the node's Aggregator, its state in one SQLite file, advertised over DNS-SD.
Command quickstart-device is the smallest Matter bridge on go-fabric: one on/off light under the node's Aggregator, its state in one SQLite file, advertised over DNS-SD.
reference-bridge command
Command reference-bridge is a runnable Matter bridge assembled only from go-fabric's public API.
Command reference-bridge is a runnable Matter bridge assembled only from go-fabric's public API.
reference-controller command
Command reference-controller is the module's controller role as a command-line tool (package cli beside this file), built without BLE: pair --ble answers that this build has none.
Command reference-controller is the module's controller role as a command-line tool (package cli beside this file), built without BLE: pair --ble answers that this build has none.
reference-controller/cli
Package cli is the reference controller's command line: the module's controller role as a tool that pairs Matter nodes over IP or BLE, reads, writes, invokes and subscribes, creates groups and bindings and serves an OTA image.
Package cli is the reference controller's command line: the module's controller role as a tool that pairs Matter nodes over IP or BLE, reads, writes, invokes and subscribes, creates groups and bindings and serves an OTA image.
Package fabrictest runs Matter devices and controllers of this module in one test process, on an in-memory network and one test clock, so a test commissions a device and talks to it over the wire with no chip-tool, no radio and no socket.
Package fabrictest runs Matter devices and controllers of this module in one test process, on an in-memory network and one test clock, so a test commissions a device and talks to it over the wire with no chip-tool, no radio and no socket.
Package groups is the node's operational view of group communication: for every fabric, the group key sets in derived form (operational group keys, privacy keys, group session ids), the GroupKeyMap that binds a group to a key set, the group table that names the local endpoints of each group, the Groupcast cluster's per-group properties (multicast address policy, auxiliary-ACL flag), and the replay-protection state of received group messages.
Package groups is the node's operational view of group communication: for every fabric, the group key sets in derived form (operational group keys, privacy keys, group session ids), the GroupKeyMap that binds a group to a key set, the group table that names the local endpoints of each group, the Groupcast cluster's per-group properties (multicast address policy, auxiliary-ACL flag), and the replay-protection state of received group messages.
im
Package im implements the Matter Interaction Model per Matter Core Specification §10.6.
Package im implements the Matter Interaction Model per Matter Core Specification §10.6.
subscription
Package subscription implements the Matter subscription state machine layered on top of the im message codecs.
Package subscription implements the Matter subscription state machine layered on top of the im message codecs.
internal
bridgeseam
Package bridgeseam carries the one-way seam through which the bridge/bridgetest support package reaches bridge internals.
Package bridgeseam carries the one-way seam through which the bridge/bridgetest support package reaches bridge internals.
channelseam
Package channelseam carries the one-way seam through which the bridge reaches the one piece of secure-session state that is written by the wire and by nothing else: the anchor of the session's inbound MRP duplicate-detection window.
Package channelseam carries the one-way seam through which the bridge reaches the one piece of secure-session state that is written by the wire and by nothing else: the anchor of the session's inbound MRP duplicate-detection window.
chipdm
Package chipdm cross-checks the matter.js schema snapshot (parity/schema.json) against connectedhomeip's spec-derived data model (data_model/<version>/clusters/*.xml, device_types/*.xml) — the model the CSA's Python certification cases judge a device against.
Package chipdm cross-checks the matter.js schema snapshot (parity/schema.json) against connectedhomeip's spec-derived data model (data_model/<version>/clusters/*.xml, device_types/*.xml) — the model the CSA's Python certification cases judge a device against.
clockvar
Package clockvar holds a clock.Clock that a component's SetClock may replace while its goroutines read it: an atomic pointer, so a reader never needs the component's own lock (some read it while holding that lock, which a mutex-guarded clock would deadlock on).
Package clockvar holds a clock.Clock that a component's SetClock may replace while its goroutines read it: an atomic pointer, so a reader never needs the component's own lock (some read it while holding that lock, which a mutex-guarded clock would deadlock on).
paritytest
Package paritytest is the shared support of the cluster packages' *_parity_matterjs_test.go files: the cluster entries of parity/schema.json, the matter.js HEAD pin, and one evaluator for the matter.js conformance expressions those tests check a server's attribute, command and event lists against.
Package paritytest is the shared support of the cluster packages' *_parity_matterjs_test.go files: the cluster entries of parity/schema.json, the matter.js HEAD pin, and one evaluator for the matter.js conformance expressions those tests check a server's attribute, command and event lists against.
udpseam
Package udpseam carries the one-way seam through which the module's test support (fabrictest's in-memory network) builds a transport/udp.Listener over a socket that is not a kernel one.
Package udpseam carries the one-way seam through which the module's test support (fabrictest's in-memory network) builds a transport/udp.Listener over a socket that is not a kernel one.
Package mdns advertises the Matter bridge over mDNS / DNS-SD per Matter Core Spec §4.3.
Package mdns advertises the Matter bridge over mDNS / DNS-SD per Matter Core Spec §4.3.
Package node is the facade over the bridge's bring-up: one Config, one New, Node.Start / Node.Stop / Node.Run, and an Aggregator the host adds its bridged endpoints to (ADR 0018 decision 5).
Package node is the facade over the bridge's bring-up: one Config, one New, Node.Start / Node.Stop / Node.Run, and an Aggregator the host adds its bridged endpoints to (ADR 0018 decision 5).
Package parity provides the matter.js HEAD schema snapshot to all matter-side parity tests in one embed location.
Package parity provides the matter.js HEAD schema snapshot to all matter-side parity tests in one embed location.
Package schema exposes typed Go lookups for Matter cluster and device-type metadata extracted from matter.js HEAD.
Package schema exposes typed Go lookups for Matter cluster and device-type metadata extracted from matter.js HEAD.
script
citecheck command
Package main implements the matter.js citation guard (concept v4 §A.2, `make cite-check`).
Package main implements the matter.js citation guard (concept v4 §A.2, `make cite-check`).
clustergen command
Command clustergen generates cluster definitions from the resolved layer of parity/schema.json (the matter.js model extract): one package per cluster under cluster/spec/, holding the cluster's ids, typed enums, bitmaps and structs with their TLV codecs, the command and event payloads, the spec.Cluster definition the cluster/spec runtime works from, and a generated test that holds the definition against the snapshot and round-trips every codec.
Command clustergen generates cluster definitions from the resolved layer of parity/schema.json (the matter.js model extract): one package per cluster under cluster/spec/, holding the cluster's ids, typed enums, bitmaps and structs with their TLV codecs, the command and event payloads, the spec.Cluster definition the cluster/spec runtime works from, and a generated test that holds the definition against the snapshot and round-trips every codec.
coverfloor command
Package main implements the per-package statement-coverage floor for go-fabric.
Package main implements the per-package statement-coverage floor for go-fabric.
dclsnapshot command
Command dclsnapshot refreshes controller/dcl/snapshot/data from the CSA Distributed Compliance Ledger: `make update-dcl-snapshot`.
Command dclsnapshot refreshes controller/dcl/snapshot/data from the CSA Distributed Compliance Ledger: `make update-dcl-snapshot`.
devicegen command
Command devicegen generates the device layer's device types from the resolved layer of parity/schema.json (the matter.js model extract): one file per device type in scope under device/, holding the type's id and revision, its [device.Type] with the cluster requirements matter.js's generator derives, a constructor and the typed accessors of its default servers — plus device/types_gen.go, the registry of every generated type, device/types_gen_test.go, which calls every constructor and accessor, and contract/devicetype_names_gen.go, the label table of contract.DeviceTypeName over every snapshot device type (labels.go).
Command devicegen generates the device layer's device types from the resolved layer of parity/schema.json (the matter.js model extract): one file per device type in scope under device/, holding the type's id and revision, its [device.Type] with the cluster requirements matter.js's generator derives, a constructor and the typed accessors of its default servers — plus device/types_gen.go, the registry of every generated type, device/types_gen_test.go, which calls every constructor and accessor, and contract/devicetype_names_gen.go, the label table of contract.DeviceTypeName over every snapshot device type (labels.go).
reachability command
Package main implements the exported-API reachability analyzer for go-fabric.
Package main implements the exported-API reachability analyzer for go-fabric.
testparity command
Package main is the matter.js test-porting register: which of matter.js's test files at the schema pin this module has ported to Go tests, which it has in part, which are still to do, and which it leaves out on purpose.
Package main is the matter.js test-porting register: which of matter.js's test files at the schema pin this module has ported to Go tests, which it has in part, which are still to do, and which it leaves out on purpose.
secure
aesccm
Package aesccm implements AES-CCM-128 with a 13-byte nonce and a 16-byte tag — the AEAD primitive Matter uses for Secure Channel frame encryption per Matter Core Specification §4.4.3.
Package aesccm implements AES-CCM-128 with a 13-byte nonce and a 16-byte tag — the AEAD primitive Matter uses for Secure Channel frame encryption per Matter Core Specification §4.4.3.
attestation
Package attestation builds the Device Attestation chain (PAA → PAI → DAC) and the Certification Declaration (CD) the bridge presents to commissioners.
Package attestation builds the Device Attestation chain (PAA → PAI → DAC) and the Certification Declaration (CD) the bridge presents to commissioners.
channel
Package channel implements the Matter Secure Channel session wrapper per Matter Core Specification §4.4.3.
Package channel implements the Matter Secure Channel session wrapper per Matter Core Specification §4.4.3.
mattercert
Package mattercert decodes and verifies Matter Operational Certificates (NOC, ICAC, RCAC) per Matter Core Specification §6.5.
Package mattercert decodes and verifies Matter Operational Certificates (NOC, ICAC, RCAC) per Matter Core Specification §6.5.
operational
Package operational wires the CASE handshake (Sigma) into the secure-channel session layer.
Package operational wires the CASE handshake (Sigma) into the secure-channel session layer.
sessionparams
Package sessionparams is the Matter SessionParameters structure the secure-channel handshakes exchange: Sigma1's initiatorSessionParams, Sigma2's and Sigma2_Resume's responderSessionParams, and the PASE PBKDFParamRequest / PBKDFParamResponse fields of the same tag (5).
Package sessionparams is the Matter SessionParameters structure the secure-channel handshakes exchange: Sigma1's initiatorSessionParams, Sigma2's and Sigma2_Resume's responderSessionParams, and the PASE PBKDFParamRequest / PBKDFParamResponse fields of the same tag (5).
setup
Package setup encodes Matter Onboarding Payloads per Matter Core Specification 1.5.1 §5.1 (Manual Pairing Code) and §5.7 (QR Code Onboarding Payload).
Package setup encodes Matter Onboarding Payloads per Matter Core Specification 1.5.1 §5.1 (Manual Pairing Code) and §5.7 (QR Code Onboarding Payload).
sigma
Package sigma implements Matter CASE (Certificate-Authenticated Session Establishment) per Matter Core Specification §4.13.
Package sigma implements Matter CASE (Certificate-Authenticated Session Establishment) per Matter Core Specification §4.13.
spake2
Package spake2 implements SPAKE2+ over P-256 per Matter Core Specification §3.10 (which itself profiles RFC 9383).
Package spake2 implements SPAKE2+ over P-256 per Matter Core Specification §3.10 (which itself profiles RFC 9383).
Package store persists the Matter bridge's operational state: fabrics, node identities (NOC chain + private key + IPK), group keys, and access-control lists.
Package store persists the Matter bridge's operational state: fabrics, node identities (NOC chain + private key + IPK), group keys, and access-control lists.
Package tlv implements the Matter TLV (Type-Length-Value) codec per Matter Core Specification §A.7.
Package tlv implements the Matter TLV (Type-Length-Value) codec per Matter Core Specification §A.7.
Package transport names what the layers above the wire need from a Matter transport, independent of which one carried a message: the connection a request arrived on, so the reply goes back on it.
Package transport names what the layers above the wire need from a Matter transport, independent of which one carried a message: the connection a request arrived on, so the reply goes back on it.
btp
Package btp implements the Bluetooth Transport Protocol (Matter Core Specification §4.19): the codec of the handshake and the data segments, and the session that fragments Matter messages into segments, reassembles them, numbers and acknowledges them inside a receive window and closes the session on a protocol violation or a missed acknowledgement.
Package btp implements the Bluetooth Transport Protocol (Matter Core Specification §4.19): the codec of the handshake and the data segments, and the session that fragments Matter messages into segments, reassembles them, numbers and acknowledges them inside a receive window and closes the session on a protocol violation or a missed acknowledgement.
message
Package message implements the Matter Message Header and Protocol Header framing per Matter Core Specification §4.4.
Package message implements the Matter Message Header and Protocol Header framing per Matter Core Specification §4.4.
mrp
Package mrp implements the Matter Message Reliability Protocol per Matter Core Specification §4.12.
Package mrp implements the Matter Message Reliability Protocol per Matter Core Specification §4.12.
tcp
Package tcp implements the Matter TCP transport: the length-framed stream Matter uses for large payloads (Matter Core Specification §4.3).
Package tcp implements the Matter TCP transport: the length-framed stream Matter uses for large payloads (Matter Core Specification §4.3).
udp
Package udp implements the Matter UDP transport per Matter Core Specification §4.3.
Package udp implements the Matter UDP transport per Matter Core Specification §4.3.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL