node-red-contrib-mobius-flow-base 2.5.86-beta.6 → 2.5.86-beta.63

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -106,12 +106,12 @@ module.exports = {
106
106
  });
107
107
  },
108
108
 
109
- async getServiceList(connection, hid) {
109
+ getServiceList(connection, hid) {
110
110
  // getNodeConfig -> id, spid, uri, name, enabled, runAtStart
111
111
  // For every: getServiceConfig -> mobiusSettings, customSettings
112
112
  // discover -> registered, last connected, status + any remaining if new service
113
113
  // For every: discover object -/0001/0001 -> status, statusText
114
- return new Promise((resolve, reject) => {
114
+ return new Promise(async (resolve, reject) => {
115
115
  try {
116
116
  // Fetch information from node config
117
117
  const nodeConfig = await connection.getNodeConfig(hid);
@@ -119,41 +119,41 @@ module.exports = {
119
119
  let services = [];
120
120
  for (let i = 0; i < servicesFromConfig.length; i++) {
121
121
  services.push({
122
- id: servicesFromConfig.id,
123
- spid: servicesFromConfig.id.split('/')[0],
124
- sid: servicesFromConfig.id.split('/')[1],
125
- uri: `${nodeConfig.uri}/${servicesFromConfig.id.split('/')[1]}`,
126
- name: servicesFromConfig.name,
127
- enabled: servicesFromConfig.enabled,
128
- runAtStart: servicesFromConfig.runAtStart,
122
+ id: servicesFromConfig[i].id,
123
+ spid: servicesFromConfig[i].id.split('/')[0],
124
+ sid: servicesFromConfig[i].id.split('/')[1],
125
+ uri: `${nodeConfig.uri}/${servicesFromConfig[i].id.split('/')[1]}`,
126
+ name: servicesFromConfig[i].name,
127
+ enabled: servicesFromConfig[i].enabled,
128
+ runAtStart: servicesFromConfig[i].runAtStart,
129
129
  registered: null,
130
130
  lastConnected: null,
131
131
  status: null,
132
132
  statusText: null,
133
133
  mobiusSettings: null,
134
134
  customSettings: null,
135
+ pids: [],
135
136
  });
136
137
  }
137
138
 
138
- console.log('Following get node config');
139
- console.log(services);
140
-
141
139
  // Fetch information from each service config
142
- for (i = 0; i < services.length; i++) {
140
+ for (let i = 0; i < services.length; i++) {
143
141
  const fullServiceConfig = await connection.getServiceConfigProm(hid, services[i].sid);
144
- services[i].mobiusSettings = fullServiceConfig.value.serviceConfig.settings;
145
- services[i].customSettings = fullServiceConfig.value.serviceConfig.custom;
142
+ if (fullServiceConfig.value.serviceConfig !== undefined) {
143
+ services[i].mobiusSettings = fullServiceConfig.value.serviceConfig.settings;
144
+ services[i].customSettings = fullServiceConfig.value.serviceConfig.custom;
145
+ } else {
146
+ services[i].mobiusSettings = fullServiceConfig.value.settings;
147
+ services[i].customSettings = fullServiceConfig.value.custom;
148
+ }
146
149
  }
147
150
 
148
- console.log('Following service node configs');
149
- console.log(services);
150
-
151
151
  // Fetch information from discovered services
152
152
  const discoveryResponse = await this.discover(connection, hid);
153
153
  const servicesFromDiscovery = discoveryResponse.value;
154
- for (i = 0; i < servicesFromDiscovery.length; i++) {
154
+ for (let i = 0; i < servicesFromDiscovery.length; i++) {
155
155
  let serviceFound = false;
156
- for (j = 0; j < services.length; j++) {
156
+ for (let j = 0; j < services.length; j++) {
157
157
  if (servicesFromDiscovery[i].id === services[j].id) {
158
158
  serviceFound = true;
159
159
  services[j].registered = servicesFromDiscovery[i].registered;
@@ -176,30 +176,57 @@ module.exports = {
176
176
  statusText: null,
177
177
  mobiusSettings: null,
178
178
  customSettings: null,
179
+ pids: [],
179
180
  });
180
181
  }
181
182
  }
182
183
 
183
- console.log('Following discover');
184
- console.log(services);
185
-
186
- // Fetch status object from all services
187
- for (i = 0; i < services.length; i++) {
188
- const statusObjectResponse = await this.discover(
189
- connection,
190
- `${hid}/${services[i].sid}/0001/0001`
191
- );
192
- const statusObject = statusObjectResponse.value;
193
- services[i].status = statusObject.resources[1].pv;
194
- services[i].statusText = `${statusObject.resources[2].pv}`;
184
+ // Fetch pids and status object from all services
185
+ for (let i = 0; i < services.length; i++) {
186
+ if (services[i].sid !== '009') {
187
+ const serviceResponse = await this.discover(connection, `${hid}/${services[i].sid}`);
188
+ services[i].pids = [...new Set(serviceResponse.value)];
189
+ const statusObjectResponse = await this.discover(
190
+ connection,
191
+ `${hid}/${services[i].sid}/0001/0001`
192
+ );
193
+ const statusObject = statusObjectResponse.value[0];
194
+ services[i].status = statusObject.resources[1].pv;
195
+ services[i].statusText = `${statusObject.resources[2].pv}`;
196
+ } else {
197
+ services[i].pids = [];
198
+ services[i].status = 'Unknown';
199
+ services[i].statusText = 'Unknown';
200
+ }
195
201
  }
196
202
 
197
- console.log('Complete');
198
- console.log(services);
199
-
200
203
  resolve(services);
201
204
  } catch (err) {
202
- reject(err);
205
+ reject(JSON.stringify(err));
206
+ }
207
+ });
208
+ },
209
+
210
+ getObjectList(connection, hid, sid) {
211
+ return new Promise(async (resolve, reject) => {
212
+ try {
213
+ let objectList = [];
214
+ const serviceResponse = await this.discover(connection, `${hid}/${sid}`);
215
+ const pids = [...new Set(serviceResponse.value)];
216
+ for (let i = 0; i < pids.length; i++) {
217
+ const inssResponse = await this.discover(connection, `${hid}/${sid}/${pids[i]}`);
218
+ const inss = inssResponse.value;
219
+ for (let j = 0; j < inss.length; j++) {
220
+ const objResponse = await this.discover(
221
+ connection,
222
+ `${hid}/${sid}/${pids[i]}/${inss[j]}`
223
+ );
224
+ objectList.push(objResponse.value[0]);
225
+ }
226
+ }
227
+ resolve(objectList);
228
+ } catch (err) {
229
+ reject(JSON.stringify(err));
203
230
  }
204
231
  });
205
232
  },
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "node-red-contrib-mobius-flow-base",
3
- "version": "2.5.86-beta.6",
3
+ "version": "2.5.86-beta.63",
4
4
  "description": "Node-RED base nodes for Mobius Flow",
5
5
  "main": "index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "scripts": {
8
8
  "test": "echo \"Error: no test specified\" && exit 1",
9
- "build": "mkdir -p dist/nodes && cp src/nodes/*.js dist/nodes/ && cp src/nodes/*.html dist/nodes/ && cp -r src/nodes/icons dist/nodes/"
9
+ "build": "mkdir -p dist/nodes && cp src/nodes/*.js dist/nodes/ && cp src/nodes/*.html dist/nodes/ && cp -r src/nodes/icons dist/nodes/ && mkdir -p dist/nodes/common && cp src/nodes/common/*.js dist/nodes/common/"
10
10
  },
11
11
  "repository": "bitbucket:interiorautomation/node-red-contrib-mobius-flow-base",
12
12
  "node-red": {