OpenZWave / open-zwave

a C++ library to control Z-Wave Networks via a USB Z-Wave Controller.
http://www.openzwave.net/
GNU Lesser General Public License v3.0
1.05k stars 917 forks source link

Qubino ZMNHBA2 Flush 2 Relays #892

Open jano42 opened 8 years ago

jano42 commented 8 years ago

I've got a problem with Qubino ZMNHBA2 Flush 2 Relays.

I've cabled it with all possible options:

Initial state : the two leds are OFF When I switch ON the Input2, the led2 is ON => OK But my sowftware using openz-wave receive to notification

This only apply when I switch input2. In case of input1 switch all is ok.

Here my log file

09:06:06 : : [Debug] : Input2 => True 09:06:06 : : [Debug] : OpenZWave notification : ValueChanged 09:06:06 : : [Debug] : =================================== 09:06:06 : : [Debug] : OpenZWave notification [Type_ValueChanged] : instance=2 09:06:06 : : [Debug] : OpenZWave notification [Type_ValueChanged] : node=2 09:06:06 : : [Debug] : OpenZWave notification [Type_ValueChanged] : value=1 09:06:07 : : [Debug] : OpenZWave notification : ValueChanged 09:06:07 : : [Debug] : =================================== 09:06:07 : : [Debug] : OpenZWave notification [Type_ValueChanged] : instance=1 09:06:07 : : [Debug] : OpenZWave notification [Type_ValueChanged] : node=2 09:06:07 : : [Debug] : OpenZWave notification [Type_ValueChanged] : value=1 bad value 09:06:09 : : [Debug] : OpenZWave notification : ValueChanged

09:06:06 : : [Debug] : Input2 => False 09:06:09 : : [Debug] : =================================== 09:06:09 : : [Debug] : OpenZWave notification [Type_ValueChanged] : instance=2 09:06:09 : : [Debug] : OpenZWave notification [Type_ValueChanged] : node=2 09:06:09 : : [Debug] : OpenZWave notification [Type_ValueChanged] : value=0 09:06:09 : : [Debug] : OpenZWave notification : ValueChanged 09:06:09 : : [Debug] : =================================== 09:06:09 : : [Debug] : OpenZWave notification [Type_ValueChanged] : instance=1 09:06:09 : : [Debug] : OpenZWave notification [Type_ValueChanged] : node=2 09:06:09 : : [Debug] : OpenZWave notification [Type_ValueChanged] : value=0

jotakar commented 8 years ago

How many relays are detected? I think t must be 3: 1 root and two childs. Now your instance 1 ias acting as root relay.

jano42 commented 8 years ago

I have only two relays (id 55 and 56 in the following image)

image

Here my zwave configuration file

