Modifying 'Home Remote'

This commit is contained in:
Bill Venhaus
2015-10-11 13:33:03 -05:00
parent 32e3916a85
commit 67006204da

View File

@@ -27,53 +27,53 @@ definition(
preferences {
section() {
input "accelerationSensors", "capability.accelerationSensor", multiple: true, required: false
input "actuators", "capability.actuator", multiple: true, required: false
input "alarms", "capability.alarm", multiple: true, required: false
input "batteries", "capability.battery", multiple: true, required: false
input "beacons", "capability.beacon", multiple: true, required: false
input "buttonGroup", "capability.button", multiple: true, required: false
input "carbonMonoxideDetectors", "capability.carbonMonoxideDetector", multiple: true, required: false
input "colorControls", "capability.colorControl", multiple: true, required: false
input "configurations", "capability.configuration", multiple: true, required: false
input "contactSensors", "capability.contactSensor", multiple: true, required: false
input "doorControls", "capability.doorControl", multiple: true, required: false
input "energyMeters", "capability.energyMeter", multiple: true, required: false
input "illuminanceMeasurements", "capability.illuminanceMeasurement", multiple: true, required: false
input "imageCaptures", "capability.imageCapture", multiple: true, required: false
input "locks", "capability.lock", multiple: true, required: false
input "mediaControllers", "capability.mediaController", multiple: true, required: false
input "momentaries", "capability.momentary", multiple: true, required: false
input "motionSensors", "capability.motionSensor", multiple: true, required: false
input "musicPlayers", "capability.musicPlayer", multiple: true, required: false
input "notifications", "capability.notification", multiple: true, required: false
input "pollings", "capability.polling", multiple: true, required: false
input "powerMeters", "capability.powerMeter", multiple: true, required: false
input "presenceSensors", "capability.presenceSensor", multiple: true, required: false
input "refreshes", "capability.refresh", multiple: true, required: false
input "relativeHumidityMeasurements", "capability.relativeHumidityMeasurement", multiple: true, required: false
input "relaySwitches", "capability.relaySwitch", multiple: true, required: false
input "sensors", "capability.sensor", multiple: true, required: false
input "signalStrengths", "capability.signalStrength", multiple: true, required: false
input "sleepSensors", "capability.sleepSensor", multiple: true, required: false
input "smokeDetectors", "capability.smokeDetector", multiple: true, required: false
input "speechSyntheses", "capability.speechSynthesis", multiple: true, required: false
input "stepSensors", "capability.stepSensor", multiple: true, required: false
input "switches", "capability.switch", multiple: true, required: false
input "switchLevels", "capability.switchLevel", multiple: true, required: false
input "temperatureMeasurements", "capability.temperatureMeasurement", multiple: true, required: false
input "thermostats", "capability.thermostat", multiple: true, required: false
input "thermostatCoolingSetpoints", "capability.thermostatCoolingSetpoint", multiple: true, required: false
input "thermostatFanModes", "capability.thermostatFanMode", multiple: true, required: false
input "thermostatHeatingSetpoints", "capability.thermostatHeatingSetpoint", multiple: true, required: false
input "thermostatModes", "capability.thermostatMode", multiple: true, required: false
input "thermostatOperatingStates", "capability.thermostatOperatingState", multiple: true, required: false
input "thermostatSetpoints", "capability.thermostatSetpoint", multiple: true, required: false
input "threeAxes", "capability.threeAxis", multiple: true, required: false
input "tones", "capability.tone", multiple: true, required: false
input "touchSensors", "capability.touchSensor", multiple: true, required: false
input "valves", "capability.valve", multiple: true, required: false
input "waterSensors", "capability.waterSensor", multiple: true, required: false
input "accelerationSensors", "capability.accelerationSensor", title: "Acceleration Sensors", multiple: true, required: false
//input "actuators", "capability.actuator", title: "Actuators", multiple: true, required: false
input "alarms", "capability.alarm", title: "Alarms", multiple: true, required: false
input "batteries", "capability.battery", title: "Batteries", multiple: true, required: false
input "beacons", "capability.beacon", title: "Beacons", multiple: true, required: false
input "buttonGroup", "capability.button", title: "Buttons", multiple: true, required: false
input "carbonMonoxideDetectors", "capability.carbonMonoxideDetector", title: "Carbon Monoxide Detectors", multiple: true, required: false
input "colorControls", "capability.colorControl", title: "Color Controls", multiple: true, required: false
//input "configurations", "capability.configuration", title: "Configurations", multiple: true, required: false
input "contactSensors", "capability.contactSensor", title: "Contact Sensors", multiple: true, required: false
input "doorControls", "capability.doorControl", title: "Door Controls", multiple: true, required: false
input "energyMeters", "capability.energyMeter", title: "Energy Meters", multiple: true, required: false
input "illuminanceMeasurements", "capability.illuminanceMeasurement", title: "Illuminance Measurements", multiple: true, required: false
input "imageCaptures", "capability.imageCapture", title: "Image Captures", multiple: true, required: false
input "locks", "capability.lock", title: "Locks", multiple: true, required: false
input "mediaControllers", "capability.mediaController", title: "Media Controllers", multiple: true, required: false
input "momentaries", "capability.momentary", title: "Momentaries", multiple: true, required: false
input "motionSensors", "capability.motionSensor", title: "Motion Sensors", multiple: true, required: false
input "musicPlayers", "capability.musicPlayer", title: "Music Players", multiple: true, required: false
input "notifications", "capability.notification", title: "Notifications", multiple: true, required: false
//input "pollings", "capability.polling", title: "Pollings", multiple: true, required: false
input "powerMeters", "capability.powerMeter", title: "Power Meters", multiple: true, required: false
input "presenceSensors", "capability.presenceSensor", title: "Presence Sensors", multiple: true, required: false
//input "refreshes", "capability.refresh", title: "Refreshes", multiple: true, required: false
input "relativeHumidityMeasurements", "capability.relativeHumidityMeasurement", title: "Relative Humidity Measurements", multiple: true, required: false
input "relaySwitches", "capability.relaySwitch", title: "Relay Switches", multiple: true, required: false
//input "sensors", "capability.sensor", title: "Sensors", multiple: true, required: false
input "signalStrengths", "capability.signalStrength", title: "Signal Strengths", multiple: true, required: false
input "sleepSensors", "capability.sleepSensor", title: "Sleep Sensors", multiple: true, required: false
input "smokeDetectors", "capability.smokeDetector", title: "Smoke Detectors", multiple: true, required: false
input "speechSyntheses", "capability.speechSynthesis", title: "Speech Syntheses", multiple: true, required: false
input "stepSensors", "capability.stepSensor", title: "Step Sensors", multiple: true, required: false
input "switches", "capability.switch", title: "Switches", multiple: true, required: false
input "switchLevels", "capability.switchLevel", title: "Switch Levels", multiple: true, required: false
input "temperatureMeasurements", "capability.temperatureMeasurement", title: "Temperature Measurements", multiple: true, required: false
input "thermostats", "capability.thermostat", title: "Thermostats", multiple: true, required: false
input "thermostatCoolingSetpoints", "capability.thermostatCoolingSetpoint", title: "Thermostat Cooling Setpoints", multiple: true, required: false
input "thermostatFanModes", "capability.thermostatFanMode", title: "Thermostat Fan Modes", multiple: true, required: false
input "thermostatHeatingSetpoints", "capability.thermostatHeatingSetpoint", title: "Thermostat Heating Setpoints", multiple: true, required: false
input "thermostatModes", "capability.thermostatMode", title: "Thermostat Modes", multiple: true, required: false
input "thermostatOperatingStates", "capability.thermostatOperatingState", title: "Thermostat Operating States", multiple: true, required: false
input "thermostatSetpoints", "capability.thermostatSetpoint", title: "Thermostat Setpoints", multiple: true, required: false
input "threeAxes", "capability.threeAxis", title: "Three Axes", multiple: true, required: false
input "tones", "capability.tone", title: "Tones", multiple: true, required: false
input "touchSensors", "capability.touchSensor", title: "Touch Sensors", multiple: true, required: false
input "valves", "capability.valve", title: "Valves", multiple: true, required: false
input "waterSensors", "capability.waterSensor", title: "Water Sensors", multiple: true, required: false
}
}
@@ -542,9 +542,9 @@ def getDevices(capability){
case "ColorControl":
result = colorControls
break
case "Configuration":
result = configurations
break
//case "Configuration":
// result = configurations
// break
case "DoorControl":
result = doorControls
break
@@ -566,12 +566,12 @@ def getDevices(capability){
case "Notification":
result = notifications
break
case "Polling":
result = pollings
break
case "Refresh":
result = refreshes
break
//case "Polling":
// result = pollings
// break
//case "Refresh":
// result = refreshes
// break
case "RelaySwitch":
result = relaySwitches
break
@@ -587,7 +587,7 @@ def getDevices(capability){
case "Thermostat":
result = thermostats
break
case "ThermostatCoolingSetpoint":
case "ThermostatCoolingSetpoint":
result = thermostatCoolingSetpoints
break
case "ThermostatFanMode":
@@ -690,7 +690,6 @@ def getThermostatFanModeCommand(value){
}
void executeCommand() {
// use the built-in request object to get the command parameter
def deviceId = request.JSON?.deviceId
def capability = request.JSON?.capability
def attribute = request.JSON?.attribute
@@ -712,7 +711,7 @@ void executeCommand() {
command = "setColor"
valueIsParameter = true
break
case "level":
case "level":
command = "setLevel"
valueIsParameter = true
break
@@ -728,7 +727,7 @@ void executeCommand() {
command = "startActivity"
valueIsParameter = true
break
case "door":
case "door":
command = getDoorControlCommand(value)
break
case "lock":
@@ -751,10 +750,10 @@ void executeCommand() {
default:
command = value
}
// check that the switch supports the specified command
// If not, return an error using httpError, providing a HTTP status code.
devices.each {
if (it.id == deviceId) {
// check that the device supports the specified command
// If not, return an error using httpError, providing a HTTP status code.
if (!it.hasCommand(command)) {
httpError(501, "$command is not a valid command for all devices specified")
}