iobroker.tidy 0.2.3 → 0.3.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/README.md CHANGED
@@ -22,7 +22,7 @@ The **Tidy** adapter helps to find unused objects and states to clean up your sy
22
22
  ## Features
23
23
 
24
24
  - **📊 Path-based scanning**: Configure multiple paths to scan via object picker (e.g., `0_userdata.0`, `alias.0`)
25
- - **🚫 Exceptions**: Exclude intentionally static datapoints or entire folders from scan results
25
+ - **🚫 Exceptions**: Exclude intentionally static datapoints, entire folders, or wildcard patterns from scan results
26
26
  - **🔍 Smart detection**: Identifies different types of problematic datapoints:
27
27
  - **Dead**: Never updated or extremely old (configurable threshold, default: 365 days)
28
28
  - **Stale**: Not updated recently (configurable threshold, default: 90 days)
@@ -62,7 +62,7 @@ Configure one or more paths to monitor:
62
62
 
63
63
  Exclude datapoints that should not appear in scan results or statistics:
64
64
 
65
- - **Object**: Pick a single state or a folder/channel to exclude an entire subtree
65
+ - **Object**: Pick a single state or a folder/channel to exclude an entire subtree. Wildcards are supported: `*` matches any suffix, `?` matches a single character (e.g. `0_userdata.0.rollo.trigger*`)
66
66
  - **Comment**: Optional note (e.g. why this datapoint is excluded)
67
67
 
68
68
  Use this for configuration values that rarely change (e.g. a stored radio station for an alarm script) so they are not flagged as dead or stale.
@@ -105,7 +105,7 @@ The `result` state contains a JSON array with the following fields for each data
105
105
  "id": "0_userdata.0.hallway.light_auto",
106
106
  "name": "Hallway Light Automation",
107
107
  "last_ts": 1712856000000,
108
- "last_ts_iso": "4/11/2026, 6:00:00 PM",
108
+ "last_ts_iso": "2026-04-11T16:00:00.000Z",
109
109
  "value": true,
110
110
  "status": "active",
111
111
  "issue": null,
@@ -131,7 +131,7 @@ The `result` state contains a JSON array with the following fields for each data
131
131
  | `id` | Full datapoint path | Unique identification |
132
132
  | `name` | common.name or last part of ID | User-friendly name |
133
133
  | `last_ts` | Unix timestamp (ms) or null | Sorting in background |
134
- | `last_ts_iso` | Formatted date string | Display in table |
134
+ | `last_ts_iso` | ISO 8601 date string | Display in table |
135
135
  | `value` | Current datapoint value | Final check before deletion |
136
136
  | `status` | `active`, `dead`, `stale`, `undefined`, `orphaned` | Classification (English) |
137
137
  | `status_de` | `aktiv`, `inaktiv`, `veraltet`, `undefiniert`, `verwaist` | Classification (German) |
@@ -163,7 +163,7 @@ The path field remains fully editable after using the object picker.
163
163
 
164
164
  1. Open the **Exceptions** tab in the adapter configuration
165
165
  2. Add datapoints that should be ignored (e.g. rarely updated configuration values)
166
- 3. Pick a single state for one datapoint, or a folder to exclude a whole subtree
166
+ 3. Pick a single state for one datapoint, a folder to exclude a whole subtree, or type a wildcard pattern (e.g. `0_userdata.0.rollo.trigger*`)
167
167
  4. Save configuration — excluded datapoints no longer appear in scan results or counts
168
168
 
169
169
  ### VIS Integration
@@ -205,6 +205,14 @@ If you like our work and would like to support us, we appreciate any donation.
205
205
  <!--
206
206
  ### **WORK IN PROGRESS**
207
207
  -->
208
+ ### 0.3.0 (2026-06-13)
209
+ - (skvarel) Added wildcard patterns for exception list (* matches any suffix, ? matches one character)
210
+
211
+ ### 0.2.4 (2026-06-11)
212
+ - (skvarel) Fixed admin UI translations for scan path tooltips and help texts
213
+ - (skvarel) Fixed runtime validation for scan interval and stale/dead thresholds
214
+ - (skvarel) Modified scan result timestamps to use ISO 8601 format
215
+
208
216
  ### 0.2.3 (2026-06-10)
209
217
  - (skvarel) Fixed i18n translation
210
218
 
@@ -215,18 +223,6 @@ If you like our work and would like to support us, we appreciate any donation.
215
223
  - (skvarel) Added exceptions incl. count state per scan channel showing how many datapoints were excluded
216
224
  - (skvarel) Replaced manual path input with object picker on Scan Paths tab; paths remain editable for multi-instance scans
217
225
 
218
- ### 0.1.7 (2026-06-07)
219
- - (skvarel) Migrated project rules from GitHub Copilot to Cursor rules
220
- - (skvarel) Fixed adapter checker warning for automatic scan interval
221
-
222
- ### 0.1.6 (2026-05-31)
223
- - (skvarel) Fixed scan when path name is left empty (result states now use path as fallback)
224
- - (skvarel) Added default for scan-all-objects option in adapter configuration
225
- - (skvarel) Fixed incorrect link to Cursor project rules in README
226
- - (skvarel) Unified issue tracker URL to inventwo repository
227
- - (skvarel) Fixed type-check script for local development
228
- - (skvarel) Documented complete scan feature in README
229
-
230
226
  ## Older changes
231
227
  - [CHANGELOG_OLD.md](CHANGELOG_OLD.md)
232
228
 
@@ -3,24 +3,18 @@
3
3
  "Check alias targets": "Alias-Ziele prüfen",
4
4
  "Comment (optional)": "Kommentar (optional)",
5
5
  "Configure which paths to scan for unused datapoints. Use the object picker or type a path manually. Each path will get its own result state with a JSON table.": "Konfiguriere, welche Pfade nach ungenutzten Datenpunkten gescannt werden sollen. Nutze die Objektauswahl oder gib einen Pfad manuell ein. Jeder Pfad erhält einen eigenen Ergebnis-Datenpunkt mit einer JSON-Tabelle.",
6
- "Datapoints listed on the Exceptions tab are omitted from all scan results and statistics. Use this for configuration values that rarely change but should not appear as dead or stale.\n\nPick a single state to exclude one datapoint, or pick a folder/channel to exclude an entire subtree.\n\nEach scan channel provides exceptionCount showing how many datapoints were excluded during the last scan (0 if none).": "Datenpunkte aus dem Tab Ausnahmen erscheinen weder in Scan-Ergebnissen noch in Statistiken. Nutze das für Konfigurationswerte, die sich selten ändern (z. B. gespeicherter Radiosender fürs Wecker-Skript).\nWähle einen einzelnen Datenpunkt oder einen Ordner/Kanal, um einen ganzen Zweig auszuschließen.\n\nJeder Scan-Kanal hat den Datenpunkt exceptionCount er zeigt, wie viele Datenpunkte beim letzten Scan ausgeschlossen wurden (0 wenn keine).\n\n",
7
- "Datapoints listed on the Exceptions tab are omitted from all scan results and statistics. Use this for configuration values that rarely change but should not appear as dead or stale.\n\nUse the picker to select individual datapoints (states). To exclude an entire folder or subtree, type the path directly into the field (e.g. 0_userdata.0.config).\n\nEach scan channel provides exceptionCount showing how many datapoints were excluded during the last scan (0 if none).": "Datenpunkte im Tab Ausnahmen erscheinen weder in Scan-Ergebnissen noch in Statistiken. Nutze das für Konfigurationswerte, die sich selten ändern.\n\nNutze die Auswahl für einzelne Datenpunkte (States). Um einen ganzen Ordner oder Zweig auszuschließen, gib den Pfad direkt ins Feld ein (z. B. 0_userdata.0.config).\n\nJeder Scan-Kanal hat den Datenpunkt exceptionCount - er zeigt, wie viele Datenpunkte beim letzten Scan ausgeschlossen wurden (0 wenn keine).",
6
+ "Datapoints listed on the Exceptions tab are omitted from all scan results and statistics. Use this for configuration values that rarely change but should not appear as dead or stale.\n\nUse the picker to select individual datapoints (states). To exclude an entire folder or subtree, type the path directly into the field (e.g. 0_userdata.0.config). Wildcards are supported: * matches any suffix, ? matches a single character (e.g. 0_userdata.0.rollo.trigger*).\n\nEach scan channel provides exceptionCount showing how many datapoints were excluded during the last scan (0 if none).": "Datenpunkte im Tab Ausnahmen erscheinen weder in Scan-Ergebnissen noch in Statistiken. Nutze das für Konfigurationswerte, die sich selten ändern, aber nicht als tot oder veraltet erscheinen sollen.\n\nNutze die Auswahl für einzelne Datenpunkte (States). Um einen ganzen Ordner oder Zweig auszuschließen, gib den Pfad direkt ins Feld ein (z. B. 0_userdata.0.config). Platzhalter werden unterstützt: * entspricht einem beliebigen Suffix, ? entspricht einem einzelnen Zeichen (z. B. 0_userdata.0.rollo.trigger*).\n\nJeder Scan-Kanal hat den Datenpunkt exceptionCount er zeigt, wie viele Datenpunkte beim letzten Scan ausgeschlossen wurden (0 wenn keine).",
8
7
  "Datapoints not updated for this many days are marked as 'dead'": "Datenpunkte, die seit so vielen Tagen nicht aktualisiert wurden, werden als 'inaktiv' markiert",
9
8
  "Datapoints not updated for this many days are marked as 'stale'": "Datenpunkte, die seit so vielen Tagen nicht aktualisiert wurden, werden als 'veraltet' markiert",
