ewilken / hap-rs

Rust implementation of the Apple HomeKit Accessory Protocol (HAP)
Apache License 2.0
197 stars 35 forks source link

Codegen Completion #51

Closed ewilken closed 3 years ago

ewilken commented 3 years ago

Extensive definitions of HomeKit categories, services and characteristics can be found in the /System/Library/PrivateFrameworks/HomeKitDaemon.framework/Resources/plain-metadata.config file on macOS. This PR changes the codegen crate to generate definitions from that file instead and closes #49.

It also generates all optional characteristics on services as Some by default and closes #43.

Also in the scope of this PR is testing all auto-generated accessories and examples (that don't require video streams or AirPlay 2, which are both not implemented yet in the scope of this crate), remove the not working ones from the auto-generation and manually generate them correctly instead.

Working Accessories