HeatIt z-water

Tags: #<Tag:0x00007f73ad2e11e8> #<Tag:0x00007f73ad2e0db0>

Hi Guys,

I have purchased HeatIt Z-Water unit - the description is here: http://manuals-backend.z-wave.info/make.php?lang=en&sku=Z-Water&cert=ZC10-19036400

These are basically a bunch of switches (10) with some analogue inputs wrapped in a box with the z-wire interface. Unfortunately, the HA only recognises one device that triggers one switch. It seems that if I will send through this device some parameters, I will be able to set different switches into the on/off state. Did anyone have any experience with such devices?

I have in the Z-Wave config the following:

    <Node id="7" name="" location="" basic="4" generic="16" specific="6" roletype="5" devicetype="5376" nodetype="0" type="Valve Open Close" listening="true" frequentListening="false" beaming="true" routing="true" max_baud_rate="40000" version="4" secured="true" query_stage="Complete">
            <Manufacturer id="19b" name="Thermo-Floor (Heatit)">
                    <Product type="3" id="20a" name="Unknown: type=0003, id=020a" />
            </Manufacturer>
            <CommandClasses>
                    <CommandClass id="32" name="COMMAND_CLASS_BASIC" version="1" mapping="37">
                            <Instance index="1" />
                    </CommandClass>
                    <CommandClass id="37" name="COMMAND_CLASS_SWITCH_BINARY" version="1" issecured="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="38" name="COMMAND_CLASS_SWITCH_MULTILEVEL" version="1">
                            <Instance index="1" />
                            <Value type="byte" genre="user" instance="1" index="0" label="Level" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
                            <Value type="button" genre="user" instance="1" index="1" label="Bright" units="" read_only="false" write_only="true" verify_changes="false" poll_intensity="0" min="0" max="0" />
                            <Value type="button" genre="user" instance="1" index="2" label="Dim" units="" read_only="false" write_only="true" verify_changes="false" poll_intensity="0" min="0" max="0" />
                            <Value type="bool" genre="system" instance="1" index="3" label="Ignore Start Level" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="True" />
                            <Value type="byte" genre="system" instance="1" index="4" label="Start Level" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
                    </CommandClass>
                    <CommandClass id="90" name="COMMAND_CLASS_DEVICE_RESET_LOCALLY" version="1" issecured="true">
                            <Instance index="1" />
                    </CommandClass>
                    <CommandClass id="94" name="COMMAND_CLASS_ZWAVEPLUS_INFO" version="1" request_flags="2" innif="true">
                            <Instance index="1" />
                            <Instance index="2" endpoint="1" />
                            <Instance index="3" endpoint="2" />
                            <Instance index="4" endpoint="3" />
                            <Instance index="5" endpoint="4" />
                            <Instance index="6" endpoint="5" />
                            <Instance index="7" endpoint="7" />
                            <Instance index="8" endpoint="8" />
                            <Instance index="9" endpoint="9" />
                            <Instance index="10" endpoint="10" />
                            <Instance index="11" endpoint="11" />
                            <Instance index="12" endpoint="12" />
                            <Instance index="13" endpoint="13" />
                            <Instance index="14" endpoint="14" />
                            <Value type="byte" genre="system" instance="1" index="0" label="ZWave+ Version" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="1" />
                            <Value type="short" genre="system" instance="1" index="1" label="InstallerIcon" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-32768" max="32767" value="5376" />
                            <Value type="short" genre="system" instance="1" index="2" label="UserIcon" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-32768" max="32767" value="5376" />
                            <Value type="byte" genre="system" instance="2" index="0" label="ZWave+ Version" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
                            <Value type="short" genre="system" instance="2" index="1" label="InstallerIcon" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-32768" max="32767" value="0" />
                            <Value type="short" genre="system" instance="2" index="2" label="UserIcon" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-32768" max="32767" value="0" />
                            <Value type="byte" genre="system" instance="3" index="0" label="ZWave+ Version" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
                            <Value type="short" genre="system" instance="3" index="1" label="InstallerIcon" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-32768" max="32767" value="0" />
                            <Value type="short" genre="system" instance="3" index="2" label="UserIcon" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-32768" max="32767" value="0" />
                            <Value type="byte" genre="system" instance="4" index="0" label="ZWave+ Version" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
                            <Value type="short" genre="system" instance="4" index="1" label="InstallerIcon" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-32768" max="32767" value="0" />
                            <Value type="short" genre="system" instance="4" index="2" label="UserIcon" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-32768" max="32767" value="0" />
                            <Value type="byte" genre="system" instance="5" index="0" label="ZWave+ Version" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
                            <Value type="short" genre="system" instance="5" index="1" label="InstallerIcon" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-32768" max="32767" value="0" />
                            <Value type="short" genre="system" instance="5" index="2" label="UserIcon" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-32768" max="32767" value="0" />
                            <Value type="byte" genre="system" instance="6" index="0" label="ZWave+ Version" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
                            <Value type="short" genre="system" instance="6" index="1" label="InstallerIcon" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-32768" max="32767" value="0" />
                            <Value type="short" genre="system" instance="6" index="2" label="UserIcon" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-32768" max="32767" value="0" />
                            <Value type="byte" genre="system" instance="7" index="0" label="ZWave+ Version" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
                            <Value type="short" genre="system" instance="7" index="1" label="InstallerIcon" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-32768" max="32767" value="0" />
                            <Value type="short" genre="system" instance="7" index="2" label="UserIcon" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-32768" max="32767" value="0" />
                            <Value type="byte" genre="system" instance="8" index="0" label="ZWave+ Version" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
                            <Value type="short" genre="system" instance="8" index="1" label="InstallerIcon" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-32768" max="32767" value="0" />
                            <Value type="short" genre="system" instance="8" index="2" label="UserIcon" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-32768" max="32767" value="0" />
                            <Value type="byte" genre="system" instance="9" index="0" label="ZWave+ Version" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
                            <Value type="short" genre="system" instance="9" index="1" label="InstallerIcon" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-32768" max="32767" value="0" />

                            <Value type="short" genre="system" instance="9" index="2" label="UserIcon" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-32768" max="32767" value="0" />
                            <Value type="byte" genre="system" instance="10" index="0" label="ZWave+ Version" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
                            <Value type="short" genre="system" instance="10" index="1" label="InstallerIcon" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-32768" max="32767" value="0" />
                            <Value type="short" genre="system" instance="10" index="2" label="UserIcon" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-32768" max="32767" value="0" />
                            <Value type="byte" genre="system" instance="11" index="0" label="ZWave+ Version" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
                            <Value type="short" genre="system" instance="11" index="1" label="InstallerIcon" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-32768" max="32767" value="0" />
                            <Value type="short" genre="system" instance="11" index="2" label="UserIcon" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-32768" max="32767" value="0" />
                            <Value type="byte" genre="system" instance="12" index="0" label="ZWave+ Version" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
                            <Value type="short" genre="system" instance="12" index="1" label="InstallerIcon" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-32768" max="32767" value="0" />
                            <Value type="short" genre="system" instance="12" index="2" label="UserIcon" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-32768" max="32767" value="0" />
                            <Value type="byte" genre="system" instance="13" index="0" label="ZWave+ Version" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
                            <Value type="short" genre="system" instance="13" index="1" label="InstallerIcon" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-32768" max="32767" value="0" />
                            <Value type="short" genre="system" instance="13" index="2" label="UserIcon" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-32768" max="32767" value="0" />
                            <Value type="byte" genre="system" instance="14" index="0" label="ZWave+ Version" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
                            <Value type="short" genre="system" instance="14" index="1" label="InstallerIcon" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-32768" max="32767" value="0" />
                            <Value type="short" genre="system" instance="14" index="2" label="UserIcon" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-32768" max="32767" value="0" />
                    </CommandClass>
                    <CommandClass id="96" name="COMMAND_CLASS_MULTI_INSTANCE/CHANNEL" version="4" request_flags="1" issecured="true">
                            <Instance index="1" />
                    </CommandClass>
                    <CommandClass id="112" name="COMMAND_CLASS_CONFIGURATION" version="1" request_flags="5" issecured="true">
                            <Instance index="1" />
                    </CommandClass>
                    <CommandClass id="114" name="COMMAND_CLASS_MANUFACTURER_SPECIFIC" version="1" request_flags="2" issecured="true">
                            <Instance index="1" />
                    </CommandClass>
                    <CommandClass id="115" name="COMMAND_CLASS_POWERLEVEL" version="1" issecured="true">
                            <Instance index="1" />
                            <Value type="list" genre="system" instance="1" index="0" label="Powerlevel" units="dB" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" vindex="0" size="1">
                                    <Item label="Normal" value="0" />
                                    <Item label="-1dB" value="1" />
                                    <Item label="-2dB" value="2" />
                                    <Item label="-3dB" value="3" />
                                    <Item label="-4dB" value="4" />
                                    <Item label="-5dB" value="5" />
                                    <Item label="-6dB" value="6" />
                                    <Item label="-7dB" value="7" />
                                    <Item label="-8dB" value="8" />
                                    <Item label="-9dB" value="9" />
                            </Value>
                            <Value type="byte" genre="system" instance="1" index="1" label="Timeout" units="seconds" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
                            <Value type="button" genre="system" instance="1" index="2" label="Set Powerlevel" units="" read_only="false" write_only="true" verify_changes="false" poll_intensity="0" min="0" max="0" />
                            <Value type="byte" genre="system" instance="1" index="3" label="Test Node" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
                            <Value type="list" genre="system" instance="1" index="4" label="Test Powerlevel" units="dB" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" vindex="0" size="1">
                                    <Item label="Normal" value="0" />
                                    <Item label="-1dB" value="1" />
                                    <Item label="-2dB" value="2" />
                                    <Item label="-3dB" value="3" />
                                    <Item label="-4dB" value="4" />
                                    <Item label="-5dB" value="5" />
                                    <Item label="-6dB" value="6" />
                                    <Item label="-7dB" value="7" />
                                    <Item label="-8dB" value="8" />
                                    <Item label="-9dB" value="9" />
                            </Value>
                            <Value type="short" genre="system" instance="1" index="5" label="Frame Count" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="-32768" max="32767" value="0" />
                            <Value type="button" genre="system" instance="1" index="6" label="Test" units="" read_only="false" write_only="true" verify_changes="false" poll_intensity="0" min="0" max="0" />
                            <Value type="button" genre="system" instance="1" index="7" label="Report" units="" read_only="false" write_only="true" verify_changes="false" poll_intensity="0" min="0" max="0" />
                            <Value type="list" genre="system" instance="1" index="8" label="Test Status" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" vindex="0" size="1">
                                    <Item label="Failed" value="0" />
                                    <Item label="Success" value="1" />
                                    <Item label="In Progress" value="2" />
                            </Value>
                            <Value type="short" genre="system" instance="1" index="9" label="Acked Frames" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-32768" max="32767" value="0" />
                    </CommandClass>
                    <CommandClass id="133" name="COMMAND_CLASS_ASSOCIATION" version="1" request_flags="2" issecured="true">
                            <Instance index="1" />
                            <Associations num_groups="5">
                                    <Group index="1" max_associations="5" label="Group 1" auto="true" multiInstance="true">
                                            <Node id="1" />
                                    </Group>
                                    <Group index="2" max_associations="5" label="Group 2" auto="false" multiInstance="true" />
                                    <Group index="3" max_associations="5" label="Group 3" auto="false" multiInstance="true" />
                                    <Group index="4" max_associations="5" label="Group 4" auto="false" multiInstance="true" />
                                    <Group index="5" max_associations="5" label="Group 5" auto="false" multiInstance="true" />
                            </Associations>
                    </CommandClass>
                    <CommandClass id="134" name="COMMAND_CLASS_VERSION" version="1" request_flags="2" issecured="true">
                            <Instance index="1" />
                            <Value type="string" genre="system" instance="1" index="0" label="Library Version" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="3" />
                            <Value type="string" genre="system" instance="1" index="1" label="Protocol Version" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="5.03" />
                            <Value type="string" genre="system" instance="1" index="2" label="Application Version" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="2.01" />
                    </CommandClass>
                    <CommandClass id="142" name="COMMAND_CLASS_MULTI_CHANNEL_ASSOCIATION" version="1" request_flags="4" issecured="true">
                            <Instance index="1" />
                            <Associations num_groups="5">
                                    <Group index="1" max_associations="5" label="Group 1" auto="true" multiInstance="true">
                                            <Node id="1" />
                                    </Group>
                                    <Group index="2" max_associations="5" label="Group 2" auto="false" multiInstance="true" />
                                    <Group index="3" max_associations="5" label="Group 3" auto="false" multiInstance="true" />
                                    <Group index="4" max_associations="5" label="Group 4" auto="false" multiInstance="true" />
                                    <Group index="5" max_associations="5" label="Group 5" auto="false" multiInstance="true" />
                            </Associations>
                    </CommandClass>
                    <CommandClass id="152" name="COMMAND_CLASS_SECURITY" version="1" innif="true">
                            <Instance index="1" />
                            <Instance index="2" endpoint="1" />
                            <Instance index="3" endpoint="2" />
                            <Instance index="4" endpoint="3" />
                            <Instance index="5" endpoint="4" />
                            <Instance index="6" endpoint="5" />
                            <Instance index="7" endpoint="7" />
                            <Instance index="8" endpoint="8" />
                            <Instance index="9" endpoint="9" />
                            <Instance index="10" endpoint="10" />
                            <Instance index="11" endpoint="11" />
                            <Instance index="12" endpoint="12" />
                            <Instance index="13" endpoint="13" />
                            <Instance index="14" endpoint="14" />
                            <Value type="bool" genre="system" instance="1" index="0" label="Secured" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="True" />
                            <Value type="bool" genre="system" instance="2" index="0" label="Secured" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="False" />
                            <Value type="bool" genre="system" instance="3" index="0" label="Secured" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="False" />
                            <Value type="bool" genre="system" instance="4" index="0" label="Secured" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="False" />
                            <Value type="bool" genre="system" instance="5" index="0" label="Secured" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="False" />
                            <Value type="bool" genre="system" instance="6" index="0" label="Secured" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="False" />
                            <Value type="bool" genre="system" instance="7" index="0" label="Secured" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="False" />
                            <Value type="bool" genre="system" instance="8" index="0" label="Secured" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="False" />
                            <Value type="bool" genre="system" instance="9" index="0" label="Secured" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="False" />
                            <Value type="bool" genre="system" instance="10" index="0" label="Secured" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="False" />
                            <Value type="bool" genre="system" instance="11" index="0" label="Secured" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="False" />
                            <Value type="bool" genre="system" instance="12" index="0" label="Secured" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="False" />
                            <Value type="bool" genre="system" instance="13" index="0" label="Secured" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="False" />
                            <Value type="bool" genre="system" instance="14" index="0" label="Secured" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="False" />
                    </CommandClass>
            </CommandClasses>
    </Node>

Regards

I found that I have to add entries to the binary switch class, but still struggling with how to pass the endpoint parameter to the switch. I have added:

			<Value type="bool" genre="user" instance="2" endpoint="1" index="0" label="Switch" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="False" />
			<Value type="bool" genre="user" instance="3" endpoint="2" index="0" label="Switch" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="False" />
			<Value type="bool" genre="user" instance="4" endpoint="3" index="0" label="Switch" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="False" />

to the COMMAND_CLASS_SWITCH_BINARY command class and that resulted in additional switches added to the HA. The only problem it doesn’t trigger - the “endpoint” parameter is not a correct one. Any help appreciated over here.

Regards

For the HeatIT support, they suggested to update the z-wave configuration for the following:

I applied th command classes, but te switches are still unavailable. Is anyone is familiar with the zwave configuration file and how it links into HASS?

Cheers