Device not in database---xml difficulty

Running OpenHab 2.4 on a Rasberry Pi 3 B+ with a HUSBZB stick

I’ve got the Z-Wave and Zigbee bindings installed and configured. Tried adding a 3210-L smart plug to the setup: OpenHab found the zwave node on it, but the device is not in the database. I created an account with cd-jackson, and started adding the device, but I don’t have all the info to complete the entry. From reading, uploading an XML file is the best way to do this, but I don’t know how to access the xml file to upload it. Any help, please?

The node.xml file will be in the userdata/zwave directory. You need the node number of the device to get the correct XML file.

ok…how do I get there? I know nothing about Linux.

userdata is in the openhab2 directory.

Exactly where that is depends on the type of install. Reference the link below.

Setting up a network share can make all this a bit easier.

I used this install.

I followed the instructions for setting up a network share and when I ran testparm, received the attached:error-1

I’m sorry, but I don’t know the directory locations with an openHABian install.

Perhaps someone else can chime in.

OK…
I nuked and reflashed the card to simplify my life. Turns out Samba is pre-configured in openHABian.

Unfortunately, the xml file for the node contains a SQL syntax error, so I’m currently inclined to trash this plug and pick one that already exists in the database.

Could you please post the contents of the node.xml file, as well as information about the device (e.g. link to manual). If there’s a SQL syntax error in there, I suspect @chris might want to know what it is.

In the future, you also might want to tag your zwave-related posts with the zwave tag. There are a number of people on this forum who get notified when a post is tagged with zwave, and it may help to get more eyes on your issue.

That’s not direclty possible of course since the XML doesn’t contain any SQL. I know that in some instances the database reports an error, but it does work correctly so this might be what is happening.

Is there a reference to the database entry?

OP said that there’s no database entry (which was true at the time).

Here’s the full background… OP said the device is not in the DB. I asked OP to look for the node.xml file so we could get it added to the DB. OP said he looked at the node.xml and that it contained a SQL syntax error.

I just checked the DB and the device (Smart Plug 3210-L) is there. The db entry is incomplete, however. Looks like the OP added it yesterday.
https://www.cd-jackson.com/index.php/zwave/zwave-device-database/zwave-device-list/devicesummary/1022#

retrieved XML, on upload, informed of improper syntax

From this comment on the DB entry, it looks like the OP added it, which is where he saw the SQL error.

@kfd82 Please disregard the SQL error, as it is a known issue and doesn’t appear to cause any problem. You need to complete the database entry, as there are some required fields that keep it from being approved. You also need to add the Configuration Parameters and Association Groups supported by the device. Those can be found in the device manual. Once you do this, the device can be added to the binding.

1 Like

Here’s the manual I could find for the device:link

Hmm. That’s not terribly helpful.

Here’s a link with some additional info.

  • Looks like there’s just one association (lifeline).
  • The CONFIGURATION command class is not listed as supported, so there probably are no config parameters
  • The referenced manual is a little more helpful on inclusion, factory reset, etc.

There might be enough info here for you to complete the DB entry.

I’m still trying to find the ‘thingid’

I just tried copying the xml to the database again, and got an ‘error parsing XML’

<?xml version="1.0"?>

-<node>

<homeId>0xdeb72b4e</homeId>

<nodeId>2</nodeId>

<version>4</version>

<manufacturer>0x246</manufacturer>

<deviceId>0x1</deviceId>

<deviceType>0x1</deviceType>

<listening>true</listening>

<frequentlyListening>false</frequentlyListening>

<routing>true</routing>

<security>false</security>

<beaming>true</beaming>

<maxBaudRate>40000</maxBaudRate>

<sleepDelay>1000</sleepDelay>


-<nodeInformationFrame>

<commandClass>COMMAND_CLASS_ZWAVEPLUS_INFO</commandClass>

<commandClass>COMMAND_CLASS_MANUFACTURER_SPECIFIC</commandClass>

<commandClass>COMMAND_CLASS_VERSION</commandClass>

<commandClass>COMMAND_CLASS_DEVICE_RESET_LOCALLY</commandClass>

<commandClass>COMMAND_CLASS_POWERLEVEL</commandClass>

<commandClass>COMMAND_CLASS_ASSOCIATION</commandClass>

<commandClass>COMMAND_CLASS_ASSOCIATION_GRP_INFO</commandClass>

</nodeInformationFrame>


-<associationGroups class="concurrent-hash-map">


-<entry>

<int>1</int>


-<associationGroup>

<index>1</index>

<maxNodes>0</maxNodes>

<name>Lifeline</name>

<profile1>0x0</profile1>

<profile2>0x1</profile2>


-<commands>

<commandClass>COMMAND_CLASS_ZWAVEPLUS_INFO</commandClass>

<commandClass>COMMAND_CLASS_DEVICE_RESET_LOCALLY</commandClass>

</commands>


-<associations>


-<associationMember>

<node>1</node>

</associationMember>

</associations>

</associationGroup>

</entry>

</associationGroups>


