matterbridge-eve-motion 2.0.11 → 3.0.0

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 CHANGED
@@ -9,9 +9,11 @@
9
9
  ![Node.js CI](https://github.com/Luligu/matterbridge-eve-motion/actions/workflows/build.yml/badge.svg)
10
10
  ![CodeQL](https://github.com/Luligu/matterbridge-eve-motion/actions/workflows/codeql.yml/badge.svg)
11
11
  [![codecov](https://codecov.io/gh/Luligu/matterbridge-eve-motion/branch/main/graph/badge.svg)](https://codecov.io/gh/Luligu/mmatterbridge-eve-motion)
12
- [![styled with prettier](https://img.shields.io/badge/styled_with-Prettier-f8bc45.svg?logo=prettier)](https://prettier.io/)
13
- [![linted with eslint](https://img.shields.io/badge/linted_with-ES_Lint-4B32C3.svg?logo=eslint)](https://eslint.org/)
12
+ [![tested with Vitest](https://img.shields.io/badge/tested_with-Vitest-6E9F18.svg?logo=vitest&logoColor=white)](https://vitest.dev)
13
+ [![styled with Oxc](https://img.shields.io/badge/styled_with-Oxc-9BE4E0.svg?logo=oxc&logoColor=white)](https://oxc.rs/docs/guide/usage/formatter.html)
14
+ [![linted with Oxc](https://img.shields.io/badge/linted_with-Oxc-9BE4E0.svg?logo=oxc&logoColor=white)](https://oxc.rs/docs/guide/usage/linter.html)
14
15
  [![TypeScript](https://img.shields.io/badge/TypeScript-3178C6?logo=typescript&logoColor=white)](https://www.typescriptlang.org/)
16
+ [![TypeScript Native](https://img.shields.io/badge/TypeScript_Native-3178C6?logo=typescript&logoColor=white)](https://github.com/microsoft/typescript-go)
15
17
  [![ESM](https://img.shields.io/badge/ESM-Node.js-339933?logo=node.js&logoColor=white)](https://nodejs.org/)
16
18
  [![matterbridge.io](https://img.shields.io/badge/matterbridge.io-online-brightgreen)](https://matterbridge.io)
17
19
 
@@ -28,6 +30,26 @@ If you like this project and find it useful, please consider giving it a star on
28
30
 
29
31
  <a href="https://www.buymeacoffee.com/luligugithub"><img src="https://matterbridge.io/assets/bmc-button.svg" alt="Buy me a coffee" width="120"></a>
30
32
 
33
+ ## [3.0.0] - Dev branch
34
+
35
+ ### Breaking changes
36
+
37
+ - [matterbridge]: Require matterbridge v.3.9.0 with matter v.1.5.1 and matter.js v.0.17.1.
38
+
39
+ ### Changed
40
+
41
+ - [package]: Update dependencies.
42
+ - [package]: Bump package to `automator` v.3.1.12.
43
+ - [workflow]: Bump `.github\workflows\build.yml` config to v.2.0.4.
44
+ - [workflow]: Bump `.github\workflows\codecov.yml` config to v.2.0.5.
45
+ - [workflow]: Bump `.github\workflows\publish.yml` config to v.2.0.4.
46
+ - [oxlint]: Bump `oxlint` config to v.1.0.13.
47
+ - [oxfmt]: Bump `oxfmt` config to v.1.0.3.
48
+ - [devcontainer]: Bump `.devcontainer/devcontainer.json` config to v.1.0.4.
49
+ - [package]: Bump `.vscode/extensions.json` config to v.1.0.4.
50
+
51
+ <a href="https://www.buymeacoffee.com/luligugithub"><img src="https://matterbridge.io/assets/bmc-button.svg" alt="Buy me a coffee" width="80"></a>
52
+
31
53
  ## [2.0.11] - 2026-06-05
32
54
 
33
55
  ### Breaking changes
package/README.md CHANGED
@@ -7,9 +7,11 @@
7
7
  ![Node.js CI](https://github.com/Luligu/matterbridge-eve-motion/actions/workflows/build.yml/badge.svg)
8
8
  ![CodeQL](https://github.com/Luligu/matterbridge-eve-motion/actions/workflows/codeql.yml/badge.svg)
9
9
  [![codecov](https://codecov.io/gh/Luligu/matterbridge-eve-motion/branch/main/graph/badge.svg)](https://codecov.io/gh/Luligu/mmatterbridge-eve-motion)
10
- [![styled with prettier](https://img.shields.io/badge/styled_with-Prettier-f8bc45.svg?logo=prettier)](https://prettier.io/)
11
- [![linted with eslint](https://img.shields.io/badge/linted_with-ES_Lint-4B32C3.svg?logo=eslint)](https://eslint.org/)
10
+ [![tested with Vitest](https://img.shields.io/badge/tested_with-Vitest-6E9F18.svg?logo=vitest&logoColor=white)](https://vitest.dev)
11
+ [![styled with Oxc](https://img.shields.io/badge/styled_with-Oxc-9BE4E0.svg?logo=oxc&logoColor=white)](https://oxc.rs/docs/guide/usage/formatter.html)
12
+ [![linted with Oxc](https://img.shields.io/badge/linted_with-Oxc-9BE4E0.svg?logo=oxc&logoColor=white)](https://oxc.rs/docs/guide/usage/linter.html)
12
13
  [![TypeScript](https://img.shields.io/badge/TypeScript-3178C6?logo=typescript&logoColor=white)](https://www.typescriptlang.org/)
14
+ [![TypeScript Native](https://img.shields.io/badge/TypeScript_Native-3178C6?logo=typescript&logoColor=white)](https://github.com/microsoft/typescript-go)
13
15
  [![ESM](https://img.shields.io/badge/ESM-Node.js-339933?logo=node.js&logoColor=white)](https://nodejs.org/)
14
16
  [![matterbridge.io](https://img.shields.io/badge/matterbridge.io-online-brightgreen)](https://matterbridge.io)
15
17
 
@@ -33,3 +35,19 @@ If you like this project and find it useful, please consider giving it a star on
33
35
  ### Matterbridge
34
36
 
35
37
  See the guidelines on [Matterbridge](https://matterbridge.io) for more information.
38
+
39
+ ## Repository setup
40
+
41
+ > **Note:** This repository uses a new toolchain. It replaces the traditional TypeScript / ESLint / Prettier / Jest stack with a faster, lighter setup.
42
+
43
+ - **No `typescript` package** — replaced by [TypeScript Native](https://github.com/microsoft/typescript-go). The `typescript` package is kept only as a publish-time dependency while tsgo is still in preview.
44
+ - **No ESLint, no Prettier** — replaced by the [oxc](https://oxc.rs) stack: [oxlint](https://oxc.rs/docs/guide/usage/linter.html) for linting and [oxfmt](https://oxc.rs/docs/guide/usage/formatter.html) for formatting.
45
+ - **No Jest** — replaced by [Vitest](https://vitest.dev), which is much faster and natively supports ESM without extra configuration.
46
+ - **Far fewer development dependencies** — the number of installed packages drops from **~600** to **~100**. A clean install is much faster.
47
+ - **Much faster linting and formatting** — oxlint and oxfmt run in a fraction of the time required by the ESLint / Prettier pipeline.
48
+ - **Much faster builds** — tsgo compiles the project in a fraction of the time required by the standard `tsc` build.
49
+ - **Editor support** — use the VS Code extensions for tsgo and oxc to get the same experience in the editor.
50
+
51
+ ## Style guide
52
+
53
+ See also the [Style Guide](./STYLEGUIDE.md) for JSDoc, naming, and logging conventions used in this repository.
package/dist/module.js CHANGED
@@ -12,8 +12,8 @@ export class EveMotionPlatform extends MatterbridgeAccessoryPlatform {
12
12
  occupied = false;
13
13
  constructor(matterbridge, log, config) {
14
14
  super(matterbridge, log, config);
15
- if (this.verifyMatterbridgeVersion === undefined || typeof this.verifyMatterbridgeVersion !== 'function' || !this.verifyMatterbridgeVersion('3.8.0')) {
16
- throw new Error(`This plugin requires Matterbridge version >= "3.8.0". Please update Matterbridge from ${this.matterbridge.matterbridgeVersion} to the latest version in the frontend."`);
15
+ if (typeof this.verifyMatterbridgeVersion !== 'function' || !this.verifyMatterbridgeVersion('3.9.0')) {
16
+ throw new Error(`This plugin requires Matterbridge version >= "3.9.0". Please update Matterbridge from ${this.matterbridge.matterbridgeVersion} to the latest version in the frontend."`);
17
17
  }
18
18
  this.log.info('Initializing platform:', this.config.name);
19
19
  }
@@ -42,18 +42,18 @@ export class EveMotionPlatform extends MatterbridgeAccessoryPlatform {
42
42
  async onConfigure() {
43
43
  await super.onConfigure();
44
44
  this.log.info('onConfigure called');
45
- await this.motion?.setAttribute(OccupancySensing.Cluster.id, 'occupancy', { occupied: false }, this.log);
46
- await this.motion?.setAttribute(IlluminanceMeasurement.Cluster.id, 'measuredValue', Math.round(Math.max(Math.min(10000 * Math.log10(500) + 1, 0xfffe), 0)), this.log);
45
+ await this.motion?.setAttribute(OccupancySensing, 'occupancy', { occupied: false }, this.log);
46
+ await this.motion?.setAttribute(IlluminanceMeasurement, 'measuredValue', Math.round(Math.max(Math.min(10000 * Math.log10(500) + 1, 0xfffe), 0)), this.log);
47
47
  this.interval = setInterval(() => {
48
48
  fireAndForget((async () => {
49
49
  if (!this.motion || !this.history)
50
50
  return;
51
51
  this.occupied = !this.occupied;
52
52
  const lux = this.history.getFakeLevel(0, 1000, 0);
53
- await this.motion.setAttribute(OccupancySensing.Cluster.id, 'occupancy', { occupied: this.occupied }, this.log);
54
- await this.motion.setAttribute(IlluminanceMeasurement.Cluster.id, 'measuredValue', Math.round(Math.max(Math.min(10000 * Math.log10(lux) + 1, 0xfffe), 0)), this.log);
53
+ await this.motion.setAttribute(OccupancySensing, 'occupancy', { occupied: this.occupied }, this.log);
54
+ await this.motion.setAttribute(IlluminanceMeasurement, 'measuredValue', Math.round(Math.max(Math.min(10000 * Math.log10(lux) + 1, 0xfffe), 0)), this.log);
55
55
  this.history.setLastEvent();
56
- this.history.addEntry({ time: this.history.now(), motion: this.occupied === true ? 0 : 1, lux });
56
+ this.history.addEntry({ time: this.history.now(), motion: this.occupied ? 0 : 1, lux });
57
57
  this.log.info(`Set motion to ${this.occupied} and lux to ${lux}`);
58
58
  })(), this.log, 'setInterval');
59
59
  }, 60 * 1000 + 200);
@@ -63,7 +63,7 @@ export class EveMotionPlatform extends MatterbridgeAccessoryPlatform {
63
63
  this.log.info('onShutdown called with reason:', reason ?? 'none');
64
64
  await this.history?.close();
65
65
  clearInterval(this.interval);
66
- if (this.config.unregisterOnShutdown === true)
66
+ if (this.config.unregisterOnShutdown)
67
67
  await this.unregisterAllDevices();
68
68
  }
69
69
  }
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "matterbridge-eve-motion",
3
- "version": "2.0.11",
3
+ "version": "3.0.0",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "matterbridge-eve-motion",
9
- "version": "2.0.11",
9
+ "version": "3.0.0",
10
10
  "license": "Apache-2.0",
11
11
  "dependencies": {
12
12
  "matter-history": "1.2.2",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "matterbridge-eve-motion",
3
- "version": "2.0.11",
3
+ "version": "3.0.0",
4
4
  "description": "Matterbridge eve motion with history",
5
5
  "author": "https://github.com/Luligu",
6
6
  "license": "Apache-2.0",