Modifying 'Publish a SmartApp for OpenT2T'

This commit is contained in:
OpenT2T
2017-03-02 05:20:47 -08:00
parent 4ed48c8ed4
commit a56cad5e03
@@ -322,46 +322,54 @@ private getLocationModeInfo() {
//Map each device to a type given it's capabilities //Map each device to a type given it's capabilities
private getDeviceType(device) { private getDeviceType(device) {
def deviceType def deviceType
def caps = device.capabilities def capabilities = device.capabilities
log.debug "capabilities: [${device}, ${caps}]" log.debug "capabilities: [${device}, ${capabilities}]"
log.debug "supported commands: [${device}, ${device.supportedCommands}]" log.debug "supported commands: [${device}, ${device.supportedCommands}]"
caps.each {
switch(it.name.toLowerCase()) //Loop through the device capability list to determine the device type.
capabilities.each {capability ->
switch(capability.name.toLowerCase())
{ {
case "switch": case "switch":
deviceType = "switch" deviceType = "switch"
if (caps.any{it.name.toLowerCase() == "power meter"}){
return deviceType //If the device also contains "Switch Level" capability, identify it as a "light" device.
} if (capabilities.any{it.name.toLowerCase() == "switch level"}){
if (caps.any{it.name.toLowerCase() == "switch level"}){
deviceType = "light" //If the device also contains "Power Meter" capability, identify it as a "dimmerSwitch" device.
return deviceType if (capabilities.any{it.name.toLowerCase() == "power meter"}){
} deviceType = "dimmerSwitch"
return deviceType
} else {
deviceType = "light"
return deviceType
}
}
break break
case "contact sensor": case "contact sensor":
deviceType = "contactSensor" deviceType = "contactSensor"
return deviceType return deviceType
case "garageDoorControl": case "garageDoorControl":
deviceType = "garageDoor" deviceType = "garageDoor"
return deviceType return deviceType
case "lock": case "lock":
deviceType = "lock" deviceType = "lock"
return deviceType return deviceType
case "video camera": case "video camera":
deviceType = "camera" deviceType = "camera"
return deviceType return deviceType
case "motion sensor": case "motion sensor":
deviceType = "motionSensor" deviceType = "motionSensor"
return deviceType return deviceType
case "presence sensor": case "presence sensor":
deviceType = "presenceSensor" deviceType = "presenceSensor"
return deviceType return deviceType
case "thermostat": case "thermostat":
deviceType = "thermostat" deviceType = "thermostat"
return deviceType return deviceType
case "water sensor": case "water sensor":
deviceType = "waterSensor" deviceType = "waterSensor"
return deviceType return deviceType
default: default:
break break
} }
@@ -415,7 +423,7 @@ private mapDeviceCommands(command, value) {
resultCommand = "setSaturation" resultCommand = "setSaturation"
resultValue = value resultValue = value
break break
case "ct": case "colorTemperature":
resultCommand = "setColorTemperature" resultCommand = "setColorTemperature"
resultValue = value resultValue = value
break break