iobroker.telegram-menu 0.6.9 → 0.6.10
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 +4 -0
- package/io-package.json +14 -14
- package/main.js +18 -4
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -33,6 +33,10 @@ You can create different groups with separate menus, and then assign users to th
|
|
|
33
33
|
Placeholder for the next version (at the beginning of the line):
|
|
34
34
|
### **WORK IN PROGRESS**
|
|
35
35
|
-->
|
|
36
|
+
### 0.6.10 (2023-09-23)
|
|
37
|
+
|
|
38
|
+
- bug fix
|
|
39
|
+
|
|
36
40
|
### 0.6.9 (2023-09-23)
|
|
37
41
|
|
|
38
42
|
- Rearranging listed actions #49
|
package/io-package.json
CHANGED
|
@@ -1,8 +1,21 @@
|
|
|
1
1
|
{
|
|
2
2
|
"common": {
|
|
3
3
|
"name": "telegram-menu",
|
|
4
|
-
"version": "0.6.
|
|
4
|
+
"version": "0.6.10",
|
|
5
5
|
"news": {
|
|
6
|
+
"0.6.10": {
|
|
7
|
+
"en": "bug fix",
|
|
8
|
+
"de": "fehlerbehebung",
|
|
9
|
+
"ru": "исправление ошибки",
|
|
10
|
+
"pt": "correção de bugs",
|
|
11
|
+
"nl": "insecten",
|
|
12
|
+
"fr": "bug fix",
|
|
13
|
+
"it": "correzione bug",
|
|
14
|
+
"es": "bug",
|
|
15
|
+
"pl": "błąd",
|
|
16
|
+
"uk": "виправлення помилок",
|
|
17
|
+
"zh-cn": "bug fix"
|
|
18
|
+
},
|
|
6
19
|
"0.6.9": {
|
|
7
20
|
"en": "Rearranging listed actions #49\nwhen calling up the submenu, Text was send no entry found, fixed\nbug switch menu, fixed\nset a state, and receive the change of another state",
|
|
8
21
|
"de": "Rearrangieren von aufgelisteten Aktionen #49\nbeim Aufruf des Untermenüs, Text wurde nicht gefunden, behoben\nbugschalter-menü, fixiert\neinen zustand einstellen und die änderung eines anderen zustands empfangen",
|
|
@@ -80,19 +93,6 @@
|
|
|
80
93
|
"pl": "Kontrola Triggera nie jest już dostępna w akcji, w nav jest wizualizowana, że wyzwalanie jest już w użyciu",
|
|
81
94
|
"uk": "Перевірка тригера, використовувані тригери більше не доступні в дії, в нав він візуалізований, що тригер вже в використанні",
|
|
82
95
|
"zh-cn": "突然的检查不再可供采取行动,在无知的情况下,触发者已经使用。"
|
|
83
|
-
},
|
|
84
|
-
"0.6.3": {
|
|
85
|
-
"en": "user check, least one user must be checked",
|
|
86
|
-
"de": "benutzerüberprüfung, mindestens ein benutzer muss überprüft werden",
|
|
87
|
-
"ru": "проверка пользователя, хотя бы один пользователь должен быть проверен",
|
|
88
|
-
"pt": "verificação do usuário, pelo menos um usuário deve ser verificado",
|
|
89
|
-
"nl": "eén gebruiker moet gecontroleerd worden",
|
|
90
|
-
"fr": "contrôle utilisateur, le moins d'un utilisateur doit être vérifié",
|
|
91
|
-
"it": "controllo utente, almeno un utente deve essere controllato",
|
|
92
|
-
"es": "control de usuario, al menos un usuario debe ser revisado",
|
|
93
|
-
"pl": "wskaźnik użytkownika musi być sprawdzany przynajmniej jeden użytkownik",
|
|
94
|
-
"uk": "перевірка користувачів, принаймні один користувач повинен перевіряти",
|
|
95
|
-
"zh-cn": "用户检查,至少必须检查一名用户。"
|
|
96
96
|
}
|
|
97
97
|
},
|
|
98
98
|
"titleLang": {
|
package/main.js
CHANGED
|
@@ -315,6 +315,10 @@ class TelegramMenu extends utils.Adapter {
|
|
|
315
315
|
// Schalten
|
|
316
316
|
else if (part.switch) {
|
|
317
317
|
setStateIdsToListenTo = setstate(_this, part, userToSend);
|
|
318
|
+
|
|
319
|
+
_this.log.debug("SubmenuData3" + JSON.stringify(setStateIdsToListenTo));
|
|
320
|
+
if (Array.isArray(setStateIdsToListenTo))
|
|
321
|
+
_subscribeAndUnSubscribeForeignStatesAsync(setStateIdsToListenTo, _this, true);
|
|
318
322
|
return true;
|
|
319
323
|
} else if (part.getData) {
|
|
320
324
|
getstate(
|
|
@@ -429,18 +433,28 @@ class TelegramMenu extends utils.Adapter {
|
|
|
429
433
|
|
|
430
434
|
/**
|
|
431
435
|
*
|
|
432
|
-
* @param {
|
|
436
|
+
* @param {*} array
|
|
433
437
|
* @param {*} _this
|
|
434
438
|
*/
|
|
435
439
|
function _subscribeForeignStatesAsync(array, _this) {
|
|
440
|
+
array = deleteDoubleEntrysInArray(array);
|
|
441
|
+
_this.log.debug("array " + JSON.stringify(array));
|
|
436
442
|
array.forEach((element) => {
|
|
437
|
-
|
|
438
|
-
_this.subscribeForeignStatesAsync(element
|
|
443
|
+
_this.log.debug("Subscribe State: " + JSON.stringify(element));
|
|
444
|
+
_this.subscribeForeignStatesAsync(element);
|
|
439
445
|
});
|
|
440
446
|
}
|
|
447
|
+
/**
|
|
448
|
+
* Removes duplicate entries and saves the result
|
|
449
|
+
* @param {[]} arr Array
|
|
450
|
+
* @returns Array with unique entrys
|
|
451
|
+
*/
|
|
452
|
+
function deleteDoubleEntrysInArray(arr) {
|
|
453
|
+
return arr.filter((item, index) => arr.indexOf(item) === index);
|
|
454
|
+
}
|
|
441
455
|
/**
|
|
442
456
|
*
|
|
443
|
-
* @param {[]} array
|
|
457
|
+
* @param {any[]} array
|
|
444
458
|
* @param {*} _this
|
|
445
459
|
* @param {boolean} subscribe If true, then subscribe, else unsubscribe
|
|
446
460
|
*/
|