10
9
  "Days until 'dead' (critical)": "Tage bis 'inaktiv' (kritisch)",
11
10
  "Days until 'stale' (warning)": "Tage bis 'veraltet' (Warnung)",
12
- "Description": "Beschreibung",
13
11
  "Detection Thresholds": "Erkennungsschwellen",
14
12
  "Each scan result contains a JSON array with the following fields per datapoint:": "Jedes Scanergebnis enthält ein JSON-Array mit den folgenden 10 Feldern pro Datenpunkt:",
15
13
  "Enable automatic scans": "Automatisches Scannen aktivieren",
16
14
  "Enabled": "Aktiviert",
17
- "Enter scan paths on the Scan Paths tab or copy IDs from the Objects tab.\n\nTo scan all instances of an adapter, remove the instance number from the path (e.g. alias.0 → alias). This matches alias.0, alias.1, and so on.": "Gib Scan-Pfade auf dem Tab „Scan-Pfade“ ein oder kopiere IDs aus dem Tab „Objekte“.\n\nUm alle Instanzen eines Adapters zu scannen, entferne die Instanznummer aus dem Pfad (z. B. alias.0 → alias). Das trifft alias.0, alias.1 usw.",
18
- "Enter the scan path (e.g. 0_userdata.0, alias, javascript.0). Copy from the Objects tab if needed. Remove the instance number (alias.0 → alias) to scan all instances.": "Scanpfad eingeben (z. B. 0_userdata.0, alias, javascript.0). Bei Bedarf aus dem Tab „Objekte“ kopieren. Instanznummer entfernen (alias.0 → alias), um alle Instanzen zu scannen.",
19
15
  "Exceptions": "Ausnahmen",
20
- "Exclude datapoints from scan results that are intentionally static or should be ignored (e.g. configuration values that rarely change). Select a single datapoint or a folder to exclude everything beneath it.": "Schließe Datenpunkte von Scan-Ergebnissen aus, die absichtlich statisch sind oder ignoriert werden sollen (z. B. Konfigurationswerte, die sich selten ändern). Wähle einen einzelnen Datenpunkt oder einen Ordner, um alles darunter auszuschließen.",
21
- "Exclude datapoints from scan results that are intentionally static or should be ignored. Use the picker to select individual datapoints. To exclude an entire folder, type the path manually (e.g. 0_userdata.0.config).": "Schließe Datenpunkte von Scan-Ergebnissen aus, die absichtlich statisch sind oder ignoriert werden sollen. Nutze die Auswahl für einzelne Datenpunkte. Um einen ganzen Ordner auszuschließen, den Pfad manuell eingeben (z. B. 0_userdata.0.config).",
16
+ "Exclude datapoints from scan results that are intentionally static or should be ignored. Use the picker to select individual datapoints. To exclude an entire folder, type the path manually (e.g. 0_userdata.0.config). Wildcards are supported: * matches any suffix, ? matches a single character (e.g. 0_userdata.0.rollo.trigger*).": "Schließe Datenpunkte von Scan-Ergebnissen aus, die absichtlich statisch sind oder ignoriert werden sollen. Nutze die Auswahl für einzelne Datenpunkte. Um einen ganzen Ordner auszuschließen, gib den Pfad manuell ein (z. B. 0_userdata.0.config). Platzhalter werden unterstützt: * entspricht einem beliebigen Suffix, ? entspricht einem einzelnen Zeichen (z. B. 0_userdata.0.rollo.trigger*).",
22
17
  "Excluded datapoints": "Ausgeschlossene Datenpunkte",
23
- "Field": "Schlüssel",
24
18
  "For German tables: Use status_de and issue_de columns\nFor English tables: Use status and issue columns\n\nFilter by 'issue != null' to show only problematic datapoints.": "Für deutsche Tabellen: Verwende status_de und issue_de Spalten.\nFür englische Tabellen: Verwende status und issue Spalten.\n\nFiltere nach 'issue != null' um nur problematische Datenpunkte anzuzeigen.\n\n",
25
19
  "For alias.* paths: Check if target datapoints exist (ghost detection)": "Für alias.*-Pfade: Prüfen, ob Ziel-Datenpunkte existieren (Geister-Erkennung)",
26
20
  "General Settings": "Allgemeine Einstellungen",
@@ -28,30 +22,23 @@
28
22
  "How often the automatic scan should run (minimum 1 hour)": "Wie oft der automatische Scan ausgeführt werden soll (mindestens 1 Stunde)",
29
23
  "If enabled, the adapter will scan the entire object tree and store the result in a separate 'complete' result channel.": "Wenn aktiviert, scannt der Adapter den gesamten Objektbaum und speichert das Ergebnis in einem separaten 'complete'-Verzeichnis.",
30
24
  "JSON Table Field Description": "JSON-Tabellen-Feldbeschreibung",
31
- "Name": "Name",
32
- "Name (for result state)": "Name (für Ergebnis-Datenpunkt)",
33
25
  "Name (for result state, optional)": "Name (für Ergebnis-Datenpunkt, optional)",
34
26
  "Object": "Objekt",
35
27
  "Optional note, e.g. alarm clock radio station": "Optionaler Hinweis, z.B. Radiowecker",
36
28
  "Optional. If empty, the path will be used as name.": "Optional. Wenn leer, wird der Pfad als Name verwendet.",
37
29
  "Path Configuration": "Pfad-Konfiguration",
38
30
  "Paths to scan": "Zu scannende Pfade",
39
- "Pick a folder or namespace (e.g. alias, 0_userdata.0, alias.0.Heizungen). Individual datapoints are not shown. The path stays editable — remove the instance number (alias.0 → alias) to scan all instances.": "Wähle einen Ordner oder Namespace (z. B. alias, 0_userdata.0, alias.0.Heizungen). Einzelne Datenpunkte werden nicht angezeigt. Der Pfad bleibt bearbeitbar — entferne die Instanznummer (alias.0 → alias), um alle Instanzen zu scannen.",
40
- "Pick a folder/channel to exclude an entire subtree. To exclude a single state, type its ID directly into the field (e.g. 0_userdata.0.radio.station).": "Wähle einen Ordner/Kanal, um einen gesamten Zweig auszuschließen. Für einen einzelnen Datenpunkt die ID direkt ins Feld tippen (z. B. 0_userdata.0.radio.station).",
41
- "Pick an adapter instance or subfolder (e.g. 0_userdata.0, alias.0). The path stays editable — remove the instance number (alias.0 → alias) to scan all instances.": "Wähle eine Adapter-Instanz oder einen Unterordner (z. B. 0_userdata.0, alias.0). Der Pfad bleibt bearbeitbar — entferne die Instanznummer (alias.0 → alias), um alle Instanzen zu scannen.",
42
- "Pick an individual datapoint to exclude it. To exclude an entire folder, type the folder path directly (e.g. 0_userdata.0.config).": "Wähle einen einzelnen Datenpunkt zum Ausschließen. Um einen ganzen Ordner auszuschließen, den Pfad direkt eingeben (z. B. 0_userdata.0.config).",
43
- "Purpose": "Zweck",
31
+ "Pick a namespace (e.g. 0_userdata.0, alias.0). The path stays editable — remove the instance number (alias.0 → alias) to scan all instances.": "Wähle einen Namespace (z. B. 0_userdata.0, alias.0). Der Pfad bleibt bearbeitbar — entferne die Instanznummer (alias.0 → alias), um alle Instanzen zu scannen.",
32
+ "Pick an individual datapoint to exclude it. To exclude an entire folder, type the folder path directly (e.g. 0_userdata.0.config). Use * or ? for wildcard patterns (e.g. 0_userdata.0.rollo.trigger*).": "Wähle einen einzelnen Datenpunkt aus, um ihn auszuschließen. Um einen ganzen Ordner auszuschließen, gib den Ordnerpfad direkt ein (z. B. 0_userdata.0.config). Nutze * oder ? für Platzhaltermuster (z. B. 0_userdata.0.rollo.trigger*).",
44
33
  "Scan Paths": "Scan-Pfade",
45
34
  "Scan all objects (complete)": "Alle Objekte scannen (Komplett)",
46
35
  "Scan interval (hours)": "Scan-Intervall (Stunden)",
47
36
  "Scan path": "Scanpfad",
48
- "Tip: The path stays editable after picking. Remove the instance number (e.g. alias.0 alias) to scan all instances of an adapter.": "Tipp: Der Pfad bleibt nach der Auswahl bearbeitbar. Entferne die Instanznummer (z. B. alias.0 → alias), um alle Instanzen eines Adapters zu scannen.",
37
+ "Team inventwo • <a href=\"https://github.com/inventwo\">https://github.com/inventwo</a> by skvarel": "Team inventwo • <a href=\"https://github.com/inventwo\">https://github.com/inventwo</a> by skvarel",
49
38
  "Tip: The path stays editable after picking. Remove the instance number (e.g. alias.0 → alias) to scan all instances. You can also copy any object ID from the Objects tab and paste it directly into the path field.": "Tipp: Der Pfad bleibt nach der Auswahl bearbeitbar. Entferne die Instanznummer (z. B. alias.0 → alias), um alle Instanzen zu scannen. Du kannst auch jede Objekt-ID aus dem Objekte-Tab kopieren und direkt ins Pfadfeld einfügen.",
50
39
  "Usage in VIS Widgets": "Verwendung in VIS-Widgets",
51
40
  "Use the object picker on the Scan Paths tab or type a path manually. The path stays editable after picking.\n\nTo scan all instances of an adapter, remove the instance number from the path (e.g. alias.0 → alias). This matches alias.0, alias.1, and so on.": "Nutze die Objektauswahl auf dem Tab „Scan-Pfade“ oder gib einen Pfad manuell ein. Der Pfad bleibt nach der Auswahl bearbeitbar.\n\nUm alle Instanzen eines Adapters zu scannen, entferne die Instanznummer aus dem Pfad (z. B. alias.0 → alias). Das trifft alias.0, alias.1 usw.",
