homey-lib 2.15.0 → 2.17.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.
@@ -0,0 +1,51 @@
1
+ name: Test
2
+
3
+ # Optional secrets:
4
+ # - SSH_KEY: if `npm ci` needs to install private npm packages, make sure to enable webfactory/ssh-agent@v0.2.0 step
5
+
6
+ # GitHub repo configuration:
7
+ # 1. If you have protected branches, go to Branches > edit protected branch > enable 'Require status checks to pass before
8
+ # merging' and select the 'Test' status check.
9
+
10
+ # Note: make sure to commit package-lock.json, this is needed for `npm ci`.
11
+
12
+ # Defines the trigger for this action (by default on push to master/production and on all pull requests)
13
+ # For more information see: https://help.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows#about-workflow-events)
14
+ on:
15
+ push:
16
+ branches:
17
+ - master
18
+ - production
19
+ pull_request:
20
+
21
+ jobs:
22
+ test:
23
+ name: Run
24
+ runs-on: ubuntu-latest
25
+
26
+ # Define a strategy for running these tests on various operating systems and Node.js versions in parallel.
27
+ strategy:
28
+ matrix:
29
+ node: [12, 16]
30
+
31
+ steps:
32
+ # Checks out the current repository.
33
+ - uses: actions/checkout@v2
34
+
35
+ # Configures a Node.js environment.
36
+ - uses: actions/setup-node@v1
37
+ with:
38
+ node-version: ${{ matrix.node }} # Important: use the matrix.node property when using a matrix strategy
39
+
40
+ # Set SSH key
41
+ - uses: webfactory/ssh-agent@v0.4.1
42
+ env:
43
+ SSH_KEY: ${{ secrets.SSH_KEY }}
44
+ if: env.SSH_KEY != null
45
+ with:
46
+ ssh-private-key: ${{ env.SSH_KEY }}
47
+
48
+ # Run `npm ci` to re-create your local environment (make sure to commit your package-lock.json!).
49
+ # Finally run `npm test` (make sure you have defined a proper test command in package.json).
50
+ - run: npm ci
51
+ - run: npm test
package/README.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # Homey Library
2
2
 
