Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CT100 ZWave thermostats report extra values after reboot #6650

Open
3 tasks done
ken-wolfe opened this issue Jan 27, 2024 · 24 comments
Open
3 tasks done

CT100 ZWave thermostats report extra values after reboot #6650

ken-wolfe opened this issue Jan 27, 2024 · 24 comments
Labels
bug Something isn't working

Comments

@ken-wolfe
Copy link

ken-wolfe commented Jan 27, 2024

Checklist

  • I am not using Home Assistant. Or: a developer has told me to come here.
  • I have checked the troubleshooting section and my problem is not described there.
  • I have read the changelog and my problem is not mentioned there.

Deploy method

Home Assistant Add-on

Z-Wave JS UI version

9.8.1

ZwaveJS version

12.4.2

Describe the bug

Occasionally my thermostats (I have 2 of them, both CT100), report extra values (2 additional full thermostats, 1 additional air temp sensor). This seems to happen after rebooting my Home Assistant computer, restarting HA by itself does not seem to trigger the issue. Re-interviewing the node for each thermostat, causes these additional values to get removed.

The log files below are a copy and paste of the Node-JS UI "Debug" screen for node 30, 1 from before I reinterviewed the node and one from after. The after does not contain the extra values.

node30-after-interview.txt
node30-before-interview.txt

Here is a full Driver log from Node-JS UI for node 5 and node 30 (my thermostats) which should show before I re-interviewed, the re-interview, a restart of HA, a reboot of the HA machine (which then causes the problem to repro), and a re-interview of the devices (which removes the problem until the next reboot of the machine).

zwavejs_2024-01-27(1).log

Let me know if there is anything more that you need from me. Now that I know how to reproduce the problem, I should be able to get additional logs very easily.

To Reproduce

Have Home Assistant
Have ZWave-JS UI installed
Re-interview one of the thermostat nodes, notice that extra values go away
Reboot Home Assistant computer
Notice that extra values have returned.

Expected behavior

No extra values for the thermostat nodes appear. There should be only 1 thermostat control per node.

Additional context

Sometimes the extra air temp sensor does not show up. Not sure why that is.

@ken-wolfe ken-wolfe added the bug Something isn't working label Jan 27, 2024
@ken-wolfe
Copy link
Author

I think the problem actually happens when ZWave JS restarts. I just changed some of the logging options (to remove the node filtering that I had put in place) and the problem above reproduced again.

@robertsLando
Copy link
Member

@AlCalzone Seems like the device occasionally reports something it should not, this reminds me to possibile connectivity issues?

@ken-wolfe Did you tried to use an usb extension cord? Check this: https://zwave-js.github.io/node-zwave-js/#/troubleshooting/nonsensical-values

@ken-wolfe
Copy link
Author

@robertsLando I have not tried a USB extension. I don’t think I’m getting random results. It’s the same thing each time ZWave JS restarts which is then fixed when I re-interview the device. And it happens exactly the same on both of my CT100 thermostats. One of them is about 5 feet from the zwave stick, the other is probably 50 feet away. I started to look through the Zwave JS code over the weekend, but I’m not familiar with it. My first thought was to try to understand how the initial boot / device bring up works as compared to what happens during the re-interview. Like maybe there is some junk stored in the db that isn’t getting refreshed during the re-interview. However, I have no idea how this code actually works, so it might take a while to figure anything out.

@ken-wolfe
Copy link
Author

I just reproed the problem by restarting the zwave js ui add on in home assistant. Nothing else is required. Refreshing the zwave js device in home assistant did not reproduce the problem.

@robertsLando
Copy link
Member

OK let's see what @AlCalzone can tell us when checking logs

@AlCalzone
Copy link
Member

We have quite an extensive set of compat flags to get rid of these additional endpoints, since the device does report them, although they are useless:

		// Remove all Thermostat CCs from endpoints 1 and 2, as well as the sensor on endpoint 1
		"commandClasses": {
			"remove": {
				"Basic": {
					"endpoints": [1, 2]
				},
				"Thermostat Mode": {
					"endpoints": [1, 2]
				},
				"Thermostat Setpoint": {
					"endpoints": [1, 2]
				},
				"Multilevel Sensor": {
					"endpoints": [1]
				}
			}
		}

