49 lines
2.0 KiB
Plaintext
49 lines
2.0 KiB
Plaintext
import java.util.HashMap;
|
|
import java.util.Map;
|
|
import eu.hsrw.ias.ggd.SensorData
|
|
import javax.swing.JOptionPane
|
|
import HttpCall.HttpPost
|
|
import eu.hsrw.ias.ggd.Notification
|
|
import eu.hsrw.ias.ggd.Severity;
|
|
import eu.hsrw.ias.ggd.Device;
|
|
|
|
|
|
rule "CriticalBattery"
|
|
when
|
|
device: Device(sensorDatas: sensorData)
|
|
sensorData: SensorData(tag == "battery", value < 4.0) from sensorDatas
|
|
|
|
then
|
|
|
|
String greenhouse1="8bdbe6ae-eafb-4e99-bb01-db8784dd9633";
|
|
String greenhouse2="e5ec9f15-f214-455d-9f02-3c134c770dc1";//Nica
|
|
HttpPost httpPost = new HttpPost();
|
|
final String criticalBatteryOutput = String.format("{\"id\":\"%s\",\"data\":{\"measured\":[{ \"status\": \"Critical Battery %s in the following sensor %s \", \"battery\": %s}]}}",greenhouse2, sensorData.getValue(),sensorData.getTag(),sensorData.getValue());
|
|
httpPost.HttpCallPost("http://connector.dev.whysor.com/default/insert?access_token=3hosOhAeh4k0XmcuAMQGfYldvTuQDvtAj2PJJ4irKPBefD5Ijij6gnUkLtVLd4fW",criticalBatteryOutput);
|
|
insert(new Notification("battery", sensorData, Severity.Critical));
|
|
|
|
// modify(sensorData){
|
|
// setState(Severity.Critical)
|
|
// }
|
|
|
|
end
|
|
|
|
rule "OptimalBattery"
|
|
when
|
|
device: Device(sensorDatas: sensorData)
|
|
sensorData: SensorData(tag == "battery", value > 4.0) from sensorDatas
|
|
|
|
then
|
|
|
|
String greenhouse1="8bdbe6ae-eafb-4e99-bb01-db8784dd9633";
|
|
HttpPost httpPost = new HttpPost();
|
|
final String optimalBatteryOutput = String.format("{\"id\":\"%s\",\"data\":{\"measured\":[{ \"status\": \"Optimal Battery %s in the following sensor %s \", \"battery\": %s}]}}",greenhouse1, sensorData.getValue(),sensorData.getTag(),sensorData.getValue());
|
|
httpPost.HttpCallPost("http://connector.dev.whysor.com/default/insert?access_token=3hosOhAeh4k0XmcuAMQGfYldvTuQDvtAj2PJJ4irKPBefD5Ijij6gnUkLtVLd4fW",optimalBatteryOutput);
|
|
insert(new Notification("battery", sensorData, Severity.Optimal));
|
|
|
|
// modify(sensorData){
|
|
// setState(Severity.Optimal)
|
|
// }
|
|
|
|
end
|