iobroker.bee 0.2.5 → 0.2.7
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/README.md +14 -1
- package/build/lib/adapterCommand.js +135 -0
- package/build/lib/adapterCommand.js.map +1 -0
- package/build/lib/commands.js +3 -2
- package/build/lib/commands.js.map +1 -1
- package/build/lib/logs.js +39 -5
- package/build/lib/logs.js.map +1 -1
- package/build/lib/protocol.js +2 -1
- package/build/lib/protocol.js.map +1 -1
- package/build/lib/softwareCommand.js +135 -0
- package/build/lib/softwareCommand.js.map +1 -0
- package/build/main.js +133 -7
- package/build/main.js.map +1 -1
- package/build/runner.js +22 -4
- package/build/runner.js.map +1 -1
- package/io-package.json +11 -3
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -41,6 +41,8 @@ Limits: a power loss while the script works leaves the system as far as the scri
|
|
|
41
41
|
|
|
42
42
|
If the owner installs adapters that are not part of the profile, the agent reports them, stops automatic updates and informs the owner via an ioBroker notification. The fleet manager sees the installation in the deviation list and can bring it back to managed mode (removing the own adapters or tolerating them as exceptions).
|
|
43
43
|
|
|
44
|
+
An asset can also run without profile (mode `free`, set in the fleet management for installations that are too different for a profile). The agent then gets no profile and changes nothing by itself; versions are installed with the command `adapter`. Every version of the agent handles this like an asset without profile.
|
|
45
|
+
|
|
44
46
|
### Remote access to admin, vis-2 and the console
|
|
45
47
|
|
|
46
48
|
A technician of the fleet manager can open admin or vis-2 of the system from the fleet management, without ioBroker.pro and without open ports on the device:
|
|
@@ -60,8 +62,9 @@ From the asset detail a technician (permission `operate`) can start, stop and re
|
|
|
60
62
|
- Instances: the same way admin does it, through the instance object (`common.enabled`, or rewriting it for a restart). Only instances of this host; `bee` itself can be restarted but not stopped from afar.
|
|
61
63
|
- Restart of ioBroker: host command `restartController` of js-controller.
|
|
62
64
|
- OS updates: js-controller (6 and newer, Linux) lists upgradeable packages (`apt list --upgradeable`) on every update of the repository, admin triggers that daily, and writes them to `system.host.<host>.osPackageUpdates`. The agent reports this list in the inventory, together with `/var/run/reboot-required`, and on request passes the chosen packages to the host command `upgradeOsPackages`, which runs apt (with sudo if ioBroker does not run as root). Packages that js-controller did not list are refused.
|
|
65
|
+
- Adapter version (since 0.2.6, permission `assign`): installs one version of one adapter right away, from npm or from a package of the own server (checked like the packages of a job), like an installation from admin: `iobroker upgrade <adapter>@<version>` (with `--force` downwards), `iobroker add` for a new adapter, `iobroker url` for a package. Only for an asset without desired profile in managed mode (otherwise the next job would turn it back; there the version is changed in the profile or set for the asset), never js-controller, without backup. It runs with the detached runner of the jobs under its own file (`adapter-runner.json`), so it survives the restart of the agent when the agent updates itself; the answer then comes from the new process. The emergency stop stops it too.
|
|
63
66
|
- Nothing of this while a job (update) is running, and one command at a time.
|
|
64
|
-
- Log files: the agent lists the files in the directories of the file transports of `iobroker.json` (as js-controller finds
|
|
67
|
+
- Log files: the agent lists the files in the directories of the file transports of `iobroker.json` (`iobroker-data/iobroker.json`, found as js-controller finds it; without a file transport `log` below the ioBroker directory; only `*.log` and `*.gz`, no symbolic links like `iobroker.current.log`), and on request uploads one of them to its own server, compressed with gzip (a `.gz` file as it is), with the one-time ticket of the request and at most 50 MB compressed. The upload URL must belong to the server of the enrollment or the broker. This works also during a job, one upload at a time.
|
|
65
68
|
|
|
66
69
|
## Configuration
|
|
67
70
|
|
|
@@ -109,6 +112,16 @@ npm test # unit tests of planner, preflight and diff
|
|
|
109
112
|
|
|
110
113
|
## Changelog
|
|
111
114
|
|
|
115
|
+
### 0.2.7 (2026-11-11)
|
|
116
|
+
|
|
117
|
+
- Protocol: the desired state can carry the mode `free` (without profile), shown in `info.mode`
|
|
118
|
+
- Command `software`: remove an adapter, add or delete an instance right away, with the runner of the command `adapter`
|
|
119
|
+
|
|
120
|
+
### 0.2.6 (2026-11-11)
|
|
121
|
+
|
|
122
|
+
- Log files: the list was empty on normal installations, the agent now finds `iobroker.json` in `iobroker-data` as js-controller does
|
|
123
|
+
- Command `adapter`: install a version of an adapter right away on an asset without desired profile
|
|
124
|
+
|
|
112
125
|
### 0.2.5 (2026-11-10)
|
|
113
126
|
|
|
114
127
|
- Log files of ioBroker for the fleet management: list them, upload one compressed on request
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ADAPTER_COMMAND_TIMEOUT = void 0;
|
|
4
|
+
exports.adapterCommandPaths = adapterCommandPaths;
|
|
5
|
+
exports.adapterRefusal = adapterRefusal;
|
|
6
|
+
exports.adapterStep = adapterStep;
|
|
7
|
+
exports.startAdapterCommand = startAdapterCommand;
|
|
8
|
+
exports.adapterCommandState = adapterCommandState;
|
|
9
|
+
exports.clearAdapterCommand = clearAdapterCommand;
|
|
10
|
+
const node_child_process_1 = require("node:child_process");
|
|
11
|
+
const promises_1 = require("node:fs/promises");
|
|
12
|
+
const node_path_1 = require("node:path");
|
|
13
|
+
const util_1 = require("./util");
|
|
14
|
+
/**
|
|
15
|
+
* Command 'adapter' of the fleet management: one version of one adapter right away, for an asset without
|
|
16
|
+
* desired profile (or a self-managed one), like an installation from admin. It runs with the detached runner
|
|
17
|
+
* of the jobs under its own file, so it does not get in the way of a job, and it survives the restart of the
|
|
18
|
+
* agent when the agent updates itself. After such a restart the agent answers from the files.
|
|
19
|
+
*/
|
|
20
|
+
const ADAPTER_NAME = /^[a-z0-9][a-z0-9_-]*$/;
|
|
21
|
+
const VERSION = /^\d+\.\d+\.\d+(?:-[\w.-]+)?(?:\+[\w.-]+)?$/;
|
|
22
|
+
/** Longer than the runner needs for one step (30 minutes per call of the CLI, at most two calls) */
|
|
23
|
+
exports.ADAPTER_COMMAND_TIMEOUT = 65 * 60_000;
|
|
24
|
+
function adapterCommandPaths(dataDir) {
|
|
25
|
+
return { runner: (0, node_path_1.join)(dataDir, 'adapter-runner.json'), command: (0, node_path_1.join)(dataDir, 'adapter-command.json') };
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Why the command is refused; null if it may run
|
|
29
|
+
*
|
|
30
|
+
* @param req the request of the server
|
|
31
|
+
* @param desired the desired state the agent has
|
|
32
|
+
*/
|
|
33
|
+
function adapterRefusal(req, desired) {
|
|
34
|
+
if (!req || typeof req.name !== 'string' || !ADAPTER_NAME.test(req.name)) {
|
|
35
|
+
return 'Ungültiger Adaptername';
|
|
36
|
+
}
|
|
37
|
+
if (req.name === 'js-controller') {
|
|
38
|
+
return 'js-controller wird nicht über diesen Befehl aktualisiert';
|
|
39
|
+
}
|
|
40
|
+
if (typeof req.version !== 'string' || !VERSION.test(req.version)) {
|
|
41
|
+
return 'Ungültige Version';
|
|
42
|
+
}
|
|
43
|
+
if (desired?.profile && desired.mode === 'managed') {
|
|
44
|
+
// the next job would turn it back
|
|
45
|
+
return 'Die Anlage folgt einem Sollprofil: die Version im Profil ändern oder für diese Anlage festlegen';
|
|
46
|
+
}
|
|
47
|
+
return null;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* The step for the runner: a new adapter with one instance, or an up- or downgrade
|
|
51
|
+
*
|
|
52
|
+
* @param name adapter
|
|
53
|
+
* @param version wanted version
|
|
54
|
+
* @param installed installed version, undefined if the adapter is not installed
|
|
55
|
+
* @param fromPackage from a package of the server: also with the same version number (a build that kept it)
|
|
56
|
+
* @returns null if there is nothing to do
|
|
57
|
+
*/
|
|
58
|
+
function adapterStep(name, version, installed, fromPackage) {
|
|
59
|
+
if (!installed) {
|
|
60
|
+
return { action: 'install', adapter: name, from: null, to: version, status: 'pending' };
|
|
61
|
+
}
|
|
62
|
+
const c = (0, util_1.compareVersions)(version, installed);
|
|
63
|
+
if (c === 0 && !fromPackage) {
|
|
64
|
+
return null;
|
|
65
|
+
}
|
|
66
|
+
return { action: c < 0 ? 'downgrade' : 'upgrade', adapter: name, from: installed, to: version, status: 'pending' };
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Starts the runner for the step, detached from the agent
|
|
70
|
+
*
|
|
71
|
+
* @param paths see adapterCommandPaths
|
|
72
|
+
* @param command what to remember
|
|
73
|
+
* @param step see adapterStep
|
|
74
|
+
* @param opts where and how
|
|
75
|
+
* @param opts.iobrokerJs iobroker.js of js-controller
|
|
76
|
+
* @param opts.cwd directory of ioBroker
|
|
77
|
+
* @param opts.haltFile halt file of the jobs: the emergency stop stops this command too
|
|
78
|
+
* @param opts.logFile log of the runner
|
|
79
|
+
* @param opts.file local package (tgz) instead of npm
|
|
80
|
+
*/
|
|
81
|
+
async function startAdapterCommand(paths, command, step, opts) {
|
|
82
|
+
const runner = {
|
|
83
|
+
mode: 'apply',
|
|
84
|
+
steps: [step],
|
|
85
|
+
...(opts.file ? { files: { [step.adapter]: opts.file } } : {}),
|
|
86
|
+
iobroker: opts.iobrokerJs,
|
|
87
|
+
cwd: opts.cwd,
|
|
88
|
+
haltFile: opts.haltFile,
|
|
89
|
+
logFile: opts.logFile,
|
|
90
|
+
phase: 'start',
|
|
91
|
+
};
|
|
92
|
+
await (0, util_1.writeJsonAtomic)(paths.command, command);
|
|
93
|
+
await (0, util_1.writeJsonAtomic)(paths.runner, runner);
|
|
94
|
+
const child = (0, node_child_process_1.spawn)(process.execPath, [(0, node_path_1.join)(__dirname, '..', 'runner.js'), paths.runner], {
|
|
95
|
+
detached: true,
|
|
96
|
+
stdio: 'ignore',
|
|
97
|
+
cwd: opts.cwd,
|
|
98
|
+
windowsHide: true,
|
|
99
|
+
});
|
|
100
|
+
child.unref();
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* State of the command from its files
|
|
104
|
+
*
|
|
105
|
+
* @param paths see adapterCommandPaths
|
|
106
|
+
* @param now current time, for the timeout
|
|
107
|
+
* @returns undefined without a command, null while it runs, else its outcome
|
|
108
|
+
*/
|
|
109
|
+
async function adapterCommandState(paths, now = Date.now()) {
|
|
110
|
+
const command = await (0, util_1.readJson)(paths.command);
|
|
111
|
+
if (!command) {
|
|
112
|
+
return undefined;
|
|
113
|
+
}
|
|
114
|
+
const runner = await (0, util_1.readJson)(paths.runner);
|
|
115
|
+
const what = command.what ?? `${command.name} ${command.version}`;
|
|
116
|
+
if (runner?.phase === 'done') {
|
|
117
|
+
return { command, state: 'done', message: command.done ?? `${what} installiert` };
|
|
118
|
+
}
|
|
119
|
+
if (runner?.phase === 'failed' || runner?.phase === 'halted') {
|
|
120
|
+
const step = runner.steps[0];
|
|
121
|
+
const reason = runner.phase === 'halted'
|
|
122
|
+
? 'durch Not-Aus angehalten'
|
|
123
|
+
: [runner.error, step?.detail].filter(Boolean).join(': ') || 'fehlgeschlagen';
|
|
124
|
+
return { command, state: 'error', message: `${what}: ${reason}` };
|
|
125
|
+
}
|
|
126
|
+
if (now - command.startedAt > exports.ADAPTER_COMMAND_TIMEOUT) {
|
|
127
|
+
return { command, state: 'error', message: `${what}: keine Rückmeldung des Runners` };
|
|
128
|
+
}
|
|
129
|
+
return null;
|
|
130
|
+
}
|
|
131
|
+
/** Forgets the command once it is answered */
|
|
132
|
+
async function clearAdapterCommand(paths) {
|
|
133
|
+
await (0, promises_1.rm)(paths.command, { force: true });
|
|
134
|
+
}
|
|
135
|
+
//# sourceMappingURL=adapterCommand.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapterCommand.js","sourceRoot":"","sources":["../../src/lib/adapterCommand.ts"],"names":[],"mappings":"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"}
|
package/build/lib/commands.js
CHANGED
|
@@ -18,14 +18,15 @@ const util_1 = require("./util");
|
|
|
18
18
|
exports.REBOOT_REQUIRED = '/var/run/reboot-required';
|
|
19
19
|
/**
|
|
20
20
|
* What this system can do: OS updates need Linux and js-controller 6 (it lists them and runs apt);
|
|
21
|
-
* logs: list and upload log files
|
|
21
|
+
* logs: list and upload log files; adapter: install a version; software: remove an adapter, add or delete
|
|
22
|
+
* an instance
|
|
22
23
|
*/
|
|
23
24
|
function supportedCommands(jsController, platform = process.platform) {
|
|
24
25
|
const commands = ['instance', 'restart'];
|
|
25
26
|
if (platform === 'linux' && jsController && (0, util_1.compareVersions)(jsController, '6.0.0') >= 0) {
|
|
26
27
|
commands.push('osUpgrade');
|
|
27
28
|
}
|
|
28
|
-
commands.push('logs');
|
|
29
|
+
commands.push('logs', 'adapter', 'software');
|
|
29
30
|
return commands;
|
|
30
31
|
}
|
|
31
32
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/lib/commands.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/lib/commands.ts"],"names":[],"mappings":"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"}
|
package/build/lib/logs.js
CHANGED
|
@@ -3,6 +3,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.configFile = configFile;
|
|
7
|
+
exports.readConfig = readConfig;
|
|
6
8
|
exports.logDirs = logDirs;
|
|
7
9
|
exports.validLogName = validLogName;
|
|
8
10
|
exports.listLogFiles = listLogFiles;
|
|
@@ -25,7 +27,38 @@ const protocol_1 = require("./protocol");
|
|
|
25
27
|
/** At most this many files in a list (one per day, older ones compressed) */
|
|
26
28
|
const MAX_FILES = 200;
|
|
27
29
|
/**
|
|
28
|
-
*
|
|
30
|
+
* Path of iobroker.json, found like js-controller does (getConfigFileName): IOBROKER_DATA_DIR, iobroker-data
|
|
31
|
+
* next to node_modules, then the places of a development installation. Not utils.getConfig() of adapter-core:
|
|
32
|
+
* that reads only conf/iobroker.json of js-controller, which a normal installation does not have.
|
|
33
|
+
*
|
|
34
|
+
* @param controllerDir directory of js-controller, e.g. /opt/iobroker/node_modules/iobroker.js-controller
|
|
35
|
+
* @param env environment of the process
|
|
36
|
+
* @returns null if there is none
|
|
37
|
+
*/
|
|
38
|
+
function configFile(controllerDir, env = process.env) {
|
|
39
|
+
const dataDir = env.IOBROKER_DATA_DIR;
|
|
40
|
+
const candidates = [
|
|
41
|
+
...(dataDir ? [(0, node_path_1.join)((0, node_path_1.isAbsolute)(dataDir) ? dataDir : (0, node_path_1.join)(controllerDir, dataDir), 'iobroker.json')] : []),
|
|
42
|
+
(0, node_path_1.join)(controllerDir, '..', '..', 'iobroker-data', 'iobroker.json'),
|
|
43
|
+
(0, node_path_1.join)(controllerDir, 'conf', 'iobroker.json'),
|
|
44
|
+
(0, node_path_1.join)(controllerDir, 'data', 'iobroker.json'),
|
|
45
|
+
];
|
|
46
|
+
return candidates.find(f => (0, node_fs_1.existsSync)(f)) ?? null;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Content of iobroker.json
|
|
50
|
+
*
|
|
51
|
+
* @param controllerDir see configFile
|
|
52
|
+
* @param env see configFile
|
|
53
|
+
* @returns null if there is none; throws if it is not readable
|
|
54
|
+
*/
|
|
55
|
+
function readConfig(controllerDir, env = process.env) {
|
|
56
|
+
const file = configFile(controllerDir, env);
|
|
57
|
+
return file ? JSON.parse((0, node_fs_1.readFileSync)(file, 'utf8')) : null;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Directories of the file transports in iobroker.json (log.transport.*.filename, e.g. "log/iobroker").
|
|
61
|
+
* Without any (no iobroker.json, no file transport) the default of js-controller: log below the root.
|
|
29
62
|
*
|
|
30
63
|
* @param config content of iobroker.json
|
|
31
64
|
* @param root directory of ioBroker, e.g. /opt/iobroker; relative names are below it
|
|
@@ -41,7 +74,7 @@ function logDirs(config, root) {
|
|
|
41
74
|
const dir = filename.includes('/') ? filename.slice(0, filename.lastIndexOf('/')) || '/' : '.';
|
|
42
75
|
dirs.add((0, node_path_1.isAbsolute)(dir) || /^[A-Za-z]:/.test(dir) ? (0, node_path_1.normalize)(dir) : (0, node_path_1.resolve)(root, dir));
|
|
43
76
|
}
|
|
44
|
-
return [...dirs];
|
|
77
|
+
return dirs.size ? [...dirs] : [(0, node_path_1.resolve)(root, 'log')];
|
|
45
78
|
}
|
|
46
79
|
/** A file name the fleet management may ask for: no path, a log or a compressed log */
|
|
47
80
|
function validLogName(name) {
|
|
@@ -52,7 +85,8 @@ function validLogName(name) {
|
|
|
52
85
|
!name.includes('..'));
|
|
53
86
|
}
|
|
54
87
|
/**
|
|
55
|
-
* The log files in these directories, newest first
|
|
88
|
+
* The log files in these directories, newest first. Without symbolic links: iobroker.current.log only
|
|
89
|
+
* points to the file of today.
|
|
56
90
|
*
|
|
57
91
|
* @param dirs see logDirs
|
|
58
92
|
*/
|
|
@@ -71,7 +105,7 @@ async function listLogFiles(dirs) {
|
|
|
71
105
|
continue;
|
|
72
106
|
}
|
|
73
107
|
try {
|
|
74
|
-
const s = await (0, promises_1.
|
|
108
|
+
const s = await (0, promises_1.lstat)((0, node_path_1.join)(dir, name));
|
|
75
109
|
if (s.isFile()) {
|
|
76
110
|
files.set(name, { name, size: s.size, mtime: Math.round(s.mtimeMs) });
|
|
77
111
|
}
|
|
@@ -95,7 +129,7 @@ async function findLogFile(dirs, name) {
|
|
|
95
129
|
}
|
|
96
130
|
for (const dir of dirs) {
|
|
97
131
|
try {
|
|
98
|
-
if ((await (0, promises_1.
|
|
132
|
+
if ((await (0, promises_1.lstat)((0, node_path_1.join)(dir, name))).isFile()) {
|
|
99
133
|
return (0, node_path_1.join)(dir, name);
|
|
100
134
|
}
|
|
101
135
|
}
|
package/build/lib/logs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logs.js","sourceRoot":"","sources":["../../src/lib/logs.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"logs.js","sourceRoot":"","sources":["../../src/lib/logs.ts"],"names":[],"mappings":"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"}
|
package/build/lib/protocol.js
CHANGED
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
* WebSocket to TUNNEL_PATH of the server and carries the connections of the browser (see tunnel.ts).
|
|
21
21
|
*/
|
|
22
22
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
|
-
exports.TERMINAL_JOB_STATES = exports.TUNNEL_PATH = exports.ACCESS_KINDS = exports.MAX_LOG_UPLOAD_BYTES = exports.INSTANCE_ID = exports.MAX_COMMENT_LENGTH = exports.PROTOCOL_VERSION = void 0;
|
|
23
|
+
exports.TERMINAL_JOB_STATES = exports.TUNNEL_PATH = exports.ACCESS_KINDS = exports.MAX_LOG_UPLOAD_BYTES = exports.SOFTWARE_ACTIONS = exports.INSTANCE_ID = exports.MAX_COMMENT_LENGTH = exports.PROTOCOL_VERSION = void 0;
|
|
24
24
|
exports.deviceTopic = deviceTopic;
|
|
25
25
|
exports.controlTopic = controlTopic;
|
|
26
26
|
exports.normalizeComment = normalizeComment;
|
|
@@ -63,6 +63,7 @@ function parseOsPackage(line) {
|
|
|
63
63
|
}
|
|
64
64
|
/** Instance id as the commands accept it, e.g. "javascript.0" */
|
|
65
65
|
exports.INSTANCE_ID = /^[a-z0-9][a-z0-9_-]*\.\d{1,4}$/;
|
|
66
|
+
exports.SOFTWARE_ACTIONS = ['removeAdapter', 'addInstance', 'removeInstance'];
|
|
66
67
|
/** Largest log file the agent uploads, compressed (nginx in front of the server allows 52 MB) */
|
|
67
68
|
exports.MAX_LOG_UPLOAD_BYTES = 50 * 1024 * 1024;
|
|
68
69
|
exports.ACCESS_KINDS = ['admin', 'vis', 'console'];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/lib/protocol.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;;;AAMH,kCAEC;AAED,oCAEC;AASD,4CAWC;AAkHD,wCAMC;AAtJY,QAAA,gBAAgB,GAAG,CAAC,CAAC;AAIlC,SAAgB,WAAW,CAAC,QAAgB,EAAE,QAAgB,EAAE,KAAY;IACxE,OAAO,SAAS,QAAQ,IAAI,QAAQ,IAAI,KAAK,EAAE,CAAC;AACpD,CAAC;AAED,SAAgB,YAAY,CAAC,QAAgB;IACzC,OAAO,SAAS,QAAQ,UAAU,CAAC;AACvC,CAAC;AAED,kFAAkF;AACrE,QAAA,kBAAkB,GAAG,GAAG,CAAC;AAEtC;;;GAGG;AACH,SAAgB,gBAAgB,CAAC,KAAc;IAC3C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,MAAM,CAAC,GAAG,KAAK;SACV,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC;SACzB,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,IAAI,EAAE;SACN,KAAK,CAAC,CAAC,EAAE,0BAAkB,CAAC;SAC5B,IAAI,EAAE,CAAC;IACZ,OAAO,CAAC,IAAI,SAAS,CAAC;AAC1B,CAAC;AA8GD;;;GAGG;AACH,SAAgB,cAAc,CAAC,IAAY;IACvC,MAAM,CAAC,GAAG,uEAAuE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACpG,IAAI,CAAC,CAAC,EAAE,CAAC;QACL,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AAC1E,CAAC;AAED,iEAAiE;AACpD,QAAA,WAAW,GAAG,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/lib/protocol.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;;;AAMH,kCAEC;AAED,oCAEC;AASD,4CAWC;AAkHD,wCAMC;AAtJY,QAAA,gBAAgB,GAAG,CAAC,CAAC;AAIlC,SAAgB,WAAW,CAAC,QAAgB,EAAE,QAAgB,EAAE,KAAY;IACxE,OAAO,SAAS,QAAQ,IAAI,QAAQ,IAAI,KAAK,EAAE,CAAC;AACpD,CAAC;AAED,SAAgB,YAAY,CAAC,QAAgB;IACzC,OAAO,SAAS,QAAQ,UAAU,CAAC;AACvC,CAAC;AAED,kFAAkF;AACrE,QAAA,kBAAkB,GAAG,GAAG,CAAC;AAEtC;;;GAGG;AACH,SAAgB,gBAAgB,CAAC,KAAc;IAC3C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,MAAM,CAAC,GAAG,KAAK;SACV,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC;SACzB,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,IAAI,EAAE;SACN,KAAK,CAAC,CAAC,EAAE,0BAAkB,CAAC;SAC5B,IAAI,EAAE,CAAC;IACZ,OAAO,CAAC,IAAI,SAAS,CAAC;AAC1B,CAAC;AA8GD;;;GAGG;AACH,SAAgB,cAAc,CAAC,IAAY;IACvC,MAAM,CAAC,GAAG,uEAAuE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACpG,IAAI,CAAC,CAAC,EAAE,CAAC;QACL,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AAC1E,CAAC;AAED,iEAAiE;AACpD,QAAA,WAAW,GAAG,gCAAgC,CAAC;AAa/C,QAAA,gBAAgB,GAAqB,CAAC,eAAe,EAAE,aAAa,EAAE,gBAAgB,CAAC,CAAC;AAUrG,iGAAiG;AACpF,QAAA,oBAAoB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAuIxC,QAAA,YAAY,GAAiB,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;AAetE,0DAA0D;AAC7C,QAAA,WAAW,GAAG,SAAS,CAAC;AAyBxB,QAAA,mBAAmB,GAAe,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC"}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validAdapterName = validAdapterName;
|
|
4
|
+
exports.softwareRefusal = softwareRefusal;
|
|
5
|
+
exports.nextInstance = nextInstance;
|
|
6
|
+
exports.softwarePlan = softwarePlan;
|
|
7
|
+
const protocol_1 = require("./protocol");
|
|
8
|
+
/**
|
|
9
|
+
* Command 'software' of the fleet management: remove an adapter, add or delete an instance right away, as
|
|
10
|
+
* admin does it with the CLI. It runs with the detached runner of the command 'adapter' and under its files,
|
|
11
|
+
* so only one of both runs at a time.
|
|
12
|
+
*/
|
|
13
|
+
const ADAPTER_NAME = /^[a-z0-9][a-z0-9_-]*$/;
|
|
14
|
+
/**
|
|
15
|
+
* Whether this can be the name of an adapter
|
|
16
|
+
*
|
|
17
|
+
* @param name from the request
|
|
18
|
+
*/
|
|
19
|
+
function validAdapterName(name) {
|
|
20
|
+
return typeof name === 'string' && ADAPTER_NAME.test(name);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Why the command is refused; null if it may run
|
|
24
|
+
*
|
|
25
|
+
* @param req the request of the server
|
|
26
|
+
* @param ctx see SoftwareContext
|
|
27
|
+
*/
|
|
28
|
+
function softwareRefusal(req, ctx) {
|
|
29
|
+
const r = req;
|
|
30
|
+
if (!r || !protocol_1.SOFTWARE_ACTIONS.includes(r.action)) {
|
|
31
|
+
return `Unbekannte Aktion ${String(r?.action)}`;
|
|
32
|
+
}
|
|
33
|
+
if (!validAdapterName(r.adapter)) {
|
|
34
|
+
return 'Ungültiger Adaptername';
|
|
35
|
+
}
|
|
36
|
+
if (r.adapter === 'js-controller') {
|
|
37
|
+
return 'js-controller ist kein Adapter mit Instanzen';
|
|
38
|
+
}
|
|
39
|
+
const agent = ctx.own.split('.')[0];
|
|
40
|
+
if (r.action === 'removeInstance') {
|
|
41
|
+
const id = r.instance;
|
|
42
|
+
if (typeof id !== 'string' || !protocol_1.INSTANCE_ID.test(id) || !id.startsWith(`${r.adapter}.`)) {
|
|
43
|
+
return `Ungültige Instanz ${String(id)}`;
|
|
44
|
+
}
|
|
45
|
+
if (id === ctx.own) {
|
|
46
|
+
return `${id} löschen trennt die Anlage von der Flottenverwaltung; das geht nur am Gerät`;
|
|
47
|
+
}
|
|
48
|
+
const inst = ctx.instances.find(i => i.id === id);
|
|
49
|
+
if (!inst) {
|
|
50
|
+
return `Instanz ${id} gibt es auf dem Gerät nicht`;
|
|
51
|
+
}
|
|
52
|
+
if (inst.host !== ctx.host) {
|
|
53
|
+
return `Instanz ${id} gehört zum Host ${inst.host}, nicht zu ${ctx.host}`;
|
|
54
|
+
}
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
if (!ctx.adapterObj || ctx.adapterObj.type !== 'adapter') {
|
|
58
|
+
return `${r.adapter} ist nicht installiert`;
|
|
59
|
+
}
|
|
60
|
+
if (r.action === 'removeAdapter') {
|
|
61
|
+
if (r.adapter === agent) {
|
|
62
|
+
return `${agent} entfernen trennt die Anlage von der Flottenverwaltung; das geht nur am Gerät`;
|
|
63
|
+
}
|
|
64
|
+
if (ctx.desired?.mode === 'managed' && ctx.desired.profile?.adapters?.[r.adapter]) {
|
|
65
|
+
// the next job would install it again
|
|
66
|
+
return `${r.adapter} gehört zum Sollprofil der Anlage: über die Version je Anlage entfernen`;
|
|
67
|
+
}
|
|
68
|
+
const foreign = ctx.instances.filter(i => i.host !== ctx.host).map(i => i.id);
|
|
69
|
+
if (foreign.length) {
|
|
70
|
+
return `${r.adapter} hat Instanzen auf anderen Hosts (${foreign.join(', ')}); das geht nur am Gerät`;
|
|
71
|
+
}
|
|
72
|
+
return null;
|
|
73
|
+
}
|
|
74
|
+
// addInstance
|
|
75
|
+
if (r.adapter === agent) {
|
|
76
|
+
return `Eine zweite Instanz von ${agent} ist nicht vorgesehen`;
|
|
77
|
+
}
|
|
78
|
+
const common = ctx.adapterObj.common;
|
|
79
|
+
if (common.singleton && ctx.instances.length) {
|
|
80
|
+
return `${r.adapter} erlaubt nur eine Instanz`;
|
|
81
|
+
}
|
|
82
|
+
if (common.singletonHost && ctx.instances.some(i => i.host === ctx.host)) {
|
|
83
|
+
return `${r.adapter} erlaubt nur eine Instanz je Host`;
|
|
84
|
+
}
|
|
85
|
+
return null;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* The number of the next instance, as js-controller chooses it (the highest one plus one)
|
|
89
|
+
*
|
|
90
|
+
* @param adapter name of the adapter
|
|
91
|
+
* @param instances all instances of the adapter
|
|
92
|
+
*/
|
|
93
|
+
function nextInstance(adapter, instances) {
|
|
94
|
+
let max = -1;
|
|
95
|
+
for (const i of instances) {
|
|
96
|
+
const n = parseInt(i.id.slice(adapter.length + 1), 10);
|
|
97
|
+
if (i.id.startsWith(`${adapter}.`) && n > max) {
|
|
98
|
+
max = n;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
return `${adapter}.${max + 1}`;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* The step for the runner and the texts of the answers
|
|
105
|
+
*
|
|
106
|
+
* @param req a request without refusal
|
|
107
|
+
* @param ctx see SoftwareContext
|
|
108
|
+
*/
|
|
109
|
+
function softwarePlan(req, ctx) {
|
|
110
|
+
if (req.action === 'removeAdapter') {
|
|
111
|
+
const version = ctx.adapterObj?.common?.version;
|
|
112
|
+
return {
|
|
113
|
+
step: { action: 'remove', adapter: req.adapter, from: version ?? null, to: null, status: 'pending' },
|
|
114
|
+
running: `${req.adapter} wird mit allen Instanzen entfernt`,
|
|
115
|
+
what: req.adapter,
|
|
116
|
+
done: `${req.adapter} entfernt`,
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
if (req.action === 'addInstance') {
|
|
120
|
+
const id = nextInstance(req.adapter, ctx.instances);
|
|
121
|
+
return {
|
|
122
|
+
step: { action: 'addInstance', adapter: req.adapter, instance: id, status: 'pending' },
|
|
123
|
+
running: `Instanz ${id} wird angelegt`,
|
|
124
|
+
what: id,
|
|
125
|
+
done: `Instanz ${id} angelegt`,
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
return {
|
|
129
|
+
step: { action: 'removeInstance', adapter: req.adapter, instance: req.instance, status: 'pending' },
|
|
130
|
+
running: `Instanz ${req.instance} wird gelöscht`,
|
|
131
|
+
what: req.instance,
|
|
132
|
+
done: `Instanz ${req.instance} gelöscht`,
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
//# sourceMappingURL=softwareCommand.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"softwareCommand.js","sourceRoot":"","sources":["../../src/lib/softwareCommand.ts"],"names":[],"mappings":"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"}
|
package/build/main.js
CHANGED
|
@@ -57,6 +57,8 @@ const remote_1 = require("./lib/remote");
|
|
|
57
57
|
const transport_1 = require("./lib/transport");
|
|
58
58
|
const tunnel_1 = require("./lib/tunnel");
|
|
59
59
|
const util_1 = require("./lib/util");
|
|
60
|
+
const adapterCommand_1 = require("./lib/adapterCommand");
|
|
61
|
+
const softwareCommand_1 = require("./lib/softwareCommand");
|
|
60
62
|
/** Host of the broker for the status, e.g. "bee.iobroker.click" */
|
|
61
63
|
function hostOf(url) {
|
|
62
64
|
try {
|
|
@@ -85,6 +87,8 @@ class BeeAdapter extends utils.Adapter {
|
|
|
85
87
|
reconciling = false;
|
|
86
88
|
/** A command of the fleet management is being carried out (one at a time) */
|
|
87
89
|
commandRunning = false;
|
|
90
|
+
/** Waits for the runner of the command 'adapter' (also one started before a restart of the agent) */
|
|
91
|
+
adapterWaiting = false;
|
|
88
92
|
logUploading = false;
|
|
89
93
|
lastWaitReason = '';
|
|
90
94
|
unloading = false;
|
|
@@ -250,6 +254,8 @@ class BeeAdapter extends utils.Adapter {
|
|
|
250
254
|
else if (this.persisted.lastResult) {
|
|
251
255
|
await this.transport?.publish('result', this.persisted.lastResult);
|
|
252
256
|
}
|
|
257
|
+
// an adapter installed on request, e.g. the agent itself: the answer comes from the new process
|
|
258
|
+
void this.waitAdapterCommand();
|
|
253
259
|
}
|
|
254
260
|
async onDesired(msg) {
|
|
255
261
|
this.desired = msg;
|
|
@@ -282,7 +288,12 @@ class BeeAdapter extends utils.Adapter {
|
|
|
282
288
|
else if (msg.cmd === 'tunnel' && msg.tunnel) {
|
|
283
289
|
await this.openTunnel(msg.tunnel, false);
|
|
284
290
|
}
|
|
285
|
-
else if (msg.ref &&
|
|
291
|
+
else if (msg.ref &&
|
|
292
|
+
(msg.cmd === 'instance' ||
|
|
293
|
+
msg.cmd === 'restart' ||
|
|
294
|
+
msg.cmd === 'osUpgrade' ||
|
|
295
|
+
msg.cmd === 'adapter' ||
|
|
296
|
+
msg.cmd === 'software')) {
|
|
286
297
|
await this.runCommand(msg);
|
|
287
298
|
}
|
|
288
299
|
else if (msg.ref && msg.cmd === 'logList') {
|
|
@@ -310,17 +321,18 @@ class BeeAdapter extends utils.Adapter {
|
|
|
310
321
|
logDirs() {
|
|
311
322
|
let config = null;
|
|
312
323
|
try {
|
|
313
|
-
config = utils.
|
|
324
|
+
config = (0, logs_1.readConfig)(utils.controllerDir);
|
|
314
325
|
}
|
|
315
326
|
catch (e) {
|
|
316
|
-
this.log.
|
|
327
|
+
this.log.warn(`iobroker.json not readable: ${e.message}`);
|
|
317
328
|
}
|
|
318
329
|
return (0, logs_1.logDirs)(config, (0, node_path_1.join)(utils.controllerDir, '..', '..'));
|
|
319
330
|
}
|
|
320
331
|
async logListCommand(ref) {
|
|
321
332
|
try {
|
|
322
|
-
const
|
|
323
|
-
await
|
|
333
|
+
const dirs = this.logDirs();
|
|
334
|
+
const files = await (0, logs_1.listLogFiles)(dirs);
|
|
335
|
+
await this.reply(ref, 'done', `${files.length} Log-Dateien in ${dirs.join(', ')}`, files);
|
|
324
336
|
}
|
|
325
337
|
catch (e) {
|
|
326
338
|
await this.reply(ref, 'error', e.message);
|
|
@@ -369,7 +381,7 @@ class BeeAdapter extends utils.Adapter {
|
|
|
369
381
|
await this.reply(ref, 'error', 'Während eines Auftrags (Update) nicht möglich');
|
|
370
382
|
return;
|
|
371
383
|
}
|
|
372
|
-
if (this.commandRunning) {
|
|
384
|
+
if (this.commandRunning || (await (0, adapterCommand_1.adapterCommandState)((0, adapterCommand_1.adapterCommandPaths)(this.dataDir))) === null) {
|
|
373
385
|
await this.reply(ref, 'error', 'Es läuft schon ein Befehl');
|
|
374
386
|
return;
|
|
375
387
|
}
|
|
@@ -387,6 +399,12 @@ class BeeAdapter extends utils.Adapter {
|
|
|
387
399
|
else if (msg.cmd === 'osUpgrade') {
|
|
388
400
|
await this.osUpgradeCommand(ref, by, msg.osUpgrade);
|
|
389
401
|
}
|
|
402
|
+
else if (msg.cmd === 'adapter') {
|
|
403
|
+
await this.adapterCommand(ref, by, msg.adapter);
|
|
404
|
+
}
|
|
405
|
+
else if (msg.cmd === 'software') {
|
|
406
|
+
await this.softwareCommand(ref, by, msg.software);
|
|
407
|
+
}
|
|
390
408
|
}
|
|
391
409
|
catch (e) {
|
|
392
410
|
this.log.warn(`Command ${msg.cmd} of ${by} failed: ${e.message}`);
|
|
@@ -419,6 +437,114 @@ class BeeAdapter extends utils.Adapter {
|
|
|
419
437
|
this.inventorySoon();
|
|
420
438
|
}
|
|
421
439
|
}
|
|
440
|
+
/** Installs one version of one adapter right away, for an asset without desired profile */
|
|
441
|
+
async adapterCommand(ref, by, req) {
|
|
442
|
+
const refusal = (0, adapterCommand_1.adapterRefusal)(req, this.desired);
|
|
443
|
+
if (refusal || !req) {
|
|
444
|
+
await this.reply(ref, 'error', refusal || 'Adapter fehlt');
|
|
445
|
+
return;
|
|
446
|
+
}
|
|
447
|
+
const obj = await this.getForeignObjectAsync(`system.adapter.${req.name}`);
|
|
448
|
+
const installed = typeof obj?.common?.version === 'string' ? obj.common.version : undefined;
|
|
449
|
+
let file;
|
|
450
|
+
if (req.tarball) {
|
|
451
|
+
await this.reply(ref, 'running', `Paket für ${req.name} wird geladen`);
|
|
452
|
+
file = await (0, packages_1.ensurePackage)((0, node_path_1.join)(this.dataDir, 'packages'), req.tarball, {
|
|
453
|
+
serverUrls: [this.config.enrollUrl, this.creds?.mqttUrl || ''],
|
|
454
|
+
ca: (0, transport_1.trustedCas)(this.creds?.ca || ''),
|
|
455
|
+
});
|
|
456
|
+
}
|
|
457
|
+
const step = (0, adapterCommand_1.adapterStep)(req.name, req.version, installed, !!file);
|
|
458
|
+
if (!step) {
|
|
459
|
+
await this.reply(ref, 'done', `${req.name} ${req.version} ist schon installiert`);
|
|
460
|
+
return;
|
|
461
|
+
}
|
|
462
|
+
this.log.info(`Adapter ${req.name}: ${step.action} ${installed ?? '-'} -> ${req.version} on request of ${by} (fleet management)`);
|
|
463
|
+
await (0, adapterCommand_1.startAdapterCommand)((0, adapterCommand_1.adapterCommandPaths)(this.dataDir), { ref, by, name: req.name, version: req.version, startedAt: Date.now() }, step, {
|
|
464
|
+
iobrokerJs: (0, node_path_1.join)(utils.controllerDir, 'iobroker.js'),
|
|
465
|
+
cwd: (0, node_path_1.join)(utils.controllerDir, '..', '..'),
|
|
466
|
+
haltFile: (0, node_path_1.join)(this.dataDir, 'halt'),
|
|
467
|
+
logFile: (0, node_path_1.join)(this.dataDir, 'runner.log'),
|
|
468
|
+
file,
|
|
469
|
+
});
|
|
470
|
+
await this.reply(ref, 'running', installed
|
|
471
|
+
? `${req.name} ${installed} → ${req.version} wird installiert`
|
|
472
|
+
: `${req.name} ${req.version} wird installiert`);
|
|
473
|
+
await this.waitAdapterCommand();
|
|
474
|
+
}
|
|
475
|
+
/** All instances of an adapter with their host */
|
|
476
|
+
async instancesWithHost(adapter) {
|
|
477
|
+
const prefix = `system.adapter.${adapter}.`;
|
|
478
|
+
const res = await this.getObjectViewAsync('system', 'instance', { startkey: prefix, endkey: `${prefix}香` });
|
|
479
|
+
return res.rows
|
|
480
|
+
.filter(row => row.value)
|
|
481
|
+
.map(row => ({ id: row.value._id.replace('system.adapter.', ''), host: String(row.value.common.host) }));
|
|
482
|
+
}
|
|
483
|
+
/** Removes an adapter, adds or deletes an instance right away, with the runner of the command 'adapter' */
|
|
484
|
+
async softwareCommand(ref, by, req) {
|
|
485
|
+
const adapter = (0, softwareCommand_1.validAdapterName)(req?.adapter) ? req.adapter : null;
|
|
486
|
+
const ctx = {
|
|
487
|
+
own: this.namespace,
|
|
488
|
+
host: this.host || '',
|
|
489
|
+
desired: this.desired,
|
|
490
|
+
adapterObj: adapter ? await this.getForeignObjectAsync(`system.adapter.${adapter}`) : null,
|
|
491
|
+
instances: adapter ? await this.instancesWithHost(adapter) : [],
|
|
492
|
+
};
|
|
493
|
+
const refusal = (0, softwareCommand_1.softwareRefusal)(req, ctx);
|
|
494
|
+
if (refusal || !req) {
|
|
495
|
+
await this.reply(ref, 'error', refusal || 'Anfrage fehlt');
|
|
496
|
+
return;
|
|
497
|
+
}
|
|
498
|
+
const plan = (0, softwareCommand_1.softwarePlan)(req, ctx);
|
|
499
|
+
this.log.info(`Software ${req.action} ${plan.what} on request of ${by} (fleet management)`);
|
|
500
|
+
await (0, adapterCommand_1.startAdapterCommand)((0, adapterCommand_1.adapterCommandPaths)(this.dataDir), {
|
|
501
|
+
ref,
|
|
502
|
+
by,
|
|
503
|
+
name: req.adapter,
|
|
504
|
+
version: '',
|
|
505
|
+
what: plan.what,
|
|
506
|
+
done: plan.done,
|
|
507
|
+
startedAt: Date.now(),
|
|
508
|
+
}, plan.step, {
|
|
509
|
+
iobrokerJs: (0, node_path_1.join)(utils.controllerDir, 'iobroker.js'),
|
|
510
|
+
cwd: (0, node_path_1.join)(utils.controllerDir, '..', '..'),
|
|
511
|
+
haltFile: (0, node_path_1.join)(this.dataDir, 'halt'),
|
|
512
|
+
logFile: (0, node_path_1.join)(this.dataDir, 'runner.log'),
|
|
513
|
+
});
|
|
514
|
+
await this.reply(ref, 'running', plan.running);
|
|
515
|
+
await this.waitAdapterCommand();
|
|
516
|
+
}
|
|
517
|
+
/** Waits for the runner of the commands 'adapter' and 'software' and answers the server */
|
|
518
|
+
async waitAdapterCommand() {
|
|
519
|
+
if (this.adapterWaiting || !this.dataDir) {
|
|
520
|
+
return;
|
|
521
|
+
}
|
|
522
|
+
this.adapterWaiting = true;
|
|
523
|
+
const paths = (0, adapterCommand_1.adapterCommandPaths)(this.dataDir);
|
|
524
|
+
try {
|
|
525
|
+
while (!this.unloading) {
|
|
526
|
+
const result = await (0, adapterCommand_1.adapterCommandState)(paths);
|
|
527
|
+
if (result === undefined) {
|
|
528
|
+
return;
|
|
529
|
+
}
|
|
530
|
+
if (result) {
|
|
531
|
+
if (!this.transport?.connected) {
|
|
532
|
+
// answered after the next connect
|
|
533
|
+
return;
|
|
534
|
+
}
|
|
535
|
+
await this.reply(result.command.ref, result.state, result.message);
|
|
536
|
+
this.log[result.state === 'done' ? 'info' : 'warn'](`Adapter command of ${result.command.by}: ${result.message}`);
|
|
537
|
+
await (0, adapterCommand_1.clearAdapterCommand)(paths);
|
|
538
|
+
this.inventorySoon();
|
|
539
|
+
return;
|
|
540
|
+
}
|
|
541
|
+
await (0, util_1.sleep)(2000);
|
|
542
|
+
}
|
|
543
|
+
}
|
|
544
|
+
finally {
|
|
545
|
+
this.adapterWaiting = false;
|
|
546
|
+
}
|
|
547
|
+
}
|
|
422
548
|
/** Upgrade OS packages through js-controller, only those it listed itself */
|
|
423
549
|
async osUpgradeCommand(ref, by, req) {
|
|
424
550
|
const host = `system.host.${this.host}`;
|
|
@@ -786,7 +912,7 @@ class BeeAdapter extends utils.Adapter {
|
|
|
786
912
|
}
|
|
787
913
|
/** Converges on the desired state if possible. Never runs two jobs at once. */
|
|
788
914
|
async reconcile() {
|
|
789
|
-
if (this.reconciling || this.unloading || !this.jobs || this.jobs.isActive()) {
|
|
915
|
+
if (this.reconciling || this.unloading || !this.jobs || this.jobs.isActive() || this.adapterWaiting) {
|
|
790
916
|
return;
|
|
791
917
|
}
|
|
792
918
|
this.reconciling = true;
|
package/build/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
|
package/build/runner.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.cliArgs = cliArgs;
|
|
4
|
+
exports.checkResult = checkResult;
|
|
4
5
|
/**
|
|
5
6
|
* Detached job runner. Started by the adapter as an independent process, it executes the
|
|
6
7
|
* steps of a job with the ioBroker CLI and survives restarts of the adapter, including
|
|
@@ -46,6 +47,11 @@ function cliArgs(step, file) {
|
|
|
46
47
|
return [['upgrade', `${step.adapter}@${step.to}`, '--yes', '--force']];
|
|
47
48
|
case 'remove':
|
|
48
49
|
return [['del', step.adapter]];
|
|
50
|
+
case 'addInstance':
|
|
51
|
+
// with the number: "add" only creates the instance, the adapter is installed already
|
|
52
|
+
return [['add', step.adapter, step.instance.slice(step.adapter.length + 1)]];
|
|
53
|
+
case 'removeInstance':
|
|
54
|
+
return [['del', step.instance]];
|
|
49
55
|
}
|
|
50
56
|
}
|
|
51
57
|
function run(file, args) {
|
|
@@ -91,8 +97,20 @@ function installedVersion(file, adapter) {
|
|
|
91
97
|
return null;
|
|
92
98
|
}
|
|
93
99
|
}
|
|
94
|
-
|
|
95
|
-
|
|
100
|
+
/**
|
|
101
|
+
* Why the step did not do what it should although the CLI ended with 0, or null
|
|
102
|
+
*
|
|
103
|
+
* @param file the runner file
|
|
104
|
+
* @param step the step
|
|
105
|
+
* @param output what the CLI printed
|
|
106
|
+
*/
|
|
107
|
+
function checkResult(file, step, output) {
|
|
108
|
+
if (step.action === 'removeInstance') {
|
|
109
|
+
// js-controller keeps an instance others depend on, and still ends with 0
|
|
110
|
+
const refused = /Cannot remove instance[^\r\n]*/.exec(output);
|
|
111
|
+
return refused ? refused[0].trim() : null;
|
|
112
|
+
}
|
|
113
|
+
if (step.action === 'backup' || step.action === 'addInstance' || !step.adapter) {
|
|
96
114
|
return null;
|
|
97
115
|
}
|
|
98
116
|
const version = installedVersion(file, step.adapter);
|
|
@@ -141,7 +159,7 @@ async function main(path) {
|
|
|
141
159
|
break;
|
|
142
160
|
}
|
|
143
161
|
}
|
|
144
|
-
const mismatch = result.code === 0 ? checkResult(file, step) : null;
|
|
162
|
+
const mismatch = result.code === 0 ? checkResult(file, step, result.output) : null;
|
|
145
163
|
if (mismatch) {
|
|
146
164
|
(0, node_fs_1.appendFileSync)(file.logFile, `\n[check] ${mismatch}\n`);
|
|
147
165
|
result.code = 1;
|
|
@@ -167,7 +185,7 @@ async function main(path) {
|
|
|
167
185
|
step.detail = tail(result.output);
|
|
168
186
|
file.phase = 'failed';
|
|
169
187
|
file.error = mismatch
|
|
170
|
-
? `${step.action} ${step.adapter}: ${mismatch}`
|
|
188
|
+
? `${step.action} ${step.instance ?? step.adapter}: ${mismatch}`
|
|
171
189
|
: `${step.action}${step.adapter ? ` ${step.adapter}` : ''} fehlgeschlagen (Exit-Code ${result.code})`;
|
|
172
190
|
file.steps.filter(s => s.status === 'pending').forEach(s => (s.status = 'skipped'));
|
|
173
191
|
}
|
package/build/runner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":";;AA8CA,
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":";;AA8CA,0BA4BC;AAuDD,kCAcC;AA/ID;;;;;;;;GAQG;AACH,2DAA2C;AAC3C,qCAAwG;AACxG,yCAAiC;AAsBjC,MAAM,YAAY,GAAG,EAAE,GAAG,MAAM,CAAC;AAEjC,SAAS,IAAI,CAAC,IAAY,EAAE,IAAgB;IACxC,IAAA,uBAAa,EAAC,GAAG,IAAI,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5D,IAAA,oBAAU,EAAC,GAAG,IAAI,MAAM,EAAE,IAAI,CAAC,CAAC;AACpC,CAAC;AAED;;;;;GAKG;AACH,SAAgB,OAAO,CAAC,IAAa,EAAE,IAAa;IAChD,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/E,wEAAwE;QACxE,MAAM,GAAG,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACxC,wFAAwF;QACxF,OAAO,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC5E,CAAC;IACD,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;QAClB,KAAK,QAAQ;YACT,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QACxB,KAAK,MAAM;YACP,gCAAgC;YAChC,OAAO,EAAE,CAAC;QACd,KAAK,SAAS;YACV,gDAAgD;YAChD,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACnD,KAAK,SAAS;YACV,OAAO,CAAC,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;QAChE,KAAK,WAAW;YACZ,OAAO,CAAC,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;QAC3E,KAAK,QAAQ;YACT,OAAO,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,OAAQ,CAAC,CAAC,CAAC;QACpC,KAAK,aAAa;YACd,qFAAqF;YACrF,OAAO,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,OAAQ,EAAE,IAAI,CAAC,QAAS,CAAC,KAAK,CAAC,IAAI,CAAC,OAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACpF,KAAK,gBAAgB;YACjB,OAAO,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,QAAS,CAAC,CAAC,CAAC;IACzC,CAAC;AACL,CAAC;AAED,SAAS,GAAG,CAAC,IAAgB,EAAE,IAAc;IACzC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;QACzB,MAAM,GAAG,GAAa,EAAE,CAAC;QACzB,IAAA,wBAAc,EAAC,IAAI,CAAC,OAAO,EAAE,MAAM,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,cAAc,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC7F,MAAM,KAAK,GAAG,IAAA,0BAAK,EAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,EAAE;YAC5D,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,YAAY,EAAE;YAC/C,WAAW,EAAE,IAAI;SACpB,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,CAAC,CAAS,EAAQ,EAAE;YAC/B,MAAM,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC1B,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACf,IAAA,wBAAc,EAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACvC,CAAC,CAAC;QACF,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC1B,GAAG,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1B,CAAC,EAAE,YAAY,CAAC,CAAC;QACjB,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE;YACrB,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE;YACpB,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;GAGG;AACH,SAAS,gBAAgB,CAAC,IAAgB,EAAE,OAAe;IACvD,IAAI,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAClB,IAAA,sBAAY,EAAC,IAAA,gBAAI,EAAC,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,YAAY,OAAO,EAAE,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAC9F,CAAC;QACF,OAAO,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IAChE,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,IAAI,CAAC;IAChB,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,WAAW,CAAC,IAAgB,EAAE,IAAa,EAAE,MAAc;IACvE,IAAI,IAAI,CAAC,MAAM,KAAK,gBAAgB,EAAE,CAAC;QACnC,0EAA0E;QAC1E,MAAM,OAAO,GAAG,gCAAgC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9D,OAAO,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9C,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,aAAa,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAC7E,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACrD,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC3B,OAAO,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,6CAA6C,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IACnG,CAAC;IACD,OAAO,OAAO,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB,OAAO,IAAI,QAAQ,UAAU,IAAI,CAAC,EAAE,EAAE,CAAC;AAClG,CAAC;AAED,SAAS,IAAI,CAAC,IAAY,EAAE,KAAK,GAAG,CAAC;IACjC,OAAO,IAAI;SACN,KAAK,CAAC,OAAO,CAAC;SACd,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SAClB,MAAM,CAAC,OAAO,CAAC;SACf,KAAK,CAAC,CAAC,KAAK,CAAC;SACb,IAAI,CAAC,KAAK,CAAC;SACX,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACvB,CAAC;AAED,KAAK,UAAU,IAAI,CAAC,IAAY;IAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,sBAAY,EAAC,IAAI,EAAE,MAAM,CAAC,CAAe,CAAC;IAClE,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IACvB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;IACvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC5B,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAEjB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC5B,SAAS;QACb,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAA,oBAAU,EAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjF,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;YACtB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;YACpF,MAAM;QACV,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YACzB,0FAA0F;YAC1F,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;YACpB,MAAM;QACV,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACjB,IAAI,MAAM,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QACrC,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;YACtF,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAChC,MAAM,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;YAC5D,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBACf,MAAM;YACV,CAAC;QACL,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACnF,IAAI,QAAQ,EAAE,CAAC;YACX,IAAA,wBAAc,EAAC,IAAI,CAAC,OAAO,EAAE,aAAa,QAAQ,IAAI,CAAC,CAAC;YACxD,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;YAChB,MAAM,CAAC,MAAM,IAAI,KAAK,QAAQ,EAAE,CAAC;QACrC,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC3B,MAAM,CAAC,GAAG,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACvD,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC1C,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBACd,IAAI,CAAC;wBACD,IAAI,CAAC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC,IAAA,kBAAQ,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;oBAChG,CAAC;oBAAC,MAAM,CAAC;wBACL,eAAe;oBACnB,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;YACtB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAClC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;YACtB,IAAI,CAAC,KAAK,GAAG,QAAQ;gBACjB,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE;gBAChE,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,8BAA8B,MAAM,CAAC,IAAI,GAAG,CAAC;YAC1G,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;QACxF,CAAC;QACD,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACjB,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC1B,MAAM;QACV,CAAC;IACL,CAAC;IACD,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC3B,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;IACxB,CAAC;IACD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACrB,CAAC;AAED,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;IAC1B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7B,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;QACjB,IAAI,CAAC;YACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,sBAAY,EAAC,IAAI,EAAE,MAAM,CAAC,CAAe,CAAC;YAClE,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;YACtB,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,CAAC,OAAO,EAAE,CAAC;YACpC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7B,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACrB,CAAC;QAAC,MAAM,CAAC;YACL,4BAA4B;QAChC,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC,CAAC,CAAC;AACP,CAAC"}
|
package/io-package.json
CHANGED
|
@@ -1,8 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"common": {
|
|
3
3
|
"name": "bee",
|
|
4
|
-
"version": "0.2.
|
|
4
|
+
"version": "0.2.7",
|
|
5
5
|
"news": {
|
|
6
|
+
"0.2.7": {
|
|
7
|
+
"en": "Command software: removes an adapter, adds or deletes an instance right away on request of the fleet management; the desired state can carry the mode free (without profile), shown in info.mode",
|
|
8
|
+
"de": "Befehl software: entfernt einen Adapter, legt eine Instanz an oder löscht sie, sofort auf Anforderung der Flottenverwaltung; der Sollzustand kann den Modus free (ohne Profil) tragen, sichtbar in info.mode"
|
|
9
|
+
},
|
|
10
|
+
"0.2.6": {
|
|
11
|
+
"en": "Installs a version of an adapter right away on an asset without desired profile, like from admin; the list of log files was empty on normal installations, the agent now finds iobroker.json in iobroker-data as js-controller does",
|
|
12
|
+
"de": "Installiert eine Version eines Adapters sofort auf einer Anlage ohne Sollprofil, wie aus admin heraus; die Liste der Log-Dateien war auf normalen Installationen leer, der Agent findet iobroker.json jetzt wie js-controller in iobroker-data"
|
|
13
|
+
},
|
|
6
14
|
"0.2.5": {
|
|
7
15
|
"en": "Log files of ioBroker for the fleet management: lists them and uploads one compressed on request",
|
|
8
16
|
"de": "Log-Dateien von ioBroker für die Flottenverwaltung: listet sie auf und überträgt auf Anforderung eine davon komprimiert"
|
|
@@ -250,8 +258,8 @@
|
|
|
250
258
|
"common": {
|
|
251
259
|
"role": "text",
|
|
252
260
|
"name": {
|
|
253
|
-
"en": "Mode (managed or
|
|
254
|
-
"de": "Modus (verwaltet oder
|
|
261
|
+
"en": "Mode (managed, self or free: without profile)",
|
|
262
|
+
"de": "Modus (verwaltet, eigenverantwortlich oder free: ohne Profil)"
|
|
255
263
|
},
|
|
256
264
|
"type": "string",
|
|
257
265
|
"read": true,
|
package/package.json
CHANGED