<?xml version="1.0" encoding="utf-8" ?>
<Driver xmlns="http://code.google.com/p/open-zwave/" version="3" home_id="0xf9b47db1" node_id="1" api_capabilities="0" controller_capabilities="40" poll_interval="500" poll_interval_between="false">
    <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="115" name="Z-Wave.Me">
            <Product type="400" id="1" name="ZME_UZB1 USB Stick" />
        </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>
    <Node id="2" name="" location="" basic="4" generic="16" specific="1" type="Routing Slave" listening="true" frequentListening="false" beaming="true" routing="true" max_baud_rate="40000" version="4" query_stage="Complete">
        <Manufacturer id="159" name="Qubino">
            <Product type="2" id="1" name="ZMNHBA2 Flush 2 Relays" />
        </Manufacturer>
        <CommandClasses>
            <CommandClass id="32" name="COMMAND_CLASS_BASIC" version="1">
                <Instance index="1" endpoint="1" />
                <Instance index="2" endpoint="2" />
            </CommandClass>
            <CommandClass id="37" name="COMMAND_CLASS_SWITCH_BINARY" version="1" request_flags="5" innif="true">
                <Instance index="1" endpoint="1" />
                <Instance index="2" endpoint="2" />
                <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" />
                <Value type="bool" genre="user" instance="2" 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="5" 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="0" 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>
            <CommandClass id="49" name="COMMAND_CLASS_SENSOR_MULTILEVEL" version="3" request_flags="1" innif="true">
                <Instance index="1" />
                <Value type="decimal" genre="user" instance="1" index="1" label="Temperature" units="C" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="24.9" />
            </CommandClass>
            <CommandClass id="50" name="COMMAND_CLASS_METER" version="3" request_flags="3" innif="true">
                <Instance index="1" endpoint="1" />
                <Instance index="2" endpoint="2" />
                <Value type="decimal" genre="user" instance="1" index="0" label="Energy" units="kWh" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="0.0" />
                <Value type="decimal" genre="user" instance="1" index="8" label="Power" units="W" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="0.0" />
                <Value type="bool" genre="user" instance="1" index="32" label="Exporting" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="False" />
                <Value type="button" genre="system" instance="1" index="33" label="Reset" units="" read_only="false" write_only="true" verify_changes="false" poll_intensity="0" min="0" max="0" />
                <Value type="decimal" genre="user" instance="2" index="0" label="Energy" units="kWh" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="0.0" />
                <Value type="decimal" genre="user" instance="2" index="8" label="Power" units="W" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="0.0" />
                <Value type="bool" genre="user" instance="2" index="32" label="Exporting" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="False" />
                <Value type="button" genre="system" instance="2" index="33" label="Reset" units="" read_only="false" write_only="true" verify_changes="false" poll_intensity="0" min="0" max="0" />
            </CommandClass>
            <CommandClass id="96" name="COMMAND_CLASS_MULTI_INSTANCE/CHANNEL" version="3" request_flags="1" innif="true" mapping="endpoints">
                <Instance index="1" />
            </CommandClass>
            <CommandClass id="112" name="COMMAND_CLASS_CONFIGURATION" version="1" request_flags="5" innif="true">
                <Instance index="1" />
                <Value type="list" genre="config" instance="1" index="1" label="Input 1 switch type" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="1" vindex="0" size="1">
                    <Item label="Mono-stable switch type (push button)" value="0" />
                    <Item label="Bi-stable switch type" value="1" />
                </Value>
                <Value type="list" genre="config" instance="1" index="2" label="Input 2 switch type" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="1" vindex="1" size="1">
                    <Item label="Mono-stable switch type (push button)" value="0" />
                    <Item label="Bi-stable switch type" value="1" />
                </Value>
                <Value type="list" genre="config" instance="1" index="10" label="Activate / deactivate functions ALL ON/ALL OFF" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" vindex="1" size="1">
                    <Help>Flush 2 relays module responds to commands ALL ON / ALL OFF that may be sent by the main controller or by other controller belonging to the system.</Help>
                    <Item label="ALL ON active, ALL OFF active" value="255" />
                    <Item label="ALL ON is not active ALL OFF is not active" value="0" />
                    <Item label="ALL ON is not active ALL OFF active" value="1" />
                    <Item label="ALL ON active ALL OFF is not active" value="2" />
                </Value>
                <Value type="short" genre="config" instance="1" index="11" label="Automatic turning Off relay Q1 after set time" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="65535" value="0">
                    <Help>0 - Auto OFF disabled. 1 - 65535 =&gt; 0,01 second - 655,35 seconds. Auto OFF enabled with define time, step is 10mseconds. Default value 0</Help>
                </Value>
                <Value type="short" genre="config" instance="1" index="12" label="Automatic turning Off relay Q2 after set time" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="65535" value="0">
                    <Help>0 - Auto OFF disabled. 1 - 65535 =&gt; 0,01 second - 655,35 seconds. Auto OFF enabled with define time, step is 10 mseconds. Default value 0</Help>
                </Value>
                <Value type="list" genre="config" instance="1" index="30" label="Saving the state of the 2 relays after a power failure" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="1" vindex="0" size="1">
                    <Item label="Flush 2 relays module saves its state before power failure (it returns to the last position saved before a power failure)" value="0" />
                    <Item label="Flush 2 relays module does not save the state after a power failure, it returns to off position." value="1" />
                </Value>
                <Value type="byte" genre="config" instance="1" index="40" label="Power reporting in Watts on power change for Q1" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="100" value="1">
                    <Help>Set value from 0 - 100 (0%- 100%). 0 - Reporting Disabled. 1 - 100 = 1% - 100% Reporting enabled. Power report is send (push) only when actual power in Watts in real time change for more than set percentage comparing to previous actual power in Watts, step is 1%. Default value 1</Help>
                </Value>
                <Value type="byte" genre="config" instance="1" index="41" label="Power reporting in Watts on power change for Q2" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="100" value="1">
                    <Help>Set value from 0 - 100 (0%- 100%). 0 - Reporting Disabled. 1 - 100 = 1% - 100% Reporting enabled. Power report is send (push) only when actual power in Watts in real time change for more than set percentage comparing to previous actual power in Watts, step is 1%. Default value 1</Help>
                </Value>
                <Value type="short" genre="config" instance="1" index="42" label="Power reporting in Watts by time interval for Q1" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="65535" value="300">
                    <Help>Set value means time interval (0 1 65535) in seconds, when power report is send. 0 - Reporting Disabled. 1 - 65535 = 1 second - 65535 seconds. Reporting enabled. Power report is send with time interval set by entered value. Default value 300 (power report in Watts is send each 300s)</Help>
                </Value>
                <Value type="short" genre="config" instance="1" index="43" label="Power reporting in Watts by time interval for Q2" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="65535" value="300">
                    <Help>Set value means time interval (0 1 65535) in seconds, when power report is send. 0 - Reporting Disabled. 1 - 65535 = 1 second - 65535 seconds. Reporting enabled. Power report is send with time interval set by entered value. Default value 300 (power report in Watts is send each 300s)</Help>
                </Value>
            </CommandClass>
            <CommandClass id="114" name="COMMAND_CLASS_MANUFACTURER_SPECIFIC" version="1" request_flags="5" innif="true">
                <Instance index="1" />
            </CommandClass>
            <CommandClass id="115" name="COMMAND_CLASS_POWERLEVEL" version="1" request_flags="5" innif="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="5" innif="true">
                <Instance index="1" />
                <Associations num_groups="3">
                    <Group index="1" max_associations="5" label="Output Q1 state" auto="true">
                        <Node id="1" />
                    </Group>
                    <Group index="2" max_associations="5" label="Output Q2 state" auto="true">
                        <Node id="1" />
                    </Group>
                    <Group index="3" max_associations="1" label="Default reporting" auto="true">
                        <Node id="1" />
                    </Group>
                </Associations>
            </CommandClass>
            <CommandClass id="134" name="COMMAND_CLASS_VERSION" version="1" request_flags="5" innif="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="6" />
                <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="3.67" />
                <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="1.12" />
            </CommandClass>
        </CommandClasses>
    </Node>
