Has anyone written a device handler that I can use.
The code has been published by Stelpro… You can find it on their github at the following address:
- https://github.com/stelpro/Ki-ZigBee-Thermostat STZB402+ (Zigbee version)
- https://github.com/stelpro/Ki-Z-Wave-Thermostat STZW402+ (ZWave version)
And if you want to use your own sensor to “push” the external temperature to your thermostats, you need the following:
/**
* Copyright 2015 Stelpro
*
* 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.
*
* Get Remote Temperature
*
* Author: Stelpro
*/
definition(
name: "Get Remote Temperature",
namespace: "stelpro",
author: "Stelpro",
description: "Retrieves the temperature from a sensor and sends it to a specific device.",
category: "Convenience",
iconUrl: "https://s3.amazonaws.com/smartapp-icons/Meta/temp_thermo.png",
iconX2Url: "https://s3.amazonaws.com/smartapp-icons/Meta/temp_thermo@2x.png"
)
preferences() {
section("Choose remote device to read temperature from... ") {
input "sensor", "capability.temperatureMeasurement", title: "Select a remote temperature reading device", required: true
}
section("Choose the thermostats that will receive the remote device's temperature... ") {
input "thermostats", "capability.thermostat", title: "Select Thermostats", multiple: true, required: true
}
}
def installed()
{
subscribe(sensor, "temperature", temperatureHandler)
log.debug "enter installed, state: $state"
}
def updated()
{
log.debug "enter updated, state: $state"
unsubscribe()
subscribe(sensor, "temperature", temperatureHandler)
}
def temperatureHandler(evt)
{
log.debug "temperature received from remote device: $evt.value"
thermostats.quickSetOutTemp(evt.value)
}
There you go!
1 Like