@iobroker/js-controller-adapter 7.0.3 → 7.0.4-alpha.0-20241116-db3148f4f
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/cjs/lib/adapter/adapter.d.ts +4 -4
- package/build/cjs/lib/adapter/adapter.js +31 -31
- package/build/cjs/lib/adapter/adapter.js.map +3 -3
- package/build/cjs/lib/adapter/log.js.map +2 -2
- package/build/esm/lib/adapter/adapter.d.ts +4 -4
- package/build/esm/lib/adapter/adapter.d.ts.map +1 -1
- package/build/esm/lib/adapter/adapter.js +24 -22
- package/build/esm/lib/adapter/adapter.js.map +1 -1
- package/build/esm/lib/adapter/log.d.ts.map +1 -1
- package/build/esm/lib/adapter/log.js.map +1 -1
- package/build/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +10 -10
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { EventEmitter } from 'node:events';
|
|
2
|
+
import type { CommandResult } from '@alcalzone/pak';
|
|
2
3
|
import { Log } from '../../lib/adapter/log.js';
|
|
3
4
|
import { STATE_QUALITY, type SupportedFeature } from '../../lib/adapter/constants.js';
|
|
4
|
-
import type { AdapterOptions, CalculatePermissionsCallback, CheckGroupCallback, CheckPasswordCallback, CommandsPermissions, GetCertificatesCallback, GetEncryptedConfigCallback, GetUserGroupsOptions,
|
|
5
|
-
import type { CommandResult } from '@alcalzone/pak';
|
|
5
|
+
import type { AdapterOptions, CalculatePermissionsCallback, CheckGroupCallback, CheckPasswordCallback, CommandsPermissions, GetCertificatesCallback, GetCertificatesPromiseReturnType, GetEncryptedConfigCallback, GetUserGroupsOptions, InstallNodeModuleOptions, MaybePromise, NotificationOptions, Pattern, SendToOptions, SendToUserInterfaceClientOptions, StopParameters, TimeoutCallback } from '../../lib/_Types.js';
|
|
6
6
|
/**
|
|
7
7
|
* Here we define dynamically created methods
|
|
8
8
|
*/
|
|
@@ -16,7 +16,7 @@ export interface AdapterClass {
|
|
|
16
16
|
on(event: 'message', listener: ioBroker.MessageHandler): this;
|
|
17
17
|
/** Only emitted for compact instances */
|
|
18
18
|
on(event: 'exit', listener: (exitCode: number, reason: string) => Promise<void> | void): this;
|
|
19
|
-
on(event: 'log', listener: (
|
|
19
|
+
on(event: 'log', listener: (message: ioBroker.LogMessage) => Promise<void> | void): this;
|
|
20
20
|
/**
|
|
21
21
|
* Extend an object and create it if it might not exist
|
|
22
22
|
*
|
|
@@ -373,7 +373,7 @@ export declare class AdapterClass extends EventEmitter {
|
|
|
373
373
|
version?: string;
|
|
374
374
|
/** Stop the adapter only defined in compact, not for external usage */
|
|
375
375
|
protected kill?: () => Promise<void>;
|
|
376
|
-
processLog?: (msg:
|
|
376
|
+
processLog?: (msg: ioBroker.LogMessage) => void;
|
|
377
377
|
/**
|
|
378
378
|
* Start or stop subscribing to log messages
|
|
379
379
|
* The method is only available if logTransporter is active via io-pack or adapter options
|
|
@@ -34,26 +34,26 @@ __export(adapter_exports, {
|
|
|
34
34
|
module.exports = __toCommonJS(adapter_exports);
|
|
35
35
|
var __import_meta_url = typeof document === "undefined" ? new (require("url".replace("", ""))).URL("file:" + __filename).href : document.currentScript && document.currentScript.src || new URL("main.js", document.baseURI).href;
|
|
36
36
|
var import_node_net = __toESM(require("node:net"), 1);
|
|
37
|
-
var import_fs_extra = __toESM(require("fs-extra"), 1);
|
|
38
37
|
var import_node_os = __toESM(require("node:os"), 1);
|
|
39
|
-
var import_jsonwebtoken = __toESM(require("jsonwebtoken"), 1);
|
|
40
38
|
var import_node_events = require("node:events");
|
|
39
|
+
var import_node_path = require("node:path");
|
|
40
|
+
var import_jsonwebtoken = __toESM(require("jsonwebtoken"), 1);
|
|
41
41
|
var import_pidusage = __toESM(require("pidusage"), 1);
|
|
42
42
|
var import_deep_clone = __toESM(require("deep-clone"), 1);
|
|
43
|
-
var import_plugin_base = require("@iobroker/plugin-base");
|
|
44
43
|
var import_semver = __toESM(require("semver"), 1);
|
|
45
|
-
var import_node_path = __toESM(require("node:path"), 1);
|
|
46
|
-
var import_js_controller_common = require("@iobroker/js-controller-common");
|
|
47
|
-
var import_utils = require("../../lib/adapter/utils.js");
|
|
48
44
|
var import_node = __toESM(require("node.extend"), 1);
|
|
49
45
|
var import_yargs = __toESM(require("yargs/yargs"), 1);
|
|
46
|
+
var import_fs_extra = __toESM(require("fs-extra"), 1);
|
|
47
|
+
var url = __toESM(require("node:url"), 1);
|
|
48
|
+
var import_plugin_base = require("@iobroker/plugin-base");
|
|
49
|
+
var import_js_controller_common = require("@iobroker/js-controller-common");
|
|
50
|
+
var import_utils = require("../../lib/adapter/utils.js");
|
|
50
51
|
var import_package = __toESM(require("@iobroker/js-controller-adapter/package.json"), 1);
|
|
51
52
|
var import_log = require("../../lib/adapter/log.js");
|
|
52
53
|
var import_validator = require("./validator.js");
|
|
53
54
|
var import_constants = require("../../lib/adapter/constants.js");
|
|
54
55
|
var import_userInterfaceMessagingController = require("../../lib/adapter/userInterfaceMessagingController.js");
|
|
55
56
|
var import_constants2 = require("@iobroker/js-controller-common-db/constants");
|
|
56
|
-
var url = __toESM(require("node:url"), 1);
|
|
57
57
|
const controllerVersion = import_package.default.version;
|
|
58
58
|
const { FORBIDDEN_CHARS } = import_js_controller_common.tools;
|
|
59
59
|
const thisDir = url.fileURLToPath(new URL(".", __import_meta_url || `file://${__filename}`));
|
|
@@ -591,7 +591,7 @@ class AdapterClass extends import_node_events.EventEmitter {
|
|
|
591
591
|
* ```
|
|
592
592
|
*
|
|
593
593
|
* @param port port number to start the search for free port
|
|
594
|
-
* @param
|
|
594
|
+
* @param host optional hostname for the port search
|
|
595
595
|
* @param callback return result
|
|
596
596
|
* ```js
|
|
597
597
|
* function (port) {}
|
|
@@ -637,18 +637,18 @@ class AdapterClass extends import_node_events.EventEmitter {
|
|
|
637
637
|
}
|
|
638
638
|
}
|
|
639
639
|
/**
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
640
|
+
* Method to check for available Features for adapter development
|
|
641
|
+
*
|
|
642
|
+
* Use it like ...
|
|
643
|
+
* ```js
|
|
644
|
+
* if (adapter.supportsFeature && adapter.supportsFeature('ALIAS')) {
|
|
645
|
+
* ...
|
|
646
|
+
* }
|
|
647
|
+
* ```
|
|
648
|
+
*
|
|
649
|
+
* @param featureName the name of the feature to check
|
|
650
|
+
* @returns true/false if the feature is in the list of supported features
|
|
651
|
+
*/
|
|
652
652
|
supportsFeature(featureName) {
|
|
653
653
|
if (typeof featureName === "string") {
|
|
654
654
|
return this.SUPPORTED_FEATURES.includes(featureName);
|
|
@@ -4159,7 +4159,7 @@ class AdapterClass extends import_node_events.EventEmitter {
|
|
|
4159
4159
|
* }
|
|
4160
4160
|
* ```
|
|
4161
4161
|
*/
|
|
4162
|
-
chmodFile(_adapter,
|
|
4162
|
+
chmodFile(_adapter, path, options, callback) {
|
|
4163
4163
|
if (_adapter === null) {
|
|
4164
4164
|
_adapter = this.name;
|
|
4165
4165
|
}
|
|
@@ -4171,7 +4171,7 @@ class AdapterClass extends import_node_events.EventEmitter {
|
|
|
4171
4171
|
this._logger.info(`${this.namespaceLog} chmodFile not processed because Objects database not connected`);
|
|
4172
4172
|
return import_js_controller_common.tools.maybeCallbackWithError(callback, import_js_controller_common.tools.ERRORS.ERROR_DB_CLOSED);
|
|
4173
4173
|
}
|
|
4174
|
-
this.#objects.chmodFile(_adapter,
|
|
4174
|
+
this.#objects.chmodFile(_adapter, path, options, callback);
|
|
4175
4175
|
}
|
|
4176
4176
|
/**
|
|
4177
4177
|
* Change a file owner
|
|
@@ -4194,7 +4194,7 @@ class AdapterClass extends import_node_events.EventEmitter {
|
|
|
4194
4194
|
* }
|
|
4195
4195
|
* ```
|
|
4196
4196
|
*/
|
|
4197
|
-
chownFile(_adapter,
|
|
4197
|
+
chownFile(_adapter, path, options, callback) {
|
|
4198
4198
|
if (_adapter === null) {
|
|
4199
4199
|
_adapter = this.name;
|
|
4200
4200
|
}
|
|
@@ -4206,7 +4206,7 @@ class AdapterClass extends import_node_events.EventEmitter {
|
|
|
4206
4206
|
this._logger.info(`${this.namespaceLog} chownFile not processed because Objects database not connected`);
|
|
4207
4207
|
return import_js_controller_common.tools.maybeCallbackWithError(callback, import_js_controller_common.tools.ERRORS.ERROR_DB_CLOSED);
|
|
4208
4208
|
}
|
|
4209
|
-
this.#objects.chownFile(_adapter,
|
|
4209
|
+
this.#objects.chownFile(_adapter, path, options, callback);
|
|
4210
4210
|
}
|
|
4211
4211
|
/**
|
|
4212
4212
|
* Read directory from DB.
|
|
@@ -4243,7 +4243,7 @@ class AdapterClass extends import_node_events.EventEmitter {
|
|
|
4243
4243
|
* }
|
|
4244
4244
|
* ```
|
|
4245
4245
|
*/
|
|
4246
|
-
readDir(_adapter,
|
|
4246
|
+
readDir(_adapter, path, options, callback) {
|
|
4247
4247
|
if (_adapter === null) {
|
|
4248
4248
|
_adapter = this.name;
|
|
4249
4249
|
}
|
|
@@ -4253,7 +4253,7 @@ class AdapterClass extends import_node_events.EventEmitter {
|
|
|
4253
4253
|
}
|
|
4254
4254
|
import_validator.Validator.assertCallback(callback, "callback");
|
|
4255
4255
|
import_validator.Validator.assertString(_adapter, "_adapter");
|
|
4256
|
-
import_validator.Validator.assertString(
|
|
4256
|
+
import_validator.Validator.assertString(path, "path");
|
|
4257
4257
|
if (options !== null && options !== void 0) {
|
|
4258
4258
|
import_validator.Validator.assertObject(options, "options");
|
|
4259
4259
|
}
|
|
@@ -4261,7 +4261,7 @@ class AdapterClass extends import_node_events.EventEmitter {
|
|
|
4261
4261
|
this._logger.info(`${this.namespaceLog} readDir not processed because Objects database not connected`);
|
|
4262
4262
|
return import_js_controller_common.tools.maybeCallbackWithError(callback, import_js_controller_common.tools.ERRORS.ERROR_DB_CLOSED);
|
|
4263
4263
|
}
|
|
4264
|
-
this.#objects.readDir(_adapter,
|
|
4264
|
+
this.#objects.readDir(_adapter, path, options, callback);
|
|
4265
4265
|
}
|
|
4266
4266
|
unlink(_adapter, name, options, callback) {
|
|
4267
4267
|
if (_adapter === null) {
|
|
@@ -6760,7 +6760,7 @@ class AdapterClass extends import_node_events.EventEmitter {
|
|
|
6760
6760
|
const uuid = uuidObj.native.uuid;
|
|
6761
6761
|
if (obj?.native?.licenses?.length) {
|
|
6762
6762
|
const now = Date.now();
|
|
6763
|
-
const cert = import_fs_extra.default.readFileSync(import_node_path.
|
|
6763
|
+
const cert = import_fs_extra.default.readFileSync((0, import_node_path.join)(thisDir, "..", "..", "cert", "cloudCert.crt"));
|
|
6764
6764
|
let adapterObj;
|
|
6765
6765
|
if (adapterName) {
|
|
6766
6766
|
try {
|
|
@@ -6983,7 +6983,7 @@ class AdapterClass extends import_node_events.EventEmitter {
|
|
|
6983
6983
|
}
|
|
6984
6984
|
let messages = [];
|
|
6985
6985
|
const ts = this._logger.transports.find((t) => t.name === "NT");
|
|
6986
|
-
ts
|
|
6986
|
+
ts?.on("logged", (info) => {
|
|
6987
6987
|
info.from = this.namespace;
|
|
6988
6988
|
if (this._options.logTransporter && this.logRequired && !this._stopInProgress) {
|
|
6989
6989
|
this.emit("log", info);
|
|
@@ -7226,7 +7226,7 @@ class AdapterClass extends import_node_events.EventEmitter {
|
|
|
7226
7226
|
this._logger.silly(`${this.namespaceLog} ${instance}: logging ${state ? state.val : false}`);
|
|
7227
7227
|
this.logRedirect(state ? !!state.val : false, instance);
|
|
7228
7228
|
} else if (id === `log.system.adapter.${this.namespace}`) {
|
|
7229
|
-
this._options.logTransporter && this.processLog && this.processLog(state);
|
|
7229
|
+
this._options.logTransporter && this.processLog && state && this.processLog(state);
|
|
7230
7230
|
} else if (id === `messagebox.system.adapter.${this.namespace}` && state) {
|
|
7231
7231
|
const obj = state;
|
|
7232
7232
|
if (obj) {
|
|
@@ -7832,7 +7832,7 @@ class AdapterClass extends import_node_events.EventEmitter {
|
|
|
7832
7832
|
this._logger.error(`${this.namespaceLog} Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().`);
|
|
7833
7833
|
}
|
|
7834
7834
|
this._logger.error(`${this.namespaceLog} ${isUnhandledRejection ? "unhandled promise rejection" : "uncaught exception"}: ${err ? err.message : err}`);
|
|
7835
|
-
if (err
|
|
7835
|
+
if (err?.stack) {
|
|
7836
7836
|
this._logger.error(`${this.namespaceLog} ${err.stack}`);
|
|
7837
7837
|
}
|
|
7838
7838
|
if (err) {
|