The log does not contain such an instance, but I guess the device does report on those endpoints from time to time, and Z-Wave JS doesn't ignore those reports correctly.

@AlCalzone AlCalzone transferred this issue from zwave-js/zwave-js-ui Feb 1, 2024
@ken-wolfe
Copy link
Author

@AlCalzone Is there something I should try? Sorry it’s not clear to me what to do next.

@AlCalzone
Copy link
Member

No, you'll have to wait until I'm back from parental leave. I'll try to reproduce this in a test case, so I can fix it for good.

@ken-wolfe
Copy link
Author

Sorry to have bothered you on parental leave. Enjoy the time with your child (or children). If there are any additional logs that would be helpful, I’m happy to gather them. Just let me know.

@AlCalzone
Copy link
Member

It's fine. I check in here when I do have time to kill.

@AlCalzone
Copy link
Member

This should be fixed since v12.5.4 - might need a re-interview though.
If not, please let me know.

@txwindsurfer
Copy link

txwindsurfer commented Apr 16, 2024

I am on Core Version 2024.4.3, OS 12.2 and continue to have this problem whenever a new version of Z-Wave-JS-UI is installed (perhaps when restarted). After re-interview, the extra entities are unavailable. If I remove the unavailable entities, they reappear with the next Z-Wave-JS-UI update/restart, and I must re-interview all the thermostats again (I have 5 CT101 and CT100). Perhaps I should not remove the unavailable extra entities.

Previously reported in #6184 and the fix in #6185 fixed the problem by a re-interview but extra entities still appear after an update/restart.

Nothing urgent, just a bother.

@AlCalzone
Copy link
Member

Which version of Z-Wave JS UI are you using?

@txwindsurfer
Copy link

zwave-js-ui: 9.10.2
zwave-js: 12.5.2

@AlCalzone
Copy link
Member

