Skip to content

A. Generate QR‐Code

Achim Pieters edited this page Oct 17, 2024 · 1 revision

Generate a pairing HomeKit QR code label for your HomeKit accessory.

Usage

GENERATE QR CODE

Then you need to generate QR code using supplied script:

tools/gen_qrcode 5 123-45-678 1QJ8 qrcode.png

HOW TO USE

Above you see the line that is used to generate the QR code. It's madeup from a few parts:

5 = HOMEKIT ACCESSORY CATEGORY (see table below)

123-45-678 = SETUP CODE (formatted as XXX-XX-XXX)

1QJ8 = SETUP ID (made from 4 random characters)

This wil give you this line:

tools/gen_qrcode 5 123-45-678 1QJ8 qrcode.png

Once you press enter the QR-code will be generated, and can be found in the TOOLS folder as an .png image.

HOMEKIT ACCESSORY CATEGORY NUMBER
Other 1
Bridges 2
Fans 3
Garage door openers 4
Lighting 5
Locks 6
Outlets 7
Switches 8
Thermostats 9
Sensors 10
Security systems 11
Doors 12
Windows 13
Window coverings 14
Programmable switches 15
Range extenders 16
IP cameras 17
Video door bells 18
Air purifiers 19
Heaters 20
Air conditioners 21
Humidifiers 22
Dehumidifiers 23
Apple tv 24
Speakers 26
Airport 27
Sprinklers 28
Faucets 29
Shower heads 30
Televisions 31
Target remotes 32


-------------------------------------------------------------------------------------------------------------------------------------
WORKS WITH APPLE HOME BADGE

The Works with Apple Home badge can be used to visually communicate that your accessory is compatible with the Apple Home and Siri on Apple devices. If you plan to develop or manufacture a HomeKit accessory that will be distributed or sold, your company needs to be enrolled in the MFi Program.


Output

Scan the QR code with a QR scanner of your choice. You should get a text starting with X-HM://..... The next 9 characters are the combination of the different parameters, like the pairing code and the category. The remaining characters are the setup ID.

X-HM://0081YCYEP3QYT ◄── Scanned Setup Payload

X-HM:// 008YCYEP 3QYT
  ▲        ▲      ▲
  │        │      └─── Setup ID
  │        └── Combination of Parameters (first 9 characters)
  └─ Starting Content