Monoprice Z-Wave Shock Detector "Unknown Device"

Hi,
I’m trying to add the Monoprice Z-Wave Plus Shock Detector to OpenHAB2 but it’s only recognizing it as an “Unknown Device”. Is there any documentation on how to add devices that are unrecognized to OpenHAB2 device database? I’m not sure if this device is in the latest build as I’m using build #621. The latest build throws a java stack overflow error whenever I try to assign a tty port to my Z-Wave USB stick.

The device is found in HABmin and PaperUI. I’ve tried to reinitialize the device multiple times and it’s seen in the logs but never properly identified like the rest of my devices.

Manufacturer 0190
Type / ID 2003:0307
Firmware Version 16.6
Z-Wave Plus Type HOME_SECURITY_SENSOR

Log shows:
2016-11-29 22:13:09.402 [WARN ] [wave.discovery.ZWaveDiscoveryService] - NODE 6: Device discovery could not resolve to a thingType! 0109:2003:0307::16.6
2016-11-29 22:15:18.313 [WARN ] [l.serialmessage.SendDataMessageClass] - NODE 6: Already processed another send data request for this callback Id, ignoring.
2016-11-29 22:15:23.273 [ERROR] [ocol.ZWaveController$ZWaveSendThread] - NODE 6: Timeout while sending message. Requeueing - 0 attempts left!
2016-11-29 22:17:16.856 [ERROR] [ve.internal.protocol.ZWaveController] - Neither inclusion nor exclusion was active!
2016-11-29 22:17:16.868 [WARN ] [wave.discovery.ZWaveDiscoveryService] - NODE 6: Device discovery could not resolve to a thingType! 0109:2003:0307::16.6
2016-11-29 22:25:34.701 [INFO ] [mmandclass.ZWaveSecurityCommandClass] - NODE 6: setupNetworkKey useSchemeZero=false
2016-11-29 22:25:34.996 [WARN ] [wave.discovery.ZWaveDiscoveryService] - NODE 6: Device discovery could not resolve to a thingType! 0109:2003:0307::16.6
2016-11-29 22:25:35.752 [INFO ] [ommandclass.ZWaveVersionCommandClass] - NODE 6: Command Class BASIC has version 0!
2016-11-29 22:28:06.633 [WARN ] [rialmessage.IsFailedNodeMessageClass] - NODE 6: Is currently marked as failed by the controller!
2016-11-29 22:28:19.360 [INFO ] [mmandclass.ZWaveSecurityCommandClass] - NODE 6: setupNetworkKey useSchemeZero=false
2016-11-29 22:28:19.585 [WARN ] [wave.discovery.ZWaveDiscoveryService] - NODE 6: Device discovery could not resolve to a thingType! 0109:2003:0307::16.6
2016-11-29 22:28:20.372 [INFO ] [ommandclass.ZWaveVersionCommandClass] - NODE 6: Command Class BASIC has version 0!

Any thoughts or suggestions would be appreciated!

Thanks,
Alex

Battery powered?

If so you need to wake it up several times in order for the binding to interrogate it and learn what it is. It also may not be in the zwave database.

http://www.cd-jackson.com/index.php/zwave/zwave-device-database/zwave-device-database-guide

You can search for the device there. If it isn’t there you can add it yourself or ask chris to add it.

Yes, it’s battery powered. I’ve woken it up many times and I can see it pop up in the logs but it doesn’t recognize it. I’ve also let it sit for a day now, usually it would connect by now if it knew what it was.

I’ve had a very similar sensor (probably identical except f/w) from a rebranded vendor that was recognized instantly. But the sensor was faulty as it never seemed to send the off command. Probably could have just worked around that issue easier than this. :slight_smile:

Thanks! Looks like the sensor I have is identical to the one in the database just from a different vendor.

http://www.cd-jackson.com/index.php/zwave/zwave-device-database/zwave-device-list/devicesummary/442

Are the nodeX.xml files the ones that handle everything for the zwave binding? I’m not able to export the device above from the website for some reason.

You’re not meant to export it - this won’t really help you unless you want to compile a binding yourself.

I’ll take a look at this tonight, but if it’s not in the database we can add it - can you post the XML for this device that comes from the userdata/zwave folder.

Thanks Chris. Here’s the XML.

