- Log accessory names instead of futures. #150
- Fix rotation speed data type (BREAKING API CHANGE). According to HAP specification it must be float
- major refactoring to support optional characteristics
- structure and names adapted to HAP spec structure and naming.
- structure is following
accessory
package include basis accessory as the listed in HAP spec, plus interfaces for optional characteristics. clients should extend the accessory classes. e.g.WindowCoveringAccessory
orAccessoryWithBrightness
characteristics
package consists of all characteristics, optional and mandatory. e.g.TargetHorizontalTiltAngleCharacteristic
. The naming is done in accordance to HAP spec.services
package consists of services, which grouping characteristics. e.g.WindowCoveringService
defines mandatory and optional characteristics for a window covering service as it is defined in HAP spec.server
package consists classes to run HomeKit server and handle communication
- the process is following: client, e.g. openHAB bindings, extends accessory classes, e.g.
WindowCoveringAccessory
and implements all required methods. WindowCoveringAccessory is linked already to WindowCoveringService, that in turn is link to single characteristics. - linked service support
- Valid values are supported for enum characteristics instead of min and max values
- Supported valid states for Thermostat, SecuritySystem, HeaterCooler and HumidifierDehumidifier [#108] #120
- Support for FilterMaintenance. Can be used as a linked service for an Air Purifier #124
- Fix for re-advertising service when using alternative jMDNS implementations.
null
values are now allowed, since Homekit allows them.SecuritySystemAlarmType
andTargetSecuritySystemState
now match the Homekit documentation #44 #45- Null pointer exception no longer thrown if a characteristic is not implemented #32
- Fixed incorrect support for BatteryLevel in battery-powered accessories. Appropriate characteristic is battery status. #50
- Clear all connections in SessionManager during HomekitRoot.stop() #54
- Fix issue in which communications would drop when encrypted frames didn't line up with network frames #64
- Fix various spec violations and optimize communications to improve performance #65
- Fix a pairing issue in which HAP-Java could listen on a different interface than that which it advertises #67
- Allow window covering to be used without optional characteristics. The inclusion of
HoldPositionCharacteristic
did terrible things, and we're still not sure why. Addressed #56 - Air Purifier didn't support rotation speed characteristics. #124