<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Using multiple Z-Wave controllers at the same time]]></title><description><![CDATA[<p dir="auto"><img src="/assets/uploads/files/1515609007430-img_20180110_093728-resized.jpg" alt="0_1515609006858_IMG_20180110_093728.jpg" class="img-responsive img-markdown" /></p>
<p dir="auto">Pictured are a Aeotec ZW090 Z-Stick Gen5 US and a Sigma Designs UZB Z-Wave USB Adapter. Both work equally well with the Theatersoft ZWave service and the underlying stack consisting of the <code>libopenzwave</code>  library and <code>openzwave-shared</code> Node addon.</p>
<p dir="auto">You might not need another controller until your Z-Wave network reaches the 232 devices per controller limit, but it's useful to have a second controller connected to the same machine to use for debugging and testing purposes.  It can be time consuming to need to wait for initialization of a large Z-Wave network if you need to restart frequently for whatever reason. With a second controller you avoid downtime or destabilization on the primary network.</p>
<p dir="auto">Theatersoft allows any number of device services, including multiple instances of the ZWave service, so using multiple controllers is not a problem.</p>
<p dir="auto">Here's how - add a new service in <code>config.json</code>:</p>
<pre><code>{
  &quot;module&quot;: &quot;@theatersoft/zwave&quot;,
  &quot;export&quot;: &quot;ZWave&quot;,
  &quot;name&quot;: &quot;ZWave&quot;,
  &quot;config&quot;: {
    &quot;port&quot;: &quot;/dev/zwave&quot;,
    &quot;options&quot;: {
      &quot;Logging&quot;: true,
      &quot;ConsoleOutput&quot;: true,
      &quot;SaveLogLevel&quot;: 5
    }
},
{
  &quot;module&quot;: &quot;@theatersoft/zwave&quot;,
  &quot;export&quot;: &quot;ZWave&quot;,
  &quot;name&quot;: &quot;ZWave2&quot;,
  &quot;config&quot;: {
    &quot;port&quot;: &quot;/dev/zwave2&quot;,
    &quot;options&quot;: {
      &quot;Logging&quot;: true,
      &quot;ConsoleOutput&quot;: true,
      &quot;SaveLogLevel&quot;: 7
    }
  }
</code></pre>
<p dir="auto">Bus services names must be unique, so I've just named the second service <code>ZWave2</code> and also changed the port to <code>/dev/zwave2</code>. Why use custom symlinks like <code>/dev/zwave</code> to the controller devices instead of <code>/dev/ttyACM0</code>? The symlinks are associated with a particular controller, while the tty device names can change depending on enumeration order. I'll show how to create the symlinks in a followup post.</p>
<p dir="auto">Services config files (e.g. OpenZWave zwcfg_0x&lt;home_id&gt;.xml) are stored separately in corresponding service directories, e.g.: <code>/opt/Theatersoft/.config/theatersoft/ZWave2</code></p>
<p dir="auto">I also find it useful to increase the OpenZWave log level, using the <code>options</code> property shown above.</p>
]]></description><link>https://community.theatersoft.com/topic/2/using-multiple-z-wave-controllers-at-the-same-time</link><generator>RSS for Node</generator><lastBuildDate>Mon, 16 Mar 2026 06:08:15 GMT</lastBuildDate><atom:link href="https://community.theatersoft.com/topic/2.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 10 Jan 2018 19:23:40 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Using multiple Z-Wave controllers at the same time on Tue, 23 Jan 2018 17:43:44 GMT]]></title><description><![CDATA[<p dir="auto"><img src="/assets/uploads/files/1515609007430-img_20180110_093728-resized.jpg" alt="0_1515609006858_IMG_20180110_093728.jpg" class="img-responsive img-markdown" /></p>
<p dir="auto">Pictured are a Aeotec ZW090 Z-Stick Gen5 US and a Sigma Designs UZB Z-Wave USB Adapter. Both work equally well with the Theatersoft ZWave service and the underlying stack consisting of the <code>libopenzwave</code>  library and <code>openzwave-shared</code> Node addon.</p>
<p dir="auto">You might not need another controller until your Z-Wave network reaches the 232 devices per controller limit, but it's useful to have a second controller connected to the same machine to use for debugging and testing purposes.  It can be time consuming to need to wait for initialization of a large Z-Wave network if you need to restart frequently for whatever reason. With a second controller you avoid downtime or destabilization on the primary network.</p>
<p dir="auto">Theatersoft allows any number of device services, including multiple instances of the ZWave service, so using multiple controllers is not a problem.</p>
<p dir="auto">Here's how - add a new service in <code>config.json</code>:</p>
<pre><code>{
  &quot;module&quot;: &quot;@theatersoft/zwave&quot;,
  &quot;export&quot;: &quot;ZWave&quot;,
  &quot;name&quot;: &quot;ZWave&quot;,
  &quot;config&quot;: {
    &quot;port&quot;: &quot;/dev/zwave&quot;,
    &quot;options&quot;: {
      &quot;Logging&quot;: true,
      &quot;ConsoleOutput&quot;: true,
      &quot;SaveLogLevel&quot;: 5
    }
},
{
  &quot;module&quot;: &quot;@theatersoft/zwave&quot;,
  &quot;export&quot;: &quot;ZWave&quot;,
  &quot;name&quot;: &quot;ZWave2&quot;,
  &quot;config&quot;: {
    &quot;port&quot;: &quot;/dev/zwave2&quot;,
    &quot;options&quot;: {
      &quot;Logging&quot;: true,
      &quot;ConsoleOutput&quot;: true,
      &quot;SaveLogLevel&quot;: 7
    }
  }
</code></pre>
<p dir="auto">Bus services names must be unique, so I've just named the second service <code>ZWave2</code> and also changed the port to <code>/dev/zwave2</code>. Why use custom symlinks like <code>/dev/zwave</code> to the controller devices instead of <code>/dev/ttyACM0</code>? The symlinks are associated with a particular controller, while the tty device names can change depending on enumeration order. I'll show how to create the symlinks in a followup post.</p>
<p dir="auto">Services config files (e.g. OpenZWave zwcfg_0x&lt;home_id&gt;.xml) are stored separately in corresponding service directories, e.g.: <code>/opt/Theatersoft/.config/theatersoft/ZWave2</code></p>
<p dir="auto">I also find it useful to increase the OpenZWave log level, using the <code>options</code> property shown above.</p>
]]></description><link>https://community.theatersoft.com/post/2</link><guid isPermaLink="true">https://community.theatersoft.com/post/2</guid><dc:creator><![CDATA[Rob]]></dc:creator><pubDate>Tue, 23 Jan 2018 17:43:44 GMT</pubDate></item></channel></rss>