52
- "Use the object picker on the Scan Paths tab or type a path manually. The path stays editable after picking.\nTo scan all instances of an adapter, remove the instance number from the path (e.g. alias.0 → alias). This matches alias.0, alias.1, and so on.": "Nutze die Objektauswahl auf dem Tab „Scan-Pfade“ oder gib einen Pfad manuell ein. Der Pfad bleibt nach der Auswahl bearbeitbar.\n\nUm alle Instanzen eines Adapters zu scannen, entferne die Instanznummer aus dem Pfad (z. B. alias.0 → alias). Das trifft alias.0, alias.1 usw.",
53
41
  "When enabled, all configured paths will be scanned automatically at the specified interval": "Wenn aktiviert, werden alle konfigurierten Pfade automatisch im angegebenen Intervall gescannt",
54
- "e.g. 0_userdata.0 or alias": "z. B. 0_userdata.0 oder alias",
55
42
  "help_json_fields": "<table style=\"width:100%;border-collapse:collapse;font-size:0.875rem\"><thead><tr style=\"border-bottom:1px solid #546e7a\"><th style=\"text-align:left;padding:8px 6px;width:6%\">Nr.</th><th style=\"text-align:left;padding:8px 6px;width:14%\">Schlüssel</th><th style=\"text-align:left;padding:8px 6px;width:40%\">Beschreibung</th><th style=\"text-align:left;padding:8px 6px\">Zweck</th></tr></thead><tbody><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\">01</td><td style=\"padding:6px\"><code>id</code></td><td style=\"padding:6px\">Vollständiger Datenpunkt-Pfad</td><td style=\"padding:6px\">Eindeutige Identifikation</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\">02</td><td style=\"padding:6px\"><code>name</code></td><td style=\"padding:6px\">common.name oder letzter Teil der ID</td><td style=\"padding:6px\">Benutzerfreundlicher Name</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\">03</td><td style=\"padding:6px\"><code>last_ts</code></td><td style=\"padding:6px\">Unix-Zeitstempel (ms) oder null</td><td style=\"padding:6px\">Sortierung im Hintergrund</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\">04</td><td style=\"padding:6px\"><code>last_ts_iso</code></td><td style=\"padding:6px\">Formatiertes Datums-String</td><td style=\"padding:6px\">Anzeige in der Tabelle</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\">05</td><td style=\"padding:6px\"><code>value</code></td><td style=\"padding:6px\">Aktueller Datenpunkt-Wert</td><td style=\"padding:6px\">Letzte Prüfung vor dem Löschen</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\">06</td><td style=\"padding:6px\"><code>status</code></td><td style=\"padding:6px\">active, dead, stale, undefined, orphaned</td><td style=\"padding:6px\">Klassifikation (Englisch)</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\">07</td><td style=\"padding:6px\"><code>status_de</code></td><td style=\"padding:6px\">aktiv, inaktiv, veraltet, undefiniert, verwaist</td><td style=\"padding:6px\">Klassifikation (Deutsch)</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\">08</td><td style=\"padding:6px\"><code>issue</code></td><td style=\"padding:6px\">dead, stale, orphaned_alias oder null</td><td style=\"padding:6px\">Filterkriterium (null = OK)</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\">09</td><td style=\"padding:6px\"><code>issue_de</code></td><td style=\"padding:6px\">inaktiv, veraltet, verwaistes Alias oder null</td><td style=\"padding:6px\">Filterkriterium (Deutsch)</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\">10</td><td style=\"padding:6px\"><code>size</code></td><td style=\"padding:6px\">JSON.stringify(val).length</td><td style=\"padding:6px\">Findet Speicherfresser</td></tr></tbody></table>",
56
43
  "help_readme": "<b>Für eine vollständige Dokumentation klicke hier unten:</b><br><br>• <a href=\"https://github.com/inventwo/ioBroker.tidy/blob/main/README.md\">Adapter-Dokumentation</a>",
57
44
  "paypal_donate": "Falls du uns unterstützen möchtest.",
@@ -3,56 +3,44 @@
3
3
  "Check alias targets": "Check alias targets",
4
4
  "Comment (optional)": "Comment (optional)",
5
5
  "Configure which paths to scan for unused datapoints. Use the object picker or type a path manually. Each path will get its own result state with a JSON table.": "Configure which paths to scan for unused datapoints. Use the object picker or type a path manually. Each path will get its own result state with a JSON table.",
6
- "Pick an adapter instance or subfolder (e.g. 0_userdata.0, alias.0). The path stays editable remove the instance number (alias.0 alias) to scan all instances.": "Pick an adapter instance or subfolder (e.g. 0_userdata.0, alias.0). The path stays editable remove the instance number (alias.0 alias) to scan all instances.",
7
- "Pick a folder or namespace (e.g. alias, 0_userdata.0, alias.0.Heizungen). Individual datapoints are not shown. The path stays editable — remove the instance number (alias.0 → alias) to scan all instances.": "Pick a folder or namespace (e.g. alias, 0_userdata.0, alias.0.Heizungen). Individual datapoints are not shown. The path stays editable — remove the instance number (alias.0 → alias) to scan all instances.",
8
- "Datapoints listed on the Exceptions tab are omitted from all scan results and statistics. Use this for configuration values that rarely change but should not appear as dead or stale.\n\nPick a single state to exclude one datapoint, or pick a folder/channel to exclude an entire subtree.\n\nEach scan channel provides exceptionCount showing how many datapoints were excluded during the last scan (0 if none).": "Datapoints listed on the Exceptions tab are omitted from all scan results and statistics. Use this for configuration values that rarely change but should not appear as dead or stale.\n\nPick a single state to exclude one datapoint, or pick a folder/channel to exclude an entire subtree.\n\nEach scan channel provides exceptionCount showing how many datapoints were excluded during the last scan (0 if none).\n\n",
9
- "Datapoints listed on the Exceptions tab are omitted from all scan results and statistics. Use this for configuration values that rarely change but should not appear as dead or stale.\n\nUse the picker to select individual datapoints (states). To exclude an entire folder or subtree, type the path directly into the field (e.g. 0_userdata.0.config).\n\nEach scan channel provides exceptionCount showing how many datapoints were excluded during the last scan (0 if none).": "Datapoints listed on the Exceptions tab are omitted from all scan results and statistics. Use this for configuration values that rarely change but should not appear as dead or stale.\n\nUse the picker to select individual datapoints (states). To exclude an entire folder or subtree, type the path directly into the field (e.g. 0_userdata.0.config).\n\nEach scan channel provides exceptionCount showing how many datapoints were excluded during the last scan (0 if none).",
6
+ "Datapoints listed on the Exceptions tab are omitted from all scan results and statistics. Use this for configuration values that rarely change but should not appear as dead or stale.\n\nUse the picker to select individual datapoints (states). To exclude an entire folder or subtree, type the path directly into the field (e.g. 0_userdata.0.config). Wildcards are supported: * matches any suffix, ? matches a single character (e.g. 0_userdata.0.rollo.trigger*).\n\nEach scan channel provides exceptionCount showing how many datapoints were excluded during the last scan (0 if none).": "Datapoints listed on the Exceptions tab are omitted from all scan results and statistics. Use this for configuration values that rarely change but should not appear as dead or stale.\n\nUse the picker to select individual datapoints (states). To exclude an entire folder or subtree, type the path directly into the field (e.g. 0_userdata.0.config). Wildcards are supported: * matches any suffix, ? matches a single character (e.g. 0_userdata.0.rollo.trigger*).\n\nEach scan channel provides exceptionCount showing how many datapoints were excluded during the last scan (0 if none).",
10
7
  "Datapoints not updated for this many days are marked as 'dead'": "Datapoints not updated for this many days are marked as 'dead'",
11
8
  "Datapoints not updated for this many days are marked as 'stale'": "Datapoints not updated for this many days are marked as 'stale'",
12
9
  "Days until 'dead' (critical)": "Days until 'dead' (critical)",
13
10
  "Days until 'stale' (warning)": "Days until 'stale' (warning)",
14
- "Description": "Description",
15
11
  "Detection Thresholds": "Detection Thresholds",
16
12
  "Each scan result contains a JSON array with the following fields per datapoint:": "Each scan result contains a JSON array with the following 10 fields per datapoint:",
17
13
  "Enable automatic scans": "Enable automatic scans",
18
14
  "Enabled": "Enabled",
19
15
  "Exceptions": "Exceptions",
20
- "Exclude datapoints from scan results that are intentionally static or should be ignored (e.g. configuration values that rarely change). Select a single datapoint or a folder to exclude everything beneath it.": "Exclude datapoints from scan results that are intentionally static or should be ignored (e.g. configuration values that rarely change). Select a single datapoint or a folder to exclude everything beneath it.",
21
- "Exclude datapoints from scan results that are intentionally static or should be ignored. Use the picker to select individual datapoints. To exclude an entire folder, type the path manually (e.g. 0_userdata.0.config).": "Exclude datapoints from scan results that are intentionally static or should be ignored. Use the picker to select individual datapoints. To exclude an entire folder, type the path manually (e.g. 0_userdata.0.config).",
16
+ "Exclude datapoints from scan results that are intentionally static or should be ignored. Use the picker to select individual datapoints. To exclude an entire folder, type the path manually (e.g. 0_userdata.0.config). Wildcards are supported: * matches any suffix, ? matches a single character (e.g. 0_userdata.0.rollo.trigger*).": "Exclude datapoints from scan results that are intentionally static or should be ignored. Use the picker to select individual datapoints. To exclude an entire folder, type the path manually (e.g. 0_userdata.0.config). Wildcards are supported: * matches any suffix, ? matches a single character (e.g. 0_userdata.0.rollo.trigger*).",
22
17
  "Excluded datapoints": "Excluded datapoints",
