From 2d756afe98da2eb9073fddcca3910d4eb02b3944 Mon Sep 17 00:00:00 2001 From: JZ-SmartThings Date: Sat, 31 Aug 2019 12:20:55 -0700 Subject: [PATCH 1/3] Temperature & Humidity sync MQTT to SmartThings --- .../stj/mqtt-bridge.src/mqtt-bridge.groovy | 26 +++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/smartapps/stj/mqtt-bridge.src/mqtt-bridge.groovy b/smartapps/stj/mqtt-bridge.src/mqtt-bridge.groovy index 5cd877c..0480408 100644 --- a/smartapps/stj/mqtt-bridge.src/mqtt-bridge.groovy +++ b/smartapps/stj/mqtt-bridge.src/mqtt-bridge.groovy @@ -228,7 +228,8 @@ import groovy.transform.Field capability: "capability.relativeHumidityMeasurement", attributes: [ "humidity" - ] + ], + action: "actionHumiditySensors" ], "relaySwitch": [ name: "Relay Switch", @@ -316,7 +317,8 @@ import groovy.transform.Field capability: "capability.temperatureMeasurement", attributes: [ "temperature" - ] + ], + action: "actionTemperatureSensors" ], "thermostat": [ name: "Thermostat", @@ -746,6 +748,26 @@ def actionThermostatMode(device, attribute, value) { device.setThermostatMode(value) } +//Temperature Sensors don't have commands but a simulated sensor might hence the hasCommand() check. +def actionTemperatureSensors(device, attribute, value) { + if (device.hasCommand("temperature")) { + device.temperature(value as int) + } + if (device.hasCommand("setTemperature")) { + device.setTemperature(value as int) + } +} + +//Humidity Sensors don't have commands but a simulated sensor might hence the hasCommand() check. +def actionHumiditySensors(device, attribute, value) { + if (device.hasCommand("humidity")) { + device.humidity(value as int) + } + if (device.hasCommand("setHumidity")) { + device.setHumidity(value as int) + } +} + def actionTimedSession(device, attribute, value) { if (attribute == "timeRemaining") { device.setTimeRemaining(value) From 445e920d13b05ab6fc3244220df195f3f4f57c5b Mon Sep 17 00:00:00 2001 From: JZ-SmartThings Date: Thu, 5 Sep 2019 10:41:58 -0700 Subject: [PATCH 2/3] Added Contact Sensor state changes back to SmartThings --- smartapps/stj/mqtt-bridge.src/mqtt-bridge.groovy | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/smartapps/stj/mqtt-bridge.src/mqtt-bridge.groovy b/smartapps/stj/mqtt-bridge.src/mqtt-bridge.groovy index 0480408..678f7d9 100644 --- a/smartapps/stj/mqtt-bridge.src/mqtt-bridge.groovy +++ b/smartapps/stj/mqtt-bridge.src/mqtt-bridge.groovy @@ -110,7 +110,8 @@ import groovy.transform.Field capability: "capability.contactSensor", attributes: [ "contact" - ] + ], + action: "actionOpenClosed" ], "doorControl": [ name: "Door Control", From 5ba189e44206e9a42444fac4230aa8a9832371ab Mon Sep 17 00:00:00 2001 From: JZ-SmartThings Date: Sat, 19 Jun 2021 23:34:18 -0700 Subject: [PATCH 3/3] Update mqtt-bridge.groovy --- smartapps/stj/mqtt-bridge.src/mqtt-bridge.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/smartapps/stj/mqtt-bridge.src/mqtt-bridge.groovy b/smartapps/stj/mqtt-bridge.src/mqtt-bridge.groovy index 678f7d9..731b520 100644 --- a/smartapps/stj/mqtt-bridge.src/mqtt-bridge.groovy +++ b/smartapps/stj/mqtt-bridge.src/mqtt-bridge.groovy @@ -755,7 +755,7 @@ def actionTemperatureSensors(device, attribute, value) { device.temperature(value as int) } if (device.hasCommand("setTemperature")) { - device.setTemperature(value as int) + device.setTemperature(value) } }