</Driver>
jano42 commented 8 years ago

Here the log of what happens (include ozw log)

2016-05-24 12:41:05.428 Detail, Node002,   Received: 0x01, 0x0c, 0x00, 0x04, 0x00, 0x02, 0x06, 0x60, 0x06, 0x02, 0x25, 0x03, 0xff, 0x4e
2016-05-24 12:41:05.433 Detail,
2016-05-24 12:41:05.454 Info, Node002, Received a MultiInstanceEncap from node 2, instance 2, for Command Class COMMAND_CLASS_SWITCH_BINARY
2016-05-24 12:41:05.461 Info, Node002, Received SwitchBinary report from node 2: level=On
2016-05-24 12:41:05.475 Detail, Node002, Refreshed Value: old value=false, new value=true, type=bool
2016-05-24 12:41:05.496 Detail, Node002, Changes to this value are not verified
2016-05-24 12:41:05.515 Detail, Node002, Notification: ValueChanged
12:41:05 :  : [Debug] : OpenZWave notification : ValueChanged
12:41:05 :  : [Debug] : ===================================
12:41:05 :  : [Debug] : OpenZWave notification [Type_ValueChanged] : instance=2
12:41:05 :  : [Debug] : OpenZWave notification [Type_ValueChanged] : node=2
12:41:05 :  : [Debug] : OpenZWave notification [Type_ValueChanged] : valeur=1
2016-05-24 12:41:05.841 Detail, Node002,   Received: 0x01, 0x09, 0x00, 0x04, 0x00, 0x02, 0x03, 0x25, 0x03, 0xff, 0x2a
2016-05-24 12:41:05.855 Detail,
2016-05-24 12:41:05.864 Info, Node002, Received SwitchBinary report from node 2: level=On
2016-05-24 12:41:05.886 Detail, Node002, Refreshed Value: old value=false, new value=true, type=bool
2016-05-24 12:41:05.899 Detail, Node002, Changes to this value are not verified
2016-05-24 12:41:05.912 Detail, Node002, Notification: ValueChanged
12:41:05 :  : [Debug] : OpenZWave notification : ValueChanged
12:41:05 :  : [Debug] : ===================================
12:41:05 :  : [Debug] : OpenZWave notification [Type_ValueChanged] : instance=1
12:41:05 :  : [Debug] : OpenZWave notification [Type_ValueChanged] : node=2
12:41:05 :  : [Debug] : OpenZWave notification [Type_ValueChanged] : valeur=1