23
- "Field": "Key",
24
18
  "For German tables: Use status_de and issue_de columns\nFor English tables: Use status and issue columns\n\nFilter by 'issue != null' to show only problematic datapoints.": "For German tables: Use status_de and issue_de columns.\nFor English tables: Use status and issue columns\n\nFilter by 'issue != null' to show only problematic datapoints.\n\n",
25
19
  "For alias.* paths: Check if target datapoints exist (ghost detection)": "For alias.* paths: Check if target datapoints exist (ghost detection)",
26
20
  "General Settings": "General Settings",
27
21
  "Help & Documentation": "Help & Documentation",
28
- "help_readme": "<b>For complete documentation, click here below:</b><br><br>• <a href=\"https://github.com/inventwo/ioBroker.tidy/blob/main/README.md\">Adapter documentation</a>",
29
22
  "How often the automatic scan should run (minimum 1 hour)": "How often the automatic scan should run (minimum 1 hour)",
30
23
  "If enabled, the adapter will scan the entire object tree and store the result in a separate 'complete' result channel.": "If enabled, the adapter will scan the entire object tree and store the result in a separate 'complete' result channel.",
31
24
  "JSON Table Field Description": "JSON Table Field Description",
32
- "Name": "Name",
33
- "Name (for result state)": "Name (for result state)",
34
25
  "Name (for result state, optional)": "Name (for result state, optional)",
35
26
  "Object": "Object",
36
27
  "Optional note, e.g. alarm clock radio station": "Optional note, e.g. alarm clock radio station",
37
28
  "Optional. If empty, the path will be used as name.": "Optional. If empty, the path will be used as name.",
38
- "paypal_donate": "If you would like to support us.",
39
29
  "Path Configuration": "Path Configuration",
40
30
  "Paths to scan": "Paths to scan",
41
- "Enter scan paths on the Scan Paths tab or copy IDs from the Objects tab.\n\nTo scan all instances of an adapter, remove the instance number from the path (e.g. alias.0 → alias). This matches alias.0, alias.1, and so on.": "Enter scan paths on the Scan Paths tab or copy IDs from the Objects tab.\n\nTo scan all instances of an adapter, remove the instance number from the path (e.g. alias.0 → alias). This matches alias.0, alias.1, and so on.",
42
- "Enter the scan path (e.g. 0_userdata.0, alias, javascript.0). Copy from the Objects tab if needed. Remove the instance number (alias.0 alias) to scan all instances.": "Enter the scan path (e.g. 0_userdata.0, alias, javascript.0). Copy from the Objects tab if needed. Remove the instance number (alias.0 → alias) to scan all instances.",
43
- "e.g. 0_userdata.0 or alias": "e.g. 0_userdata.0 or alias",
44
- "Purpose": "Purpose",
31
+ "Pick a namespace (e.g. 0_userdata.0, alias.0). The path stays editable remove the instance number (alias.0 → alias) to scan all instances.": "Pick a namespace (e.g. 0_userdata.0, alias.0). The path stays editable remove the instance number (alias.0 → alias) to scan all instances.",
32
+ "Pick an individual datapoint to exclude it. To exclude an entire folder, type the folder path directly (e.g. 0_userdata.0.config). Use * or ? for wildcard patterns (e.g. 0_userdata.0.rollo.trigger*).": "Pick an individual datapoint to exclude it. To exclude an entire folder, type the folder path directly (e.g. 0_userdata.0.config). Use * or ? for wildcard patterns (e.g. 0_userdata.0.rollo.trigger*).",
45
33
  "Scan Paths": "Scan Paths",
46
34
  "Scan all objects (complete)": "Scan all objects (complete)",
47
35
  "Scan interval (hours)": "Scan interval (hours)",
48
36
  "Scan path": "Scan path",
49
- "Pick a folder/channel to exclude an entire subtree. To exclude a single state, type its ID directly into the field (e.g. 0_userdata.0.radio.station).": "Pick a folder/channel to exclude an entire subtree. To exclude a single state, type its ID directly into the field (e.g. 0_userdata.0.radio.station).",
50
- "Pick an individual datapoint to exclude it. To exclude an entire folder, type the folder path directly (e.g. 0_userdata.0.config).": "Pick an individual datapoint to exclude it. To exclude an entire folder, type the folder path directly (e.g. 0_userdata.0.config).",
51
- "Tip: The path stays editable after picking. Remove the instance number (e.g. alias.0 → alias) to scan all instances of an adapter.": "Tip: The path stays editable after picking. Remove the instance number (e.g. alias.0 → alias) to scan all instances of an adapter.",
37
+ "Team inventwo • <a href=\"https://github.com/inventwo\">https://github.com/inventwo</a> by skvarel": "Team inventwo • <a href=\"https://github.com/inventwo\">https://github.com/inventwo</a> by skvarel",
52
38
  "Tip: The path stays editable after picking. Remove the instance number (e.g. alias.0 → alias) to scan all instances. You can also copy any object ID from the Objects tab and paste it directly into the path field.": "Tip: The path stays editable after picking. Remove the instance number (e.g. alias.0 → alias) to scan all instances. You can also copy any object ID from the Objects tab and paste it directly into the path field.",
53
39
  "Usage in VIS Widgets": "Usage in VIS Widgets",
54
- "Use the object picker on the Scan Paths tab or type a path manually. The path stays editable after picking.\nTo scan all instances of an adapter, remove the instance number from the path (e.g. alias.0 → alias). This matches alias.0, alias.1, and so on.": "Use the object picker on the Scan Paths tab or type a path manually. The path stays editable after picking.\n\nTo scan all instances of an adapter, remove the instance number from the path (e.g. alias.0 → alias). This matches alias.0, alias.1, and so on.",
40
+ "Use the object picker on the Scan Paths tab or type a path manually. The path stays editable after picking.\n\nTo scan all instances of an adapter, remove the instance number from the path (e.g. alias.0 → alias). This matches alias.0, alias.1, and so on.": "Use the object picker on the Scan Paths tab or type a path manually. The path stays editable after picking.\n\nTo scan all instances of an adapter, remove the instance number from the path (e.g. alias.0 → alias). This matches alias.0, alias.1, and so on.",
55
41
  "When enabled, all configured paths will be scanned automatically at the specified interval": "When enabled, all configured paths will be scanned automatically at the specified interval",
56
42
  "help_json_fields": "<table style=\"width:100%;border-collapse:collapse;font-size:0.875rem\"><thead><tr style=\"border-bottom:1px solid #546e7a\"><th style=\"text-align:left;padding:8px 6px;width:6%\">#</th><th style=\"text-align:left;padding:8px 6px;width:14%\">Key</th><th style=\"text-align:left;padding:8px 6px;width:40%\">Description</th><th style=\"text-align:left;padding:8px 6px\">Purpose</th></tr></thead><tbody><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\">01</td><td style=\"padding:6px\"><code>id</code></td><td style=\"padding:6px\">Full datapoint path</td><td style=\"padding:6px\">Unique identification</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\">02</td><td style=\"padding:6px\"><code>name</code></td><td style=\"padding:6px\">common.name or last part of ID</td><td style=\"padding:6px\">User-friendly name</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\">03</td><td style=\"padding:6px\"><code>last_ts</code></td><td style=\"padding:6px\">Unix timestamp (ms) or null</td><td style=\"padding:6px\">Sorting in background</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\">04</td><td style=\"padding:6px\"><code>last_ts_iso</code></td><td style=\"padding:6px\">Formatted date string</td><td style=\"padding:6px\">Display in table</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\">05</td><td style=\"padding:6px\"><code>value</code></td><td style=\"padding:6px\">Current datapoint value</td><td style=\"padding:6px\">Final check before deletion</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\">06</td><td style=\"padding:6px\"><code>status</code></td><td style=\"padding:6px\">active, dead, stale, undefined, orphaned</td><td style=\"padding:6px\">Classification (English)</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\">07</td><td style=\"padding:6px\"><code>status_de</code></td><td style=\"padding:6px\">aktiv, inaktiv, veraltet, undefiniert, verwaist</td><td style=\"padding:6px\">Classification (German)</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\">08</td><td style=\"padding:6px\"><code>issue</code></td><td style=\"padding:6px\">dead, stale, orphaned_alias, or null</td><td style=\"padding:6px\">Filter criterion (null = OK)</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\">09</td><td style=\"padding:6px\"><code>issue_de</code></td><td style=\"padding:6px\">inaktiv, veraltet, verwaistes Alias, or null</td><td style=\"padding:6px\">Filter criterion (German)</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\">10</td><td style=\"padding:6px\"><code>size</code></td><td style=\"padding:6px\">JSON.stringify(val).length</td><td style=\"padding:6px\">Finds storage hogs</td></tr></tbody></table>",
43
+ "help_readme": "<b>For complete documentation, click here below:</b><br><br>• <a href=\"https://github.com/inventwo/ioBroker.tidy/blob/main/README.md\">Adapter documentation</a>",
44
+ "paypal_donate": "If you would like to support us.",
57
45
  "tidy adapter settings": "Adapter settings for tidy"
58
46
  }
@@ -3,24 +3,18 @@
3
3
  "Check alias targets": "Verificar destinos de alias",
4
4
  "Comment (optional)": "Comentario (opcional)",
