Zwave - Hank 4 Button Controller - Help w/ Setup

First time setting up Zwave devices. I have a Zwave Aeotec ZW090 Z-Stick Gen5 hub, successfully installed. I first paired a NanoMote Quad and added a Node-Red flow to enable some automations.
Pretty straight forward. I did not make any change to the zwave config xml. The four assiciated automations worked as expected. Although I wasn’t able to see or setup extended button press events/automations. Perhaps I need/needed to add to my zwave xml for this. I then added a Hank Four-key Scene Controller. The events fired don’t show any unique id for the buttons. So I searched this forum and reviewed the link https://www.home-assistant.io/docs/z-wave/device-specific/#hank-four-key-scene-controller-hkzn-scn04 where it states you need to add the XML to the COMMAND_CLASS_CENTRAL_SCENE.

Where I get fuzzy is the zwave config xml already contains an entry for the COMMAND_CLASS_CENTRAL_SCENE. Is this from the Aeotec NanoMote I added first? Do I add a second node but change the index=2? I’m not new to XML but am not clear on the XML config in this context.

Thank you fellow HA community members

My current COMMAND_CLASS_CENTRAL_SCENE section of the zwave xml.

<CommandClass id="91" name="COMMAND_CLASS_CENTRAL_SCENE" version="1" request_flags="4" innif="true" scenecount="0">
  <Instance index="1" />
    <Value type="int" genre="system" instance="1" index="0" label="Scene Count" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="0" />
    <Value type="int" genre="user" instance="1" index="1" label="Button One" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="7680" />
    <Value type="int" genre="user" instance="1" index="2" label="Button Two" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="7740" />
    <Value type="int" genre="user" instance="1" index="3" label="Button Three" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="7680" />
    <Value type="int" genre="user" instance="1" index="4" label="Button Four" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="7680" />
</CommandClass>

Each zwave device adds itself as a node to your controller.

HA reads the info on the controller for each node and creates a section in the zwcfg_xxxxxxx.xml file with the required info for that node.

Your HANK scene controller should have added a section based on it’s node number. For example if it was the third device added (including the controller) it would be node 3. Here is an example of my node 3 (not a scene controller…):

<Node id="3" name="Garage Door North Operator" location="" basic="4" generic="16" specific="3" type="Binary Scene Switch" listening="true" frequentListening="false" beaming="true" routing="true" max_baud_rate="40000" version="4" query_stage="Complete">
		<Manufacturer id="14f" name="Linear">
			<Product type="5246" id="3133" name="FS20Z Isolated Contact Fixture Module" />
		</Manufacturer>
		<CommandClasses>
			<CommandClass id="32" name="COMMAND_CLASS_BASIC" version="1" request_flags="4" mapping="37">
				<Instance index="1" />
			</CommandClass>
			<CommandClass id="37" name="COMMAND_CLASS_SWITCH_BINARY" version="1" request_flags="4" innif="true">
				<Instance index="1" />
				<Value type="bool" genre="user" instance="1" index="0" label="Switch" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="False" />
			</CommandClass>
			<CommandClass id="39" name="COMMAND_CLASS_SWITCH_ALL" version="1" request_flags="4" innif="true">
				<Instance index="1" />
				<Value type="list" genre="system" instance="1" index="0" label="Switch All" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" vindex="3" size="1">
					<Item label="Disabled" value="0" />
					<Item label="Off Enabled" value="1" />
					<Item label="On Enabled" value="2" />
					<Item label="On and Off Enabled" value="255" />
				</Value>
			</CommandClass>
.
.

each node in the xml file will potentially have several command class entries.

You need to find the section of the xml that pertains to the HANK controller node and add the info from the link to that section as another command class entry.

I don’t actually have that device so I’m just going on my understanding of HA and zwave so I could be completely wrong so make sure you make a backup of the xml file before editing it.

@finity Let me first say how much I, and I’m sure others, appreciate your continued support! And on Xmas!

Looking at my zwcfg_xxxxxx.xml I only have two “Node” nodes. One for the Z-Stick and one for the NanoMote Quad. But there is not a “Node” node for the Hank Four-key Scene Controller. It appears one was not added. Did I miss a step or was an additional step needed that wasn’t for the NanoMote … that was needed for the Hank? Perhaps you can’t answer that question. The XML snippet found at the HA link I referenced in my initial post (and below) does not include a “Node” and “Manufacturer” stanza, only a “CommandClass”. That’s where the confusion comes in for me. The stated “CommandClass” xml snippet must live inside a “Node” node definition. And wouldn’t think you would nest it inside the existing “Node” node for the NanoMote. Am I wrong or missing something that should be obvious to me?

