Update groveStreams.groovy
[smartapps.git] / official / lighting-director.groovy
index 29dea73c36868d2d0c13994668093308f52d8774..5f42ace64ba39a3d369c64a5a046842cd109b0fa 100755 (executable)
@@ -83,7 +83,7 @@ def pageSetup() {
 
 // Show "pageSetupScenarioA" page
 def pageSetupScenarioA() {
-
+    //input name: "A_switches", type: "capability.switch", title: "Control the following switches...", multiple: true, required: false
     def inputLightsA = [
         name:       "A_switches",
         type:       "capability.switch",
@@ -91,6 +91,7 @@ def pageSetupScenarioA() {
         multiple:   true,
         required:   false
     ]
+    //input name: "A_dimmers", type: "capability.switchLevel", title: "Dim the following...", multiple: true, required: false
     def inputDimmersA = [
         name:       "A_dimmers",
         type:       "capability.switchLevel",
@@ -98,7 +99,7 @@ def pageSetupScenarioA() {
         multiple:   true,
         required:   false
     ]
-
+    //input name: "A_motion", type: "capability.motionSensor", title: "Using these motion sensors...", multiple: true, required: false
     def inputMotionA = [
         name:       "A_motion",
         type:       "capability.motionSensor",
@@ -106,7 +107,7 @@ def pageSetupScenarioA() {
         multiple:   true,
         required:   false
     ]
-    
+    //input name: "A_acceleration", type: "capability.accelerationSensor", title: "Or using these acceleration sensors...", multiple: true, required: false
        def inputAccelerationA = [
                name:       "A_acceleration",
                type:       "capability.accelerationSensor",
@@ -114,6 +115,7 @@ def pageSetupScenarioA() {
                multiple:   true,
                required:   false
        ]
+    //input name: "A_contact", type: "capability.contactSensor", title: "Or using these contact sensors...", multiple: true, required: false
     def inputContactA = [
         name:       "A_contact",
         type:       "capability.contactSensor",
@@ -121,21 +123,21 @@ def pageSetupScenarioA() {
         multiple:   true,
         required:   false
     ]
-    
+    //input name: "A_triggerOnce", type: "bool", title: "Trigger only once per day...", defaultValue: false
     def inputTriggerOnceA = [
        name:       "A_triggerOnce",
         type:       "bool",
         title:      "Trigger only once per day...",
         defaultValue:false
     ]
-    
+    //input name: "A_switchDisable", type: "bool", title: "Stop triggering if physical switches/dimmers are turned off...", defaultValue: false
     def inputSwitchDisableA = [
        name:       "A_switchDisable",
         type:       "bool",
         title:      "Stop triggering if physical switches/dimmers are turned off...",
         defaultValue:false
     ]
-    
+    //input name: "A_lock", type: "capability.lock", title: "Or using these locks....", multiple: true, required: false
     def inputLockA = [
         name:       "A_lock",
         type:       "capability.lock",
@@ -143,7 +145,7 @@ def pageSetupScenarioA() {
         multiple:   true,
         required:   false
     ]
-    
+    //input name: "A_mode", type: "mode", title: "Only during the following modes...", multiple: true, required: false
     def inputModeA = [
         name:       "A_mode",
         type:       "mode",
@@ -151,7 +153,7 @@ def pageSetupScenarioA() {
         multiple:   true,
         required:   false
     ]
-    
+    //input name: "A_day", type: "enum", options: ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"], title: "Only on certain days of the week...", multiple: true, required: false
     def inputDayA = [
         name:       "A_day",
         type:       "enum",
@@ -161,16 +163,17 @@ def pageSetupScenarioA() {
         required:   false
     ]
     
-    
+    //input name: "A_level", type: "enum", options: [10,20,30,40,50,60,70,80,90,100], title: "Set dimmers to this level", multiple: false, required: false
     def inputLevelA = [
         name:       "A_level",
         type:       "enum",
-        options: [[10:"10%"],[20:"20%"],[30:"30%"],[40:"40%"],[50:"50%"],[60:"60%"],[70:"70%"],[80:"80%"],[90:"90%"],[100:"100%"]],
+        options: [10,20,30,40,50,60,70,80,90,100],
         title:      "Set dimmers to this level",
         multiple:   false,
         required:   false
     ]
     
+    //input name: "A_turnOnLux", type: "number", title: "Only run this scenario if lux is below...", multiple: false, required: false
     def inputTurnOnLuxA = [
         name:       "A_turnOnLux",
         type:       "number",
@@ -178,7 +181,7 @@ def pageSetupScenarioA() {
         multiple:   false,
         required:   false
     ]
-    
+    //input name: "A_luxSensors", type: "capability.illuminanceMeasurement", title: "On these lux sensors", multiple: false, required: false
     def inputLuxSensorsA = [
         name:       "A_luxSensors",
         type:       "capability.illuminanceMeasurement",
@@ -186,7 +189,7 @@ def pageSetupScenarioA() {
         multiple:   false,
         required:   false
     ]
-    
+     //input name: "A_turnOff", type: "number", title: "Turn off this scenario after motion stops or doors close/lock (minutes)...", multiple: false, required: false
     def inputTurnOffA = [
         name:       "A_turnOff",
         type:       "number",
@@ -194,7 +197,7 @@ def pageSetupScenarioA() {
         multiple:   false,
         required:   false
     ]
-    
+    //input name: "ScenarioNameA", type: "text", title: "Scenario Name", multiple: false, required: false
     def inputScenarioNameA = [
         name:       "ScenarioNameA",
         type:       "text",
@@ -260,19 +263,20 @@ def initialize() {
        midNightReset()
 
        if(A_motion) {
-               subscribe(settings.A_motion, "motion", onEventA)
+               //subscribe(A_motion, "motion", onEventA)
+               subscribe(A_motion, "motion", onEventA)
        }
 
        if(A_acceleration) {
-               subscribe(settings.A_acceleration, "acceleration", onEventA)
+               subscribe(A_acceleration, "acceleration", onEventA)
        }
 
        if(A_contact) {
-               subscribe(settings.A_contact, "contact", onEventA)
+               subscribe(A_contact, "contact", onEventA)
        }
 
        if(A_lock) {
-               subscribe(settings.A_lock, "lock", onEventA)
+               subscribe(A_lock, "lock", onEventA)
        }
 
        if(A_switchDisable) {
@@ -284,8 +288,8 @@ def initialize() {
 
 def onEventA(evt) {
 
-if ((!A_triggerOnce || (A_triggerOnce && !state.A_triggered)) && (!A_switchDisable || (A_switchDisable && !state.A_triggered))) { //Checks to make sure this scenario should be triggered more then once in a day
-if ((!A_mode || A_mode.contains(location.mode)) && getTimeOk (A_timeStart, A_timeEnd) && getDayOk(A_day)) { //checks to make sure we are not opperating outside of set restrictions.
+if (/*(!A_triggerOnce || (A_triggerOnce && !state.A_triggered)) && (!A_switchDisable || (A_switchDisable && !state.A_triggered))*/true) { //Checks to make sure this scenario should be triggered more then once in a day
+if ((!A_mode || A_mode.contains(location.mode)) && true/*getTimeOk (A_timeStart, A_timeEnd) && getDayOk(A_day)*/) { //checks to make sure we are not opperating outside of set restrictions.
 if ((!A_luxSensors) || (A_luxSensors.latestValue("illuminance") <= A_turnOnLux)){ //checks to make sure illimunance is either not cared about or if the value is within the restrictions
 def A_levelOn = A_level as Integer
 
@@ -341,9 +345,9 @@ def delayTurnOffA(){
 
 //when physical switch is actuated disable the scenario
 def onPressA(evt) {
-if ((!A_mode || A_mode.contains(location.mode)) && getTimeOk (A_timeStart, A_timeEnd) && getDayOk(A_day)) { //checks to make sure we are not opperating outside of set restrictions.
+if ((!A_mode || A_mode.contains(location.mode)) && /*getTimeOk (A_timeStart, A_timeEnd) && getDayOk(A_day)*/true) { //checks to make sure we are not opperating outside of set restrictions.
 if ((!A_luxSensors) || (A_luxSensors.latestValue("illuminance") <= A_turnOnLux)){ 
-if ((!A_triggerOnce || (A_triggerOnce && !state.A_triggered)) && (!A_switchDisable || (A_switchDisable && !state.A_triggered))) {    
+if (/*(!A_triggerOnce || (A_triggerOnce && !state.A_triggered)) && (!A_switchDisable || (A_switchDisable && !state.A_triggered))*/true) {    
     if (evt.physical){
        state.A_triggered = true
         unschedule(delayTurnOffA)
@@ -411,7 +415,7 @@ def getDesc(scenario) {
 
 
 def getMidnight() {
-       def midnightToday = timeToday("2000-01-01T23:59:59.999-0000", location.timeZone)
+       def midnightToday = timeToday("23:59", location.timeZone)
        midnightToday
 }
 
@@ -425,13 +429,13 @@ def unlockDetected = false
 def result = false
 
 if (motion) {
-       if (motion.latestValue("motion").contains("active")) {
+       if (motion.latestValue("motion") == "active") {
                motionDetected = true
        }
 }
 
 if (acceleration) {
-       if (acceleration.latestValue("acceleration").contains("active")) {
+       if (acceleration.latestValue("acceleration") == "active") {
                accelerationDetected = true
        }
 }