• Stars
    star
    1,032
  • Rank 44,644 (Top 0.9 %)
  • Language
    C
  • License
    MIT License
  • Created almost 7 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Apple HomeKit accessory server library for ESP-OPEN-RTOS

esp-homekit

Apple HomeKit accessory server library for ESP-OPEN-RTOS.

See esp-homekit-demo for examples.

Building for ESP-IDF >= 4.0

In ESP-IDF >= 4.0 there is a SPI flash write protection that checks if area written to is inside writable parition. Haven't figured out yet how esp-homekit can modify parition table automatically, so for the time being you need to disable that check in menuconfig: go to Component config -> SPI Flash driver -> Write to dangerous flash regions and set it to "Allowed".

QR code pairing

You can use a QR code to pair with accessories. To enable that feature, you need to configure accessory to use static password and set some setup ID:

homekit_server_config_t config = {
    .accessories = accessories,
    .password = "123-45-678",
    .setupId="1QJ8",
};

The last piece of information you need is accessory category code. You can find it in mDNS announcement in accessory logs

mDNS announcement: Name=Sample LED-1692md=MyLEDpv=1.0id=16:92:CE:D4:EE:7Ac#=1s#=1ff=0sf=1ci=5 Port=5556 TTL=4500

(notice "ci=5" <- this is accessory category code)

Or just find value of category enum you set in main accessory:

  HOMEKIT_ACCESSORY(.id=1, .category=homekit_accessory_category_lightbulb, .services=(homekit_service_t*[]){

(notice "homekit_accessory_category_lightbulb" <- this is accessory category code)

Then you need to generate QR code using supplied script:

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

QR code example

More Repositories

1

esp-homekit-demo

Demo of Apple HomeKit accessory server library
779
star
2

esp32-homekit-camera

Firmware for esp32-camera module to act as Apple Homekit IP camera
C
355
star
3

lewansoul-lx16a

Library and UI to configure and control LewanSoul LX-16A servos
Python
59
star
4

esp-wifi-config

Library to bootstrap WiFi-enabled accessories WiFi config
C
49
star
5

lollipop

Python data serialization/validation library
Python
36
star
6

hypothesis-regex

Hypothesis extension to allow generating strings based on regex
Python
24
star
7

esp-ir

Library for ESP-OPEN-RTOS to send IR commands.
C
17
star
8

esp-button

Library for ESP-OPEN-RTOS to handle button input.
C
15
star
9

spreadsheet

Library to create ODF Spreadsheet files
Ruby
9
star
10

esp-wolfssl

Cryptographic embedded library for ESP-OPEN-RTOS
C
9
star
11

esp-ir-tv

Example of HomeKit device that controls a TV
C
9
star
12

esp-sonoff-outlet

Firmware for Sonoff S20 smart outlet to convert it to HomeKit outlet accessory
C
8
star
13

esp-cjson

cJSON library for ESP-OPEN-RTOS
Makefile
5
star
14

lollipop-hypothesis

Library to generate random test data using Hypothesis based on Lollipop schema
Python
5
star
15

esp-ir-thermostat

Example of HomeKit smart thermostat that controls AC via IR
C
4
star
16

esp-led-status

Library for ESP-OPEN-RTOS to communicate device status through different LED blink patterns.
C
4
star
17

homebridge-macropad

HomeBridge plugin to expose Adafruit RP2040 MacroPad as a number of HomeKit stateless switches
TypeScript
4
star
18

esp-qrcode

Repackage of QRCode generation library for ESP-OPEN-RTOS
C++
3
star
19

wai-throttler

Wai middleware for request throttling
Haskell
3
star
20

esp-ac-dimmer

Library for ESP-OPEN-RTOS to control AC dimmer
C
3
star
21

werdau

An internet magazine application (based on Spree)
Ruby
3
star
22

esp-rotary-encoder

Library for ESP8266/ESP32 to work with rotary encoders
C
3
star
23

esp-mdns

mDNS responder library for ESP-IDF backported to ESP_OPEN_RTOS
C
2
star
24

esp-http-parser

HTTP parser library
Makefile
2
star
25

pageless_browser

Pageless scroller: view all data without navigating through 'pages'
JavaScript
1
star
26

memtrack

Library to find memory leaks
C
1
star
27

godot-rollback-netcode

Fork of Rollback Netcode Godot addon by David Snopek (https://gitlab.com/snopek-games/godot-rollback-netcode)
GDScript
1
star
28

vim-configs

My VIM configuration files
Vim Script
1
star
29

rqt_joint_control

ROS rqt plugin to manually control joints
Python
1
star
30

anki-vector

Environment for Anki Vector programming
Dockerfile
1
star