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