I d'ont know/understand what happen.

jotakar commented 8 years ago

Have you this ine in the XML config file of your ZMHBA2? <CommandClass id="96" mapping="endpoints" />

jano42 commented 8 years ago

Yes I've got this line.

I use the release 1.4.164; but I've tested with yesterday master branch; and I've the same behavior.

<?xml version="1.0" encoding="utf-8"?>
<Product xmlns='http://code.google.com/p/open-zwave/'>

<!-- Qubino: ZMNHBA2 Flush 2 Relay -->

    <!-- Configuration  -->
    <CommandClass id="112">
        <Value type="list" genre="config" instance="1" index="1" label="Input 1 switch type" size="1" min="0" max="1" value="1">
            <Help/>
            <Item label="Mono-stable switch type (push button)" value="0" />
            <Item label="Bi-stable switch type" value="1" />
          </Value>

        <Value type="list" genre="config" instance="1" index="2" label="Input 2 switch type" size="1" min="0" max="1" value="1">
            <Help/>
            <Item label="Mono-stable switch type (push button)" value="0" />
            <Item label="Bi-stable switch type" value="1" />
        </Value>

        <Value type="list" genre="config" instance="1" index="10" label="Activate / deactivate functions ALL ON/ALL OFF" size="1" min="0" max="255" value="255">
            <Help>Flush 2 relays module responds to commands ALL ON / ALL OFF that may be sent by the main controller or by other controller belonging to the system.</Help>
            <Item label="ALL ON active, ALL OFF active" value="255" />
            <Item label="ALL ON is not active ALL OFF is not active" value="0" />
            <Item label="ALL ON is not active ALL OFF active" value="1" />
            <Item label="ALL ON active ALL OFF is not active" value="2" />
        </Value> 

        <Value type="short" genre="config" instance="1" index="11" label="Automatic turning Off relay Q1 after set time" min="0" max="65535" value="0">
            <Help>0 - Auto OFF disabled. 1 - 65535 => 0,01 second - 655,35 seconds. Auto OFF enabled with define time, step is 10mseconds. Default value 0</Help>
        </Value>

        <Value type="short" genre="config" instance="1" index="12" label="Automatic turning Off relay Q2 after set time" min="0" max="65535" value="0">
            <Help>0 - Auto OFF disabled. 1 - 65535 => 0,01 second - 655,35 seconds. Auto OFF enabled with define time, step is 10 mseconds. Default value 0</Help>
        </Value>

        <Value type="list" genre="config" instance="1" index="30" label="Saving the state of the 2 relays after a power failure" size="1" min="0" max="1" value="0">
            <Help/>
            <Item label="Flush 2 relays module saves its state before power failure (it returns to the last position saved before a power failure)" value="0" />
            <Item label="Flush 2 relays module does not save the state after a power failure, it returns to off position." value="1" />
        </Value>

        <Value type="byte" genre="config" instance="1" index="40" label="Power reporting in Watts on power change for Q1" size="1" min="0" max="100" value="1">
            <Help>Set value from 0 - 100 (0%- 100%). 0 - Reporting Disabled. 1 - 100 = 1% - 100% Reporting enabled. Power report is send (push) only when actual power in Watts in real time change for more than set percentage comparing to previous actual power in Watts, step is 1%. Default value 1</Help>
        </Value>

        <Value type="byte" genre="config" instance="1" index="41" label="Power reporting in Watts on power change for Q2" size="1" min="0" max="100" value="1">
        <Help>Set value from 0 - 100 (0%- 100%). 0 - Reporting Disabled. 1 - 100 = 1% - 100% Reporting enabled. Power report is send (push) only when actual power in Watts in real time change for more than set percentage comparing to previous actual power in Watts, step is 1%. Default value 1</Help>
        </Value>

        <Value type="short" genre="config" instance="1" index="42" label="Power reporting in Watts by time interval for Q1" min="0" max="65535" value="300">
            <Help>Set value means time interval (0 1 65535) in seconds, when power report is send. 0 - Reporting Disabled. 1 - 65535 = 1 second - 65535 seconds. Reporting enabled. Power report is send with time interval set by entered value. Default value 300 (power report in Watts is send each 300s)</Help>
        </Value>

        <Value type="short" genre="config" instance="1" index="43" label="Power reporting in Watts by time interval for Q2" min="0" max="65535" value="300">
            <Help> Set value means time interval (0 1 65535) in seconds, when power report is send. 0 - Reporting Disabled. 1 - 65535 = 1 second - 65535 seconds. Reporting enabled. Power report is send with time interval set by entered value. Default value 300 (power report in Watts is send each 300s)</Help>
        </Value>

    </CommandClass>

    <!-- Association Groups -->
    <CommandClass id="133">
        <Associations num_groups="3">
            <Group index="1" max_associations="5" label="Output Q1 state" />
            <Group index="2" max_associations="5" label="Output Q2 state" auto="true" />
            <Group index="3" max_associations="1" label="Default reporting" auto="true"/>
        </Associations>
    </CommandClass>

    <!-- Remove COMMAND_CLASS_BASIC -->
    <CommandClass id="32" action="remove" />

    <!-- Map endpoints to instances -->
    <CommandClass id="96" mapping="endpoints" />

