Gradual migration from Zipabox: primary and secondary controllers, etc

Are there xml files generated for any of them? They may not be in our database.

Where do I check that? In the bindings directory of the addons bundle?

In the zwave directory of userdata.
There should be a file named for each node that has completed discovery. It contains data from the device itself.

Here is one XML file:

<node>
  <homeId>0xcbbcbe4f</homeId>
  <nodeId>1</nodeId>
  <version>4</version>
  <manufacturer>0x7fffffff</manufacturer>
  <deviceId>0x7fffffff</deviceId>
  <deviceType>0x7fffffff</deviceType>
  <listening>true</listening>
  <frequentlyListening>false</frequentlyListening>
  <routing>false</routing>
  <security>false</security>
  <beaming>true</beaming>
  <maxBaudRate>40000</maxBaudRate>
  <sleepDelay>1000</sleepDelay>
  <associationGroups class="concurrent-hash-map"/>
  <endpoints class="concurrent-hash-map">
<entry>
  <int>0</int>
  <endPoint>
    <deviceClass>
      <basicDeviceClass>BASIC_TYPE_STATIC_CONTROLLER</basicDeviceClass>
      <genericDeviceClass>GENERIC_TYPE_STATIC_CONTROLLER</genericDeviceClass>
      <specificDeviceClass>SPECIFIC_TYPE_PC_CONTROLLER</specificDeviceClass>
    </deviceClass>
    <endpointId>0</endpointId>
    <secureCommandClasses/>
    <supportedCommandClasses class="concurrent-hash-map">
      <entry>
        <commandClass>COMMAND_CLASS_BASIC</commandClass>
        <COMMAND__CLASS__BASIC>
          <version>0</version>
          <instances>0</instances>
          <control>false</control>
          <versionSupported>0</versionSupported>
          <isGetSupported>true</isGetSupported>
        </COMMAND__CLASS__BASIC>
      </entry>
      <entry>
        <commandClass>COMMAND_CLASS_NO_OPERATION</commandClass>
        <COMMAND__CLASS__NO__OPERATION>
          <version>1</version>
          <instances>0</instances>
          <control>false</control>
          <versionSupported>1</versionSupported>
        </COMMAND__CLASS__NO__OPERATION>
      </entry>
    </supportedCommandClasses>
  </endPoint>
</entry>
  </endpoints>
  <nodeNeighbors/>
</node>

Here is another:

