readyToReturn = 0
ToReturn = ""
eventList = []
+eventAppList = [] # This list maps App1 or App2 to a specific event
eventVarMap = {}
eventVarCounterMap = {}
capabilityMap = {}
app1Subscribe = False
app2Subscribe = False
+# Mapping for event type and number of events
+# e.g., switch has 2 events: on and off
+eventTypeCounterMap = {'lock': 2,
+ 'unlock' : 1,
+ 'contact.open' : 1,
+ 'contact.closed' : 1,
+ 'tamper.tampered' : 1,
+ 'nfcTouch' : 1,
+ 'app' : 1,
+ 'button' : 2,
+ 'water' : 2,
+ 'water.dry' : 1,
+ 'water.wet' : 1,
+ 'presence' : 2,
+ 'presence.present' : 1,
+ 'doorState' : 2,
+ 'motion' : 2,
+ 'motion.active' : 1,
+ 'motion.inactive' : 1,
+ 'smoke' : 3,
+ 'smoke.clear' : 1,
+ 'smoke.detected' : 1,
+ 'smoke.tested' : 1,
+ 'carbonMonoxide' : 3,
+ 'carbonMonoxide.clear' : 1,
+ 'carbonMonoxide.detected' : 1,
+ 'carbonMonoxide.tested' : 1,
+ 'battery' : 1,
+ 'thermostatMode' : 5,
+ 'thermostatFanMode' : 5,
+ 'thermostatOperatingState' : 5,
+ 'switch' : 2,
+ 'location' : 3,
+ 'mode' : 3,
+ 'acceleration' : 2,
+ 'acceleration.active' : 1,
+ 'acceleration.inactive' : 1,
+ 'sleeping' : 2,
+ 'goal' : 1,
+ 'steps' : 1,
+ 'color' : 1,
+ 'colorTemperature' : 1,
+ 'hue' : 1,
+ 'saturation' : 1,
+ 'energy' : 1,
+ 'power' : 1,
+ 'illuminance' : 1,
+ 'humidity' : 1,
+ 'alarm' : 4,
+ 'contact' : 2,
+ 'status' : 3,
+ 'level' : 1,
+ 'trackDescription' : 1,
+ 'trackData' : 1,
+ 'mute' : 2,
+ 'temperature' : 1,
+ 'heatingSetpoint' : 1,
+ 'coolingSetpoint' : 1,
+ 'thermostatSetpoint' : 1}
+
def GetToken(f):
global readyToReturn
global ToReturn
def ExtractFunctions(F, appName):
global eventList
+ global eventAppList
global app1Subscribe
global app2Subscribe
Temp = GetToken(F)
if Temp == "app" or Temp == "location":
if Temp not in eventList:
eventList.append(Temp)
+ if (appName == "App1"):
+ eventAppList.append("App1")
+ else:
+ eventAppList.append("App2")
elif Temp not in eventList or (variable in capabilityMap.keys() and capabilityMap[variable] not in capabilityList):
# We do not repeat the same capability twice
capability = capabilityMap[variable]
capabilityList.append(capability)
eventList.append(Temp)
+ if (appName == "App1"):
+ eventAppList.append("App1")
+ else:
+ eventAppList.append("App2")
if Temp in eventVarMap.keys():
listOfEvents = eventVarMap[Temp]
listOfEvents.append(variable)
"capability.alarm" in app2Capab or "capability.speechSynthesis" in app2Capab):
print ("\nWARNING: Potential PHYSICAL CONFLICT (sound) detected between App1 and App2!\n")
+def CountEvents():
+ global eventList
+ numOfActualEvents = 0
+ for event in eventList:
+ numOfActualEvents = numOfActualEvents + eventTypeCounterMap[event]
+ return numOfActualEvents
+
def ExtractEvents(extractedEvents):
global eventList
+ global eventAppList
global eventVarMap
global capabilityMap
global eventVarCounterMap
+ # Count the number of events
+ numOfActualEvents = CountEvents()
extractedEvents.write("while(true) {\n")
- extractedEvents.write("\tdef eventNumber = Verify.getInt(0,%d)\n" % (len(eventList) - 1))
+ extractedEvents.write("\tdef eventNumber = Verify.getInt(0,%d)\n" % (numOfActualEvents - 1))
extractedEvents.write("\tswitch(eventNumber) {\n")
- for i in range(len(eventList)):
- extractedEvents.write("\t\tcase %d:\n" % i)
+ counter = 0
+ indexApp1 = 0
+ indexApp2 = eventAppList.index("App2")
+ indexApp2Start = indexApp2
+ #print "DEBUG: App1: %d" % indexApp1
+ #print "DEBUG: App2: %d" % indexApp2
+ #print "DEBUG: eventList: %d" % len(eventList)
+ isApp1 = True
+ while counter < len(eventList):
+ # Interleave events from App1 and App2
+ if isApp1 is True:
+ i = indexApp1
+ indexApp1 = indexApp1 + 1
+ if indexApp2 < len(eventList):
+ isApp1 = False
+ else:
+ i = indexApp2
+ indexApp2 = indexApp2 + 1
+ if indexApp1 < indexApp2Start:
+ isApp1 = True
+ print "DEBUG: i: %d" % i
+ extractedEvents.write("\t\tcase %d:\n" % counter)
if eventList[i] == "lock":
#Write two events subsequently
- extractedEvents.write("\t\t\tdef event = Verify.getInt(0,1)\n")
- extractedEvents.write("\t\t\tif (event == 0) {\n")
event = open("eventSimulator/lockLockedEvent.groovy", "r")
for line in event:
- extractedEvents.write("\t\t" + line)
+ extractedEvents.write(line)
event.close()
- extractedEvents.write("\t\t\t} else {\n")
+ extractedEvents.write("\n\t\t\tbreak\n")
+ counter = counter + 1
+ extractedEvents.write("\t\tcase %d:\n" % counter)
event = open("eventSimulator/lockUnlockedEvent.groovy", "r")
- for line in event:
- extractedEvents.write("\t\t" + line)
- event.close()
- extractedEvents.write("\t\t\t}\n")
- elif eventList[i] == "unlock":
- event = open("eventSimulator/unlockEvent.groovy", "r")
for line in event:
extractedEvents.write(line)
event.close()
+ elif eventList[i] == "unlock":
+ #Don't do anything for this case
+ counter = counter - 1
elif eventList[i] == "contact.open":
event = open("eventSimulator/contactOpenEvent.groovy", "r")
for line in event:
event.close()
elif eventList[i] == "tamper.tampered":
#Write two events subsequently
- extractedEvents.write("\t\t\tdef event = Verify.getInt(0,1)\n")
- extractedEvents.write("\t\t\tif (event == 0) {\n")
event = open("eventSimulator/tamperTamperedOpenEvent.groovy", "r")
for line in event:
- extractedEvents.write("\t\t" + line)
+ extractedEvents.write(line)
event.close()
- extractedEvents.write("\t\t\t} else {\n")
+ extractedEvents.write("\n\t\t\tbreak\n")
+ counter = counter + 1
+ extractedEvents.write("\t\tcase %d:\n" % counter)
event = open("eventSimulator/tamperTamperedClosedEvent.groovy", "r")
for line in event:
- extractedEvents.write("\t\t" + line)
+ extractedEvents.write(line)
event.close()
- extractedEvents.write("\t\t\t}\n")
elif eventList[i] == "nfcTouch":
event = open("eventSimulator/nfcTouchEvent.groovy", "r")
for line in event:
event.close()
elif eventList[i] == "button":
#Write two events subsequently
- extractedEvents.write("\t\t\tdef event = Verify.getInt(0,1)\n")
- extractedEvents.write("\t\t\tif (event == 0) {\n")
event = open("eventSimulator/buttonPushedEvent.groovy", "r")
for line in event:
- extractedEvents.write("\t\t" + line)
+ extractedEvents.write(line)
event.close()
- extractedEvents.write("\t\t\t} else {\n")
+ extractedEvents.write("\n\t\t\tbreak\n")
+ counter = counter + 1
+ extractedEvents.write("\t\tcase %d:\n" % counter)
event = open("eventSimulator/buttonHeldEvent.groovy", "r")
for line in event:
- extractedEvents.write("\t\t" + line)
+ extractedEvents.write(line)
event.close()
- extractedEvents.write("\t\t\t}\n")
elif eventList[i] == "water":
#Write two events subsequently
- extractedEvents.write("\t\t\tdef event = Verify.getInt(0,1)\n")
- extractedEvents.write("\t\t\tif (event == 0) {\n")
event = open("eventSimulator/waterDryEvent.groovy", "r")
for line in event:
- extractedEvents.write("\t\t" + line)
+ extractedEvents.write(line)
event.close()
- extractedEvents.write("\t\t\t} else {\n")
+ extractedEvents.write("\n\t\t\tbreak\n")
+ counter = counter + 1
+ extractedEvents.write("\t\tcase %d:\n" % counter)
event = open("eventSimulator/waterWetEvent.groovy", "r")
for line in event:
- extractedEvents.write("\t\t" + line)
+ extractedEvents.write(line)
event.close()
- extractedEvents.write("\t\t\t}\n")
elif eventList[i] == "water.dry":
event = open("eventSimulator/waterDefaultDryEvent.groovy", "r")
for line in event:
eventVarCount = eventVarCounterMap[eventList[i]]
eventVarCounterMap[eventList[i]] = eventVarCount + 1
capability = capabilityMap[variable[eventVarCount]]
- #Write three events subsequently
- if capability == "capability.presenceSensor":
- extractedEvents.write("\t\t\tdef event = Verify.getInt(0,2)\n")
- elif capability == "capability.beacon":
- extractedEvents.write("\t\t\tdef event = Verify.getInt(0,1)\n")
- extractedEvents.write("\t\t\tif (event == 0) {\n")
+ #Write two events subsequently
if capability == "capability.presenceSensor":
event = open("eventSimulator/presencePresentEvent.groovy", "r")
elif capability == "capability.beacon":
event = open("eventSimulator/beaconPresentEvent.groovy", "r")
for line in event:
- extractedEvents.write("\t\t" + line)
+ extractedEvents.write(line)
event.close()
- extractedEvents.write("\t\t\t} else if (event == 1) {\n")
+ extractedEvents.write("\n\t\t\tbreak\n")
+ counter = counter + 1
+ extractedEvents.write("\t\tcase %d:\n" % counter)
if capability == "capability.presenceSensor":
event = open("eventSimulator/presenceLeftEvent.groovy", "r")
elif capability == "capability.beacon":
event = open("eventSimulator/beaconLeftEvent.groovy", "r")
for line in event:
- extractedEvents.write("\t\t" + line)
+ extractedEvents.write(line)
event.close()
- extractedEvents.write("\t\t\t}\n")
elif eventList[i] == "presence.present": #Case for Touched event
event = open("eventSimulator/presencePresencePresentEvent.groovy", "r")
for line in event:
- extractedEvents.write("\t\t" + line)
+ extractedEvents.write(line)
event.close()
elif eventList[i] == "doorState":
#Write two events subsequently
- extractedEvents.write("\t\t\tdef event = Verify.getInt(0,1)\n")
- extractedEvents.write("\t\t\tif (event == 0) {\n")
event = open("eventSimulator/doorOpenEvent.groovy", "r")
for line in event:
- extractedEvents.write("\t\t" + line)
+ extractedEvents.write(line)
event.close()
- extractedEvents.write("\t\t\t} else {\n")
+ extractedEvents.write("\n\t\t\tbreak\n")
+ counter = counter + 1
+ extractedEvents.write("\t\tcase %d:\n" % counter)
event = open("eventSimulator/doorClosedEvent.groovy", "r")
for line in event:
- extractedEvents.write("\t\t" + line)
+ extractedEvents.write(line)
event.close()
- extractedEvents.write("\t\t\t}\n")
elif eventList[i] == "motion":
#Write two events subsequently
- extractedEvents.write("\t\t\tdef event = Verify.getInt(0,1)\n")
- extractedEvents.write("\t\t\tif (event == 0) {\n")
event = open("eventSimulator/motionActiveEvent.groovy", "r")
for line in event:
- extractedEvents.write("\t\t" + line)
+ extractedEvents.write(line)
event.close()
- extractedEvents.write("\t\t\t} else {\n")
+ extractedEvents.write("\n\t\t\tbreak\n")
+ counter = counter + 1
+ extractedEvents.write("\t\tcase %d:\n" % counter)
event = open("eventSimulator/motionInactiveEvent.groovy", "r")
for line in event:
- extractedEvents.write("\t\t" + line)
+ extractedEvents.write(line)
event.close()
- extractedEvents.write("\t\t\t}\n")
elif eventList[i] == "motion.active":
event = open("eventSimulator/motionDefaultActiveEvent.groovy", "r")
for line in event:
- extractedEvents.write("\t\t" + line)
+ extractedEvents.write(line)
event.close()
elif eventList[i] == "motion.inactive":
event = open("eventSimulator/motionDefaultInactiveEvent.groovy", "r")
for line in event:
- extractedEvents.write("\t\t" + line)
+ extractedEvents.write(line)
event.close()
elif eventList[i] == "smoke":
#Write three events subsequently
- extractedEvents.write("\t\t\tdef event = Verify.getInt(0,2)\n")
- extractedEvents.write("\t\t\tif (event == 0) {\n")
event = open("eventSimulator/smokeClearEvent.groovy", "r")
for line in event:
- extractedEvents.write("\t\t" + line)
+ extractedEvents.write(line)
event.close()
- extractedEvents.write("\t\t\t} else if (event == 1) {\n")
+ extractedEvents.write("\n\t\t\tbreak\n")
+ counter = counter + 1
+ extractedEvents.write("\t\tcase %d:\n" % counter)
event = open("eventSimulator/smokeDetectedEvent.groovy", "r")
for line in event:
- extractedEvents.write("\t\t" + line)
+ extractedEvents.write(line)
event.close()
- extractedEvents.write("\t\t\t} else {\n")
+ extractedEvents.write("\n\t\t\tbreak\n")
+ counter = counter + 1
+ extractedEvents.write("\t\tcase %d:\n" % counter)
event = open("eventSimulator/smokeTestedEvent.groovy", "r")
for line in event:
- extractedEvents.write("\t\t" + line)
+ extractedEvents.write(line)
event.close()
- extractedEvents.write("\t\t\t}\n")
elif eventList[i] == "smoke.clear":
event = open("eventSimulator/smokeDefaultClearEvent.groovy", "r")
for line in event:
- extractedEvents.write("\t\t" + line)
+ extractedEvents.write(line)
event.close()
elif eventList[i] == "smoke.detected":
event = open("eventSimulator/smokeDefaultDetectedEvent.groovy", "r")
for line in event:
- extractedEvents.write("\t\t" + line)
+ extractedEvents.write(line)
event.close()
elif eventList[i] == "smoke.tested":
event = open("eventSimulator/smokeDefaultTestedEvent.groovy", "r")
for line in event:
- extractedEvents.write("\t\t" + line)
+ extractedEvents.write(line)
event.close()
elif eventList[i] == "carbonMonoxide":
#Check which capability
eventVarCount = eventVarCounterMap[eventList[i]]
eventVarCounterMap[eventList[i]] = eventVarCount + 1
capability = capabilityMap[variable[eventVarCount]]
- #Write three events subsequently
- extractedEvents.write("\t\t\tdef event = Verify.getInt(0,2)\n")
- extractedEvents.write("\t\t\tif (event == 0) {\n")
+ #Write three events subsequently
if capability == "capability.smokeDetector":
event = open("eventSimulator/smokeCarbonMonoxideClearEvent.groovy", "r")
elif capability == "capability.carbonMonoxideDetector":
event = open("eventSimulator/carbonMonoxideClearEvent.groovy", "r")
for line in event:
- extractedEvents.write("\t\t" + line)
+ extractedEvents.write(line)
event.close()
- extractedEvents.write("\t\t\t} else if (event == 1) {\n")
+ extractedEvents.write("\n\t\t\tbreak\n")
+ counter = counter + 1
+ extractedEvents.write("\t\tcase %d:\n" % counter)
if capability == "capability.smokeDetector":
event = open("eventSimulator/smokeCarbonMonoxideDetectedEvent.groovy", "r")
elif capability == "capability.carbonMonoxideDetector":
event = open("eventSimulator/carbonMonoxideDetectedEvent.groovy", "r")
for line in event:
- extractedEvents.write("\t\t" + line)
+ extractedEvents.write(line)
event.close()
- extractedEvents.write("\t\t\t} else {\n")
+ extractedEvents.write("\n\t\t\tbreak\n")
+ counter = counter + 1
+ extractedEvents.write("\t\tcase %d:\n" % counter)
if capability == "capability.smokeDetector":
event = open("eventSimulator/smokeCarbonMonoxideTestedEvent.groovy", "r")
elif capability == "capability.carbonMonoxideDetector":
event = open("eventSimulator/carbonMonoxideTestedEvent.groovy", "r")
for line in event:
- extractedEvents.write("\t\t" + line)
+ extractedEvents.write(line)
event.close()
- extractedEvents.write("\t\t\t}\n")
elif eventList[i] == "carbonMonoxide.clear":
#Check which capability
variable = eventVarMap[eventList[i]]
elif capability == "capability.carbonMonoxideDetector":
event = open("eventSimulator/carbonMonoxideDefaultClearEvent.groovy", "r")
for line in event:
- extractedEvents.write("\t\t" + line)
+ extractedEvents.write(line)
event.close()
elif eventList[i] == "carbonMonoxide.detected":
#Check which capability
elif capability == "capability.carbonMonoxideDetector":
event = open("eventSimulator/carbonMonoxideDefaultDetectedEvent.groovy", "r")
for line in event:
- extractedEvents.write("\t\t" + line)
+ extractedEvents.write(line)
event.close()
elif eventList[i] == "carbonMonoxide.tested":
#Check which capability
elif capability == "capability.carbonMonoxideDetector":
event = open("eventSimulator/carbonMonoxideDefaultTestedEvent.groovy", "r")
for line in event:
- extractedEvents.write("\t\t" + line)
+ extractedEvents.write(line)
event.close()
elif eventList[i] == "battery":
#Check which capability
event.close()
elif eventList[i] == "thermostatMode":
#Write five events subsequently
- extractedEvents.write("\t\t\tdef event = Verify.getInt(0,4)\n")
- extractedEvents.write("\t\t\tif (event == 0) {\n")
event = open("eventSimulator/thermostatAutoModeEvent.groovy", "r")
for line in event:
- extractedEvents.write("\t\t" + line)
+ extractedEvents.write(line)
event.close()
- extractedEvents.write("\t\t\t} else if (event == 1) {\n")
+ extractedEvents.write("\n\t\t\tbreak\n")
+ counter = counter + 1
+ extractedEvents.write("\t\tcase %d:\n" % counter)
event = open("eventSimulator/thermostatCoolModeEvent.groovy", "r")
for line in event:
- extractedEvents.write("\t\t" + line)
+ extractedEvents.write(line)
event.close()
- extractedEvents.write("\t\t\t} else if (event == 2) {\n")
+ extractedEvents.write("\n\t\t\tbreak\n")
+ counter = counter + 1
+ extractedEvents.write("\t\tcase %d:\n" % counter)
event = open("eventSimulator/thermostatEmergencyHeatModeEvent.groovy", "r")
for line in event:
- extractedEvents.write("\t\t" + line)
+ extractedEvents.write(line)
event.close()
- extractedEvents.write("\t\t\t} else if (event == 3) {\n")
+ extractedEvents.write("\n\t\t\tbreak\n")
+ counter = counter + 1
+ extractedEvents.write("\t\tcase %d:\n" % counter)
event = open("eventSimulator/thermostatHeatModeEvent.groovy", "r")
for line in event:
- extractedEvents.write("\t\t" + line)
+ extractedEvents.write(line)
event.close()
- extractedEvents.write("\t\t\t} else {\n")
+ extractedEvents.write("\n\t\t\tbreak\n")
+ counter = counter + 1
+ extractedEvents.write("\t\tcase %d:\n" % counter)
event = open("eventSimulator/thermostatOffModeEvent.groovy", "r")
for line in event:
- extractedEvents.write("\t\t" + line)
+ extractedEvents.write(line)
event.close()
- extractedEvents.write("\t\t\t}\n")
elif eventList[i] == "thermostatFanMode":
#Write five events subsequently
- extractedEvents.write("\t\t\tdef event = Verify.getInt(0,4)\n")
- extractedEvents.write("\t\t\tif (event == 0) {\n")
event = open("eventSimulator/thermostatAutoFanModeEvent.groovy", "r")
for line in event:
- extractedEvents.write("\t\t" + line)
+ extractedEvents.write(line)
event.close()
- extractedEvents.write("\t\t\t} else if (event == 1) {\n")
+ extractedEvents.write("\n\t\t\tbreak\n")
+ counter = counter + 1
+ extractedEvents.write("\t\tcase %d:\n" % counter)
event = open("eventSimulator/thermostatFanCirculateFanModeEvent.groovy", "r")
for line in event:
- extractedEvents.write("\t\t" + line)
+ extractedEvents.write(line)
event.close()
- extractedEvents.write("\t\t\t} else if (event == 2) {\n")
+ extractedEvents.write("\n\t\t\tbreak\n")
+ counter = counter + 1
+ extractedEvents.write("\t\tcase %d:\n" % counter)
event = open("eventSimulator/thermostatCirculateFanModeEvent.groovy", "r")
for line in event:
- extractedEvents.write("\t\t" + line)
+ extractedEvents.write(line)
event.close()
- extractedEvents.write("\t\t\t} else if (event == 3) {\n")
+ extractedEvents.write("\n\t\t\tbreak\n")
+ counter = counter + 1
+ extractedEvents.write("\t\tcase %d:\n" % counter)
event = open("eventSimulator/thermostatFanOnFanModeEvent.groovy", "r")
for line in event:
- extractedEvents.write("\t\t" + line)
+ extractedEvents.write(line)
event.close()
- extractedEvents.write("\t\t\t} else {\n")
+ extractedEvents.write("\n\t\t\tbreak\n")
+ counter = counter + 1
+ extractedEvents.write("\t\tcase %d:\n" % counter)
event = open("eventSimulator/thermostatOnFanModeEvent.groovy", "r")
for line in event:
- extractedEvents.write("\t\t" + line)
+ extractedEvents.write(line)
event.close()
- extractedEvents.write("\t\t\t}\n")
elif eventList[i] == "thermostatOperatingState":
#Write five events subsequently
- extractedEvents.write("\t\t\tdef event = Verify.getInt(0,4)\n")
- extractedEvents.write("\t\t\tif (event == 0) {\n")
event = open("eventSimulator/thermostatOperatingStateAutoEvent.groovy", "r")
for line in event:
- extractedEvents.write("\t\t" + line)
+ extractedEvents.write(line)
event.close()
- extractedEvents.write("\t\t\t} else if (event == 1) {\n")
+ extractedEvents.write("\n\t\t\tbreak\n")
+ counter = counter + 1
+ extractedEvents.write("\t\tcase %d:\n" % counter)
event = open("eventSimulator/thermostatOperatingStateCoolEvent.groovy", "r")
for line in event:
- extractedEvents.write("\t\t" + line)
+ extractedEvents.write(line)
event.close()
- extractedEvents.write("\t\t\t} else if (event == 2) {\n")
+ extractedEvents.write("\n\t\t\tbreak\n")
+ counter = counter + 1
+ extractedEvents.write("\t\tcase %d:\n" % counter)
event = open("eventSimulator/thermostatOperatingStateOffEvent.groovy", "r")
for line in event:
- extractedEvents.write("\t\t" + line)
+ extractedEvents.write(line)
event.close()
- extractedEvents.write("\t\t\t} else if (event == 3) {\n")
+ extractedEvents.write("\n\t\t\tbreak\n")
+ counter = counter + 1
+ extractedEvents.write("\t\tcase %d:\n" % counter)
event = open("eventSimulator/thermostatOperatingStateEmergencyHeatEvent.groovy", "r")
for line in event:
- extractedEvents.write("\t\t" + line)
+ extractedEvents.write(line)
event.close()
- extractedEvents.write("\t\t\t} else {\n")
+ extractedEvents.write("\n\t\t\tbreak\n")
+ counter = counter + 1
+ extractedEvents.write("\t\tcase %d:\n" % counter)
event = open("eventSimulator/thermostatOperatingStateHeatEvent.groovy", "r")
for line in event:
- extractedEvents.write("\t\t" + line)
+ extractedEvents.write(line)
event.close()
- extractedEvents.write("\t\t\t}\n")
elif eventList[i] == "switch":
#Check which capability
variable = eventVarMap[eventList[i]]
eventVarCounterMap[eventList[i]] = eventVarCount + 1
capability = capabilityMap[variable[eventVarCount]]
#Write two events subsequently
- extractedEvents.write("\t\t\tdef event = Verify.getInt(0,1)\n")
- extractedEvents.write("\t\t\tif (event == 0) {\n")
if capability == "capability.switch":
event = open("eventSimulator/switchOnEvent.groovy", "r")
elif capability == "capability.switchLevel":
elif capability == "capability.colorControl":
event = open("eventSimulator/colorControlSwitchOnEvent.groovy", "r")
for line in event:
- extractedEvents.write("\t\t" + line)
+ extractedEvents.write(line)
event.close()
- extractedEvents.write("\t\t\t} else {\n")
+ extractedEvents.write("\n\t\t\tbreak\n")
+ counter = counter + 1
+ extractedEvents.write("\t\tcase %d:\n" % counter)
if capability == "capability.switch":
event = open("eventSimulator/switchOffEvent.groovy", "r")
elif capability == "capability.switchLevel":
elif capability == "capability.colorControl":
event = open("eventSimulator/colorControlSwitchOffEvent.groovy", "r")
for line in event:
- extractedEvents.write("\t\t" + line)
+ extractedEvents.write(line)
event.close()
- extractedEvents.write("\t\t\t}\n")
elif eventList[i] == "location": #Case for Location event
#Write three events subsequently
- extractedEvents.write("\t\t\tdef event = Verify.getInt(0,2)\n")
- extractedEvents.write("\t\t\tif (event == 0) {\n")
event = open("eventSimulator/locationHomeEvent.groovy", "r")
for line in event:
- extractedEvents.write("\t\t" + line)
+ extractedEvents.write(line)
event.close()
- extractedEvents.write("\t\t\t} else if (event == 1) {\n")
+ extractedEvents.write("\n\t\t\tbreak\n")
+ counter = counter + 1
+ extractedEvents.write("\t\tcase %d:\n" % counter)
event = open("eventSimulator/locationAwayEvent.groovy", "r")
for line in event:
- extractedEvents.write("\t\t" + line)
+ extractedEvents.write(line)
event.close()
- extractedEvents.write("\t\t\t} else {\n")
+ extractedEvents.write("\n\t\t\tbreak\n")
+ counter = counter + 1
+ extractedEvents.write("\t\tcase %d:\n" % counter)
event = open("eventSimulator/locationNightEvent.groovy", "r")
for line in event:
- extractedEvents.write("\t\t" + line)
+ extractedEvents.write(line)
event.close()
- extractedEvents.write("\t\t\t}\n")
elif eventList[i] == "mode":
#Write three events subsequently
- extractedEvents.write("\t\t\tdef event = Verify.getInt(0,2)\n")
- extractedEvents.write("\t\t\tif (event == 0) {\n")
event = open("eventSimulator/modeHomeEvent.groovy", "r")
for line in event:
- extractedEvents.write("\t\t" + line)
+ extractedEvents.write(line)
event.close()
- extractedEvents.write("\t\t\t} else if (event == 1) {\n")
+ extractedEvents.write("\n\t\t\tbreak\n")
+ counter = counter + 1
+ extractedEvents.write("\t\tcase %d:\n" % counter)
event = open("eventSimulator/modeAwayEvent.groovy", "r")
for line in event:
- extractedEvents.write("\t\t" + line)
+ extractedEvents.write(line)
event.close()
- extractedEvents.write("\t\t\t} else {\n")
+ extractedEvents.write("\n\t\t\tbreak\n")
+ counter = counter + 1
+ extractedEvents.write("\t\tcase %d:\n" % counter)
event = open("eventSimulator/modeNightEvent.groovy", "r")
for line in event:
- extractedEvents.write("\t\t" + line)
+ extractedEvents.write(line)
event.close()
- extractedEvents.write("\t\t\t}\n")
elif eventList[i] == "acceleration":
#Write two events subsequently
- extractedEvents.write("\t\t\tdef event = Verify.getInt(0,1)\n")
- extractedEvents.write("\t\t\tif (event == 0) {\n")
event = open("eventSimulator/accelerationActiveEvent.groovy", "r")
for line in event:
- extractedEvents.write("\t\t" + line)
+ extractedEvents.write(line)
event.close()
- extractedEvents.write("\t\t\t} else {\n")
+ extractedEvents.write("\n\t\t\tbreak\n")
+ counter = counter + 1
+ extractedEvents.write("\t\tcase %d:\n" % counter)
event = open("eventSimulator/accelerationInactiveEvent.groovy", "r")
for line in event:
- extractedEvents.write("\t\t" + line)
+ extractedEvents.write(line)
event.close()
- extractedEvents.write("\t\t\t}\n")
elif eventList[i] == "acceleration.active":
event = open("eventSimulator/accelerationDefaultActiveEvent.groovy", "r")
for line in event:
- extractedEvents.write("\t\t" + line)
+ extractedEvents.write(line)
event.close()
elif eventList[i] == "acceleration.inactive":
event = open("eventSimulator/accelerationDefaultInactiveEvent.groovy", "r")
for line in event:
- extractedEvents.write("\t\t" + line)
+ extractedEvents.write(line)
event.close()
elif eventList[i] == "sleeping":
#Write two events subsequently
- extractedEvents.write("\t\t\tdef event = Verify.getInt(0,1)\n")
- extractedEvents.write("\t\t\tif (event == 0) {\n")
event = open("eventSimulator/sleepSleepingEvent.groovy", "r")
for line in event:
- extractedEvents.write("\t\t" + line)
+ extractedEvents.write(line)
event.close()
- extractedEvents.write("\t\t\t} else {\n")
+ extractedEvents.write("\n\t\t\tbreak\n")
+ counter = counter + 1
+ extractedEvents.write("\t\tcase %d:\n" % counter)
event = open("eventSimulator/sleepNotSleepingEvent.groovy", "r")
for line in event:
- extractedEvents.write("\t\t" + line)
+ extractedEvents.write(line)
event.close()
- extractedEvents.write("\t\t\t}\n")
elif eventList[i] == "goal":
event = open("eventSimulator/stepGoalEvent.groovy", "r")
for line in event:
event.close()
elif eventList[i] == "alarm":
#Write four events subsequently
- extractedEvents.write("\t\t\tdef event = Verify.getInt(0,3)\n")
- extractedEvents.write("\t\t\tif (event == 0) {\n")
event = open("eventSimulator/alarmBothEvent.groovy", "r")
for line in event:
- extractedEvents.write("\t\t" + line)
+ extractedEvents.write(line)
event.close()
- extractedEvents.write("\t\t\t} else if (event == 1) {\n")
+ extractedEvents.write("\n\t\t\tbreak\n")
+ counter = counter + 1
+ extractedEvents.write("\t\tcase %d:\n" % counter)
event = open("eventSimulator/alarmSirenEvent.groovy", "r")
for line in event:
- extractedEvents.write("\t\t" + line)
+ extractedEvents.write(line)
event.close()
- extractedEvents.write("\t\t\t} else if (event == 2) {\n")
+ extractedEvents.write("\n\t\t\tbreak\n")
+ counter = counter + 1
+ extractedEvents.write("\t\tcase %d:\n" % counter)
event = open("eventSimulator/alarmStrobeEvent.groovy", "r")
for line in event:
- extractedEvents.write("\t\t" + line)
+ extractedEvents.write(line)
event.close()
- extractedEvents.write("\t\t\t} else {\n")
+ extractedEvents.write("\n\t\t\tbreak\n")
+ counter = counter + 1
+ extractedEvents.write("\t\tcase %d:\n" % counter)
event = open("eventSimulator/alarmOffEvent.groovy", "r")
for line in event:
- extractedEvents.write("\t\t" + line)
+ extractedEvents.write(line)
event.close()
- extractedEvents.write("\t\t\t}\n")
elif eventList[i] == "contact":
#Check which capability
variable = eventVarMap[eventList[i]]
eventVarCounterMap[eventList[i]] = eventVarCount + 1
capability = capabilityMap[variable[eventVarCount]]
#Write two events subsequently
- extractedEvents.write("\t\t\tdef event = Verify.getInt(0,1)\n")
- extractedEvents.write("\t\t\tif (event == 0) {\n")
if capability == "capability.contactSensor":
event = open("eventSimulator/contactDefaultClosedEvent.groovy", "r")
elif capability == "capability.valve":
event = open("eventSimulator/valveClosedEvent.groovy", "r")
for line in event:
- extractedEvents.write("\t\t" + line)
+ extractedEvents.write(line)
event.close()
- extractedEvents.write("\t\t\t} else {\n")
+ extractedEvents.write("\n\t\t\tbreak\n")
+ counter = counter + 1
+ extractedEvents.write("\t\tcase %d:\n" % counter)
if capability == "capability.contactSensor":
event = open("eventSimulator/contactDefaultOpenEvent.groovy", "r")
elif capability == "capability.valve":
event = open("eventSimulator/valveOpenEvent.groovy", "r")
for line in event:
- extractedEvents.write("\t\t" + line)
+ extractedEvents.write(line)
event.close()
- extractedEvents.write("\t\t\t}\n")
elif eventList[i] == "status":
#Write three events subsequently
- extractedEvents.write("\t\t\tdef event = Verify.getInt(0,2)\n")
- extractedEvents.write("\t\t\tif (event == 0) {\n")
event = open("eventSimulator/musicPlayerPlayingEvent.groovy", "r")
for line in event:
- extractedEvents.write("\t\t" + line)
+ extractedEvents.write(line)
event.close()
- extractedEvents.write("\t\t\t} else if (event == 1) {\n")
+ extractedEvents.write("\n\t\t\tbreak\n")
+ counter = counter + 1
+ extractedEvents.write("\t\tcase %d:\n" % counter)
event = open("eventSimulator/musicPlayerStoppedEvent.groovy", "r")
for line in event:
- extractedEvents.write("\t\t" + line)
+ extractedEvents.write(line)
event.close()
- extractedEvents.write("\t\t\t} else {\n")
+ extractedEvents.write("\n\t\t\tbreak\n")
+ counter = counter + 1
+ extractedEvents.write("\t\tcase %d:\n" % counter)
event = open("eventSimulator/musicPlayerPausedEvent.groovy", "r")
for line in event:
- extractedEvents.write("\t\t" + line)
+ extractedEvents.write(line)
event.close()
- extractedEvents.write("\t\t\t}\n")
elif eventList[i] == "level":
#Check which capability
variable = eventVarMap[eventList[i]]
event.close()
elif eventList[i] == "mute":
#Write two events subsequently
- extractedEvents.write("\t\t\tdef event = Verify.getInt(0,1)\n")
- extractedEvents.write("\t\t\tif (event == 0) {\n")
event = open("eventSimulator/musicPlayerUnmutedEvent.groovy", "r")
for line in event:
- extractedEvents.write("\t\t" + line)
+ extractedEvents.write(line)
event.close()
- extractedEvents.write("\t\t\t} else {\n")
+ extractedEvents.write("\n\t\t\tbreak\n")
+ counter = counter + 1
+ extractedEvents.write("\t\tcase %d:\n" % counter)
event = open("eventSimulator/musicPlayerMutedEvent.groovy", "r")
for line in event:
- extractedEvents.write("\t\t" + line)
+ extractedEvents.write(line)
event.close()
- extractedEvents.write("\t\t\t}\n")
elif eventList[i] == "temperature":
#Check which capability
variable = eventVarMap[eventList[i]]
###TODO: Add more events later
extractedEvents.write("\n\t\t\tbreak\n")
+ counter = counter + 1
extractedEvents.write("\t}\n")
extractedEvents.write("}\n")