matterbridge-example-accessory-platform 1.0.12 → 1.0.13
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 +9 -1
- package/dist/platform.d.ts.map +1 -1
- package/dist/platform.js +1 -0
- package/dist/platform.js.map +1 -1
- package/package.json +2 -1
- package/eslint.config.js +0 -78
- package/jest.config.js +0 -29
- package/prettier.config.js +0 -49
- package/yellow-button.png +0 -0
package/README.md
CHANGED
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
[](https://www.npmjs.com/package/matterbridge-example-accessory-platform)
|
|
4
4
|
[](https://www.npmjs.com/package/matterbridge-example-accessory-platform)
|
|
5
|
-
](https://hub.docker.com/r/luligu/matterbridge)
|
|
6
|
+
[](https://hub.docker.com/r/luligu/matterbridge)
|
|
7
|
+

|
|
6
8
|
|
|
7
9
|
[](https://www.npmjs.com/package/matterbridge)
|
|
8
10
|
[](https://www.npmjs.com/package/matter-history)
|
|
@@ -15,4 +17,10 @@ Matterbridge accessory platform example plugin is a template to develop your own
|
|
|
15
17
|
|
|
16
18
|
It exposes a cover device that continuously moves position and shows how to use the command handlers (you can control the device).
|
|
17
19
|
|
|
20
|
+
If you like this project and find it useful, please consider giving it a star on GitHub at https://github.com/Luligu/matterbridge-example-accessory-platform and sponsoring it.
|
|
21
|
+
|
|
22
|
+
## Prerequisites
|
|
23
|
+
|
|
24
|
+
### Matterbridge
|
|
25
|
+
|
|
18
26
|
See the guidelines on [Matterbridge](https://github.com/Luligu/matterbridge/blob/main/README.md) for more information.
|
package/dist/platform.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,6BAA6B,EAAe,cAAc,EAA+B,MAAM,cAAc,CAAC;AACzJ,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,qBAAa,oCAAqC,SAAQ,6BAA6B;IACrF,KAAK,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACtC,aAAa,EAAE,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;gBAE9B,YAAY,EAAE,YAAY,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc;
|
|
1
|
+
{"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,6BAA6B,EAAe,cAAc,EAA+B,MAAM,cAAc,CAAC;AACzJ,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,qBAAa,oCAAqC,SAAQ,6BAA6B;IACrF,KAAK,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACtC,aAAa,EAAE,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;gBAE9B,YAAY,EAAE,YAAY,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc;IAKhE,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM;IAgDvB,WAAW;IA2BX,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM;CAK1C"}
|
package/dist/platform.js
CHANGED
|
@@ -4,6 +4,7 @@ export class ExampleMatterbridgeAccessoryPlatform extends MatterbridgeAccessoryP
|
|
|
4
4
|
coverInterval;
|
|
5
5
|
constructor(matterbridge, log, config) {
|
|
6
6
|
super(matterbridge, log, config);
|
|
7
|
+
this.log.info('Initializing platform:', this.config.name);
|
|
7
8
|
}
|
|
8
9
|
async onStart(reason) {
|
|
9
10
|
this.log.info('onStart called with reason:', reason ?? 'none');
|
package/dist/platform.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,kBAAkB,EAAE,6BAA6B,EAAE,WAAW,EAAkB,cAAc,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGzJ,MAAM,OAAO,oCAAqC,SAAQ,6BAA6B;IACrF,KAAK,CAAiC;IACtC,aAAa,CAA6B;IAE1C,YAAY,YAA0B,EAAE,GAAe,EAAE,MAAsB;QAC7E,KAAK,CAAC,YAAY,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,kBAAkB,EAAE,6BAA6B,EAAE,WAAW,EAAkB,cAAc,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGzJ,MAAM,OAAO,oCAAqC,SAAQ,6BAA6B;IACrF,KAAK,CAAiC;IACtC,aAAa,CAA6B;IAE1C,YAAY,YAA0B,EAAE,GAAe,EAAE,MAAsB;QAC7E,KAAK,CAAC,YAAY,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;QACjC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,wBAAwB,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5D,CAAC;IAEQ,KAAK,CAAC,OAAO,CAAC,MAAe;QACpC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,6BAA6B,EAAE,MAAM,IAAI,MAAM,CAAC,CAAC;QAE/D,IAAI,CAAC,KAAK,GAAG,IAAI,kBAAkB,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;QACjE,IAAI,CAAC,KAAK,CAAC,kCAAkC,EAAE,CAAC;QAChD,IAAI,CAAC,KAAK,CAAC,0CAA0C,CAAC,kBAAkB,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;QACtI,IAAI,CAAC,KAAK,CAAC,wCAAwC,CAAC,KAAK,CAAC,CAAC;QAE3D,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QACtC,IAAI,CAAC,KAAK,CAAC,0CAA0C,EAAE,CAAC;QAExD,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEtC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE;YAC/E,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,wCAAwC,YAAY,EAAE,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,YAAY,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,gCAAgC,EAAE,+BAA+B,EAAE,iBAAiB,EAAE,EAAE,EAAE,EAAE;YAC5J,MAAM,QAAQ,GAAG,gCAAgC,EAAE,QAAQ,EAAE,CAAC;YAC9D,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,SAAS;gBAAE,+BAA+B,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACrG,iBAAiB,CAAC,QAAQ,CAAC;gBACzB,MAAM,EAAE,cAAc,CAAC,cAAc,CAAC,OAAO;gBAC7C,IAAI,EAAE,cAAc,CAAC,cAAc,CAAC,OAAO;gBAC3C,IAAI,EAAE,cAAc,CAAC,cAAc,CAAC,OAAO;aAC5C,CAAC,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,4EAA4E,gCAAgC,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC3I,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,2EAA2E,+BAA+B,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;YACzI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,6DAA6D,iBAAiB,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;QACpH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAC1B,oBAAoB,EACpB,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,sBAAsB,EAAE,EAAE,UAAU,EAAE,EAAE,gCAAgC,EAAE,+BAA+B,EAAE,iBAAiB,EAAE,EAAE,EAAE,EAAE;YACtJ,gCAAgC,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC;YACnE,+BAA+B,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC;YAClE,iBAAiB,CAAC,QAAQ,CAAC;gBACzB,MAAM,EAAE,cAAc,CAAC,cAAc,CAAC,OAAO;gBAC7C,IAAI,EAAE,cAAc,CAAC,cAAc,CAAC,OAAO;gBAC3C,IAAI,EAAE,cAAc,CAAC,cAAc,CAAC,OAAO;aAC5C,CAAC,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,uEAAuE,sBAAsB,GAAG,CAAC,CAAC;YAChH,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,oFAAoF,gCAAgC,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;YACnJ,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,mFAAmF,+BAA+B,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;YACjJ,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,qEAAqE,iBAAiB,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5H,CAAC,CACF,CAAC;IACJ,CAAC;IAEQ,KAAK,CAAC,WAAW;QACxB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAEpC,8GAA8G;QAC9G,IAAI,CAAC,KAAK,EAAE,0CAA0C,EAAE,CAAC;QACzD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,wHAAwH,CAAC,CAAC;QAEzI,IAAI,CAAC,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE;YACpC,IAAI,CAAC,IAAI,CAAC,KAAK;gBAAE,OAAO;YACxB,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YAC1E,IAAI,YAAY,IAAI,YAAY,CAAC,4CAA4C,EAAE,CAAC;gBAC9E,IAAI,QAAQ,GAAG,YAAY,CAAC,4CAA4C,EAAE,CAAC;gBAC3E,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,SAAS;oBAAE,OAAO;gBACxD,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAAC;gBAC3B,QAAQ,GAAG,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;gBAC3C,YAAY,CAAC,2CAA2C,CAAC,QAAQ,CAAC,CAAC;gBACnE,YAAY,CAAC,4CAA4C,CAAC,QAAQ,CAAC,CAAC;gBACpE,YAAY,CAAC,6BAA6B,CAAC;oBACzC,MAAM,EAAE,cAAc,CAAC,cAAc,CAAC,OAAO;oBAC7C,IAAI,EAAE,cAAc,CAAC,cAAc,CAAC,OAAO;oBAC3C,IAAI,EAAE,cAAc,CAAC,cAAc,CAAC,OAAO;iBAC5C,CAAC,CAAC;gBACH,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,iCAAiC,QAAQ,EAAE,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;IAChB,CAAC;IAEQ,KAAK,CAAC,UAAU,CAAC,MAAe;QACvC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gCAAgC,EAAE,MAAM,IAAI,MAAM,CAAC,CAAC;QAClE,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAClC,IAAI,IAAI,CAAC,MAAM,CAAC,oBAAoB,KAAK,IAAI;YAAE,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;IACnF,CAAC;CACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "matterbridge-example-accessory-platform",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.13",
|
|
4
4
|
"description": "Matterbridge accessory plugin",
|
|
5
5
|
"author": "https://github.com/Luligu",
|
|
6
6
|
"license": "MIT",
|
|
@@ -37,6 +37,7 @@
|
|
|
37
37
|
"test": "node --experimental-vm-modules node_modules/jest/bin/jest.js --passWithNoTests",
|
|
38
38
|
"test:verbose": "node --experimental-vm-modules node_modules/jest/bin/jest.js --passWithNoTests --verbose",
|
|
39
39
|
"test:watch": "node --experimental-vm-modules node_modules/jest/bin/jest.js --passWithNoTests --watch",
|
|
40
|
+
"test:coverage": "node --experimental-vm-modules node_modules/jest/bin/jest.js --passWithNoTests --coverage",
|
|
40
41
|
"lint": "eslint --max-warnings=0 .",
|
|
41
42
|
"lint:fix": "eslint --fix --max-warnings=0 .",
|
|
42
43
|
"format": "prettier --write \"**/*.{js,jsx,ts,tsx,json,css,md}\"",
|
package/eslint.config.js
DELETED
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
// @ts-check
|
|
2
|
-
|
|
3
|
-
import eslint from '@eslint/js';
|
|
4
|
-
import tseslint from 'typescript-eslint';
|
|
5
|
-
import jesteslint from 'eslint-plugin-jest';
|
|
6
|
-
import eslintPluginPrettier from 'eslint-plugin-prettier/recommended';
|
|
7
|
-
|
|
8
|
-
export default [
|
|
9
|
-
{
|
|
10
|
-
name: 'global ignores',
|
|
11
|
-
ignores: ['dist/', 'build/', 'node_modules/', 'coverage/', 'frontend/'],
|
|
12
|
-
},
|
|
13
|
-
eslint.configs.recommended,
|
|
14
|
-
...tseslint.configs.strict,
|
|
15
|
-
...tseslint.configs.stylistic,
|
|
16
|
-
// ...tseslint.configs.strictTypeChecked,
|
|
17
|
-
// ...tseslint.configs.stylisticTypeChecked,
|
|
18
|
-
eslintPluginPrettier,
|
|
19
|
-
{
|
|
20
|
-
languageOptions: {
|
|
21
|
-
ecmaVersion: 'latest',
|
|
22
|
-
sourceType: 'module',
|
|
23
|
-
/*
|
|
24
|
-
parser: tseslint.parser,
|
|
25
|
-
parserOptions: {
|
|
26
|
-
project: './tsconfig.eslint.json',
|
|
27
|
-
tsconfigRootDir: import.meta.dirname,
|
|
28
|
-
},
|
|
29
|
-
*/
|
|
30
|
-
},
|
|
31
|
-
linterOptions: {
|
|
32
|
-
reportUnusedDisableDirectives: 'warn',
|
|
33
|
-
},
|
|
34
|
-
rules: {
|
|
35
|
-
'no-console': 'warn',
|
|
36
|
-
'no-undef': 'off',
|
|
37
|
-
'spaced-comment': ['error', 'always'],
|
|
38
|
-
'no-useless-constructor': 'off',
|
|
39
|
-
},
|
|
40
|
-
},
|
|
41
|
-
{
|
|
42
|
-
name: 'javascript',
|
|
43
|
-
files: ['**/*.js'],
|
|
44
|
-
// ...tseslint.configs.disableTypeChecked,
|
|
45
|
-
},
|
|
46
|
-
{
|
|
47
|
-
name: 'typescript',
|
|
48
|
-
files: ['**/*.ts'],
|
|
49
|
-
ignores: ['**/__test__/*', '**/*.test.ts', '**/*.spec.ts'],
|
|
50
|
-
languageOptions: {
|
|
51
|
-
ecmaVersion: 'latest',
|
|
52
|
-
sourceType: 'module',
|
|
53
|
-
parser: tseslint.parser,
|
|
54
|
-
parserOptions: {
|
|
55
|
-
project: './tsconfig.json',
|
|
56
|
-
tsconfigRootDir: import.meta.dirname,
|
|
57
|
-
},
|
|
58
|
-
},
|
|
59
|
-
plugins: {
|
|
60
|
-
'@typescript-eslint': tseslint.plugin,
|
|
61
|
-
},
|
|
62
|
-
rules: {
|
|
63
|
-
'@typescript-eslint/no-useless-constructor': 'off',
|
|
64
|
-
},
|
|
65
|
-
},
|
|
66
|
-
{
|
|
67
|
-
name: 'jest',
|
|
68
|
-
files: ['**/__test__/*', '**/*.test.ts', '**/*.spec.ts'],
|
|
69
|
-
// ...tseslint.configs.disableTypeChecked,
|
|
70
|
-
plugins: {
|
|
71
|
-
'@typescript-eslint': tseslint.plugin,
|
|
72
|
-
jest: jesteslint,
|
|
73
|
-
},
|
|
74
|
-
rules: {
|
|
75
|
-
...jesteslint.configs['flat/recommended'].rules,
|
|
76
|
-
},
|
|
77
|
-
},
|
|
78
|
-
];
|
package/jest.config.js
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
// jest.config.js
|
|
2
|
-
/*
|
|
3
|
-
|
|
4
|
-
How to install:
|
|
5
|
-
npm install --save-dev jest ts-jest @types/jest eslint-plugin-jest
|
|
6
|
-
|
|
7
|
-
Add package.json scripts:
|
|
8
|
-
"test": "node --experimental-vm-modules node_modules/jest/bin/jest.js",
|
|
9
|
-
"test:verbose": "node --experimental-vm-modules node_modules/jest/bin/jest.js --verbose",
|
|
10
|
-
"test:watch": "node --experimental-vm-modules node_modules/jest/bin/jest.js --watch",
|
|
11
|
-
|
|
12
|
-
*/
|
|
13
|
-
|
|
14
|
-
export default {
|
|
15
|
-
testEnvironment: 'node',
|
|
16
|
-
extensionsToTreatAsEsm: ['.ts'],
|
|
17
|
-
moduleNameMapper: {
|
|
18
|
-
'^(\\.{1,2}/.*)\\.js$': '$1',
|
|
19
|
-
},
|
|
20
|
-
transform: {
|
|
21
|
-
'^.+\\.ts$': [
|
|
22
|
-
'ts-jest',
|
|
23
|
-
{
|
|
24
|
-
useESM: true,
|
|
25
|
-
},
|
|
26
|
-
],
|
|
27
|
-
},
|
|
28
|
-
transformIgnorePatterns: ['/node_modules/'],
|
|
29
|
-
};
|
package/prettier.config.js
DELETED
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
// @ts-check
|
|
2
|
-
/*
|
|
3
|
-
|
|
4
|
-
prettier.config.js
|
|
5
|
-
|
|
6
|
-
Prettier:
|
|
7
|
-
|
|
8
|
-
How to install:
|
|
9
|
-
npm install --save-dev prettier eslint-config-prettier eslint-plugin-prettier
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
Add package.json scripts:
|
|
13
|
-
*/
|
|
14
|
-
// "format": "prettier --write \"src/**/*.{js,jsx,ts,tsx,json,css,md}\"",
|
|
15
|
-
// "format:check": "prettier --check \"src/**/*.{js,jsx,ts,tsx,json,css,md}\"",
|
|
16
|
-
|
|
17
|
-
/*
|
|
18
|
-
|
|
19
|
-
Add .prettierignore
|
|
20
|
-
|
|
21
|
-
# Ignore artifacts:
|
|
22
|
-
dist
|
|
23
|
-
node_modules
|
|
24
|
-
build
|
|
25
|
-
coverage
|
|
26
|
-
|
|
27
|
-
# Ignore all HTML files:
|
|
28
|
-
*/
|
|
29
|
-
// **/*.html
|
|
30
|
-
|
|
31
|
-
export default {
|
|
32
|
-
printWidth: 180, // default 80
|
|
33
|
-
tabWidth: 2,
|
|
34
|
-
useTabs: false,
|
|
35
|
-
semi: true,
|
|
36
|
-
singleQuote: true, // default false
|
|
37
|
-
quoteProps: 'preserve', // default 'as-needed'
|
|
38
|
-
jsxSingleQuote: false,
|
|
39
|
-
trailingComma: 'all',
|
|
40
|
-
bracketSpacing: true,
|
|
41
|
-
bracketSameLine: false,
|
|
42
|
-
arrowParens: 'always',
|
|
43
|
-
requirePragma: false,
|
|
44
|
-
insertPragma: false,
|
|
45
|
-
proseWrap: 'preserve',
|
|
46
|
-
endOfLine: 'lf',
|
|
47
|
-
embeddedLanguageFormatting: 'off', // default 'auto'
|
|
48
|
-
singleAttributePerLine: false,
|
|
49
|
-
};
|
package/yellow-button.png
DELETED
|
Binary file
|