- 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
accessorypackage include basis accessory as the listed in HAP spec, plus interfaces for optional characteristics. clients should extend the accessory classes. e.g.WindowCoveringAccessoryorAccessoryWithBrightnesscharacteristicspackage consists of all characteristics, optional and mandatory. e.g.TargetHorizontalTiltAngleCharacteristic. The naming is done in accordance to HAP spec.servicespackage consists of services, which grouping characteristics. e.g.WindowCoveringServicedefines mandatory and optional characteristics for a window covering service as it is defined in HAP spec.serverpackage consists classes to run HomeKit server and handle communication
- the process is following: client, e.g. openHAB bindings, extends accessory classes, e.g.
WindowCoveringAccessoryand 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.
nullvalues are now allowed, since Homekit allows them.SecuritySystemAlarmTypeandTargetSecuritySystemStatenow 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
HoldPositionCharacteristicdid terrible things, and we're still not sure why. Addressed #56 - Air Purifier didn't support rotation speed characteristics. #124