<node>
  <deviceClass>
    <basicDeviceClass>ROUTING_SLAVE</basicDeviceClass>
    <genericDeviceClass>SENSOR_NOTIFICATION</genericDeviceClass>
    <specificDeviceClass>NOTIFICATION_SENSOR</specificDeviceClass>
  </deviceClass>
  <homeId>0xf0428818</homeId>
  <nodeId>6</nodeId>
  <version>4</version>
  <manufacturer>0x109</manufacturer>
  <deviceId>0x307</deviceId>
  <deviceType>0x2003</deviceType>
  <listening>false</listening>
  <frequentlyListening>false</frequentlyListening>
  <routing>true</routing>
  <security>false</security>
  <beaming>true</beaming>
  <maxBaudRate>40000</maxBaudRate>
  <nodeInformationFrame>
    <commandClass>ZWAVE_PLUS_INFO</commandClass>
    <commandClass>APPLICATION_STATUS</commandClass>
    <commandClass>ASSOCIATION</commandClass>
    <commandClass>ASSOCIATION_GROUP_INFO</commandClass>
    <commandClass>BATTERY</commandClass>
    <commandClass>DEVICE_RESET_LOCALLY</commandClass>
    <commandClass>FIRMWARE_UPDATE_MD</commandClass>
    <commandClass>MANUFACTURER_SPECIFIC</commandClass>
    <commandClass>ALARM</commandClass>
    <commandClass>POWERLEVEL</commandClass>
    <commandClass>SECURITY</commandClass>
    <commandClass>VERSION</commandClass>
    <commandClass>WAKE_UP</commandClass>
  </nodeInformationFrame>
  <supportedCommandClasses>
    <entry>
      <commandClass>FIRMWARE_UPDATE_MD</commandClass>
      <firmwareUpdateCommandClass>
        <version>1</version>
        <instances>1</instances>
        <versionSupported>2</versionSupported>
      </firmwareUpdateCommandClass>
    </entry>
    <entry>
      <commandClass>MANUFACTURER_SPECIFIC</commandClass>
      <manufacturerSpecificCommandClass>
        <version>1</version>
        <instances>1</instances>
        <versionSupported>2</versionSupported>
        <initSerialNumber>false</initSerialNumber>
        <deviceManufacturer>265</deviceManufacturer>
        <deviceType>8195</deviceType>
        <deviceId>775</deviceId>
      </manufacturerSpecificCommandClass>
    </entry>
    <entry>
      <commandClass>SENSOR_BINARY</commandClass>
      <binarySensorCommandClass>
        <version>0</version>
        <instances>0</instances>
        <versionSupported>0</versionSupported>
        <isGetSupported>true</isGetSupported>
        <types/>
      </binarySensorCommandClass>
    </entry>
    <entry>
      <commandClass>NO_OPERATION</commandClass>
      <noOperationCommandClass>
        <version>1</version>
        <instances>1</instances>
        <versionSupported>1</versionSupported>
      </noOperationCommandClass>
    </entry>
    <entry>
      <commandClass>DEVICE_RESET_LOCALLY</commandClass>
      <deviceResetLocallyCommandClass>
        <version>1</version>
        <instances>1</instances>
        <versionSupported>1</versionSupported>
      </deviceResetLocallyCommandClass>
    </entry>
    <entry>
      <commandClass>BATTERY</commandClass>
      <batteryCommandClass>
        <version>1</version>
        <instances>1</instances>
        <versionSupported>1</versionSupported>
        <batteryLevel>100</batteryLevel>
        <batteryLow>false</batteryLow>
        <isGetSupported>true</isGetSupported>
      </batteryCommandClass>
    </entry>
    <entry>
      <commandClass>VERSION</commandClass>
      <versionCommandClass>
        <version>2</version>
        <instances>1</instances>
        <versionSupported>2</versionSupported>
        <libraryType>LIB_SLAVE_ENHANCED</libraryType>
        <protocolVersion>4.24</protocolVersion>
        <applicationVersion>16.6</applicationVersion>
        <hardwareVersion>1</hardwareVersion>
      </versionCommandClass>
    </entry>
    <entry>
      <commandClass>ASSOCIATION</commandClass>
      <associationCommandClass>
        <version>2</version>
        <instances>1</instances>
        <versionSupported>2</versionSupported>
        <maxGroups>1</maxGroups>
      </associationCommandClass>
    </entry>
    <entry>
      <commandClass>ZWAVE_PLUS_INFO</commandClass>
      <zwavePlusCommandClass>
        <version>1</version>
        <instances>1</instances>
        <versionSupported>2</versionSupported>
        <zwPlusVersion>1</zwPlusVersion>
        <zwPlusRole>6</zwPlusRole>
        <zwPlusNodeType>0</zwPlusNodeType>
        <zwPlusDeviceType>0xc07</zwPlusDeviceType>
        <zwPlusInstallerIcon>0xc07</zwPlusInstallerIcon>
        <isGetSupported>true</isGetSupported>
      </zwavePlusCommandClass>
    </entry>
    <entry>
      <commandClass>BASIC</commandClass>
      <basicCommandClass>
        <version>1</version>
        <instances>1</instances>
        <versionSupported>1</versionSupported>
        <isGetSupported>true</isGetSupported>
      </basicCommandClass>
    </entry>
    <entry>
      <commandClass>ASSOCIATION_GROUP_INFO</commandClass>
      <associationGroupInfoCommandClass>
        <version>1</version>
        <instances>1</instances>
        <versionSupported>1</versionSupported>
        <autoSubscribeGroups>
          <int>1</int>
        </autoSubscribeGroups>
      </associationGroupInfoCommandClass>
    </entry>
    <entry>
      <commandClass>APPLICATION_STATUS</commandClass>
      <ZWaveApplicationStatusClass>
        <version>1</version>
        <instances>1</instances>
        <versionSupported>1</versionSupported>
      </ZWaveApplicationStatusClass>
    </entry>
    <entry>
      <commandClass>ALARM</commandClass>
      <alarmCommandClass>
        <version>4</version>
        <instances>1</instances>
        <versionSupported>4</versionSupported>
        <alarms>
          <entry>
            <alarmType>GENERAL</alarmType>
            <alarmState>
              <alarmType>GENERAL</alarmType>
              <reportedEvents/>
              <outer-class reference="../../../.."/>
            </alarmState>
          </entry>
          <entry>
            <alarmType>BURGLAR</alarmType>
            <alarmState>
              <alarmType>BURGLAR</alarmType>
              <reportedEvents>
                <int>2</int>
                <int>3</int>
              </reportedEvents>
              <outer-class reference="../../../.."/>
            </alarmState>
          </entry>
        </alarms>
        <v1Supported>false</v1Supported>
        <isGetSupported>true</isGetSupported>
      </alarmCommandClass>
    </entry>
    <entry>
      <commandClass>POWERLEVEL</commandClass>
      <powerLevelCommandClass>
        <version>1</version>
        <instances>1</instances>
        <versionSupported>1</versionSupported>
        <powerLevel>0</powerLevel>
        <powerTimeout>0</powerTimeout>
      </powerLevelCommandClass>
    </entry>
    <entry>
      <commandClass>WAKE_UP</commandClass>
      <WakeUpCommandClass>
        <version>2</version>
        <instances>1</instances>
        <versionSupported>2</versionSupported>
        <targetNodeId>1</targetNodeId>
        <interval>21750</interval>
        <minInterval>500</minInterval>
        <maxInterval>605000</maxInterval>
        <defaultInterval>21750</defaultInterval>
        <intervalStep>250</intervalStep>
        <lastWakeup>2016-12-01 04:44:16.306 UTC</lastWakeup>
        <isGetSupported>true</isGetSupported>
      </WakeUpCommandClass>
    </entry>
  </supportedCommandClasses>
  <securedCommandClasses/>
  <associationGroups>
    <entry>
      <int>1</int>
      <associationGroup>
        <index>1</index>
        <name>Lifeline</name>
        <profile>0x1</profile>
        <commands>
          <commandClass>BATTERY</commandClass>
          <commandClass>BASIC</commandClass>
          <commandClass>ALARM</commandClass>
          <commandClass>DEVICE_RESET_LOCALLY</commandClass>
        </commands>
        <associations/>
      </associationGroup>
    </entry>
  </associationGroups>
  <nodeNeighbors>
    <int>1</int>
  </nodeNeighbors>
  <lastSent>2016-12-01 04:44:18.277 UTC</lastSent>
  <lastReceived>2016-12-01 04:44:18.325 UTC</lastReceived>
</node>

I’ve updated the database - the manufacturer was also the same as the one already in the database, so nice and easy :).

Awesome! Thanks! I’ll clone my vm and give the latest build a try. The last time only Build #621 worked for me and the other threw a stack overflow when I tried to initialize the /dev/ttyACM0 for the zwave binding in the GUI. I saw a thread posted on a similar issue where they recommended an earlier build and that worked. Always love the latest and greatest though!