<node>
  <homeId>0xcbbcbe4f</homeId>
  <nodeId>2</nodeId>
  <version>4</version>
  <manufacturer>0x131</manufacturer>
  <deviceId>0x1</deviceId>
  <deviceType>0x1</deviceType>
  <listening>true</listening>
  <frequentlyListening>false</frequentlyListening>
  <routing>false</routing>
  <security>false</security>
  <beaming>false</beaming>
  <maxBaudRate>40000</maxBaudRate>
  <sleepDelay>1000</sleepDelay>
  <nodeInformationFrame>
    <commandClass>COMMAND_CLASS_ZWAVEPLUS_INFO</commandClass>
    <commandClass>COMMAND_CLASS_ASSOCIATION</commandClass>
    <commandClass>COMMAND_CLASS_ASSOCIATION_GRP_INFO</commandClass>
    <commandClass>COMMAND_CLASS_CRC_16_ENCAP</commandClass>
    <commandClass>COMMAND_CLASS_DEVICE_RESET_LOCALLY</commandClass>
    <commandClass>COMMAND_CLASS_INCLUSION_CONTROLLER</commandClass>
    <commandClass>COMMAND_CLASS_MANUFACTURER_SPECIFIC</commandClass>
    <commandClass>COMMAND_CLASS_MULTI_CMD</commandClass>
    <commandClass>COMMAND_CLASS_POWERLEVEL</commandClass>
    <commandClass>COMMAND_CLASS_SECURITY</commandClass>
    <commandClass>COMMAND_CLASS_SUPERVISION</commandClass>
    <commandClass>COMMAND_CLASS_SECURITY_2</commandClass>
    <commandClass>COMMAND_CLASS_TIME_PARAMETERS</commandClass>
    <commandClass>COMMAND_CLASS_TRANSPORT_SERVICE</commandClass>
    <commandClass>COMMAND_CLASS_VERSION</commandClass>
  </nodeInformationFrame>
  <associationGroups class="concurrent-hash-map">
    <entry>
      <int>1</int>
      <associationGroup>
        <index>1</index>
        <maxNodes>0</maxNodes>
        <name>Lifeline</name>
        <profile1>0x0</profile1>
        <profile2>0x1</profile2>
        <commands>
          <commandClass>COMMAND_CLASS_DEVICE_RESET_LOCALLY</commandClass>
        </commands>
        <associations>
          <associationMember>
            <node>68</node>
          </associationMember>
        </associations>
      </associationGroup>
    </entry>
  </associationGroups>
  <endpoints class="concurrent-hash-map">
    <entry>
      <int>0</int>
      <endPoint>
        <deviceClass>
          <basicDeviceClass>BASIC_TYPE_SLAVE</basicDeviceClass>
          <genericDeviceClass>GENERIC_TYPE_SWITCH_MULTILEVEL</genericDeviceClass>
          <specificDeviceClass>SPECIFIC_TYPE_NOT_USED</specificDeviceClass>
        </deviceClass>
        <endpointId>0</endpointId>
        <secureCommandClasses/>
        <supportedCommandClasses class="concurrent-hash-map">
          <entry>
            <commandClass>COMMAND_CLASS_VERSION</commandClass>
            <COMMAND__CLASS__VERSION>
              <version>2</version>
              <instances>1</instances>
              <control>false</control>
              <versionSupported>2</versionSupported>
              <libraryType>LIB_CONTROLLER_BRIDGE</libraryType>
              <protocolVersion>3.83</protocolVersion>
              <applicationVersion>3.83</applicationVersion>
              <hardwareVersion>1</hardwareVersion>
            </COMMAND__CLASS__VERSION>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_ASSOCIATION</commandClass>
            <COMMAND__CLASS__ASSOCIATION>
              <version>2</version>
              <instances>1</instances>
              <control>false</control>
              <versionSupported>2</versionSupported>
              <maxGroups>1</maxGroups>
            </COMMAND__CLASS__ASSOCIATION>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_SECURITY</commandClass>
            <COMMAND__CLASS__SECURITY>
              <version>1</version>
              <instances>1</instances>
              <control>false</control>
              <versionSupported>1</versionSupported>
            </COMMAND__CLASS__SECURITY>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_POWERLEVEL</commandClass>
            <COMMAND__CLASS__POWERLEVEL>
              <version>1</version>
              <instances>1</instances>
              <control>false</control>
              <versionSupported>1</versionSupported>
              <powerLevel>0</powerLevel>
              <powerTimeout>0</powerTimeout>
            </COMMAND__CLASS__POWERLEVEL>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_MULTI_CMD</commandClass>
            <COMMAND__CLASS__MULTI__CMD>
              <version>1</version>
              <instances>1</instances>
              <control>false</control>
              <versionSupported>1</versionSupported>
            </COMMAND__CLASS__MULTI__CMD>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_ZWAVEPLUS_INFO</commandClass>
            <COMMAND__CLASS__ZWAVEPLUS__INFO>
              <version>1</version>
              <instances>1</instances>
              <control>false</control>
              <versionSupported>2</versionSupported>
              <zwPlusVersion>1</zwPlusVersion>
              <zwPlusRole>ROLE_TYPE_CONTROLLER_CENTRAL_STATIC</zwPlusRole>
              <zwPlusNodeType>NODE_TYPE_ZWAVEPLUS_NODE</zwPlusNodeType>
              <isGetSupported>true</isGetSupported>
            </COMMAND__CLASS__ZWAVEPLUS__INFO>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_CRC_16_ENCAP</commandClass>
            <COMMAND__CLASS__CRC__16__ENCAP>
              <version>1</version>
              <instances>1</instances>
              <control>false</control>
              <versionSupported>1</versionSupported>
            </COMMAND__CLASS__CRC__16__ENCAP>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_DEVICE_RESET_LOCALLY</commandClass>
            <COMMAND__CLASS__DEVICE__RESET__LOCALLY>
              <version>1</version>
              <instances>1</instances>
              <control>false</control>
              <versionSupported>1</versionSupported>
            </COMMAND__CLASS__DEVICE__RESET__LOCALLY>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_TIME_PARAMETERS</commandClass>
            <COMMAND__CLASS__TIME__PARAMETERS>
              <version>1</version>
              <instances>1</instances>
              <control>false</control>
              <versionSupported>1</versionSupported>
            </COMMAND__CLASS__TIME__PARAMETERS>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_MANUFACTURER_SPECIFIC</commandClass>
            <COMMAND__CLASS__MANUFACTURER__SPECIFIC>
              <version>1</version>
              <instances>1</instances>
              <control>false</control>
              <versionSupported>1</versionSupported>
              <initSerialNumber>false</initSerialNumber>
              <deviceManufacturer>305</deviceManufacturer>
              <deviceType>1</deviceType>
              <deviceId>1</deviceId>
            </COMMAND__CLASS__MANUFACTURER__SPECIFIC>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_NO_OPERATION</commandClass>
            <COMMAND__CLASS__NO__OPERATION>
              <version>1</version>
              <instances>1</instances>
              <control>false</control>
              <versionSupported>1</versionSupported>
            </COMMAND__CLASS__NO__OPERATION>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_ASSOCIATION_GRP_INFO</commandClass>
            <COMMAND__CLASS__ASSOCIATION__GRP__INFO>
              <version>1</version>
              <instances>1</instances>
              <control>false</control>
              <versionSupported>1</versionSupported>
              <autoSubscribeGroups>
                <int>1</int>
              </autoSubscribeGroups>
            </COMMAND__CLASS__ASSOCIATION__GRP__INFO>
          </entry>
        </supportedCommandClasses>
      </endPoint>
    </entry>
  </endpoints>
  <nodeNeighbors/>
  <lastReceived>2020-10-06 19:29:06.373 UTC</lastReceived>
