@iobroker/js-controller-cli 4.0.23 → 4.1.0-alpha.0-20220823-bd606e5c
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.
- package/build/index.d.ts +87 -0
- package/{index.js → build/index.js} +8 -2
- package/build/lib/cli/cliCert.d.ts +16 -0
- package/build/lib/cli/cliCert.d.ts.map +1 -0
- package/{lib → build/lib}/cli/cliCert.js +6 -10
- package/build/lib/cli/cliCert.js.map +1 -0
- package/build/lib/cli/cliCommand.d.ts +41 -0
- package/build/lib/cli/cliCommand.d.ts.map +1 -0
- package/build/lib/cli/cliCommand.js +27 -0
- package/build/lib/cli/cliCommand.js.map +1 -0
- package/build/lib/cli/cliCompact.d.ts +26 -0
- package/build/lib/cli/cliCompact.d.ts.map +1 -0
- package/{lib → build/lib}/cli/cliCompact.js +24 -44
- package/build/lib/cli/cliCompact.js.map +1 -0
- package/build/lib/cli/cliDebug.d.ts +19 -0
- package/build/lib/cli/cliDebug.d.ts.map +1 -0
- package/{lib → build/lib}/cli/cliDebug.js +7 -14
- package/build/lib/cli/cliDebug.js.map +1 -0
- package/build/lib/cli/cliHost.d.ts +36 -0
- package/build/lib/cli/cliHost.d.ts.map +1 -0
- package/{lib → build/lib}/cli/cliHost.js +23 -48
- package/build/lib/cli/cliHost.js.map +1 -0
- package/build/lib/cli/cliLogs.d.ts +58 -0
- package/build/lib/cli/cliLogs.d.ts.map +1 -0
- package/{lib → build/lib}/cli/cliLogs.js +17 -21
- package/build/lib/cli/cliLogs.js.map +1 -0
- package/build/lib/cli/cliMessage.d.ts +10 -0
- package/build/lib/cli/cliMessage.d.ts.map +1 -0
- package/{lib → build/lib}/cli/cliMessage.js +6 -9
- package/build/lib/cli/cliMessage.js.map +1 -0
- package/build/lib/cli/cliObjects.d.ts +105 -0
- package/build/lib/cli/cliObjects.d.ts.map +1 -0
- package/{lib → build/lib}/cli/cliObjects.js +70 -111
- package/build/lib/cli/cliObjects.js.map +1 -0
- package/build/lib/cli/cliPlugin.d.ts +23 -0
- package/build/lib/cli/cliPlugin.d.ts.map +1 -0
- package/{lib → build/lib}/cli/cliPlugin.js +25 -51
- package/build/lib/cli/cliPlugin.js.map +1 -0
- package/build/lib/cli/cliProcess.d.ts +50 -0
- package/build/lib/cli/cliProcess.d.ts.map +1 -0
- package/{lib → build/lib}/cli/cliProcess.js +51 -63
- package/build/lib/cli/cliProcess.js.map +1 -0
- package/build/lib/cli/cliStates.d.ts +49 -0
- package/build/lib/cli/cliStates.d.ts.map +1 -0
- package/{lib → build/lib}/cli/cliStates.js +127 -122
- package/build/lib/cli/cliStates.js.map +1 -0
- package/build/lib/cli/cliTools.d.ts +64 -0
- package/build/lib/cli/cliTools.d.ts.map +1 -0
- package/{lib → build/lib}/cli/cliTools.js +37 -49
- package/build/lib/cli/cliTools.js.map +1 -0
- package/build/lib/cli/messages.d.ts +53 -0
- package/build/lib/cli/messages.d.ts.map +1 -0
- package/{lib → build/lib}/cli/messages.js +27 -66
- package/build/lib/cli/messages.js.map +1 -0
- package/build/lib/setup/setupBackup.d.ts +126 -0
- package/build/lib/setup/setupBackup.d.ts.map +1 -0
- package/build/lib/setup/setupBackup.js +1031 -0
- package/build/lib/setup/setupBackup.js.map +1 -0
- package/build/lib/setup/setupInstall.d.ts +23 -0
- package/build/lib/setup/setupInstall.d.ts.map +1 -0
- package/build/lib/setup/setupInstall.js +1620 -0
- package/build/lib/setup/setupInstall.js.map +1 -0
- package/build/lib/setup/setupList.d.ts +49 -0
- package/build/lib/setup/setupList.d.ts.map +1 -0
- package/build/lib/setup/setupList.js +722 -0
- package/build/lib/setup/setupList.js.map +1 -0
- package/build/lib/setup/setupPacketManager.d.ts +65 -0
- package/build/lib/setup/setupPacketManager.d.ts.map +1 -0
- package/build/lib/setup/setupPacketManager.js +216 -0
- package/build/lib/setup/setupPacketManager.js.map +1 -0
- package/build/lib/setup/setupUpload.d.ts +72 -0
- package/build/lib/setup/setupUpload.d.ts.map +1 -0
- package/build/lib/setup/setupUpload.js +784 -0
- package/build/lib/setup/setupUpload.js.map +1 -0
- package/package.json +18 -11
- package/lib/cli/cliCommand.js +0 -58
- package/lib/setup/setupList.js +0 -840
|
@@ -2,27 +2,22 @@
|
|
|
2
2
|
const fs = require('fs');
|
|
3
3
|
const path = require('path');
|
|
4
4
|
const CLI = require('./messages.js');
|
|
5
|
-
const CLICommand = require('./cliCommand.js');
|
|
5
|
+
const { CLICommand } = require('./cliCommand.js');
|
|
6
6
|
const { tools } = require('@iobroker/js-controller-common');
|
|
7
7
|
const dbTools = require('@iobroker/js-controller-common-db').tools;
|
|
8
8
|
const deepClone = require('deep-clone');
|
|
9
9
|
const { EXIT_CODES } = require('@iobroker/js-controller-common');
|
|
10
|
-
|
|
11
10
|
const { getObjectFrom, getInstanceName, normalizeAdapterName, enumInstances } = require('./cliTools.js');
|
|
12
|
-
|
|
13
11
|
// The root of this project. Change this when moving code to another directory
|
|
14
12
|
const rootDir = tools.getControllerDir();
|
|
15
13
|
const killAllScriptPath = path.join(rootDir, 'killall.sh');
|
|
16
|
-
|
|
17
14
|
module.exports = class CLIProcess extends CLICommand {
|
|
18
15
|
/** @param {import('./cliCommand').CLICommandOptions} options */
|
|
19
16
|
constructor(options) {
|
|
20
17
|
super(options);
|
|
21
18
|
}
|
|
22
|
-
|
|
23
19
|
// These CLI commands have no subcommands, but belong together thematically
|
|
24
20
|
// (start/stop/restart/status)
|
|
25
|
-
|
|
26
21
|
/**
|
|
27
22
|
* Starts one or more adapters or the js-controller
|
|
28
23
|
* @param {any[]} args
|
|
@@ -31,15 +26,17 @@ module.exports = class CLIProcess extends CLICommand {
|
|
|
31
26
|
const adapterName = normalizeAdapterName(args[0]);
|
|
32
27
|
if (!adapterName) {
|
|
33
28
|
this.startJSController();
|
|
34
|
-
}
|
|
29
|
+
}
|
|
30
|
+
else if (adapterName === 'all') {
|
|
35
31
|
this.setAllAdaptersEnabled(true);
|
|
36
|
-
}
|
|
32
|
+
}
|
|
33
|
+
else if (/\.\d+$/.test(adapterName)) {
|
|
37
34
|
this.setAdapterInstanceEnabled(adapterName, true);
|
|
38
|
-
}
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
39
37
|
this.setAdapterEnabled(adapterName, true);
|
|
40
38
|
}
|
|
41
39
|
}
|
|
42
|
-
|
|
43
40
|
/**
|
|
44
41
|
* Restarts one or more adapters or the js-controller
|
|
45
42
|
* @param {any[]} args
|
|
@@ -48,13 +45,14 @@ module.exports = class CLIProcess extends CLICommand {
|
|
|
48
45
|
const adapterName = normalizeAdapterName(args[0]);
|
|
49
46
|
if (!adapterName) {
|
|
50
47
|
this.restartJSController();
|
|
51
|
-
}
|
|
48
|
+
}
|
|
49
|
+
else if (/\.\d+$/.test(adapterName)) {
|
|
52
50
|
this.setAdapterInstanceEnabled(adapterName, true, /* restartIfRunning */ true);
|
|
53
|
-
}
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
54
53
|
this.setAdapterEnabled(adapterName, true, /* restartIfRunning */ true);
|
|
55
54
|
}
|
|
56
55
|
}
|
|
57
|
-
|
|
58
56
|
/**
|
|
59
57
|
* Stops one or more adapters or the js-controller
|
|
60
58
|
* @param {any[]} args
|
|
@@ -63,22 +61,24 @@ module.exports = class CLIProcess extends CLICommand {
|
|
|
63
61
|
const adapterName = normalizeAdapterName(args[0]);
|
|
64
62
|
if (adapterName === undefined) {
|
|
65
63
|
this.stopJSController();
|
|
66
|
-
}
|
|
64
|
+
}
|
|
65
|
+
else if (adapterName === 'all') {
|
|
67
66
|
this.setAllAdaptersEnabled(false);
|
|
68
|
-
}
|
|
67
|
+
}
|
|
68
|
+
else if (/\.\d+$/.test(adapterName)) {
|
|
69
69
|
this.setAdapterInstanceEnabled(adapterName, false);
|
|
70
|
-
}
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
71
72
|
this.setAdapterEnabled(adapterName, false);
|
|
72
73
|
}
|
|
73
74
|
}
|
|
74
|
-
|
|
75
75
|
/**
|
|
76
76
|
* Starts or stops all adapters
|
|
77
77
|
* @param {boolean} enabled
|
|
78
78
|
*/
|
|
79
79
|
setAllAdaptersEnabled(enabled) {
|
|
80
80
|
const { callback, dbConnect } = this.options;
|
|
81
|
-
dbConnect(async objects => {
|
|
81
|
+
dbConnect(async (objects) => {
|
|
82
82
|
// Enumerate all adapter instances
|
|
83
83
|
const instances = await tools.getInstancesOrderedByStartPrio(objects, console);
|
|
84
84
|
// Create a promise for each. setInstanceEnabled only starts/stops when necessary
|
|
@@ -90,7 +90,6 @@ module.exports = class CLIProcess extends CLICommand {
|
|
|
90
90
|
callback();
|
|
91
91
|
});
|
|
92
92
|
}
|
|
93
|
-
|
|
94
93
|
/**
|
|
95
94
|
* Starts or stops a single adapter. If there are multiple instances this fails
|
|
96
95
|
* @param {string} adapter The adapter to start
|
|
@@ -99,7 +98,7 @@ module.exports = class CLIProcess extends CLICommand {
|
|
|
99
98
|
*/
|
|
100
99
|
setAdapterEnabled(adapter, enabled, restartIfRunning) {
|
|
101
100
|
const { callback, dbConnect } = this.options;
|
|
102
|
-
dbConnect(async objects => {
|
|
101
|
+
dbConnect(async (objects) => {
|
|
103
102
|
// Due to the many return locations we cannot simply chain the promises here
|
|
104
103
|
// Use the pre-Node8 async/await pattern
|
|
105
104
|
try {
|
|
@@ -107,25 +106,23 @@ module.exports = class CLIProcess extends CLICommand {
|
|
|
107
106
|
const adapterInstances = await enumInstances(objects, adapter);
|
|
108
107
|
// If there are multiple instances for this adapter, ask the user to specify which one
|
|
109
108
|
if (adapterInstances.length > 1) {
|
|
110
|
-
CLI.error.specifyInstance(
|
|
111
|
-
adapter,
|
|
112
|
-
adapterInstances.map(obj => obj._id.substring('system.adapter.'.length))
|
|
113
|
-
);
|
|
109
|
+
CLI.error.specifyInstance(adapter, adapterInstances.map(obj => obj._id.substring('system.adapter.'.length)));
|
|
114
110
|
return void callback(EXIT_CODES.INVALID_ADAPTER_ID);
|
|
115
|
-
}
|
|
111
|
+
}
|
|
112
|
+
else if (adapterInstances.length === 0) {
|
|
116
113
|
CLI.error.noInstancesFound(adapter);
|
|
117
114
|
return void callback(EXIT_CODES.UNKNOWN_ERROR);
|
|
118
115
|
}
|
|
119
116
|
const instance = adapterInstances[0];
|
|
120
117
|
await setInstanceEnabled(objects, instance, enabled, restartIfRunning);
|
|
121
118
|
return void callback();
|
|
122
|
-
}
|
|
119
|
+
}
|
|
120
|
+
catch (err) {
|
|
123
121
|
CLI.error.unknown(err.message);
|
|
124
122
|
return void callback(EXIT_CODES.UNKNOWN_ERROR);
|
|
125
123
|
}
|
|
126
124
|
});
|
|
127
125
|
}
|
|
128
|
-
|
|
129
126
|
/**
|
|
130
127
|
* Starts or stops a specific adapter instance
|
|
131
128
|
* @param {string} instance The instance to start, e.g. "adaptername.0"
|
|
@@ -140,24 +137,22 @@ module.exports = class CLIProcess extends CLICommand {
|
|
|
140
137
|
CLI.error.invalidInstance(instance);
|
|
141
138
|
return void callback();
|
|
142
139
|
}
|
|
143
|
-
|
|
144
140
|
try {
|
|
145
141
|
await setInstanceEnabled(objects, obj, enabled, restartIfRunning);
|
|
146
142
|
return void callback();
|
|
147
|
-
}
|
|
143
|
+
}
|
|
144
|
+
catch (e) {
|
|
148
145
|
CLI.error.unknown(e.message);
|
|
149
146
|
return void callback(EXIT_CODES.UNKNOWN_ERROR);
|
|
150
147
|
}
|
|
151
148
|
});
|
|
152
149
|
});
|
|
153
150
|
}
|
|
154
|
-
|
|
155
151
|
/** Starts the JS controller */
|
|
156
152
|
startJSController() {
|
|
157
153
|
const daemon = setupDaemonize();
|
|
158
154
|
daemon.start();
|
|
159
155
|
}
|
|
160
|
-
|
|
161
156
|
/** Stops the JS controller */
|
|
162
157
|
stopJSController() {
|
|
163
158
|
const { callback } = this.options;
|
|
@@ -176,21 +171,20 @@ module.exports = class CLIProcess extends CLICommand {
|
|
|
176
171
|
console.log('Exit code for "killall.sh": ' + exitCode);
|
|
177
172
|
return void callback();
|
|
178
173
|
});
|
|
179
|
-
}
|
|
174
|
+
}
|
|
175
|
+
else {
|
|
180
176
|
console.log('No "killall.sh" script found. Just stop.');
|
|
181
177
|
}
|
|
182
178
|
});
|
|
183
179
|
}
|
|
184
180
|
daemon.stop();
|
|
185
181
|
}
|
|
186
|
-
|
|
187
182
|
/** Restarts the JS controller */
|
|
188
183
|
restartJSController() {
|
|
189
184
|
const daemon = setupDaemonize();
|
|
190
185
|
daemon.on('stopped', () => daemon.start()).on('notrunning', () => daemon.start());
|
|
191
186
|
daemon.stop();
|
|
192
187
|
}
|
|
193
|
-
|
|
194
188
|
/**
|
|
195
189
|
* Checks if ioBroker is running or not
|
|
196
190
|
* @param {any[]} args
|
|
@@ -199,7 +193,6 @@ module.exports = class CLIProcess extends CLICommand {
|
|
|
199
193
|
const { callback, dbConnect } = this.options;
|
|
200
194
|
const adapterName = normalizeAdapterName(args[0]);
|
|
201
195
|
const showEntireConfig = adapterName === 'all';
|
|
202
|
-
|
|
203
196
|
dbConnect(async (_objects, states, isOffline, _objectDbType, config) => {
|
|
204
197
|
if (!adapterName || showEntireConfig) {
|
|
205
198
|
// we want host info or/and whole config
|
|
@@ -207,44 +200,41 @@ module.exports = class CLIProcess extends CLICommand {
|
|
|
207
200
|
const alive = hostAlive ? hostAlive.val : false;
|
|
208
201
|
CLI.success.controllerStatus(alive);
|
|
209
202
|
console.log();
|
|
210
|
-
if (
|
|
211
|
-
!dbTools.
|
|
212
|
-
!dbTools.isLocalObjectsDbServer(config.objects.type, config.objects.host)
|
|
213
|
-
) {
|
|
203
|
+
if (!dbTools.isLocalStatesDbServer(config.states.type, config.states.host) &&
|
|
204
|
+
!dbTools.isLocalObjectsDbServer(config.objects.type, config.objects.host)) {
|
|
214
205
|
CLI.success.systemStatus(!isOffline);
|
|
215
206
|
}
|
|
216
|
-
|
|
217
207
|
console.log();
|
|
218
208
|
if (showEntireConfig) {
|
|
219
209
|
await showAllInstancesStatus(states, _objects);
|
|
220
210
|
console.log();
|
|
221
211
|
showConfig(config);
|
|
222
|
-
}
|
|
212
|
+
}
|
|
213
|
+
else {
|
|
223
214
|
console.log(`Objects type: ${config.objects.type}`);
|
|
224
215
|
console.log(`States type: ${config.states.type}`);
|
|
225
216
|
}
|
|
226
217
|
return void callback(isOffline ? EXIT_CODES.CONTROLLER_NOT_RUNNING : undefined);
|
|
227
218
|
});
|
|
228
|
-
}
|
|
219
|
+
}
|
|
220
|
+
else {
|
|
229
221
|
// we want to know the status of an adapter
|
|
230
222
|
if (/\.\d+$/.test(adapterName)) {
|
|
231
223
|
// instance specified
|
|
232
224
|
await showInstanceStatus(states, adapterName);
|
|
233
225
|
return void callback();
|
|
234
|
-
}
|
|
226
|
+
}
|
|
227
|
+
else {
|
|
235
228
|
const adapterInstances = await enumInstances(_objects, adapterName);
|
|
236
229
|
// If there are multiple instances of this adapter, ask the user to specify which one
|
|
237
230
|
if (adapterInstances.length > 1) {
|
|
238
|
-
CLI.error.specifyInstance(
|
|
239
|
-
adapterName,
|
|
240
|
-
adapterInstances.map(obj => obj._id.substring('system.adapter.'.length))
|
|
241
|
-
);
|
|
231
|
+
CLI.error.specifyInstance(adapterName, adapterInstances.map(obj => obj._id.substring('system.adapter.'.length)));
|
|
242
232
|
return void callback(EXIT_CODES.INVALID_ADAPTER_ID);
|
|
243
|
-
}
|
|
233
|
+
}
|
|
234
|
+
else if (adapterInstances.length === 0) {
|
|
244
235
|
CLI.error.noInstancesFound(adapterName);
|
|
245
236
|
return void callback(EXIT_CODES.UNKNOWN_ERROR);
|
|
246
237
|
}
|
|
247
|
-
|
|
248
238
|
const instanceId = adapterInstances[0]._id.split('.').pop();
|
|
249
239
|
await showInstanceStatus(states, `${adapterName}.${instanceId}`);
|
|
250
240
|
return void callback();
|
|
@@ -253,7 +243,6 @@ module.exports = class CLIProcess extends CLICommand {
|
|
|
253
243
|
});
|
|
254
244
|
}
|
|
255
245
|
};
|
|
256
|
-
|
|
257
246
|
/**
|
|
258
247
|
* Outputs the status of all existing adapter instances
|
|
259
248
|
* @param {object} states The States DB
|
|
@@ -268,7 +257,6 @@ async function showAllInstancesStatus(states, objects) {
|
|
|
268
257
|
}
|
|
269
258
|
return Promise.resolve();
|
|
270
259
|
}
|
|
271
|
-
|
|
272
260
|
/**
|
|
273
261
|
* Outputs the status of an adapter instance
|
|
274
262
|
* @param {object} states the states object
|
|
@@ -280,14 +268,14 @@ function showInstanceStatus(states, adapterInstance) {
|
|
|
280
268
|
states.getState(`system.adapter.${adapterInstance}.alive`, (err, state) => {
|
|
281
269
|
if (state && state.val === true) {
|
|
282
270
|
console.log(`Instance "${adapterInstance}" is running`);
|
|
283
|
-
}
|
|
271
|
+
}
|
|
272
|
+
else {
|
|
284
273
|
console.log(`Instance "${adapterInstance}" is not running`);
|
|
285
274
|
}
|
|
286
275
|
resolve();
|
|
287
276
|
});
|
|
288
277
|
});
|
|
289
278
|
}
|
|
290
|
-
|
|
291
279
|
/** Prints the config file to the console */
|
|
292
280
|
function showConfig(config, root) {
|
|
293
281
|
if (!tools.isObject(config)) {
|
|
@@ -303,12 +291,12 @@ function showConfig(config, root) {
|
|
|
303
291
|
const nextRoot = deepClone(root);
|
|
304
292
|
nextRoot.push(attr);
|
|
305
293
|
showConfig(config[attr], nextRoot);
|
|
306
|
-
}
|
|
294
|
+
}
|
|
295
|
+
else {
|
|
307
296
|
console.log(`${prefix}${(prefix ? '/' : '') + attr}: ` + config[attr]);
|
|
308
297
|
}
|
|
309
298
|
}
|
|
310
299
|
}
|
|
311
|
-
|
|
312
300
|
/**
|
|
313
301
|
* Sets the enabled state of an instance to the given value
|
|
314
302
|
* @param {any} objects The objects DB
|
|
@@ -327,17 +315,18 @@ function setInstanceEnabled(objects, instanceObj, enabled, force) {
|
|
|
327
315
|
const instanceName = getInstanceName(instanceObj._id);
|
|
328
316
|
if (enabled) {
|
|
329
317
|
CLI.success.adapterStarted(instanceName);
|
|
330
|
-
}
|
|
318
|
+
}
|
|
319
|
+
else {
|
|
331
320
|
CLI.success.adapterStopped(instanceName);
|
|
332
321
|
}
|
|
333
322
|
resolve();
|
|
334
323
|
});
|
|
335
|
-
}
|
|
324
|
+
}
|
|
325
|
+
else {
|
|
336
326
|
resolve();
|
|
337
327
|
}
|
|
338
328
|
});
|
|
339
329
|
}
|
|
340
|
-
|
|
341
330
|
function setupDaemonize() {
|
|
342
331
|
let memoryLimitMB = 0;
|
|
343
332
|
try {
|
|
@@ -345,11 +334,10 @@ function setupDaemonize() {
|
|
|
345
334
|
if (config && config.system && config.system.memoryLimitMB) {
|
|
346
335
|
memoryLimitMB = parseInt(config.system.memoryLimitMB, 10);
|
|
347
336
|
}
|
|
348
|
-
}
|
|
337
|
+
}
|
|
338
|
+
catch {
|
|
349
339
|
console.warn('Cannot read memoryLimitMB');
|
|
350
|
-
console.warn(
|
|
351
|
-
`May be config file does not exist.\nPlease call "${tools.appName} setup first" to initialize the settings.`
|
|
352
|
-
);
|
|
340
|
+
console.warn(`May be config file does not exist.\nPlease call "${tools.appName} setup first" to initialize the settings.`);
|
|
353
341
|
}
|
|
354
342
|
const startObj = {
|
|
355
343
|
main: path.join(rootDir, 'controller.js'),
|
|
@@ -361,8 +349,8 @@ function setupDaemonize() {
|
|
|
361
349
|
if (memoryLimitMB) {
|
|
362
350
|
startObj.args = '--max-old-space-size=' + memoryLimitMB;
|
|
363
351
|
}
|
|
364
|
-
|
|
365
352
|
const daemon = require('daemonize2').setup(startObj);
|
|
366
353
|
daemon.on('error', error => CLI.error.unknown(error));
|
|
367
354
|
return daemon;
|
|
368
355
|
}
|
|
356
|
+
//# sourceMappingURL=cliProcess.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cliProcess.js","sourceRoot":"","sources":["../../../src/lib/cli/cliProcess.js"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { CLICommand, CLICommandOptions } from './cliCommand.js';
|
|
2
|
+
declare type ResultTransform = (input: any) => any;
|
|
3
|
+
/** Command iobroker state ... */
|
|
4
|
+
export declare class CLIStates extends CLICommand {
|
|
5
|
+
constructor(options: CLICommandOptions);
|
|
6
|
+
/**
|
|
7
|
+
* Executes a command
|
|
8
|
+
* @param args
|
|
9
|
+
*/
|
|
10
|
+
execute(args: any[]): void;
|
|
11
|
+
/**
|
|
12
|
+
* Get the protocol version
|
|
13
|
+
*/
|
|
14
|
+
getDBVersion(): void;
|
|
15
|
+
/**
|
|
16
|
+
* Set protocol version
|
|
17
|
+
*/
|
|
18
|
+
setDBVersion(): void;
|
|
19
|
+
/**
|
|
20
|
+
* Checks if state is a binary state
|
|
21
|
+
* @param id id of the state
|
|
22
|
+
* @param {object} objects the objects db
|
|
23
|
+
* @param {ioBroker.OtherObject?} _obj cached object
|
|
24
|
+
*/
|
|
25
|
+
private _isBinary;
|
|
26
|
+
/**
|
|
27
|
+
* Get and show binary state
|
|
28
|
+
*
|
|
29
|
+
* @param args
|
|
30
|
+
*/
|
|
31
|
+
private _getBinary;
|
|
32
|
+
/**
|
|
33
|
+
* Returns the value of a state
|
|
34
|
+
* @param args
|
|
35
|
+
* @param resultTransform
|
|
36
|
+
*/
|
|
37
|
+
get_(args: any[], resultTransform: ResultTransform): void;
|
|
38
|
+
/**
|
|
39
|
+
* @param args
|
|
40
|
+
*/
|
|
41
|
+
set_(args: any[]): void;
|
|
42
|
+
/**
|
|
43
|
+
* Deletes a state
|
|
44
|
+
* @param args
|
|
45
|
+
*/
|
|
46
|
+
delete(args: any[]): void;
|
|
47
|
+
}
|
|
48
|
+
export {};
|
|
49
|
+
//# sourceMappingURL=cliStates.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cliStates.d.ts","sourceRoot":"","sources":["../../../src/lib/cli/cliStates.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAUhE,aAAK,eAAe,GAAG,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CAAC;AAE3C,iCAAiC;AACjC,qBAAa,SAAU,SAAQ,UAAU;gBACzB,OAAO,EAAE,iBAAiB;IAItC;;;OAGG;IACH,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IA8C1B;;OAEG;IACH,YAAY,IAAI,IAAI;IASpB;;OAEG;IACH,YAAY,IAAI,IAAI;IA0BpB;;;;;OAKG;YACW,SAAS;IAMvB;;;;OAIG;IACH,OAAO,CAAC,UAAU;IA4BlB;;;;OAIG;IACH,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,eAAe,EAAE,eAAe,GAAG,IAAI;IAgEzD;;OAEG;IACH,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IA4HvB;;;OAGG;IACH,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;CAoB5B"}
|