[OBSOLETE] GoControl Siren / Linear Siren / Vision Siren

I couldn’t figure out why the manual indicated that it raised the alarm for motion and tampering, but that makes sense now.

I just released a new version that fixes the tamper detection, but I left clearing the tamper detection a manual process since there’s currently a tile that displays it. I may just remove that tile, but I haven’t decided yet.

If the documentation doesn’t specify the version, do you normally just use a higher version and then if that doesn’t work, switch to a lower version?

Thanks again.

I saw a difference in tamper vs motion AlarmReport payload from the sensor which was not being parsed, and just for kicks checked with VersionGet. Probably easier to just change the version and see what comes up.

(It’s actually incorrectly not specified as v2 in the zwave conformance database.)
http://products.z-wavealliance.org/products/1034/embedpics

thank you Kevin for this DH. I don’t need all the fancy stuff. I just wanted it to work :slight_smile:

  1. I want to learn how to program DH myself. and
  2. I also want to know if it’s possible to re-program the GoControl/Linear window switches in any way to act not only as a sensor (input) to ST, but also as an output (although I bet I’d have to use an un-used I/0 on the main zwave board).

I’ve programmed microcontrollers, but zwave devices & ST is new to me!
If you have any advice about where to start, it would be appreciated :wink: thanks

The motion sensors and contact sensors sleep so you can only send them commands when they wake up which is usually every 4 hours.

If you want to learn how to program a DTH, you should start here:
http://docs.smartthings.com/en/latest/device-type-developers-guide/index.html

Thanks Kevin. I’ll check out your link.

The GoControl Siren must not sleep, correct? in order to be open to receive an alarm command?
Or perhaps, it goes into a low-power wake-on-command state?

Do you have experience building any z-wave devices?

You are correct, the siren doesn’t sleep. Building devices or device handlers?

building devices - at least the interface part of it.

I think most of them use a z-wave module to take care of the z-wave circuit, all that’s left to do is make the interface board to tie the I/Os to the physical elements (sensors, lights, sirens, etc.), and also program the z-wave module for the job it’s suppose to perform.

I’d like to learn all this stuff. I’ll start with learning the DH.

I only have experience with writing DTH for existing products and some Arduino Sketches with the ThingShield.

A buddy of mine gave me a Vision Wireless Siren & Strobe Alarm as a gift this weekend.

http://www.visionsecurity.com.tw/index.php?option=product&lang=en&task=pageinfo&id=52&belongid=5&index=12

It paired with no issues as a Doorbell (I already have the Aeon Labs Doorbell installed).

I went ahead and changed the device handler to the one in this thread.

The alarm is responsive as long as I have “always set alarm type” on. (Without this setting it does not function at all).

The strobe however does not work at all, no matter what settings I have tried (and I have tried them all). The alarm however works with all three options and the beep also works.

I can get the strobe to work occasionally, so I know that the device itself functions but it is not reliable.

Full disclosure, I’m not in any hurry to get this up and running (I’m not even sure what I’m going to do with it) but I would like to use the strobe only function if possible for a nighttime parameter alert (let me know but not the kids).

Anyone have any suggestions or ideas?

_Item No. : ZM1601-5 Wireless Siren and Strobe ZM1601-5 will sound a loud siren and flash a strobe light when an alarm message or alert is received on any Z-Wave enabled network. When the device is secure included into Z-Wave network, above communication will be encrypted.

A EU version of the manual can be found here but this was a US device.

Thanks for any & all help.

The GoControl device doesn’t support the Security Command Class so I didn’t build that functionality into this DTH.

If your device is paired securely, that might explain the behavior you’re seeing. Usually if a device is paired securely, the configuration commands have to use encryption.

When “Always Set Alarm Type” is disabled, the DTH requests the current configuration value, waits for a response, changes the alarm type if needed and then turns the device on. If the device is sending the response encrypted, the DTH won’t receive it so the device won’t get turned on.

When “Always Set Alarm Type” is enabled, the DTH changes the alarm type configuration value and then turns the device on without waiting for a response. Since the alarm type configuration change is being sent to the device unencrypted the device doesn’t get it, which explains why it turns on, but isn’t using the alarm type that you specify.

If you s end me the raw description, which can be found in the IDE device settings, I can verify that your device does support the security command class.

If it does, I think I can add that functionality to this DTH so that it works with and without secure commands, but I’ll need to do some testing to make sure. I probably won’t have time to play around with it until next weekend.

1 Like

Ahh makes sense, also a fantastic explanation.

I’m not in any rush and I do appreciate you taking a look at it and for all of your hard work on the handler.

Here is the Raw Description:

zw:F type:1005 mfr:0000 prod:0000 model:0000 ver:15.10 zwv:4.05 lib:03 cc:5E,85,59,80,70,5A,7A,72,71,73,98,25,86 role:07 ff:8F00 ui:8F00

Let me know if you need anything further I would be happy to provide it.

That’s weird, it looks like the same device as the GoControl/Linear siren and the zwave configuration settings are the same, but only yours uses secure commands.

