Compare commits

...

3 Commits

Author SHA1 Message Date
Jaeguk Yun
098a26839f Modifying 'test title' 2017-02-24 23:13:25 -08:00
Jaeguk Yun
4a6f0eda02 Modifying 'test title' 2017-02-24 23:13:12 -08:00
Jaeguk Yun
8a00eaee12 MSA-1801: test description 2017-02-23 05:24:28 -08:00
2 changed files with 122 additions and 71 deletions

View File

@@ -1,71 +1,71 @@
/** /**
* Simulated Alarm * Simulated Alarm
* *
* Copyright 2014 SmartThings * Copyright 2014 SmartThings
* *
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except * 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: * in compliance with the License. You may obtain a copy of the License at:
* *
* http://www.apache.org/licenses/LICENSE-2.0 * 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 * 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 * 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. * for the specific language governing permissions and limitations under the License.
* *
*/ */
metadata { metadata {
definition (name: "Simulated Alarm", namespace: "smartthings/testing", author: "SmartThings") { definition (name: "Simulated Alarm", namespace: "smartthings/testing", author: "SmartThings") {
capability "Alarm" capability "Alarm"
capability "Sensor" capability "Sensor"
capability "Actuator" capability "Actuator"
} }
simulator { simulator {
// reply messages // reply messages
["strobe","siren","both","off"].each { ["strobe","siren","both","off"].each {
reply "$it": "alarm:$it" reply "$it": "alarm:$it"
} }
} }
tiles { tiles {
standardTile("alarm", "device.alarm", width: 2, height: 2) { standardTile("alarm", "device.alarm", width: 2, height: 2) {
state "off", label:'off', action:'alarm.both', icon:"st.alarm.alarm.alarm", backgroundColor:"#ffffff" state "off", label:'off', action:'alarm.both', icon:"st.alarm.alarm.alarm", backgroundColor:"#ffffff"
state "strobe", label:'strobe!', action:'alarm.off', icon:"st.alarm.alarm.alarm", backgroundColor:"#e86d13" state "strobe", label:'strobe!', action:'alarm.off', icon:"st.alarm.alarm.alarm", backgroundColor:"#e86d13"
state "siren", label:'siren!', action:'alarm.off', icon:"st.alarm.alarm.alarm", backgroundColor:"#e86d13" state "siren", label:'siren!', action:'alarm.off', icon:"st.alarm.alarm.alarm", backgroundColor:"#e86d13"
state "both", label:'alarm!', action:'alarm.off', icon:"st.alarm.alarm.alarm", backgroundColor:"#e86d13" state "both", label:'alarm!', action:'alarm.off', icon:"st.alarm.alarm.alarm", backgroundColor:"#e86d13"
} }
standardTile("strobe", "device.alarm", inactiveLabel: false, decoration: "flat") { standardTile("strobe", "device.alarm", inactiveLabel: false, decoration: "flat") {
state "default", label:'', action:"alarm.strobe", icon:"st.secondary.strobe", backgroundColor:"#cccccc" state "default", label:'', action:"alarm.strobe", icon:"st.secondary.strobe", backgroundColor:"#cccccc"
} }
standardTile("siren", "device.alarm", inactiveLabel: false, decoration: "flat") { standardTile("siren", "device.alarm", inactiveLabel: false, decoration: "flat") {
state "default", label:'', action:"alarm.siren", icon:"st.secondary.siren", backgroundColor:"#cccccc" state "default", label:'', action:"alarm.siren", icon:"st.secondary.siren", backgroundColor:"#cccccc"
} }
standardTile("off", "device.alarm", inactiveLabel: false, decoration: "flat") { standardTile("off", "device.alarm", inactiveLabel: false, decoration: "flat") {
state "default", label:'', action:"alarm.off", icon:"st.secondary.off" state "default", label:'', action:"alarm.off", icon:"st.secondary.off"
} }
main "alarm" main "alarm"
details(["alarm","strobe","siren","test","off"]) details(["alarm","strobe","siren","test","off"])
} }
} }
def strobe() { def strobe() {
sendEvent(name: "alarm", value: "strobe") sendEvent(name: "alarm", value: "strobe")
} }
def siren() { def siren() {
sendEvent(name: "alarm", value: "siren") sendEvent(name: "alarm", value: "siren")
} }
def both() { def both() {
sendEvent(name: "alarm", value: "both") sendEvent(name: "alarm", value: "both")
} }
def off() { def off() {
sendEvent(name: "alarm", value: "off") sendEvent(name: "alarm", value: "off")
} }
// Parse incoming device messages to generate events // Parse incoming device messages to generate events
def parse(String description) { def parse(String description) {
def pair = description.split(":") def pair = description.split(":")
createEvent(name: pair[0].trim(), value: pair[1].trim()) createEvent(name: pair[0].trim(), value: pair[1].trim())
} }

View File

@@ -0,0 +1,51 @@
/**
* jefferson
*
* Copyright 2017 Jaeguk Yun
*
* 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: "jefferson",
namespace: "jefferson",
author: "Jaeguk Yun",
description: "Jaeguk Yun",
category: "Green Living",
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",
oauth: true)
preferences {
section("Title") {
// TODO: put inputs here
}
}
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.
}
// TODO: implement event handlers