Z-Wave Device Not Identified Correctly

I have a Radio Thermostat CT80 with a Z-Wave Module installed. I have linked it to my Home Assistant, but it shows Unknown for the Manufacture and Device. The basic Entities seem to show up (it knows it is a Thermostat at least), but it is missing some of the configuration items indicated by Z-Wave JS Config DB. Is there a way to force the information onto Z-Wave (like changing the manufacture, device, and/or ID)? Or is there something else I need to do to resolve this?

make sure you have latest version zwavejs

reinterview device and see if that helps resolve issue

I checked it this morning and I found an update for it and Home Assistant. After updating and restarting the services, it doing the reinterview, it hasn’t changed the status of it. Still says unknown Manufacture and Device.

There is a way to force a custom device config, but you have to use zwavejs2mqtt over zwavejs. I’ve never tried it myself.

If you just want to change an unlisted parameter, and know it’s parameter number, you can also do that right within the zwavejs2mqtt control panel, with no custom device config needed

I would also include it with no security. There’s some updates around security working their way through the release right now that might impact this.

Does the manufacturerId, productType, productId and firmware version align exactly with what’s in the zwave2js device database?

I had a similar issue, where the product id for one of my fibaro flood sensors wasn’t recognised (although the other fibaro flood sensors were identified). Turns out the productid was different for that particular sensor and couldn’t be identified.

I modified the XML configuration file to add it and uploaded the file to the right folder and did a restart. Re-interviewed the device and everything appeared as expected.

It could be as simple as a hardware or firmware revision not matching exactly with the device database.

1 Like

Where is xml file?

Well as a first step, I would look for the device in here

https://devices.zwave-js.io/

I didn’t mention it as the OP had mentioned it ‘was in the zwave2js config db’ which to me indicated they were aware of its location.

If the device is in there, but not matched, I would then look at the details in the database and the details shown in the zwavejs2mqtt interface to try and find the difference. Click on the view on Github to view the configuration XML file which you could then download, edit and upload to your local instance.

1 Like

This was the question
What is local file path. Thinking I may not have mounted it locally for container and maybe I need to do this

1 Like

The link to the instructions to use your own config files were posted earlier in this thread.

1 Like

Unfortunately that’s not what I took from the question “Where is xml file?”. Also I mispoke when I mentioned XML, I of course meant json file!

You can use the zwavejs2mqtt interface to create it. Click on the folders icon, then add a folder for config under the store. Create a new file and then paste the device configuration data into it

1 Like

I am not use on the manufactureId and productId as they are displayed in HEX (I believe) on the zwave2js device database. That information is not displayed in the Home Assistant interface, so I cannot confirm if they are the same. As for the version, the database says All Versions.

I will say the ZWave was added after the fact (it didn’t come with it), but the module is for the CT80. How can I view the ManufactureId and productId in Home Assistant (to see what it is reporting to Home Assistant)? I did find a post back when Open Zwave was around and it seems there was at least two different CT80 ID numbers (at least another one got added based on the post). I am not saying that is the case here, but something to use to compare and troubleshoot will be helpful.

Unfortunately, I’m not 100% sure if you’re just using the zwave2js integration by itself with the HA interface. I’m using the zwavejs2mqtt add-on, because it works the same as the integration but also gives you the WebUI for advanced configuration (HA didn’t have a lot of the stuff it does now when I migrated).

You might find it in the device info screen for the device in HA.

image

You can download an entire settings file in json format which will include manufacturer and product ID. Go to the zwavejs integration and at the bottom click download a dump of your network. Then scroll until you find the Node, sorted by node id number.

I still believe you will ultimately need zwavejs2mqtt to apply the custom config though if you need one. It’s possible you could get into the zwavejs addon container somehow to change it, but it will be difficult and I dont even know if it would persist between addon upates/restarts. There is no way to apply the custom config through the zwavejs integration ui screen in Homeassistant (at least that I’m aware of)

So I got “Z-Wave JS to MQTT” installed and I can see the Z-Wave items from Home Assistant. The Product (0x0001) and Product Code (Unknown product 0x0050) suggest it isn’t identifying correctly. I am not sure if this is an issue with the Thermostat or the Z-Wave Module (It does know it is “Radio Thermostat Company of America (RTC)”)

You can look for your device in Zwave js db. If it is not there then, yes, it will be unknown

If it exist there maybe try reinterview or there may be something else

It’s unknown because it’s not identified in the database.

The CT80 is, but the product type doesn’t appear in the list.

https://devices.zwave-js.io/?jumpTo=0x0098:0x5002:0x0100:0.0

Correct, it doesn’t show up because of what it returns. It is a CT80, this is why I am trying to figure out if there is a way I can correct or if there is anything I can do about it. The unit originally came with WiFi and I purchased a z-wave module for it.

There is a fair bit of discussion in this thread about how to approach fixing it.

I’ve never tried modifying one of these configs, but based on the posts above try the following:

Copy the ct80.json file located in the store/.config-db/devices/0x0098 directory to the store/config directory. Modify that file to add your device’s reported product type and product ID to the file (manufacturer ID already matches what’s in that file so no need to change that at all). This should then force zwavejs2mqtt to identify your switch based on the settings of that file.

Based on your screenshot,
The product type of “1” converts to hex “0x0001”
The product ID of “80” converts to hex “0x0050”

So, lines 6-19 in that existing ct80.json file look like the following:

	"devices": [
		{
			"productType": "0x5002",
			"productId": "0x0100"
		},
		{
			"productType": "0x5002",
			"productId": "0x0108"
		},
		{
			"productType": "0x5003",
			"productId": "0x0109"
		}
	],

Replace them to add your product type and product ID of your device as follows and save it in the store/config directory:

	"devices": [
		{
			"productType": "0x0001",
			"productId": "0x0050"
		},
		{
			"productType": "0x5002",
			"productId": "0x0100"
		},
		{
			"productType": "0x5002",
			"productId": "0x0108"
		},
		{
			"productType": "0x5003",
			"productId": "0x0109"
		}
	],

Restart zwavejs2mqtt then re-interview the switch.

This is based on the posts from dgaust above so if it works they definitely deserve the solution to this. I doubt I would have figured it out without those instructions and it is definitely helpful figuring this out if I ever run into this situation myself.

no need to restart zwaveJS. just need reinterview