module
Matter::SetupPayload::QRCode
Overview
QR Code payload generation for Matter onboarding
Matter QR codes encode more information than manual codes:
- Vendor ID and Product ID
- Flow type and discovery capabilities
- Discriminator and setup PIN
The payload uses TLV encoding and base-38 representation with "MT:" prefix
Matter Core Spec ยง 5.1.4.2 - QR Code Format
Defined in:
matter/setup_payload.crConstant Summary
-
BASE38_ALPHABET =
"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-." -
Base-38 alphabet for Matter QR codes
Class Method Summary
-
.generate_qr_code(discriminator : UInt16, pin : UInt32, vendor_id : UInt16, product_id : UInt16, flow : CommissionFlow = CommissionFlow::Standard, capabilities : DiscoveryCapability = DiscoveryCapability::BLE) : String
Generate Matter QR code payload string
-
.parse_qr_code(qr_code : String) : Hash(Symbol, UInt64 | UInt32 | UInt16 | UInt8)
Parse Matter QR code payload
Class Method Detail
Generate Matter QR code payload string
@param discriminator Device discriminator (12-bit) @param pin Setup PIN code (27-bit) @param vendor_id Vendor ID (16-bit) @param product_id Product ID (16-bit) @param flow Commission flow type @param capabilities Discovery capabilities @return QR code string with "MT:" prefix
Parse Matter QR code payload
@param qr_code QR code string (with or without "MT:" prefix) @return Hash with decoded values