5
5
  "Configure which paths to scan for unused datapoints. Use the object picker or type a path manually. Each path will get its own result state with a JSON table.": "Configure qué rutas escanear en busca de puntos de datos no utilizados. Utilice el selector de objetos o escriba una ruta manualmente. Cada ruta obtendrá su propio estado de resultado con una tabla JSON.",
6
- "Datapoints listed on the Exceptions tab are omitted from all scan results and statistics. Use this for configuration values that rarely change but should not appear as dead or stale.\n\nPick a single state to exclude one datapoint, or pick a folder/channel to exclude an entire subtree.\n\nEach scan channel provides exceptionCount showing how many datapoints were excluded during the last scan (0 if none).": "Los puntos de datos enumerados en la pestaña Excepciones se omiten de todos los resultados y estadísticas del análisis. Utilícelo para valores de configuración que rara vez cambian pero que no deberían aparecer inactivos o obsoletos.\n\nElija un solo estado para excluir un punto de datos o elija una carpeta/canal para excluir un subárbol completo.\n\nCada canal de escaneo proporciona un recuento de excepciones que muestra cuántos puntos de datos se excluyeron durante el último escaneo (0 si no hay ninguno).",
7
- "Datapoints listed on the Exceptions tab are omitted from all scan results and statistics. Use this for configuration values that rarely change but should not appear as dead or stale.\n\nUse the picker to select individual datapoints (states). To exclude an entire folder or subtree, type the path directly into the field (e.g. 0_userdata.0.config).\n\nEach scan channel provides exceptionCount showing how many datapoints were excluded during the last scan (0 if none).": "Los puntos de datos enumerados en la pestaña Excepciones se omiten de todos los resultados y estadísticas del análisis. Utilícelo para valores de configuración que rara vez cambian pero que no deberían aparecer inactivos o obsoletos.\n\nUtilice el selector para seleccionar puntos de datos individuales (estados). Para excluir una carpeta o un subárbol completo, escriba la ruta directamente en el campo (por ejemplo, 0_userdata.0.config).\n\nCada canal de escaneo proporciona un recuento de excepciones que muestra cuántos puntos de datos se excluyeron durante el último escaneo (0 si no hay ninguno).",
6
+ "Datapoints listed on the Exceptions tab are omitted from all scan results and statistics. Use this for configuration values that rarely change but should not appear as dead or stale.\n\nUse the picker to select individual datapoints (states). To exclude an entire folder or subtree, type the path directly into the field (e.g. 0_userdata.0.config). Wildcards are supported: * matches any suffix, ? matches a single character (e.g. 0_userdata.0.rollo.trigger*).\n\nEach scan channel provides exceptionCount showing how many datapoints were excluded during the last scan (0 if none).": "Los puntos de datos enumerados en la pestaña Excepciones se omiten de todos los resultados y estadísticas del análisis. Utilícelo para valores de configuración que rara vez cambian pero que no deberían aparecer inactivos o obsoletos.\n\nUtilice el selector para seleccionar puntos de datos individuales (estados). Para excluir una carpeta o un subárbol completo, escriba la ruta directamente en el campo (por ejemplo, 0_userdata.0.config). Se admiten comodines: * coincide con cualquier sufijo, ? coincide con un solo carácter (por ejemplo, 0_userdata.0.rollo.trigger*).\n\nCada canal de escaneo proporciona un recuento de excepciones que muestra cuántos puntos de datos se excluyeron durante el último escaneo (0 si no hay ninguno).",
8
7
  "Datapoints not updated for this many days are marked as 'dead'": "Los puntos de datos que no se actualizan durante tantos días se marcan como \"inactivos\"",
9
8
  "Datapoints not updated for this many days are marked as 'stale'": "Los puntos de datos que no se actualizan durante tantos días se marcan como \"obsoletos\"",
10
9
  "Days until 'dead' (critical)": "Días hasta la 'muerte' (crítico)",
11
10
  "Days until 'stale' (warning)": "Días hasta 'obsoleto' (advertencia)",
12
- "Description": "Descripción",
13
11
  "Detection Thresholds": "Umbrales de detección",
14
12
  "Each scan result contains a JSON array with the following fields per datapoint:": "Cada resultado del análisis contiene una matriz JSON con los siguientes 10 campos por punto de datos:",
15
13
  "Enable automatic scans": "Habilitar escaneos automáticos",
16
14
  "Enabled": "Activado",
17
- "Enter scan paths on the Scan Paths tab or copy IDs from the Objects tab.\n\nTo scan all instances of an adapter, remove the instance number from the path (e.g. alias.0 → alias). This matches alias.0, alias.1, and so on.": "Ingrese las rutas de escaneo en la pestaña Rutas de escaneo o copie las ID desde la pestaña Objetos.\n\nPara escanear todas las instancias de un adaptador, elimine el número de instancia de la ruta (por ejemplo, alias.0 → alias). Esto coincide con alias.0, alias.1, etc.",
18
- "Enter the scan path (e.g. 0_userdata.0, alias, javascript.0). Copy from the Objects tab if needed. Remove the instance number (alias.0 → alias) to scan all instances.": "Ingrese la ruta de escaneo (por ejemplo, 0_userdata.0, alias, javascript.0). Copie desde la pestaña Objetos si es necesario. Elimine el número de instancia (alias.0 → alias) para escanear todas las instancias.",
19
15
  "Exceptions": "Excepciones",
20
- "Exclude datapoints from scan results that are intentionally static or should be ignored (e.g. configuration values that rarely change). Select a single datapoint or a folder to exclude everything beneath it.": "Excluya puntos de datos de los resultados del análisis que sean intencionalmente estáticos o que deban ignorarse (por ejemplo, valores de configuración que rara vez cambian). Seleccione un único punto de datos o una carpeta para excluir todo lo que se encuentra debajo de él.",
21
- "Exclude datapoints from scan results that are intentionally static or should be ignored. Use the picker to select individual datapoints. To exclude an entire folder, type the path manually (e.g. 0_userdata.0.config).": "Excluya puntos de datos de los resultados del análisis que sean intencionalmente estáticos o que deban ignorarse. Utilice el selector para seleccionar puntos de datos individuales. Para excluir una carpeta completa, escriba la ruta manualmente (por ejemplo, 0_userdata.0.config).",
16
+ "Exclude datapoints from scan results that are intentionally static or should be ignored. Use the picker to select individual datapoints. To exclude an entire folder, type the path manually (e.g. 0_userdata.0.config). Wildcards are supported: * matches any suffix, ? matches a single character (e.g. 0_userdata.0.rollo.trigger*).": "Excluya puntos de datos de los resultados del análisis que sean intencionalmente estáticos o que deban ignorarse. Utilice el selector para seleccionar puntos de datos individuales. Para excluir una carpeta completa, escriba la ruta manualmente (por ejemplo, 0_userdata.0.config). Se admiten comodines: * coincide con cualquier sufijo, ? coincide con un solo carácter (por ejemplo, 0_userdata.0.rollo.trigger*).",
22
17
  "Excluded datapoints": "Puntos de datos excluidos",
23
- "Field": "Llave",
24
18
  "For German tables: Use status_de and issue_de columns\nFor English tables: Use status and issue columns\n\nFilter by 'issue != null' to show only problematic datapoints.": "Para tablas alemanas: utilice las columnas status_de y issues_de.\nPara tablas en inglés: use columnas de estado y problema\n\nFiltre por 'problema! = nulo' para mostrar solo puntos de datos problemáticos.",
25
19
  "For alias.* paths: Check if target datapoints exist (ghost detection)": "Para rutas alias.*: compruebe si existen puntos de datos de destino (detección de fantasmas)",
26
20
  "General Settings": "Configuraciones generales",
@@ -28,37 +22,23 @@
28
22
  "How often the automatic scan should run (minimum 1 hour)": "Con qué frecuencia debe ejecutarse el análisis automático (mínimo 1 hora)",
29
23
  "If enabled, the adapter will scan the entire object tree and store the result in a separate 'complete' result channel.": "Si está habilitado, el adaptador escaneará todo el árbol de objetos y almacenará el resultado en un canal de resultados \"completo\" separado.",
30
24
  "JSON Table Field Description": "Descripción del campo de la tabla JSON",
31
- "Name": "Nombre",
32
- "Name (for result state)": "Nombre (para el estado del resultado)",
33
25
  "Name (for result state, optional)": "Nombre (para el estado del resultado, opcional)",
34
26
  "Object": "Objeto",
35
27
  "Optional note, e.g. alarm clock radio station": "Nota opcional, p.e. estación de radio despertador",
36
28
  "Optional. If empty, the path will be used as name.": "Opcional. Si está vacía, la ruta se utilizará como nombre.",
37
29
  "Path Configuration": "Configuración de ruta",
38
30
  "Paths to scan": "Rutas para escanear",
