- final String onPairsPath = "/scratch/July-2018/on.txt";
- final String offPairsPath = "/scratch/July-2018/off.txt";
-
- // 1) TODO: D-LINK PLUG July 26 experiment
-// final String inputPcapFile = path + "/2018-07/dlink/dlink.wlan1.local.pcap";
-// final String outputPcapFile = path + "/2018-07/dlink/dlink-processed.pcap";
-// final String triggerTimesFile = path + "/2018-07/dlink/dlink-july-26-2018.timestamps";
-// final String deviceIp = "192.168.1.199"; // .246 == phone; .199 == dlink plug?
- // Actual training
-// final String inputPcapFile = path + "/2018-10/dlink-plug/dlink-plug.wlan1.local.pcap";
-// final String outputPcapFile = path + "/2018-10/dlink-plug/dlink-plug-processed.pcap";
-// final String triggerTimesFile = path + "/2018-10/dlink-plug/dlink-plug-oct-17-2018.timestamps";
-// final String deviceIp = "192.168.1.199"; // .246 == phone; .199 == dlink plug?
- // TODO: EXPERIMENT - November 7, 2018
- final String inputPcapFile = path + "/experimental_result/standalone/dlink-plug/wlan1/dlink-plug.wlan1.local.pcap";
- final String outputPcapFile = path + "/experimental_result/standalone/dlink-plug/wlan1/dlink-plug-processed.pcap";
- final String triggerTimesFile = path + "/experimental_result/standalone/dlink-plug/timestamps/dlink-plug-nov-7-2018.timestamps";
-// final String deviceIp = "192.168.1.199"; // .246 == phone; .199 == dlink plug?
- final String deviceIp = "192.168.1.246"; // .246 == phone; .199 == dlink plug?
-
- // 2) TODO: TP-LINK PLUG July 25 experiment
-// final String inputPcapFile = path + "/2018-07/tplink/tplink.wlan1.local.pcap";
-// final String outputPcapFile = path + "/2018-07/tplink/tplink-processed.pcap";
-// final String triggerTimesFile = path + "/2018-07/tplink/tplink-july-25-2018.timestamps";
-// final String deviceIp = "192.168.1.159";
- // Actual training
-// final String inputPcapFile = path + "/2018-10/tplink-plug/tplink-plug.wlan1.local.pcap";
-// final String outputPcapFile = path + "/2018-10/tplink-plug/tplink-plug-processed.pcap";
-// final String triggerTimesFile = path + "/2018-10/tplink-plug/tplink-plug-oct-17-2018.timestamps";
-// final String deviceIp = "192.168.1.159"; // .246 == phone; .159 == tplink plug
- // TODO: EXPERIMENT - November 8, 2018
-// final String inputPcapFile = path + "/experimental_result/standalone/tplink-plug/wlan1/tplink-plug.wlan1.local.pcap";
-// final String outputPcapFile = path + "/experimental_result/standalone/tplink-plug/wlan1/tplink-plug-processed.pcap";
-// final String triggerTimesFile = path + "/experimental_result/standalone/tplink-plug/timestamps/tplink-plug-nov-8-2018.timestamps";
-// final String deviceIp = "192.168.1.159"; // .246 == phone; .159 == tplink plug
-//// final String deviceIp = "192.168.1.246"; // .246 == phone; .159 == tplink plug
-
- // 2b) TP-Link July 25 experiment TRUNCATED:
- // Only contains "true local" events, i.e., before the behavior changes to remote-like behavior.
- // Last included event is at July 25 10:38:11; file filtered to only include packets with arrival time <= 10:38:27.
-// final String inputPcapFile = path + "/2018-07/tplink/tplink.wlan1.local.truncated.pcap";
-// final String outputPcapFile = path + "/2018-07/tplink/tplink-processed.truncated.pcap";
-// final String triggerTimesFile = path + "/2018-07/tplink/tplink-july-25-2018.truncated.timestamps";
-// final String deviceIp = "192.168.1.159";
-
- // 3) TODO: SMARTTHINGS PLUG July 25 experiment
-// final String inputPcapFile = path + "/2018-07/stplug/stplug.wlan1.local.pcap";
-// final String outputPcapFile = path + "/2018-07/stplug/stplug-processed.pcap";
-// final String triggerTimesFile = path + "/2018-07/stplug/smartthings-july-25-2018.timestamps";
-// final String deviceIp = "192.168.1.246"; // .246 == phone; .142 == SmartThings Hub (note: use eth0 capture for this!)
- // October 18
-// final String inputPcapFile = path + "/2018-10/st-plug/st-plug.wlan1.local.pcap";
-// final String outputPcapFile = path + "/2018-10/st-plug/st-plug-processed.pcap";
-// final String triggerTimesFile = path + "/2018-10/st-plug/st-plug-oct-18-2018.timestamps";
-// final String deviceIp = "192.168.1.246"; // .246 == phone; .142 == SmartThings Hub (note: use eth0 capture for this!)
- // TODO: EXPERIMENT - November 12, 2018
-// final String inputPcapFile = path + "/experimental_result/standalone/st-plug/wlan1/st-plug.wlan1.local.pcap";
-// final String outputPcapFile = path + "/experimental_result/standalone/st-plug/wlan1/st-plug-processed.pcap";
-//// final String inputPcapFile = path + "/experimental_result/standalone/st-plug/eth1/st-plug.eth1.local.pcap";
-//// final String outputPcapFile = path + "/experimental_result/standalone/st-plug/eth1/st-plug-processed.pcap";
-// final String triggerTimesFile = path + "/experimental_result/standalone/st-plug/timestamps/st-plug-nov-12-2018.timestamps";
-//// final String deviceIp = "192.168.1.142"; // .246 == phone; .142 == SmartThings Hub (note: use eth0 capture for this!)
-// final String deviceIp = "192.168.1.246"; // .246 == phone; .142 == SmartThings Hub (note: use eth0 capture for this!)
-
- // 4) TODO: WEMO PLUG July 30 experiment
-// final String inputPcapFile = path + "/2018-07/wemo/wemo.wlan1.local.pcap";
-// final String outputPcapFile = path + "/2018-07/wemo/wemo-processed.pcap";
-// final String triggerTimesFile = path + "/2018-07/wemo/wemo-july-30-2018.timestamps";
-// final String deviceIp = "192.168.1.145"; // .246 == phone; .145 == WeMo
- // TODO: EXPERIMENT - November 20, 2018
-// final String inputPcapFile = path + "/experimental_result/standalone/wemo-plug/wlan1/wemo-plug.wlan1.local.pcap";
-// final String outputPcapFile = path + "/experimental_result/standalone/wemo-plug/wlan1/wemo-plug-processed.pcap";
-// final String triggerTimesFile = path + "/experimental_result/standalone/wemo-plug/timestamps/wemo-plug-nov-20-2018.timestamps";
-//// final String deviceIp = "192.168.1.145"; // .246 == phone; .145 == WeMo
-// final String deviceIp = "192.168.1.246"; // .246 == phone; .145 == WeMo
-
- // 5) TODO: WEMO INSIGHT July 31 experiment
-// final String inputPcapFile = path + "/2018-07/wemoinsight/wemoinsight.wlan1.local.pcap";
-// final String outputPcapFile = path + "/2018-07/wemoinsight/wemoinsight-processed.pcap";
-// final String triggerTimesFile = path + "/2018-07/wemoinsight/wemo-insight-july-31-2018.timestamps";
-// final String deviceIp = "192.168.1.135";
- // TODO: EXPERIMENT - November 21, 2018
-// final String inputPcapFile = path + "/experimental_result/standalone/wemo-insight-plug/wlan1/wemo-insight-plug.wlan1.local.pcap";
-// final String outputPcapFile = path + "/experimental_result/standalone/wemo-insight-plug/wlan1/wemo-insight-plug-processed.pcap";
-// final String triggerTimesFile = path + "/experimental_result/standalone/wemo-insight-plug/timestamps/wemo-insight-plug-nov-21-2018.timestamps";
-//// final String deviceIp = "192.168.1.145"; // .246 == phone; .135 == WeMo Insight
-// final String deviceIp = "192.168.1.246"; // .246 == phone; .135 == WeMo Insight
-
- // 6) TODO: TP-LINK BULB August 1 experiment
-// final String inputPcapFile = path + "/2018-08/tplink-bulb/tplinkbulb.wlan1.local.pcap";
-// final String outputPcapFile = path + "/2018-08/tplink-bulb/tplinkbulb-processed.pcap";
-// final String triggerTimesFile = path + "/2018-08/tplink-bulb/tplink-bulb-aug-3-2018.timestamps";
-// final String deviceIp = "192.168.1.246"; // .246 == phone; .140 == TP-Link bulb
- // TODO: EXPERIMENT - November 16, 2018
-// final String inputPcapFile = path + "/experimental_result/standalone/tplink-bulb/wlan1/tplink-bulb.wlan1.local.pcap";
-// final String outputPcapFile = path + "/experimental_result/standalone/tplink-bulb/wlan1/tplink-bulb-processed.pcap";
-//// final String inputPcapFile = path + "/experimental_result/standalone/tplink-bulb/eth0/tplink-bulb.eth1.local.pcap";
-//// final String outputPcapFile = path + "/experimental_result/standalone/tplink-bulb/eth0/tplink-bulb-processed.pcap";
-// final String triggerTimesFile = path + "/experimental_result/standalone/tplink-bulb/timestamps/tplink-bulb-nov-16-2018.timestamps";
-//// final String deviceIp = "192.168.1.140"; // .246 == phone; .140 == TP-Link bulb
-// final String deviceIp = "192.168.1.246"; // .246 == phone; .140 == TP-Link bulb
-
- // 7) TODO: KWIKSET DOORLOCK August 6 experiment
-// final String inputPcapFile = path + "/2018-08/kwikset-doorlock/kwikset-doorlock.data.wlan1.pcap";
-//// final String inputPcapFile = path + "/2018-08/kwikset-doorlock/kwikset-doorlock.wlan1.local.pcap";
-// final String outputPcapFile = path + "/2018-08/kwikset-doorlock/kwikset-doorlock-processed.pcap";
-//// final String triggerTimesFile = path + "/2018-08/kwikset-doorlock/kwikset-doorlock-aug-6-2018.timestamps";
-// final String triggerTimesFile = path + "/2018-08/kwikset-doorlock/kwikset-doorlock-8hr-data-oct-11-2018.timestamps";
-// final String deviceIp = "192.168.1.246"; // .246 == phone; .142 == SmartThings Hub (note: use eth0 capture for this!)
- // TODO: EXPERIMENT - November 10, 2018
-// final String inputPcapFile = path + "/experimental_result/standalone/kwikset-doorlock/wlan1/kwikset-doorlock.wlan1.local.pcap";
-// final String outputPcapFile = path + "/experimental_result/standalone/kwikset-doorlock/wlan1/kwikset-doorlock-processed.pcap";
-//// final String inputPcapFile = path + "/experimental_result/standalone/kwikset-doorlock/eth1/kwikset-doorlock.eth1.local.pcap";
-//// final String outputPcapFile = path + "/experimental_result/standalone/kwikset-doorlock/eth1/kwikset-doorlock-processed.pcap";
-// final String triggerTimesFile = path + "/experimental_result/standalone/kwikset-doorlock/timestamps/kwikset-doorlock-nov-10-2018.timestamps";
-//// final String deviceIp = "192.168.1.142"; // .246 == phone; .142 == SmartThings Hub (note: use eth0 capture for this!)
-// final String deviceIp = "192.168.1.246"; // .246 == phone; .142 == SmartThings Hub (note: use eth0 capture for this!)
-
- // September 12, 2018 - includes both wlan1 and eth1 interfaces
-// final String inputPcapFile = path + "/2018-08/kwikset-doorlock/kwikset3.wlan1.local.pcap";
-// //final String inputPcapFile = path + "/2018-08/kwikset-doorlock/kwikset3.eth1.local.pcap";
-// final String outputPcapFile = path + "/2018-08/kwikset-doorlock/kwikset3-processed.pcap";
-// final String triggerTimesFile = path + "/2018-08/kwikset-doorlock/kwikset-doorlock-sept-12-2018.timestamps";
-// final String deviceIp = "192.168.1.246"; // .246 == phone; .142 == SmartThings Hub (note: use eth0 capture for this!)
-
- // 8) TODO: HUE BULB August 7 experiment
-// final String inputPcapFile = path + "/2018-08/hue-bulb/hue-bulb.wlan1.local.pcap";
-// final String outputPcapFile = path + "/2018-08/hue-bulb/hue-bulb-processed.pcap";
-// final String triggerTimesFile = path + "/2018-08/hue-bulb/hue-bulb-aug-7-2018.timestamps";
-// final String deviceIp = "192.168.1.246";
- // October 30 experiment
-// final String inputPcapFile = path + "/2018-10/hue-bulb/hue-bulb.wlan1.local.pcap";
-// final String outputPcapFile = path + "/2018-10/hue-bulb/hue-bulb-processed.pcap";
-// final String triggerTimesFile = path + "/2018-10/hue-bulb/hue-bulb-oct-30-2018.timestamps";
-// final String deviceIp = "192.168.1.246"; // .246 == phone; .100 == Hue hub
- // TODO: EXPERIMENT - November 19, 2018
-// final String inputPcapFile = path + "/experimental_result/standalone/hue-bulb/wlan1/hue-bulb.wlan1.local.pcap";
-// final String outputPcapFile = path + "/experimental_result/standalone/hue-bulb/wlan1/hue-bulb-processed.pcap";
-// final String triggerTimesFile = path + "/experimental_result/standalone/hue-bulb/timestamps/hue-bulb-nov-19-2018.timestamps";
-//// final String deviceIp = "192.168.1.100"; // .246 == phone; .100 == Hue hub
-// final String deviceIp = "192.168.1.246"; // .246 == phone; .100 == Hue hub
-
- // 9) TODO: LIFX BULB August 8 experiment
-// final String inputPcapFile = path + "/2018-08/lifx-bulb/lifx-bulb.wlan1.local.pcap";
-// final String outputPcapFile = path + "/2018-08/lifx-bulb/lifx-bulb-processed.pcap";
-// final String triggerTimesFile = path + "/2018-08/lifx-bulb/lifx-bulb-aug-8-2018.timestamps";
-// final String deviceIp = "192.168.1.246"; // .246 == phone; .231 == Lifx
- // October 18
-// final String inputPcapFile = path + "/2018-10/lifx-bulb/lifx-bulb.wlan1.local.pcap";
-// final String outputPcapFile = path + "/2018-10/lifx-bulb/lifx-bulb-processed.pcap";
-// final String triggerTimesFile = path + "/2018-10/lifx-bulb/lifx-bulb-oct-18-2018.timestamps";
-// final String deviceIp = "192.168.1.231"; // .246 == phone; .231 == Lifx
- // November 1
-// final String inputPcapFile = path + "/2018-10/lifx-bulb/lifx-bulb.wlan1.local.pcap";
-// final String outputPcapFile = path + "/2018-10/lifx-bulb/lifx-bulb-processed.pcap";
-// final String triggerTimesFile = path + "/2018-10/lifx-bulb/lifx-bulb-nov-1-2018.timestamps";
-// final String deviceIp = "192.168.1.231"; // .246 == phone; .231 == Lifx
-
- // 10) TODO: AMCREST CAMERA August 9 experiment
-// final String inputPcapFile = path + "/2018-08/amcrest-camera/amcrest-camera.wlan1.local.pcap";
-// final String outputPcapFile = path + "/2018-08/amcrest-camera/amcrest-camera-processed.pcap";
-// final String triggerTimesFile = path + "/2018-08/amcrest-camera/amcrest-camera-aug-9-2018.timestamps";
-// final String deviceIp = "192.168.1.246"; // .246 == phone; .235 == camera
-
- // 11) TODO: ARLO CAMERA August 10 experiment
-// final String inputPcapFile = path + "/2018-08/arlo-camera/arlo-camera.wlan1.local.pcap";
-// final String outputPcapFile = path + "/2018-08/arlo-camera/arlo-camera-processed.pcap";
-// final String triggerTimesFile = path + "/2018-08/arlo-camera/arlo-camera-aug-10-2018.timestamps";
-// final String deviceIp = "192.168.1.246"; // .246 == phone; .140 == camera
- // TODO: EXPERIMENT - November 13, 2018
-// final String inputPcapFile = path + "/experimental_result/standalone/arlo-camera/wlan1/arlo-camera.wlan1.local.pcap";
-// final String outputPcapFile = path + "/experimental_result/standalone/arlo-camera/wlan1/arlo-camera-processed.pcap";
-//// final String inputPcapFile = path + "/experimental_result/standalone/arlo-camera/eth0/arlo-camera.eth1.local.pcap";
-//// final String outputPcapFile = path + "/experimental_result/standalone/arlo-camera/eth0/arlo-camera-processed.pcap";
-// final String triggerTimesFile = path + "/experimental_result/standalone/arlo-camera/timestamps/arlo-camera-nov-13-2018.timestamps";
-//// final String deviceIp = "192.168.1.140"; // .246 == phone; .140 == camera
-// final String deviceIp = "192.168.1.246"; // .246 == phone; .140 == camera
-
- // 12) TODO: BLOSSOM SPRINKLER August 13 experiment
-// final String inputPcapFile = path + "/2018-08/blossom/blossom.wlan1.local.pcap";
-// final String outputPcapFile = path + "/2018-08/blossom/blossom-processed.pcap";
-// final String triggerTimesFile = path + "/2018-08/blossom/blossom-aug-13-2018.timestamps";
-// final String deviceIp = "192.168.1.229"; // .246 == phone; .229 == sprinkler
-// // 2 November
-// final String inputPcapFile = path + "/2018-10/blossom-sprinkler/blossom-sprinkler.wlan1.local.pcap";
-// final String outputPcapFile = path + "/2018-10/blossom-sprinkler/blossom-sprinkler-processed.pcap";
-// final String triggerTimesFile = path + "/2018-10/blossom-sprinkler/blossom-sprinkler-nov-2-2018.timestamps";
-// final String deviceIp = "192.168.1.229"; // .246 == phone; .229 == sprinkler
- // TODO: EXPERIMENT - January 9, 11, 13, 14
-// final String inputPcapFile = path + "/experimental_result/standalone/blossom-sprinkler/wlan1/blossom-sprinkler.wlan1.local.pcap";
-// final String outputPcapFile = path + "/experimental_result/standalone/blossom-sprinkler/wlan1/blossom-sprinkler-processed.pcap";
-// final String triggerTimesFile = path + "/experimental_result/standalone/blossom-sprinkler/timestamps/blossom-sprinkler-standalone-jan-14-2019.timestamps";
-//// final String triggerTimesFile = path + "/experimental_result/standalone/blossom-sprinkler/timestamps/blossom-sprinkler-standalone-jan-11-2019.timestamps";
-// final String deviceIp = "192.168.1.246"; // .246 == phone; .229 == sprinkler
-//// final String deviceIp = "192.168.1.229"; // .246 == phone; .229 == sprinkler
-
-// // 13) TODO: D-LINK SIREN August 14 experiment
-// final String inputPcapFile = path + "/2018-08/dlink-siren/dlink-siren.wlan1.local.pcap";
-// //final String inputPcapFile = path + "/evaluation/dlink-siren/dlink-siren.data.wlan1.pcap";
-// final String outputPcapFile = path + "/2018-08/dlink-siren/dlink-siren-processed.pcap";
-// final String triggerTimesFile = path + "/2018-08/dlink-siren/dlink-siren-oct-12-2018.timestamps";
-// //final String triggerTimesFile = path + "/2018-08/dlink-siren/dlink-siren-aug-14-2018.timestamps";
-// //final String triggerTimesFile = path + "/actual/timestamps/dlink-siren-8hr-data-oct-10-2018.timestamps";
-// final String deviceIp = "192.168.1.246"; // .246 == phone; .183 == siren
- // TODO: EXPERIMENT - November 9, 2018
-// final String inputPcapFile = path + "/experimental_result/standalone/dlink-siren/wlan1/dlink-siren.wlan1.local.pcap";
-// final String outputPcapFile = path + "/experimental_result/standalone/dlink-siren/wlan1/dlink-siren-processed.pcap";
-// final String triggerTimesFile = path + "/experimental_result/standalone/dlink-siren/timestamps/dlink-siren-nov-9-2018.timestamps";
-//// final String deviceIp = "192.168.1.183"; // .246 == phone; .183 == siren
-// final String deviceIp = "192.168.1.246"; // .246 == phone; .183 == siren
-
- // 14) TODO: NEST THERMOSTAT August 15 experiment
-// final String inputPcapFile = path + "/2018-08/nest/nest.wlan1.local.pcap";
-// final String outputPcapFile = path + "/2018-08/nest/nest-processed.pcap";
-// final String triggerTimesFile = path + "/2018-08/nest/nest-aug-15-2018.timestamps";
-// final String deviceIp = "192.168.1.246"; // .246 == phone; .127 == Nest thermostat
-// // TODO: EXPERIMENT - November 14, 2018
-// final String inputPcapFile = path + "/experimental_result/standalone/nest-thermostat/wlan1/nest-thermostat.wlan1.local.pcap";
-// final String outputPcapFile = path + "/experimental_result/standalone/nest-thermostat/wlan1/nest-thermostat-processed.pcap";
-//// final String inputPcapFile = path + "/experimental_result/standalone/nest-thermostat/eth0/nest-thermostat.eth1.local.pcap";
-//// final String outputPcapFile = path + "/experimental_result/standalone/nest-thermostat/eth0/nest-thermostat-processed.pcap";
-// final String triggerTimesFile = path + "/experimental_result/standalone/nest-thermostat/timestamps/nest-thermostat-nov-15-2018.timestamps";
-//// final String deviceIp = "192.168.1.127"; // .246 == phone; .127 == Nest thermostat
-// final String deviceIp = "192.168.1.246"; // .246 == phone; .127 == Nest thermostat
-
- // 15) Alexa August 16 experiment
-// final String inputPcapFile = path + "/2018-08/alexa/alexa.wlan1.local.pcap";
-// final String outputPcapFile = path + "/2018-08/alexa/alexa-processed.pcap";
-// final String triggerTimesFile = path + "/2018-08/alexa/alexa-aug-16-2018.timestamps";
-// final String deviceIp = "192.168.1.225"; // .246 == phone; .225 == Alexa
- // August 17
-// final String inputPcapFile = path + "/2018-08/alexa/alexa2.wlan1.local.pcap";
-// final String outputPcapFile = path + "/2018-08/alexa/alexa2-processed.pcap";
-// final String triggerTimesFile = path + "/2018-08/alexa/alexa-aug-17-2018.timestamps";
-// final String deviceIp = "192.168.1.225"; // .246 == phone; .225 == Alexa
-
- // September 17
-// final String inputPcapFile = path + "/2018-08/noise/noise.eth1.pcap";
-// final String outputPcapFile = path + "/2018-08/noise/noise-processed.pcap";
-// final String triggerTimesFile = path + "/2018-08/noise/noise-sept-17-2018.timestamps";
-// final String deviceIp = "192.168.1.142"; // .142 == SmartThings Hub; .199 == dlink plug; .183 == siren
- // September 26 - D-Link noise
-// final String inputPcapFile = path + "/2018-08/noise/noise.dlink.wlan1.pcap";
-// final String outputPcapFile = path + "/2018-08/noise/noise-processed.pcap";
-// final String triggerTimesFile = path + "/2018-08/noise/dlink-noise-sept-26-2018.timestamps";
-// final String deviceIp = "192.168.1.183"; // .199 == dlink plug; .183 == siren
- // September 27 - Kwikset noise
-// final String inputPcapFile = path + "/2018-08/noise/noise.kwikset.eth1.pcap";
-// final String outputPcapFile = path + "/2018-08/noise/noise-processed.pcap";
-// final String triggerTimesFile = path + "/2018-08/noise/kwikset-doorlock-noise-sept-27-2018.timestamps";
-// final String deviceIp = "192.168.1.142"; // .142 == SmartThings Hub;
-
- // TODO: The below part is just for 15-second time sensitivity experiment
- // TODO: The below part is just for 15-second time sensitivity experiment
- // TODO: The below part is just for 15-second time sensitivity experiment
- // D-Link plug
-// final String triggerTimesFile = path + "/experimental_result/standalone/dlink-plug/timestamps/dlink-plug-nov-7-2018.timestamps";
-//// final String onSignatureFile = path + "/experimental_result/standalone/dlink-plug/signatures/dlink-plug-onSignature-phone-side.sig";
-//// final String offSignatureFile = path + "/experimental_result/standalone/dlink-plug/signatures/dlink-plug-offSignature-phone-side.sig";
-// final String onSignatureFile = path + "/experimental_result/standalone/dlink-plug/signatures/dlink-plug-onSignature-device-side.sig";
-// final String offSignatureFile = path + "/experimental_result/standalone/dlink-plug/signatures/dlink-plug-offSignature-device-side.sig";
- // TP-Link plug
-// final String triggerTimesFile = path + "/experimental_result/standalone/tplink-plug/timestamps/tplink-plug-nov-8-2018.timestamps";
-////// final String onSignatureFile = path + "/experimental_result/standalone/tplink-plug/signatures/tplink-plug-onSignature-phone-side.sig";
-////// final String offSignatureFile = path + "/experimental_result/standalone/tplink-plug/signatures/tplink-plug-offSignature-phone-side.sig";
-//// final String onSignatureFile = path + "/experimental_result/standalone/tplink-plug/signatures/tplink-plug-onSignature-device-side-outbound.sig";
-//// final String offSignatureFile = path + "/experimental_result/standalone/tplink-plug/signatures/tplink-plug-offSignature-device-side-outbound.sig";
-// final String onSignatureFile = path + "/experimental_result/standalone/tplink-plug/signatures/tplink-plug-onSignature-device-side.sig";
-// final String offSignatureFile = path + "/experimental_result/standalone/tplink-plug/signatures/tplink-plug-offSignature-device-side.sig";
-
- // D-Link siren
-// final String triggerTimesFile = path + "/experimental_result/standalone/dlink-siren/timestamps/dlink-siren-nov-9-2018.timestamps";
-// final String onSignatureFile = path + "/experimental_result/standalone/dlink-siren/signatures/dlink-siren-onSignature-phone-side.sig";
-// final String offSignatureFile = path + "/experimental_result/standalone/dlink-siren/signatures/dlink-siren-offSignature-phone-side.sig";
- // Kwikset door lock
-// final String triggerTimesFile = path + "/experimental_result/standalone/kwikset-doorlock/timestamps/kwikset-doorlock-nov-10-2018.timestamps";
-// final String onSignatureFile = path + "/experimental_result/standalone/kwikset-doorlock/signatures/kwikset-doorlock-onSignature-phone-side.sig";
-// final String offSignatureFile = path + "/experimental_result/standalone/kwikset-doorlock/signatures/kwikset-doorlock-offSignature-phone-side.sig";
- // SmartThings plug
-// final String triggerTimesFile = path + "/experimental_result/standalone/st-plug/timestamps/st-plug-nov-12-2018.timestamps";
-// final String onSignatureFile = path + "/experimental_result/standalone/st-plug/signatures/st-plug-onSignature-phone-side.sig";
-// final String offSignatureFile = path + "/experimental_result/standalone/st-plug/signatures/st-plug-offSignature-phone-side.sig";
- // Arlo Q
-// final String triggerTimesFile = path + "/experimental_result/standalone/arlo-camera/timestamps/arlo-camera-nov-13-2018.timestamps";
-// final String onSignatureFile = path + "/experimental_result/standalone/arlo-camera/signatures/arlo-camera-onSignature-phone-side.complete.sig";
-// final String offSignatureFile = path + "/experimental_result/standalone/arlo-camera/signatures/arlo-camera-offSignature-phone-side.complete.sig";
- // Nest thermostat
-// final String triggerTimesFile = path + "/experimental_result/standalone/nest-thermostat/timestamps/nest-thermostat-nov-15-2018.timestamps";
-// final String onSignatureFile = path + "/experimental_result/standalone/nest-thermostat/signatures/nest-thermostat-onSignature-phone-side.sig";
-// final String offSignatureFile = path + "/experimental_result/standalone/nest-thermostat/signatures/nest-thermostat-offSignature-phone-side.sig";
- // Blossom sprinkler
-// final String triggerTimesFile = path + "/experimental_result/standalone/blossom-sprinkler/timestamps/blossom-sprinkler-standalone-jan-14-2019.timestamps";
-// final String onSignatureFile = path + "/experimental_result/standalone/blossom-sprinkler/signatures/blossom-sprinkler-onSignature-device-side.sig";
-// final String offSignatureFile = path + "/experimental_result/standalone/blossom-sprinkler/signatures/blossom-sprinkler-offSignature-device-side.sig";
-// final String onSignatureFile = path + "/experimental_result/standalone/blossom-sprinkler/signatures/blossom-sprinkler-onSignature-phone-side.sig";
-// final String offSignatureFile = path + "/experimental_result/standalone/blossom-sprinkler/signatures/blossom-sprinkler-offSignature-phone-side.sig";
- // TP-Link bulb
-// final String triggerTimesFile = path + "/experimental_result/standalone/tplink-bulb/timestamps/tplink-bulb-nov-16-2018.timestamps";
-// final String onSignatureFile = path + "/experimental_result/standalone/tplink-bulb/signatures/tplink-bulb-onSignature-phone-side.sig";
-// final String offSignatureFile = path + "/experimental_result/standalone/tplink-bulb/signatures/tplink-bulb-offSignature-phone-side.sig";
- // Philips hue
-// final String triggerTimesFile = path + "/2018-08/hue-bulb/hue-bulb-aug-7-2018.timestamps";
-// final String onSignatureFile = path + "/training/hue-bulb/signatures/hue-bulb-onSignature-phone-side.sig";
-// final String offSignatureFile = path + "/training/hue-bulb/signatures/hue-bulb-offSignature-phone-side.sig";
- // WeMo plug
-// final String triggerTimesFile = path + "/experimental_result/standalone/wemo-plug/timestamps/wemo-plug-nov-20-2018.timestamps";
-// final String onSignatureFile = path + "/experimental_result/standalone/wemo-plug/signatures/wemo-plug-onSignature-phone-side.sig";
-// final String offSignatureFile = path + "/experimental_result/standalone/wemo-plug/signatures/wemo-plug-offSignature-phone-side.sig";
- // WeMo Insight plug
-// final String triggerTimesFile = path + "/experimental_result/standalone/wemo-insight-plug/timestamps/wemo-insight-plug-nov-21-2018.timestamps";
-// final String onSignatureFile = path + "/experimental_result/standalone/wemo-insight-plug/signatures/wemo-insight-plug-onSignature-phone-side.sig";
-// final String offSignatureFile = path + "/experimental_result/standalone/wemo-insight-plug/signatures/wemo-insight-plug-offSignature-phone-side.sig";
-
-
-// TriggerTimesFileReader ttfr = new TriggerTimesFileReader();
-// List<Instant> triggerTimes = ttfr.readTriggerTimes(triggerTimesFile, false);
-//
-// System.out.println("ON signature file in use is " + onSignatureFile);
-// System.out.println("OFF signature file in use is " + offSignatureFile);
-//
-// List<List<List<PcapPacket>>> onSignature = PrintUtils.deserializeFromFile(onSignatureFile);
-// List<List<List<PcapPacket>>> offSignature = PrintUtils.deserializeFromFile(offSignatureFile);
-//
-// List<Instant> signatureTimestamps = new ArrayList<>();
-// // Load ON signature last packet's timestamp
-// // Get the last only
-// List<List<PcapPacket>> lastListOn = onSignature.get(onSignature.size()-1);
-// for (List<PcapPacket> list : lastListOn) {
-// // Get timestamp Instant from the last packet
-// int lastPacketIndex = list.size()-1;
-// signatureTimestamps.add(list.get(lastPacketIndex).getTimestamp());
-// }
-// // Load OFF signature last packet's timestamp
-// // Get the last only
-// List<List<PcapPacket>> lastListOff = offSignature.get(offSignature.size()-1);
-// for (List<PcapPacket> list : lastListOff) {
-// // Get timestamp Instant from the last packet
-// int lastPacketIndex = list.size()-1;
-// signatureTimestamps.add(list.get(lastPacketIndex).getTimestamp());
-// }
-// // Sort the timestamps
-// signatureTimestamps.sort((p1, p2) -> {
-// return p1.compareTo(p2);
-// });
-//
-// Iterator<Instant> iterTrig = triggerTimes.iterator();
-// Iterator<Instant> iterSign = signatureTimestamps.iterator();
-// System.out.println("Trigger to Last Packet:");
-// while (iterTrig.hasNext() && iterSign.hasNext()) {
-// Instant trigInst = (Instant) iterTrig.next();
-// Instant signInst = (Instant) iterSign.next();
-// Duration dur = Duration.between(trigInst, signInst);
-// long duration = dur.toMillis();
-// // Check duration --- should be below 15 seconds
-// if (duration >= 0 && duration <= 15000) {
-// System.out.println(dur.toMillis());
-// } else if (duration > 15000) {
-// while (duration > 15000) { // that means we have to move to the next trigger
-// trigInst = (Instant) iterTrig.next();
-// dur = Duration.between(trigInst, signInst);
-// duration = dur.toMillis();
-// }
-// System.out.println(dur.toMillis());
-// } else { // below 0 / negative --- that means we have to move to the next signature
-// while (duration < 0) { // that means we have to move to the next trigger
-// signInst = (Instant) iterSign.next();
-// dur = Duration.between(trigInst, signInst);
-// duration = dur.toMillis();
-// }
-// System.out.println(dur.toMillis());
-// }
-// }
-//
-//
-// // ==========================================================================
-// List<Instant> firstSignatureTimestamps = new ArrayList<>();
-// List<Instant> lastSignatureTimestamps = new ArrayList<>();
-// List<List<PcapPacket>> firstListOnSign = onSignature.get(0);
-// List<List<PcapPacket>> lastListOnSign = onSignature.get(onSignature.size()-1);
-// // Load ON signature first and last packet's timestamps
-// for (List<PcapPacket> list : firstListOnSign) {
-// // Get timestamp Instant from the last packet
-// firstSignatureTimestamps.add(list.get(0).getTimestamp());
-// }
-// for (List<PcapPacket> list : lastListOnSign) {
-// // Get timestamp Instant from the last packet
-// int lastPacketIndex = list.size()-1;
-// lastSignatureTimestamps.add(list.get(lastPacketIndex).getTimestamp());
-// }
-//
-// List<List<PcapPacket>> firstListOffSign = offSignature.get(0);
-// List<List<PcapPacket>> lastListOffSign = offSignature.get(offSignature.size()-1);
-// // Load OFF signature first and last packet's timestamps
-// for (List<PcapPacket> list : firstListOffSign) {
-// // Get timestamp Instant from the last packet
-// firstSignatureTimestamps.add(list.get(0).getTimestamp());
-// }
-// for (List<PcapPacket> list : lastListOffSign) {
-// // Get timestamp Instant from the last packet
-// int lastPacketIndex = list.size()-1;
-// lastSignatureTimestamps.add(list.get(lastPacketIndex).getTimestamp());
-// }
-// // Sort the timestamps
-// firstSignatureTimestamps.sort((p1, p2) -> {
-// return p1.compareTo(p2);
-// });
-// // Sort the timestamps
-// lastSignatureTimestamps.sort((p1, p2) -> {
-// return p1.compareTo(p2);
-// });
-//
-// Iterator<Instant> iterFirst = firstSignatureTimestamps.iterator();
-// Iterator<Instant> iterLast = lastSignatureTimestamps.iterator();
-// System.out.println("First to Last Packet:");
-// while (iterFirst.hasNext() && iterLast.hasNext()) {
-// Instant firstInst = (Instant) iterFirst.next();
-// Instant lastInst = (Instant) iterLast.next();
-// Duration dur = Duration.between(firstInst, lastInst);
-// long duration = dur.toMillis();
-// // Check duration --- should be below 15 seconds
-// if (duration >= 0 && duration <= 15000) {
-// System.out.println(dur.toMillis());
-// } else if (duration > 15000) {
-// while (duration > 15000) { // that means we have to move to the next trigger
-// firstInst = (Instant) iterFirst.next();
-// dur = Duration.between(firstInst, lastInst);
-// duration = dur.toMillis();
-// }
-// System.out.println(dur.toMillis());
-// } else { // below 0 / negative --- that means we have to move to the next signature
-// while (duration < 0) { // that means we have to move to the next trigger
-// lastInst = (Instant) iterLast.next();
-// dur = Duration.between(firstInst, lastInst);
-// duration = dur.toMillis();
-// }
-// System.out.println(dur.toMillis());
-// }
-// if (duration > 8000) {
-// break;
-// }
-// }
-
- // TODO: The above part is just for 15-second time sensitivity experiment
- // TODO: The above part is just for 15-second time sensitivity experiment
- // TODO: The above part is just for 15-second time sensitivity experiment
-
-
-