-<endpoints class="concurrent-hash-map">


-<entry>

<int>0</int>


-<endPoint>


-<deviceClass>

<basicDeviceClass>BASIC_TYPE_ROUTING_SLAVE</basicDeviceClass>

<genericDeviceClass>GENERIC_TYPE_REPEATER_SLAVE</genericDeviceClass>

<specificDeviceClass>SPECIFIC_TYPE_REPEATER_SLAVE</specificDeviceClass>

</deviceClass>

<endpointId>0</endpointId>

<secureCommandClasses/>


-<supportedCommandClasses class="concurrent-hash-map">


-<entry>

<commandClass>COMMAND_CLASS_MANUFACTURER_SPECIFIC</commandClass>


-<COMMAND__CLASS__MANUFACTURER__SPECIFIC>

<version>1</version>

<instances>1</instances>

<control>false</control>

<versionSupported>1</versionSupported>

<initSerialNumber>false</initSerialNumber>

<deviceManufacturer>582</deviceManufacturer>

<deviceType>1</deviceType>

<deviceId>1</deviceId>

</COMMAND__CLASS__MANUFACTURER__SPECIFIC>

</entry>


-<entry>

<commandClass>COMMAND_CLASS_ZWAVEPLUS_INFO</commandClass>


-<COMMAND__CLASS__ZWAVEPLUS__INFO>

<version>1</version>

<instances>1</instances>

<control>false</control>

<versionSupported>2</versionSupported>

<zwPlusVersion>1</zwPlusVersion>

<zwPlusRole>ROLE_TYPE_SLAVE_ALWAYS_ON</zwPlusRole>

<zwPlusNodeType>NODE_TYPE_ZWAVEPLUS_NODE</zwPlusNodeType>

<isGetSupported>true</isGetSupported>

</COMMAND__CLASS__ZWAVEPLUS__INFO>

</entry>


-<entry>

<commandClass>COMMAND_CLASS_POWERLEVEL</commandClass>


-<COMMAND__CLASS__POWERLEVEL>

<version>1</version>

<instances>1</instances>

<control>false</control>

<versionSupported>1</versionSupported>

<powerLevel>0</powerLevel>

<powerTimeout>0</powerTimeout>

</COMMAND__CLASS__POWERLEVEL>

</entry>


-<entry>

<commandClass>COMMAND_CLASS_NO_OPERATION</commandClass>


-<COMMAND__CLASS__NO__OPERATION>

<version>1</version>

<instances>1</instances>

<control>false</control>

<versionSupported>1</versionSupported>

</COMMAND__CLASS__NO__OPERATION>

</entry>


-<entry>

<commandClass>COMMAND_CLASS_ASSOCIATION</commandClass>


-<COMMAND__CLASS__ASSOCIATION>

<version>2</version>

<instances>1</instances>

<control>false</control>

<versionSupported>2</versionSupported>

<maxGroups>1</maxGroups>

</COMMAND__CLASS__ASSOCIATION>

</entry>


-<entry>

<commandClass>COMMAND_CLASS_DEVICE_RESET_LOCALLY</commandClass>


-<COMMAND__CLASS__DEVICE__RESET__LOCALLY>

<version>1</version>

<instances>1</instances>

<control>false</control>

<versionSupported>1</versionSupported>

</COMMAND__CLASS__DEVICE__RESET__LOCALLY>

</entry>


-<entry>

<commandClass>COMMAND_CLASS_BASIC</commandClass>


-<COMMAND__CLASS__BASIC>

<version>1</version>

<instances>1</instances>

<control>false</control>

<versionSupported>1</versionSupported>

<isGetSupported>true</isGetSupported>

</COMMAND__CLASS__BASIC>

</entry>


-<entry>

<commandClass>COMMAND_CLASS_ASSOCIATION_GRP_INFO</commandClass>


-<COMMAND__CLASS__ASSOCIATION__GRP__INFO>

<version>1</version>

<instances>1</instances>

<control>false</control>

<versionSupported>1</versionSupported>


-<autoSubscribeGroups>

<int>1</int>

</autoSubscribeGroups>

</COMMAND__CLASS__ASSOCIATION__GRP__INFO>

</entry>


-<entry>

<commandClass>COMMAND_CLASS_VERSION</commandClass>


-<COMMAND__CLASS__VERSION>

<version>2</version>

<instances>1</instances>

<control>false</control>

<versionSupported>2</versionSupported>

<libraryType>LIB_SLAVE_ROUTING</libraryType>

<protocolVersion>4.5</protocolVersion>

<applicationVersion>1.2</applicationVersion>

<hardwareVersion>1</hardwareVersion>

</COMMAND__CLASS__VERSION>

</entry>

</supportedCommandClasses>

</endPoint>

</entry>

</endpoints>

<nodeNeighbors/>

<lastReceived>2019-03-03 14:45:13.912 UTC</lastReceived>

</node>

It’s usually a form of the model number. This would be a fine thingid: 3210l

Don’t worry about that. It’s a known issue.