39
- "Pick a folder in the object tree to exclude an entire subtree, or type a single state ID manually (e.g. 0_userdata.0.radio.station).": "Elija una carpeta en el árbol de objetos para excluir un subárbol completo o escriba manualmente una ID de estado única (por ejemplo, 0_userdata.0.radio.station).",
40
- "Pick a folder in the object tree, or type a path manually (e.g. 0_userdata.0). Remove the instance number (alias.0 alias) to scan all instances.": "Elija una carpeta en el árbol de objetos o escriba una ruta manualmente (por ejemplo, 0_userdata.0). Elimine el número de instancia (alias.0 alias) para escanear todas las instancias.",
41
- "Pick a folder or namespace (e.g. alias, 0_userdata.0, alias.0.Heizungen). Individual datapoints are not shown. The path stays editable — remove the instance number (alias.0 → alias) to scan all instances.": "Elija una carpeta o espacio de nombres (por ejemplo, alias, 0_userdata.0, alias.0.Heizungen). No se muestran los puntos de datos individuales. La ruta sigue siendo editable: elimine el número de instancia (alias.0 → alias) para escanear todas las instancias.",
42
- "Pick a folder/channel to exclude an entire subtree. To exclude a single state, type its ID directly into the field (e.g. 0_userdata.0.radio.station).": "Elija una carpeta/canal para excluir un subárbol completo. Para excluir un solo estado, escriba su ID directamente en el campo (por ejemplo, 0_userdata.0.radio.station).",
43
- "Pick a path from the object tree or type manually. Remove the instance number (e.g. alias.0 → alias) to scan all instances of an adapter.": "Elija una ruta del árbol de objetos o escríbala manualmente. Elimine el número de instancia (por ejemplo, alias.0 → alias) para escanear todas las instancias de un adaptador.",
44
- "Pick an adapter instance (e.g. 0_userdata.0, alias.0). The path stays editable — append a subfolder or remove the instance number (alias.0 → alias) after picking.": "Elija una instancia de adaptador (por ejemplo, 0_userdata.0, alias.0). La ruta sigue siendo editable: agregue una subcarpeta o elimine el número de instancia (alias.0 → alias) después de seleccionarla.",
45
- "Pick an adapter instance (e.g. 0_userdata.0, alias.0). The path stays editable — remove the instance number (alias.0 → alias) to scan all instances.": "Elija una instancia de adaptador (por ejemplo, 0_userdata.0, alias.0). La ruta sigue siendo editable: elimine el número de instancia (alias.0 → alias) para escanear todas las instancias.",
46
- "Pick an adapter instance or subfolder (e.g. 0_userdata.0, alias.0). The path stays editable — remove the instance number (alias.0 → alias) to scan all instances.": "Elija una instancia o subcarpeta del adaptador (por ejemplo, 0_userdata.0, alias.0). La ruta sigue siendo editable: elimine el número de instancia (alias.0 → alias) para escanear todas las instancias.",
47
- "Pick an individual datapoint to exclude it. To exclude an entire folder, type the folder path directly (e.g. 0_userdata.0.config).": "Elija un punto de datos individual para excluirlo. Para excluir una carpeta completa, escriba la ruta de la carpeta directamente (por ejemplo, 0_userdata.0.config).",
48
- "Purpose": "Objetivo",
31
+ "Pick a namespace (e.g. 0_userdata.0, alias.0). The path stays editable remove the instance number (alias.0 alias) to scan all instances.": "Elija una instancia o subcarpeta del adaptador (por ejemplo, 0_userdata.0, alias.0). La ruta sigue siendo editable: elimine el número de instancia (alias.0 alias) para escanear todas las instancias.",
32
+ "Pick an individual datapoint to exclude it. To exclude an entire folder, type the folder path directly (e.g. 0_userdata.0.config). Use * or ? for wildcard patterns (e.g. 0_userdata.0.rollo.trigger*).": "Elija un punto de datos individual para excluirlo. Para excluir una carpeta completa, escriba la ruta de la carpeta directamente (por ejemplo, 0_userdata.0.config). Utilice * o ? para patrones comodín (por ejemplo, 0_userdata.0.rollo.trigger*).",
49
33
  "Scan Paths": "Rutas de escaneo",
50
34
  "Scan all objects (complete)": "Escanear todos los objetos (completo)",
51
35
  "Scan interval (hours)": "Intervalo de escaneo (horas)",
52
36
  "Scan path": "Ruta de escaneo",
53
- "Select a datapoint or folder to exclude. Folders exclude all states beneath them.": "Seleccione un punto de datos o una carpeta para excluir. Las carpetas excluyen todos los estados debajo de ellas.",
54
- "Tip: The path remains editable after picking. Remove the instance number (e.g. alias.0 → alias) to scan all instances of an adapter.": "Consejo: La ruta sigue siendo editable después de seleccionarla. Elimine el número de instancia (por ejemplo, alias.0 → alias) para escanear todas las instancias de un adaptador.",
55
- "Tip: The path stays editable after picking. Remove the instance number (e.g. alias.0 → alias) to scan all instances of an adapter.": "Consejo: La ruta sigue siendo editable después de seleccionarla. Elimine el número de instancia (por ejemplo, alias.0 → alias) para escanear todas las instancias de un adaptador.",
37
+ "Team inventwo • <a href=\"https://github.com/inventwo\">https://github.com/inventwo</a> by skvarel": "Team inventwo • <a href=\"https://github.com/inventwo\">https://github.com/inventwo</a> by skvarel",
56
38
  "Tip: The path stays editable after picking. Remove the instance number (e.g. alias.0 → alias) to scan all instances. You can also copy any object ID from the Objects tab and paste it directly into the path field.": "Consejo: La ruta sigue siendo editable después de seleccionarla. Elimine el número de instancia (por ejemplo, alias.0 → alias) para escanear todas las instancias. También puede copiar cualquier ID de objeto desde la pestaña Objetos y pegarlo directamente en el campo de ruta.",
57
39
  "Usage in VIS Widgets": "Uso en widgets de VIS",
58
40
  "Use the object picker on the Scan Paths tab or type a path manually. The path stays editable after picking.\n\nTo scan all instances of an adapter, remove the instance number from the path (e.g. alias.0 → alias). This matches alias.0, alias.1, and so on.": "Utilice el selector de objetos en la pestaña Rutas de escaneo o escriba una ruta manualmente. La ruta sigue siendo editable después de seleccionarla.\n\nPara escanear todas las instancias de un adaptador, elimine el número de instancia de la ruta (por ejemplo, alias.0 → alias). Esto coincide con alias.0, alias.1, etc.",
59
- "Use the object picker on the Scan Paths tab or type a path manually. The path stays editable after picking.\nTo scan all instances of an adapter, remove the instance number from the path (e.g. alias.0 → alias). This matches alias.0, alias.1, and so on.": "Utilice el selector de objetos en la pestaña Rutas de escaneo o escriba una ruta manualmente. La ruta sigue siendo editable después de seleccionarla.\n\nPara escanear todas las instancias de un adaptador, elimine el número de instancia de la ruta (por ejemplo, alias.0 → alias). Esto coincide con alias.0, alias.1, etc.",
60
41
  "When enabled, all configured paths will be scanned automatically at the specified interval": "Cuando está habilitado, todas las rutas configuradas se escanearán automáticamente en el intervalo especificado",
61
- "e.g. 0_userdata.0 or alias": "p.ej. 0_userdata.0 o alias",
62
42
  "help_json_fields": "<table style=\"width:100%;border-collapse:collapse;font-size:0.875rem\"><thead><tr style=\"border-bottom:1px solid #546e7a\"><th style=\"text-align:left;padding:8px 6px;width:6%\">#</th><th style=\"text-align:left;padding:8px 6px;width:14%\">Clave</th><th style=\"text-align:left;padding:8px 6px;width:40%\">Descripción</th><th style=\"text-align:left;padding:8px 6px\">Propósito</th></tr></thead><tbody><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\">01</td><td style=\"padding:6px\"><code>id</code></td><td style=\"padding:6px\">Ruta completa del punto de datos</td><td style=\"padding:6px\">Identificación única</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\">02</td><td style=\"padding:6px\"><code>nombre</code></td><td style=\"padding:6px\">common.name o última parte del ID</td><td style=\"padding:6px\">Nombre fácil de usar</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\">03</td><td style=\"padding:6px\"><code>last_ts</code></td><td style=\"padding:6px\">Marca de tiempo Unix (ms) o null</td><td style=\"padding:6px\">Ordenar fondo</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\">04</td><td style=\"padding:6px\"><code>last_ts_iso</code></td><td style=\"padding:6px\">Cadena de fecha formateada</td><td style=\"padding:6px\">Mostrar en tabla</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\">05</td><td style=\"padding:6px\"><code>valor</code></td><td style=\"padding:6px\">Valor del punto de datos actual</td><td style=\"padding:6px\">Comprobación final antes de la eliminación</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\">06</td><td style=\"padding:6px\"><code>status</code></td><td style=\"padding:6px\">activo, muerto, obsoleto, indefinido, huérfano</td><td style=\"padding:6px\">Clasificación (inglés)</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\">07</td><td style=\"padding:6px\"><code>status_de</code></td><td style=\"padding:6px\">aktiv, inaktiv, veraltet, undefiniert, verwaist</td><td style=\"padding:6px\">Clasificación (alemán)</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\">08</td><td style=\"padding:6px\"><code>issue</code></td><td style=\"padding:6px\">muerto, obsoleto, alias_huérfano o nulo</td><td style=\"padding:6px\">Criterio de filtro (null = OK)</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\">09</td><td style=\"padding:6px\"><code>issue_de</code></td><td style=\"padding:6px\">inaktiv, veraltet, verwaistes Alias o null</td><td style=\"padding:6px\">Criterio de filtro (alemán)</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\">10</td><td style=\"padding:6px\"><code>size</code></td><td style=\"padding:6px\">JSON.stringify(val).length</td><td style=\"padding:6px\">Encuentra grandes cantidades de almacenamiento</td></tr></tbody></table>",
63
43
  "help_readme": "<b>Para obtener la documentación completa, haga clic aquí a continuación:</b><br><br>• <a href=\"https://github.com/inventwo/ioBroker.tidy/blob/main/README.md\">Documentación del adaptador</a>",
64
44
  "paypal_donate": "Si quieres apoyarnos.",
@@ -3,24 +3,18 @@
3
3
  "Check alias targets": "Vérifier les cibles d'alias",
4
4
  "Comment (optional)": "Commentaire (facultatif)",