3
+ [![Test](https://github.com/athombv/node-homey-lib/actions/workflows/test.yml/badge.svg)](https://github.com/athombv/node-homey-lib/actions/workflows/test.yml)
4
+
3
5
  This library contains shared code between Homey, Homey Apps, Athom CLI, Athom Developer and others.
4
6
 
5
7
  This library can, among other things:
@@ -211,9 +211,6 @@
211
211
  "name",
212
212
  "type"
213
213
  ],
214
- "requiredVerified": [
215
- "title"
216
- ],
217
214
  "properties": {
218
215
  "title": {
219
216
  "$ref": "#/definitions/i18nObject"
@@ -253,9 +250,6 @@
253
250
  "name",
254
251
  "type"
255
252
  ],
256
- "requiredVerified": [
257
- "title"
258
- ],
259
253
  "properties": {
260
254
  "title": {
261
255
  "$ref": "#/definitions/i18nObject"
@@ -300,9 +294,6 @@
300
294
  "type",
301
295
  "values"
302
296
  ],
303
- "requiredVerified": [
304
- "title"
305
- ],
306
297
  "properties": {
307
298
  "title": {
308
299
  "$ref": "#/definitions/i18nObject"
@@ -926,15 +917,6 @@
926
917
  "compatibility",
927
918
  "author"
928
919
  ],
929
- "requiredPublish": [
930
- "category",
931
- "images",
932
- "brandColor"
933
- ],
934
- "requiredVerified": [
935
- "platforms",
936
- "support"
937
- ],
938
920
  "properties": {
939
921
  "id": {
940
922
  "type": "string"
@@ -1041,6 +1023,33 @@
1041
1023
  "type": "object",
1042
1024
  "additionalProperties": false,
1043
1025
  "properties": {
1026
+ "githubSponsors": {
1027
+ "type": "object",
1028
+ "additionalProperties": false,
1029
+ "properties": {
1030
+ "username": {
1031
+ "type": "string"
1032
+ }
1033
+ }
1034
+ },
1035
+ "bunq": {
1036
+ "type": "object",
1037
+ "additionalProperties": false,
1038
+ "properties": {
1039
+ "username": {
1040
+ "type": "string"
1041
+ }
1042
+ }
1043
+ },
1044
+ "patreon": {
1045
+ "type": "object",
1046
+ "additionalProperties": false,
1047
+ "properties": {
1048
+ "username": {
1049
+ "type": "string"
1050
+ }
1051
+ }
1052
+ },
1044
1053
  "paypal": {
1045
1054
  "type": "object",
1046
1055
  "additionalProperties": false,
@@ -1090,13 +1099,6 @@
1090
1099
  "class",
1091
1100
  "capabilities"
1092
1101
  ],
1093
- "requiredPublish": [
1094
- "images"
1095
- ],
1096
- "requiredVerified": [
1097
- "platforms",
1098
- "connectivity"
1099
- ],
1100
1102
  "properties": {
1101
1103
  "id": {
1102
1104
  "type": "string"
@@ -23,38 +23,5 @@
23
23
  "da": "Brug denne enhedsklasse til lydforstærkerenheder.",
24
24
  "ru": "Используйте этот класс устройств усилителей звука.",
25
25
  "pl": "Użyj tej klasy urządzeń dla wzmacniaczy audio."
26
- },
27
- "$speechAlternatives": {
28
- "en": [
29
- "amp",
30
- "amplifier",
31
- "tuner"
32
- ],
33
- "nl": [
34
- "versterker"
35
- ],
36
- "fr": [
37
- "amp",
38
- "amplificateur",
39
- "tuner"
40
- ],
41
- "it": [
42
- "amp",
43
- "amplificatore",
44
- "sintonizzatore"
45
- ],
46
- "sv": [
47
- "förstärkare",
48
- "tuner"
49
- ],
50
- "ru": [
51
- "ампер",
52
- "усилитель",
53
- "тюнер"
54
- ],
55
- "pl": [
56
- "wzmacniacz",
57
- "tuner"
58
- ]
59
26
  }
60
27
  }
@@ -23,36 +23,5 @@
23
23
  "da": "Brug denne enhedsklasse til persienner, både vandrette og lodrette.",
24
24
  "ru": "Используйте этот класс устройств для жалюзи: как горизонтальных, так и вертикальных.",
25
25
  "pl": "Użyj tej klasy urządzeń dla rolet (poziomych i pionowych)."
26
- },
27
- "$speechAlternatives": {
28
- "en": [
29
- "blinds"
30
- ],
31
- "nl": [
32
- "lamellen",
33
- "jaloezien",
34
- "luxaflex",
35
- "rolluik",
36
- "rolluiken"
37
- ],
38
- "fr": [
39
- "stores",
40
- "volets"
41
- ],
42
- "it": [
43
- "tapparelle"
44
- ],
45
- "sv": [
46
- "persienner"
47
- ],
48
- "no": [
49
- "persienner"
50
- ],
51
- "ru": [
52
- "жалюзи"
53
- ],
54
- "pl": [
55
- "rolety"
56
- ]
57
26
  }
58
27
  }
@@ -23,37 +23,5 @@
23
23
  "da": "Brug denne enhedsklasse til kaffemaskiner.",
24
24
  "ru": "Используйте этот класс устройств для кофемашин.",
25
25
  "pl": "Użyj tej klasy urządzeń dla ekspresów do kawy."
26
- },
27
- "$speechAlternatives": {
28
- "en": [
29
- "coffee machine",
30
- "coffee machines"
31
- ],
32
- "nl": [
33
- "koffiezetapparaat",
34
- "koffiemachine",
35
- "koffie zet apparaat"
36
- ],
37
- "fr": [
38
- "machine à café",
39
- "cafetière"
40
- ],
41
- "it": [
42
- "macchina per il caffè",
43
- "caffettiera"
44
- ],
45
- "sv": [
46
- "kaffemaskin",
47
- "kaffemaskiner",
48
- "kaffebryggare"
49
- ],
50
- "ru": [
51
- "кофемашина",
52
- "кофемашины"
53
- ],
54
- "pl": [
55
- "ekspres do kawy",
56
- "ekspresy do kawy"
57
- ]
58
26
  }
59
27
  }
@@ -23,39 +23,5 @@
23
23
  "da": "Brug denne enhedsklasse til gardiner.",
24
24
  "ru": "Используйте этот класс устройств для штор.",
25
25
  "pl": "Użyj tej klasy urządzeń dla zasłon."
26
- },
27
- "$speechAlternatives": {
28
- "en": [
29
- "curtains",
30
- "curtain"
31
- ],
32
- "nl": [
33
- "gordijnen",
34
- "gordijn"
35
- ],
36
- "fr": [
37
- "rideaux",
38
- "rideau"
39
- ],
40
- "it": [
41
- "tende",
42
- "tenda"
43
- ],
44
- "sv": [
45
- "gardiner",
46
- "gardin"
47
- ],
48
- "no": [
49
- "gardiner",
50
- "gardin"
51
- ],
52
- "ru": [
53
- "Шторы",
54
- "штора"
55
- ],
56
- "pl": [
57
- "zasłony",
58
- "zasłona"
59
- ]
60
26
  }
61
27
  }
@@ -18,38 +18,5 @@
18
18
  "ru": "Используйте этот класс устройств для дверей гаража, обычно вместе с функцией `garagedoor_closed`.",
19
19
  "pl": "Użyj tej klasy urządzeń dla bram garażowych, zwykle razem ze zdolnością „garagedoor_closed”."
20
20
 
21
- },
22
- "$speechAlternatives": {
23
- "en": [
24
- "garagedoor",
25
- "garage door",
26
- "garage door"
27
- ],
28
- "nl": [
29
- "garagedeur",
30
- "garage deur",
31
- "garage deuren"
32
- ],
33
- "fr": [
34
- "porte de garage"
35
- ],
36
- "it": [
37
- "porta del garage",
38
- "basculante"
39
- ],
40
- "sv": [
41
- "garagedörr",
42
- "garageport"
43
- ],
44
- "ru": [
45
- "дверьгаража",
46
- "дверь гаража",
47
- "дверь гаража"
48
- ],
49
- "pl": [
50
- "bramagarażowa",
51
- "brama garażowa",
52
- "brama garażowa"
53
- ]
54
21
  }
