Merge branch 'master' of ssh://plrg.eecs.uci.edu/home/git/smartthings-infrastructure
[smartthings-infrastructure.git] / Extractor / ExtractorScript.py
index a5d46c899934a97e650c73d5a28ecd2f692dfdd3..8a888fcf194c6a5ba7364b16e0997606bbab261b 100644 (file)
@@ -47,7 +47,7 @@ eventTypeCounterMap =  {'lock': 2,
                                                'saturation' : 1,
                                                'energy' : 1,
                                                'power' : 2,
-                                               'illuminance' : 1,
+                                               'illuminance' : 2,
                                                'humidity' : 2,
                                                'alarm' : 4,
                                                'contact' : 2,
@@ -60,7 +60,7 @@ eventTypeCounterMap =  {'lock': 2,
                                                'heatingSetpoint' : 1,
                                                'coolingSetpoint' : 1,
                                                'thermostatSetpoint' : 1,
-                                                'threeAxis' : 1}
+                                               'threeAxis' : 1}
 
 # Mapping for specific event types
 eventTypesMap =           {'alarm.both': 'alarm',
@@ -261,6 +261,7 @@ def AnalyzeCapabilities(Temp, appName, F):
                        Temp == "capability.switchLevel" or
                        Temp == "capability.illuminanceMeasurement" or
                        Temp == "capability.colorControl" or
+                       Temp == "capability.colorTemperature" or
                        #Motion related
                        Temp == "capability.motionSensor" or
                        Temp == "capability.accelerationSensor" or
@@ -289,7 +290,7 @@ def AnalyzeCapabilities(Temp, appName, F):
 def AnalyzePhysicalInteraction(app1Capab, app2Capab):
        #Light
        if ("capability.illuminanceMeasurement" in app1Capab) and ("capability.switch" in app2Capab or 
-                       "capability.switchLevel" in app2Capab or "capability.colorControl" in app2Capab):
+                       "capability.switchLevel" in app2Capab or "capability.colorControl" or "capability.colorTemperature" in app2Capab):
                print ("\nWARNING: Potential PHYSICAL CONFLICT (light) detected between App1 and App2!\n")
        #Motion
        # TODO: Technically this is not entirely precise since we need to be able to detect that the other app creates motion
@@ -461,6 +462,7 @@ def ExtractEvents(extractedEvents):
                                extractedEvents.write(line)
                        event.close()
                elif eventList[i] == "motion":
+                        print("HERE????")
                        #Write two events subsequently
                        event = open("eventSimulator/motionActiveEvent.groovy", "r")                    
                        for line in event:
@@ -823,7 +825,14 @@ def ExtractEvents(extractedEvents):
                                extractedEvents.write(line)
                        event.close()
                elif eventList[i] == "illuminance":
-                       event = open("eventSimulator/illuminanceMeasurementEvent.groovy", "r")
+                       event = open("eventSimulator/illuminanceMeasurementLowEvent.groovy", "r")
+                       for line in event:
+                               extractedEvents.write(line)
+                       event.close()
+                       extractedEvents.write("\n\t\t\tbreak\n")
+                       counter = counter + 1
+                       extractedEvents.write("\t\tcase %d:\n" % counter)
+                       event = open("eventSimulator/illuminanceMeasurementHighEvent.groovy", "r")
                        for line in event:
                                extractedEvents.write(line)
                        event.close()