5
5
  "Configure which paths to scan for unused datapoints. Use the object picker or type a path manually. Each path will get its own result state with a JSON table.": "Configurez les chemins à analyser pour les points de données inutilisés. Utilisez le sélecteur d'objet ou saisissez un chemin manuellement. Chaque chemin obtiendra son propre état de résultat avec une table JSON.",
6
- "Datapoints listed on the Exceptions tab are omitted from all scan results and statistics. Use this for configuration values that rarely change but should not appear as dead or stale.\n\nPick a single state to exclude one datapoint, or pick a folder/channel to exclude an entire subtree.\n\nEach scan channel provides exceptionCount showing how many datapoints were excluded during the last scan (0 if none).": "Les points de données répertoriés dans l'onglet Exceptions sont omis de tous les résultats d'analyse et statistiques. Utilisez-le pour les valeurs de configuration qui changent rarement mais ne doivent pas apparaître comme mortes ou obsolètes.\n\nChoisissez un seul état pour exclure un point de données ou choisissez un dossier/canal pour exclure un sous-arbre entier.\n\nChaque canal d'analyse fournit exceptionCount indiquant combien de points de données ont été exclus lors de la dernière analyse (0 si aucun).",
7
- "Datapoints listed on the Exceptions tab are omitted from all scan results and statistics. Use this for configuration values that rarely change but should not appear as dead or stale.\n\nUse the picker to select individual datapoints (states). To exclude an entire folder or subtree, type the path directly into the field (e.g. 0_userdata.0.config).\n\nEach scan channel provides exceptionCount showing how many datapoints were excluded during the last scan (0 if none).": "Les points de données répertoriés dans l'onglet Exceptions sont omis de tous les résultats d'analyse et statistiques. Utilisez-le pour les valeurs de configuration qui changent rarement mais ne doivent pas apparaître comme mortes ou obsolètes.\n\nUtilisez le sélecteur pour sélectionner des points de données individuels (états). Pour exclure un dossier ou un sous-arbre entier, saisissez le chemin directement dans le champ (par exemple 0_userdata.0.config).\n\nChaque canal d'analyse fournit exceptionCount indiquant combien de points de données ont été exclus lors de la dernière analyse (0 si aucun).",
6
+ "Datapoints listed on the Exceptions tab are omitted from all scan results and statistics. Use this for configuration values that rarely change but should not appear as dead or stale.\n\nUse the picker to select individual datapoints (states). To exclude an entire folder or subtree, type the path directly into the field (e.g. 0_userdata.0.config). Wildcards are supported: * matches any suffix, ? matches a single character (e.g. 0_userdata.0.rollo.trigger*).\n\nEach scan channel provides exceptionCount showing how many datapoints were excluded during the last scan (0 if none).": "Les points de données répertoriés dans l'onglet Exceptions sont omis de tous les résultats d'analyse et statistiques. Utilisez-le pour les valeurs de configuration qui changent rarement mais ne doivent pas apparaître comme mortes ou obsolètes.\n\nUtilisez le sélecteur pour sélectionner des points de données individuels (états). Pour exclure un dossier ou un sous-arbre entier, saisissez le chemin directement dans le champ (par exemple 0_userdata.0.config). Les caractères génériques sont pris en charge : * correspond à n'importe quel suffixe, ? correspond à un seul caractère (par exemple 0_userdata.0.rollo.trigger*).\n\nChaque canal d'analyse fournit exceptionCount indiquant combien de points de données ont été exclus lors de la dernière analyse (0 si aucun).",
8
7
  "Datapoints not updated for this many days are marked as 'dead'": "Les points de données non mis à jour depuis autant de jours sont marqués comme « morts »",
9
8
  "Datapoints not updated for this many days are marked as 'stale'": "Les points de données non mis à jour depuis autant de jours sont marqués comme « périmés ».",
10
9
  "Days until 'dead' (critical)": "Jours avant « mort » (critique)",
11
10
  "Days until 'stale' (warning)": "Jours avant « périmé » (avertissement)",
12
- "Description": "Description",
13
11
  "Detection Thresholds": "Seuils de détection",
14
12
  "Each scan result contains a JSON array with the following fields per datapoint:": "Chaque résultat d'analyse contient un tableau JSON avec les 10 champs suivants par point de données :",
15
13
  "Enable automatic scans": "Activer les analyses automatiques",
16
14
  "Enabled": "Activé",
17
- "Enter scan paths on the Scan Paths tab or copy IDs from the Objects tab.\n\nTo scan all instances of an adapter, remove the instance number from the path (e.g. alias.0 → alias). This matches alias.0, alias.1, and so on.": "Saisissez les chemins d'analyse dans l'onglet Chemins d'analyse ou copiez les ID à partir de l'onglet Objets.\n\nPour analyser toutes les instances d'un adaptateur, supprimez le numéro d'instance du chemin (par exemple alias.0 → alias). Cela correspond à alias.0, alias.1, etc.",
18
- "Enter the scan path (e.g. 0_userdata.0, alias, javascript.0). Copy from the Objects tab if needed. Remove the instance number (alias.0 → alias) to scan all instances.": "Entrez le chemin d'analyse (par exemple 0_userdata.0, alias, javascript.0). Copiez depuis l'onglet Objets si nécessaire. Supprimez le numéro d'instance (alias.0 → alias) pour analyser toutes les instances.",
19
15
  "Exceptions": "Exceptions",
20
- "Exclude datapoints from scan results that are intentionally static or should be ignored (e.g. configuration values that rarely change). Select a single datapoint or a folder to exclude everything beneath it.": "Excluez les points de données des résultats d'analyse qui sont intentionnellement statiques ou qui doivent être ignorés (par exemple, les valeurs de configuration qui changent rarement). Sélectionnez un seul point de données ou un dossier pour exclure tout ce qui se trouve en dessous.",
21
- "Exclude datapoints from scan results that are intentionally static or should be ignored. Use the picker to select individual datapoints. To exclude an entire folder, type the path manually (e.g. 0_userdata.0.config).": "Excluez les points de données des résultats d'analyse qui sont intentionnellement statiques ou qui doivent être ignorés. Utilisez le sélecteur pour sélectionner des points de données individuels. Pour exclure un dossier entier, saisissez le chemin manuellement (par exemple 0_userdata.0.config).",
16
+ "Exclude datapoints from scan results that are intentionally static or should be ignored. Use the picker to select individual datapoints. To exclude an entire folder, type the path manually (e.g. 0_userdata.0.config). Wildcards are supported: * matches any suffix, ? matches a single character (e.g. 0_userdata.0.rollo.trigger*).": "Excluez les points de données des résultats d'analyse qui sont intentionnellement statiques ou qui doivent être ignorés. Utilisez le sélecteur pour sélectionner des points de données individuels. Pour exclure un dossier entier, saisissez le chemin manuellement (par exemple 0_userdata.0.config). Les caractères génériques sont pris en charge : * correspond à n'importe quel suffixe, ? correspond à un seul caractère (par exemple 0_userdata.0.rollo.trigger*).",
22
17
  "Excluded datapoints": "Points de données exclus",
23
- "Field": "Clé",
24
18
  "For German tables: Use status_de and issue_de columns\nFor English tables: Use status and issue columns\n\nFilter by 'issue != null' to show only problematic datapoints.": "Pour les tables allemandes : utilisez les colonnes status_de et issue_de.\nPour les tableaux en anglais : utilisez les colonnes d'état et de problème\n\nFiltrez par « issue != null » pour afficher uniquement les points de données problématiques.",
25
19
  "For alias.* paths: Check if target datapoints exist (ghost detection)": "Pour les chemins alias.* : Vérifiez si des points de données cibles existent (détection de fantômes)",
26
20
  "General Settings": "Paramètres généraux",
@@ -28,37 +22,23 @@
28
22
  "How often the automatic scan should run (minimum 1 hour)": "À quelle fréquence l’analyse automatique doit être exécutée (minimum 1 heure)",
29
23
  "If enabled, the adapter will scan the entire object tree and store the result in a separate 'complete' result channel.": "S'il est activé, l'adaptateur analysera l'intégralité de l'arborescence d'objets et stockera le résultat dans un canal de résultats « complet » distinct.",
30
24
  "JSON Table Field Description": "Description du champ du tableau JSON",
31
- "Name": "Nom",
32
- "Name (for result state)": "Nom (pour l'état du résultat)",
33
25
  "Name (for result state, optional)": "Nom (pour l'état du résultat, facultatif)",
34
26
  "Object": "Objet",
35
27
  "Optional note, e.g. alarm clock radio station": "Remarque facultative, par ex. station de radio-réveil",
36
28
  "Optional. If empty, the path will be used as name.": "Facultatif. S'il est vide, le chemin sera utilisé comme nom.",
37
29
  "Path Configuration": "Configuration du chemin",
38
30
  "Paths to scan": "Chemins à scanner",
