Improved toString and added trigger on change option

This commit is contained in:
Ziver Koc 2017-03-13 18:08:07 +01:00
parent b5024a063d
commit fddaa34c30

View file

@ -27,6 +27,8 @@ public class EventTrigger implements HalTrigger,
@Configurator.Configurable("Event Device ID")
private int eventId = -1;
@Configurator.Configurable("Trigger only on change")
private boolean triggerOnChange = true;
@Configurator.Configurable("Data to compare to")
private double expectedData;
@ -58,6 +60,7 @@ public class EventTrigger implements HalTrigger,
public void receivedReport(Event device) {
receivedData = device.getDeviceData();
// Instant trigger evaluation
if (triggerOnChange)
TriggerManager.getInstance().evaluateAndExecute();
}
@ -71,6 +74,7 @@ public class EventTrigger implements HalTrigger,
@Override
public void reset() {
if (triggerOnChange) // only reset if we want to trigger on change
receivedData = null;
}
@ -78,7 +82,9 @@ public class EventTrigger implements HalTrigger,
@Override
public String toString(){
Event event = getEvent(eventId);
return (event != null ? event.getName() : null) + " == "+ expectedData;
return "Trigger " + (triggerOnChange ? "on" : "when") +
" event: "+eventId+" ("+(event != null ? event.getName() : null) + ")" +
" == "+ expectedData;
}
}