Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# HAP-Java 2.0.10
* Add constructors with a custom list of valid values to the remaining enum characteristics (except two-value sensor and status flags) [#163](https://github.com/hap-java/HAP-Java/issues/163)

# HAP-Java 2.0.9
* Fix Set Duration and Remaining Duration characteristics to advertise format `uint32` instead of `int` [#202](https://github.com/hap-java/HAP-Java/issues/202)
* Stop logging the SRP shared secret, derived key and M5 message data during pairing at DEBUG level
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,18 @@ public CurrentAirPurifierCharacteristic(
Supplier<CompletableFuture<CurrentAirPurifierStateEnum>> getter,
Consumer<HomekitCharacteristicChangeCallback> subscriber,
Runnable unsubscriber) {
this(CurrentAirPurifierStateEnum.values(), getter, subscriber, unsubscriber);
}

public CurrentAirPurifierCharacteristic(
CurrentAirPurifierStateEnum[] validValues,
Supplier<CompletableFuture<CurrentAirPurifierStateEnum>> getter,
Consumer<HomekitCharacteristicChangeCallback> subscriber,
Runnable unsubscriber) {
super(
"000000A9-0000-1000-8000-0026BB765291",
"current air purifier state",
CurrentAirPurifierStateEnum.values(),
validValues,
Optional.of(getter),
Optional.empty(),
Optional.of(subscriber),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,19 @@ public TargetAirPurifierStateCharacteristic(
ExceptionalConsumer<TargetAirPurifierStateEnum> setter,
Consumer<HomekitCharacteristicChangeCallback> subscriber,
Runnable unsubscriber) {
this(TargetAirPurifierStateEnum.values(), getter, setter, subscriber, unsubscriber);
}

public TargetAirPurifierStateCharacteristic(
TargetAirPurifierStateEnum[] validValues,
Supplier<CompletableFuture<TargetAirPurifierStateEnum>> getter,
ExceptionalConsumer<TargetAirPurifierStateEnum> setter,
Consumer<HomekitCharacteristicChangeCallback> subscriber,
Runnable unsubscriber) {
super(
"000000A8-0000-1000-8000-0026BB765291",
"Air purifier state",
TargetAirPurifierStateEnum.values(),
validValues,
Optional.of(getter),
Optional.of(setter),
Optional.of(subscriber),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,18 @@ public AirQualityCharacteristic(
Supplier<CompletableFuture<AirQualityEnum>> getter,
Consumer<HomekitCharacteristicChangeCallback> subscriber,
Runnable unsubscriber) {
this(AirQualityEnum.values(), getter, subscriber, unsubscriber);
}

public AirQualityCharacteristic(
AirQualityEnum[] validValues,
Supplier<CompletableFuture<AirQualityEnum>> getter,
Consumer<HomekitCharacteristicChangeCallback> subscriber,
Runnable unsubscriber) {
super(
"00000095-0000-1000-8000-0026BB765291",
"air quality",
AirQualityEnum.values(),
validValues,
Optional.of(getter),
Optional.empty(),
Optional.of(subscriber),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,18 @@ public ChargingStateCharacteristic(
Supplier<CompletableFuture<ChargingStateEnum>> getter,
Consumer<HomekitCharacteristicChangeCallback> subscriber,
Runnable unsubscriber) {
this(ChargingStateEnum.values(), getter, subscriber, unsubscriber);
}

public ChargingStateCharacteristic(
ChargingStateEnum[] validValues,
Supplier<CompletableFuture<ChargingStateEnum>> getter,
Consumer<HomekitCharacteristicChangeCallback> subscriber,
Runnable unsubscriber) {
super(
"0000008F-0000-1000-8000-0026BB765291",
"Charging state",
ChargingStateEnum.values(),
validValues,
Optional.of(getter),
Optional.empty(),
Optional.of(subscriber),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,19 @@ public ActiveCharacteristic(
ExceptionalConsumer<ActiveEnum> setter,
Consumer<HomekitCharacteristicChangeCallback> subscriber,
Runnable unsubscriber) {
this(ActiveEnum.values(), getter, setter, subscriber, unsubscriber);
}

public ActiveCharacteristic(
ActiveEnum[] validValues,
Supplier<CompletableFuture<ActiveEnum>> getter,
ExceptionalConsumer<ActiveEnum> setter,
Consumer<HomekitCharacteristicChangeCallback> subscriber,
Runnable unsubscriber) {
super(
"000000B0-0000-1000-8000-0026BB765291",
"Active",
ActiveEnum.values(),
validValues,
Optional.of(getter),
Optional.of(setter),
Optional.of(subscriber),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,18 @@ public ProgramModeCharacteristic(
Supplier<CompletableFuture<ProgramModeEnum>> getter,
Consumer<HomekitCharacteristicChangeCallback> subscriber,
Runnable unsubscriber) {
this(ProgramModeEnum.values(), getter, subscriber, unsubscriber);
}

public ProgramModeCharacteristic(
ProgramModeEnum[] validValues,
Supplier<CompletableFuture<ProgramModeEnum>> getter,
Consumer<HomekitCharacteristicChangeCallback> subscriber,
Runnable unsubscriber) {
super(
"000000D1-0000-1000-8000-0026BB765291",
"Program Mode",
ProgramModeEnum.values(),
validValues,
Optional.of(getter),
Optional.empty(),
Optional.of(subscriber),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,16 @@ public class ServiceLabelNamespaceCharacteristic
extends EnumCharacteristic<ServiceLabelNamespaceEnum> {
public ServiceLabelNamespaceCharacteristic(
Supplier<CompletableFuture<ServiceLabelNamespaceEnum>> getter) {
this(ServiceLabelNamespaceEnum.values(), getter);
}

public ServiceLabelNamespaceCharacteristic(
ServiceLabelNamespaceEnum[] validValues,
Supplier<CompletableFuture<ServiceLabelNamespaceEnum>> getter) {
super(
"000000CD-0000-1000-8000-0026BB765291",
"service label namespace",
ServiceLabelNamespaceEnum.values(),
validValues,
Optional.of(getter),
Optional.empty(),
Optional.empty(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,18 @@ public CurrentFanStateCharacteristic(
Supplier<CompletableFuture<CurrentFanStateEnum>> getter,
Consumer<HomekitCharacteristicChangeCallback> subscriber,
Runnable unsubscriber) {
this(CurrentFanStateEnum.values(), getter, subscriber, unsubscriber);
}

public CurrentFanStateCharacteristic(
CurrentFanStateEnum[] validValues,
Supplier<CompletableFuture<CurrentFanStateEnum>> getter,
Consumer<HomekitCharacteristicChangeCallback> subscriber,
Runnable unsubscriber) {
super(
"000000AF-0000-1000-8000-0026BB765291",
"Current Fan State",
CurrentFanStateEnum.values(),
validValues,
Optional.of(getter),
Optional.empty(),
Optional.of(subscriber),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,19 @@ public LockPhysicalControlsCharacteristic(
ExceptionalConsumer<LockPhysicalControlsEnum> setter,
Consumer<HomekitCharacteristicChangeCallback> subscriber,
Runnable unsubscriber) {
this(LockPhysicalControlsEnum.values(), getter, setter, subscriber, unsubscriber);
}

public LockPhysicalControlsCharacteristic(
LockPhysicalControlsEnum[] validValues,
Supplier<CompletableFuture<LockPhysicalControlsEnum>> getter,
ExceptionalConsumer<LockPhysicalControlsEnum> setter,
Consumer<HomekitCharacteristicChangeCallback> subscriber,
Runnable unsubscriber) {
super(
"000000A7-0000-1000-8000-0026BB765291",
"Physical Locks",
LockPhysicalControlsEnum.values(),
validValues,
Optional.of(getter),
Optional.of(setter),
Optional.of(subscriber),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,19 @@ public RotationDirectionCharacteristic(
ExceptionalConsumer<RotationDirectionEnum> setter,
Consumer<HomekitCharacteristicChangeCallback> subscriber,
Runnable unsubscriber) {
this(RotationDirectionEnum.values(), getter, setter, subscriber, unsubscriber);
}

public RotationDirectionCharacteristic(
RotationDirectionEnum[] validValues,
Supplier<CompletableFuture<RotationDirectionEnum>> getter,
ExceptionalConsumer<RotationDirectionEnum> setter,
Consumer<HomekitCharacteristicChangeCallback> subscriber,
Runnable unsubscriber) {
super(
"00000028-0000-1000-8000-0026BB765291",
"Rotation direction",
RotationDirectionEnum.values(),
validValues,
Optional.of(getter),
Optional.of(setter),
Optional.of(subscriber),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,19 @@ public SwingModeCharacteristic(
ExceptionalConsumer<SwingModeEnum> setter,
Consumer<HomekitCharacteristicChangeCallback> subscriber,
Runnable unsubscriber) {
this(SwingModeEnum.values(), getter, setter, subscriber, unsubscriber);
}

public SwingModeCharacteristic(
SwingModeEnum[] validValues,
Supplier<CompletableFuture<SwingModeEnum>> getter,
ExceptionalConsumer<SwingModeEnum> setter,
Consumer<HomekitCharacteristicChangeCallback> subscriber,
Runnable unsubscriber) {
super(
"000000B6-0000-1000-8000-0026BB765291",
"Swing Mode",
SwingModeEnum.values(),
validValues,
Optional.of(getter),
Optional.of(setter),
Optional.of(subscriber),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,19 @@ public TargetFanStateCharacteristic(
ExceptionalConsumer<TargetFanStateEnum> setter,
Consumer<HomekitCharacteristicChangeCallback> subscriber,
Runnable unsubscriber) {
this(TargetFanStateEnum.values(), getter, setter, subscriber, unsubscriber);
}

public TargetFanStateCharacteristic(
TargetFanStateEnum[] validValues,
Supplier<CompletableFuture<TargetFanStateEnum>> getter,
ExceptionalConsumer<TargetFanStateEnum> setter,
Consumer<HomekitCharacteristicChangeCallback> subscriber,
Runnable unsubscriber) {
super(
"000000BF-0000-1000-8000-0026BB765291",
"Target Fan State",
TargetFanStateEnum.values(),
validValues,
Optional.of(getter),
Optional.of(setter),
Optional.of(subscriber),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,18 @@ public CurrentDoorStateCharacteristic(
Supplier<CompletableFuture<CurrentDoorStateEnum>> getter,
Consumer<HomekitCharacteristicChangeCallback> subscriber,
Runnable unsubscriber) {
this(CurrentDoorStateEnum.values(), getter, subscriber, unsubscriber);
}

public CurrentDoorStateCharacteristic(
CurrentDoorStateEnum[] validValues,
Supplier<CompletableFuture<CurrentDoorStateEnum>> getter,
Consumer<HomekitCharacteristicChangeCallback> subscriber,
Runnable unsubscriber) {
super(
"0000000E-0000-1000-8000-0026BB765291",
"Current Door State",
CurrentDoorStateEnum.values(),
validValues,
Optional.of(getter),
Optional.empty(),
Optional.of(subscriber),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,19 @@ public TargetDoorStateCharacteristic(
ExceptionalConsumer<TargetDoorStateEnum> setter,
Consumer<HomekitCharacteristicChangeCallback> subscriber,
Runnable unsubscriber) {
this(TargetDoorStateEnum.values(), getter, setter, subscriber, unsubscriber);
}

public TargetDoorStateCharacteristic(
TargetDoorStateEnum[] validValues,
Supplier<CompletableFuture<TargetDoorStateEnum>> getter,
ExceptionalConsumer<TargetDoorStateEnum> setter,
Consumer<HomekitCharacteristicChangeCallback> subscriber,
Runnable unsubscriber) {
super(
"00000032-0000-1000-8000-0026BB765291",
"Target Door State",
TargetDoorStateEnum.values(),
validValues,
Optional.of(getter),
Optional.of(setter),
Optional.of(subscriber),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,18 @@ public CurrentHumidifierDehumidifierStateCharacteristic(
Supplier<CompletableFuture<CurrentHumidifierDehumidifierStateEnum>> getter,
Consumer<HomekitCharacteristicChangeCallback> subscriber,
Runnable unsubscriber) {
this(CurrentHumidifierDehumidifierStateEnum.values(), getter, subscriber, unsubscriber);
}

public CurrentHumidifierDehumidifierStateCharacteristic(
CurrentHumidifierDehumidifierStateEnum[] validValues,
Supplier<CompletableFuture<CurrentHumidifierDehumidifierStateEnum>> getter,
Consumer<HomekitCharacteristicChangeCallback> subscriber,
Runnable unsubscriber) {
super(
"000000B3-0000-1000-8000-0026BB765291",
"current humidifier state",
CurrentHumidifierDehumidifierStateEnum.values(),
validValues,
Optional.of(getter),
Optional.empty(),
Optional.of(subscriber),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,18 @@ public CurrentVisibilityStateCharacteristic(
Supplier<CompletableFuture<CurrentVisibilityStateEnum>> getter,
Consumer<HomekitCharacteristicChangeCallback> subscriber,
Runnable unsubscriber) {
this(CurrentVisibilityStateEnum.values(), getter, subscriber, unsubscriber);
}

public CurrentVisibilityStateCharacteristic(
CurrentVisibilityStateEnum[] validValues,
Supplier<CompletableFuture<CurrentVisibilityStateEnum>> getter,
Consumer<HomekitCharacteristicChangeCallback> subscriber,
Runnable unsubscriber) {
super(
"00000135-0000-1000-8000-0026BB765291",
"current visibility state",
CurrentVisibilityStateEnum.values(),
validValues,
Optional.of(getter),
Optional.empty(),
Optional.of(subscriber),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,18 @@ public InputDeviceTypeCharacteristic(
Supplier<CompletableFuture<InputDeviceTypeEnum>> getter,
Consumer<HomekitCharacteristicChangeCallback> subscriber,
Runnable unsubscriber) {
this(InputDeviceTypeEnum.values(), getter, subscriber, unsubscriber);
}

public InputDeviceTypeCharacteristic(
InputDeviceTypeEnum[] validValues,
Supplier<CompletableFuture<InputDeviceTypeEnum>> getter,
Consumer<HomekitCharacteristicChangeCallback> subscriber,
Runnable unsubscriber) {
super(
"000000DC-0000-1000-8000-0026BB765291",
"input device type",
InputDeviceTypeEnum.values(),
validValues,
Optional.of(getter),
Optional.empty(),
Optional.of(subscriber),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,18 @@ public InputSourceTypeCharacteristic(
Supplier<CompletableFuture<InputSourceTypeEnum>> getter,
Consumer<HomekitCharacteristicChangeCallback> subscriber,
Runnable unsubscriber) {
this(InputSourceTypeEnum.values(), getter, subscriber, unsubscriber);
}

public InputSourceTypeCharacteristic(
InputSourceTypeEnum[] validValues,
Supplier<CompletableFuture<InputSourceTypeEnum>> getter,
Consumer<HomekitCharacteristicChangeCallback> subscriber,
Runnable unsubscriber) {
super(
"000000DB-0000-1000-8000-0026BB765291",
"input source type",
InputSourceTypeEnum.values(),
validValues,
Optional.of(getter),
Optional.empty(),
Optional.of(subscriber),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,19 @@ public TargetVisibilityStateCharacteristic(
ExceptionalConsumer<TargetVisibilityStateEnum> setter,
Consumer<HomekitCharacteristicChangeCallback> subscriber,
Runnable unsubscriber) {
this(TargetVisibilityStateEnum.values(), getter, setter, subscriber, unsubscriber);
}

public TargetVisibilityStateCharacteristic(
TargetVisibilityStateEnum[] validValues,
Supplier<CompletableFuture<TargetVisibilityStateEnum>> getter,
ExceptionalConsumer<TargetVisibilityStateEnum> setter,
Consumer<HomekitCharacteristicChangeCallback> subscriber,
Runnable unsubscriber) {
super(
"00000134-0000-1000-8000-0026BB765291",
"target visibility state",
TargetVisibilityStateEnum.values(),
validValues,
Optional.of(getter),
Optional.of(setter),
Optional.of(subscriber),
Expand Down
Loading
Loading