55
22
  }
@@ -23,39 +23,5 @@
23
23
  "da": "Brug denne enhedsklasse til elkedelenheder, der kan opvarme vand.",
24
24
  "ru": "Используйте этот класс устройств для чайников, которые могут нагревать воду.",
25
25
  "pl": "Użyj tej klasy urządzeń dla czajników, które ogrzewają wodę."
26
- },
27
- "$speechAlternatives": {
28
- "en": [
29
- "kettle",
30
- "kettles",
31
- "water cooker"
32
- ],
33
- "nl": [
34
- "ketel",
35
- "waterkoker"
36
- ],
37
- "fr": [
38
- "bouilloire"
39
- ],
40
- "it": [
41
- "bollitore",
42
- "bollitori"
43
- ],
44
- "sv": [
45
- "vattenkokare"
46
- ],
47
- "no": [
48
- "vannkoker"
49
- ],
50
- "ru": [
51
- "чайник",
52
- "чайники",
53
- "кипятильник"
54
- ],
55
- "pl": [
56
- "czajnik",
57
- "czajniki",
58
- "czajnik"
59
- ]
60
26
  }
61
27
  }
@@ -25,41 +25,5 @@
25
25
  "ru": "Используйте этот класс устройств для ламп, обычно вместе с функциями `onoff`,`dim` и `light_ *`.",
26
26
  "pl": "Użyj tej klasy urządzeń dla oświetlenia, zwykle razem ze zdolnościami `onoff`, `dim` oraz `light_*`."
27
27
 
