NEW : First working version of GGD
This commit is contained in:
		| @@ -1,41 +0,0 @@ | ||||
| import java.util.List; | ||||
| import java.util.HashMap; | ||||
| import java.util.Map; | ||||
| import java.util.Iterator; | ||||
| import eu.hsrw.ias.ggd.ScheduledTask | ||||
| import eu.hsrw.ias.ggd.SensorData | ||||
| import javax.swing.JOptionPane | ||||
| import HttpCall.HttpPost | ||||
| import Files.ReadFile | ||||
| import Credentials.UserCredentials; | ||||
|  | ||||
| rule "Low Battery Level" | ||||
|  | ||||
| when | ||||
| // This is like declaring a variable tMap where is Map and contains a key with name battery | ||||
|     $tMap: HashMap( containsKey("battery") == true ) | ||||
| //In this part we are iterating through the entire map | ||||
|     e: Map.Entry(k:key, v:value) from $tMap.entrySet() | ||||
|     // for(e <- $tMap) { | ||||
|     SensorData(level: value ) from v | ||||
|     SensorData(tag: sensorTag) from v | ||||
|     SensorData(id: deviceId) from v | ||||
|  then | ||||
|         HttpPost httpPost = new HttpPost(); | ||||
|         String fixedIdG1="8bdbe6ae-eafb-4e99-bb01-db8784dd9633"; | ||||
|         if (level < 7.2 && k.equals("battery") ) { | ||||
|              JOptionPane.showMessageDialog(null,"Low Battery : "+level+"! Please swap the battery soon of the following sensor:"+tag,"Low Battery Level",JOptionPane.INFORMATION_MESSAGE); | ||||
|              final String data = String.format("{\"id\":\"%s\",\"data\":{\"measured\":[{ \"status\": \"Low Battery %s in the following sensor: %s \", \"battery\": %s}]}}", fixedIdG1,level, tag,level); | ||||
|              httpPost.HttpCallPost("http://connector.dev.whysor.com/default/insert?access_token=3hosOhAeh4k0XmcuAMQGfYldvTuQDvtAj2PJJ4irKPBefD5Ijij6gnUkLtVLd4fW",data); | ||||
|              System.out.println("Low Battery"+level+"in the following sensor"+tag); | ||||
|          } | ||||
| //         else { | ||||
| //             JOptionPane.showMessageDialog(null,"Battery OK : "+level+"! in the following sensor :"+tag,"Battery OK",JOptionPane.INFORMATION_MESSAGE); | ||||
| //             final String data1 = String.format("{\"id\":\"%s\",\"data\":{\"measured\":[{ \"status\": \"Battery OK %s in the following sensor: %s \", \"battery\": %s}]}}", fixedIdG1,level, tag,level); | ||||
| ////             httpPost.HttpCallPost("http://connector.dev.whysor.com/default/insert?access_token=3hosOhAeh4k0XmcuAMQGfYldvTuQDvtAj2PJJ4irKPBefD5Ijij6gnUkLtVLd4fW",data1); | ||||
| //             System.out.println(data1); | ||||
| //         } | ||||
| //        System.out.println($tMap); | ||||
| //        System.out.println(e.getKey() + " " + String.valueOf(level)+" " + tag+" "+id); | ||||
|  | ||||
| end | ||||
| @@ -10,18 +10,18 @@ import eu.hsrw.ias.ggd.Device; | ||||
| 
 | ||||
| rule "Critical Battery" | ||||
|     when | ||||
|         //$t: HashMap( contains(Device(sensorData.contains(SensorData(tag == "battery")) ))) | ||||
|         //device: Device() | ||||
|         device: Device(sensorDatas: sensorData) | ||||
|         sensorData: SensorData(tag == "battery", value < 4.0) from sensorDatas | ||||
| 
 | ||||
|         sensorData: SensorData(tag == "battery", value < 5.0) from sensorDatas | ||||
|         //device: Device(hasTag("battery") == true) from $tMap | ||||
|         // e: Map.Entry(k:key == "battery", v:value) from $tMap.entrySet() | ||||
|         //s: SensorData(tag == "battery") from device.getSensorData() | ||||
|     then | ||||
|         //insertLogical(new Notification("battery", s, Severity.Warning)); | ||||
|         System.out.println(sensorData.getTag()+" "+sensorData.getValue()); | ||||
| 
 | ||||