My current zwcfg_xxxxx.xml
The Z-Wave Stick

<Node id="1" name="" location="" basic="2" generic="2" specific="1" type="Static PC Controller" listening="true" frequentListening="false" beaming="true" routing="false" max_baud_rate="40000" version="4" query_stage="Complete">
  <Manufacturer id="86" name="AEON Labs">
    <Product type="101" id="5a" name="ZW090 Z-Stick Gen5 US" />
  </Manufacturer>
  <CommandClasses>
    <CommandClass id="32" name="COMMAND_CLASS_BASIC" version="1" after_mark="true">
      <Instance index="1" />
        <Value type="byte" genre="basic" instance="1" index="0" label="Basic" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
    </CommandClass>
  </CommandClasses>
</Node>

The NanoMote

<Node id="8" name="" location="" basic="4" generic="24" specific="1" roletype="4" devicetype="5632" nodetype="0" type="Basic Wall Controller" listening="false" frequentListening="false" beaming="true" routing="true" max_baud_rate="40000" version="4" query_stage="Complete">
  <Manufacturer id="371" name="Aeotec Limited">
    <Product type="102" id="3" name="ZWA003 NanoMote Quad" />
  </Manufacturer>
  ...
  ...
</Node>

The suggested xml code that should be added to the zwcfg_xxxxxxx.xml for the Hank device per https://www.home-assistant.io/docs/z-wave/device-specific/#hank-four-key-scene-controller-hkzn-scn04 does not include a “Node” node or “Manufacturer” definition

<CommandClass id="91" name="COMMAND_CLASS_CENTRAL_SCENE" version="1" request_flags="5" innif="true" scenecount="0">
  <Instance index="1" />
  <Value type="int" genre="system" instance="1" index="0" label="Scene Count" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="0" />
  <Value type="int" genre="system" instance="1" index="1" label="Button One" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="0" />
  <Value type="int" genre="system" instance="1" index="2" label="Button Two" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="1" />
  <Value type="int" genre="system" instance="1" index="3" label="Button Three" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="1" />
  <Value type="int" genre="system" instance="1" index="4" label="Button Four" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="1" />
  <Value type="int" genre="system" instance="1" index="5" label="Other" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="0" />
</CommandClass>

If there is no “node” section for the HANK device then it must not have actually gotten added.

just as a double check look in the zwave section of the “integrations” page and see if the node is listed there.

And you’re welcome. With Covid running rampant we aren’t really doing anything since we don’t want to become “part of the problem”.

Ditto! Thank you for not contributing to our colossal woes this year with Covid-19. Stay safe!! We personally know ones who have lost to Covid-19. It’s tragic.

Here’s a few screenshots. One shows the Integration Configuration where it lists the Hank. Another the Z-wave devices under devices listing. And the XML where I did a search on a Node id=9 (the Z-QWave Configuration showed the Hank as (Node: 9 Complete). You can see there is no node 9 or Hank found in the XML config.

I’m happy to add a Node section manuall, but wouldn’t have a clue, yet, as to what params to include in the Node stanza definition.

Zwave Integration Configuration

Devices listing

zwcfg_xxxxx.xml

You need to stop HA so the cache file is flushed to disk, then make the edits.

1 Like

That was going to be my next suggestion. Well, restarting HA at least… Same difference. :slightly_smiling_face:

@freshcoast

I haven’t made or attempted any edits. I paired the Hank to same way I did the NanoMote. The NanoMode pairing added the xml Node. But the Hank pairing did not. Since there was no Node added and the HA link I referenced above which says to add the sited xml to the XML config, I have no Node in which to add the sited xml. And I can’t find any reference to what params to include with a manual Node and Manufacturer entry.

But I’ll try restarting HA and see what happens. :thinking:

Ok, a HA restart worked and the Hank controller Node 9 got added. Hmmm, lesson learned. I’ll go back play around now with the Node-Red flow again.

Thanks to you all. I hope that as I become more familiar with HA I’ll be able to return the contribution.

Best

I realize this is an old thread but just got one of these 4-button controls. How(if at all) is this different now with ZwaveJS2MQTT? I can see the button change in the Zwave UI, however HA didn’t add any entities for the button.

Not helping, I can’t seem to open any of the storage files that ZWaveJS2MQTT has created to see what information it has on each device.

Thanks

Found solution, misunderstood what entities should be created from the scene controller. All of the appropriate events can be seen by listening to events for ZWaveJS through developer tools.