# Linear WAPIRZ-1

**URL:** <https://community.smartthings.com/t/linear-wapirz-1/15930>\
**Category:** Devices & Integrations\
**Created:** [April 29, 2015, 2:32am UTC](https://community.smartthings.com/t/linear-wapirz-1/15930 "2015-04-29T02:32:26Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![jschultz070](https://avatars.discourse-cdn.com/v4/letter/j/ce7236/32.png) [@jschultz070](https://community.smartthings.com/u/jschultz070)\
**Post date:** [April 29, 2015, 2:32am UTC](https://community.smartthings.com/t/linear-wapirz-1/15930/1 "2015-04-29T02:32:26Z")

</div>

Hi everyone. Has anyone used the Linear WAPIRZ-1 ?  
I purchased the GoControl kit that came with 2 window/door sensors and this motion sensor.  
It pairs with Smartthings as a Aeon Labs Multi-Sensor. It can report temperature and motion.  
Seems to work ok except it seems to take 8-10 minutes after motion stops before it resets to no motion.  
It has a jumper but, none of the documentation says what it is for. I suspect that it is for pet size ignoring.

thanks in advance

---

<div class="post-metadata">

**Author:** ![JDRoberts](https://yyz2.discourse-cdn.com/smartthings/user_avatar/community.smartthings.com/jdroberts/32/56577_2.png) [@JDRoberts](https://community.smartthings.com/u/JDRoberts)\
**Post date:** [April 29, 2015, 2:39am UTC](https://community.smartthings.com/t/linear-wapirz-1/15930/2 "2015-04-29T02:39:13Z")

</div>

Wait Time can be reset as a parameter. The only switch I see is the tamper switch.

[http://www.nortekcontrol.com/pdf/manuals/WAPIRZ\_install.pdf](http://www.nortekcontrol.com/pdf/manuals/WAPIRZ_install.pdf)

---

<div class="post-metadata">

**Author:** ![jschultz070](https://avatars.discourse-cdn.com/v4/letter/j/ce7236/32.png) [@jschultz070](https://community.smartthings.com/u/jschultz070)\
**Post date:** [April 29, 2015, 2:43am UTC](https://community.smartthings.com/t/linear-wapirz-1/15930/3 "2015-04-29T02:43:44Z")

</div>

thanks JD is there a way to configure that in smartthings. without a custom handler ?

---

<div class="post-metadata">

**Author:** ![JDRoberts](https://yyz2.discourse-cdn.com/smartthings/user_avatar/community.smartthings.com/jdroberts/32/56577_2.png) [@JDRoberts](https://community.smartthings.com/u/JDRoberts)\
**Post date:** [April 29, 2015, 2:47am UTC](https://community.smartthings.com/t/linear-wapirz-1/15930/4 "2015-04-29T02:47:04Z")

</div>

As far as I know, it will take custom code. @tgauchat or @tslagle13 or one of the other expert coders should be able to help. 😊

---

<div class="post-metadata">

**Author:** ![tslagle13](https://yyz2.discourse-cdn.com/smartthings/user_avatar/community.smartthings.com/tslagle13/32/16380_2.png) [@tslagle13](https://community.smartthings.com/u/tslagle13)\
**Post date:** [April 29, 2015, 3:03am UTC](https://community.smartthings.com/t/linear-wapirz-1/15930/5 "2015-04-29T03:03:54Z")

</div>

We’ll have to send it some bits…

I’ll see what I can come up with 😄

---

<div class="post-metadata">

**Author:** ![tslagle13](https://yyz2.discourse-cdn.com/smartthings/user_avatar/community.smartthings.com/tslagle13/32/16380_2.png) [@tslagle13](https://community.smartthings.com/u/tslagle13)\
**Post date:** [April 29, 2015, 3:12am UTC](https://community.smartthings.com/t/linear-wapirz-1/15930/6 "2015-04-29T03:12:09Z")

</div>

Give this a try:

```
metadata {
	// Automatically generated. Make future change here.
	definition (name: "Linear WAPIRZ-1 (1 Minute Reset Time)", namespace: "smartthings", author: "SmartThings") {
		capability "Motion Sensor"
		capability "Temperature Measurement"
		capability "Relative Humidity Measurement"
		capability "Configuration"
		capability "Illuminance Measurement"
		capability "Sensor"
		capability "Battery"

		fingerprint deviceId: "0x2001", inClusters: "0x30,0x31,0x80,0x84,0x70,0x85,0x72,0x86"
	}

	simulator {
		// messages the device returns in response to commands it receives
		status "motion (basic)" : "command: 2001, payload: FF"
		status "no motion (basic)" : "command: 2001, payload: 00"
		status "motion (binary)" : "command: 3003, payload: FF"
		status "no motion (binary)" : "command: 3003, payload: 00"

		for (int i = 0; i <= 100; i += 20) {
			status "temperature ${i}F": new physicalgraph.zwave.Zwave().sensorMultilevelV2.sensorMultilevelReport(
				scaledSensorValue: i, precision: 1, sensorType: 1, scale: 1).incomingMessage()
		}

		for (int i = 0; i <= 100; i += 20) {
			status "humidity ${i}%": new physicalgraph.zwave.Zwave().sensorMultilevelV2.sensorMultilevelReport(
				scaledSensorValue: i, precision: 0, sensorType: 5).incomingMessage()
		}

		for (int i = 0; i <= 100; i += 20) {
			status "luminance ${i} lux": new physicalgraph.zwave.Zwave().sensorMultilevelV2.sensorMultilevelReport(
				scaledSensorValue: i, precision: 0, sensorType: 3).incomingMessage()
		}
		for (int i = 200; i <= 1000; i += 200) {
			status "luminance ${i} lux": new physicalgraph.zwave.Zwave().sensorMultilevelV2.sensorMultilevelReport(
				scaledSensorValue: i, precision: 0, sensorType: 3).incomingMessage()
		}

		for (int i = 0; i <= 100; i += 20) {
			status "battery ${i}%": new physicalgraph.zwave.Zwave().batteryV1.batteryReport(
				batteryLevel: i).incomingMessage()
		}
	}

	tiles {
		standardTile("motion", "device.motion", width: 2, height: 2) {
			state "active", label:'motion', icon:"st.motion.motion.active", backgroundColor:"#53a7c0"
			state "inactive", label:'no motion', icon:"st.motion.motion.inactive", backgroundColor:"#ffffff"
		}
		valueTile("temperature", "device.temperature", inactiveLabel: false) {
			state "temperature", label:'${currentValue}°',
			backgroundColors:[
				[value: 31, color: "#153591"],
				[value: 44, color: "#1e9cbb"],
				[value: 59, color: "#90d2a7"],
				[value: 74, color: "#44b621"],
				[value: 84, color: "#f1d801"],
				[value: 95, color: "#d04e00"],
				[value: 96, color: "#bc2323"]
			]
		}
		valueTile("humidity", "device.humidity", inactiveLabel: false) {
			state "humidity", label:'${currentValue}% humidity', unit:""
		}
		valueTile("illuminance", "device.illuminance", inactiveLabel: false) {
			state "luminosity", label:'${currentValue} ${unit}', unit:"lux"
		}
		valueTile("battery", "device.battery", inactiveLabel: false, decoration: "flat") {
			state "battery", label:'${currentValue}% battery', unit:""
		}
		standardTile("configure", "device.configure", inactiveLabel: false, decoration: "flat") {
			state "configure", label:'', action:"configuration.configure", icon:"st.secondary.configure"
		}

		main(["motion", "temperature", "humidity", "illuminance"])
		details(["motion", "temperature", "humidity", "illuminance", "battery", "configure"])
	}
}

// Parse incoming device messages to generate events
def parse(String description)
{
	def result = []
	def cmd = zwave.parse(description, [0x31: 2, 0x30: 1, 0x84: 1])
	if (cmd) {
		if( cmd.CMD == "8407" ) { result << new physicalgraph.device.HubAction(zwave.wakeUpV1.wakeUpNoMoreInformation().format()) }
		result << createEvent(zwaveEvent(cmd))
	}
	log.debug "Parse returned ${result}"
	return result
}

// Event Generation
def zwaveEvent(physicalgraph.zwave.commands.wakeupv1.WakeUpNotification cmd)
{
	[descriptionText: "${device.displayName} woke up", isStateChange: false]
}

def zwaveEvent(physicalgraph.zwave.commands.sensormultilevelv2.SensorMultilevelReport cmd)
{
	def map = [:]
	switch (cmd.sensorType) {
		case 1:
			// temperature
			def cmdScale = cmd.scale == 1 ? "F" : "C"
			map.value = convertTemperatureIfNeeded(cmd.scaledSensorValue, cmdScale, cmd.precision)
			map.unit = getTemperatureScale()
			map.name = "temperature"
			break;
		case 3:
			// luminance
			map.value = cmd.scaledSensorValue.toInteger().toString()
			map.unit = "lux"
			map.name = "illuminance"
			break;
		case 5:
			// humidity
			map.value = cmd.scaledSensorValue.toInteger().toString()
			map.unit = "%"
			map.name = "humidity"
			break;
	}
	map
}

def zwaveEvent(physicalgraph.zwave.commands.batteryv1.BatteryReport cmd) {
	def map = [:]
	map.name = "battery"
	map.value = cmd.batteryLevel > 0 ? cmd.batteryLevel.toString() : 1
	map.unit = "%"
	map.displayed = false
	map
}

def zwaveEvent(physicalgraph.zwave.commands.sensorbinaryv1.SensorBinaryReport cmd) {
	def map = [:]
	map.value = cmd.sensorValue ? "active" : "inactive"
	map.name = "motion"
	if (map.value == "active") {
		map.descriptionText = "$device.displayName detected motion"
	}
	else {
		map.descriptionText = "$device.displayName motion has stopped"
	}
	map
}

def zwaveEvent(physicalgraph.zwave.commands.basicv1.BasicSet cmd) {
	def map = [:]
	map.value = cmd.value ? "active" : "inactive"
	map.name = "motion"
	if (map.value == "active") {
		map.descriptionText = "$device.displayName detected motion"
	}
	else {
		map.descriptionText = "$device.displayName motion has stopped"
	}
	map
}

def zwaveEvent(physicalgraph.zwave.Command cmd) {
	log.debug "Catchall reached for cmd: ${cmd.toString()}}"
	[:]
}

def configure() {
	
	//send no-motion report 60 seconds after motion stops
	zwave.configurationV1.configurationSet(parameterNumber: 1, size: 2, scaledConfigurationValue: 1).format()
}

```

You will need to hit the “configure” button on the device when it is awake. You can probably do this when you take the cover off the sensor. If there is a red light it is only awake when the light is on. Opening the cover should cause the light to stay solid and you can send the config command. Send the config 1-2 seconds after the red light is solid.

---

<div class="post-metadata">

**Author:** ![JDRoberts](https://yyz2.discourse-cdn.com/smartthings/user_avatar/community.smartthings.com/jdroberts/32/56577_2.png) [@JDRoberts](https://community.smartthings.com/u/JDRoberts)\
**Post date:** [April 29, 2015, 3:13am UTC](https://community.smartthings.com/t/linear-wapirz-1/15930/7 "2015-04-29T03:13:30Z")

</div>

I would recommend a 3 minute reset time to avoid double triggers and eating up the batteries.

---

<div class="post-metadata">

**Author:** ![tslagle13](https://yyz2.discourse-cdn.com/smartthings/user_avatar/community.smartthings.com/tslagle13/32/16380_2.png) [@tslagle13](https://community.smartthings.com/u/tslagle13)\
**Post date:** [April 29, 2015, 3:14am UTC](https://community.smartthings.com/t/linear-wapirz-1/15930/8 "2015-04-29T03:14:47Z")

</div>

> [@JDRoberts](#):
>
> I would recommend a 3 minute reset time

I’m more interested to see if it works. Once we know how it accepts the bits we can tweak it as needed

---

<div class="post-metadata">

**Author:** ![jschultz070](https://avatars.discourse-cdn.com/v4/letter/j/ce7236/32.png) [@jschultz070](https://community.smartthings.com/u/jschultz070)\
**Post date:** [April 29, 2015, 1:33pm UTC](https://community.smartthings.com/t/linear-wapirz-1/15930/9 "2015-04-29T13:33:17Z")

</div>

Thanks Guys. I will give it a try tonight and report back

---

<div class="post-metadata">

**Author:** ![Dlee](https://yyz2.discourse-cdn.com/smartthings/user_avatar/community.smartthings.com/dlee/32/137238_2.png) [@Dlee](https://community.smartthings.com/u/Dlee)\
**Post date:** [April 29, 2015, 1:39pm UTC](https://community.smartthings.com/t/linear-wapirz-1/15930/10 "2015-04-29T13:39:16Z")

</div>

Note the lone Amazon review:

“Works with wink, but it’s really slow. Probably about a 10 second delay from sensing motion to turning the light on.”

---

<div class="post-metadata">

**Author:** ![jschultz070](https://avatars.discourse-cdn.com/v4/letter/j/ce7236/32.png) [@jschultz070](https://community.smartthings.com/u/jschultz070)\
**Post date:** [April 29, 2015, 2:59pm UTC](https://community.smartthings.com/t/linear-wapirz-1/15930/11 "2015-04-29T14:59:00Z")

</div>

Yeah I saw that.

Home Depot has a kit with 2 Window/Door sensors and a Motion sensor for $50 bucks. The GoControl Kit.

The Door/Window sensors seem pretty good. No issues there. If this sensor can be made to work a bit better it would be a bargain.  
I just ordered 3 of the Fibaro Multi Sensors just waiting on those.

---

<div class="post-metadata">

**Author:** ![JDRoberts](https://yyz2.discourse-cdn.com/smartthings/user_avatar/community.smartthings.com/jdroberts/32/56577_2.png) [@JDRoberts](https://community.smartthings.com/u/JDRoberts)\
**Post date:** [April 29, 2015, 3:37pm UTC](https://community.smartthings.com/t/linear-wapirz-1/15930/12 "2015-04-29T15:37:49Z")

</div>

GoControl is Nortek (Linear’s) DIY brand. Should be good, as far as I can tell they’ve just rebranded the Linear ones.

---

<div class="post-metadata">

**Author:** ![jschultz070](https://avatars.discourse-cdn.com/v4/letter/j/ce7236/32.png) [@jschultz070](https://community.smartthings.com/u/jschultz070)\
**Post date:** [April 30, 2015, 2:10am UTC](https://community.smartthings.com/t/linear-wapirz-1/15930/13 "2015-04-30T02:10:15Z")

</div>

Thanks for the code Tim seems to work well. Three minutes from sensing to back off. Much better !

---

<div class="post-metadata">

**Author:** ![wmbjr](https://avatars.discourse-cdn.com/v4/letter/w/c89c15/32.png) [@wmbjr](https://community.smartthings.com/u/wmbjr)\
**Post date:** [May 19, 2015, 5:04pm UTC](https://community.smartthings.com/t/linear-wapirz-1/15930/14 "2015-05-19T17:04:42Z")

</div>

@jschultz070 DId you have any issues getting the door/window sensors that came in the Home Depot GoControl kit to work? Do they work for triggering actions such as turning on lights when the door opens etc? I started off using a Wink controller and hated it. I bought the kit because it seemed to include a lot for the money. I just want to determine whether the pieces will work with the SmartThings hub before I purchase the hub. Thanks for any information you can pass along!!

WIlliam

---

<div class="post-metadata">

**Author:** ![brianwilson](https://avatars.discourse-cdn.com/v4/letter/b/4af34b/32.png) [@brianwilson](https://community.smartthings.com/u/brianwilson)\
**Post date:** [June 3, 2015, 4:58pm UTC](https://community.smartthings.com/t/linear-wapirz-1/15930/15 "2015-06-03T16:58:53Z")

</div>

Door and Window sensors work great. They show up as Z-Wave Door/Window Sensor. These are still at Home Depot in a multi-pack that has 2 Door/Window sensors and a motion sensor.

---

<div class="post-metadata">

**Author:** ![Nashirak](https://yyz2.discourse-cdn.com/smartthings/user_avatar/community.smartthings.com/nashirak/32/17318_2.png) [@Nashirak](https://community.smartthings.com/u/Nashirak)\
**Post date:** [July 27, 2015, 2:59am UTC](https://community.smartthings.com/t/linear-wapirz-1/15930/16 "2015-07-27T02:59:45Z")

</div>

@tslagle13, bear with me. I’m a new guy to building custom devices. I’ve thrown together the MyQ app/device. I’ve purchased the above GoControl kit and am interested in integrating your code. Am I building a new device or somehow editing an existing device?

---

<div class="post-metadata">

**Author:** ![brandonw1041](https://avatars.discourse-cdn.com/v4/letter/b/e480ec/32.png) [@brandonw1041](https://community.smartthings.com/u/brandonw1041)\
**Post date:** [July 27, 2015, 12:34pm UTC](https://community.smartthings.com/t/linear-wapirz-1/15930/17 "2015-07-27T12:34:55Z")

</div>

Uh oh! It is not working! This is the error message when I click create.

No signature of method: script14380002058181879309770.metadata() is  
applicable for argument types:  
(script14380002058181879309770$\_run\_closure1) values:  
[script14380002058181879309770$\_run\_closure1@6af2bd7e]  
Possible solutions: getMetadata(), getState(),  
setState(java.lang.Object), metaClass(groovy.lang.Closure)

---

<div class="post-metadata">

**Author:** ![afnoseda](https://avatars.discourse-cdn.com/v4/letter/a/dfb087/32.png) [@afnoseda](https://community.smartthings.com/u/afnoseda)\
**Post date:** [September 20, 2015, 10:59pm UTC](https://community.smartthings.com/t/linear-wapirz-1/15930/18 "2015-09-20T22:59:09Z")

</div>

New to IOT with SmartThings - I tried to add a WAPIRZ-1 as a new device using Aeon Labs and generic. Did not worked. Smartthings keep looping trying to discover and Motion Sensor stays with the red light on (w/ case open). Suggestions ? Thanks

---

<div class="post-metadata">

**Author:** ![lordorwell](https://avatars.discourse-cdn.com/v4/letter/l/ce7236/32.png) [@lordorwell](https://community.smartthings.com/u/lordorwell)\
**Post date:** [September 24, 2015, 12:54am UTC](https://community.smartthings.com/t/linear-wapirz-1/15930/19 "2015-09-24T00:54:37Z")

</div>

the red light on is a tamper switch. all of the motion sensors i’ve seen actually have a hidden reset hole on the back of them. The button inside is not used.

---

<div class="post-metadata">

**Author:** ![afnoseda](https://avatars.discourse-cdn.com/v4/letter/a/dfb087/32.png) [@afnoseda](https://community.smartthings.com/u/afnoseda)\
**Post date:** [September 25, 2015, 2:18am UTC](https://community.smartthings.com/t/linear-wapirz-1/15930/20 "2015-09-25T02:18:44Z")

</div>

Thanks John so what should I do?

[Next page](https://community.smartthings.com/t/linear-wapirz-1/15930.md?page=2)
