API Reference HAP v0.1.0
Modules
Provides a high-level interface to an implementation of the HomeKit Accessory Protocol, allowing an application to present any number of services & characteristics of those services to an iOS HomeKit controller
Represents a single accessory object, containing a number of services
Represents a top-level HAP instance configuration
Holds the top-level state of a HAP accessory server
Represents a single characteristic optionally backed by an instance of ValueStore
Factory for the public.hap.characteristic.firmware.revision
characteristic
Factory for the public.hap.characteristic.identify
characteristic
Factory for the public.hap.characteristic.manufacturer
characteristic
Factory for the public.hap.characteristic.model
characteristic
Factory for the public.hap.characteristic.name
characteristic
Factory for the public.hap.characteristic.on
characteristic
Factory for the public.hap.characteristic.serial-number
characteristic
Factory for the public.hap.characteristic.version
characteristic
Defines the HTTP interface for a HomeKit Accessory which may only be accseed over a non-encrpyted channel
A simple console based implementation of the HAP.Display behaviour
Functions to encrypt/tag and decrypt/verify using the chacha20_poly1305 cipher
Functions to work with Elliptic Curve Diffie-Hellman shared secret generation
Functions to generate keys, sign & verify messages using Elliptic Curve Signatures
Functions to help with key derivation
Simple wrapper around Erlang's :crypto.hash()
function
Implements the various steps within the Stanford Remote Password (version 6a) flow
Provides functions to define & update a HAP.Accessory
advertisement via multicast DNS according to Section 6 of
Apple's HomeKit Accessory Protocol Specification.
Centralized functions for non-logging related display functionality. Applications
which use HAP may provide their own implementation of this behaviour as an argument
to HAP.build_accessory_server/1
. If no such implementation is provided HAP uses
a default console based implementation found at HAP.ConsoleDisplay
Defines the HTTP interface for a HomeKit Accessory which may only be accessed over a secure channel
Implements cleartext TCP transport with optional chacha20_poly1305 encryption as mandated by section 6.5.2 of the HomeKit Accessory Protocol specification
Defines the HTTP interface for a HomeKit Accessory
Functions to map IIDs to/from service and characteristic indexes.
Implements the Pair Setup flow described in Apple's HomeKit Accessory Protocol Specification.
Implements the Pair Verify flow described in Apple's HomeKit Accessory Protocol Specification.
Implements the Add / Remove / List Pairings flows described in Apple's HomeKit Accessory Protocol Specification.
Encapsulates a simple persistent key-value store
Represents a single service, containing a number of characteristics
Factory for the public.hap.service.accessory-information
service
Factory for the public.hap.service.lightbulb
service
Factory for the public.hap.service.protocol.information.service
service
Provides functions to encode a map or keyword list into a TLV binary as described in Apple's HomeKit Accessory Protocol Specification.
A Plug.Parsers
compliant parser for TLV payloads as described in the Appendix of
Apple's HomeKit Accessory Protocol Specification.
Defines the behaviour required of a module that wishes to act as the backing data store for a given HomeKit characteristic