iobroker.zigbee 1.6.18 → 1.7.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.
package/admin/words.js CHANGED
@@ -2,7 +2,7 @@
2
2
  'use strict';
3
3
 
4
4
  systemDictionary = {
5
- "Add binding": { "en": "Add binding", "de": "Bindung hinzufügen", "ru": "Добавить привязку", "pt": "Adicionar ligação", "nl": "Voeg binding toe", "fr": "Ajouter une liaison", "it": "Aggiungi associazione", "es": "Agregar enlace", "pl": "Dodaj wiązanie", "zh-cn": "添加绑定"},
5
+ "Add binding": { "en": "Add binding", "de": "Bindung hinzufügen", "ru": "Добавить привязку", "pt": "Adicionar ligação", "nl": "Voeg binding toe", "fr": "Ajouter une liaison", "it": "Aggiungi associazione", "es": "Agregar enlace", "pl": "Dodaj wiązanie", "zh-cn": "绑定"},
6
6
  "Add group": { "en": "Add group", "de": "Füge Gruppe hinzu", "ru": "Добавить группу", "pt": "Adicionar grupo", "nl": "Groep toevoegen", "fr": "Ajouter un groupe", "it": "Aggiungere gruppo", "es": "Añadir grupo", "pl": "Dodaj grupę", "zh-cn": "新增群组"},
7
7
  "Attribute ID": { "en": "Attribute ID", "de": "Attribut-ID", "ru": "ID атрибута", "pt": "ID do atributo", "nl": "Kenmerk-ID", "fr": "ID d'attribut", "it": "ID attributo", "es": "ID de atributo", "pl": "Identyfikator atrybutu", "zh-cn": "属性ID"},
8
8
  "Binding": { "en": "Binding", "de": "Bindung", "ru": "Привязка", "pt": "Ligação", "nl": "Verbindend", "fr": "Contraignant", "it": "Rilegatura", "es": "Unión", "pl": "połączenie", "zh-cn": "捆绑"},
@@ -26,7 +26,7 @@ systemDictionary = {
26
26
  "Device details": { "en": "Device details", "de": "Gerätedetails", "ru": "Детали устройства", "pt": "Device details", "nl": "Apparaat details", "fr": "Détails du dispositif", "it": "Device details", "es": "Device details", "pl": "Urządzenia", "zh-cn": "设备详情"},
27
27
  "Device information": { "en": "Device information", "de": "Geräteinformation", "ru": "Информация об устройстве", "pt": "Informação de dispositivo", "nl": "Apparaat informatie", "fr": "Informations sur le dispositif", "it": "Informazioni sul dispositivo", "es": "Información del dispositivo", "pl": "Informacje o urządzeniu", "zh-cn": "设备信息"},
28
28
  "Device map info": { "en": "<b>Click a device to see more details.</b> Every device can have only one parent. Devices may change their parent by themselves. There is no way to force a device to a specific parent. (If you see more than one parent link, it may be outdated data.)<br>You may also move devices for better visibility.<br>Weak and offline links are shown red. If a device label shows red, no links were found. No problem if a device has only 'Previous Parents' links, it may just not have sent new data for some time.", "de": "<p>Du kannst auf ein Gerät klicken um mehr Details zu sehen.</p> Jedes Gerät kann nur ein Parent haben. Geräte können ihre Parents auch selbstständig wechseln, es gibt keine Möglichkeit einen bestimmten Parent zu erzwingen. (Falls mehrere Parent Links angezeigt werden, kommt das vermutlich von noch nicht aktualisierten Daten.)<br>Geräte lassen sich verschieben für bessere Übersicht.<br>Schwache und Offline Links werden in rot angezeigt. Wenn der Gerätename rot dargestellt wird, hat das Gerät keine Verbindungen. Wenn ein Gerät nur 'Letzte Parents' Verbindungen hat, ist das kein Problem, es hat vermutlich nur seit einer Weile keine Daten geschickt.", "ru": "<b>Кликните на устройстве, чтобы увидеть связи.</b> Каждое устройство имеет только одного родителя. Устройства могут сменить родителя самостоятельно. Нет возможности принудительно сменить родителя устройства (если вы видите больше чем одну родительскую связь, это могут быть устаревшие данные).<br>Слабые и недоступные связи показываются красным. Если название устройства отображается красным, то не найдено ни одной связи. Не проблема, если устройства имеет только связи от 'Предыдущих родителей', это может означать, что просто небыло передач данных какое-то время.", "pt": "<b>Clique em um dispositivo para ver mais detalhes.</b> Cada dispositivo pode ter apenas um pai. Os dispositivos podem mudar seus pais por si próprios. Não há como forçar um dispositivo a um pai específico. (se você vir mais de um link pai, pode ser um dado desatualizado). <br> Você também pode mover dispositivos para melhor visibilidade. <br> Links fracos e off-line são exibidos em vermelho. Se um rótulo de dispositivo mostra vermelho, nenhum link foi encontrado. Não há problema se um dispositivo tiver apenas links de 'Pais anteriores', ele pode simplesmente não enviar novos dados há algum tempo.", "nl": "<b>Klik op een apparaat om meer details te zien.</b> Elk apparaat kan maar één relatie hebben. Apparaten kunnen hun relatie zelf veranderen. Er is geen manier om een apparaat aan een specifieke relatie te forceren. (als u meer dan één relatie ziet, kunnen dit verouderde gegevens zijn). <br> U kunt ook apparaten verplaatsen voor een betere zichtbaarheid. <br> Zwakke apparaten en onbereikbare links worden rood weergegeven. Als een apparaatlabel rood is, zijn er geen links gevonden. Geen probleem als een apparaat alleen 'Vorige relatie'-links heeft, het kan zijn dat het enige tijd geleden is dat gegevens verzonden zijn.", "fr": "<b>Cliquez sur un dispositif pour voir plus de détails.</b> Chaque dispositif ne peut avoir qu'un seul parent. Les appareils peuvent changer les parents par eux-mêmes. Il n'y a aucun moyen de forcer un appareil à un parent spécifique. (Si vous voyez plus d'un lien parent, il peut s'agir de données obsolètes.) <br> Vous pouvez également déplacer des appareils pour une meilleure visibilité. <br> Les liens faibles et hors ligne sont affichés en rouge. Si une étiquette de dispositif est rouge, aucun lien n'a été trouvé. Pas de problème si un appareil n'a que des liens «Parents précédents», il se peut qu'il n'ait tout simplement pas envoyé de nouvelles données depuis un certain temps.", "it": "<b>Fare clic su un dispositivo per visualizzare ulteriori dettagli.</b> Ogni dispositivo può avere un solo genitore. I dispositivi possono cambiare lì i genitori da soli. Non è possibile forzare un dispositivo a un genitore specifico. (se vedi più di un collegamento principale, potrebbero essere dati obsoleti). <br> Puoi anche spostare i dispositivi per una migliore visibilità. <br> I collegamenti deboli e offline vengono visualizzati in rosso. Se l'etichetta di un dispositivo è rossa, non è stato trovato alcun collegamento. Nessun problema se un dispositivo ha solo link 'Genitori precedenti', potrebbe semplicemente non inviare nuovi dati da un po 'di tempo.", "es": "<b>Haga clic en un dispositivo para ver más detalles.</b> Cada dispositivo puede tener un solo padre. Los dispositivos pueden cambiar sus padres por sí mismos. No hay forma de forzar un dispositivo a un padre específico. (si ve más de un enlace principal, es posible que sean datos desactualizados). <br> También puede mover dispositivos para una mejor visibilidad. <br> Los enlaces débiles y fuera de línea se muestran en rojo. Si la etiqueta de un dispositivo se muestra en rojo, no se encontraron enlaces. No hay problema si un dispositivo solo tiene enlaces de 'Padres anteriores', es posible que no haya enviado nuevos datos desde hace algún tiempo.", "pl": "<b>Kliknij urządzenie, aby wyświetlić więcej szczegółów.</b> Każde urządzenie może mieć tylko jednego rodzica. Urządzenia mogą tam samodzielnie zmieniać rodziców. Nie ma sposobu, aby narzucić urządzenie konkretnemu rodzicowi. (jeśli widzisz więcej niż jeden link nadrzędny, mogą to być nieaktualne dane). <br> Możesz także przenosić urządzenia, aby uzyskać lepszą widoczność. <br> Słabe linki i linki offline są wyświetlane na czerwono. Jeśli etykieta urządzenia ma kolor czerwony, nie znaleziono żadnych linków. Nie ma problemu, jeśli urządzenie ma tylko linki „Poprzedni rodzic”, może po prostu nie wysyłać nowych danych od pewnego czasu.", "zh-cn": "<b>单击设备以查看更多详细信息。</b>每个设备只能有一个父级。设备可能会自行更改那里的父母。无法将设备强制为特定的父级。 (如果您看到多个父链接,则可能是过时的数据)。 <br>您也可以移动设备以获得更好的可见性。 <br>弱链接和脱机链接显示为红色。如果设备标签显示红色,则找不到任何链接。如果设备仅具有“以前的上级”链接,则没问题,它可能从一段时间以来就没有发送过新数据。"},
29
- "Devices": { "en": "Devices", "de": "Geräte", "ru": "Устройства", "pt": "Dispositivos", "nl": "Apparaten", "fr": "Dispositifs", "it": "dispositivi", "es": "Dispositivos", "pl": "Urządzenia", "zh-cn": "已连接设备"},
29
+ "Devices": { "en": "Devices", "de": "Geräte", "ru": "Устройства", "pt": "Dispositivos", "nl": "Apparaten", "fr": "Dispositifs", "it": "dispositivi", "es": "Dispositivos", "pl": "Urządzenia", "zh-cn": "设备"},
30
30
  "Disable LED for cc2531": { "en": "Disable LED for cc2531", "de": "LED auf CC2531 deaktivieren", "ru": "Выключить индикатор для cc2531", "pt": "Desativar LED para cc2531", "nl": "Schakel LED uit voor cc2531", "fr": "Désactiver DEL pour cc2531", "it": "Disabilita LED per cc2531", "es": "Desactivar LED para cc2531", "pl": "Wyłącz LED dla cc2531", "zh-cn": "关闭CC2531指示灯"},
31
31
  "Disable Queue": { "en": "Disable queue", "de": "Queue deaktivieren", "ru": "Выключить Queue", "pt": "Desativar Queue", "nl": "Wachtrij uitschakelen", "fr": "Désactiver la queue", "it": "Disabilita Queue", "es": "Desactivar Queue", "pl": "Wyłącz Queue", "zh-cn": "关闭队列"},
32
32
  "Do you really want to delete device": { "en": "Do you really want to delete the device?", "de": "Möchtest du das Gerät wirklich löschen?", "ru": "Вы действительно хотите удалить устройство?", "pt": "Você realmente quer deletar o dispositivo", "nl": "Weet je zeker dat je het apparaat wilt verwijderen?", "fr": "Voulez-vous vraiment supprimer le dispositif ?", "it": "Vuoi davvero eliminare il dispositivo", "es": "¿Realmente quieres borrar dispositivo?", "pl": "Czy naprawdę chcesz usunąć urządzenie?", "zh-cn": "确定要删除设备?"},
@@ -42,7 +42,7 @@ systemDictionary = {
42
42
  "Hide": { "en": "Hide", "de": "Ausblenden", "ru": "Скрыть", "pt": "ocultar", "nl": "Verbergen", "fr": "Cacher", "it": "Nascondere", "es": "Esconder", "pl": "Ukryj", "zh-cn": "隐藏"},
43
43
  "Let's pairing!": { "en": "Let's start pairing!", "de": "Kopplung jetzt starten!", "ru": "Запуск сопряжения устройств!", "pt": "Vamos emparelhar!", "nl": "Laten we verbinding maken!", "fr": "Apparions!", "it": "Facciamo coppia!", "es": "Vamos a emparejar!", "pl": "Wystartuj łączenie!", "zh-cn": "开始配对!"},
44
44
  "Map view config": { "en": "Map view config", "de": "Kartenansicht konfigurieren", "ru": "Настройки представления", "pt": "Map view config", "nl": "Map weergave configuratie", "fr": "Map view config", "it": "Map view config", "es": "Map view config", "pl": "Konfiguracja mapy", "zh-cn": "配置组网页面"},
45
- "Name": { "en": "Name", "de": "Name", "ru": "Имя", "pt": "Nome", "nl": "Naam", "fr": "Nom", "it": "Nome", "es": "Nombre", "pl": "Imię", "zh-cn": "设备名"},
45
+ "Name": { "en": "Name", "de": "Name", "ru": "Имя", "pt": "Nome", "nl": "Naam", "fr": "Nom", "it": "Nome", "es": "Nombre", "pl": "Imię", "zh-cn": "名称"},
46
46
  "Needs value": { "en": "Needs value", "de": "Ein Wert wird benötigt", "ru": "Требуется значение", "pt": "Precisa de valor", "nl": "Heeft waarde nodig", "fr": "Besoin de valeur", "it": "Ha bisogno di valore", "es": "Necesita valor", "pl": "Potrzebuje wartości", "zh-cn": "需要价值"},
47
47
  "Network map": { "en": "Network map", "de": "Netzwerkkarte", "ru": "Карта сети", "pt": "Mapa de rede", "nl": "Netwerkkaart", "fr": "Carte du réseau", "it": "Mappa di rete", "es": "Mapa de red", "pl": "Mapa sieci", "zh-cn": "组网状态"},
48
48
  "Pairing process": { "en": "Pairing process", "de": "Kopplungsfortschritt", "ru": "Процесс спаривания", "pt": "Processo de emparelhamento", "nl": "Koppelingsproces", "fr": "Processus d'appariement", "it": "Processo di accoppiamento", "es": "Proceso de emparejamiento", "pl": "parowanie", "zh-cn": "配对进度"},
@@ -87,7 +87,7 @@ systemDictionary = {
87
87
  "Transport Key Text": { "en": "Transport Key is the network encryption key. Please choose a random key sequence <b>before</b> you pair your devices. Just enter 32 random hex character (a-f and 0-9). If you change the key later, you will have to repair your devices.", "de": "Transportschlüssel ist der Netzwerkverschlüsselungsschlüssel. Bitte wähle eine zufällige Schlüsselsequenz <b>bevor</b> du Geräte koppelst. Gib einfach 32 zufällige Hex-Zeichen ein (a-f und 0-9). Wenn du den Schlüssel später änderst, musst du alle Geräte neu koppeln.", "ru": "Транспортный ключ - это сетевой ключ шифрования. Пожалуйста, выберите случайную последовательность <b>перед</b> подключением устройств. Просто введите 32 случайных шестнадцатеричных символа (a-f и 0-9). Если вы поменяете ключ позже, вам придется снова спаривать свои устройства.", "pt": "Chave de transporte é a chave de criptografia da rede. ", "nl": "Transportsleutel is de netwerkversleutelingssleutel. Kies een willekeurige toetsenreeks <b> voordat </b> u uw apparaten koppelt. Voer gewoon 32 willekeurige hexadecimale tekens in (a-f en 0-9). Als u de sleutel later wijzigt, moet u alle apparaten opnieuw aanleren.", "fr": "La clé de transport est la clé de chiffrement du réseau. Choisissez s.v.p. une chaîne <b>avant</b> de coupler vos dispositifs. Entrez simplement 32 caractères hexadécimaux aléatoires (a-f et 0-9). Si vous changez la clé plus tard, vous devez re-coupler vos dispositifs.", "it": "La chiave di trasporto è la chiave di crittografia della rete. ", "es": "Transport Key es la clave de cifrado de red. ", "pl": "Klucz transportowy to sieciowy klucz szyfrowania.", "zh-cn": "传输密钥是网络加密密钥。"},
88
88
  "Transport Key": { "en": "Transport Key", "de": "Transportschlüssel", "ru": "Транспортный ключ", "pt": "Chave de transporte", "nl": "Transport sleutel", "fr": "Clé de transport", "it": "Chiave di trasporto", "es": "Transporte clave", "pl": "Klucz transportowy", "zh-cn": "运输钥匙"},
89
89
  "Type": { "en": "Type", "de": "Typ", "ru": "Тип", "pt": "Tipo", "nl": "Type", "fr": "Type", "it": "genere", "es": "Tipo", "pl": "Rodzaj", "zh-cn": "类型"},
90
- "Unbind remote from Coordinator (necessary for some remotes like HUE Dimmer Switch)": {"en": "Unbind remote from coordinator (necessary for some remotes like HUE Dimmer Switch)", "de": "Entkoppele die Fernbedienung vom Koordinator (erforderlich für einige Fernbedienungen wie HUE Dimmer Switch)", "ru": "Отсоедините пульт от Coordinator (необходим для некоторых пультов, таких как HUE Dimmer Switch)", "pt": "Desconecte o controle remoto do Coordinator (necessário para alguns controles remotos, como o HUE Dimmer Switch)", "nl": "Ontkoppel afstandsbediening van Coordinator (noodzakelijk voor sommige afstandsbedieningen zoals HUE Dimmer Switch)", "fr": "Dissocier la télécommande de coordination (nécessaire pour certaines télécommandes comme HUE Dimmer Switch)", "it": "Sblocca il telecomando da Coordinator (necessario per alcuni telecomandi come HUE Dimmer Switch)", "es": "Desvincule el control remoto del Coordinador (necesario para algunos controles remotos como HUE Dimmer Switch)", "pl": "Odłącz pilota od Coordinatora (niezbędny do niektórych pilotów, takich jak HUE Dimmer Switch)", "zh-cn": "从Coordinator取消绑定遥控器(对于某些遥控器,例如HUE Dimmer Switch,这是必需的)"},
90
+ "Unbind remote from Coordinator (necessary for some remotes like HUE Dimmer Switch)": {"en": "Unbind remote from coordinator (necessary for some remotes like HUE Dimmer Switch)", "de": "Entkoppele die Fernbedienung vom Koordinator (erforderlich für einige Fernbedienungen wie HUE Dimmer Switch)", "ru": "Отсоедините пульт от координатора (необходим для некоторых пультов, таких как HUE Dimmer Switch)", "pt": "Desconecte o controle remoto do Coordinator (necessário para alguns controles remotos, como o HUE Dimmer Switch)", "nl": "Ontkoppel afstandsbediening van Coordinator (noodzakelijk voor sommige afstandsbedieningen zoals HUE Dimmer Switch)", "fr": "Dissocier la télécommande de coordination (nécessaire pour certaines télécommandes comme HUE Dimmer Switch)", "it": "Sblocca il telecomando da Coordinator (necessario per alcuni telecomandi come HUE Dimmer Switch)", "es": "Desvincule el control remoto del Coordinador (necesario para algunos controles remotos como HUE Dimmer Switch)", "pl": "Odłącz pilota od Coordinatora (niezbędny do niektórych pilotów, takich jak HUE Dimmer Switch)", "zh-cn": "从Coordinator取消绑定遥控器(对于某些遥控器,例如HUE Dimmer Switch,这是必需的)"},
91
91
  "View config": { "en": "View config", "de": "Konfiguration anzeigen", "ru": "Посмотреть конфигурацию", "pt": "Ver configuração", "nl": "Bekijk configuratie", "fr": "Afficher la configuration", "it": "Visualizza config", "es": "Ver configuración", "pl": "Wyświetl config", "zh-cn": "查看配置"},
92
92
  "Waiting": { "en": "Waiting", "de": "Warten", "ru": "Ожидание", "pt": "Esperando", "nl": "Wachtende", "fr": "Attendre", "it": "In attesa", "es": "Esperando", "pl": "Czekaj", "zh-cn": "等候"},
93
93
  "Write Attribute": { "en": "Write attribute", "de": "Attribut schreiben", "ru": "Запись атрибута", "pt": "Gravar Atributo", "nl": "Schrijf attribuut", "fr": "Ecrire attribut", "it": "Scrivi attributo", "es": "Escribir atributo", "pl": "Napisz atrybut", "zh-cn": "写属性"},
@@ -105,5 +105,8 @@ systemDictionary = {
105
105
  "Excludes": { "en": "to exclude", "de": "ausschließen", "ru": "Исключить", "pl": "wyklucz"},
106
106
  "ExcludeTextTranslation": { "en": "Here you can add some devices that should be excluded from our description. They only use \"exposes\" from zigbee-herdsman-converter. After adding, please restart the adapter.", "de": "Sie können hier einige Geräte hinzufügen, die von unserer Verarbeitungausgeschlossen werden sollten. Sie verwenden dann nur exposes vom ZigBee-Herdsman-Converter. Nach dem Hinzufügen starten Sie bitte den Adapter neu.", "ru": "Здесь вы можете добавить устройства, для которых надо исключить представление заданное адаптером (iobroker.zigbee). В этом случае они будут использовать \"exposes\" из zigbee-herdsman-converter. После добавления перезапустите адаптер.", "pl": "Możesz dodać tutaj kilka urządzeń, które powinny zostać wyłączone z naszego opisu. Używasz tylko ekspozycji z zigbee-herdsman-converter. Po dodaniu zrestartuj adapter"},
107
107
  "SettingsExclude": { "en": "Force start adapter with inconsistent configuration (not recommended). Please update the adapter to compatible firmware and recreate your network as soon as possible.", "de": "Erzwingen Sie den Start des Adapters mit inkonsistenter Konfiguration (nicht empfohlen). Bitte aktualisieren Sie den Adapter auf kompatible Firmware und erstellen Sie Ihr Netzwerk so schnell wie möglich neu.", "pl": "Wystaruj Adapter bez zgodnej konfiguracji (uwaga). Zaktualizuj adapter i jak najszybciej odtwórz sieć."},
108
- "color available state": { "en": "color available state", "de": "Farbe verfügbarer Zustand", "ru": "состояние доступности цвета", "pt": "estado de cor disponível", "nl": "kleur beschikbaar staat", "fr": "état de couleur disponible", "it": "stato disponibile colore", "es": "estado disponible del color", "pl": "kolor stanu", "zh-cn": "颜色可用状态"},
108
+ "Others": {"en": "other settings", "de": "andere Einstellungen", "ru": "другие настройки", "pt": "outros ajustes", "nl": "andere instellingen", "fr": "autres réglages", "it": "altre impostazioni", "es": "otros ajustes", "pl": "inne ustawienia", "zh-cn": "其他设置"},
109
+ "disable internal Backup": {"en": "disable internal Backup", "de": "Deaktivieren Sie die interne Sicherung", "ru": "отключить внутреннее резервное копирование", "pt": "desabilitar backup interno", "nl": "interne back-up uitschakelen", "fr": "désactiver la sauvegarde interne", "it": "disabilitare il backup interno", "es": "deshabilitar la copia de seguridad interna", "pl": "wyłącz wewnętrzną kopię zapasową", "zh-cn": "禁用内部备份"},
110
+ "Disable active availability check": {"en": "Disable active availability check", "de": "Aktive Verfügbarkeitsprüfung deaktivieren", "ru": "Отключить активную проверку доступности", "pt": "Desativar verificação de disponibilidade ativa", "nl": "Actieve beschikbaarheidscontrole uitschakelen", "fr": "Désactiver le contrôle de disponibilité actif", "it": "Disattiva il controllo disponibilità attivo", "es": "Deshabilitar verificación de disponibilidad activa", "pl": "Wyłącz aktywne sprawdzanie dostępności", "zh-cn": "禁用主动可用性检查"},
109
111
  };
112
+
package/io-package.json CHANGED
@@ -1,8 +1,20 @@
1
1
  {
2
2
  "common": {
3
3
  "name": "zigbee",
4
- "version": "1.6.18",
4
+ "version": "1.7.0",
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新功能管理对象树中缺少图标。"
17
+ },
6
18
  "1.6.18": {
7
19
  "de": "fix pairing mode",
8
20
  "en": "fix pairing mode",
@@ -42,105 +54,7 @@
42
54
  "1.6.6": {
43
55
  "en": "fix admin"
44
56
  },
45
- "1.6.5": {
46
- "en": "Some fixes and updates"
47
- },
48
- "1.6.3": {
49
- "en": "Some fixes and updates"
50
- },
51
- "1.6.2": {
52
- "en": "Some fixes and updates"
53
- },
54
- "1.6.0": {
55
- "en": "Improvements and new devices"
56
- },
57
- "1.5.6": {
58
- "en": "Dashboard"
59
- },
60
- "1.4.1": {
61
- "en": "kelvin is added into color_temp",
62
- "de": "Kelvin wird zu color_temp hinzugefügt",
63
- "ru": "кельвин добавлен в color_temp",
64
- "pt": "Kelvin é adicionado em color_temp",
65
- "nl": "kelvin wordt toegevoegd aan color_temp",
66
- "fr": "kelvin est ajouté dans color_temp",
67
- "it": "kelvin viene aggiunto a color_temp",
68
- "es": "kelvin se agrega a color_temp",
69
- "pl": "kelvin jest dodawany do color_temp",
70
- "zh-cn": "将开尔文添加到color_temp"
71
- },
72
- "1.2.0": {
73
- "en": "serialport 9, drop support Node < 10, new identify by model",
74
- "de": "serialport 9, unterstützung für Node 8 und kleiner gelscöht, neuer identifizierung am model",
75
- "ru": "serialport 9, drop support Node <10, новая идентификация по модели",
76
- "pt": "serialport 9, drop support Node <10, nova identificação por modelo",
77
- "nl": "serialport 9, drop support Node <10, nieuwe identificatie per model",
78
- "fr": "serialport 9, drop support Node <10, nouvelle identification par modèle",
79
- "it": "porta seriale 9, supporto drop Node <10, nuova identificazione per modello",
80
- "es": "serialport 9, drop support Node <10, nueva identificación por modelo",
81
- "pl": "serialport 9, upuść wsparcie Node <10, nowa identyfikacja według modelu",
82
- "zh-cn": "串行端口9,删除支持节点<10,通过型号进行新标识"
83
- },
84
- "1.1.3": {
85
- "en": "refactoring devices.js",
86
- "de": "neustrukturierung devices.js",
87
- "ru": "рефакторинг devices.js",
88
- "pt": "refatoração de devices.js",
89
- "nl": "refactoring devices.js",
90
- "fr": "refactorisation de devices.js",
91
- "it": "refactoring devices.js",
92
- "es": "refactorización de devices.js",
93
- "pl": "refaktoryzacja devices.js",
94
- "zh-cn": "重构devices.js"
95
- },
96
- "1.1.2": {
97
- "en": "Fix variable to converter",
98
- "de": "Variable zum Konverter korrigieren",
99
- "ru": "Исправить переменную в конвертере",
100
- "pt": "Fixar variável para conversor",
101
- "nl": "Fix variabele naar converter",
102
- "fr": "Fixer la variable au convertisseur",
103
- "it": "Correggi la variabile al convertitore",
104
- "es": "Corregir variable al convertidor",
105
- "pl": "Napraw zmienną do konwertera",
106
- "zh-cn": "固定变量到转换器"
107
- },
108
- "1.1.1": {
109
- "en": "Fix for fresh flashed chip",
110
- "de": "Fix für frisch geflashten Chip",
111
- "ru": "Исправить свежий прошитый чип",
112
- "pt": "Correção para chip atualizado",
113
- "nl": "Oplossing voor vers geflitste chip",
114
- "fr": "Correction de la puce flashée fraîche",
115
- "it": "Risolto il problema con il chip lampeggiante fresco",
116
- "es": "Arreglo para chip flasheado nuevo",
117
- "pl": "Naprawiono świeżo flashowany chip",
118
- "zh-cn": "修复新的闪存芯片"
119
- },
120
- "1.1.0": {
121
- "en": "New features and experimental deConz/Conbee support",
122
- "de": "Neue Funktionen und experimentelle deConz / Conbee-Unterstützung",
123
- "ru": "Новые функции и экспериментальная поддержка deConz / Conbee",
124
- "pt": "Novos recursos e suporte experimental deConz / Conbee",
125
- "nl": "Nieuwe functies en experimentele ondersteuning voor deConz / Conbee",
126
- "fr": "Nouvelles fonctionnalités et prise en charge expérimentale de deConz / Conbee",
127
- "it": "Nuove funzionalità e supporto sperimentale deConz / Conbee",
128
- "es": "Nuevas funciones y soporte experimental deConz / Conbee",
129
- "pl": "Nowe funkcje i eksperymentalna obsługa deConz / Conbee",
130
- "zh-cn": "新功能和实验性的deConz / Conbee支持"
131
- },
132
- "1.0.4": {
133
- "en": "New devices and fixes",
134
- "de": "Neue Geräte und Korrekturen",
135
- "ru": "Новые устройства и исправления",
136
- "pt": "Novos dispositivos e correções",
137
- "nl": "Nieuwe apparaten en fixes",
138
- "fr": "Nouveaux appareils et correctifs",
139
- "it": "Nuovi dispositivi e correzioni",
140
- "es": "Nuevos dispositivos y arreglos",
141
- "pl": "Nowe urządzenia i poprawki",
142
- "zh-cn": "新设备和修复"
143
- },
57
+
144
58
  "1.0.0": {
145
59
  "en": "Powered by Zigbee-Herdsman",
146
60
  "de": "Angetrieben von Zigbee-Herdsman",
@@ -168,16 +82,16 @@
168
82
  "zh-cn": "Zigbee"
169
83
  },
170
84
  "desc": {
171
- "en": "Zigbee adapter for Xiaomi (and other) devices via TI cc2531/cc2530",
172
- "ru": "Zigbee адаптер для Xiaomi (и других) устройств через TI cc2531/cc2530",
173
- "de": "ZigBee-Adapter für Xiaomi (und andere) Geräte über TI cc2531 / cc2530",
174
- "pt": "Adaptador Zigbee para dispositivos Xiaomi (e outros) via TI cc2531 / cc2530",
175
- "nl": "Zigbee-adapter voor Xiaomi (en andere) apparaten via TI cc2531 / cc2530",
176
- "fr": "Adaptateur Zigbee pour périphériques Xiaomi (et autres) via TI cc2531 / cc2530",
177
- "it": "Adattatore Zigbee per dispositivi Xiaomi (e altri) tramite TI cc2531 / cc2530",
178
- "es": "Adaptador Zigbee para dispositivos Xiaomi (y otros) a través de TI cc2531 / cc2530",
179
- "pl": "Adapter Zigbee do urządzeń Xiaomi (i innych) za pośrednictwem TI cc2531 / cc2530",
180
- "zh-cn": "适用于小米(和其他)设备的Zigbee适配器,通过TI cc2531 / cc2530"
85
+ "en": "Zigbee adapter for Xiaomi (and other) devices via Chip cc26xx/cc25xx",
86
+ "ru": "Zigbee адаптер для Xiaomi (и других) устройств через Chip cc26xx/cc25xx",
87
+ "de": "ZigBee-Adapter für Xiaomi (und andere) Geräte über Chip cc26xx/cc25xx",
88
+ "pt": "Adaptador Zigbee para dispositivos Xiaomi (e outros) via Chip cc26xx/cc25xx",
89
+ "nl": "Zigbee-adapter voor Xiaomi (en andere) apparaten via Chip cc26xx/cc25xx",
90
+ "fr": "Adaptateur Zigbee pour périphériques Xiaomi (et autres) Chip cc26xx/cc25xx",
91
+ "it": "Adattatore Zigbee per dispositivi Xiaomi (e altri) tramite Chip cc26xx/cc25xx",
92
+ "es": "Adaptador Zigbee para dispositivos Xiaomi (y otros) a través de Chip cc26xx/cc25xx",
93
+ "pl": "Adapter Zigbee do urządzeń Xiaomi (i innych) za pośrednictwem Chip cc26xx/cc25xx",
94
+ "zh-cn": "适用于小米(和其他)设备的Zigbee适配器,通过Chip cc26xx/cc25xx"
181
95
  },
182
96
  "authors": [
183
97
  "Kirov Ilya<kirovilya@gmail.com>"
@@ -250,7 +164,60 @@
250
164
  {
251
165
  "js-controller": ">=3.3.0"
252
166
  }
253
- ]
167
+ ],
168
+ "messages": [
169
+ {
170
+ "condition": {
171
+ "operand": "and",
172
+ "rules": [
173
+ "oldVersion<1.6.18",
174
+ "newVersion>=1.7.0"
175
+ ]
176
+ },
177
+ "title": {
178
+ "en": "Important notice!",
179
+ "de": "Wichtiger Hinweis!",
180
+ "ru": "Важное замечание!",
181
+ "pt": "Notícia importante!",
182
+ "nl": "Belangrijke mededeling!",
183
+ "fr": "Avis important!",
184
+ "it": "Avviso IMPORTANTE!",
185
+ "es": "Noticia importante!",
186
+ "pl": "Ważna uwaga!",
187
+ "zh-cn": "重要通知!"
188
+ },
189
+ "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 个备份。"
200
+ },
201
+ "link": "https://github.com/ioBroker/ioBroker.zigbee/blob/master/README.md",
202
+ "level": "warn",
203
+ "linkText": {
204
+ "en": "Readme",
205
+ "de": "Liesmich",
206
+ "ru": "Прочти меня",
207
+ "pt": "Leia-me",
208
+ "nl": "Leesmij",
209
+ "fr": "Lisez-moi",
210
+ "it": "Leggimi",
211
+ "es": "Léame",
212
+ "pl": "Readme",
213
+ "zh-cn": "自述文件"
214
+ },
215
+ "buttons": [
216
+ "agree",
217
+ "cancel"
218
+ ]
219
+ }
220
+ ]
254
221
  },
255
222
  "native": {
256
223
  "port": "",
@@ -263,6 +230,7 @@
263
230
  "adapterType": "zstack",
264
231
  "debugHerdsman": false,
265
232
  "disablePing": false,
233
+ "disableBackup": false,
266
234
  "external": "",
267
235
  "startWithInconsistent": false
268
236
  },
package/lib/backup.js CHANGED
@@ -52,41 +52,62 @@ class Backup {
52
52
  async configure (zigbeeOptions) {
53
53
  this.zigbeeOptions = zigbeeOptions;
54
54
  this.backup(zigbeeOptions);
55
+ const allBackupFiles = this.listBackupsFiles(zigbeeOptions);
56
+ this.delBackupsFiles(zigbeeOptions, allBackupFiles);
55
57
  }
56
58
 
57
59
  backup(options) {
58
60
  // backup prior database and nv data before start adapter
59
61
  const files = [];
60
- if (fs.existsSync(pathLib.join(options.dbDir, options.backupPath))) files.push(options.backupPath);
61
- if (fs.existsSync(pathLib.join(options.dbDir, options.dbPath))) files.push(options.dbPath);
62
- if (files.length == 0) return;
62
+ if (options.disableBackup) {
63
+ this.info(`internal Backups are disabled`);
64
+ } else {
65
+ if (fs.existsSync(pathLib.join(options.dbDir, options.backupPath))) files.push(options.backupPath);
66
+ if (fs.existsSync(pathLib.join(options.dbDir, options.dbPath))) files.push(options.dbPath);
67
+ if (files.length == 0) return;
63
68
 
64
- const d = new Date();
65
- const backup_name = `${d.getFullYear()}_${('0' + (d.getMonth() + 1)).slice(-2)}_${('0' + d.getDate()).slice(-2)}-`+
69
+ const d = new Date();
70
+ const backup_name = `${d.getFullYear()}_${('0' + (d.getMonth() + 1)).slice(-2)}_${('0' + d.getDate()).slice(-2)}-` +
66
71
  `${('0' + d.getHours()).slice(-2)}_${('0' + d.getMinutes()).slice(-2)}_${('0' + d.getSeconds()).slice(-2)}`;
67
- const tar = require('tar');
68
- const name = pathLib.join(options.dbDir, `backup_${backup_name}.tar.gz`);
69
- const f = fs.createWriteStream(name);
70
- f.on('finish', () => {
71
- this.debug(`Backup ${name} success`);
72
- });
73
- f.on('error', err => {
74
- this.error(`Cannot pack backup ${name}: ` + err);
75
- });
76
- try {
77
- tar.create({gzip: true, p: false, cwd: options.dbDir}, files).pipe(f);
78
- } catch (err) {
79
- this.error(`Cannot pack backup ${name}: ` + err);
72
+ const tar = require('tar');
73
+ const name = pathLib.join(options.dbDir, `backup_${backup_name}.tar.gz`);
74
+ const f = fs.createWriteStream(name);
75
+ f.on('finish', () => {
76
+ this.debug(`Backup ${name} success`);
77
+ });
78
+ f.on('error', err => {
79
+ this.error(`Cannot pack backup ${name}: ` + err);
80
+ });
81
+ try {
82
+ tar.create({gzip: true, p: false, cwd: options.dbDir}, files).pipe(f);
83
+ } catch (err) {
84
+ this.error(`Cannot pack backup ${name}: ` + err);
85
+ }
80
86
  }
81
87
  }
82
88
 
83
- listBackupsFiles() {
84
- const dir = this.zigbeeOptions.dbDir;
89
+ listBackupsFiles(options) {
90
+ const dir = options.dbDir;
85
91
  const result = [];
92
+
86
93
  if (fs.existsSync(dir)) {
87
- const files = fs.readdirSync(dir);
94
+ const directoryContent = fs.readdirSync(dir);
95
+
96
+ let files = directoryContent.filter((filename) => {
97
+ if (filename.indexOf('gz') > 0) {
98
+ return fs.statSync(`${dir}/${filename}`).isFile();
99
+ }
100
+ });
101
+
102
+ let sorted = files.sort((a, b) => {
103
+ let aStat = fs.statSync(`${dir}/${a}`),
104
+ bStat = fs.statSync(`${dir}/${b}`);
105
+
106
+ return new Date(bStat.birthtime).getTime() - new Date(aStat.birthtime).getTime();
107
+ });
108
+
88
109
  for (let i = 0; i < files.length; i++) {
89
- if (files[i].match(/\.tar\.gz$/i)) {
110
+ if (files[i].match(/\.tar\.gz$/i)) { // safety first
90
111
  result.push(files[i]);
91
112
  }
92
113
  }
@@ -96,9 +117,26 @@ class Backup {
96
117
  }
97
118
  }
98
119
 
120
+ // eslint-disable-next-line no-unused-vars
121
+ delBackupsFiles(options, files) {
122
+ const arr = files.length;
123
+ if (arr > 10) {
124
+ this.info('delete old Backup files. keep only last 10')
125
+ }
126
+
127
+ for (let i = 10; i < files.length; i++) {
128
+ const name = options.dbDir + '/' + files[i];
129
+ try {
130
+ require('fs').unlinkSync(name);
131
+ } catch (error) {
132
+ this.error(error);
133
+ }
134
+ }
135
+ }
136
+
99
137
  // eslint-disable-next-line no-unused-vars
100
138
  async listbackups(obj) {
101
-
139
+
102
140
  }
103
141
 
104
142
  async restore(options, name) {
@@ -130,4 +168,4 @@ class Backup {
130
168
  }
131
169
  }
132
170
 
133
- module.exports = Backup;
171
+ module.exports = Backup;
package/lib/exposes.js CHANGED
@@ -291,8 +291,10 @@ function createFromExposes(model, def) {
291
291
  write: true,
292
292
  read: true,
293
293
  type: 'number',
294
- min: expose.value_min,
295
- max: expose.value_max,
294
+ // Ignore min and max value, so setting mireds and Kelvin with conversion to mireds works.
295
+ // https://github.com/ioBroker/ioBroker.zigbee/pull/1433#issuecomment-1113837035
296
+ min: undefined,
297
+ max: undefined,
296
298
  setter: (value) => {
297
299
  return utils.toMired(value);
298
300
  },
@@ -5,6 +5,8 @@ const statesMapping = require('./devices');
5
5
  const getAdId = require('./utils').getAdId;
6
6
  const getZbId = require('./utils').getZbId;
7
7
  const fs = require('fs');
8
+ const request = require('request');
9
+
8
10
  var savedDeviceNames = {};
9
11
  var knownUndefinedDevices = {};
10
12
 
@@ -485,23 +487,52 @@ class StatesController extends EventEmitter {
485
487
  }
486
488
 
487
489
  updateDev(dev_id, dev_name, model, callback) {
488
- const __dev_name = this.verifyDeviceName(dev_id, dev_name);
490
+ const __dev_name = this.verifyDeviceName(dev_id, dev_name);
489
491
  const id = '' + dev_id;
490
492
  const modelDesc = statesMapping.findModel(model);
491
493
  let icon = (modelDesc && modelDesc.icon) ? modelDesc.icon : 'img/unknown.png';
492
494
  // clear icon if it external
493
- icon = (icon.startsWith('http')) ? undefined : icon;
495
+ const pathToIcon = this.adapter.adapterDir + '/admin/img/' + model + '.png';
496
+
497
+ if (icon.startsWith('http')) {
498
+ this.downloadIcon(icon, pathToIcon);
499
+ icon = 'img/' + model + '.png';
500
+ }
501
+
494
502
  this.adapter.setObjectNotExists(id, {
495
503
  type: 'device',
496
504
  // actually this is an error, so device.common has no attribute type. It must be in native part
497
- common: {name: __dev_name, type: model, icon: icon},
505
+ common: {name: __dev_name, type: model, icon: icon, color: null, statusStates: {onlineId: `${this.adapter.namespace}.${dev_id}.available`}},
498
506
  native: {id: dev_id}
499
507
  }, () => {
500
508
  // update type and icon
501
- this.adapter.extendObject(id, {common: {type: model, icon: icon}}, callback);
509
+ this.adapter.extendObject(id, {common: {type: model, icon: icon, color: null, statusStates: {onlineId: `${this.adapter.namespace}.${dev_id}.available`}}}, callback);
502
510
  });
503
511
  }
504
512
 
513
+ 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
+ }
535
+ }
505
536
  async syncDevStates(dev, model) {
506
537
  const devId = dev.ieeeAddr.substr(2);
507
538
  // devId - iobroker device id
@@ -271,13 +271,7 @@ class DeviceAvailability extends BaseExtension {
271
271
  this.zigbee.emit('publish', ieeeAddr.substr(2), entity.mapped.model, payload);
272
272
  this.debug(`Publish LQ for ${ieeeAddr} = ${(available ? 10: 0)}`);
273
273
  this.zigbee.emit('publish', ieeeAddr.substr(2), entity.mapped.model, { linkquality: (available ? 10: 0) });
274
-
275
- this.zigbee.emit('deviceStatusUpdate', ieeeAddr.substr(2), available);
276
274
  }
277
- // if (!available) {
278
- // this.debug(`Publish LQ for ${ieeeAddr} = 0`);
279
- // this.zigbee.emit('publish', ieeeAddr.substr(2), entity.mapped.model, { linkquality: 0 });
280
- // }
281
275
  }
282
276
  }
283
277
 
package/main.js CHANGED
@@ -199,7 +199,6 @@ class Zigbee extends utils.Adapter {
199
199
  this.zbController.on('event', this.onZigbeeEvent.bind(this));
200
200
  this.zbController.on('msg', this.onZigbeeEvent.bind(this));
201
201
  this.zbController.on('publish', this.publishToState.bind(this));
202
- this.zbController.on('deviceStatusUpdate', this.onDeviceStatusUpdate.bind(this));
203
202
  this.zbController.configure(zigbeeOptions);
204
203
  await this.callPluginMethod('configure', [zigbeeOptions]);
205
204
 
@@ -757,34 +756,7 @@ class Zigbee extends utils.Adapter {
757
756
  }
758
757
  }
759
758
  }
760
- async onDeviceStatusUpdate(deviceId, status) {
761
- if (!deviceId) return;
762
-
763
- this.log.debug(`onDeviceStatusUpdate: ${deviceId}: ${status}`);
764
-
765
- if (_pairingMode) return;
766
-
767
- try {
768
- let colorIeee = '#46a100ff';
769
-
770
- if (!status) {
771
- colorIeee = '#ff0400ff'; // dev is offline
772
- }
773
-
774
- if (!this.config.colorize) {
775
- colorIeee = null;
776
- }
777
-
778
- await this.extendObjectAsync(deviceId, {
779
- common: {
780
- color: colorIeee
781
- }
782
- });
783
- } catch (e) {
784
- this.log.error(e.toString());
785
- }
786
- }
787
-
759
+
788
760
  /**
789
761
  * @param {() => void} callback
790
762
  */
@@ -856,6 +828,7 @@ class Zigbee extends utils.Adapter {
856
828
  disableLed: this.config.disableLed,
857
829
  disablePing: this.config.disablePing,
858
830
  transmitPower: this.config.transmitPower,
831
+ disableBackup: this.config.disableBackup,
859
832
  extPanIdFix: extPanIdFix,
860
833
  startWithInconsistent: this.config.startWithInconsistent || false,
861
834
  };