matterbridge-eve-motion 1.1.0 → 1.2.0-dev.1
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/CHANGELOG.md +12 -0
- package/dist/index.js +0 -7
- package/dist/platform.js +7 -18
- package/npm-shrinkwrap.json +39 -9
- package/package.json +2 -39
- package/dist/index.d.ts +0 -11
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/platform.d.ts +0 -14
- package/dist/platform.d.ts.map +0 -1
- package/dist/platform.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
|
|
5
|
+
## [1.2.0-dev.1] - 2025-02-01
|
|
6
|
+
|
|
7
|
+
### Changed
|
|
8
|
+
|
|
9
|
+
- [package]: Require Matterbridge 2.1.0.
|
|
10
|
+
- [package]: Update package.
|
|
11
|
+
- [package]: Update dependencies.
|
|
12
|
+
|
|
13
|
+
<a href="https://www.buymeacoffee.com/luligugithub">
|
|
14
|
+
<img src="./yellow-button.png" alt="Buy me a coffee" width="120">
|
|
15
|
+
</a>
|
|
16
|
+
|
|
5
17
|
## [1.1.0] - 2024-12-14
|
|
6
18
|
|
|
7
19
|
### Added
|
package/dist/index.js
CHANGED
|
@@ -1,11 +1,4 @@
|
|
|
1
1
|
import { EveMotionPlatform } from './platform.js';
|
|
2
|
-
/**
|
|
3
|
-
* This is the standard interface for MatterBridge plugins.
|
|
4
|
-
* Each plugin should export a default function that follows this signature.
|
|
5
|
-
*
|
|
6
|
-
* @param matterbridge - An instance of MatterBridge
|
|
7
|
-
*/
|
|
8
2
|
export default function initializePlugin(matterbridge, log, config) {
|
|
9
3
|
return new EveMotionPlatform(matterbridge, log, config);
|
|
10
4
|
}
|
|
11
|
-
//# sourceMappingURL=index.js.map
|
package/dist/platform.js
CHANGED
|
@@ -1,44 +1,34 @@
|
|
|
1
|
-
import { IlluminanceMeasurement, OccupancySensing,
|
|
1
|
+
import { IlluminanceMeasurement, OccupancySensing, MatterbridgeAccessoryPlatform, powerSource, MatterbridgeEndpoint, occupancySensor, lightSensor, } from 'matterbridge';
|
|
2
2
|
import { MatterHistory } from 'matter-history';
|
|
3
3
|
export class EveMotionPlatform extends MatterbridgeAccessoryPlatform {
|
|
4
4
|
motion;
|
|
5
5
|
history;
|
|
6
6
|
interval;
|
|
7
|
-
createMutableDevice(definition, options = {}, debug = false) {
|
|
8
|
-
let device;
|
|
9
|
-
if (this.matterbridge.edge === true)
|
|
10
|
-
device = new MatterbridgeEndpoint(definition, options, debug);
|
|
11
|
-
else
|
|
12
|
-
device = new MatterbridgeDevice(definition, options, debug);
|
|
13
|
-
return device;
|
|
14
|
-
}
|
|
15
7
|
constructor(matterbridge, log, config) {
|
|
16
8
|
super(matterbridge, log, config);
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
throw new Error(`This plugin requires Matterbridge version >= "1.6.6". Please update Matterbridge from ${this.matterbridge.matterbridgeVersion} to the latest version in the frontend."`);
|
|
9
|
+
if (this.verifyMatterbridgeVersion === undefined || typeof this.verifyMatterbridgeVersion !== 'function' || !this.verifyMatterbridgeVersion('2.1.0')) {
|
|
10
|
+
throw new Error(`This plugin requires Matterbridge version >= "2.1.0". Please update Matterbridge from ${this.matterbridge.matterbridgeVersion} to the latest version in the frontend."`);
|
|
20
11
|
}
|
|
21
12
|
this.log.info('Initializing platform:', this.config.name);
|
|
22
13
|
}
|
|
23
14
|
async onStart(reason) {
|
|
24
15
|
this.log.info('onStart called with reason:', reason ?? 'none');
|
|
25
|
-
this.history = new MatterHistory(this.log, 'Eve motion', { filePath: this.matterbridge.matterbridgeDirectory
|
|
26
|
-
this.motion =
|
|
16
|
+
this.history = new MatterHistory(this.log, 'Eve motion', { filePath: this.matterbridge.matterbridgeDirectory });
|
|
17
|
+
this.motion = new MatterbridgeEndpoint([occupancySensor, lightSensor, powerSource], { uniqueStorageKey: 'Eve motion' }, this.config.debug);
|
|
27
18
|
this.motion.createDefaultIdentifyClusterServer();
|
|
28
19
|
this.motion.createDefaultBasicInformationClusterServer('Eve motion', '0x85483499', 4874, 'Eve Systems', 89, 'Eve Motion 20EBY9901', 6650, '3.2.1');
|
|
29
20
|
this.motion.createDefaultOccupancySensingClusterServer();
|
|
30
21
|
this.motion.createDefaultIlluminanceMeasurementClusterServer();
|
|
31
22
|
this.motion.createDefaultPowerSourceReplaceableBatteryClusterServer();
|
|
32
|
-
// Add the EveHistory cluster to the device as last cluster!
|
|
33
23
|
this.history.createMotionEveHistoryClusterServer(this.motion, this.log);
|
|
34
24
|
this.history.autoPilot(this.motion);
|
|
35
25
|
await this.registerDevice(this.motion);
|
|
36
26
|
this.motion.addCommandHandler('identify', async ({ request: { identifyTime } }) => {
|
|
37
|
-
this.log.
|
|
27
|
+
this.log.info(`Command identify called identifyTime:${identifyTime}`);
|
|
38
28
|
this.history?.logHistory(false);
|
|
39
29
|
});
|
|
40
30
|
this.motion.addCommandHandler('triggerEffect', async ({ request: { effectIdentifier, effectVariant } }) => {
|
|
41
|
-
this.log.
|
|
31
|
+
this.log.info(`Command triggerEffect called effect ${effectIdentifier} variant ${effectVariant}`);
|
|
42
32
|
this.history?.logHistory(false);
|
|
43
33
|
});
|
|
44
34
|
}
|
|
@@ -68,4 +58,3 @@ export class EveMotionPlatform extends MatterbridgeAccessoryPlatform {
|
|
|
68
58
|
await this.unregisterAllDevices();
|
|
69
59
|
}
|
|
70
60
|
}
|
|
71
|
-
//# sourceMappingURL=platform.js.map
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "matterbridge-eve-motion",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0-dev.1",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "matterbridge-eve-motion",
|
|
9
|
-
"version": "1.
|
|
9
|
+
"version": "1.2.0-dev.1",
|
|
10
10
|
"license": "MIT",
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"matter-history": "1.1.17-dev.
|
|
12
|
+
"matter-history": "1.1.17-dev.8",
|
|
13
13
|
"node-ansi-logger": "3.0.0",
|
|
14
14
|
"node-persist-manager": "1.0.8"
|
|
15
15
|
},
|
|
@@ -18,9 +18,9 @@
|
|
|
18
18
|
}
|
|
19
19
|
},
|
|
20
20
|
"node_modules/matter-history": {
|
|
21
|
-
"version": "1.1.17-dev.
|
|
22
|
-
"resolved": "https://registry.npmjs.org/matter-history/-/matter-history-1.1.17-dev.
|
|
23
|
-
"integrity": "sha512-
|
|
21
|
+
"version": "1.1.17-dev.8",
|
|
22
|
+
"resolved": "https://registry.npmjs.org/matter-history/-/matter-history-1.1.17-dev.8.tgz",
|
|
23
|
+
"integrity": "sha512-r/qr30WlJkLbmFVhF6fbeTPZFaLaznYBZVhZuPPAeCY0Y1FN+YdqKzUd59jAeSMQQZNGmPqOuHnOlrkzczKA1g==",
|
|
24
24
|
"hasShrinkwrap": true,
|
|
25
25
|
"license": "Apache-2.0",
|
|
26
26
|
"dependencies": {
|
|
@@ -71,10 +71,13 @@
|
|
|
71
71
|
}
|
|
72
72
|
},
|
|
73
73
|
"node_modules/node-persist": {
|
|
74
|
-
"version": "4.0.
|
|
75
|
-
"resolved": "https://registry.npmjs.org/node-persist/-/node-persist-4.0.
|
|
76
|
-
"integrity": "sha512-
|
|
74
|
+
"version": "4.0.4",
|
|
75
|
+
"resolved": "https://registry.npmjs.org/node-persist/-/node-persist-4.0.4.tgz",
|
|
76
|
+
"integrity": "sha512-8sPAz/7tw1mCCc8xBG4f0wi+flHkSSgQeX998iQ75Pu27evA6UUWCjSE7xnrYTg2q33oU5leJ061EKPDv6BocQ==",
|
|
77
77
|
"license": "MIT",
|
|
78
|
+
"dependencies": {
|
|
79
|
+
"p-limit": "^3.1.0"
|
|
80
|
+
},
|
|
78
81
|
"engines": {
|
|
79
82
|
"node": ">=10.12.0"
|
|
80
83
|
}
|
|
@@ -94,6 +97,33 @@
|
|
|
94
97
|
"type": "buymeacoffee",
|
|
95
98
|
"url": "https://www.buymeacoffee.com/luligugithub"
|
|
96
99
|
}
|
|
100
|
+
},
|
|
101
|
+
"node_modules/p-limit": {
|
|
102
|
+
"version": "3.1.0",
|
|
103
|
+
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
|
|
104
|
+
"integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
|
|
105
|
+
"license": "MIT",
|
|
106
|
+
"dependencies": {
|
|
107
|
+
"yocto-queue": "^0.1.0"
|
|
108
|
+
},
|
|
109
|
+
"engines": {
|
|
110
|
+
"node": ">=10"
|
|
111
|
+
},
|
|
112
|
+
"funding": {
|
|
113
|
+
"url": "https://github.com/sponsors/sindresorhus"
|
|
114
|
+
}
|
|
115
|
+
},
|
|
116
|
+
"node_modules/yocto-queue": {
|
|
117
|
+
"version": "0.1.0",
|
|
118
|
+
"resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
|
|
119
|
+
"integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
|
|
120
|
+
"license": "MIT",
|
|
121
|
+
"engines": {
|
|
122
|
+
"node": ">=10"
|
|
123
|
+
},
|
|
124
|
+
"funding": {
|
|
125
|
+
"url": "https://github.com/sponsors/sindresorhus"
|
|
126
|
+
}
|
|
97
127
|
}
|
|
98
128
|
}
|
|
99
129
|
}
|
package/package.json
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "matterbridge-eve-motion",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0-dev.1",
|
|
4
4
|
"description": "Matterbridge eve motion with history",
|
|
5
5
|
"author": "https://github.com/Luligu",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"type": "module",
|
|
8
8
|
"main": "dist/index.js",
|
|
9
|
-
"types": "dist/index.d.ts",
|
|
10
9
|
"repository": {
|
|
11
10
|
"type": "git",
|
|
12
11
|
"url": "git+https://github.com/Luligu/matterbridge-eve-motion.git"
|
|
@@ -27,44 +26,8 @@
|
|
|
27
26
|
"engines": {
|
|
28
27
|
"node": ">=18.0.0 <19.0.0 || >=20.0.0 <21.0.0 || >=22.0.0 <23.0.0"
|
|
29
28
|
},
|
|
30
|
-
"scripts": {
|
|
31
|
-
"build": "tsc",
|
|
32
|
-
"watch": "tsc --watch",
|
|
33
|
-
"start": "matterbridge",
|
|
34
|
-
"start:bridge": "matterbridge -bridge",
|
|
35
|
-
"start:childbridge": "matterbridge -childbridge",
|
|
36
|
-
"test": "node --experimental-vm-modules node_modules/jest/bin/jest.js",
|
|
37
|
-
"test:verbose": "node --experimental-vm-modules node_modules/jest/bin/jest.js --verbose",
|
|
38
|
-
"test:watch": "node --experimental-vm-modules node_modules/jest/bin/jest.js --watch",
|
|
39
|
-
"test:coverage": "node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage",
|
|
40
|
-
"lint": "eslint --max-warnings=0 .",
|
|
41
|
-
"lint:fix": "eslint --fix --max-warnings=0 .",
|
|
42
|
-
"format": "prettier --write \"**/*.{js,jsx,ts,tsx,json,css,md}\"",
|
|
43
|
-
"format:check": "prettier --check \"**/*.{js,jsx,ts,tsx,json,css,md}\"",
|
|
44
|
-
"clean": "npx rimraf tsconfig.tsbuildinfo ./dist",
|
|
45
|
-
"cleanBuild": "npm run clean && tsc",
|
|
46
|
-
"deepClean": "npx rimraf tsconfig.tsbuildinfo package-lock.json npm-shrinkwrap.json ./dist ./node_modules",
|
|
47
|
-
"deepCleanBuild": "npm run deepClean && npm install && npm link matterbridge && npm run build",
|
|
48
|
-
"checkDependencies": "npx npm-check-updates",
|
|
49
|
-
"updateDependencies": "npx npm-check-updates -u && npm install && npm link matterbridge && npm run build",
|
|
50
|
-
"prepublishOnly": "npm pkg delete devDependencies && npm install --omit=dev && npm shrinkwrap",
|
|
51
|
-
"buildProduction": "npm run clean && tsc --project tsconfig.production.json",
|
|
52
|
-
"npmPack": "copy package.json package.log && npm run buildProduction && npm pkg delete devDependencies && npm pkg delete scripts && npx rimraf ./node_modules && npm install --omit=dev && npm shrinkwrap && npm pack && copy package.log package.json && npm run deepCleanBuild && npm run deepCleanBuild",
|
|
53
|
-
"npmPublishTagDev": "copy package.json package.log && npm run buildProduction && npm pkg delete devDependencies && npm pkg delete scripts && npx rimraf ./node_modules && npm install --omit=dev && npm shrinkwrap && npm publish --tag dev && copy package.log package.json && npm run deepCleanBuild",
|
|
54
|
-
"npmPublishTagLatest": "copy package.json package.log && npm run buildProduction && npm pkg delete devDependencies && npm pkg delete scripts && npx rimraf ./node_modules && npm install --omit=dev && npm shrinkwrap && npm publish --tag latest && copy package.log package.json && npm run deepCleanBuild",
|
|
55
|
-
"matterbridge:add": "matterbridge -add .\\",
|
|
56
|
-
"matterbridge:remove": "matterbridge -remove .\\",
|
|
57
|
-
"matterbridge:enable": "matterbridge -enable .\\",
|
|
58
|
-
"matterbridge:disable": "matterbridge -disable .\\",
|
|
59
|
-
"matterbridge:list": "matterbridge -list",
|
|
60
|
-
"history:local": "npm install ../matter-history && npm run deepCleanBuild",
|
|
61
|
-
"history:dev": "npm install matter-history@dev && npm run deepCleanBuild",
|
|
62
|
-
"history": "npm install matter-history && npm run deepCleanBuild",
|
|
63
|
-
"dev:link": "npm link matterbridge",
|
|
64
|
-
"dev:unlink": "npm unlink matterbridge"
|
|
65
|
-
},
|
|
66
29
|
"dependencies": {
|
|
67
|
-
"matter-history": "1.1.17-dev.
|
|
30
|
+
"matter-history": "1.1.17-dev.8",
|
|
68
31
|
"node-ansi-logger": "3.0.0",
|
|
69
32
|
"node-persist-manager": "1.0.8"
|
|
70
33
|
}
|
package/dist/index.d.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { Matterbridge, PlatformConfig } from 'matterbridge';
|
|
2
|
-
import { AnsiLogger } from 'matterbridge/logger';
|
|
3
|
-
import { EveMotionPlatform } from './platform.js';
|
|
4
|
-
/**
|
|
5
|
-
* This is the standard interface for MatterBridge plugins.
|
|
6
|
-
* Each plugin should export a default function that follows this signature.
|
|
7
|
-
*
|
|
8
|
-
* @param matterbridge - An instance of MatterBridge
|
|
9
|
-
*/
|
|
10
|
-
export default function initializePlugin(matterbridge: Matterbridge, log: AnsiLogger, config: PlatformConfig): EveMotionPlatform;
|
|
11
|
-
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAElD;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,YAAY,EAAE,YAAY,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,qBAE3G"}
|
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAElD;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,YAA0B,EAAE,GAAe,EAAE,MAAsB;IAC1G,OAAO,IAAI,iBAAiB,CAAC,YAAY,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;AAC1D,CAAC"}
|
package/dist/platform.d.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { PlatformConfig, Matterbridge, MatterbridgeDevice, MatterbridgeAccessoryPlatform, DeviceTypeDefinition, EndpointOptions, AtLeastOne } from 'matterbridge';
|
|
2
|
-
import { MatterHistory } from 'matter-history';
|
|
3
|
-
import { AnsiLogger } from 'matterbridge/logger';
|
|
4
|
-
export declare class EveMotionPlatform extends MatterbridgeAccessoryPlatform {
|
|
5
|
-
motion: MatterbridgeDevice | undefined;
|
|
6
|
-
history: MatterHistory | undefined;
|
|
7
|
-
interval: NodeJS.Timeout | undefined;
|
|
8
|
-
createMutableDevice(definition: DeviceTypeDefinition | AtLeastOne<DeviceTypeDefinition>, options?: EndpointOptions, debug?: boolean): MatterbridgeDevice;
|
|
9
|
-
constructor(matterbridge: Matterbridge, log: AnsiLogger, config: PlatformConfig);
|
|
10
|
-
onStart(reason?: string): Promise<void>;
|
|
11
|
-
onConfigure(): Promise<void>;
|
|
12
|
-
onShutdown(reason?: string): Promise<void>;
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=platform.d.ts.map
|
package/dist/platform.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,cAAc,EACd,YAAY,EACZ,kBAAkB,EAClB,6BAA6B,EAE7B,oBAAoB,EACpB,eAAe,EACf,UAAU,EAIX,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,qBAAa,iBAAkB,SAAQ,6BAA6B;IAClE,MAAM,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACvC,OAAO,EAAE,aAAa,GAAG,SAAS,CAAC;IACnC,QAAQ,EAAE,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;IAErC,mBAAmB,CAAC,UAAU,EAAE,oBAAoB,GAAG,UAAU,CAAC,oBAAoB,CAAC,EAAE,OAAO,GAAE,eAAoB,EAAE,KAAK,UAAQ,GAAG,kBAAkB;gBAO9I,YAAY,EAAE,YAAY,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc;IAahE,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM;IA6BvB,WAAW;IAsBX,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM;CAM1C"}
|
package/dist/platform.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
|