iobroker.e3oncan 1.1.0 → 1.1.2

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.de.md CHANGED
@@ -60,11 +60,11 @@ Welche Modi verfügbar sind, hängt von der Gerätekonfiguration ab. Weitere Det
60
60
 
61
61
  ---
62
62
 
63
- ## Was ist neu in v1.1.0
63
+ ## Was ist neu in v1.1.1
64
64
 
65
65
  ### Aktualisierte Datenpunkt-Definitionen
66
66
 
67
- Die Datenpunktdefinitionen wurden auf Version 20260701 (allgemein) und 20260630 (Varianten) aktualisiert.
67
+ Die Datenpunktdefinitionen wurden auf Version 20260705 (allgemein) und 20260630 (Varianten) aktualisiert.
68
68
 
69
69
  ### Neuer Codec O3ESwitch
70
70
 
package/README.md CHANGED
@@ -61,11 +61,11 @@ Which modes are available depends on your device topology. See the [device topol
61
61
 
62
62
  ---
63
63
 
64
- ## What's new in v1.1.0
64
+ ## What's new in v1.1.1
65
65
 
66
66
  ### Updated data point definitions
67
67
 
68
- Data point definitions have been updated to version 20260701 (common) and 20260630 (variant).
68
+ Data point definitions have been updated to version 20260705 (common) and 20260630 (variant).
69
69
 
70
70
  ### New O3ESwitch codec
71
71
 
@@ -427,6 +427,13 @@ If you enjoyed this project — or just feeling generous, consider buying me a b
427
427
  Placeholder for the next version (at the beginning of the line):
428
428
  ### **WORK IN PROGRESS**
429
429
  -->
430
+ ### 1.1.2 (2026-07-16)
431
+ * (MyHomeMyData) Fixed missing update of meta data (unit, description) when user changes device specific data point definition
432
+
433
+ ### 1.1.1 (2026-07-06)
434
+ * (MyHomeMyData) Update of list of data points for E3 devices to version 20260705 (common)
435
+ * (MyHomeMyData) Fixed duplicate display of variant data points in data point list of WebUI
436
+
430
437
  ### 1.1.0 (2026-07-05)
431
438
  * (MyHomeMyData) Update of list of data points for E3 devices to version 20260701 (common) and 20260630 (variant)
432
439
  * (MyHomeMyData) Added codec `O3ESwitch` for device-dependent data point structures selected by a discriminator byte
package/io-package.json CHANGED
@@ -1,8 +1,34 @@
1
1
  {
2
2
  "common": {
3
3
  "name": "e3oncan",
4
- "version": "1.1.0",
4
+ "version": "1.1.2",
5
5
  "news": {
6
+ "1.1.2": {
7
+ "en": "Fixed missing update of meta data (unit, description) when user changes device specific data point definition",
8
+ "de": "Problem behoben: Fehlende Aktualisierung der Metadaten (Einheit, Beschreibung) bei Änderung der gerätespezifischen Datenpunktdefinition durch den Benutzer.",
9
+ "ru": "Исправлена ошибка, из-за которой отсутствовало обновление метаданных (единица измерения, описание) при изменении пользователем определения параметров конкретного устройства.",
10
+ "pt": "Corrigida a falha na atualização dos metadados (unidade, descrição) quando o usuário altera a definição do ponto de dados específico do dispositivo.",
11
+ "nl": "Het probleem is opgelost waarbij de metadata (eenheid, beschrijving) niet werd bijgewerkt wanneer de gebruiker de apparaatspecifieke datapuntdefinitie wijzigde.",
12
+ "fr": "Correction d'un problème de mise à jour des métadonnées (unité, description) lors de la modification de la définition des points de données spécifiques à l'appareil par l'utilisateur.",
13
+ "it": "Risolto il problema relativo all'aggiornamento mancante dei metadati (unità, descrizione) quando l'utente modifica la definizione del punto dati specifico del dispositivo.",
14
+ "es": "Se corrigió la falta de actualización de metadatos (unidad, descripción) cuando el usuario cambia la definición del punto de datos específico del dispositivo.",
15
+ "pl": "Naprawiono brak aktualizacji metadanych (jednostka, opis), gdy użytkownik zmienia definicję punktu danych konkretnego urządzenia",
16
+ "uk": "Виправлено відсутнє оновлення метаданих (одиниця, опис), коли користувач змінює визначення точки даних для конкретного пристрою",
17
+ "zh-cn": "修复了用户更改设备特定数据点定义时元数据(单位、描述)更新缺失的问题。"
18
+ },
19
+ "1.1.1": {
20
+ "en": "Update of list of data points for E3 devices to version 20260705 (common)\nFixed duplicate display of variant data points in data point list of WebUI",
21
+ "de": "Aktualisierung der Liste der Datenpunkte für E3-Geräte auf Version 20260705 für gemeinsame Datenpunkte\nDoppelte Anzeige von varianten Datenpunkten in der Datenpunktliste der WebUI behoben",
22
+ "ru": "Обновление списка параметров данных для устройств E3 до версии 20260705 (общая).\nИсправлено дублирование отображения вариантов точек данных в списке точек данных веб-интерфейса.",
23
+ "pt": "Atualização da lista de pontos de dados para dispositivos E3 para a versão 20260705 (comum)\nCorrigida a exibição duplicada de pontos de dados variantes na lista de pontos de dados da interface web.",
24
+ "nl": "Update van de lijst met gegevenspunten voor E3-apparaten naar versie 20260705 (algemeen)\nDe dubbele weergave van variantgegevenspunten in de gegevenspuntenlijst van de webinterface is gecorrigeerd.",
25
+ "fr": "Mise à jour de la liste des points de données pour les périphériques E3 vers la version 20260705 (commune)\nCorrection de l'affichage en double des points de données de variantes dans la liste des points de données de l'interface Web",
26
+ "it": "Aggiornamento dell'elenco dei punti dati per i dispositivi E3 alla versione 20260705 (comune)\nRisolto il problema di visualizzazione duplicata dei punti dati delle varianti nell'elenco dei punti dati dell'interfaccia Web.",
27
+ "es": "Actualización de la lista de puntos de datos para dispositivos E3 a la versión 20260705 (común).\nSe corrigió la visualización duplicada de puntos de datos de variantes en la lista de puntos de datos de la interfaz web.",
28
+ "pl": "Aktualizacja listy punktów danych dla urządzeń E3 do wersji 20260705 (wspólna)\nNaprawiono duplikację wyświetlania punktów danych wariantów na liście punktów danych interfejsu WebUI",
29
+ "uk": "Оновлення списку точок даних для пристроїв E3 до версії 20260705 (загальна)\nВиправлено дублювання відображення варіантів точок даних у списку точок даних WebUI",
30
+ "zh-cn": "将 E3 设备的数据点列表更新至版本 20260705(通用)\n修复了 WebUI 数据点列表中重复显示变体数据点的问题。"
31
+ },
6
32
  "1.1.0": {
7
33
  "en": "Update of list of data points for E3 devices to version 20260701 (common) and 20260630 (variant)\nAdded codec `O3ESwitch` for device-dependent data point structures selected by a discriminator byte\nAdded optional `decimals` parameter to numeric codecs to round decoded values\nAdded update of meta data during startup, when structure of data point has changed",
8
34
  "de": "Aktualisierung der Liste der Datenpunkte für E3-Geräte auf Version 20260701 für gemeinsame und 20260630 für variante Datenpunkte\nCodec `O3ESwitch` für geräteabhängige Datenpunktstrukturen hinzugefügt, die durch ein Diskriminatorbyte ausgewählt werden.\nDer optionale Parameter `decimals` wurde zu den numerischen Codecs hinzugefügt, um die dekodierten Werte zu runden.\nDie Metadaten werden nun beim Start aktualisiert, wenn sich die Struktur eines Datenpunkts geändert hat.",
@@ -67,32 +93,6 @@
67
93
  "pl": "Adapter wymaga node.js > = 22\nUlepszone wykrywanie statusu skanowania: używa 'udsDidsWritable' zamiast 'didsMetaDict' w celu wiarygodnego wykrycia, czy skan punktowy danych został wykonany\nDodano podpowiedź rekomendacji ponownego skanowania w zakładce datapoints, gdy skanowanie istnieje, ale zbieranie autodetekcji nie zostało jeszcze uruchomione",
68
94
  "uk": "Адаптер вимагає node.js >= 22 тепер\nУдосконалено виявлення стану сканування: використовує `udsDidsWritable` замість `didsMetaDict` для надійного виявлення, чи проводиться сканування точок даних\nДодано повторне сканування натиснення в вкладці даних, коли існує сканування, але Збір автодетекції ще не працює",
69
95
  "zh-cn": "适配器需要节点.js 现在22\n改进扫描状态检测:使用“didsWriteble”而不是“didsMetaDict”可靠地检测是否已进行数据点扫描\n当扫描已经存在但收集自动检测尚未运行时, 在数据点标签中添加了重新扫描建议提示"
70
- },
71
- "1.0.0-beta.2": {
72
- "en": "Fixed: saving schedules in the datapoints tab could leave stale entries under certain conditions\nAdded Topology button to the datapoints tab; opens the bus topology diagram in a modal dialog",
73
- "de": "Behoben: Das Speichern von Zeitplänen in der Registerkarte Datenpunkte könnte unter bestimmten Bedingungen doppelte Einträge hinterlassen\nHinzugefügt: Button Topologie auf der Seite Datenpunkte öffnet die Topologie-Übersicht",
74
- "ru": "Исправлено: сохранение графиков во вкладке «Точки данных» может оставить устаревшие записи при определенных условиях\nДобавлена кнопка «Топология» на вкладке «Точки данных»; открывается диаграмма топологии шины в модальном диалоге",
75
- "pt": "Corrigido: salvar agendamentos na aba pontos de dados poderia deixar entradas antigas sob certas condições\nAdicionado botão de Topologia à página de pontos de dados; abre o diagrama de topologia de barramento numa janela modal",
76
- "nl": "Fixed: het opslaan van schema's in het tabblad datapunten kan oude items onder bepaalde voorwaarden verlaten\nTopologieknop toegevoegd aan het tabblad datapunten; opent het bustopologiediagram in een modal dialoogvenster",
77
- "fr": "Correction : enregistrer des horaires dans l'onglet points de données pourrait laisser des entrées bloquées sous certaines conditions\nAjout du bouton Topologie à l'onglet datapoints; ouverture du diagramme de topologie du bus dans une boîte de dialogue modale",
78
- "it": "Risolto: gli orari di risparmio nella scheda datapoint potrebbero lasciare le voci stanti in determinate condizioni\nAggiunto Topologia pulsante per i punti di dati scheda; apre il diagramma topologia bus in una finestra di dialogo modale",
79
- "es": "Fijación: los horarios de ahorro en la pestaña Puntos de datos podrían dejar entradas en ciertas condiciones\nBotón de Topología añadido a la pestaña puntos de datos; abre el diagrama de topología del bus en un diálogo modal",
80
- "pl": "Naprawiono: Zapisywanie harmonogramów w zakładce punkty danych może zostawić nieświeże wpisy pod pewnymi warunkami\nDodano przycisk Topologia do zakładki punkty danych; otwiera schemat topologii autobusu w oknie modalnym",
81
- "uk": "Виправлено: Зберегти графіки в вкладці даних може залишити записи за певними умовами\nДодано кнопку Топології до вкладки даних; відкриває схему топології автобуса в модальному діалоговому вікні",
82
- "zh-cn": "固定:在数据点标签中保存时间表可能会在某些条件下留下呆滞的条目\n添加到数据点标签的地形按钮; 在模式对话框中打开总线地形图"
83
- },
84
- "1.0.0-beta.1": {
85
- "en": "Bus topology analysis is now generated automatically after the data point scan; results are stored in info.topology (JSON) and info.topologyHtml (HTML); see Readme for details\nInput validation added for interval and delay fields in the datapoints tab — only positive integers are accepted",
86
- "de": "Bus-Topologie-Analyse wird jetzt automatisch nach dem Datenpunktscan erstellt; Ergebnisse werden in info.topology (JSON) und info.topologyHtml (HTML) gespeichert; Details im Readme\nEingabevalidierung für Intervall- und Verzögerungsfelder in der Datenpunkte-Seite ergänzt — nur positive ganze Zahlen werden akzeptiert",
87
- "ru": "Анализ топологии шины теперь генерируется автоматически после сканирования точек данных; результаты сохраняются в info.topology (JSON) и info.topologyHtml (HTML); подробности в Readme\nДобавлена проверка ввода для полей интервала и задержки на вкладке точек данных — принимаются только положительные целые числа",
88
- "pt": "A análise da topologia do barramento é agora gerada automaticamente após o scan dos pontos de dados; os resultados são armazenados em info.topology (JSON) e info.topologyHtml (HTML); consulte o Readme para detalhes\nValidação de entrada adicionada para campos de intervalo e atraso na aba de pontos de dados — apenas inteiros positivos são aceites",
89
- "nl": "Bus-topologieanalyse wordt nu automatisch gegenereerd na de datapuntscan; resultaten worden opgeslagen in info.topology (JSON) en info.topologyHtml (HTML); zie Readme voor details\nInvoervalidatie toegevoegd voor interval- en vertragingsvelden in de datapunten tab — alleen positieve gehele getallen worden geaccepteerd",
90
- "fr": "L'analyse de la topologie du bus est maintenant générée automatiquement après le scan des points de données; les résultats sont stockés dans info.topology (JSON) et info.topologyHtml (HTML); voir le Readme pour les détails\nValidation des entrées ajoutée pour les champs d'intervalle et de délai dans l'onglet des points de données — seuls les entiers positifs sont acceptés",
91
- "it": "L'analisi della topologia del bus viene ora generata automaticamente dopo la scansione dei punti dati; i risultati sono memorizzati in info.topology (JSON) e info.topologyHtml (HTML); vedere il Readme per i dettagli\nAggiunta la validazione degli input per i campi intervallo e ritardo nella scheda dei punti dati — vengono accettati solo interi positivi",
92
- "es": "El análisis de la topología del bus ahora se genera automáticamente después del escaneo de puntos de datos; los resultados se almacenan en info.topology (JSON) e info.topologyHtml (HTML); consulte el Readme para más detalles\nSe añadió validación de entrada para los campos de intervalo y retraso en la pestaña de puntos de datos — solo se aceptan enteros positivos",
93
- "pl": "Analiza topologii magistrali jest teraz generowana automatycznie po skanowaniu punktów danych; wyniki są przechowywane w info.topology (JSON) i info.topologyHtml (HTML); szczegóły w Readme\nDodano walidację danych wejściowych dla pól interwału i opóźnienia w zakładce punktów danych — akceptowane są tylko dodatnie liczby całkowite",
94
- "uk": "Аналіз топології шини тепер генерується автоматично після сканування точок даних; результати зберігаються в info.topology (JSON) та info.topologyHtml (HTML); подробиці у Readme\nДодано перевірку введення для полів інтервалу та затримки на вкладці точок даних — приймаються лише додатні цілі числа",
95
- "zh-cn": "数据点扫描后现在自动生成总线拓扑分析;结果存储在info.topology(JSON)和info.topologyHtml(HTML)中;详情请参阅Readme\n在数据点标签的间隔和延迟字段中添加了输入验证——只接受正整数"
96
96
  }
97
97
  },
98
98
  "titleLang": {
package/lib/canUds.js CHANGED
@@ -566,7 +566,46 @@ class uds {
566
566
  await ctx.log.info(
567
567
  `User requested change of UDS device specific datapoint definition on ${this.config.stateBase}`,
568
568
  );
569
+ const oldDidsSpec = JSON.parse(JSON.stringify(this.storage.storageDids.didsDictDevSpec));
569
570
  await this.storage.storageDids.readKnownDids(ctx, await this.getWorkerOpMode());
571
+ const unitsStr =
572
+ !this.config.devUnits || this.config.devUnits == 'n/a' ? ctx.udsMasterDevUnits : this.config.devUnits;
573
+ for (const [did, didInfo] of Object.entries(this.storage.storageDids.didsDictDevSpec)) {
574
+ if (did.length > 4) {
575
+ continue;
576
+ }
577
+ const didStr = this.storage.storageDids.getDidStr(did);
578
+ await this.storage.storageDids.setupCodecById(didInfo, `${this.config.stateBase}.${didStr}_`, unitsStr);
579
+ await ctx.log.info(`continue => ${JSON.stringify(oldDidsSpec[did])}`);
580
+ if (did in oldDidsSpec && JSON.stringify(oldDidsSpec[did]) === JSON.stringify(didInfo)) {
581
+ continue;
582
+ }
583
+ const idStr = didInfo.id.replace(ctx.FORBIDDEN_CHARS, '_').replace('.', '_');
584
+ const didStateName = `${didStr}_${idStr}`;
585
+ const raw = await this.storage.storageDids.getObjectVal(
586
+ ctx,
587
+ `${this.config.stateBase}.raw.${didStateName}`,
588
+ );
589
+ if (raw != null) {
590
+ const res = await this.storage.storageDids.decodeDid(
591
+ ctx,
592
+ this,
593
+ did,
594
+ didInfo,
595
+ this.storage.storageDids.toByteArray(raw),
596
+ );
597
+ await ctx.delObjectAsync(`${ctx.namespace}.${this.config.stateBase}.tree.${didStateName}`, {
598
+ recursive: true,
599
+ });
600
+ await this.storage.storageDids.storeObjectTree(
601
+ ctx,
602
+ did,
603
+ res.idStr,
604
+ `${this.config.stateBase}.tree.${didStr}_${res.idStr}`,
605
+ res.val,
606
+ );
607
+ }
608
+ }
570
609
  await ctx.setStateAsync(id, { val: state.val, ack: true }); // Acknowlegde user command
571
610
  return;
572
611
  }
@@ -185,6 +185,11 @@ The adapter will log `Variant datapoint ... is protected by user. Update skipped
185
185
 
186
186
  ## Changelog of Data Point Definitions
187
187
 
188
+ ### v1.1.1 (2026-07-06)
189
+ **Common data points (didsE3.json, v20260705)**
190
+
191
+ * **ZigBee current-values DIDs 2086–2143 and 2262** (57-byte): Restructured around a new `ViCareDevice` O3ESwitch discriminator that selects the decoded fields by device type. For details see below (v1.1.0).
192
+
188
193
  ### v1.1.0 (2026-07-05)
189
194
 
190
195
  **Variant data points (didsE3var.json, v20260630)**