matter_dcl 0.1.0
matter_dcl: ^0.1.0 copied to clipboard
Look up Matter vendors and products in the CSA Distributed Compliance Ledger (DCL), with caching and a never-throw API.
matter_dcl #
Look up Matter vendors and products in the CSA Distributed Compliance Ledger (DCL), the public
registry behind every Matter Vendor ID and certified product. Turn 4107/8580 from a device's
discovery record into "WiZ P45.E27".
- Pure Dart: works in Flutter, on the server and on the command line
- Lookups never throw: unregistered IDs, timeouts and network errors all return
null - Results are cached, including "not registered"; failures are retried on the next call
- Concurrent lookups of the same ID share one request
Install #
dart pub add matter_dcl
or, in a Flutter app, flutter pub add matter_dcl.
Use #
import 'package:matter_dcl/matter_dcl.dart';
final dcl = MatterDcl();
final vendor = await dcl.vendor(0x100B); // MatterVendor(0x100B, Signify)
final product = await dcl.product(0x100B, 8580); // MatterProduct(4107/8580, WiZ P45.E27)
final name = await dcl.deviceName(0x100B, 8580); // "Signify WiZ P45.E27"
dcl.close();
MatterVendor has vendorName, companyPreferredName, companyLegalName, landingPageUrl and
displayName. MatterProduct has productName, productLabel, partNumber, deviceTypeId,
supportUrl, productUrl, userManualUrl and displayName.
Options: MatterDcl(baseUri: MatterDcl.testnet) for the test ledger, timeout: (default 3 s) and
httpClient: to supply your own package:http client (handy for tests with MockClient).
Things worth knowing #
- The registered vendor is often not the brand on the box. WiZ and Philips Hue lights are registered under Signify; LIFX lights use Feit Electric's Vendor ID. If you can, show the product name.
- IDs in the DCL API are decimal.
0x100Bis4107in the URL; this package takes care of it. - Vendor and Product IDs come from the device, for example its DNS-SD
VP=4107+8580TXT record or its Basic Information cluster. - The DCL REST endpoint is public and unauthenticated. Be kind to it: cache results (this client does) and don't look IDs up in a loop.
Licence #
Apache-2.0. Made by Firedance.