Skip to content

Commit

Permalink
treat backend as comma separated list and create clients only for tha…
Browse files Browse the repository at this point in the history
…t list
  • Loading branch information
peuter committed Apr 16, 2023
1 parent 487c2d6 commit 4232c8f
Showing 1 changed file with 24 additions and 12 deletions.
36 changes: 24 additions & 12 deletions source/class/cv/io/BackendConnections.js
Expand Up @@ -45,12 +45,12 @@ qx.Class.define('cv.io.BackendConnections', {
}
return this.addBackendClient(cv.data.Model.getInstance().getDefaultBackendName(), 'simulated');
}
let backendName = (
let backendNames = (
cv.Config.URL.backend ||
cv.Config.configSettings.backend ||
cv.Config.server.backend ||
'default'
).split(',')[0];
).split(',');
const backendKnxdUrl =
cv.Config.URL.backendKnxdUrl || cv.Config.configSettings.backendKnxdUrl || cv.Config.server.backendKnxdUrl;
const backendMQTTUrl =
Expand All @@ -63,7 +63,7 @@ qx.Class.define('cv.io.BackendConnections', {
const defaultName = cv.data.Model.getInstance().getDefaultBackendName() || 'main';
let defaultClient;
let defaultType;
switch (backendName) {
switch (backendNames[0]) {
case 'knxd':
case 'default':
default:
Expand All @@ -86,16 +86,28 @@ qx.Class.define('cv.io.BackendConnections', {
}

// check if we need to create more clients
if (backendKnxdUrl && defaultType !== 'knxd') {
this.addBackendClient('knxd', 'knxd', backendKnxdUrl, 'server');
}
if (backendMQTTUrl && defaultType !== 'mqtt') {
this.addBackendClient('mqtt', 'mqtt', backendMQTTUrl, 'server');
}
if (backendKnxdUrl && defaultType !== 'openhab') {
this.addBackendClient('openhab', 'openhab', backendOpenHABUrl, 'server');
}
for (let i = 1; i < backendNames.length; i++) {
switch (backendNames[i]) {
case 'knxd':
case 'default':
if (backendKnxdUrl && defaultType !== 'knxd') {
this.addBackendClient('knxd', 'knxd', backendKnxdUrl, 'server');
}
break;

case 'mqtt':
if (defaultType !== 'mqtt') {
this.addBackendClient('mqtt', 'mqtt', backendMQTTUrl, 'server');
}
break;

case 'openhab':
if (backendKnxdUrl && defaultType !== 'openhab') {
this.addBackendClient('openhab', 'openhab', backendOpenHABUrl, 'server');
}
break;
}
}
return defaultClient;
},

Expand Down

0 comments on commit 4232c8f

Please sign in to comment.