Compare commits

..

1 Commits

Author SHA1 Message Date
Vinayak Tiwari 57be328fc4 MSA-1655: The Condign stimulator 2016-12-17 03:15:23 -08:00
2 changed files with 96 additions and 48 deletions
@@ -16,15 +16,12 @@
* *
* Date: 2013-04-30 * Date: 2013-04-30
*/ */
// for the UI
metadata { metadata {
// Automatically generated. Make future change here.
definition (name: "SmartWeather Station Tile", namespace: "smartthings", author: "SmartThings") { definition (name: "SmartWeather Station Tile", namespace: "smartthings", author: "SmartThings") {
capability "Illuminance Measurement" capability "Illuminance Measurement"
capability "Temperature Measurement" capability "Temperature Measurement"
capability "Relative Humidity Measurement" capability "Relative Humidity Measurement"
capability "Sensor" capability "Sensor"
capability "Polling"
attribute "localSunrise", "string" attribute "localSunrise", "string"
attribute "localSunset", "string" attribute "localSunset", "string"
@@ -217,7 +214,7 @@ def poll() {
send(name: "localSunrise", value: localSunrise, descriptionText: "Sunrise today is at $localSunrise") send(name: "localSunrise", value: localSunrise, descriptionText: "Sunrise today is at $localSunrise")
send(name: "localSunset", value: localSunset, descriptionText: "Sunset today at is $localSunset") send(name: "localSunset", value: localSunset, descriptionText: "Sunset today at is $localSunset")
send(name: "illuminance", value: estimateLux(obs.solarradiation, sunriseDate, sunsetDate, weatherIcon) as Integer) send(name: "illuminance", value: estimateLux(sunriseDate, sunsetDate, weatherIcon))
// Forecast // Forecast
def f = get("forecast") def f = get("forecast")
@@ -308,12 +305,8 @@ private send(map) {
sendEvent(map) sendEvent(map)
} }
private estimateLux(solarradiation, sunriseDate, sunsetDate, weatherIcon) { private estimateLux(sunriseDate, sunsetDate, weatherIcon) {
def lux = 0 def lux = 0
if (solarradiation != '--') {
lux = solarradiation.toDouble() / 0.0079
} else {
def now = new Date().time def now = new Date().time
if (now > sunriseDate.time && now < sunsetDate.time) { if (now > sunriseDate.time && now < sunsetDate.time) {
//day //day
@@ -355,7 +348,6 @@ private estimateLux(solarradiation, sunriseDate, sunsetDate, weatherIcon) {
//could do calculations for dusk/dawn too //could do calculations for dusk/dawn too
lux = 10 lux = 10
} }
}
lux lux
} }
@@ -0,0 +1,56 @@
/**
* RuVision
*
* Copyright 2016 Vinayak Tiwari
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
* in compliance with the License. You may obtain a copy of the License at:
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed under the License is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License
* for the specific language governing permissions and limitations under the License.
*
*/
definition(
name: "RuVision",
namespace: "RuVi",
author: "Vinayak Tiwari",
description: "The Sachet Of All Your Condign Queries.",
category: "SmartThings Labs",
iconUrl: "https://s3.amazonaws.com/smartapp-icons/Convenience/Cat-Convenience.png",
iconX2Url: "https://s3.amazonaws.com/smartapp-icons/Convenience/Cat-Convenience@2x.png",
iconX3Url: "https://s3.amazonaws.com/smartapp-icons/Convenience/Cat-Convenience@2x.png")
preferences {
section("Turn on when motion detected:") {
input "themotion", "capability.motionSensor", required: true, title: "Where?"
}
section("Turn on this light") {
input "theswitch", "capability.switch", required: true
}
}
def installed() {
log.debug "Installed with settings: ${settings}"
initialize()
}
def updated() {
log.debug "Updated with settings: ${settings}"
unsubscribe()
initialize()
}
def initialize() {
// TODO: subscribe to attributes, devices, locations, etc.
}
def motionDetectedHandler(evt) {
log.debug "motionDetectedHandler called: $evt"
theswitch.on()
}