</Product>
jotakar commented 8 years ago

I'm using 1.4-244-ge9e3fce-dirty. My Qubino ZMNHBD2 (versión ZWave plus of ZMNHBA2) had this last line with mapping, after deleting it the controller recognized three relays and all works fine. Try to delete this line (that with mapping="endpoints") in your ZWMNHBA2.xml and let ZWave organize the mapping. After deleting this line you must modify your zwave config file (zwcfg_0x[homeid].XML): stop controller, delete the whole node 2 (the node about this module) and restart controller. The program will créate zwave config agin with the new config. Or, if this is too complicated, you can exclude/include the module after modify config file ZWMNHBA2.xml

Egregius commented 8 years ago

With "" in the XML you have 2 switches, without it 3. With the endpoints line it works fine from within Domoticz but not when I1 or I2 are switched. Without the endpoints line there's a 'general' switch that is active if either Q1 or Q2 is activated. The status isn't updated automatically in domoticz, but I have a php script that triggers the refresh function of OZWCP. After that refresh all statusses are correct.

jotakar commented 8 years ago

Try association to node 1.1, for me it Works and I don't need the script. With this setting device send reports with info about the source Attached is the config of my Qubino ZMNHBDx of my net. Now I get status of switches and power without script. Power is reported in real time. configqubinozmnhbdx.xml.txt

