Merge branch 'master' of ssh://plrg.eecs.uci.edu/home/git/smartthings-infrastructure
authoramiraj <amiraj.95@uci.edu>
Sat, 3 Aug 2019 20:30:58 +0000 (13:30 -0700)
committeramiraj <amiraj.95@uci.edu>
Sat, 3 Aug 2019 20:30:58 +0000 (13:30 -0700)
1  2 
Extractor/Extractor.groovy

index e954203f163e6e9e7c2392ad1109d3849b17a16b,b049f6105405bc3f6b60967e9e3b9d5eda11d866..96fb55ff3e61b8d38ccb49ee89a7a11374dbad16
@@@ -70,10 -70,6 +70,10 @@@ import Valve.Valv
  import Valve.Valves
  import MobilePresence.MobilePresence
  import MobilePresence.MobilePresences
 +import ColorTemperature.ColorTemperature
 +import ColorTemperature.ColorTemperatures
 +import Button.Button
 +import Button.Buttons
  import Timer.SimulatedTimer
  
  //GlobalVariables
@@@ -248,7 -244,7 +248,7 @@@ def timeToday(String time, Object timeZ
  @Field def sleepSensorObject0
  @Field def sleepSensorObject1
  @Field def sleepSensorObject2
 -//Global Object for class sleep sensor!
 +//Global Object for class step sensor!
  @Field stepSensorObjects = 0
  @Field def stepSensorObject0
  @Field def stepSensorObject1
  @Field def temperatureMeasurementObject0
  @Field def temperatureMeasurementObject1
  @Field def temperatureMeasurementObject2
 -//Global Object for class temperature measurement!
 +//Global Object for class water sensor!
  @Field waterSensorObjects = 0
  @Field def waterSensorObject0
  @Field def waterSensorObject1
  @Field def valveObject0
  @Field def valveObject1
  @Field def valveObject2
 -//Global Object for class valve!
 +//Global Object for class mobile presence!
  @Field mobilePresenceObjects = 0
  @Field def mobilePresenceObject0
  @Field def mobilePresenceObject1
  @Field def mobilePresenceObject2
 -
 +//Global Object for class color temperature!
 +@Field colorTemperatureObjects = 0
 +@Field def colorTemperatureObject0
 +@Field def colorTemperatureObject1
 +@Field def colorTemperatureObject2
 +//Global Object for class button!
 +@Field buttonObjects = 0
 +@Field def buttonObject0
 +@Field def buttonObject1
 +@Field def buttonObject2
  
  
  //Global variables
@@@ -468,41 -455,6 +468,41 @@@ def input(LinkedHashMap metaData) 
                                extractedObjectsConstructorApp2.append(metaData['name']+" = obj.alarmObject\n")
                        }
                        break
 +              case "capability.button":
 +                      globalObjects.eachLine { line ->
 +                              if(line.contains("buttonObject")){
 +                                      contains = 1
 +                              }
 +                      }
 +
 +                      if (contains == 0)
 +                              globalObjects.append("@Field def buttonObject = new Buttons(sendEvent, 1)\n")
 +
 +                      if (buttonObjects == 0) {
 +                              buttonObject0 = metaData['name']
 +                              this[buttonObject0] = new Buttons({}, 1)
 +                      } else if (buttonObjects == 1) {
 +                              buttonObject1 = metaData['name']
 +                              this[buttonObject1] = new Buttons({}, 1)
 +                      } else if (buttonObjects == 2) {
 +                              buttonObject2 = metaData['name']
 +                              this[buttonObject2] = new Buttons({}, 1)
 +                      }
 +
 +                      buttonObjects=buttonObjects+1
 +
 +                      settings.put(metaData['name'], new Buttons({}, 1))
 +
 +                      if (App == "App1") {
 +                              extractedObjectsApp1.append("//Object for class Button!\n")
 +                              extractedObjectsApp1.append("def "+metaData['name']+"\n")
 +                              extractedObjectsConstructorApp1.append(metaData['name']+" = obj.buttonObject\n")                
 +                      } else {
 +                              extractedObjectsApp2.append("//Object for class Button!\n")
 +                              extractedObjectsApp2.append("def "+metaData['name']+"\n")
 +                              extractedObjectsConstructorApp2.append(metaData['name']+" = obj.buttonObject\n")
 +                      }
 +                      break
                case "capability.battery":
                        globalObjects.eachLine { line ->
                                if(line.contains("batteryObject")){
                                extractedObjectsConstructorApp2.append(metaData['name']+" = obj.carbonMonoxideDetectorObject\n")
                        }
                        break
 +              case "capability.colorTemperature":
 +                      globalObjects.eachLine { line ->
 +                              if(line.contains("colorTemperatureObject")){
 +                                      contains = 1
 +                              }
 +                      }
 +
 +                      if (contains == 0)
 +                              globalObjects.append("@Field def colorTemperatureObject = new ColorTemperatures(sendEvent, 1)\n")
 +
 +                      if (colorTemperatureObjects == 0) {
 +                              colorTemperatureObject0 = metaData['name']
 +                              this[colorTemperatureObject0] = new ColorTemperatures({}, 1)
 +                      } else if (colorTemperatureObjects == 1) {
 +                              colorTemperatureObject1 = metaData['name']
 +                              this[colorTemperatureObject1] = new ColorTemperatures({}, 1)
 +                      } else if (colorTemperatureObjects == 2) {
 +                              colorTemperatureObject2 = metaData['name']
 +                              this[colorTemperatureObject2] = new ColorTemperatures({}, 1)
 +                      }
 +
 +                      colorTemperatureObjects=colorTemperatureObjects+1
 +
 +                      settings.put(metaData['name'], new ColorTemperatures({}, 1))
 +
 +                      if (App == "App1") {
 +                              extractedObjectsApp1.append("//Object for class color temperature!\n")
 +                              extractedObjectsApp1.append("def "+metaData['name']+"\n")
 +                              extractedObjectsConstructorApp1.append(metaData['name']+" = obj.colorTemperatureObject\n")              
 +                      } else {
 +                              extractedObjectsApp2.append("//Object for class color control!\n")
 +                              extractedObjectsApp2.append("def "+metaData['name']+"\n")
 +                              extractedObjectsConstructorApp2.append(metaData['name']+" = obj.colorTemperatureObject\n")
 +                      }
 +                      break
                case "capability.colorControl":
                        globalObjects.eachLine { line ->
                                if(line.contains("colorControlObject")){
                                extractedObjectsConstructorApp2.append(metaData['name']+" = obj.mobilePresenceObject\n")
                        }
                        break
+               case "capability.button":
                case "device.aeonKeyFob":
                        globalObjects.eachLine { line ->
                                if(line.contains("aeonKeyFobObject")){