28
- },
29
- "$speechAlternatives": {
30
- "en": [
31
- "light",
32
- "lights",
33
- "lamp"
34
- ],
35
- "nl": [
36
- "licht",
37
- "lichten",
38
- "lamp",
39
- "verlichting"
40
- ],
41
- "fr": [
42
- "lumière",
43
- "lampe",
44
- "lampes"
45
- ],
46
- "it": [
47
- "luce",
48
- "luci",
49
- "lampada"
50
- ],
51
- "sv": [
52
- "ljus",
53
- "lampor",
54
- "lampa"
55
- ],
56
- "ru": [
57
- "лампа",
58
- "лампы"
59
- ],
60
- "pl": [
61
- "oświetlenie",
62
- "lampa"
63
- ]
64
28
  }
65
29
  }
@@ -23,34 +23,5 @@
23
23
  "da": "Brug denne enhedsklasse til låseenheder, normalt sammen med `locked` and `lock_mode` funktionerne.",
24
24
  "ru": "Используйте этот класс устройств для замков, обычно вместе с функциями `locked` и `lock_mode`.",
25
25
  "pl": "Użyj tej klasy urządzeń dla produktów z zamkiem, zwykle razem ze zdolnościami `locked` i `lock_mode`."
26
- },
27
- "$speechAlternatives": {
28
- "en": [
29
- "lock",
30
- "locks"
31
- ],
32
- "nl": [
33
- "slot",
34
- "sloten"
35
- ],
36
- "fr": [
37
- "verrou",
38
- "verrous"
39
- ],
40
- "it": [
41
- "serratura",
42
- "serrature"
43
- ],
44
- "sv": [
45
- "lås"
46
- ],
47
- "ru": [
48
- "замок",
49
- "замки"
50
- ],
51
- "pl": [
52
- "zamek",
53
- "zamki"
54
- ]
55
26
  }
56
27
  }
@@ -45,32 +45,5 @@
45
45
  "sunshade",
46
46
  "blinds",
47
47
  "curtain"
48
- ],
49
- "$speechAlternatives": {
50
- "en": [
51
- "relay",
52
- "relays"
53
- ],
54
- "nl": [
55
- "relais"
56
- ],
57
- "fr": [
58
- "relais"
59
- ],
60
- "it": [
61
- "relé"
62
- ],
63
- "sv": [
64
- "relä",
65
- "relän"
66
- ],
67
- "ru": [
68
- "узел",
69
- "узлы"
70
- ],
71
- "pl": [
72
- "przekaźnik",
73
- "przekaźniki"
74
- ]
75
- }
48
+ ]
76
49
  }
@@ -23,36 +23,5 @@
23
23
  "da": "Brug denne enhedsklasse til sensorer, f-eks en kontakt- eller bevægelsessensor.",
24
24
  "ru": "Используйте этот класс устройства для датчиков, например датчиков контакта или движения.",
25
25
  "pl": "Użyj tej klasy urządzeń dla czujników, np. czujnika otwarcia lub ruchu."
26
- },
27
- "$speechAlternatives": {
28
- "en": [
29
- "sensor",
30
- "sensors"
31
- ],
32
- "nl": [
33
- "sensor",
34
- "sensors",
35
- "sensoren"
36
- ],
37
- "fr": [
38
- "capteur",
39
- "capteurs"
40
- ],
41
- "it": [
42
- "sensore",
43
- "sensori"
44
- ],
45
- "sv": [
46
- "sensor",
47
- "sensorer"
48
- ],
49
- "ru": [
50
- "датчик",
51
- "датчики"
52
- ],
53
- "pl": [
54
- "czujnik",
55
- "czujniki"
56
- ]
57
26
  }
58
27
  }
@@ -45,36 +45,5 @@
45
45
  "kettle",
46
46
  "tv",
47
47
  "solarpanel"
48
- ],
49
- "$speechAlternatives": {
50
- "en": [
51
- "socket",
52
- "plug"
53
- ],
54
- "nl": [
55
- "schakelaar",
56
- "wandschakelaar",
57
- "stekkerdoos",
58
- "tussenstekker"
59
- ],
60
- "fr": [
61
- "prise"
62
- ],
63
- "it": [
64
- "presa",
65
- "spina"
66
- ],
67
- "sv": [
68
- "uttag",
69
- "kontakt"
70
- ],
71
- "ru": [
72
- "розетка",
73
- "розетка"
74
- ],
75
- "pl": [
76
- "gniazdkoelektryczne",
77
- "wtyczka"
78
- ]
79
- }
48
+ ]
80
49
  }