Like I said, the fix (#6760) is in version 12.5.4, so you don't have it yet.

@ken-wolfe
Copy link
Author

ken-wolfe commented Apr 22, 2024

I just updated to z-wave js 12.5.5 and z-wave js ui 9.11.1. After the upgrade completed, the duplicate items were present again. I also tried restarting Home Assistant, and the duplicate items were present. Would you like me to collect logs again? In between the restarts I re-interviewed and removed the zombie items. Also, the zombie items were not present before the upgrade (as I had done the re-interview dance several weeks ago after a different upgrade/restart).

@AlCalzone
Copy link
Member

Ok then I need logs please.

@ken-wolfe
Copy link
Author

Here are the logs.

I started with system running, and the extra items are deleted. I turned on "Debug" level logging and logged it to a file. The logs should contain the following actions: I restarted Home Assistant. The zombie items came back, I re-interviewed each device and deleted the zombie items after the re-interview. Let me know if you'd like a new bug or any additional logs or information.

zwavejs_2024-04-22.log

@ken-wolfe
Copy link
Author

In case it matters, I delete the zombie items from the Home Assistant UI. If I should be removing them from elsewhere, let me know.

@AlCalzone
Copy link
Member

You cannot really delete them, as HA just creates entities for what Z-Wave JS exposes. I need a bit more info I'm afraid.

  1. enable application logs in the settings if you haven't already
  2. go to the log tab, pop out the logs into a new window
  3. go to the control panel tab, click the menu in the bottom right corner -> advanced -> driver function.
  4. Paste the following code there, and replace the 2 in line 2 with the node ID of your node. Do not press RUN yet.
    const { logger } = this;
    const node = driver.controller.nodes.get(   2   ); // <-- REPLACE 2 WITH YOUR NODE ID
    
    for (const ep of node.getAllEndpoints()) {
    	logger.info(`Endpoint ${ep.index}, CCs: ${JSON.stringify([...ep.getCCs()], null, 2)}`);
    }
    
    const valueIDs = node.getDefinedValueIDs();
    logger.info(`value IDs: ${JSON.stringify(valueIDs, null, 2)}`);
  5. In the log window, press CLEAR
  6. In the Driver function window, press RUN
  7. In the log window, press STOP, copy the entire log there and share it here.

@AlCalzone AlCalzone reopened this Apr 23, 2024
@ken-wolfe
Copy link
Author

ken-wolfe commented Apr 25, 2024

I'm going to follow the directions you provided, but also want to make sure I'm doing the right thing.

enable application logs in the settings if you haven't already

I'm assuming this means turn on "Debug" logging in Z-Wave JS. So this is what I have done.

go to the log tab, pop out the logs into a new window

Again, I'm assuming that this is in Z-Wave JS

go to the control panel tab, click the menu in the bottom right corner -> advanced -> driver function.

Same assumption as above, in Z-Wave JS

I did it twice, one for each node in case there is something to be learned there. Please let me know if you need any additional things. I'm happy to help.

Here is the output for node 5:

2024-04-24 22:23:27.888 DEBUG SOCKET: Event ZWAVE_API emitted to gnmplGX5UvE6UmxxAAAR
2024-04-24 22:23:27.893 INFO Z-WAVE: Calling api driverFunction with args: [
  'const { logger } = this;\n' +
    'const node = driver.controller.nodes.get(   5   ); // <-- REPLACE 2 WITH YOUR NODE ID\n' +
    '\n' +
    'for (const ep of node.getAllEndpoints()) {\n' +
    '\tlogger.info(`Endpoint ${ep.index}, CCs: ${JSON.stringify([...ep.getCCs()], null, 2)}`);\n' +
    '}\n' +
    '\n' +
    'const valueIDs = node.getDefinedValueIDs();\n' +
    'logger.info(`value IDs: ${JSON.stringify(valueIDs, null, 2)}`);',
  [length]: 1
]
2024-04-24 22:23:27.896 INFO Z-WAVE: Endpoint 0, CCs: [
  [
    114,
    {
      "isSupported": true,
      "isControlled": false,
      "secure": false,
      "version": 1
    }
  ],
  [
    64,
    {
      "isSupported": true,
      "isControlled": false,
      "secure": false,
      "version": 2
    }
  ],
  [
    67,
    {
      "isSupported": true,
      "isControlled": false,
      "secure": false,
      "version": 2
    }
  ],
  [
    134,
    {
      "isSupported": true,
      "isControlled": false,
      "secure": false,
      "version": 1
    }
  ],
  [
    129,
    {
      "isSupported": true,
      "isControlled": false,
      "secure": false,
      "version": 1
    }
  ],
  [
    135,
    {
      "isSupported": true,
      "isControlled": false,
      "secure": false,
      "version": 1
    }
  ],
  [
    49,
    {
      "isSupported": true,
      "isControlled": false,
      "secure": false,
      "version": 2
    }
  ],
  [
    66,
    {
      "isSupported": true,
      "isControlled": false,
      "secure": false,
      "version": 2
    }
  ],
  [
    68,
    {
      "isSupported": true,
      "isControlled": false,
      "secure": false,
      "version": 1
    }
  ],
  [
    69,
    {
      "isSupported": true,
      "isControlled": false,
      "secure": false,
      "version": 1
    }
  ],
  [
    112,
    {
      "isSupported": true,
      "isControlled": false,
      "secure": false,
      "version": 1
    }
  ],
  [
    128,
    {
      "isSupported": true,
      "isControlled": false,
      "secure": false,
      "version": 1
    }
  ],
  [
    133,
    {
      "isSupported": true,
      "isControlled": false,
      "secure": false,
      "version": 1
    }
  ],
  [
    96,
    {
      "isSupported": true,
      "isControlled": false,
      "secure": false,
      "version": 3
    }
  ]
]
2024-04-24 22:23:27.897 INFO Z-WAVE: Endpoint 1, CCs: [
  [
    133,
    {
      "isSupported": true,
      "isControlled": false,
      "secure": false,
      "version": 0
    }
  ],
  [
    64,
    {
      "isSupported": true,
      "isControlled": false,
      "secure": false,
      "version": 0
    }
  ],
  [
    67,
    {
      "isSupported": true,
      "isControlled": false,
      "secure": false,
      "version": 0
    }
  ],
  [
    49,
    {
      "isSupported": true,
      "isControlled": false,
      "secure": false,
      "version": 0
    }
  ]
]
2024-04-24 22:23:27.898 INFO Z-WAVE: Endpoint 2, CCs: [
  [
    49,
    {
      "isSupported": true,
      "isControlled": false,
      "secure": false,
      "version": 0
    }
  ],
  [
    133,
    {
      "isSupported": true,
      "isControlled": false,
      "secure": false,
      "version": 0
    }
  ],
  [
    64,
    {
      "isSupported": true,
      "isControlled": false,
      "secure": false,
      "version": 0
    }
  ],
  [
    67,
    {
      "isSupported": true,
      "isControlled": false,
      "secure": false,
      "version": 0
    }
  ]
]
2024-04-24 22:23:27.927 INFO Z-WAVE: value IDs: [
  {
    "commandClassName": "Multilevel Sensor",
    "commandClass": 49,
    "endpoint": 0,
    "property": "Air temperature",
    "propertyName": "Air temperature"
  },
  {
    "commandClassName": "Thermostat Mode",
    "commandClass": 64,
    "endpoint": 0,
    "property": "mode",
    "propertyName": "mode"
  },
  {
    "commandClassName": "Thermostat Mode",
    "commandClass": 64,
    "endpoint": 0,
    "property": "manufacturerData",
    "propertyName": "manufacturerData"
  },
  {
    "commandClassName": "Thermostat Operating State",
    "commandClass": 66,
    "endpoint": 0,
    "property": "state",
    "propertyName": "state"
  },
  {
    "commandClassName": "Thermostat Setpoint",
    "commandClass": 67,
    "endpoint": 0,
    "property": "setpoint",
    "propertyKey": 1,
    "propertyName": "setpoint",
    "propertyKeyName": "Heating"
  },
  {
    "commandClassName": "Thermostat Setpoint",
    "commandClass": 67,
    "endpoint": 0,
    "property": "setpoint",
    "propertyKey": 2,
    "propertyName": "setpoint",
    "propertyKeyName": "Cooling"
  },
  {
    "commandClassName": "Thermostat Fan Mode",
    "commandClass": 68,
    "endpoint": 0,
    "property": "mode",
    "propertyName": "mode"
  },
  {
    "commandClassName": "Thermostat Fan State",
    "commandClass": 69,
    "endpoint": 0,
    "property": "state",
    "propertyName": "state"
  },
  {
    "commandClassName": "Configuration",
    "commandClass": 112,
    "endpoint": 0,
    "property": 1,
    "propertyName": "Temperature Reporting Threshold"
  },
  {
    "commandClassName": "Configuration",
    "commandClass": 112,
    "endpoint": 0,
    "property": 2,
    "propertyKey": 4278190080,
    "propertyName": "HVAC Type"
  },
  {
    "commandClassName": "Configuration",
    "commandClass": 112,
    "endpoint": 0,
    "property": 2,
    "propertyKey": 983040,
    "propertyName": "Number of Auxiliary or Heat Stages"
  },
  {
    "commandClassName": "Configuration",
    "commandClass": 112,
    "endpoint": 0,
    "property": 2,
    "propertyKey": 15728640,
    "propertyName": "Auxiliary Heat Type"
  },
  {
    "commandClassName": "Configuration",
    "commandClass": 112,
    "endpoint": 0,
    "property": 2,
    "propertyKey": 65280,
    "propertyName": "Number of Heat Pump Stages"
  },
  {
    "commandClassName": "Configuration",
    "commandClass": 112,
    "endpoint": 0,
    "property": 2,
    "propertyKey": 255,
    "propertyName": "Number of Cool Stages"
  },
  {
    "commandClassName": "Configuration",
    "commandClass": 112,
    "endpoint": 0,
    "property": 4,
    "propertyName": "Thermostat Power Type"
  },
  {
    "commandClassName": "Configuration",
    "commandClass": 112,
    "endpoint": 0,
    "property": 5,
    "propertyName": "Humidity Reporting Threshold"
  },
  {
    "commandClassName": "Configuration",
    "commandClass": 112,
    "endpoint": 0,
    "property": 6,
    "propertyName": "Auxiliary/Emergency Heating"
  },
  {
    "commandClassName": "Configuration",
    "commandClass": 112,
    "endpoint": 0,
    "property": 7,
    "propertyName": "Thermostat Hysteresis"
  },
  {
    "commandClassName": "Configuration",
    "commandClass": 112,
    "endpoint": 0,
    "property": 8,
    "propertyKey": 65280,
    "propertyName": "Heating Differential Temperature"
  },
  {
    "commandClassName": "Configuration",
    "commandClass": 112,
    "endpoint": 0,
    "property": 8,
    "propertyKey": 255,
    "propertyName": "Cooling Differential Temperature"
  },
  {
    "commandClassName": "Configuration",
    "commandClass": 112,
    "endpoint": 0,
    "property": 9,
    "propertyName": "Thermostat Recovery Mode"
  },
  {
    "commandClassName": "Configuration",
    "commandClass": 112,
    "endpoint": 0,
    "property": 3,
    "propertyName": "Lock Setpoint Changes"
  },
  {
    "commandClassName": "Manufacturer Specific",
    "commandClass": 114,
    "endpoint": 0,
    "property": "manufacturerId",
    "propertyName": "manufacturerId"
  },
  {
    "commandClassName": "Manufacturer Specific",
    "commandClass": 114,
    "endpoint": 0,
    "property": "productType",
    "propertyName": "productType"
  },
  {
    "commandClassName": "Manufacturer Specific",
    "commandClass": 114,
    "endpoint": 0,
    "property": "productId",
    "propertyName": "productId"
  },
  {
    "commandClassName": "Battery",
    "commandClass": 128,
    "endpoint": 0,
    "property": "level",
    "propertyName": "level"
  },
  {
    "commandClassName": "Battery",
    "commandClass": 128,
    "endpoint": 0,
    "property": "isLow",
    "propertyName": "isLow"
  },
  {
    "commandClassName": "Version",
    "commandClass": 134,
    "endpoint": 0,
    "property": "libraryType",
    "propertyName": "libraryType"
  },
  {
    "commandClassName": "Version",
    "commandClass": 134,
    "endpoint": 0,
    "property": "protocolVersion",
    "propertyName": "protocolVersion"
  },
  {
    "commandClassName": "Version",
    "commandClass": 134,
    "endpoint": 0,
    "property": "firmwareVersions",
    "propertyName": "firmwareVersions"
  },
  {
    "commandClassName": "Indicator",
    "commandClass": 135,
    "endpoint": 0,
    "property": "value",
    "propertyName": "value"
  },
  {
    "commandClassName": "Thermostat Mode",
    "commandClass": 64,
    "endpoint": 1,
    "property": "mode",
    "propertyName": "mode"
  },
  {
    "commandClassName": "Thermostat Mode",
    "commandClass": 64,
    "endpoint": 1,
    "property": "manufacturerData",
    "propertyName": "manufacturerData"
  },
  {
    "commandClassName": "Multilevel Sensor",
    "commandClass": 49,
    "endpoint": 2,
    "property": "Humidity",
    "propertyName": "Humidity"
  },
  {
    "commandClassName": "Thermostat Mode",
    "commandClass": 64,
    "endpoint": 2,
    "property": "mode",
    "propertyName": "mode"
  },
  {
    "commandClassName": "Thermostat Mode",
    "commandClass": 64,
    "endpoint": 2,
    "property": "manufacturerData",
    "propertyName": "manufacturerData"
  }
]
2024-04-24 22:23:27.933 INFO Z-WAVE: Success zwave api call driverFunction undefined
2024-04-25T05:23:36.724Z SERIAL « 0x0110000400180a3202217400005e750000b7                              (18 bytes)
2024-04-25T05:23:36.726Z SERIAL » [ACK]

I ran it again for the other node (30) just in case there is something different there:

2024-04-24 22:26:43.367 DEBUG SOCKET: Event ZWAVE_API emitted to gnmplGX5UvE6UmxxAAAR
2024-04-24 22:26:43.369 INFO Z-WAVE: Calling api driverFunction with args: [
  'const { logger } = this;\n' +
    'const node = driver.controller.nodes.get(   30   ); // <-- REPLACE 2 WITH YOUR NODE ID\n' +
    '\n' +
    'for (const ep of node.getAllEndpoints()) {\n' +
    '\tlogger.info(`Endpoint ${ep.index}, CCs: ${JSON.stringify([...ep.getCCs()], null, 2)}`);\n' +
    '}\n' +
    '\n' +
    'const valueIDs = node.getDefinedValueIDs();\n' +
    'logger.info(`value IDs: ${JSON.stringify(valueIDs, null, 2)}`);',
  [length]: 1
]
2024-04-24 22:26:43.370 INFO Z-WAVE: Endpoint 0, CCs: [
  [
    114,
    {
      "isSupported": true,
      "isControlled": false,
      "secure": false,
      "version": 1
    }
  ],
  [
    64,
    {
      "isSupported": true,
      "isControlled": false,
      "secure": false,
      "version": 2
    }
  ],
  [
    67,
    {
      "isSupported": true,
      "isControlled": false,
      "secure": false,
      "version": 2
    }
  ],
  [
    134,
    {
      "isSupported": true,
      "isControlled": false,
      "secure": false,
      "version": 1
    }
  ],
  [
    129,
    {
      "isSupported": true,
      "isControlled": false,
      "secure": false,
      "version": 1
    }
  ],
  [
    135,
    {
      "isSupported": true,
      "isControlled": false,
      "secure": false,
      "version": 1
    }
  ],
  [
    49,
    {
      "isSupported": true,
      "isControlled": false,
      "secure": false,
      "version": 2
    }
  ],
  [
    66,
    {
      "isSupported": true,
      "isControlled": false,
      "secure": false,
      "version": 2
    }
  ],
  [
    68,
    {
      "isSupported": true,
      "isControlled": false,
      "secure": false,
      "version": 1
    }
  ],
  [
    69,
    {
      "isSupported": true,
      "isControlled": false,
      "secure": false,
      "version": 1
    }
  ],
  [
    112,
    {
      "isSupported": true,
      "isControlled": false,
      "secure": false,
      "version": 1
    }
  ],
  [
    128,
    {
      "isSupported": true,
      "isControlled": false,
      "secure": false,
      "version": 1
    }
  ],
  [
    133,
    {
      "isSupported": true,
      "isControlled": false,
      "secure": false,
      "version": 1
    }
  ],
  [
    96,
    {
      "isSupported": true,
      "isControlled": false,
      "secure": false,
      "version": 3
    }
  ]
]
2024-04-24 22:26:43.371 INFO Z-WAVE: Endpoint 1, CCs: [
  [
    133,
    {
      "isSupported": true,
      "isControlled": false,
      "secure": false,
      "version": 0
    }
  ],
  [
    64,
    {
      "isSupported": true,
      "isControlled": false,
      "secure": false,
      "version": 0
    }
  ],
  [
    67,
    {
      "isSupported": true,
      "isControlled": false,
      "secure": false,
      "version": 0
    }
  ],
  [
    49,
    {
      "isSupported": true,
      "isControlled": false,
      "secure": false,
      "version": 0
    }
  ]
]
2024-04-24 22:26:43.371 INFO Z-WAVE: Endpoint 2, CCs: [
  [
    49,
    {
      "isSupported": true,
      "isControlled": false,
      "secure": false,
      "version": 0
    }
  ],
  [
    133,
    {
      "isSupported": true,
      "isControlled": false,
      "secure": false,
      "version": 0
    }
  ],
  [
    64,
    {
      "isSupported": true,
      "isControlled": false,
      "secure": false,
      "version": 0
    }
  ],
  [
    67,
    {
      "isSupported": true,
      "isControlled": false,
      "secure": false,
      "version": 0
    }
  ]
]
2024-04-24 22:26:43.381 INFO Z-WAVE: value IDs: [
  {
    "commandClassName": "Multilevel Sensor",
    "commandClass": 49,
    "endpoint": 0,
    "property": "Air temperature",
    "propertyName": "Air temperature"
  },
  {
    "commandClassName": "Thermostat Mode",
    "commandClass": 64,
    "endpoint": 0,
    "property": "mode",
    "propertyName": "mode"
  },
  {
    "commandClassName": "Thermostat Mode",
    "commandClass": 64,
    "endpoint": 0,
    "property": "manufacturerData",
    "propertyName": "manufacturerData"
  },
  {
    "commandClassName": "Thermostat Operating State",
    "commandClass": 66,
    "endpoint": 0,
    "property": "state",
    "propertyName": "state"
  },
  {
    "commandClassName": "Thermostat Setpoint",
    "commandClass": 67,
    "endpoint": 0,
    "property": "setpoint",
    "propertyKey": 1,
    "propertyName": "setpoint",
    "propertyKeyName": "Heating"
  },
  {
    "commandClassName": "Thermostat Setpoint",
    "commandClass": 67,
    "endpoint": 0,
    "property": "setpoint",
    "propertyKey": 2,
    "propertyName": "setpoint",
    "propertyKeyName": "Cooling"
  },
  {
    "commandClassName": "Thermostat Fan Mode",
    "commandClass": 68,
    "endpoint": 0,
    "property": "mode",
    "propertyName": "mode"
  },
  {
    "commandClassName": "Thermostat Fan State",
    "commandClass": 69,
    "endpoint": 0,
    "property": "state",
    "propertyName": "state"
  },
  {
    "commandClassName": "Configuration",
    "commandClass": 112,
    "endpoint": 0,
    "property": 1,
    "propertyName": "Temperature Reporting Threshold"
  },
  {
    "commandClassName": "Configuration",
    "commandClass": 112,
    "endpoint": 0,
    "property": 2,
    "propertyKey": 4278190080,
    "propertyName": "HVAC Type"
  },
  {
    "commandClassName": "Configuration",
    "commandClass": 112,
    "endpoint": 0,
    "property": 2,
    "propertyKey": 983040,
    "propertyName": "Number of Auxiliary or Heat Stages"
  },
  {
    "commandClassName": "Configuration",
    "commandClass": 112,
    "endpoint": 0,
    "property": 2,
    "propertyKey": 15728640,
    "propertyName": "Auxiliary Heat Type"
  },
  {
    "commandClassName": "Configuration",
    "commandClass": 112,
    "endpoint": 0,
    "property": 2,
    "propertyKey": 65280,
    "propertyName": "Number of Heat Pump Stages"
  },
  {
    "commandClassName": "Configuration",
    "commandClass": 112,
    "endpoint": 0,
    "property": 2,
    "propertyKey": 255,
    "propertyName": "Number of Cool Stages"
  },
  {
    "commandClassName": "Configuration",
    "commandClass": 112,
    "endpoint": 0,
    "property": 4,
    "propertyName": "Thermostat Power Type"
  },
  {
    "commandClassName": "Configuration",
    "commandClass": 112,
    "endpoint": 0,
    "property": 5,
    "propertyName": "Humidity Reporting Threshold"
  },
  {
    "commandClassName": "Configuration",
    "commandClass": 112,
    "endpoint": 0,
    "property": 6,
    "propertyName": "Auxiliary/Emergency Heating"
  },
  {
    "commandClassName": "Configuration",
    "commandClass": 112,
    "endpoint": 0,
    "property": 7,
    "propertyName": "Thermostat Hysteresis"
  },
  {
    "commandClassName": "Configuration",
    "commandClass": 112,
    "endpoint": 0,
    "property": 8,
    "propertyKey": 65280,
    "propertyName": "Heating Differential Temperature"
  },
  {
    "commandClassName": "Configuration",
    "commandClass": 112,
    "endpoint": 0,
    "property": 8,
    "propertyKey": 255,
    "propertyName": "Cooling Differential Temperature"
  },
  {
    "commandClassName": "Configuration",
    "commandClass": 112,
    "endpoint": 0,
    "property": 9,
    "propertyName": "Thermostat Recovery Mode"
  },
  {
    "commandClassName": "Configuration",
    "commandClass": 112,
    "endpoint": 0,
    "property": 3,
    "propertyName": "Lock Setpoint Changes"
  },
  {
    "commandClassName": "Manufacturer Specific",
    "commandClass": 114,
    "endpoint": 0,
    "property": "manufacturerId",
    "propertyName": "manufacturerId"
  },
  {
    "commandClassName": "Manufacturer Specific",
    "commandClass": 114,
    "endpoint": 0,
    "property": "productType",
    "propertyName": "productType"
  },
  {
    "commandClassName": "Manufacturer Specific",
    "commandClass": 114,
    "endpoint": 0,
    "property": "productId",
    "propertyName": "productId"
  },
  {
    "commandClassName": "Battery",
    "commandClass": 128,
    "endpoint": 0,
    "property": "level",
    "propertyName": "level"
  },
  {
    "commandClassName": "Battery",
    "commandClass": 128,
    "endpoint": 0,
    "property": "isLow",
    "propertyName": "isLow"
  },
  {
    "commandClassName": "Version",
    "commandClass": 134,
    "endpoint": 0,
    "property": "libraryType",
    "propertyName": "libraryType"
  },
  {
    "commandClassName": "Version",
    "commandClass": 134,
    "endpoint": 0,
    "property": "protocolVersion",
    "propertyName": "protocolVersion"
  },
  {
    "commandClassName": "Version",
    "commandClass": 134,
    "endpoint": 0,
    "property": "firmwareVersions",
    "propertyName": "firmwareVersions"
  },
  {
    "commandClassName": "Indicator",
    "commandClass": 135,
    "endpoint": 0,
    "property": "value",
    "propertyName": "value"
  },
  {
    "commandClassName": "Thermostat Mode",
    "commandClass": 64,
    "endpoint": 1,
    "property": "mode",
    "propertyName": "mode"
  },
  {
    "commandClassName": "Thermostat Mode",
    "commandClass": 64,
    "endpoint": 1,
    "property": "manufacturerData",
    "propertyName": "manufacturerData"
  },
  {
    "commandClassName": "Multilevel Sensor",
    "commandClass": 49,
    "endpoint": 2,
    "property": "Humidity",
    "propertyName": "Humidity"
  },
  {
    "commandClassName": "Thermostat Mode",
    "commandClass": 64,
    "endpoint": 2,
    "property": "mode",
    "propertyName": "mode"
  },
  {
    "commandClassName": "Thermostat Mode",
    "commandClass": 64,
    "endpoint": 2,
    "property": "manufacturerData",
    "propertyName": "manufacturerData"
  }
]
2024-04-24 22:26:43.383 INFO Z-WAVE: Success zwave api call driverFunction undefined
2024-04-24 22:26:47.667 INFO APP: GET /health/zwave 301 0.742 ms - 191

@ken-wolfe
Copy link
Author

BTW, running the script in the driver reproduced the issue.

@ken-wolfe
Copy link
Author

@AlCalzone do you need any additional information from me?

@AlCalzone
Copy link
Member

Haven't been able to check yet, since I was on a trip last week.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

4 participants