Last active
February 22, 2016 02:13
-
-
Save kacole2/879f690b4b39f55b5c05 to your computer and use it in GitHub Desktop.
ST_Anything_Doors.device.groovy (New Device Handler)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* ST_Anything_Doors Device Type - ST_Anything_Doors.device.groovy | |
* | |
* Copyright 2015 Daniel Ogorchock | |
* | |
* 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. | |
* | |
* Change History: | |
* | |
* Date Who What | |
* ---- --- ---- | |
* 2015-01-10 Dan Ogorchock Original Creation | |
* | |
* | |
*/ | |
metadata { | |
definition (name: "ST_Anything_Doors", namespace: "ogiewon", author: "Daniel Ogorchock") { | |
capability "Contact Sensor" | |
capability "Sensor" | |
attribute "frontDoor", "string" | |
attribute "backDoor", "string" | |
attribute "kitchenDoor", "string" | |
attribute "familyRoomRearDoor", "string" | |
attribute "familyRoomPatioDoors", "string" | |
attribute "basementWindows", "string" | |
} | |
simulator { | |
status "on": "catchall: 0104 0000 01 01 0040 00 0A21 00 00 0000 0A 00 0A6F6E" | |
status "off": "catchall: 0104 0000 01 01 0040 00 0A21 00 00 0000 0A 00 0A6F6666" | |
// reply messages | |
reply "raw 0x0 { 00 00 0a 0a 6f 6e }": "catchall: 0104 0000 01 01 0040 00 0A21 00 00 0000 0A 00 0A6F6E" | |
reply "raw 0x0 { 00 00 0a 0a 6f 66 66 }": "catchall: 0104 0000 01 01 0040 00 0A21 00 00 0000 0A 00 0A6F6666" | |
} | |
// tile definitions | |
tiles { | |
standardTile("frontDoor", "device.frontDoor", width: 1, height: 1, canChangeIcon: true, canChangeBackground: true) { | |
state("open", label:'${name}', icon:"st.contact.contact.open", backgroundColor:"#ffa81e") | |
state("closed", label:'${name}', icon:"st.contact.contact.closed", backgroundColor:"#79b821") | |
} | |
standardTile("backDoor", "device.backDoor", width: 1, height: 1, canChangeIcon: true, canChangeBackground: true) { | |
state("open", label:'${name}', icon:"st.contact.contact.open", backgroundColor:"#ffa81e") | |
state("closed", label:'${name}', icon:"st.contact.contact.closed", backgroundColor:"#79b821") | |
} | |
standardTile("kitchenDoor", "device.kitchenDoor", width: 1, height: 1, canChangeIcon: true, canChangeBackground: true) { | |
state("open", label:'${name}', icon:"st.contact.contact.open", backgroundColor:"#ffa81e") | |
state("closed", label:'${name}', icon:"st.contact.contact.closed", backgroundColor:"#79b821") | |
} | |
standardTile("familyRoomRearDoor", "device.familyRoomRearDoor", width: 1, height: 1, canChangeIcon: true, canChangeBackground: true) { | |
state("open", label:'${name}', icon:"st.contact.contact.open", backgroundColor:"#ffa81e") | |
state("closed", label:'${name}', icon:"st.contact.contact.closed", backgroundColor:"#79b821") | |
} | |
standardTile("familyRoomPatioDoors", "device.familyRoomPatioDoors", width: 1, height: 1, canChangeIcon: true, canChangeBackground: true) { | |
state("open", label:'${name}', icon:"st.contact.contact.open", backgroundColor:"#ffa81e") | |
state("closed", label:'${name}', icon:"st.contact.contact.closed", backgroundColor:"#79b821") | |
} | |
standardTile("basementWindows", "device.basementWindows", width: 1, height: 1, canChangeIcon: true, canChangeBackground: true) { | |
state("open", label:'${name}', icon:"st.contact.contact.open", backgroundColor:"#ffa81e") | |
state("closed", label:'${name}', icon:"st.contact.contact.closed", backgroundColor:"#79b821") | |
} | |
main (["frontDoor"]) | |
details(["frontDoor","backDoor","kitchenDoor","familyRoomRearDoor","familyRoomPatioDoors","basementWindows","configure"]) | |
} | |
} | |
//Map parse(String description) { | |
def parse(String description) { | |
def msg = zigbee.parse(description)?.text | |
log.debug "Parse got '${msg}'" | |
def parts = msg.split(" ") | |
def name = parts.length>0?parts[0].trim():null | |
def value = parts.length>1?parts[1].trim():null | |
name = value != "ping" ? name : null | |
def result = createEvent(name: name, value: value) | |
log.debug result | |
return result | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment