iobroker.zigbee 1.7.0 → 1.7.3

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 CHANGED
@@ -126,12 +126,18 @@ You can thank the authors by these links:
126
126
  npm run release patch -- --all 0.9.8 -> 0.9.9
127
127
  npm run release prerelease beta -- --all v0.2.1 -> v0.2.2-beta.0
128
128
  Placeholder for the next version (at the beginning of the line):
129
-
129
+ ## **WORK IN PROGRESS**
130
130
  -->
131
131
 
132
132
 
133
133
  ## Changelog
134
- ### 1.7.0 (2022-05-28)
134
+ ### 1.7.3 (2022-05-30)
135
+ * (arteck) missing icons with multiple description
136
+
137
+ ### 1.7.2 (2022-05-28)
138
+ * (arteck) download missing icons corr
139
+
140
+ ### 1.7.1 (2022-05-28)
135
141
  * (arteck) available status in admin is colored
136
142
  * (arteck) disable Backups checkbox in settings
137
143
  * (arteck) we keep last 10 backup files
@@ -414,7 +420,7 @@ new Zigbee-herdsman features:
414
420
  ## License
415
421
  The MIT License (MIT)
416
422
 
417
- Copyright (c) 2018-2021 Kirov Ilya <kirovilya@gmail.com>
423
+ Copyright (c) 2018-2022 Kirov Ilya <kirovilya@gmail.com>
418
424
 
419
425
  Permission is hereby granted, free of charge, to any person obtaining a copy
420
426
  of this software and associated documentation files (the "Software"), to deal