jotakar commented 8 years ago

Try association to node 1.1, for me it Works and I don't need the script. With this setting device send reports with info about the source Attached is the config of my Qubino ZMNHBDx (extracted from zwcfg_0xhhhhhh) of my net. Now I get status of switches and power without script. Power is reported in real time. configqubinozmnhbdx.xml.txt

Fishwaldo commented 8 years ago

@jotakar : Have you been able to test out the new config option for Force us to associate with instances? (so you don't have to specify 1.1 as a node)

If not, can you try: 1) Please add to a config file affected by this and let me know how it goes. 2) Remove this device from your network (unpair it) and best, factory reset 3) re-include the device to your network. It should not automatically add a 1.1 node to the automatic association groups.

If this works, we can add to all Qubino devices operating like this, and make it work transparent to users.

jotakar commented 8 years ago

@Fishwaldo, can I add the new option
<CommandClass id="142" ForceInstances="true" /> without updating OZwave and recompile my Domoticz? or I have to recompile all my platform? My OpenZwave is Version: 1.4-244-ge9e3fce-dirty I have to include a new Qubino Flush 2 Relay to my net and this is a good chance to test the new option. Thanks.

Fishwaldo commented 8 years ago

@jotakar you need to get the latest version and add that entry to the config file to test.

jotakar commented 8 years ago

@Fishwaldo Hi, I included a ZMNHBD2 (Qubino 2 Relays, s4, detected as ZMNHBDx) using the option in XML file <CommandClass id="142" ForceInstances="true" /> And deleting <CommandClass id="96" mapping="endpoints" />

And when I look my Domoticz controller nodes I saw that the Group 1 is linked to a.1.1 node (controller) Then I linked Groups 2 - 7 to node 1, and the soft set every node linked to 1.1. So now every group of ZMNHBDx (qubino 2 Relays, s4) is connected to node 1.1 Manual switching is detected by controller and meters of consume and energy are OK, all Works fine. I hoe this info be useful for improve Open-Zwave.

Bye

nechry commented 8 years ago

Hi, I try same thing with a S2 version, but the group1 never take 1.1 associations. so we still need the refresh policy to get direct input feedback

Fishwaldo commented 8 years ago

@jotakar : thanks for testing. @nechry : Is the S2 version a different Product Type/ID?

nechry commented 8 years ago

@Fishwaldo no unfortunately. I suppose Application Version is different. I also try others models like the ZMNHADx (single relay, with 2 binary inputs) also now wait to set 1.1 for any association group.

jotakar commented 8 years ago

Then this option is not to be included in config for ZMNHBDx?

nechry commented 8 years ago

No they break old devices in S2, until we can apply a config file for a specified version I think is not possible.

Fishwaldo commented 8 years ago

Depends upon #644

jotakar commented 8 years ago

HI And i've read that Qubino have just launched a new version of firmware for this device, this is the S5. Too many versions in a little period of time. And this is no bad if we could update the devices as ZWave Plus says, but it's not posible.

nechry commented 8 years ago

what I heard, the version S5 is a buggy version. We need to polling the switches to get state. Like the S4 the ForceInstances to true is also required

jotakar commented 8 years ago

Yes, you confirm what I read in other forum. Qubino works with a quality hardware, but soft.... With this history in its software they should give users the tools for updating software, don't you think so?. We must ask for it to Qubino.