homebridge-easy-mqtt 1.3.0-beta.4 → 1.3.0-beta.6

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.
Files changed (84) hide show
  1. package/CHANGELOG.md +15 -9
  2. package/README.md +3 -0
  3. package/config.schema.json +11 -3
  4. package/dist/accessory/abstract/base.d.ts +1 -1
  5. package/dist/accessory/abstract/base.js +2 -2
  6. package/dist/accessory/abstract/base.js.map +1 -1
  7. package/dist/accessory/abstract/group.d.ts +8 -0
  8. package/dist/accessory/abstract/group.js +39 -0
  9. package/dist/accessory/abstract/group.js.map +1 -0
  10. package/dist/accessory/abstract/helper.d.ts +5 -0
  11. package/dist/accessory/abstract/helper.js +53 -0
  12. package/dist/accessory/abstract/helper.js.map +1 -0
  13. package/dist/accessory/abstract/mqtt.d.ts +6 -7
  14. package/dist/accessory/abstract/mqtt.js +15 -6
  15. package/dist/accessory/abstract/mqtt.js.map +1 -1
  16. package/dist/accessory/lock.d.ts +6 -5
  17. package/dist/accessory/lock.js +5 -5
  18. package/dist/accessory/lock.js.map +1 -1
  19. package/dist/accessory/onoff/lightbulb.d.ts +4 -3
  20. package/dist/accessory/onoff/lightbulb.js +5 -5
  21. package/dist/accessory/onoff/lightbulb.js.map +1 -1
  22. package/dist/accessory/onoff/onoff.d.ts +1 -1
  23. package/dist/accessory/onoff/onoff.js +2 -2
  24. package/dist/accessory/onoff/onoff.js.map +1 -1
  25. package/dist/accessory/onoff/outlet.d.ts +4 -3
  26. package/dist/accessory/onoff/outlet.js +5 -5
  27. package/dist/accessory/onoff/outlet.js.map +1 -1
  28. package/dist/accessory/onoff/switch.d.ts +4 -3
  29. package/dist/accessory/onoff/switch.js +5 -4
  30. package/dist/accessory/onoff/switch.js.map +1 -1
  31. package/dist/accessory/security.d.ts +6 -5
  32. package/dist/accessory/security.js +5 -5
  33. package/dist/accessory/security.js.map +1 -1
  34. package/dist/accessory/sensor/carbonDioxide.d.ts +4 -3
  35. package/dist/accessory/sensor/carbonDioxide.js +5 -5
  36. package/dist/accessory/sensor/carbonDioxide.js.map +1 -1
  37. package/dist/accessory/sensor/carbonMonoxide.d.ts +4 -3
  38. package/dist/accessory/sensor/carbonMonoxide.js +5 -5
  39. package/dist/accessory/sensor/carbonMonoxide.js.map +1 -1
  40. package/dist/accessory/sensor/contact.d.ts +4 -3
  41. package/dist/accessory/sensor/contact.js +5 -5
  42. package/dist/accessory/sensor/contact.js.map +1 -1
  43. package/dist/accessory/sensor/humidity.d.ts +4 -3
  44. package/dist/accessory/sensor/humidity.js +5 -5
  45. package/dist/accessory/sensor/humidity.js.map +1 -1
  46. package/dist/accessory/sensor/leak.d.ts +4 -3
  47. package/dist/accessory/sensor/leak.js +5 -5
  48. package/dist/accessory/sensor/leak.js.map +1 -1
  49. package/dist/accessory/sensor/motion.d.ts +4 -3
  50. package/dist/accessory/sensor/motion.js +5 -5
  51. package/dist/accessory/sensor/motion.js.map +1 -1
  52. package/dist/accessory/sensor/occupancy.d.ts +4 -3
  53. package/dist/accessory/sensor/occupancy.js +5 -5
  54. package/dist/accessory/sensor/occupancy.js.map +1 -1
  55. package/dist/accessory/sensor/sensor.d.ts +1 -1
  56. package/dist/accessory/sensor/sensor.js +2 -2
  57. package/dist/accessory/sensor/sensor.js.map +1 -1
  58. package/dist/accessory/sensor/smoke.d.ts +4 -3
  59. package/dist/accessory/sensor/smoke.js +5 -5
  60. package/dist/accessory/sensor/smoke.js.map +1 -1
  61. package/dist/accessory/sensor/temperature.d.ts +4 -3
  62. package/dist/accessory/sensor/temperature.js +5 -5
  63. package/dist/accessory/sensor/temperature.js.map +1 -1
  64. package/dist/accessory/thermostat.d.ts +4 -3
  65. package/dist/accessory/thermostat.js +5 -5
  66. package/dist/accessory/thermostat.js.map +1 -1
  67. package/dist/homebridge/platform.d.ts +5 -3
  68. package/dist/homebridge/platform.js +35 -76
  69. package/dist/homebridge/platform.js.map +1 -1
  70. package/dist/homebridge-ui/public/index.html +1 -1
  71. package/dist/i18n/en.d.ts +62 -61
  72. package/dist/i18n/en.js +62 -61
  73. package/dist/i18n/en.js.map +1 -1
  74. package/dist/i18n/fr.d.ts +532 -0
  75. package/dist/i18n/fr.js +275 -0
  76. package/dist/i18n/fr.js.map +1 -0
  77. package/dist/i18n/i18n.d.ts +64 -62
  78. package/dist/i18n/i18n.js +6 -0
  79. package/dist/i18n/i18n.js.map +1 -1
  80. package/dist/i18n/template.d.ts +62 -61
  81. package/dist/model/mqtt.js +2 -1
  82. package/dist/model/mqtt.js.map +1 -1
  83. package/dist/model/types.d.ts +3 -2
  84. package/package.json +1 -1
