Skip to content

Commit 24bad71

Browse files
committed
Accept 0/1 values for BooleanCharacteristic
Some client implementations appear to send a 0 or 1 for a boolean value instead of a JSON true/false. Fixes #3.
1 parent 0981b01 commit 24bad71

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

src/main/java/com/beowulfe/hap/characteristics/BooleanCharacteristic.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package com.beowulfe.hap.characteristics;
22

3+
import javax.json.JsonNumber;
34
import javax.json.JsonValue;
5+
import javax.json.JsonValue.ValueType;
46

57
/**
68
* Characteristic that exposes a Boolean value.
@@ -32,6 +34,9 @@ public BooleanCharacteristic(String type, boolean isWritable, boolean isReadable
3234
*/
3335
@Override
3436
protected Boolean convert(JsonValue jsonValue) {
37+
if (jsonValue.getValueType().equals(ValueType.NUMBER)) {
38+
return ((JsonNumber) jsonValue).intValue() > 0;
39+
}
3540
return jsonValue.equals(JsonValue.TRUE);
3641
}
3742

0 commit comments

Comments
 (0)