import ColorControl.ColorControls
import EnergyMeter.EnergyMeter
import EnergyMeter.EnergyMeters
+import IlluminanceMeasurement.IlluminanceMeasurement
+import IlluminanceMeasurement.IlluminanceMeasurements
+import PowerMeter.PowerMeter
+import PowerMeter.PowerMeters
+import RelativeHumidityMeasurement.RelativeHumidityMeasurement
+import RelativeHumidityMeasurement.RelativeHumidityMeasurements
+import RelaySwitch.RelaySwitch
+import RelaySwitch.RelaySwitches
+import SleepSensor.SleepSensor
+import SleepSensor.SleepSensors
+import StepSensor.StepSensor
+import StepSensor.StepSensors
+import SwitchLevel.SwitchLevel
+import SwitchLevel.SwitchLevels
+import TemperatureMeasurement.TemperatureMeasurement
+import TemperatureMeasurement.TemperatureMeasurements
+import WaterSensor.WaterSensor
+import WaterSensor.WaterSensors
+import Valve.Valve
+import Valve.Valves
+import MobilePresence.MobilePresence
+import MobilePresence.MobilePresences
import Timer.SimulatedTimer
//GlobalVariables
+//Some of methods-May be needed even in install
+/////////////////////////////////////////////////////////////////////
+def timeToday(String time, Object timeZone) {
+ def timeOfDay = new Date()
+ def _inputTime = time.split(':')
+ def inputTime = Integer.parseInt(_inputTime[0])*3600+Integer.parseInt(_inputTime[1])*60+1564191100415
+ timeOfDay.time = inputTime
+ return timeOfDay
+}
+
+
//Global objects
//Global Object for class Touch Sensor!
@Field def energyMeterObject0
@Field def energyMeterObject1
@Field def energyMeterObject2
+//Global Object for class energy meter!
+@Field illuminanceMeasurementObjects = 0
+@Field def illuminanceMeasurementObject0
+@Field def illuminanceMeasurementObject1
+@Field def illuminanceMeasurementObject2
+//Global Object for class power meter!
+@Field powerMeterObjects = 0
+@Field def powerMeterObject0
+@Field def powerMeterObject1
+@Field def powerMeterObject2
+//Global Object for class power meter!
+@Field humidityMeasurementObjects = 0
+@Field def humidityMeasurementObject0
+@Field def humidityMeasurementObject1
+@Field def humidityMeasurementObject2
+//Global Object for class relay switch!
+@Field relaySwitchObjects = 0
+@Field def relaySwitchObject0
+@Field def relaySwitchObject1
+@Field def relaySwitchObject2
+//Global Object for class sleep sensor!
+@Field sleepSensorObjects = 0
+@Field def sleepSensorObject0
+@Field def sleepSensorObject1
+@Field def sleepSensorObject2
+//Global Object for class sleep sensor!
+@Field stepSensorObjects = 0
+@Field def stepSensorObject0
+@Field def stepSensorObject1
+@Field def stepSensorObject2
+//Global Object for class switch level!
+@Field switchLevelObjects = 0
+@Field def switchLevelObject0
+@Field def switchLevelObject1
+@Field def switchLevelObject2
+//Global Object for class temperature measurement!
+@Field temperatureMeasurementObjects = 0
+@Field def temperatureMeasurementObject0
+@Field def temperatureMeasurementObject1
+@Field def temperatureMeasurementObject2
+//Global Object for class temperature measurement!
+@Field waterSensorObjects = 0
+@Field def waterSensorObject0
+@Field def waterSensorObject1
+@Field def waterSensorObject2
+//Global Object for class valve!
+@Field valveObjects = 0
+@Field def valveObject0
+@Field def valveObject1
+@Field def valveObject2
+//Global Object for class valve!
+@Field mobilePresenceObjects = 0
+@Field def mobilePresenceObject0
+@Field def mobilePresenceObject1
+@Field def mobilePresenceObject2
}
break
case "capability.illuminanceMeasurement":
+ if (illuminanceMeasurementObjects == 0) {
+ illuminanceMeasurementObject0 = metaData['name']
+ this[illuminanceMeasurementObject0] = new IlluminanceMeasurements({}, 1)
+ } else if (illuminanceMeasurementObjects == 1) {
+ illuminanceMeasurementObject1 = metaData['name']
+ this[illuminanceMeasurementObject1] = new IlluminanceMeasurements({}, 1)
+ } else if (illuminanceMeasurementObjects == 2) {
+ illuminanceMeasurementObject2 = metaData['name']
+ this[illuminanceMeasurementObject2] = new IlluminanceMeasurements({}, 1)
+ }
+
+ illuminanceMeasurementObjects=illuminanceMeasurementObjects+1
+
+ settings.put(metaData['name'], metaData['name'])
+
+ if (App == "App1") {
+ extractedObjectsApp1.append("//Object for class illuminance measurement!\n")
+ extractedObjectsApp1.append("def "+metaData['name']+"\n")
+ extractedObjectsConstructorApp1.append(metaData['name']+" = obj.illuminanceMeasurementObject\n")
+ } else {
+ extractedObjectsApp2.append("//Object for class illuminance measurement!\n")
+ extractedObjectsApp2.append("def "+metaData['name']+"\n")
+ extractedObjectsConstructorApp2.append(metaData['name']+" = obj.illuminanceMeasurementObject\n")
+ }
break
case "capability.accelerationSensor":
if (accelerationSensorObjects == 0) {
}
break
case "capability.powerMeter":
+ if (powerMeterObjects == 0) {
+ powerMeterObject0 = metaData['name']
+ this[powerMeterObject0] = new PowerMeters({}, 1)
+ } else if (powerMeterObjects == 1) {
+ powerMeterObject1 = metaData['name']
+ this[powerMeterObject1] = new PowerMeters({}, 1)
+ } else if (powerMeterObjects == 2) {
+ powerMeterObject2 = metaData['name']
+ this[powerMeterObject2] = new PowerMeters({}, 1)
+ }
+
+ powerMeterObjects=powerMeterObjects+1
+
+ settings.put(metaData['name'], metaData['name'])
+
+ if (App == "App1") {
+ extractedObjectsApp1.append("//Object for class power meter!\n")
+ extractedObjectsApp1.append("def "+metaData['name']+"\n")
+ extractedObjectsConstructorApp1.append(metaData['name']+" = obj.powerMeterObject\n")
+ } else {
+ extractedObjectsApp2.append("//Object for class power meter!\n")
+ extractedObjectsApp2.append("def "+metaData['name']+"\n")
+ extractedObjectsConstructorApp2.append(metaData['name']+" = obj.powerMeterObject\n")
+ }
break
case "capability.presenceSensor":
if (presenceSensorObjects == 0) {
}
break
case "capability.relativeHumidityMeasurement":
+ if (humidityMeasurementObjects == 0) {
+ humidityMeasurementObject0 = metaData['name']
+ this[humidityMeasurementObject0] = new RelativeHumidityMeasurements({}, 1)
+ } else if (humidityMeasurementObjects == 1) {
+ humidityMeasurementObject1 = metaData['name']
+ this[humidityMeasurementObject1] = new RelativeHumidityMeasurements({}, 1)
+ } else if (humidityMeasurementObjects == 2) {
+ humidityMeasurementObject2 = metaData['name']
+ this[humidityMeasurementObject2] = new RelativeHumidityMeasurements({}, 1)
+ }
+
+ humidityMeasurementObjects=humidityMeasurementObjects+1
+
+ settings.put(metaData['name'], metaData['name'])
+
+ if (App == "App1") {
+ extractedObjectsApp1.append("//Object for class humidity measurement!\n")
+ extractedObjectsApp1.append("def "+metaData['name']+"\n")
+ extractedObjectsConstructorApp1.append(metaData['name']+" = obj.humidityMeasurementObject\n")
+ } else {
+ extractedObjectsApp2.append("//Object for class humidity measurement!\n")
+ extractedObjectsApp2.append("def "+metaData['name']+"\n")
+ extractedObjectsConstructorApp2.append(metaData['name']+" = obj.humidityMeasurementObject\n")
+ }
break
case "capability.relaySwitch":
+ if (relaySwitchObjects == 0) {
+ relaySwitchObject0 = metaData['name']
+ this[relaySwitchObject0] = new RelaySwitches({}, 1)
+ } else if (relaySwitchObjects == 1) {
+ relaySwitchObject1 = metaData['name']
+ this[relaySwitchObject1] = new RelaySwitches({}, 1)
+ } else if (relaySwitchObjects == 2) {
+ relaySwitchObject2 = metaData['name']
+ this[relaySwitchObject2] = new RelaySwitches({}, 1)
+ }
+
+ relaySwitchObjects=relaySwitchObjects+1
+
+ settings.put(metaData['name'], metaData['name'])
+
+ if (App == "App1") {
+ extractedObjectsApp1.append("//Object for class relay switch!\n")
+ extractedObjectsApp1.append("def "+metaData['name']+"\n")
+ extractedObjectsConstructorApp1.append(metaData['name']+" = obj.relaySwitchObject\n")
+ } else {
+ extractedObjectsApp2.append("//Object for class relay switch!\n")
+ extractedObjectsApp2.append("def "+metaData['name']+"\n")
+ extractedObjectsConstructorApp2.append(metaData['name']+" = obj.relaySwitchObject\n")
+ }
break
case "capability.sleepSensor":
+ if (sleepSensorObjects == 0) {
+ sleepSensorObject0 = metaData['name']
+ this[sleepSensorObject0] = new SleepSensors({}, 1)
+ } else if (sleepSensorObjects == 1) {
+ sleepSensorObject1 = metaData['name']
+ this[sleepSensorObject1] = new SleepSensors({}, 1)
+ } else if (sleepSensorObjects == 2) {
+ sleepSensorObject2 = metaData['name']
+ this[sleepSensorObject2] = new SleepSensors({}, 1)
+ }
+
+ sleepSensorObjects=sleepSensorObjects+1
+
+ settings.put(metaData['name'], metaData['name'])
+
+ if (App == "App1") {
+ extractedObjectsApp1.append("//Object for class sleep sensor!\n")
+ extractedObjectsApp1.append("def "+metaData['name']+"\n")
+ extractedObjectsConstructorApp1.append(metaData['name']+" = obj.sleepSensorObject\n")
+ } else {
+ extractedObjectsApp2.append("//Object for class sleep sensor!\n")
+ extractedObjectsApp2.append("def "+metaData['name']+"\n")
+ extractedObjectsConstructorApp2.append(metaData['name']+" = obj.sleepSensorObject\n")
+ }
break
case "capability.smokeDetector":
if (smokeDetectorObjects == 0) {
}
break
case "capability.stepSensor":
+ if (stepSensorObjects == 0) {
+ stepSensorObject0 = metaData['name']
+ this[stepSensorObject0] = new StepSensors({}, 1)
+ } else if (stepSensorObjects == 1) {
+ stepSensorObject1 = metaData['name']
+ this[stepSensorObject1] = new StepSensors({}, 1)
+ } else if (stepSensorObjects == 2) {
+ stepSensorObject2 = metaData['name']
+ this[stepSensorObject2] = new StepSensors({}, 1)
+ }
+
+ stepSensorObjects=stepSensorObjects+1
+
+ settings.put(metaData['name'], metaData['name'])
+
+ if (App == "App1") {
+ extractedObjectsApp1.append("//Object for class step sensor!\n")
+ extractedObjectsApp1.append("def "+metaData['name']+"\n")
+ extractedObjectsConstructorApp1.append(metaData['name']+" = obj.stepSensorObject\n")
+ } else {
+ extractedObjectsApp2.append("//Object for class step sensor!\n")
+ extractedObjectsApp2.append("def "+metaData['name']+"\n")
+ extractedObjectsConstructorApp2.append(metaData['name']+" = obj.stepSensorObject\n")
+ }
break
case "capability.switch":
if (switchObjects == 0) {
}
break
case "capability.switchLevel":
+ if (switchLevelObjects == 0) {
+ switchLevelObject0 = metaData['name']
+ this[switchLevelObject0] = new SwitchLevels({}, 1)
+ } else if (switchLevelObjects == 1) {
+ switchLevelObject1 = metaData['name']
+ this[switchLevelObject1] = new SwitchLevels({}, 1)
+ } else if (switchLevelObjects == 2) {
+ switchLevelObject2 = metaData['name']
+ this[switchLevelObject2] = new SwitchLevels({}, 1)
+ }
+
+ switchLevelObjects=switchLevelObjects+1
+
+ settings.put(metaData['name'], metaData['name'])
+
+ if (App == "App1") {
+ extractedObjectsApp1.append("//Object for class switch level!\n")
+ extractedObjectsApp1.append("def "+metaData['name']+"\n")
+ extractedObjectsConstructorApp1.append(metaData['name']+" = obj.switchLevelObject\n")
+ } else {
+ extractedObjectsApp2.append("//Object for class switch level!\n")
+ extractedObjectsApp2.append("def "+metaData['name']+"\n")
+ extractedObjectsConstructorApp2.append(metaData['name']+" = obj.switchLevelObject\n")
+ }
break
case "capability.temperatureMeasurement":
+ if (temperatureMeasurementObjects == 0) {
+ temperatureMeasurementObject0 = metaData['name']
+ this[temperatureMeasurementObject0] = new TemperatureMeasurements({}, 1)
+ } else if (temperatureMeasurementObjects == 1) {
+ temperatureMeasurementObject1 = metaData['name']
+ this[temperatureMeasurementObject1] = new TemperatureMeasurements({}, 1)
+ } else if (temperatureMeasurementObjects == 2) {
+ temperatureMeasurementObject2 = metaData['name']
+ this[temperatureMeasurementObject2] = new TemperatureMeasurements({}, 1)
+ }
+
+ temperatureMeasurementObjects=temperatureMeasurementObjects+1
+
+ settings.put(metaData['name'], metaData['name'])
+
+ if (App == "App1") {
+ extractedObjectsApp1.append("//Object for class temperature measurement!\n")
+ extractedObjectsApp1.append("def "+metaData['name']+"\n")
+ extractedObjectsConstructorApp1.append(metaData['name']+" = obj.temperatureMeasurementObject\n")
+ } else {
+ extractedObjectsApp2.append("//Object for class temperature measurement!\n")
+ extractedObjectsApp2.append("def "+metaData['name']+"\n")
+ extractedObjectsConstructorApp2.append(metaData['name']+" = obj.temperatureMeasurementObject\n")
+ }
break
case "capability.thermostat":
if (thermostatObjects == 0) {
}
break
case "capability.valve":
+ if (valveObjects == 0) {
+ valveObject0 = metaData['name']
+ this[valveObject0] = new Valves({}, 1)
+ } else if (valveObjects == 1) {
+ valveObject1 = metaData['name']
+ this[valveObject1] = new Valves({}, 1)
+ } else if (valveObjects == 2) {
+ valveObject2 = metaData['name']
+ this[valveObject2] = new Valves({}, 1)
+ }
+
+ valveObjects=valveObjects+1
+
+ settings.put(metaData['name'], metaData['name'])
+
+ if (App == "App1") {
+ extractedObjectsApp1.append("//Object for class valve!\n")
+ extractedObjectsApp1.append("def "+metaData['name']+"\n")
+ extractedObjectsConstructorApp1.append(metaData['name']+" = obj.valveObject\n")
+ } else {
+ extractedObjectsApp2.append("//Object for class valve!\n")
+ extractedObjectsApp2.append("def "+metaData['name']+"\n")
+ extractedObjectsConstructorApp2.append(metaData['name']+" = obj.valveObject\n")
+ }
break
case "capability.speechSynthesis":
if (speechSynthesisObjects == 0) {
}
break
case "capability.waterSensor":
+ if (waterSensorObjects == 0) {
+ waterSensorObject0 = metaData['name']
+ this[waterSensorObject0] = new WaterSensors({}, 1)
+ } else if (waterSensorObjects == 1) {
+ waterSensorObject1 = metaData['name']
+ this[waterSensorObject1] = new WaterSensors({}, 1)
+ } else if (waterSensorObjects == 2) {
+ waterSensorObject2 = metaData['name']
+ this[waterSensorObject2] = new WaterSensors({}, 1)
+ }
+
+ waterSensorObjects=waterSensorObjects+1
+
+ settings.put(metaData['name'], metaData['name'])
+
+ if (App == "App1") {
+ extractedObjectsApp1.append("//Object for class water sensor!\n")
+ extractedObjectsApp1.append("def "+metaData['name']+"\n")
+ extractedObjectsConstructorApp1.append(metaData['name']+" = obj.waterSensorObject\n")
+ } else {
+ extractedObjectsApp2.append("//Object for class water sensor!\n")
+ extractedObjectsApp2.append("def "+metaData['name']+"\n")
+ extractedObjectsConstructorApp2.append(metaData['name']+" = obj.waterSensorObject\n")
+ }
break
case "capability.touchSensor":
if (touchSensorObjects == 0) {
}
break
case "device.mobilePresence":
+ if (mobilePresenceObjects == 0) {
+ mobilePresenceObject0 = metaData['name']
+ this[mobilePresenceObject0] = new MobilePresences({}, 1)
+ } else if (mobilePresenceObjects == 1) {
+ mobilePresenceObject1 = metaData['name']
+ this[mobilePresenceObject1] = new MobilePresences({}, 1)
+ } else if (mobilePresenceObjects == 2) {
+ mobilePresenceObject2 = metaData['name']
+ this[mobilePresenceObject2] = new MobilePresences({}, 1)
+ }
+
+ mobilePresenceObjects=mobilePresenceObjects+1
+
+ settings.put(metaData['name'], metaData['name'])
+
+ if (App == "App1") {
+ extractedObjectsApp1.append("//Object for class mobile presence!\n")
+ extractedObjectsApp1.append("def "+metaData['name']+"\n")
+ extractedObjectsConstructorApp1.append(metaData['name']+" = obj.mobilePresenceObject\n")
+ } else {
+ extractedObjectsApp2.append("//Object for class mobile presence!\n")
+ extractedObjectsApp2.append("def "+metaData['name']+"\n")
+ extractedObjectsConstructorApp2.append(metaData['name']+" = obj.mobilePresenceObject\n")
+ }
break
case "device.aeonKeyFob":
if (aeonKeyFobObjects == 0) {
}
break
case "enum":
+<<<<<<< HEAD
+=======
def randomVariable = Math.abs(new Random().nextInt() % 2)
def modes = ["Yes", "No"]
//def userInput = modes[randomVariable]
//def modes = metaData['options']
+>>>>>>> e378d6a65b25030f8914dc97f04b81ddff351d9c
if (metaData['options'] != null)
modes = metaData['options']
else // If it is not named 'options' then it is captured as 'metadata'
def href(LinkedHashMap metaData) {
println("//IGNORE--some data//")
}
+
+def href(LinkedHashMap metaData, String name) {
+ println("//IGNORE--some data//")
+}
/////Input Methods/////
def section(LinkedHashMap metaData, Closure inputData) {
find(inputData) //Run the closure to extract inputMethods
}
+
+def mappings(Closure inputData) {
+ println("//IGNORE--some data//")
+}
/////MethodsForExtraction/////