package/io-package.json CHANGED
@@ -1,19 +1,43 @@
1
1
  {
2
2
  "common": {
3
3
  "name": "zigbee",
4
- "version": "1.7.0",
4
+ "version": "1.7.3",
5
5
  "news": {
6
- "1.7.0": {
7
- "en": "Device status is displayed in admin interface with color and icon.\\nInternal adapter backups can be disabled (for backups with BackItUp Adapter).\\nOnly last 10 backups are kept (currently they accumulate and need to be deleted manually).\\nNew function for missing icons in Admin Object tree.",
8
- "de": "Der Gerätestatus wird in der Admin-Oberfläche mit Farbe und Symbol angezeigt.\\nInterne Adapter-Backups können deaktiviert werden (für Backups mit BackItUp Adapter).\\nNur die letzten 10 Backups werden aufbewahrt (derzeit sammeln sie sich an und müssen manuell gelöscht werden).\\nNeue Funktion für fehlende Symbole im Admin-Objektbaum.",
9
- "ru": "Состояние устройства отображается в административном интерфейсе цветом и значком.\\nВнутренние резервные копии адаптера могут быть отключены (для резервных копий с помощью BackItUp Adapter).\\nХранятся только последние 10 резервных копий (в настоящее время они накапливаются и должны быть удалены вручную).\\nНовая функция для отсутствуют значки в дереве объектов администрирования.",
10
- "pt": "O status do dispositivo é exibido na interface de administração com cor e ícone.\\nOs backups do adaptador interno podem ser desabilitados (para backups com o BackItUp Adapter).\\nSomente os últimos 10 backups são mantidos (atualmente eles se acumulam e precisam ser excluídos manualmente).\\nNova função para ícones ausentes na árvore de objetos de administração.",
11
- "nl": "Apparaatstatus wordt weergegeven in de beheerdersinterface met kleur en pictogram.\\nInterne adapterback-ups kunnen worden uitgeschakeld (voor back-ups met BackItUp Adapter).\\nAlleen de laatste 10 back-ups worden bewaard (momenteel worden deze verzameld en moeten ze handmatig worden verwijderd).\\nNieuwe functie voor ontbrekende pictogrammen in Admin Object-structuur.",
12
- "fr": "L'état de l'appareil est affiché dans l'interface d'administration avec une couleur et une icône.\\nLes sauvegardes de l'adaptateur interne peuvent être désactivées (pour les sauvegardes avec l'adaptateur BackItUp).\\nSeules les 10 dernières sauvegardes sont conservées (actuellement, elles s'accumulent et doivent être supprimées manuellement).\\nNouvelle fonction pour icônes manquantes dans l'arborescence des objets d'administration.",
13
- "it": "Lo stato del dispositivo viene visualizzato nell'interfaccia di amministrazione con un colore e un'icona.\\nI backup interni dell'adattatore possono essere disabilitati (per i backup con l'adattatore BackItUp).\\nSono conservati solo gli ultimi 10 backup (attualmente si accumulano e devono essere eliminati manualmente).\\nNuova funzione per icone mancanti nell'albero degli oggetti amministratore.",
14
- "es": "El estado del dispositivo se muestra en la interfaz de administración con color e icono.\\nLas copias de seguridad del adaptador interno se pueden desactivar (para copias de seguridad con el adaptador BackItUp).\\nSolo se conservan las últimas 10 copias de seguridad (actualmente se acumulan y deben eliminarse manualmente).\\nNueva función para Faltan iconos en el árbol de objetos de administración.",
15
- "pl": "Stan urządzenia jest wyświetlany w interfejsie administratora za pomocą koloru i ikony.\\nWewnętrzne kopie adaptera można wyłączyć (dla kopii zapasowych z BackItUp Adapter).\\nZachowywanych jest tylko 10 ostatnich kopii (obecnie są one gromadzone i należy je usunąć ręcznie).\\nNowa funkcja dla brakujące ikony w drzewie Admin Object.",
16
- "zh-cn": "设备状态以颜色和图标显示在管理界面中。\\n可以禁用内部适配器备份(对于使用 BackItUp 适配器的备份)。\\n仅保留最后 10 个备份(当前它们累积并需要手动删除)。\\n新功能管理对象树中缺少图标。"
6
+ "1.7.3": {
7
+ "en": "missing icons with multiple description",
8
+ "de": "fehlende Symbole mit mehrfacher Beschreibung",
9
+ "ru": "отсутствующие значки с несколькими описаниями",
10
+ "pt": "ícones ausentes com descrição múltipla",
11
+ "nl": "ontbrekende pictogrammen met meerdere beschrijvingen",
12
+ "fr": "icônes manquantes avec plusieurs descriptions",
13
+ "it": "icone mancanti con descrizione multipla",
14
+ "es": "faltan iconos con descripción múltiple",
15
+ "pl": "brakujące ikony z wieloma opisami",
16
+ "zh-cn": "缺少具有多个描述的图标"
17
+ },
18
+ "1.7.2": {
19
+ "en": "corr download missing icon",
20
+ "de": "korrektur download fehlendes Icon",
21
+ "ru": "Корр скачать отсутствует значок",
22
+ "pt": "corr baixar ícone ausente",
23
+ "nl": "corr download ontbreekt icoon",
24
+ "fr": "corr télécharger l'icône manquante",
25
+ "it": "corr download icona mancante",
26
+ "es": "falta el icono de descarga corr",
27
+ "pl": "brak ikony pobierania corr",
28
+ "zh-cn": "更正下载丢失的图标"
29
+ },
30
+ "1.7.1": {
31
+ "en": "Device status is displayed in admin interface with color and icon.\nInternal adapter backups can be disabled (for backups with BackItUp Adapter).\nOnly last 10 backups are kept (currently they accumulate and need to be deleted manually).\nNew function for missing icons in Admin Object tree.",
32
+ "de": "Der Gerätestatus wird in der Admin-Oberfläche mit Farbe und Symbol angezeigt.\nInterne Adapter-Backups können deaktiviert werden (für Backups mit BackItUp Adapter).\nNur die letzten 10 Backups werden aufbewahrt (derzeit sammeln sie sich an und müssen manuell gelöscht werden).\nNeue Funktion für fehlende Symbole im Admin-Objektbaum.",
33
+ "ru": "Состояние устройства отображается в административном интерфейсе цветом и значком.\nВнутренние резервные копии адаптера могут быть отключены (для резервных копий с помощью BackItUp Adapter).\nХранятся только последние 10 резервных копий (в настоящее время они накапливаются и должны быть удалены вручную).\nНовая функция для отсутствуют значки в дереве объектов администрирования.",
34
+ "pt": "O status do dispositivo é exibido na interface de administração com cor e ícone.\nOs backups do adaptador interno podem ser desabilitados (para backups com o BackItUp Adapter).\nSomente os últimos 10 backups são mantidos (atualmente eles se acumulam e precisam ser excluídos manualmente).\nNova função para ícones ausentes na árvore de objetos de administração.",
35
+ "nl": "Apparaatstatus wordt weergegeven in de beheerdersinterface met kleur en pictogram.\nInterne adapterback-ups kunnen worden uitgeschakeld (voor back-ups met BackItUp Adapter).\nAlleen de laatste 10 back-ups worden bewaard (momenteel worden deze verzameld en moeten ze handmatig worden verwijderd).\nNieuwe functie voor ontbrekende pictogrammen in Admin Object-structuur.",
36
+ "fr": "L'état de l'appareil est affiché dans l'interface d'administration avec une couleur et une icône.\nLes sauvegardes de l'adaptateur interne peuvent être désactivées (pour les sauvegardes avec l'adaptateur BackItUp).\nSeules les 10 dernières sauvegardes sont conservées (actuellement, elles s'accumulent et doivent être supprimées manuellement).\nNouvelle fonction pour icônes manquantes dans l'arborescence des objets d'administration.",
37
+ "it": "Lo stato del dispositivo viene visualizzato nell'interfaccia di amministrazione con un colore e un'icona.\nI backup interni dell'adattatore possono essere disabilitati (per i backup con l'adattatore BackItUp).\nSono conservati solo gli ultimi 10 backup (attualmente si accumulano e devono essere eliminati manualmente).\nNuova funzione per icone mancanti nell'albero degli oggetti amministratore.",
38
+ "es": "El estado del dispositivo se muestra en la interfaz de administración con color e icono.\nLas copias de seguridad del adaptador interno se pueden desactivar (para copias de seguridad con el adaptador BackItUp).\nSolo se conservan las últimas 10 copias de seguridad (actualmente se acumulan y deben eliminarse manualmente).\nNueva función para Faltan iconos en el árbol de objetos de administración.",
39
+ "pl": "Stan urządzenia jest wyświetlany w interfejsie administratora za pomocą koloru i ikony.\nWewnętrzne kopie adaptera można wyłączyć (dla kopii zapasowych z BackItUp Adapter).\nZachowywanych jest tylko 10 ostatnich kopii (obecnie są one gromadzone i należy je usunąć ręcznie).\nNowa funkcja dla brakujące ikony w drzewie Admin Object.",
40
+ "zh-cn": "设备状态以颜色和图标显示在管理界面中。\n可以禁用内部适配器备份(对于使用 BackItUp 适配器的备份)。\n仅保留最后 10 个备份(当前它们累积并需要手动删除)。\n新功能管理对象树中缺少图标。"
17
41
  },
18
42
  "1.6.18": {
19
43
  "de": "fix pairing mode",
@@ -96,17 +120,7 @@
96
120
  "authors": [
97
121
  "Kirov Ilya<kirovilya@gmail.com>"
98
122
  ],
99
- "license": "MIT",
100
- "docs": {
101
- "en": "docs/en/readme.md",
102
- "ru": "docs/ru/readme.md",
103
- "de": "docs/de/readme.md",
104
- "es": "docs/es/readme.md",
105
- "it": "docs/it/readme.md",
106
- "fr": "docs/fr/readme.md",
107
- "nl": "docs/nl/readme.md",
108
- "pt": "docs/pt/readme.md"
109
- },
123
+ "license": "MIT",
110
124
  "platform": "Javascript/Node.js",
111
125
  "mode": "daemon",
112
126
  "icon": "zigbee.png",
@@ -170,7 +184,7 @@
170
184
  "condition": {
171
185
  "operand": "and",
172
186
  "rules": [
173
- "oldVersion<1.6.18",
187
+ "oldVersion<=1.6.18",
174
188
  "newVersion>=1.7.0"
175
189
  ]
176
190
  },
@@ -187,16 +201,16 @@
187
201
  "zh-cn": "重要通知!"
188
202
  },
189
203
  "text": {
190
- "en": "This new version cleans the file backup (under \opt\iobroker\iobroker-data\zigbee_0\) of the adapter. Only the last 10 backups are kept.",
191
- "de": "Diese neue Version bereinigt das Datei backup (unter \opt\iobroker\iobroker-data\zigbee_0\) des Adapter. Es werden nur die letzten 10 Sicherungen behalten.",
192
- "ru": "Эта новая версия очищает резервную копию файла (в папке \opt\iobroker\iobroker-data\zigbee_0\) адаптера. Сохраняются только последние 10 резервных копий.",
193
- "pt": "Esta nova versão limpa o backup do arquivo (em \opt\iobroker\iobroker-data\zigbee_0\) do adaptador. Apenas os últimos 10 backups são mantidos.",
194
- "nl": "Deze nieuwe versie maakt de bestandsback-up schoon (onder \opt\iobroker\iobroker-data\zigbee_0\) van de adapter. Alleen de laatste 10 back-ups worden bewaard.",
195
- "fr": "Cette nouvelle version nettoie le fichier de sauvegarde (sous \opt\iobroker\iobroker-data\zigbee_0\) de l'adaptateur. Seules les 10 dernières sauvegardes sont conservées.",
196
- "it": "Questa nuova versione pulisce il backup del file (in \opt\iobroker\iobroker-data\zigbee_0\) dell'adattatore. Vengono mantenuti solo gli ultimi 10 backup.",
197
- "es": "Esta nueva versión limpia la copia de seguridad del archivo (en \opt\iobroker\iobroker-data\zigbee_0\) del adaptador. Solo se conservan las últimas 10 copias de seguridad.",
198
- "pl": "Ta nowa wersja czyści kopię pliku (w \opt\iobroker\iobroker-data\zigbee_0\) adaptera. Przechowywanych jest tylko 10 ostatnich kopii.",
199
- "zh-cn": "这个新版本清理了适配器的文件备份(在 \opt\iobroker\iobroker-data\zigbee_0\ 下)。仅保留最后 10 个备份。"
204
+ "en": "This new version cleans the file backup (under \\opt\\iobroker\\iobroker-data\\zigbee_0\\) of the adapter. Only the last 10 backups are kept.",
205
+ "de": "Diese neue Version bereinigt das Datei backup (unter \\opt\\iobroker\\iobroker-data\\zigbee_0\\) des Adapter. Es werden nur die letzten 10 Sicherungen behalten.",
206
+ "ru": "Эта новая версия очищает резервную копию файла (в папке \\opt\\iobroker\\iobroker-data\\zigbee_0\\) адаптера. Сохраняются только последние 10 резервных копий.",
207
+ "pt": "Esta nova versão limpa o backup do arquivo (em \\opt\\iobroker\\iobroker-data\\zigbee_0\\) do adaptador. Apenas os últimos 10 backups são mantidos.",
208
+ "nl": "Deze nieuwe versie maakt de bestandsback-up schoon (onder \\opt\\iobroker\\iobroker-data\\zigbee_0\\) van de adapter. Alleen de laatste 10 back-ups worden bewaard.",
209
+ "fr": "Cette nouvelle version nettoie le fichier de sauvegarde (sous \\opt\\iobroker\\iobroker-data\\zigbee_0\\) de l'adaptateur. Seules les 10 dernières sauvegardes sont conservées.",
210
+ "it": "Questa nuova versione pulisce il backup del file (in \\opt\\iobroker\\iobroker-data\\zigbee_0\\) dell'adattatore. Vengono mantenuti solo gli ultimi 10 backup.",
211
+ "es": "Esta nueva versión limpia la copia de seguridad del archivo (en \\opt\\iobroker\\iobroker-data\\zigbee_0\\) del adaptador. Solo se conservan las últimas 10 copias de seguridad.",
212
+ "pl": "Ta nowa wersja czyści kopię pliku (w \\opt\\iobroker\\iobroker-data\\zigbee_0\\) adaptera. Przechowywanych jest tylko 10 ostatnich kopii.",
213
+ "zh-cn": "这个新版本清理了适配器的文件备份(在 \\opt\\iobroker\\iobroker-data\\zigbee_0\\ 下)。仅保留最后 10 个备份。"
200
214
  },
201
215
  "link": "https://github.com/ioBroker/ioBroker.zigbee/blob/master/README.md",
202
216
  "level": "warn",
@@ -492,11 +492,20 @@ class StatesController extends EventEmitter {
492
492
  const modelDesc = statesMapping.findModel(model);
493
493
  let icon = (modelDesc && modelDesc.icon) ? modelDesc.icon : 'img/unknown.png';
494
494
  // clear icon if it external
495
- const pathToIcon = this.adapter.adapterDir + '/admin/img/' + model + '.png';
495
+ const model_modif = model.replace(/\//g, '-');
496
+
497
+ const pathToIcon = this.adapter.adapterDir + '/admin/img/' + model_modif + '.png';
496
498
 
497
- if (icon.startsWith('http')) {
498
- this.downloadIcon(icon, pathToIcon);
499
- icon = 'img/' + model + '.png';
499
+ if (icon.startsWith('http')) {
500
+ try {
501
+ if (!fs.existsSync(pathToIcon)) {
502
+ this.warn(`download icon from ${icon} saved into ${pathToIcon}`);
503
+ this.downloadIcon(icon, pathToIcon);
504
+ }
505
+ icon = 'img/' + model_modif + '.png';
506
+ } catch (e) {
507
+ this.debug(`ERROR : icon not found from ${icon} saved into ${pathToIcon}`);
508
+ }
500
509
  }
501
510
 
502
511
  this.adapter.setObjectNotExists(id, {
@@ -511,28 +520,27 @@ class StatesController extends EventEmitter {
511
520
  }
512
521
 
513
522
  async downloadIcon(url, image_path) {
514
- if (!fs.existsSync(image_path)) {
515
- var download = function(uri, filename, callback){
516
- request.head(uri, function(err, res, body){
517
- if (err) callback(err, filename);
518
- else {
519
- var stream = request(uri);
520
- stream.pipe(
521
- fs.createWriteStream(filename)
522
- .on('error', function(err){
523
- callback(error, filename);
524
- stream.read();
525
- })
526
- )
527
- .on('close', function() {
528
- // here admin upload
529
- });
530
- }
531
- });
532
- };
533
- download(url,image_path);
534
- }
523
+ if (!fs.existsSync(image_path)) {
524
+ return new Promise((resolve, reject) => {
525
+ request.head(url, function (err, res, body) {
526
+ if (err) {
527
+ return reject(err);
528
+ }
529
+ let stream = request(url);
530
+ stream.pipe(
531
+ fs.createWriteStream(image_path)
532
+ .on('error', err => {
533
+ reject(err);
534
+ })
535
+ )
536
+ .on('close', function () {
537
+ resolve();
538
+ });
539
+ });
540
+ });
541
+ }
535
542
  }
543
+
536
544
  async syncDevStates(dev, model) {
537
545
  const devId = dev.ieeeAddr.substr(2);
538
546
  // devId - iobroker device id
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "iobroker.zigbee",
3
- "version": "1.7.0",
3
+ "version": "1.7.3",
4
4
  "author": {
5
5
  "name": "Kirov Ilya",
6
6
  "email": "kirovilya@gmail.com"
@@ -19,7 +19,7 @@
19
19
  },
20
20
  "dependencies": {
21
21
  "zigbee-herdsman": "0.14.33",
22
- "zigbee-herdsman-converters": "14.0.528",
22
+ "zigbee-herdsman-converters": "14.0.529",
23
23
  "@iobroker/adapter-core": "^2.4.0",
24
24
  "tar": "^6.0.5",
25
25
  "typescript": "^4.0.5"