@@ -23,34 +23,5 @@
23
23
  "da": "Brug denne enhedsklasse til enheder, der kan afspille musik, normalt sammen med `speaker_*` funktionerne.",
24
24
  "ru": "Используйте этот класс устройств для устройств, воспроизводящих музыку, обычно вместе с функцией `speaker_*`.",
25
25
  "pl": "Użyj tej klasy urządzeń dla produktów, które mogą odtwarzać muzykę, zwykle razem ze zdolnością `speaker_*`."
26
- },
27
- "$speechAlternatives": {
28
- "en": [
29
- "speaker",
30
- "speakers"
31
- ],
32
- "nl": [
33
- "speaker",
34
- "speakers"
35
- ],
36
- "fr": [
37
- "haut-parleur",
38
- "haut-parleurs"
39
- ],
40
- "it": [
41
- "altoparlante",
42
- "casse"
43
- ],
44
- "sv": [
45
- "högtalare"
46
- ],
47
- "ru": [
48
- "колонка",
49
- "колонки"
50
- ],
51
- "pl": [
52
- "głośnik",
53
- "głośniki"
54
- ]
55
26
  }
56
27
  }
@@ -23,46 +23,5 @@
23
23
  "da": "Brug denne enhedsklasse til markiser (vinduesdække mod solen).",
24
24
  "ru": "Используйте этот класс устройств для навесов (оконных навесов от солнца).",
25
25
  "pl": "Użyj tej klasy urządzeń dla markiz (osłony okienne chroniące przed słońcem)."
26
- },
27
- "$speechAlternatives": {
28
- "en": [
29
- "sunscreen",
30
- "sunscreens",
31
- "sunshade",
32
- "sunshades"
33
- ],
34
- "nl": [
35
- "zonnescherm",
36
- "zonneschermen",
37
- "luifel",
38
- "zonwering",
39
- "zonnewering"
40
- ],
41
- "fr": [
42
- "auvent",
43
- "parasol",
44
- "pare-soleil"
45
- ],
46
- "it": [
47
- "parasole",
48
- "scuretti"
49
- ],
50
- "sv": [
51
- "solskydd",
52
- "markis",
53
- "markiser"
54
- ],
55
- "ru": [
56
- "солнцезащитные жалюзи",
57
- "солнцезащитные жалюзи",
58
- "навес",
59
- "навесы"
60
- ],
61
- "pl": [
62
- "osłonaprzeciwsłoneczna",
63
- "osłonyprzeciwsłoneczne",
64
- "markiza",
65
- "markizy"
66
- ]
67
26
  }
68
27
  }
@@ -23,35 +23,5 @@
23
23
  "da": "Brug denne enhedsklasse til termostater, enten til hele hjemmet eller på radiatorer, normalt sammen med `measure_temperature`, `target_temperature` og `thermostat_mode` funktionerne.",
24
24
  "ru": "Используйте этот класс устройств для термостатов для всего дома или для термостатов на радиаторах, обычно вместе с функциями `measure_temperature`, `target_temperature` и `thermostat_mode`.",
25
25
  "pl": "Użyj tej klasy urządzeń dla termostatów, zarówno dla całego domu, jak i urządzeń podłączanych do kaloryferów; zwykle razem ze zdolnościami `measure_temperature`, `target_temperature` oraz `thermostat_mode`."
26
- },
27
- "$speechAlternatives": {
28
- "en": [
29
- "thermostat",
30
- "thermostats"
31
- ],
32
- "nl": [
33
- "thermostaat",
34
- "thermostaten"
35
- ],
36
- "it": [
37
- "termostato",
38
- "termostati"
39
- ],
40
- "sv": [
41
- "termostat",
42
- "termostater"
43
- ],
44
- "no": [
45
- "termostat",
46
- "termostater"
47
- ],
48
- "ru": [
49
- "термостат",
50
- "термостаты"
51
- ],
52
- "pl": [
53
- "termostat",
54
- "termostaty"
55
- ]
56
26
  }
57
27
  }