diff --git a/pom.xml b/pom.xml
index d642db8..baa1206 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
com.bwssystems.HABridge
ha-bridge
- 5.2.1c
+ 5.2.1d
jar
HA Bridge
diff --git a/src/main/java/com/bwssystems/HABridge/dao/DeviceDescriptor.java b/src/main/java/com/bwssystems/HABridge/dao/DeviceDescriptor.java
index 7d81c8f..cef95c6 100644
--- a/src/main/java/com/bwssystems/HABridge/dao/DeviceDescriptor.java
+++ b/src/main/java/com/bwssystems/HABridge/dao/DeviceDescriptor.java
@@ -83,6 +83,9 @@ public class DeviceDescriptor{
@SerializedName("onFirstDim")
@Expose
private boolean onFirstDim;
+ @SerializedName("onWhenDimPresent")
+ @Expose
+ private boolean onWhenDimPresent;
public String getName() {
return name;
@@ -286,6 +289,14 @@ public class DeviceDescriptor{
this.onFirstDim = onFirstDim;
}
+ public boolean isOnWhenDimPresent() {
+ return onWhenDimPresent;
+ }
+
+ public void setOnWhenDimPresent(boolean onWhenDimPresent) {
+ this.onWhenDimPresent = onWhenDimPresent;
+ }
+
public boolean containsType(String aType) {
if(aType == null)
return false;
diff --git a/src/main/java/com/bwssystems/HABridge/hue/HueMulator.java b/src/main/java/com/bwssystems/HABridge/hue/HueMulator.java
index 4034578..7b6725b 100644
--- a/src/main/java/com/bwssystems/HABridge/hue/HueMulator.java
+++ b/src/main/java/com/bwssystems/HABridge/hue/HueMulator.java
@@ -1186,13 +1186,22 @@ public class HueMulator {
isOnRequest = true;
}
+ if(!device.isOnFirstDim() && device.isOnWhenDimPresent() && isDimRequest) {
+ isOnRequest = true;
+ theStateChanges.setOn(true);
+ } else if(!device.isOnFirstDim() && !device.isOnWhenDimPresent() && isDimRequest) {
+ isOnRequest = false;
+ }
+
if(device.isOnFirstDim() && isDimRequest && !device.getDeviceState().isOn()) {
isOnRequest = true;
+ theStateChanges.setOn(true);
isDimRequest = false;
isColorRequest = false;
} else if(device.isOnFirstDim() && isDimRequest && device.getDeviceState().isOn()) {
if(device.getDeviceState().getBri() == theStateChanges.getBri()) {
isOnRequest = true;
+ theStateChanges.setOn(true);
isDimRequest = false;
isColorRequest = false;
} else {
diff --git a/src/main/resources/public/views/editdevice.html b/src/main/resources/public/views/editdevice.html
index 8984ae0..37c715c 100644
--- a/src/main/resources/public/views/editdevice.html
+++ b/src/main/resources/public/views/editdevice.html
@@ -94,6 +94,12 @@
ng-model="device.offState" ng-true-value=true
ng-false-value=false> {{device.offState}}
+
+ |
+ {{device.onWhenDimPresent}} |
+
|
|