</node>

There appear to be five devices with no corresponding XML file

That usually means they have not been fully discovered by the binding. Battery powered devices can be particularly troublesome.

That one is not fully discovered. The manufacturer id, device type, & device id are invalid.

That appears to be a Zipato manufactured device that is not in our database.

EDIT:
That is a European Zipabox controller, not a Z-Wave device so there is no benefit in adding it to the database.

https://products.z-wavealliance.org/products/1302?selectedFrequencyId=-1

The Zipabox controller is no problem. Obviously I don’t need that.

1 Like

The Fibaro wall plugs are a bit more mystifying. I’ll try to take a look at the log later for clues.

The Fibaro relays were recognised no problem. Also recognised straight off the bat:

1 SIR timer
3 Aeotec multisensors
Several TKB wall sockets
1 DĂŒwi wall socket
1 Qubino smart meter

It seems that I’m missing 5 Fibaro FGFS-101 Flood sensors, and 9 Fibaro F-102 wall sockets. I forgot about the flood sensors before.

Usually non-battery powered devices are not an issue if they are within range.

I have found some devices cannot be just excluded from one network & included to another. They need to be factory reset after excluding before they will properly be included into a new network,

But shouldn’t the Z-Stick just have copied the device information from the Zipabox?

I do not know the standards behind a secondary controller but neither one had the device information the device gives in its NIF (Node Information Frame) when requested.

OK. Well, I suppose I can do quite a lot with what I have now.

I have everything working on openHab, except some Fibaro devices that are not properly detected. I rigged up a way to control my Fibaro sockets by sending commands to the Zipabox from openHab so that I could test all the rules.

Now the time has come to make openHab the primary controller. I don’t see any way to do the shift from the Zipabox - am I right in thinking that my only option is now to reset the Z-Wave stick, exclude all Z-Wave devices from the Zipabox, and add them again to the Z-Wave stick?