@@ -0,0 +1,275 @@
1
+ import merge from 'lodash.merge';
2
+ import en from './en.js';
3
+ const overrides = {
4
+ accessory: {
5
+ batteryLevel: 'La batterie de %s est à %d%',
6
+ batteryLow: 'La batterie de %s est faible',
7
+ batteryNotLow: 'Le niveau de batterie de %s est correct',
8
+ missingRequired: '%s ne dispose pas de la variable de configuration requise %s',
9
+ statusActive: '%s est maintenant disponible',
10
+ statusInactive: '%s est indisponible',
11
+ },
12
+ characteristic: {
13
+ badValue: '%s attendait un nombre pour %s mais a reçu %s',
14
+ updated: '%s a mis à jour %s avec la valeur %s',
15
+ },
16
+ climate: {
17
+ badTemperatureValue: '%s attendait un nombre pour la température mais a reçu %s',
18
+ humidityUpdate: 'L\'humidité de %s est de %d%',
19
+ temperatureUpdate: 'La température de %s est de %d°%s',
20
+ },
21
+ config: {
22
+ continue: 'Continuer %s',
23
+ required: 'Les champs obligatoires sont marqués d\'un astérisque (*)',
24
+ support: 'Pour la documentation et le support, veuillez visiter %s',
25
+ thankYou: 'Merci d\'avoir installé homebridge-easy-mqtt',
26
+ description: {
27
+ options: 'Paramètres MQTT supplémentaires tels que clientId ou protocolVersion. Doit être du JSON valide.',
28
+ topics: 'Prend en charge JSONPath en utilisant la notation point, ex. "mon/sujet$.chemin.vers.valeur"',
29
+ verbose: 'Si activé, des informations MQTT supplémentaires seront enregistrées à des fins de débogage.',
30
+ },
31
+ enumNames: {
32
+ carbonDioxideSensor: 'Capteur CO2',
33
+ carbonMonoxideSensor: 'Capteur CO',
34
+ celsius: '°C',
35
+ contactSensor: 'Capteur de contact',
36
+ fahrenheit: '°F',
37
+ humiditySensor: 'Capteur d\'humidité',
38
+ leakSensor: 'Détecteur de fuite d\'eau',
39
+ lightbulb: 'Ampoule',
40
+ lockMechanism: 'Mécanisme de verrouillage',
41
+ motionSensor: 'Capteur de mouvement',
42
+ occupancySensor: 'Capteur de présence',
43
+ outlet: 'Prise',
44
+ securitySystem: 'Système de sécurité',
45
+ smokeSensor: 'Détecteur de fumée',
46
+ switch: 'Interrupteur',
47
+ temperatureSensor: 'Capteur de température',
48
+ thermostat: 'Thermostat',
49
+ },
50
+ title: {
51
+ accessory: 'Accessoire',
52
+ broker: 'Courtier',
53
+ disableLogging: 'Désactiver la journalisation',
54
+ group: 'Groupe',
55
+ name: 'Nom',
56
+ options: 'Options',
57
+ password: 'Mot de passe',
58
+ sourceUnits: 'Unités source',
59
+ topicGetBatteryLevel: 'Obtenir niveau batterie',
60
+ topicGetBatteryLow: 'Obtenir batterie faible',
61
+ topicGetBrightness: 'Obtenir luminosité',
62
+ topicGetCarbonDioxideDetected: 'Obtenir CO2 détecté*',
63
+ topicGetCarbonDioxideLevel: 'Obtenir niveau CO2',
64
+ topicGetCarbonDioxidePeakLevel: 'Obtenir niveau pic de CO2',
65
+ topicGetCarbonMonoxideDetected: 'Obtenir CO détecté*',
66
+ topicGetCarbonMonoxideLevel: 'Obtenir niveau CO',
67
+ topicGetCarbonMonoxidePeakLevel: 'Obtenir niveau pic de CO',
68
+ topicGetColorTemperature: 'Obtenir température couleur',
69
+ topicGetContactSensorState: 'Obtenir contact détecté*',
70
+ topicGetCoolingThresholdTemperature: 'Obtenir seuil de refroidissement',
71
+ topicGetCurrentHeatingCoolingState: 'Obtenir mode actuel*',
72
+ topicGetCurrentLockState: 'Obtenir état actuel*',
73
+ topicGetCurrentRelativeHumidity: 'Obtenir humidité relative*',
74
+ topicGetCurrentRelativeHumidityOptional: 'Obtenir humidité relative',
75
+ topicGetCurrentSecurityState: 'Obtenir état actuel*',
76
+ topicGetCurrentTemperature: 'Obtenir température actuelle*',
77
+ topicGetHeatingThresholdTemperature: 'Obtenir seuil de chauffage',
78
+ topicGetHue: 'Obtenir teinte',
79
+ topicGetLeakDetected: 'Obtenir fuite détectée*',
80
+ topicGetMotionDetected: 'Obtenir mouvement détecté*',
81
+ topicGetOccupancyDetected: 'Obtenir présence détectée*',
82
+ topicGetOn: 'Obtenir état marche/arrêt*',
83
+ topicGetOutletInUse: 'Obtenir état en usage',
84
+ topicGetSaturation: 'Obtenir saturation',
85
+ topicGetSmokeDetected: 'Obtenir fumée détectée*',
86
+ topicGetStatusActive: 'Obtenir disponibilité',
87
+ topicGetStatusFault: 'Obtenir défaut',
88
+ topicGetStatusTampered: 'Obtenir altération',
89
+ topicGetTargetHeatingCoolingState: 'Obtenir mode cible*',
90
+ topicGetTargetLockState: 'Obtenir état cible*',
91
+ topicGetTargetRelativeHumidity: 'Obtenir humidité cible',
92
+ topicGetTargetSecurityState: 'Obtenir état cible*',
93
+ topicGetTargetTemperature: 'Obtenir température cible*',
94
+ topicSetBrightness: 'Définir luminosité',
95
+ topicSetColorTemperature: 'Définir température couleur',
96
+ topicSetCoolingThresholdTemperature: 'Définir seuil refroidissement',
97
+ topicSetHeatingThresholdTemperature: 'Définir seuil chauffage',
98
+ topicSetHue: 'Définir teinte',
99
+ topicSetOn: 'Définir état marche/arrêt*',
100
+ topicSetSaturation: 'Définir saturation',
101
+ topicSetTargetHeatingCoolingState: 'Définir mode cible*',
102
+ topicSetTargetLockState: 'Définir état cible*',
103
+ topicSetTargetRelativeHumidity: 'Définir humidité cible',
104
+ topicSetTargetSecurityState: 'Définir état cible*',
105
+ topicSetTargetTemperature: 'Définir température cible*',
106
+ topics: 'Sujets',
107
+ type: 'Type',
108
+ username: 'Nom d\'utilisateur',
109
+ valueAlarmTriggered: 'Déclenché',
110
+ valueArmAway: 'Armement absent',
111
+ valueArmNight: 'Armement nuit',
112
+ valueArmStay: 'Armement présent',
113
+ valueBatteryLow: 'Batterie faible',
114
+ valueCarbonDioxideDetected: 'CO2 détecté*',
115
+ valueCarbonMonoxideDetected: 'CO détecté*',
116
+ valueContactDetected: 'Contact détecté*',
117
+ valueDisarm: 'Désarmer',
118
+ valueFault: 'Défaut',
119
+ valueLeakDetected: 'Fuite détectée*',
120
+ valueLockStateJammed: 'Bloqué',
121
+ valueLockStateSecured: 'Sécurisé/Verrouillé*',
122
+ valueLockStateUnsecured: 'Non sécurisé/Déverrouillé*',
123
+ valueModeAuto: 'Auto',
124
+ valueModeCool: 'Refroidir',
125
+ valueModeHeat: 'Chauffer',
126
+ valueModeOff: 'Arrêt',
127
+ valueMotionDetected: 'Mouvement détecté*',
128
+ valueOccupancyDetected: 'Présence détectée*',
129
+ valueOff: 'Arrêt*',
130
+ valueOn: 'Marche*',
131
+ valueOutletInUse: 'En usage',
132
+ valueOutletNotInUse: 'Non utilisé',
133
+ valueSmokeDetected: 'Fumée détectée*',
134
+ valueStatusActive: 'Disponible/Accessible',
135
+ valueTampered: 'Altéré',
136
+ values: 'Valeurs',
137
+ verbose: 'Journalisation supplémentaire',
138
+ },
139
+ },
140
+ error: {
141
+ hasFault: '%s a un défaut',
142
+ isTampered: '%s a été altéré',
143
+ noFault: '%s n\'a pas de défaut',
144
+ notTampered: 'L\'état d\'altération de %s a été réinitialisé',
145
+ },
146
+ lightbulb: {
147
+ brightness: 'La luminosité de %s est de %d%',
148
+ brightnessFuture: 'Réglage de la luminosité de %s à %d%…',
149
+ colorTemperature: 'La température de couleur de %s est de %dM',
150
+ colorTemperatureFuture: 'Réglage de la température de couleur de %s à %dM…',
151
+ hue: 'La teinte de %s est de %d°',
152
+ hueFuture: 'Réglage de la teinte de %s à %d°…',
153
+ saturation: 'La saturation de %s est de %d%',
154
+ saturationFuture: 'Réglage de la saturation de %s à %d%…',
155
+ },
156
+ lock: {
157
+ badValue: '%s ne peut déterminer l\'état du verrou à partir de %s',
158
+ stateJammed: '%s est bloqué',
159
+ stateSecured: '%s est verrouillé',
160
+ stateSecuredFuture: 'Verrouillage de %s…',
161
+ stateUnsecured: '%s est déverrouillé',
162
+ stateUnsecuredFuture: 'Déverrouillage de %s…',
163
+ stateUnknown: 'L\'état de %s est inconnu',
164
+ },
165
+ mqtt: {
166
+ badOptions: 'les options supplémentaires de %s doivent être sous forme de JSON valide',
167
+ clientError: '%s erreur client :',
168
+ connected: '%s connecté et en attente de mise à jour…',
169
+ connectionClosed: 'Connexion à %s fermée',
170
+ idleConnection: 'Connexion à %s inactive',
171
+ noListeners: 'Aucun écouteur sur %s pour le sujet %s',
172
+ notConnected: 'Client de %s non connecté',
173
+ parseFailed: '%s n\'a pas pu analyser le message',
174
+ publish: '%s a publié la valeur %s vers le sujet %s',
175
+ receivedMessage: '%s a reçu un message du sujet %s',
176
+ reconnectInMinutes: '%s tentera de se reconnecter dans %s minutes…',
177
+ reconnectInSeconds: '%s tentera de se reconnecter dans %s secondes…',
178
+ },
179
+ onOff: {
180
+ stateOff: '%s est éteint',
181
+ stateOffFuture: 'Extinction de %s…',
182
+ stateOn: '%s est allumé',
183
+ stateOnFuture: 'Allumage de %s…',
184
+ unknownValue: '%s impossible de déterminer l\'état marche/arrêt à partir de %s. Ignoré…',
185
+ },
186
+ outlet: {
187
+ badValue: '%s impossible d\'obtenir l\'état d\'usage pour %s',
188
+ inUse: '%s est en marche',
189
+ notInUse: '%s n\'est pas en marche',
190
+ },
191
+ security: {
192
+ badValue: 'Valeur manquante à %s pour l\'état de sécurité %s',
193
+ noStateValues: '%s doit avoir au moins une valeur d\'état définie (armement absent, désarmer, etc.)',
194
+ stateAway: '%s est armé pour absence',
195
+ stateAwayFuture: 'Armement de %s pour absence…',
196
+ stateDisarmed: '%s est désarmé',
197
+ stateDisarmFuture: 'Désarmement de %s…',
198
+ stateNight: '%s est armé pour la nuit',
199
+ stateNightFuture: 'Armement de %s pour la nuit…',
200
+ stateStay: '%s est armé en présence',
201
+ stateStayFuture: 'Armement de %s en présence…',
202
+ stateTriggered: 'L\'alarme de %s est déclenchée',
203
+ stateUnknown: 'L\'état de %s est inconnu',
204
+ unknownValue: '%s impossible de déterminer l\'état de sécurité à partir de la valeur %s. Ignoré…',
205
+ },
206
+ sensor: {
207
+ carbonDioxide: {
208
+ active: '%s a détecté du dioxyde de carbone',
209
+ inactive: '%s a arrêté de détecter le dioxyde de carbone',
210
+ level: 'Le niveau de CO2 de %s est de %d',
211
+ peakLevel: 'Le niveau pic de CO2 de %s est de %d',
212
+ },
213
+ carbonMonoxide: {
214
+ active: '%s a détecté du monoxyde de carbone',
215
+ inactive: '%s a arrêté de détecter le monoxyde de carbone',
216
+ level: 'Le niveau de CO de %s est de %d',
217
+ peakLevel: 'Le niveau pic de CO de %s est de %d',
218
+ },
219
+ contact: {
220
+ active: '%s a détecté un contact',
221
+ inactive: '%s a arrêté de détecter le contact',
222
+ },
223
+ leak: {
224
+ active: '%s a détecté une fuite',
225
+ inactive: '%s a arrêté de détecter les fuites',
226
+ },
227
+ motion: {
228
+ active: '%s a détecté un mouvement',
229
+ inactive: '%s a arrêté de détecter le mouvement',
230
+ },
231
+ occupancy: {
232
+ active: '%s a détecté une présence',
233
+ inactive: '%s a arrêté de détecter la présence',
234
+ },
235
+ smoke: {
236
+ active: '%s a détecté de la fumée',
237
+ inactive: '%s a arrêté de détecter la fumée',
238
+ },
239
+ },
240
+ startup: {
241
+ complete: '✓ Configuration terminée',
242
+ newAccessory: 'Ajout de %s',
243
+ removeAccessory: 'Suppression de %s',
244
+ restoringAccessory: 'Restauration de %s',
245
+ unsupportedType: 'Type d\'accessoire non pris en charge %s',
246
+ welcome: [
247
+ 'Veuillez ★ ce plugin sur GitHub si vous le trouvez utile ! https://github.com/mpatfield/homebridge-easy-mqtt',
248
+ 'Souhaitez-vous parrainer ce plugin ? https://github.com/sponsors/mpatfield',
249
+ 'Vous voulez voir ce plugin traduit dans votre propre langue ? Veuillez visiter https://github.com/mpatfield/homebridge-easy-mqtt/issues/4',
250
+ ],
251
+ },
252
+ thermostat: {
253
+ badValue: 'Valeur manquante à %s pour l\'état %s du thermostat',
254
+ coolingThreshold: 'Le seuil de refroidissement de %s est de %d°%s',
255
+ coolingThresholdFuture: '%s réglage du seuil de refroidissement à %d°%s…',
256
+ heatingThreshold: 'Le seuil de chauffage de %s est de %d°%s',
257
+ heatingThresholdFuture: '%s réglage du seuil de chauffage à %d°%s…',
258
+ humidityFuture: 'Réglage de l\'humidité de %s à %d%…',
259
+ noStateValues: '%s doit avoir au moins une valeur d\'état définie (arrêt, chauffage, refroidissement)',
260
+ stateAutoFuture: 'Réglage de %s en automatique…',
261
+ stateCool: '%s est réglé sur refroidissement',
262
+ stateCoolFuture: 'Réglage de %s sur refroidissement…',
263
+ stateHeat: '%s est réglé sur chauffage',
264
+ stateHeatFuture: 'Réglage de %s sur chauffage…',
265
+ stateOff: '%s est réglé sur arrêt',
266
+ stateOffFuture: 'Arrêt de %s…',
267
+ stateUnknown: 'L\'état de %s est inconnu',
268
+ temperatureTarget: 'La température cible de %s est de %d°%s',
269
+ temperatureTargetFuture: '%s réglage de la température à %d°%s…',
270
+ unknownValue: '%s impossible de déterminer l\'état du thermostat à partir de la valeur %s. Ignoré…',
271
+ },
272
+ };
273
+ const fr = merge({}, en, overrides);
274
+ export default fr;
275
+ //# sourceMappingURL=fr.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fr.js","sourceRoot":"","sources":["../../src/i18n/fr.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import en from './en.js';
2
2
  export declare enum Language {
3
- EN = "en"
3
+ EN = "en",
4
+ FR = "fr"
4
5
  }