|         String greenhouse1="8bdbe6ae-eafb-4e99-bb01-db8784dd9633"; | ||||
|         HttpPost httpPost = new HttpPost(); | ||||
|         final String criticalBatteryOutput = String.format("{\"id\":\"%s\",\"data\":{\"measured\":[{ \"status\": \"Critical 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",criticalBatteryOutput); | ||||
|         insert(new Notification("battery", sensorData, Severity.Info)); | ||||
| //        System.out.println(sensorData.getTag()+" "+sensorData.getValue()); | ||||
| //        System.out.println(device); | ||||
| 
 | ||||
|         /*String fixedIdG1="8bdbe6ae-eafb-4e99-bb01-db8784dd9633"; | ||||
|         HttpPost httpPost = new HttpPost(); | ||||
| @@ -94,4 +94,5 @@ rule "Critical Battery" | ||||
|                         System.out.println(finalOutput); | ||||
|         }*/ | ||||
| 
 | ||||
| end | ||||
| end | ||||
| 
 | ||||
							
								
								
									
										20
									
								
								target/classes/rules/CriticalSoilMoisture.drl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								target/classes/rules/CriticalSoilMoisture.drl
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,20 @@ | ||||
| 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 "CriticalSoilMoisture" | ||||
|     when | ||||
|     device: Device(sensorDatas: sensorData) | ||||
|     sensorData: SensorData(tag == "soilMoisture", value < 28.0) from sensorDatas | ||||
|     then | ||||
|                 String greenhouse1="8bdbe6ae-eafb-4e99-bb01-db8784dd9633"; | ||||
|                 HttpPost httpPost = new HttpPost(); | ||||
|                 final String criticalSoilMoistureOutput = String.format("{\"id\":\"%s\",\"data\":{\"measured\":[{ \"status\": \"Critical Soil Moisture %s in the following device %s \", \"soilMoisture\": %s}]}}",greenhouse1, sensorData.getValue(),sensorData.getTag(),sensorData.getValue()); | ||||
|                 httpPost.HttpCallPost("http://connector.dev.whysor.com/default/insert?access_token=3hosOhAeh4k0XmcuAMQGfYldvTuQDvtAj2PJJ4irKPBefD5Ijij6gnUkLtVLd4fW",criticalSoilMoistureOutput); | ||||
|                 insert(new Notification("soilMoisture", sensorData, Severity.Critical)); | ||||
| end | ||||
							
								
								
									
										23
									
								
								target/classes/rules/CriticalTemperature.drl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								target/classes/rules/CriticalTemperature.drl
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,23 @@ | ||||
| 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 "CriticalTemperature" | ||||
|     when | ||||
|         device: Device(sensorDatas: sensorData) | ||||
|         sensorData: SensorData(tag == "temperature", value < 10.0 || value >30.0) from sensorDatas | ||||
|     then | ||||
|             String greenhouse1="8bdbe6ae-eafb-4e99-bb01-db8784dd9633"; | ||||
|             HttpPost httpPost = new HttpPost(); | ||||
|             final String criticalTemperatureOutput = String.format("{\"id\":\"%s\",\"data\":{\"measured\":[{ \"status\": \"Critical Temperature %s in the following device %s \", \"temperature\": %s}]}}",greenhouse1, sensorData.getValue(),sensorData.getTag(),sensorData.getValue()); | ||||
|             httpPost.HttpCallPost("http://connector.dev.whysor.com/default/insert?access_token=3hosOhAeh4k0XmcuAMQGfYldvTuQDvtAj2PJJ4irKPBefD5Ijij6gnUkLtVLd4fW",criticalTemperatureOutput); | ||||
|             final String deviceCritical = String.format("{\"id\":\"%s-status\",\"data\":{\"measured\":[{ \"criticalStatus\": \"The status of %s device  is critical\",}]}}",device.IdMapper(device.getId()),device.getId()); | ||||
|             httpPost.HttpCallPost("http://connector.dev.whysor.com/default/insert?access_token=3hosOhAeh4k0XmcuAMQGfYldvTuQDvtAj2PJJ4irKPBefD5Ijij6gnUkLtVLd4fW",deviceCritical); | ||||
|             System.out.println(deviceCritical); | ||||
|             insert(new Notification("temperature", sensorData, Severity.Critical)); | ||||
|     end | ||||
| @@ -1,33 +1,20 @@ | ||||
| import java.util.List; | ||||
| import java.util.HashMap; | ||||
| import java.util.Map; | ||||
| import java.util.Iterator; | ||||
| import eu.hsrw.ias.ggd.ScheduledTask; | ||||
| import javax.swing.JOptionPane | ||||
| import HttpCall.HttpPost; | ||||
| 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 "DielectricPermittivity" | ||||
|     when | ||||
|      $tMap: HashMap( containsKey("dielectricPermittivity") == true ) | ||||
|          //In this part we are iterating through the entire map | ||||
|              e: Map.Entry(k:key, v:value) from $tMap.entrySet() | ||||
|              // for(e <- $tMap) { | ||||
|              SensorData(level: value ) from v | ||||
|              SensorData(tag: sensorTag) from v | ||||
|              SensorData(id: deviceId) from v | ||||
|     device: Device(sensorDatas: sensorData) | ||||
|     sensorData: SensorData(tag == "dielectricPermittivity", value > 20.0) from sensorDatas | ||||
|     then | ||||
|         String fixedIdG1="8bdbe6ae-eafb-4e99-bb01-db8784dd9633"; | ||||
|         HttpPost httpPost = new HttpPost(); | ||||
|                 if (level > 14.5 && k.equals("dielectricPermittivity") ) { | ||||
|                    JOptionPane.showMessageDialog(null,"High dielectricPermittivity : "+level+" in the following sensor"+tag,"dielectricPermittivity",JOptionPane.INFORMATION_MESSAGE); | ||||
|                    final String data = String.format("{\"id\":\"%s\",\"data\":{\"measured\":[{ \"status\": \"High dielectricPermittivity %s\", \"dielectricPermittivity\": %s}]}}", fixedIdG1, level,level); | ||||
|                    httpPost.HttpCallPost("http://connector.dev.whysor.com/default/insert?access_token=3hosOhAeh4k0XmcuAMQGfYldvTuQDvtAj2PJJ4irKPBefD5Ijij6gnUkLtVLd4fW",data); | ||||
|                    System.out.println("High dielectricPermittivity"+level +" in the following sensor:"+tag); | ||||
|  | ||||
|                 } | ||||
|          System.out.println(k); | ||||
|          System.out.println(level); | ||||
|          System.out.println(tag); | ||||
|          System.out.println(id); | ||||
|             String greenhouse1="8bdbe6ae-eafb-4e99-bb01-db8784dd9633"; | ||||
|             HttpPost httpPost = new HttpPost(); | ||||
|             final String dielectricPermittivityOutput = String.format("{\"id\":\"%s\",\"data\":{\"measured\":[{ \"status\": \"Critical dielectricPermittivity %s in the following sensor %s \", \"dielectricPermittivityOutput\": %s}]}}",greenhouse1, sensorData.getValue(),sensorData.getTag(),sensorData.getValue()); | ||||
|             httpPost.HttpCallPost("http://connector.dev.whysor.com/default/insert?access_token=3hosOhAeh4k0XmcuAMQGfYldvTuQDvtAj2PJJ4irKPBefD5Ijij6gnUkLtVLd4fW",dielectricPermittivityOutput); | ||||
|             insert(new Notification("dielectricPermittivity", sensorData, Severity.Info)); | ||||
| end | ||||
|   | ||||
| @@ -1,7 +0,0 @@ | ||||
| package rules; | ||||
|  | ||||
|  | ||||
| rule "ExternalTemperature" | ||||
|     when | ||||
|     then | ||||
| end | ||||
| @@ -1,33 +0,0 @@ | ||||
| import java.util.List; | ||||
| import java.util.HashMap; | ||||
| import java.util.Map; | ||||
| import java.util.Iterator; | ||||
| import eu.hsrw.ias.ggd.ScheduledTask; | ||||
| import javax.swing.JOptionPane | ||||
| import HttpCall.HttpPost; | ||||
| import eu.hsrw.ias.ggd.SensorData | ||||
|  | ||||
| rule "Precipitation" | ||||
|     when | ||||
|      $tMap: HashMap( containsKey("precipitation") == true ) | ||||
|          //In this part we are iterating through the entire map | ||||
|              e: Map.Entry(k:key, v:value) from $tMap.entrySet() | ||||
|              // for(e <- $tMap) { | ||||
|              SensorData(level: value ) from v | ||||
|              SensorData(tag: sensorTag) from v | ||||
|              SensorData(id: deviceId) from v | ||||
|     then | ||||
|         String fixedIdG1="8bdbe6ae-eafb-4e99-bb01-db8784dd9633"; | ||||
|         HttpPost httpPost = new HttpPost(); | ||||
|                 if (level > 14.5 && k.equals("precipitation") ) { | ||||
|                    JOptionPane.showMessageDialog(null,"High water level : "+level+" in the following sensor"+tag,"Precipitation",JOptionPane.INFORMATION_MESSAGE); | ||||
|                    final String data = String.format("{\"id\":\"%s\",\"data\":{\"measured\":[{ \"status\": \"High water level %s\", \"precipitation\": %s}]}}", fixedIdG1, level,level); | ||||
|                    httpPost.HttpCallPost("http://connector.dev.whysor.com/default/insert?access_token=3hosOhAeh4k0XmcuAMQGfYldvTuQDvtAj2PJJ4irKPBefD5Ijij6gnUkLtVLd4fW",data); | ||||
|                    System.out.println("High water level"+level +" in the following sensor:"+tag); | ||||
|  | ||||
|                 } | ||||
| //         System.out.println(k); | ||||
| //         System.out.println(level); | ||||
| //         System.out.println(tag); | ||||
| //         System.out.println(id); | ||||
| end | ||||
| @@ -1,39 +0,0 @@ | ||||
| import java.util.List; | ||||
| import java.util.HashMap; | ||||
| import java.util.Map; | ||||
| import java.util.Iterator; | ||||
| import eu.hsrw.ias.ggd.ScheduledTask; | ||||
| import javax.swing.JOptionPane | ||||
| import HttpCall.HttpPost; | ||||
| import eu.hsrw.ias.ggd.SensorData | ||||
|  | ||||
| rule "Optimal EC levels in the soil" | ||||
|  | ||||
| when | ||||
|      $tMap: HashMap( containsKey("soilConductivity") == true ) | ||||
|      //In this part we are iterating through the entire map | ||||
|          e: Map.Entry(k:key, v:value) from $tMap.entrySet() | ||||
|          // for(e <- $tMap) { | ||||
|          SensorData(level: value ) from v | ||||
|          SensorData(tag: sensorTag) from v | ||||
|          SensorData(id: deviceId) from v | ||||
|  then | ||||
|     String fixedIdG1="8bdbe6ae-eafb-4e99-bb01-db8784dd9633"; | ||||
|     HttpPost httpPost = new HttpPost(); | ||||
|     if (level <= 0.57 && level >= 0.11 && k.equals("soilConductivity") ) { | ||||
|                JOptionPane.showMessageDialog(null,"Optimal EC levels in the soil : "+level+" in the following sensor"+tag,"Soil Conductivity",JOptionPane.INFORMATION_MESSAGE); | ||||
|                final String data = String.format("{\"id\":\"%s\",\"data\":{\"measured\":[{ \"status\": \"Optimal EC levels in the soil %s\", \"soilConductivity\": %s}]}}", fixedIdG1, level,level); | ||||
|                httpPost.HttpCallPost("http://connector.dev.whysor.com/default/insert?access_token=3hosOhAeh4k0XmcuAMQGfYldvTuQDvtAj2PJJ4irKPBefD5Ijij6gnUkLtVLd4fW",data); | ||||
|                System.out.println("Optimal EC levels in the soil"+level +" in the following sensor:"+tag); | ||||
|            } | ||||
| //    else { | ||||
| //               JOptionPane.showMessageDialog(null,"Non Optimal EC levels in the soil : "+level+" in the following sensor:"+tag,"Soil Conductivity",JOptionPane.INFORMATION_MESSAGE); | ||||
| //               final String data1 = String.format("{\"id\":\"%s\",\"data\":{\"measured\":[{ \"status\": \"Non Optimal EC levels in the soil %s\", \"soil Conductivity\": %s}]}}", fixedIdG1, level,level); | ||||
| ////               httpPost.HttpCallPost("http://connector.dev.whysor.com/default/insert?access_token=3hosOhAeh4k0XmcuAMQGfYldvTuQDvtAj2PJJ4irKPBefD5Ijij6gnUkLtVLd4fW",data1); | ||||
| //               System.out.println(data1); | ||||
| //    } | ||||
| end | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| @@ -1,40 +0,0 @@ | ||||
| import java.util.List; | ||||
| import java.util.HashMap; | ||||
| import java.util.Map; | ||||
| import java.util.Iterator; | ||||
| import eu.hsrw.ias.ggd.ScheduledTask; | ||||
| import javax.swing.JOptionPane; | ||||
| import HttpCall.HttpPost; | ||||
| import eu.hsrw.ias.ggd.SensorData | ||||
|  | ||||
|  | ||||
| rule "Soil Moisture" | ||||
|  | ||||
| when | ||||
|           $tMap: HashMap( containsKey("soilMoisture") == true ) | ||||
|           //In this part we are iterating through the entire map | ||||
|               e: Map.Entry(k:key, v:value) from $tMap.entrySet() | ||||
|               // for(e <- $tMap) { | ||||
|               SensorData(level: value ) from v | ||||
|               SensorData(tag: sensorTag) from v | ||||
|               SensorData(id : deviceId) from v | ||||
|  | ||||
|  then | ||||
|             HttpPost httpPost = new HttpPost(); | ||||
|             String fixedIdG1="8bdbe6ae-eafb-4e99-bb01-db8784dd9633"; | ||||
|  | ||||
|             if (level <= 30 && k.equals("soilMoisture") ) { | ||||
|                  JOptionPane.showMessageDialog(null,"Be Careful the soil is dry : "+level+" in the following sensor :"+tag +"in the device:"+id,"Soil Moisture",JOptionPane.INFORMATION_MESSAGE); | ||||
|                  final String dataInfo = String.format("{\"id\":\"%s\",\"data\":{\"measured\":[{ \"status\": \"Be Careful the soil sensor %s is dry: %s  \", \"soilMoisture\": %s}]}}", fixedIdG1,tag,level,level); | ||||
|                  httpPost.HttpCallPost("http://connector.dev.whysor.com/default/insert?access_token=3hosOhAeh4k0XmcuAMQGfYldvTuQDvtAj2PJJ4irKPBefD5Ijij6gnUkLtVLd4fW",dataInfo); | ||||
|                  System.out.println("Soil is dry"+level+" in the following sensor"+tag); | ||||
|              } | ||||
|              else  if (level <= 80 && k.equals("soilMoisture") ) { | ||||
|                  JOptionPane.showMessageDialog(null,"Optimal moisture in the soil : "+level+" in the following sensor"+tag,"Soil Moisture",JOptionPane.INFORMATION_MESSAGE); | ||||
|                  final String data = String.format("{\"id\":\"%s\",\"data\":{\"measured\":[{ \"status\": \"Be Careful the soil sensor %s is wet: %s\", \"soilMoisture\": %s}]}}", fixedIdG1,tag,level,level); | ||||
|                  httpPost.HttpCallPost("http://connector.dev.whysor.com/default/insert?access_token=3hosOhAeh4k0XmcuAMQGfYldvTuQDvtAj2PJJ4irKPBefD5Ijij6gnUkLtVLd4fW",data); | ||||
|                  System.out.println("Optimal moisture in the soil"+level+" in the following sensor"+tag); | ||||
|              } | ||||
| end | ||||
|  | ||||
|  | ||||
| @@ -1,29 +0,0 @@ | ||||
| import java.util.List; | ||||
| import java.util.HashMap; | ||||
| import java.util.Map; | ||||
| import java.util.Iterator; | ||||
| import eu.hsrw.ias.ggd.ScheduledTask; | ||||
| import javax.swing.JOptionPane; | ||||
| import HttpCall.HttpPost; | ||||
| import eu.hsrw.ias.ggd.SensorData | ||||
|  | ||||
|  | ||||
| rule "SoilTemperature" | ||||
|  | ||||
|     when | ||||
|               $tMap: HashMap( containsKey("soilTemperature") == true ) | ||||
|                   e: Map.Entry(k:key, v:value) from $tMap.entrySet() | ||||
|                   SensorData(level: value ) from v | ||||
|                   SensorData(tag: sensorTag) from v | ||||
|                   SensorData(id : deviceId) from v | ||||
|     then | ||||
|  | ||||
|         String fixedIdG1="8bdbe6ae-eafb-4e99-bb01-db8784dd9633"; | ||||
|         HttpPost httpPost = new HttpPost(); | ||||
|         if (level < 22 && k.equals("soilTemperature") ) { | ||||
|                      JOptionPane.showMessageDialog(null,"Low soil temperature : "+level+" in the following sensor: "+tag+"in the following device id: "+id,"soil Temperature",JOptionPane.INFORMATION_MESSAGE); | ||||
|                      final String data = String.format("{\"id\":\"%s\",\"data\":{\"measured\":[{ \"status\": \"Low soil temperature %s in the following sensor: %s \", \"soilTemperature\": %s}]}}", fixedIdG1,level, tag,level); | ||||
|                      httpPost.HttpCallPost("http://connector.dev.whysor.com/default/insert?access_token=3hosOhAeh4k0XmcuAMQGfYldvTuQDvtAj2PJJ4irKPBefD5Ijij6gnUkLtVLd4fW",data); | ||||
|                      System.out.println("Low soil Temperature"+level+" in the following sensor "+tag); | ||||
|                  } | ||||
| end | ||||
| @@ -1,40 +0,0 @@ | ||||
| import java.util.List; | ||||
| import java.util.HashMap; | ||||
| import java.util.Map; | ||||
| import java.util.Iterator; | ||||
| import eu.hsrw.ias.ggd.ScheduledTask | ||||
| import eu.hsrw.ias.ggd.SensorData | ||||
| import javax.swing.JOptionPane | ||||
| import HttpCall.HttpPost | ||||
| import Files.ReadFile | ||||
| import Credentials.UserCredentials; | ||||
|  | ||||
| rule "Temperature Check" | ||||
|  | ||||
| when | ||||
| // This is like declaring a variable tMap where is Map and contains a key with name battery | ||||
|     $tMap: HashMap( containsKey("temperature") == true ) | ||||
| //In this part we are iterating through the entire map | ||||
|     e: Map.Entry(k:key, v:value) from $tMap.entrySet() | ||||
|     // for(e <- $tMap) { | ||||
|     SensorData(level: value ) from v | ||||
|     SensorData(tag: sensorTag) from v | ||||
|     SensorData(id: deviceId) from v | ||||
|  then | ||||
|         String fixedIdG1="8bdbe6ae-eafb-4e99-bb01-db8784dd9633"; | ||||
|         HttpPost httpPost = new HttpPost(); | ||||
|         if (level > 80 && k.equals("temperature") ) { | ||||
|              JOptionPane.showMessageDialog(null,"High Temperature : "+level+" in the following sensor: "+tag+"in the following device id: "+id,"Temperature",JOptionPane.INFORMATION_MESSAGE); | ||||
|              final String data = String.format("{\"id\":\"%s\",\"data\":{\"measured\":[{ \"status\": \"High Temperature %s in the following sensor: %s \", \"temperature\": %s}]}}", fixedIdG1,level, tag,level); | ||||
|              httpPost.HttpCallPost("http://connector.dev.whysor.com/default/insert?access_token=3hosOhAeh4k0XmcuAMQGfYldvTuQDvtAj2PJJ4irKPBefD5Ijij6gnUkLtVLd4fW",data); | ||||
|              System.out.println("High Temp"); | ||||
|          } | ||||
|         else if(level < 20 && k.equals("temperature")){ | ||||
|             JOptionPane.showMessageDialog(null,"Low Temperature : "+level+" in the following sensor: "+tag+"in the following device id: "+id,"Temperature",JOptionPane.INFORMATION_MESSAGE); | ||||
|             final String data1 = String.format("{\"id\":\"%s\",\"data\":{\"measured\":[{ \"status\": \"Low Temperature %s in the following sensor: %s \", \"temperature\": %s}]}}",fixedIdG1,level, tag,level); | ||||
|             httpPost.HttpCallPost("http://connector.dev.whysor.com/default/insert?access_token=3hosOhAeh4k0XmcuAMQGfYldvTuQDvtAj2PJJ4irKPBefD5Ijij6gnUkLtVLd4fW",data1); | ||||
|             System.out.println("Low Temp "+tag); | ||||
|         } | ||||
|  | ||||
|  | ||||
| end | ||||
| @@ -1,9 +1,15 @@ | ||||
| import eu.hsrw.ias.ggd.Notification; | ||||
| import eu.hsrw.ias.ggd.Severity; | ||||
| import eu.hsrw.ias.ggd.Severity | ||||
| import HttpCall.HttpPost; | ||||
|  | ||||
| rule "Green House Critical" | ||||
| when | ||||
|     warning: Notification(severity > Severity.Info) | ||||
| then | ||||
|     HttpPost httpPost = new HttpPost(); | ||||
|     final String criticalGreenhouse = String.format("{\"id\":\"germes-greenhouse-status\",\"data\":{\"measured\":[{ \"status\": \"The status of the greenhouse is critical\",}]}}"); | ||||
|     httpPost.HttpCallPost("http://connector.dev.whysor.com/default/insert?access_token=3hosOhAeh4k0XmcuAMQGfYldvTuQDvtAj2PJJ4irKPBefD5Ijij6gnUkLtVLd4fW",criticalGreenhouse); | ||||
|     System.out.println(criticalGreenhouse); | ||||
|     System.out.println("Green House critical, because of: '"+warning.getType()+"'"); | ||||
|  | ||||
| end | ||||
		Reference in New Issue
	
	Block a user