Skip to content

Commit 7fcc492

Browse files
author
Eugen Freiter
committed
fix typos. add support for custom min/max values for threshold temperatures
Signed-off-by: Eugen Freiter <[email protected]>
1 parent 1372385 commit 7fcc492

File tree

7 files changed

+114
-20
lines changed

7 files changed

+114
-20
lines changed

src/main/java/io/github/hapjava/accessories/optionalcharacteristic/AccessoryWithCoolingThresholdTemperature.java

+30
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,36 @@ public interface AccessoryWithCoolingThresholdTemperature {
2121
*/
2222
void setCoolingThresholdTemperature(Double value) throws Exception;
2323

24+
/**
25+
* return the min value for cooling threshold temperature. overwrite if you want to change the
26+
* default value.
27+
*
28+
* @return min threshold temperature
29+
*/
30+
default double getMinCoolingThresholdTemperature() {
31+
return 10;
32+
}
33+
34+
/**
35+
* return the max value for cooling threshold temperature. overwrite if you want to change the
36+
* default value.
37+
*
38+
* @return max threshold temperature
39+
*/
40+
default double getMaxCoolingThresholdTemperature() {
41+
return 35;
42+
}
43+
44+
/**
45+
* return the min step value for cooling threshold temperature. overwrite if you want to change
46+
* the default value.
47+
*
48+
* @return step for threshold temperature
49+
*/
50+
default double getStepCoolingThresholdTemperature() {
51+
return 0.1;
52+
}
53+
2454
/**
2555
* Subscribes to changes in the cooling threshold.
2656
*
+31-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import io.github.hapjava.characteristics.HomekitCharacteristicChangeCallback;
44
import java.util.concurrent.CompletableFuture;
55

6-
public interface AccessoryWithHeatingThresholdTemprature {
6+
public interface AccessoryWithHeatingThresholdTemperature {
77

88
/**
99
* Retrieves the temperature below which the thermostat should begin heating.
@@ -20,6 +20,36 @@ public interface AccessoryWithHeatingThresholdTemprature {
2020
*/
2121
void setHeatingThresholdTemperature(Double value) throws Exception;
2222

23+
/**
24+
* return the min value for heating threshold temperature. overwrite if you want to change the
25+
* default value.
26+
*
27+
* @return min threshold temperature
28+
*/
29+
default double getMinHeatingThresholdTemperature() {
30+
return 0;
31+
}
32+
33+
/**
34+
* return the max value for heating threshold temperature. overwrite if you want to change the
35+
* default value.
36+
*
37+
* @return max threshold temperature
38+
*/
39+
default double getMaxHeatingThresholdTemperature() {
40+
return 25;
41+
}
42+
43+
/**
44+
* return the min step value for heating threshold temperature. overwrite if you want to change
45+
* the default value.
46+
*
47+
* @return step for threshold temperature
48+
*/
49+
default double getStepHeatingThresholdTemperature() {
50+
return 0.1;
51+
}
52+
2353
/**
2454
* Subscribes to changes in the heating threshold.
2555
*

src/main/java/io/github/hapjava/characteristics/impl/thermostat/CoolingThresholdTemperatureCharacteristic.java

+14-3
Original file line numberDiff line numberDiff line change
@@ -14,20 +14,31 @@
1414
public class CoolingThresholdTemperatureCharacteristic extends FloatCharacteristic {
1515

1616
public CoolingThresholdTemperatureCharacteristic(
17+
double minValue,
18+
double maxValue,
19+
double step,
1720
Supplier<CompletableFuture<Double>> getter,
1821
ExceptionalConsumer<Double> setter,
1922
Consumer<HomekitCharacteristicChangeCallback> subscriber,
2023
Runnable unsubscriber) {
2124
super(
2225
"0000000D-0000-1000-8000-0026BB765291",
2326
"cooling threshold",
24-
10,
25-
35,
26-
0.1,
27+
minValue,
28+
maxValue,
29+
step,
2730
"C",
2831
Optional.of(getter),
2932
Optional.of(setter),
3033
Optional.of(subscriber),
3134
Optional.of(unsubscriber));
3235
}
36+
37+
public CoolingThresholdTemperatureCharacteristic(
38+
Supplier<CompletableFuture<Double>> getter,
39+
ExceptionalConsumer<Double> setter,
40+
Consumer<HomekitCharacteristicChangeCallback> subscriber,
41+
Runnable unsubscriber) {
42+
this(10, 35, 0.1, getter, setter, subscriber, unsubscriber);
43+
}
3344
}

src/main/java/io/github/hapjava/characteristics/impl/thermostat/HeatingThresholdTemperatureCharacteristic.java

+14-3
Original file line numberDiff line numberDiff line change
@@ -12,20 +12,31 @@
1212
public class HeatingThresholdTemperatureCharacteristic extends FloatCharacteristic {
1313

1414
public HeatingThresholdTemperatureCharacteristic(
15+
double minValue,
16+
double maxValue,
17+
double step,
1518
Supplier<CompletableFuture<Double>> getter,
1619
ExceptionalConsumer<Double> setter,
1720
Consumer<HomekitCharacteristicChangeCallback> subscriber,
1821
Runnable unsubscriber) {
1922
super(
2023
"00000012-0000-1000-8000-0026BB765291",
2124
"heating threshold",
22-
0,
23-
25,
24-
0.1,
25+
minValue,
26+
maxValue,
27+
step,
2528
"C",
2629
Optional.of(getter),
2730
Optional.of(setter),
2831
Optional.of(subscriber),
2932
Optional.of(unsubscriber));
3033
}
34+
35+
public HeatingThresholdTemperatureCharacteristic(
36+
Supplier<CompletableFuture<Double>> getter,
37+
ExceptionalConsumer<Double> setter,
38+
Consumer<HomekitCharacteristicChangeCallback> subscriber,
39+
Runnable unsubscriber) {
40+
this(0, 25, 0.1, getter, setter, subscriber, unsubscriber);
41+
}
3142
}

src/main/java/io/github/hapjava/server/impl/connections/HttpSession.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ private HttpResponse handlePairVerify(HttpRequest request) {
126126
try {
127127
return pairVerificationManager.handle(request);
128128
} catch (Exception e) {
129-
logger.warn("Excepton encountered while verifying pairing", e);
129+
logger.warn("Exception encountered while verifying pairing", e);
130130
return new InternalServerErrorResponse(e);
131131
}
132132
}

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

+18-6
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import io.github.hapjava.accessories.HeaterCoolerAccessory;
44
import io.github.hapjava.accessories.optionalcharacteristic.AccessoryWithCoolingThresholdTemperature;
5-
import io.github.hapjava.accessories.optionalcharacteristic.AccessoryWithHeatingThresholdTemprature;
5+
import io.github.hapjava.accessories.optionalcharacteristic.AccessoryWithHeatingThresholdTemperature;
66
import io.github.hapjava.accessories.optionalcharacteristic.AccessoryWithName;
77
import io.github.hapjava.accessories.optionalcharacteristic.AccessoryWithPhysicalControlsLock;
88
import io.github.hapjava.accessories.optionalcharacteristic.AccessoryWithRotationSpeed;
@@ -85,20 +85,32 @@ public HeaterCoolerService(HeaterCoolerAccessory accessory) {
8585
}
8686
if (accessory instanceof AccessoryWithCoolingThresholdTemperature) {
8787
new CoolingThresholdTemperatureCharacteristic(
88+
((AccessoryWithCoolingThresholdTemperature) accessory)
89+
.getMinCoolingThresholdTemperature(),
90+
((AccessoryWithCoolingThresholdTemperature) accessory)
91+
.getMaxCoolingThresholdTemperature(),
92+
((AccessoryWithCoolingThresholdTemperature) accessory)
93+
.getStepCoolingThresholdTemperature(),
8894
((AccessoryWithCoolingThresholdTemperature) accessory)::getCoolingThresholdTemperature,
8995
((AccessoryWithCoolingThresholdTemperature) accessory)::setCoolingThresholdTemperature,
9096
((AccessoryWithCoolingThresholdTemperature) accessory)
9197
::subscribeCoolingThresholdTemperature,
9298
((AccessoryWithCoolingThresholdTemperature) accessory)
9399
::unsubscribeCoolingThresholdTemperature);
94100
}
95-
if (accessory instanceof AccessoryWithHeatingThresholdTemprature) {
101+
if (accessory instanceof AccessoryWithHeatingThresholdTemperature) {
96102
new HeatingThresholdTemperatureCharacteristic(
97-
((AccessoryWithHeatingThresholdTemprature) accessory)::getHeatingThresholdTemperature,
98-
((AccessoryWithHeatingThresholdTemprature) accessory)::setHeatingThresholdTemperature,
99-
((AccessoryWithHeatingThresholdTemprature) accessory)
103+
((AccessoryWithHeatingThresholdTemperature) accessory)
104+
.getMinHeatingThresholdTemperature(),
105+
((AccessoryWithHeatingThresholdTemperature) accessory)
106+
.getMaxHeatingThresholdTemperature(),
107+
((AccessoryWithHeatingThresholdTemperature) accessory)
108+
.getStepHeatingThresholdTemperature(),
109+
((AccessoryWithHeatingThresholdTemperature) accessory)::getHeatingThresholdTemperature,
110+
((AccessoryWithHeatingThresholdTemperature) accessory)::setHeatingThresholdTemperature,
111+
((AccessoryWithHeatingThresholdTemperature) accessory)
100112
::subscribeHeatingThresholdTemperature,
101-
((AccessoryWithHeatingThresholdTemprature) accessory)
113+
((AccessoryWithHeatingThresholdTemperature) accessory)
102114
::unsubscribeHeatingThresholdTemperature);
103115
}
104116
if (accessory instanceof AccessoryWithTemperatureDisplayUnits) {

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

+6-6
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import io.github.hapjava.accessories.ThermostatAccessory;
44
import io.github.hapjava.accessories.optionalcharacteristic.AccessoryWithCoolingThresholdTemperature;
55
import io.github.hapjava.accessories.optionalcharacteristic.AccessoryWithCurrentRelativeHumidity;
6-
import io.github.hapjava.accessories.optionalcharacteristic.AccessoryWithHeatingThresholdTemprature;
6+
import io.github.hapjava.accessories.optionalcharacteristic.AccessoryWithHeatingThresholdTemperature;
77
import io.github.hapjava.accessories.optionalcharacteristic.AccessoryWithName;
88
import io.github.hapjava.accessories.optionalcharacteristic.AccessoryWithTargetRelativeHumidity;
99
import io.github.hapjava.characteristics.impl.common.NameCharacteristic;
@@ -77,13 +77,13 @@ public ThermostatService(ThermostatAccessory accessory) {
7777
((AccessoryWithCoolingThresholdTemperature) accessory)
7878
::unsubscribeCoolingThresholdTemperature);
7979
}
80-
if (accessory instanceof AccessoryWithHeatingThresholdTemprature) {
80+
if (accessory instanceof AccessoryWithHeatingThresholdTemperature) {
8181
new HeatingThresholdTemperatureCharacteristic(
82-
((AccessoryWithHeatingThresholdTemprature) accessory)::getHeatingThresholdTemperature,
83-
((AccessoryWithHeatingThresholdTemprature) accessory)::setHeatingThresholdTemperature,
84-
((AccessoryWithHeatingThresholdTemprature) accessory)
82+
((AccessoryWithHeatingThresholdTemperature) accessory)::getHeatingThresholdTemperature,
83+
((AccessoryWithHeatingThresholdTemperature) accessory)::setHeatingThresholdTemperature,
84+
((AccessoryWithHeatingThresholdTemperature) accessory)
8585
::subscribeHeatingThresholdTemperature,
86-
((AccessoryWithHeatingThresholdTemprature) accessory)
86+
((AccessoryWithHeatingThresholdTemperature) accessory)
8787
::unsubscribeHeatingThresholdTemperature);
8888
}
8989
if (accessory instanceof AccessoryWithCurrentRelativeHumidity) {

0 commit comments

Comments
 (0)