5
6
  export type Translation = typeof en;
6
7
  export declare function getLanguage(): Language;
@@ -15,6 +16,10 @@ declare const translations: {
15
16
  statusActive: string;
16
17
  statusInactive: string;
17
18
  };
19
+ characteristic: {
20
+ badValue: string;
21
+ updated: string;
22
+ };
18
23
  climate: {
19
24
  badTemperatureValue: string;
20
25
  humidityUpdate: string;
@@ -31,11 +36,11 @@ declare const translations: {
31
36
  verbose: string;
32
37
  };
33
38
  enumNames: {
34
- celsius: string;
35
- fahrenheit: string;
36
39
  carbonDioxideSensor: string;
37
40
  carbonMonoxideSensor: string;
41
+ celsius: string;
38
42
  contactSensor: string;
43
+ fahrenheit: string;
39
44
  humiditySensor: string;
40
45
  leakSensor: string;
41
46
  lightbulb: string;
@@ -43,9 +48,9 @@ declare const translations: {
43
48
  motionSensor: string;
44
49
  occupancySensor: string;
45
50
  outlet: string;
46
- switch: string;
47
51
  securitySystem: string;
48
52
  smokeSensor: string;
53
+ switch: string;
49
54
  temperatureSensor: string;
50
55
  thermostat: string;
51
56
  };
@@ -53,118 +58,115 @@ declare const translations: {
53
58
  accessory: string;
54
59
  broker: string;
55
60
  disableLogging: string;
61
+ group: string;
56
62
  name: string;
57
63
  options: string;
58
64
  password: string;
59
65
  sourceUnits: string;
60
66
  topicGetBatteryLevel: string;
61
67
  topicGetBatteryLow: string;
62
- topicGetStatusActive: string;
63
- topicGetCurrentLockState: string;
64
- topicGetOutletInUse: string;
65
- topicGetOn: string;
66
- topicGetTargetLockState: string;
67
68
  topicGetBrightness: string;
68
- topicSetBrightness: string;
69
- topicGetHue: string;
70
- topicSetHue: string;
71
- topicGetColorTemperature: string;
72
- topicSetColorTemperature: string;
73
- topicGetSaturation: string;
74
- topicSetSaturation: string;
75
- topicSetOn: string;
76
- topicSetTargetLockState: string;
77
- topicGetCurrentTemperature: string;
78
- topicGetCurrentSecurityState: string;
79
- topicGetTargetSecurityState: string;
80
- topicSetTargetSecurityState: string;
81
- topicGetStatusTampered: string;
82
- topicGetStatusFault: string;
83
- topicGetCarbonMonoxideDetected: string;
84
- topicGetCarbonMonoxideLevel: string;
85
- topicGetCarbonMonoxidePeakLevel: string;
86
69
  topicGetCarbonDioxideDetected: string;
87
70
  topicGetCarbonDioxideLevel: string;
88
71
  topicGetCarbonDioxidePeakLevel: string;
72
+ topicGetCarbonMonoxideDetected: string;
73
+ topicGetCarbonMonoxideLevel: string;
74
+ topicGetCarbonMonoxidePeakLevel: string;
75
+ topicGetColorTemperature: string;
89
76
  topicGetContactSensorState: string;
90
- topicGetLeakDetected: string;
91
- topicGetMotionDetected: string;
92
- topicGetOccupancyDetected: string;
93
- topicGetSmokeDetected: string;
94
- topicGetCurrentRelativeHumidity: string;
95
77
  topicGetCoolingThresholdTemperature: string;
96
78
  topicGetCurrentHeatingCoolingState: string;
79
+ topicGetCurrentLockState: string;
80
+ topicGetCurrentRelativeHumidity: string;
97
81
  topicGetCurrentRelativeHumidityOptional: string;
82
+ topicGetCurrentSecurityState: string;
83
+ topicGetCurrentTemperature: string;
98
84
  topicGetHeatingThresholdTemperature: string;
85
+ topicGetHue: string;
86
+ topicGetLeakDetected: string;
87
+ topicGetMotionDetected: string;
88
+ topicGetOccupancyDetected: string;
89
+ topicGetOn: string;
90
+ topicGetOutletInUse: string;
91
+ topicGetSaturation: string;
92
+ topicGetSmokeDetected: string;
93
+ topicGetStatusActive: string;
94
+ topicGetStatusFault: string;
95
+ topicGetStatusTampered: string;
99
96
  topicGetTargetHeatingCoolingState: string;
97
+ topicGetTargetLockState: string;
100
98
  topicGetTargetRelativeHumidity: string;
99
+ topicGetTargetSecurityState: string;
101
100
  topicGetTargetTemperature: string;
101
+ topicSetBrightness: string;
102
+ topicSetColorTemperature: string;
102
103
  topicSetCoolingThresholdTemperature: string;
103
104
  topicSetHeatingThresholdTemperature: string;
105
+ topicSetHue: string;
106
+ topicSetOn: string;
107
+ topicSetSaturation: string;
104
108
  topicSetTargetHeatingCoolingState: string;
109
+ topicSetTargetLockState: string;
105
110
  topicSetTargetRelativeHumidity: string;
111
+ topicSetTargetSecurityState: string;
106
112
  topicSetTargetTemperature: string;
107
113
  topics: string;
108
114
  type: string;
109
115
  username: string;
110
- valueBatteryLow: string;
111
- valueStatusActive: string;
112
- valueLockStateJammed: string;
113
- valueOutletInUse: string;
114
- valueOutletNotInUse: string;
115
- valueOff: string;
116
- valueOn: string;
117
- valueLockStateSecured: string;
118
- valueLockStateUnsecured: string;
119
- valueArmStay: string;
116
+ valueAlarmTriggered: string;
120
117
  valueArmAway: string;
121
118
  valueArmNight: string;
122
- valueDisarm: string;
123
- valueAlarmTriggered: string;
124
- valueTampered: string;
125
- valueFault: string;
126
- valueCarbonMonoxideDetected: string;
119
+ valueArmStay: string;
120
+ valueBatteryLow: string;
127
121
  valueCarbonDioxideDetected: string;
122
+ valueCarbonMonoxideDetected: string;
128
123
  valueContactDetected: string;
124
+ valueDisarm: string;
125
+ valueFault: string;
129
126
  valueLeakDetected: string;
130
- valueMotionDetected: string;
131
- valueOccupancyDetected: string;
132
- valueSmokeDetected: string;
127
+ valueLockStateJammed: string;
128
+ valueLockStateSecured: string;
129
+ valueLockStateUnsecured: string;
133
130
  valueModeAuto: string;
134
131
  valueModeCool: string;
135
132
  valueModeHeat: string;
136
133
  valueModeOff: string;
134
+ valueMotionDetected: string;
135
+ valueOccupancyDetected: string;
136
+ valueOff: string;
137
+ valueOn: string;
138
+ valueOutletInUse: string;
139
+ valueOutletNotInUse: string;
140
+ valueSmokeDetected: string;
141
+ valueStatusActive: string;
142
+ valueTampered: string;
137
143
  values: string;
138
144
  verbose: string;
139
145
  };
140
146
  };
141
- characteristic: {
142
- badValue: string;
143
- updated: string;
144
- };
145
147
  error: {
146
- isTampered: string;
147
148
  hasFault: string;
149
+ isTampered: string;
148
150
  noFault: string;
149
151
  notTampered: string;
150
152
  };
151
153
  lightbulb: {
152
154
  brightness: string;
153
155
  brightnessFuture: string;
154
- hue: string;
155
- hueFuture: string;
156
156
  colorTemperature: string;
157
157
  colorTemperatureFuture: string;
158
+ hue: string;
159
+ hueFuture: string;
158
160
  saturation: string;
159
161
  saturationFuture: string;
160
162
  };
161
163
  lock: {
162
164
  badValue: string;
165
+ stateJammed: string;
163
166
  stateSecured: string;
164
167
  stateSecuredFuture: string;
165
168
  stateUnsecured: string;
166
169
  stateUnsecuredFuture: string;
167
- stateJammed: string;
168
170
  stateUnknown: string;
169
171
  };
170
172
  mqtt: {
@@ -175,9 +177,9 @@ declare const translations: {
175
177
  idleConnection: string;
176
178
  noListeners: string;
177
179
  notConnected: string;
180
+ parseFailed: string;
178
181
  publish: string;
179
182
  receivedMessage: string;
180
- parseFailed: string;
181
183
  reconnectInMinutes: string;
182
184
  reconnectInSeconds: string;
183
185
  };
@@ -198,13 +200,13 @@ declare const translations: {
198
200
  noStateValues: string;
199
201
  stateAway: string;
200
202
  stateAwayFuture: string;
203
+ stateDisarmed: string;
204
+ stateDisarmFuture: string;
201
205
  stateNight: string;
202
206
  stateNightFuture: string;
203
207
  stateStay: string;
204
208
  stateStayFuture: string;
205
209
  stateTriggered: string;
206
- stateDisarmed: string;
207
- stateDisarmFuture: string;
208
210
  stateUnknown: string;
209
211
  unknownValue: string;
210
212
  };
@@ -256,8 +258,8 @@ declare const translations: {
256
258
  coolingThresholdFuture: string;
257
259
  heatingThreshold: string;
258
260
  heatingThresholdFuture: string;
259
- noStateValues: string;
260
261
  humidityFuture: string;
262
+ noStateValues: string;
261
263
  stateAutoFuture: string;
262
264
  stateCool: string;
263
265
  stateCoolFuture: string;
package/dist/i18n/i18n.js CHANGED
@@ -1,10 +1,13 @@
1
1
  import en from './en.js';
2
+ import fr from './fr.js';
2
3
  export var Language;
3
4
  (function (Language) {
4
5
  Language["EN"] = "en";
6
+ Language["FR"] = "fr";
5
7
  })(Language || (Language = {}));
6
8
  const Translations = {
7
9
  [Language.EN]: en,
10
+ [Language.FR]: fr,
8
11
  };
9
12
  let currentLanguage = Language.EN;
10
13
  export function getLanguage() {
@@ -16,6 +19,9 @@ export function setLanguage(i18nLang) {
16
19
  case Language.EN:
17
20
  language = Language.EN;
18
21
  break;
22
+ case Language.FR:
23
+ language = Language.FR;
24
+ break;
19
25
  }
20
26
  currentLanguage = Translations[language] ? language : Language.EN;
21
27
  }
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../src/i18n/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzB,MAAM,CAAN,IAAY,QAEX;AAFD,WAAY,QAAQ;IAClB,qBAAS,CAAA;AACX,CAAC,EAFW,QAAQ,KAAR,QAAQ,QAEnB;AAED,MAAM,YAAY,GAAkC;IAClD,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE;CAClB,CAAC;AAIF,IAAI,eAAe,GAAa,QAAQ,CAAC,EAAE,CAAC;AAE5C,MAAM,UAAU,WAAW;IACzB,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,QAAgB;IAE1C,IAAI,QAAQ,GAAG,QAAQ,CAAC,EAAE,CAAC;IAC3B,QAAO,QAAQ,EAAE,CAAC;QAClB,KAAK,QAAQ,CAAC,EAAE;YACd,QAAQ,GAAG,QAAQ,CAAC,EAAE,CAAC;YACvB,MAAM;IACR,CAAC;IAED,eAAe,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,OAAO,YAAY,CAAC,eAAe,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,YAAY,GAAG,IAAI,KAAK,CAAC,EAAiB,EAAE;IAChD,GAAG,CAAC,OAAO,EAAE,IAAY;QACvB,OAAO,CACL,YAAY,CAAC,eAAe,CAAC,CAAC,IAAyB,CAAC;YACxD,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAyB,CAAC,CACrD,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;AAEH,OAAO,EAAE,YAAY,IAAI,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../src/i18n/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzB,MAAM,CAAN,IAAY,QAGX;AAHD,WAAY,QAAQ;IAClB,qBAAS,CAAA;IACT,qBAAS,CAAA;AACX,CAAC,EAHW,QAAQ,KAAR,QAAQ,QAGnB;AAED,MAAM,YAAY,GAAkC;IAClD,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE;IACjB,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE;CAClB,CAAC;AAIF,IAAI,eAAe,GAAa,QAAQ,CAAC,EAAE,CAAC;AAE5C,MAAM,UAAU,WAAW;IACzB,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,QAAgB;IAE1C,IAAI,QAAQ,GAAG,QAAQ,CAAC,EAAE,CAAC;IAC3B,QAAO,QAAQ,EAAE,CAAC;QAClB,KAAK,QAAQ,CAAC,EAAE;YACd,QAAQ,GAAG,QAAQ,CAAC,EAAE,CAAC;YACvB,MAAM;QACR,KAAK,QAAQ,CAAC,EAAE;YACd,QAAQ,GAAG,QAAQ,CAAC,EAAE,CAAC;YACvB,MAAM;IACR,CAAC;IAED,eAAe,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,OAAO,YAAY,CAAC,eAAe,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,YAAY,GAAG,IAAI,KAAK,CAAC,EAAiB,EAAE;IAChD,GAAG,CAAC,OAAO,EAAE,IAAY;QACvB,OAAO,CACL,YAAY,CAAC,eAAe,CAAC,CAAC,IAAyB,CAAC;YACxD,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAyB,CAAC,CACrD,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;AAEH,OAAO,EAAE,YAAY,IAAI,OAAO,EAAE,CAAC"}