Skip to content

Commit ec8e7cd

Browse files
authored
Merge pull request #120 from gjvanderheiden/master
add support for valid values for (de)Humidifier target state
2 parents 031450c + 32c5159 commit ec8e7cd

File tree

4 files changed

+14
-2
lines changed

4 files changed

+14
-2
lines changed

CHANGES.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
## New and improved
1212

1313
* Valid values are supported for enum characteristics instead of min and max values
14-
* Supported valid states for Thermostat, SecuritySystem and HeaterCooler [#108]
14+
* Supported valid states for Thermostat, SecuritySystem, HeaterCooler and HumidifierDehumidifier [#108] [#120](https://github.com/hap-java/HAP-Java/pull/120)
1515

1616
# HAP-Java 1.1.5
1717

src/main/java/io/github/hapjava/accessories/HumidifierDehumidifierAccessory.java

+10
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,16 @@ public interface HumidifierDehumidifierAccessory extends HomekitAccessory {
5757
CompletableFuture<Void> setTargetHumidifierDehumidifierState(
5858
TargetHumidifierDehumidifierStateEnum state);
5959

60+
/**
61+
* Valid values for target state.
62+
*
63+
* @return array of valid target states.
64+
*/
65+
default TargetHumidifierDehumidifierStateEnum[]
66+
getTargetHumidifierDehumidifierStateValidValues() {
67+
return TargetHumidifierDehumidifierStateEnum.values();
68+
}
69+
6070
/**
6171
* Subscribes to changes in the humidifier/dehumidifier current state.
6272
*

src/main/java/io/github/hapjava/characteristics/impl/humidifier/TargetHumidifierDehumidifierStateCharacteristic.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,15 @@ public class TargetHumidifierDehumidifierStateCharacteristic
1515
implements EventableCharacteristic {
1616

1717
public TargetHumidifierDehumidifierStateCharacteristic(
18+
TargetHumidifierDehumidifierStateEnum[] validValues,
1819
Supplier<CompletableFuture<TargetHumidifierDehumidifierStateEnum>> getter,
1920
ExceptionalConsumer<TargetHumidifierDehumidifierStateEnum> setter,
2021
Consumer<HomekitCharacteristicChangeCallback> subscriber,
2122
Runnable unsubscriber) {
2223
super(
2324
"000000B4-0000-1000-8000-0026BB765291",
2425
"target humidifier state",
25-
TargetHumidifierDehumidifierStateEnum.values(),
26+
validValues,
2627
Optional.of(getter),
2728
Optional.of(setter),
2829
Optional.of(subscriber),

src/main/java/io/github/hapjava/services/impl/HumidifierDehumidifierService.java

+1
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ public HumidifierDehumidifierService(HumidifierDehumidifierAccessory accessory)
5454
accessory::subscribeCurrentHumidifierDehumidifierState,
5555
accessory::unsubscribeCurrentHumidifierDehumidifierState),
5656
new TargetHumidifierDehumidifierStateCharacteristic(
57+
accessory.getTargetHumidifierDehumidifierStateValidValues(),
5758
accessory::getTargetHumidifierDehumidifierState,
5859
accessory::setTargetHumidifierDehumidifierState,
5960
accessory::subscribeTargetHumidifierDehumidifierState,

0 commit comments

Comments
 (0)