Skip to content

HomeKit Accessory Protocol implementation following the specification standard written by Apple.

Notifications You must be signed in to change notification settings

MihaelBercic/HomeKit-Accessory-Protocol

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

95 Commits
 
 
 
 
 
 
 
 

Repository files navigation

HomeKit Accessory Protocol (HAP)

HomeKit Accessory Protocol based on HAP Specification provided by Apple.

Why?

This project was developed with interest in privacy and understanding of how the HomeKit Accessory Protocol works to provide safe and secure communication between our iDevices and the server itself.

This project implements

  • SRP (secure remote password) for early pairing setup.
  • mDNS service discovery for consistent service advertisement.
  • Ed25519 and Curve25519 for consistent and encrypted communication between controllers and the bridge.

Get started

git clone https://github.com/MihaelBercic/HomeKit-Accessory-Protocol.git
cd HomeKit-Accessory-Protocol       # Move to the cloned folder.

./gradlew jar                       # Run the jar building task.

nano config.json                    # edit config.json and then.
java -jar build/libs/HAP-1.0.jar    # run the jar built.

Required dependencies


Example Configuration file (config.json)

{
    "accessories": [
        {
            "mac": "FF:AA:BB:CC:DD:EE",
            "name": "Balcony Door",
            "type": "ShellySwitch",
            "ip": "192.168.1.139"
        },
        {
            "mac": "FF:CC:AA:CC:DD:EE",
            "name": "Balcony Window",
            "type": "ShellySwitch",
            "ip": "192.168.1.113"
        }
    ]
}    

About

HomeKit Accessory Protocol implementation following the specification standard written by Apple.

Topics

Resources

Stars

Watchers

Forks

Languages