GoControl PIR (WAPIRZ-1) weird temp readings

@mfridman

Iā€™m sure @JasonJoelā€™s port will work. But for future reference:

1 Like

I will try it out.

1 Like

It's a simple handler so the standard port method like @JasonJoel posted should work, but that's a really old handler that has a workaround for something SmartThings broke at one point so you might also have to search for:

return sendResponse(result)

and replace it with:

return response(result)

3 Likes

I loaded it up and here is a message I got in the log:

2021-02-15 11:40:22.051 pm errorgroovy.lang.MissingMethodException: No signature of method: user_driver_krlaframboise_GoControl_Motion_Sensor_430.sendHubCommand() is applicable for argument types: (java.util.ArrayList) values: [[delay 1000, delay 250, 8404002A3001, delay 250, 7004010103, ...]] Possible solutions: sendHubCommand(hubitat.device.HubAction), sendHubCommand(hubitat.device.HubMultiAction) on line 205 (parse)

which seems to come from this part:

private response(cmds) {
	def actions = []
	cmds?.each { cmd ->
		actions << new hubitat.device.HubAction(cmd)
	}	
	sendHubCommand(actions)
	return []
}

@JasonJoel @krlaframboise Do I just remove the sendHubCommand(actions) line?

Off the top of my head, try changing this:

actions << new hubitat.device.HubAction(cmd)

to this:

actions << new hubitat.device.HubAction(cmd, hubitat.device.Protocol.ZWAVE)

I didn't think about that the other day, but that is supposed to be explicitly defined now (in the not so distant past it was optional). There maybe other places it needs to be added, too - didn't go back and look.

If you made the change i mentioned above, which was in a different part of the handler, then you can delete that whole block of code.

Oh, so no need for private response(cmds) at all?

Not if you made the change I said above, but it looks like you renamed that function which isn't the change I said that needed to be made...

1 Like

Ah.... That's what was confusing me.

The ST handler was originally written to use the built-in response function, but ST broke that at one point so I swapped it with that sendResponse function.

Since the hub commands don't cleanly port and there's no need to use it there I figured it would just be easier to change that line back, but I forgot that the function would also need to be deleted...

2 Likes

OK, fixing it, thanks. So far the basics seem to be working fine--I get a reasonable temperature reading at 11F, motion detects motion, etc.

@JasonJoel how do we publish this so others can easily find it?

For personal use I just do it, and use it.

For sharing, though, typically I would ask the original author (if I can find them) if they are OK with the modified version being re-distributed. Usually they will be, as long as attribution is made/history is left in the headers section. If they are, then you either post it on github or if you don't have an account there then make a new thread here and post it in the thread. Make sure and use three ` (no spaces) before and after the code block so that it is formatted OK.

Hello - itā€™s years later. Iā€™m one of those completing my massive switch over to Hubitat, though Iā€™d started last December, because SmartThings deleted about 120 of my devices and associated routines in an accidental release. Anyhow, having a hard time using the generic driver with my single Go-Control WAPIRZ-1, @mfridman, would you be kind enough to share the version thatā€™s working for you (Iā€™d make an attempt at recreating the steps listed above but I still have 60 or so devices to go).

Thanks!

[Edited - actually it looks like I managed to get it working fine w/ the default Z-wave driver - so Iā€™m all set. Thanks!]