39
- "Pick a folder in the object tree to exclude an entire subtree, or type a single state ID manually (e.g. 0_userdata.0.radio.station).": "Choisissez un dossier dans l'arborescence des objets pour exclure un sous-arbre entier ou saisissez manuellement un seul ID d'état (par exemple 0_userdata.0.radio.station).",
40
- "Pick a folder in the object tree, or type a path manually (e.g. 0_userdata.0). Remove the instance number (alias.0 alias) to scan all instances.": "Choisissez un dossier dans l'arborescence des objets ou saisissez un chemin manuellement (par exemple 0_userdata.0). Supprimez le numéro d'instance (alias.0 alias) pour analyser toutes les instances.",
41
- "Pick a folder or namespace (e.g. alias, 0_userdata.0, alias.0.Heizungen). Individual datapoints are not shown. The path stays editable — remove the instance number (alias.0 → alias) to scan all instances.": "Choisissez un dossier ou un espace de noms (par exemple, alias, 0_userdata.0, alias.0.Heizungen). Les points de données individuels ne sont pas affichés. Le chemin reste modifiable — supprimez le numéro d'instance (alias.0 → alias) pour analyser toutes les instances.",
42
- "Pick a folder/channel to exclude an entire subtree. To exclude a single state, type its ID directly into the field (e.g. 0_userdata.0.radio.station).": "Choisissez un dossier/canal pour exclure un sous-arbre entier. Pour exclure un seul état, saisissez son identifiant directement dans le champ (par exemple 0_userdata.0.radio.station).",
43
- "Pick a path from the object tree or type manually. Remove the instance number (e.g. alias.0 → alias) to scan all instances of an adapter.": "Choisissez un chemin dans l’arborescence des objets ou saisissez-le manuellement. Supprimez le numéro d'instance (par exemple, alias.0 → alias) pour analyser toutes les instances d'un adaptateur.",
44
- "Pick an adapter instance (e.g. 0_userdata.0, alias.0). The path stays editable — append a subfolder or remove the instance number (alias.0 → alias) after picking.": "Choisissez une instance d'adaptateur (par exemple 0_userdata.0, alias.0). Le chemin reste modifiable : ajoutez un sous-dossier ou supprimez le numéro d'instance (alias.0 → alias) après la sélection.",
45
- "Pick an adapter instance (e.g. 0_userdata.0, alias.0). The path stays editable — remove the instance number (alias.0 → alias) to scan all instances.": "Choisissez une instance d'adaptateur (par exemple 0_userdata.0, alias.0). Le chemin reste modifiable — supprimez le numéro d'instance (alias.0 → alias) pour analyser toutes les instances.",
46
- "Pick an adapter instance or subfolder (e.g. 0_userdata.0, alias.0). The path stays editable — remove the instance number (alias.0 → alias) to scan all instances.": "Choisissez une instance ou un sous-dossier d'adaptateur (par exemple 0_userdata.0, alias.0). Le chemin reste modifiable — supprimez le numéro d'instance (alias.0 → alias) pour analyser toutes les instances.",
47
- "Pick an individual datapoint to exclude it. To exclude an entire folder, type the folder path directly (e.g. 0_userdata.0.config).": "Choisissez un point de données individuel pour l'exclure. Pour exclure un dossier entier, saisissez directement le chemin du dossier (par exemple 0_userdata.0.config).",
48
- "Purpose": "But",
31
+ "Pick a namespace (e.g. 0_userdata.0, alias.0). The path stays editable remove the instance number (alias.0 alias) to scan all instances.": "Choisissez une instance ou un sous-dossier d'adaptateur (par exemple 0_userdata.0, alias.0). Le chemin reste modifiable supprimez le numéro d'instance (alias.0 alias) pour analyser toutes les instances.",
32
+ "Pick an individual datapoint to exclude it. To exclude an entire folder, type the folder path directly (e.g. 0_userdata.0.config). Use * or ? for wildcard patterns (e.g. 0_userdata.0.rollo.trigger*).": "Choisissez un point de données individuel pour l'exclure. Pour exclure un dossier entier, saisissez directement le chemin du dossier (par exemple 0_userdata.0.config). Utilisez * ou ? pour les modèles génériques (par exemple 0_userdata.0.rollo.trigger*).",
49
33
  "Scan Paths": "Chemins d'analyse",
50
34
  "Scan all objects (complete)": "Scanner tous les objets (terminé)",
51
35
  "Scan interval (hours)": "Intervalle d'analyse (heures)",
52
36
  "Scan path": "Chemin de numérisation",
53
- "Select a datapoint or folder to exclude. Folders exclude all states beneath them.": "Sélectionnez un point de données ou un dossier à exclure. Les dossiers excluent tous les états situés en dessous.",
54
- "Tip: The path remains editable after picking. Remove the instance number (e.g. alias.0 → alias) to scan all instances of an adapter.": "Astuce : Le chemin reste modifiable après le prélèvement. Supprimez le numéro d'instance (par exemple, alias.0 → alias) pour analyser toutes les instances d'un adaptateur.",
55
- "Tip: The path stays editable after picking. Remove the instance number (e.g. alias.0 → alias) to scan all instances of an adapter.": "Astuce : Le chemin reste modifiable après le choix. Supprimez le numéro d'instance (par exemple, alias.0 → alias) pour analyser toutes les instances d'un adaptateur.",
37
+ "Team inventwo • <a href=\"https://github.com/inventwo\">https://github.com/inventwo</a> by skvarel": "Team inventwo • <a href=\"https://github.com/inventwo\">https://github.com/inventwo</a> by skvarel",
56
38
  "Tip: The path stays editable after picking. Remove the instance number (e.g. alias.0 → alias) to scan all instances. You can also copy any object ID from the Objects tab and paste it directly into the path field.": "Astuce : Le chemin reste modifiable après le choix. Supprimez le numéro d'instance (par exemple alias.0 → alias) pour analyser toutes les instances. Vous pouvez également copier n'importe quel ID d'objet depuis l'onglet Objets et le coller directement dans le champ Chemin.",
57
39
  "Usage in VIS Widgets": "Utilisation dans les widgets VIS",
58
40
  "Use the object picker on the Scan Paths tab or type a path manually. The path stays editable after picking.\n\nTo scan all instances of an adapter, remove the instance number from the path (e.g. alias.0 → alias). This matches alias.0, alias.1, and so on.": "Utilisez le sélecteur d'objets dans l'onglet Chemins d'analyse ou saisissez un chemin manuellement. Le chemin reste modifiable après la sélection.\n\nPour analyser toutes les instances d'un adaptateur, supprimez le numéro d'instance du chemin (par exemple alias.0 → alias). Cela correspond à alias.0, alias.1, etc.",
59
- "Use the object picker on the Scan Paths tab or type a path manually. The path stays editable after picking.\nTo scan all instances of an adapter, remove the instance number from the path (e.g. alias.0 → alias). This matches alias.0, alias.1, and so on.": "Utilisez le sélecteur d'objets dans l'onglet Chemins d'analyse ou saisissez un chemin manuellement. Le chemin reste modifiable après la sélection.\n\nPour analyser toutes les instances d'un adaptateur, supprimez le numéro d'instance du chemin (par exemple alias.0 → alias). Cela correspond à alias.0, alias.1, etc.",
60
41
  "When enabled, all configured paths will be scanned automatically at the specified interval": "Lorsqu'il est activé, tous les chemins configurés seront analysés automatiquement à l'intervalle spécifié",
61
- "e.g. 0_userdata.0 or alias": "par ex. 0_userdata.0 ou alias",
62
42
  "help_json_fields": "<table style=\"width:100%;border-collapse:collapse;font-size:0.875rem\"><thead><tr style=\"border-bottom:1px solid #546e7a\"><th style=\"text-align:left;padding:8px 6px;width:6%\">#</th><th style=\"text-align:left;padding:8px 6px;width:14%\">Clé</th><th style=\"text-align:left;padding:8px 6px;width:40%\">Description</th><th style=\"text-align:left;padding:8px 6px\">Objectif</th></tr></thead><tbody><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\">01</td><td style=\"padding:6px\"><code>id</code></td><td style=\"padding:6px\">Chemin complet du point de données</td><td style=\"padding:6px\">Identification unique</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\">02</td><td style=\"padding:6px\"><code>name</code></td><td style=\"padding:6px\">common.name ou dernière partie de l'ID</td><td style=\"padding:6px\">Nom convivial</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\">03</td><td style=\"padding:6px\"><code>last_ts</code></td><td style=\"padding:6px\">Horodatage Unix (ms) ou null</td><td style=\"padding:6px\">Tri en arrière-plan</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\">04</td><td style=\"padding:6px\"><code>last_ts_iso</code></td><td style=\"padding:6px\">Chaîne de date formatée</td><td style=\"padding:6px\">Affichage dans le tableau</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\">05</td><td style=\"padding:6px\"><code>value</code></td><td style=\"padding:6px\">Valeur actuelle du point de données</td><td style=\"padding:6px\">Vérification finale avant suppression</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\">06</td><td style=\"padding:6px\"><code>statut</code></td><td style=\"padding:6px\">actif, mort, périmé, indéfini, orphelin</td><td style=\"padding:6px\">Classification (Anglais)</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\">07</td><td style=\"padding:6px\"><code>status_de</code></td><td style=\"padding:6px\">actif, inactif, activé, indéfini, verwaist</td><td style=\"padding:6px\">Classification (allemand)</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\">08</td><td style=\"padding:6px\"><code>issue</code></td><td style=\"padding:6px\">mort, périmé, orphelin_alias ou nul</td><td style=\"padding:6px\">Critère de filtre (null = OK)</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\">09</td><td style=\"padding:6px\"><code>issue_de</code></td><td style=\"padding:6px\">inaktiv, veraltet, verwaistes Alias, ou null</td><td style=\"padding:6px\">Critère de filtre (allemand)</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\">10</td><td style=\"padding:6px\"><code>size</code></td><td style=\"padding:6px\">JSON.stringify(val).length</td><td style=\"padding:6px\">Trouver les porcs de stockage</td></tr></tbody></table>",
63
43
  "help_readme": "<b>Pour une documentation complète, cliquez ici ci-dessous :</b><br><br>• <a href=\"https://github.com/inventwo/ioBroker.tidy/blob/main/README.md\">Documentation de l'adaptateur</a>",
64
44
  "paypal_donate": "Si vous souhaitez nous soutenir.",