When I have a moment I’ll take a look at it, but in the meantime, if you wanted to, you could try removing the device and try to get it to do a non-secure include.

If you move the device as far away from the hub as possible and change the fingerprint line of my DTH to the following, it might work, but I’ve never tried it.

fingerprint deviceId: "0x1000", inClusters: "0x85,0x59,0x80,0x70,0x5A,0x7A,0x72,0x71,0x73,0x98,0x25,0x86"

So I gave it a shot. Modified the DTH with your fingerprint.

Paired as far away from the hub as possible. (Started on the other end of the house and walked toward the hub slowly until I got it to pair.

Raw Description Changed:

zw:Fs type:1005 mfr:0109 prod:2005 model:0508 ver:15.10 zwv:4.05 lib:03 cc:5E,80,72,98,86 sec:85,59,70,5A,7A,71,73,25 role:07 ff:8F00 ui:8F00

Still no luck though.

I’ll try a few more times tonight, I don’t think I am having luck pairing insecurely.

SmartThings recently added some new features to the fingerprints so it’s possible that’s why it changed. Although if you paired it for the first time within the last couple of weeks, I’m not sure why it would have changed now.

I wouldn’t spend too much time fighting with it, I’m not even sure if it’s possible to not pair it securely.

I thought it might work because I know that during the pairing process, if the signal for the Aeon Doorbell and Siren gets repeated off of a non-secure device, people usually have trouble getting it paired securely securely.

Sounds good, I have the doorbell and learned the hard way. I needed to basically set it on top of the hub to get it to pair securely.

That being said the siren is functioning, it would just be nice to get the strobe functioning independently.

Thanks again for the help.

I just released a new version that should support secure commands, but since the GoControl version doesn’t, I have no way of testing it.

After updating to the latest version, open and save the device’s preferences screen and then wait about 10 seconds before trying to use it. If you open live logging ahead of time, it should indicate whether or not the secure commands are enabled.

Please let me know whether or not it works with the Vision version.

Thanks again Kevin, just got back from a week camping in the mountains.

So I worked a little with this today. Same issue as before works perfectly but won’t function the strobe and siren independently. So the strobe, siren and both commands all do the same thing.

3:53:39 PM: debug Siren - Strobe: Secure Commands Enabled
3:53:30 PM: debug Siren - Strobe: Unknown Command: VersionReport(applicationSubVersion: 10, applicationVersion: 15, zWaveLibraryType: 3, zWaveProtocolSubVersion: 5, zWaveProtocolVersion: 4)
3:53:23 PM: debug Siren - Strobe: Updating
3:52:39 PM: debug Siren - Strobe: Unknown Command: VersionReport(applicationSubVersion: 10, applicationVersion: 15, zWaveLibraryType: 3, zWaveProtocolSubVersion: 5, zWaveProtocolVersion: 4)
3:52:33 PM: debug Siren - Strobe: Updating
3:52:33 PM: debug Siren - Strobe: alarmDelaySeconds: null is invalid, using 0 instead.
3:51:59 PM: debug settings: [:], state: [‘sound’:1, ‘volume’:3]
3:51:59 PM: debug settings: [:], state: [‘sound’:1, ‘volume’:3]

When the settings are all “enabled” everything has a value of is on, the strobe only command gives this:

3:59:25 PM: error java.lang.IndexOutOfBoundsException: toIndex = 3

When you turn off “always set alarm type” you get:

Siren - Strobe: Unknown Command: VersionReport(applicationSubVersion: 10, applicationVersion: 15, zWaveLibraryType: 3, zWaveProtocolSubVersion: 5, zWaveProtocolVersion: 4)
3:59:41 PM: debug Siren - Strobe: encapsulated: VersionReport(applicationSubVersion: 10, applicationVersion: 15, zWaveLibraryType: 3, zWaveProtocolSubVersion: 5, zWaveProtocolVersion: 4)
3:59:41 PM: debug Siren - Strobe: encapsulated: BasicReport(value: 0)
3:59:40 PM: debug Siren - Strobe: encapsulated: BatteryReport(batteryLevel: 100)
3:59:39 PM: debug Siren - Strobe: Unknown Command: SecurityCommandsSupportedReport(commandClassControl: [], commandClassSupport: [94, 133, 89, 128, 112, 90, 122, 114, 113, 115, 37, 134], reportsToFollow: 0)
3:59:39 PM: debug Siren - Strobe: encapsulated: SecurityCommandsSupportedReport(commandClassControl: [], commandClassSupport: [94, 133, 89, 128, 112, 90, 122, 114, 113, 115, 37, 134], reportsToFollow: 0)

Not sure what is going on, but I will keep playing with it.

Where did these lines come from? This device doesn’t have volume control and the code doesn’t log anything with the words “settings” or “state”…

I don’t see any log entries from when you tried turning using the strobe, siren or both.

Sorry I may have grabbed from the all screen let me try again from scratch…

So I removed the device then added new device (adds as Aeon Siren)

Go to device handler and change to your version 1.4 of GoControl Siren

7:06:06 PM: debug Aeon Siren: Updating
7:06:06 PM: debug Aeon Siren: alarmDelaySeconds: null is invalid, using 0 instead.

Add the physical backing (battery cover) to the siren:

7:07:10 PM: debug Aeon Siren: Unknown Command: NotificationReport(event: 0, eventParameter: [], eventParametersLength: 0, notificationStatus: 255, notificationType: 7, reserved61: 0, sequence: false, v1AlarmLevel: 0, v1AlarmType: 3, zensorNetSourceNodeId: 0)
7:07:10 PM: debug Aeon Siren: encapsulated: NotificationReport(event: 0, eventParameter: [], eventParametersLength: 0, notificationStatus: 255, notificationType: 7, reserved61: 0, sequence: false, v1AlarmLevel: 0, v1AlarmType: 3, zensorNetSourceNodeId: 0)
7:07:10 PM: debug Aeon Siren: Secure Commands Enabled
7:07:00 PM: debug Aeon Siren: Unknown Command: VersionReport(applicationSubVersion: 10, applicationVersion: 15, zWaveLibraryType: 3, zWaveProtocolSubVersion: 5, zWaveProtocolVersion: 4)

No settings changed attempt to initiate strobe only:

7:08:18 PM: error java.lang.IndexOutOfBoundsException: toIndex = 3

Change setting (always set alarm type) attempt to initate strobe only; siren and strobe begin sounding/lighting, then initiate off command::

7:09:21 PM: debug Aeon Siren: encapsulated: BasicReport(value: 0)
7:09:21 PM: debug Aeon Siren: encapsulated: BasicReport(value: 0)
7:09:19 PM: debug Aeon Siren: Executing off() command
7:09:17 PM: debug Aeon Siren: Executing off() command
7:09:13 PM: debug Aeon Siren: Unknown Command: VersionReport(applicationSubVersion: 10, applicationVersion: 15, zWaveLibraryType: 3, zWaveProtocolSubVersion: 5, zWaveProtocolVersion: 4)
7:09:13 PM: debug Aeon Siren: encapsulated: VersionReport(applicationSubVersion: 10, applicationVersion: 15, zWaveLibraryType: 3, zWaveProtocolSubVersion: 5, zWaveProtocolVersion: 4)
7:09:12 PM: debug Aeon Siren: Alarm is off
7:09:12 PM: debug Aeon Siren: encapsulated: BasicReport(value: 0)
7:09:12 PM: debug Aeon Siren: Alarm is off
7:09:12 PM: debug Aeon Siren: encapsulated: BatteryReport(batteryLevel: 100)
7:09:10 PM: debug Aeon Siren: Turning on Alarm for 30 seconds.
7:09:09 PM: debug Aeon Siren: Unknown Command: SecurityCommandsSupportedReport(commandClassControl: [], commandClassSupport: [94, 133, 89, 128, 112, 90, 122, 114, 113, 115, 37, 134], reportsToFollow: 0)
7:09:09 PM: debug Aeon Siren: encapsulated: SecurityCommandsSupportedReport(commandClassControl: [], commandClassSupport: [94, 133, 89, 128, 112, 90, 122, 114, 113, 115, 37, 134], reportsToFollow: 0)
7:09:07 PM: debug Aeon Siren: Updating

Something I’m missing?

One more for you when I change how to handle both to strobe only and initiate both I get the following and both the siren and strobe sound and light up.

7:16:06 PM: debug Aeon Siren: encapsulated: BasicReport(value: 0)
7:16:05 PM: debug Aeon Siren: Executing off() command
7:16:04 PM: debug Aeon Siren: Unknown Command: VersionReport(applicationSubVersion: 10, applicationVersion: 15, zWaveLibraryType: 3, zWaveProtocolSubVersion: 5, zWaveProtocolVersion: 4)
7:16:04 PM: debug Aeon Siren: encapsulated: VersionReport(applicationSubVersion: 10, applicationVersion: 15, zWaveLibraryType: 3, zWaveProtocolSubVersion: 5, zWaveProtocolVersion: 4)
7:16:03 PM: debug Aeon Siren: encapsulated: BatteryReport(batteryLevel: 100)
7:16:03 PM: debug Aeon Siren: Turning on Alarm for 30 seconds.
7:16:03 PM: debug Aeon Siren: Overriding “both” command with "Strobe Only"
7:16:03 PM: debug Aeon Siren: encapsulated: BasicReport(value: 0)
7:16:00 PM: debug Aeon Siren: Unknown Command: SecurityCommandsSupportedReport(commandClassControl: [], commandClassSupport: [94, 133, 89, 128, 112, 90, 122, 114, 113, 115, 37, 134], reportsToFollow: 0)
7:16:00 PM: debug Aeon Siren: encapsulated: SecurityCommandsSupportedReport(commandClassControl: [], commandClassSupport: [94, 133, 89, 128, 112, 90, 122, 114, 113, 115, 37, 134], reportsToFollow: 0)
7:15:58 PM: debug Aeon Siren: Updating

Not sure if any of this helps.