iobroker.autodoc 0.9.35
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/LICENSE +21 -0
- package/README.md +126 -0
- package/admin/autodoc.png +0 -0
- package/admin/i18n/de.json +244 -0
- package/admin/i18n/en.json +241 -0
- package/admin/i18n/es.json +229 -0
- package/admin/i18n/fr.json +235 -0
- package/admin/i18n/it.json +229 -0
- package/admin/i18n/nl.json +229 -0
- package/admin/i18n/pl.json +229 -0
- package/admin/i18n/pt.json +229 -0
- package/admin/i18n/ru.json +229 -0
- package/admin/i18n/uk.json +229 -0
- package/admin/i18n/zh-cn.json +229 -0
- package/admin/jsonConfig.json +1490 -0
- package/io-package.json +253 -0
- package/lib/adapter-config.d.ts +19 -0
- package/lib/aiEnhancer.js +2114 -0
- package/lib/autoHostTopologyMermaid.js +195 -0
- package/lib/dependencyAnalyzer.js +83 -0
- package/lib/diagnosisSnapshot.js +32 -0
- package/lib/discovery.js +953 -0
- package/lib/docTemplateConfig.js +422 -0
- package/lib/documentModel.js +640 -0
- package/lib/forumCard.js +70 -0
- package/lib/guestHelpContent.js +93 -0
- package/lib/guestScriptPrivacy.js +14 -0
- package/lib/hostDisplay.js +19 -0
- package/lib/htmlRenderer.js +4108 -0
- package/lib/htmlThemePresets.js +79 -0
- package/lib/htmlToPdf.js +99 -0
- package/lib/i18n.js +1309 -0
- package/lib/markdownRenderer.js +2025 -0
- package/lib/mermaidAutodocPalette.js +165 -0
- package/lib/mermaidServerSvg.js +252 -0
- package/lib/notifier.js +124 -0
- package/lib/quickStartGuide.js +180 -0
- package/lib/roleMapper.js +90 -0
- package/lib/scriptGroups.js +78 -0
- package/lib/versionTracker.js +312 -0
- package/main.js +1368 -0
- package/package.json +88 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 crunchip77 <41550245+crunchip77@users.noreply.github.com>
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+

|
|
2
|
+
|
|
3
|
+
# ioBroker.autodoc
|
|
4
|
+
|
|
5
|
+
Automatically generates structured documentation (HTML, Markdown, JSON) for your ioBroker installation — on demand, on a schedule, or when the system changes.
|
|
6
|
+
|
|
7
|
+
**Version:** 0.9.34
|
|
8
|
+
|
|
9
|
+
| | |
|
|
10
|
+
| --- | --- |
|
|
11
|
+
| **Install** | [ioBroker Admin](https://www.iobroker.net/#en/documentation) — [npm](https://www.npmjs.com/package/iobroker.autodoc) package **`iobroker.autodoc`**, or install from this **Git** repository (URL / clone). Default adapter lists still need the package in [ioBroker.repositories](https://github.com/ioBroker/ioBroker.repositories) (see [TODO — release](TODO.md#release-veroeffentlichung)). |
|
|
12
|
+
| **Repository** | [github.com/crunchip77/ioBroker.autodoc](https://github.com/crunchip77/ioBroker.autodoc) |
|
|
13
|
+
| **Issues** | [GitHub Issues](https://github.com/crunchip77/ioBroker.autodoc/issues) |
|
|
14
|
+
|
|
15
|
+
**CI:** 
|
|
16
|
+
|
|
17
|
+
## Description
|
|
18
|
+
|
|
19
|
+
The adapter scans adapters, hosts, rooms, functions, scripts, aliases, userdata, and related metadata, then writes **three profiles** in one run:
|
|
20
|
+
|
|
21
|
+
| Profile | Audience | Focus |
|
|
22
|
+
| --- | --- | --- |
|
|
23
|
+
| **Admin** | Operators | Instances, hosts, resources, scripts, maintenance hints, diagnosis |
|
|
24
|
+
| **User** | Household | Rooms, devices, automations in plain language |
|
|
25
|
+
| **Onboarding** | Guests | Welcome, capabilities, QR / link to the latest HTML |
|
|
26
|
+
|
|
27
|
+
Exports are written under `/files/autodoc.<instance>/` (latest HTML + rotated timestamped `.md` / `.html` / `.json`). Optional notifications and **opt-in AI** text (separate providers) can enrich the docs.
|
|
28
|
+
|
|
29
|
+
## Requirements
|
|
30
|
+
|
|
31
|
+
- **Node.js** ≥ 22 (see `package.json` → `engines`)
|
|
32
|
+
- **ioBroker.js-controller** ≥ 6.0.11 (declared in `io-package.json` → `common.dependencies`)
|
|
33
|
+
- **ioBroker Admin** ≥ 7.6.20 (declared in `io-package.json` → `common.globalDependencies`) — needed for the **json** configuration UI and `jsonConfig` features (e.g. `textSendTo`, collapsible panels)
|
|
34
|
+
|
|
35
|
+
No other adapters are **required** for AutoDoc itself. Optional: a **web server** adapter if you want to open generated files from outside the Admin file browser; exports are always available under `/files/autodoc.<instance>/`. **PDF** profiles need the optional npm package **`puppeteer`** (bundled Chromium) installed in the adapter directory — see **Optional PDF export** below.
|
|
36
|
+
|
|
37
|
+
## Configuration
|
|
38
|
+
|
|
39
|
+
Configure the instance in **ioBroker Admin** (tabs for basics, manual notes, advanced options, notifications, AI). Generation can be triggered manually, on startup, on a timer, and after adapter changes (debounced).
|
|
40
|
+
|
|
41
|
+
Short **orientation** for operators (install paths, tabs, exports, hashes, checker): **[`docs/user-guide/README.md`](docs/user-guide/README.md)** · **German** scenario walkthrough (**„Muster-Einfamilienhaus“** etc.): **[`docs/user-guide/README.de.md`](docs/user-guide/README.de.md)**.
|
|
42
|
+
|
|
43
|
+
Useful **states** (selection): `action.generate`; **`action.exportPdf`** (writes **PDF** profiles from the latest HTML under `/files` when optional **`puppeteer`** is installed in the adapter directory — no full regeneration); `info.lastGeneration` / `info.nextGeneration`; `info.htmlUrlAdmin` / `info.htmlUrlUser` / `info.htmlUrlOnboarding`; `info.templateVersion` (HTML template / renderer alignment); `info.forumCardPlain` (plaintext “system card” for forums, updated when documentation is generated).
|
|
44
|
+
|
|
45
|
+
**Exports & storage:** after each successful run, **`documentation.exportHashes`** holds **SHA-256 (hex)** for the latest MD / JSON / Admin HTML served from `/files`, and **merges digests for `autodoc-{admin,user,onboarding}.pdf`** whenever a PDF export step wrote those files. In Admin **Advanced**, **Documentation states storage** is **`full`** (defaults; last bodies in `documentation.*`) or **`metadata`** (lightweight states; canonical files remain under `/files`).
|
|
46
|
+
|
|
47
|
+
### Media, Redis, and state storage (short)
|
|
48
|
+
|
|
49
|
+
- **Canonical exports** always live under **`/files/autodoc.<instance>/`** and are **overwritten** each run (no accumulation of old HTML versions there).
|
|
50
|
+
- If the **object / Redis** database should stay small, prefer **`metadata`** for documentation states (see **Exports & storage** above): scripts and integrations that need **full text** should read **`/files/`** or use **`info.htmlUrl*`** / download actions.
|
|
51
|
+
- **Photos and large binaries:** do **not** rely on storing big images in ioBroker’s virtual file storage — **especially with Redis** (binary blobs inflate RAM). Use **external URLs** (your NAS, HTTP server) or small **inline SVG** diagrams; the same guideline keeps **jsonl** setups predictable.
|
|
52
|
+
- Rationale, options, and future media work: [`PLAN.md` — Media (MVP) & limits](PLAN.md#architektur-medien-mvp) and [Architecture boundaries](PLAN.md#architektur-grenzen).
|
|
53
|
+
|
|
54
|
+
### Public base URL (QR code and “Copy link”)
|
|
55
|
+
|
|
56
|
+
The **Onboarding** HTML includes a QR code and a **Copy link** control. Both use the same target: the onboarding file under `/files/autodoc.<instance>/autodoc-onboarding.html`, prefixed with the **ioBroker base URL** from the adapter settings (**Advanced** tab: *ioBroker base URL (optional)*).
|
|
57
|
+
|
|
58
|
+
- Set the base URL to what you use in the browser to reach ioBroker (scheme, host, port if needed), **without** a trailing slash. Examples: `https://home.example.com:8081`, `http://192.168.1.10:8081`.
|
|
59
|
+
- If it is **empty or wrong**, guests scanning the QR code or using the copied link from another device may get a broken or internal-only URL. After changing it, run documentation generation again so the HTML is rebuilt.
|
|
60
|
+
|
|
61
|
+
### Optional filesystem export (Docker / NAS)
|
|
62
|
+
|
|
63
|
+
**Filesystem export path** writes the three HTML profiles to a real directory (in addition to ioBroker’s `/files/…` storage). In **Docker**, map a host folder into the container and set **export path** to the **container-side** path (not the Unraid/host path). See the field help in Admin for a short reminder.
|
|
64
|
+
|
|
65
|
+
### Optional PDF export (Puppeteer)
|
|
66
|
+
|
|
67
|
+
**Best effort:** after a successful documentation run, you can create **`autodoc-admin.pdf`**, **`autodoc-user.pdf`**, and **`autodoc-onboarding.pdf`** from the same HTML that is stored under `/files/` (headless Chromium via **`puppeteer`**, declared as an **optional** npm dependency — same major line as **`@mermaid-js/mermaid-cli`**). Enable **Generate PDF after each documentation run** in **Advanced** next to the filesystem export, or trigger **`action.exportPdf`** manually. PDFs are written under **`/files/autodoc.<instance>/`** and mirrored to **Filesystem export path** when that path is set. **Embedded Mermaid SVG** (when mmdc ran during generation) prints without extra network; **jsDelivr** client Mermaid still needs internet during the PDF step. Without a working Chromium stack, PDF creation is skipped with a clear log line — HTML/Markdown generation is unaffected.
|
|
68
|
+
|
|
69
|
+
### AI context hints (guest vs resident)
|
|
70
|
+
|
|
71
|
+
**AI context hints** are injected only into the LLM prompt; they are **not** printed in the documentation. For **guest onboarding**, prefer everyday facts. Heavy IT or project wording (adapters, repos, …) can cause the model to leak jargon into guest text; a **safety step** then replaces that AI block with neutral guest wording. That is intentional. The **resident / family** profile does not use the same guest-only restriction. Configure them in Admin under **KI documentation / AI documentation** (after enabling a provider); full wording appears in the hint above the field.
|
|
72
|
+
|
|
73
|
+
## Features (overview)
|
|
74
|
+
|
|
75
|
+
- Discovery across instances, hosts, enums, scripts, aliases, userdata, system config
|
|
76
|
+
- Standalone HTML per profile with search, dark mode, responsive layout
|
|
77
|
+
- Markdown + JSON export and version history (rotation configurable)
|
|
78
|
+
- Maintenance-oriented hints (documentation score for open checklist items; disabled instances listed as inventory, not penalized)
|
|
79
|
+
- Multilingual Admin UI strings (EN / DE / FR full; more locales with English copy until translated — [CONTRIBUTING](CONTRIBUTING.md#admin-ui-translations-i18n)); generated copy follows your configured project language where applicable
|
|
80
|
+
- Optional AI providers (e.g. Ollama, Groq, Anthropic) with strict opt-in
|
|
81
|
+
|
|
82
|
+
For **roadmap and planning**: [`TODO.md`](TODO.md) (open work at the top, full completed checklists in the appendix) and [`PLAN.md`](PLAN.md) (vision, rationale, architecture brainstorming).
|
|
83
|
+
|
|
84
|
+
**Contributing / releases:** see [`CONTRIBUTING.md`](CONTRIBUTING.md).
|
|
85
|
+
|
|
86
|
+
## Changelog
|
|
87
|
+
|
|
88
|
+
The **seven** sections below match **`common.news`** in `io-package.json` (ioBroker repository builder keeps only the latest **7** news entries). Older versions are in [`CHANGELOG_OLD.md`](CHANGELOG_OLD.md).
|
|
89
|
+
### 0.9.35 (2026-05-08)
|
|
90
|
+
|
|
91
|
+
- **npm:** publish **`iobroker.autodoc`** on the public registry so hosts can `npm install` the adapter tarball without cloning.
|
|
92
|
+
- **README:** install table reflects **npm** plus Git; default-list installs still depend on **ioBroker.repositories** (unchanged process).
|
|
93
|
+
|
|
94
|
+
### 0.9.34 (2026-05-08)
|
|
95
|
+
|
|
96
|
+
- **`documentation.exportHashes`:** after a successful PDF step, **SHA-256** entries for **`autodoc-admin.pdf`**, **`autodoc-user.pdf`**, **`autodoc-onboarding.pdf`** are merged into the same state (generation with **`pdfExportAfterGeneration`** or manual **`action.exportPdf`**).
|
|
97
|
+
- **Mermaid / HTML:** jsDelivr **`mermaid.min.js`** is injected **only** when the page still contains **`<pre class="mermaid">`** (fully SVG-embedded exports skip the CDN). `RENDERER_VERSION` **2026.05.08.1**.
|
|
98
|
+
- **Admin:** **`Doc layout pdf hint`** on tab **HTML export & extra sections**; **export-hashes** help text mentions PDF digests; **`manualMermaidDiagram`** help clarified.
|
|
99
|
+
- **Quick Start:** scripts-with-description lines are ordered **by name** for stable output.
|
|
100
|
+
- **`docs/user-guide`:** tab overview, **exportHashes**/Mermaid wording; **SCREENSHOTS.md** + eingebettete **PNG-Screenshots** für alle sechs Konfig-Tabs (neben den SVG-Wireframes), Hinweise Lesbarkeit/GitHub-Vorschau.
|
|
101
|
+
|
|
102
|
+
### 0.9.33 (2026-05-08)
|
|
103
|
+
|
|
104
|
+
- **PDF export (Phase 5 — first slice):** optional **`puppeteer`** — **`pdfExportAfterGeneration`** in Admin **Advanced** and/or **`action.exportPdf`**; writes **`autodoc-{admin,user,onboarding}.pdf`** alongside HTML under **`/files/`** and mirrors to **Filesystem export path** when set (`lib/htmlToPdf.js`). Same Chromium sandbox flags as Mermaid CLI. Without **`puppeteer`** or on broken headless setups, PDF is skipped; core documentation generation continues.
|
|
105
|
+
- **Admin:** **`jsonConfig`** + **i18n** (EN/DE/FR + English copy elsewhere) for PDF options and extended **export path** hint.
|
|
106
|
+
|
|
107
|
+
### 0.9.32 (2026-05-08)
|
|
108
|
+
|
|
109
|
+
- **Documentation for operators:** new **`docs/user-guide/`** — [English README](docs/user-guide/README.md) plus [German scenario walkthrough](docs/user-guide/README.de.md); SVG wireframes and notes for replacing them with screenshots.
|
|
110
|
+
- **Admin UI (`jsonConfig` + i18n):** extended help for **Mermaid** (CDN vs bundled, curated vs auto topology fields), **`documentation.exportHashes`**, documentation **states storage** (`full` vs `metadata`); **placeholders** on long JSON/manual fields where helpful; AI tab trims visible noise when provider is **`none`** or scripts are unchecked.
|
|
111
|
+
- **Repository hygiene:** **`dev` merged into `main`** as default line; **`common.extIcon`** raw URL and Admin **guide links** in i18n use **`main`**; **PNG icon** refreshed (512×512).
|
|
112
|
+
- **CI / tooling:** GitHub **`test-and-release.yml`** concurrency block matches **ioBroker.example** (Adapter Checker **E3009**); **`tsconfig`** / **`tsconfig.check`** exclude accidental local bootstrap paths (`iobroker-data/`, installer stubs) — aligns with ESLint ignores; **`guestHelpContent`** ESLint tidy.
|
|
113
|
+
- **Docs assets:** guide SVG markup fixed so **GitHub’s preview** no longer rejects them as invalid images.
|
|
114
|
+
|
|
115
|
+
### 0.9.31 (2026-05-07)
|
|
116
|
+
|
|
117
|
+
- **Score 3 "Dokumentationstiefe" rework:** removed the "instances without room" check entirely from all scores (caused confusion, too many legitimate exceptions). Replaced with two new checks: **"custom documentation chapter has content"** and **"AI provider configured for script enrichment"** (conditional — only shown when scripts exist, auto-passes when no scripts are present).
|
|
118
|
+
- `DEFAULT_UNASSIGNED_INSTANCE_WARN_AT` constant removed; `maintenanceScoreCheckUnassigned` and `maintenanceScoreUnassignedWarnAt` config fields are now unused in score logic (kept in admin config for backward compatibility but have no effect).
|
|
119
|
+
- i18n EN/DE/FR: new keys `checkHasCustomSections`, `checkAiConfigured`, `checkInstancesWithoutRoomInfo`.
|
|
120
|
+
- **Dev / CI (npm):** optional **Mermaid CLI** toolchain + striktes `npm ci` auf Linux (Node 24) — **`package.json` → `overrides`** (`chromium-bidi` → `devtools-protocol@0.0.1107588`) und **devDependencies** `cytoscape`, `d3-selection`, `devtools-protocol`, damit `package-lock.json` vollständig bleibt. Nach Dependency-Änderungen: `npm install` und Lock mit committen (`CONTRIBUTING.md`).
|
|
121
|
+
|
|
122
|
+
## License
|
|
123
|
+
|
|
124
|
+
MIT License
|
|
125
|
+
|
|
126
|
+
Copyright (c) 2026 crunchip77 <41550245+crunchip77@users.noreply.github.com>
|
|
Binary file
|
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
{
|
|
2
|
+
"autodoc adapter settings": "Adaptereinstellungen für autodoc",
|
|
3
|
+
"Project name": "Projektname",
|
|
4
|
+
"Name of the ioBroker project or installation": "Name des ioBroker-Projekts oder der Installation",
|
|
5
|
+
"Target system": "Zielsystem",
|
|
6
|
+
"Usually ioBroker": "Normalerweise ioBroker",
|
|
7
|
+
"Documentation profile": "Dokumentationsprofil",
|
|
8
|
+
"Target audience for the generated documentation": "Zielgruppe für die erzeugte Dokumentation",
|
|
9
|
+
"Documentation language": "Dokumentationssprache",
|
|
10
|
+
"Language for the generated documentation": "Sprache für die erzeugte Dokumentation",
|
|
11
|
+
"English": "Englisch",
|
|
12
|
+
"German": "Deutsch",
|
|
13
|
+
"Target audience for Markdown export and default focus. HTML always includes all three profiles (admin, user, onboarding). AI text for User/Onboarding HTML runs whenever a KI provider is set, regardless of this selection.": "Zielgruppe für den Markdown-Export und Standard-Fokus. HTML enthält immer alle drei Profile (Admin, User, Onboarding). KI-Text für User-/Onboarding-HTML wird ausgeführt, sobald ein KI-Anbieter gesetzt ist — unabhängig von dieser Auswahl.",
|
|
14
|
+
"Project description": "Projektbeschreibung",
|
|
15
|
+
"Short description of what should be documented": "Kurze Beschreibung dessen, was dokumentiert werden soll",
|
|
16
|
+
"Additional notes": "Zusätzliche Hinweise",
|
|
17
|
+
"Optional notes, devices, adapters or special requirements": "Optionale Hinweise, Geräte, Adapter oder besondere Anforderungen",
|
|
18
|
+
"Generate documentation on adapter start": "Dokumentation beim Start des Adapters erzeugen",
|
|
19
|
+
"If enabled, documentation is queued each time the adapter starts (runs in the background; the instance can show green before it finishes). If disabled, a run still happens once after an update when the built-in HTML renderer version no longer matches info.templateVersion. Check the log for \"Documentation generated via startup\" and state info.lastTrigger.": "Wenn aktiviert, wird bei jedem Adapterstart eine Dokumentationserzeugung angestoßen (läuft im Hintergrund; die Instanz kann schon grün sein, bevor sie fertig ist). Wenn aus: es läuft trotzdem einmal nach einem Update, wenn die eingebaute HTML-Renderer-Version nicht mehr zu info.templateVersion passt. Im Log auf „Documentation generated via startup“ und den State info.lastTrigger achten.",
|
|
20
|
+
"Generate documentation on adapter changes": "Dokumentation bei Adapteränderungen erzeugen",
|
|
21
|
+
"If enabled, documentation is regenerated automatically when adapters are installed, removed, or enabled/disabled (30 second debounce)": "Wenn aktiviert, wird die Dokumentation automatisch neu erzeugt, wenn Adapter installiert, entfernt oder aktiviert/deaktiviert werden (30 Sekunden Verzögerung)",
|
|
22
|
+
"Read live state values (opt-in)": "Live-Statuswerte lesen (opt-in)",
|
|
23
|
+
"If enabled, current values for selected state roles are read and shown in User/Onboarding room cards and the Admin device table (badges next to device names). Includes e.g. temperature, blinds (level.blind), dimmers, lights (switch.light), outlets (switch/plug), humidity, power metrics, locks, door/window/contact, motion, alarm. Room members may be channels or devices — matching child states are found automatically. Very custom or empty roles are skipped.": "Wenn aktiviert, werden aktuelle Werte ausgewählter State-Rollen gelesen und in User-/Onboarding-Raumkarten sowie in der Admin-Gerätetabelle angezeigt (Badges neben Gerätenamen). U. a. Temperatur, Rollläden (level.blind), Dimmer, Licht (switch.light), Steckdosen (switch/plug), Luftfeuchtigkeit, Leistungskennzahlen, Schlösser, Tür-/Fenster-/Kontakt, Bewegung, Alarm. Raum-Mitglieder können Kanäle oder Geräte sein — passende Unter-States werden automatisch ermittelt. Sehr spezielle oder leere Roles werden übersprungen.",
|
|
24
|
+
"Scheduled interval (hours)": "Zeitplan: Intervall (Stunden)",
|
|
25
|
+
"Optional timer: regenerate every X hours, independent of start and adapter-change options above. 0 = no scheduled runs (events and start still work).": "Optional: zusätzlich alle X Stunden neu erzeugen — unabhängig von Start und „bei Adapteränderungen“ oben. 0 = kein Stunden-Zeitplan (Start und Ereignisse funktionieren trotzdem).",
|
|
26
|
+
"Only document enabled instances": "Nur aktivierte Instanzen dokumentieren",
|
|
27
|
+
"If enabled, only active adapter instances are included in the documentation": "Wenn aktiviert, werden nur aktive Adapter-Instanzen in die Dokumentation aufgenommen",
|
|
28
|
+
"Hide instance details in markdown": "Instanzdetails im Markdown ausblenden",
|
|
29
|
+
"If enabled, the markdown output contains only summary information without the full instance list": "Wenn aktiviert, enthält die Markdown-Ausgabe nur Zusammenfassungen ohne die vollständige Instanzliste",
|
|
30
|
+
"Maximum documented instances": "Maximale Anzahl dokumentierter Instanzen",
|
|
31
|
+
"Limits how many adapter instances are included in the generated documentation, 0 means unlimited": "Begrenzt, wie viele Adapter-Instanzen in die erzeugte Dokumentation aufgenommen werden, 0 bedeutet unbegrenzt",
|
|
32
|
+
"ioBroker base URL (optional)": "ioBroker Basis-URL (optional)",
|
|
33
|
+
"Used for the info.htmlUrl state. Include port, e.g. 192.168.1.100:8081 or http://myserver:8082. Protocol is optional. Leave empty for auto-detection (may fail in Docker).": "Wird für den info.htmlUrl-State verwendet. Port angeben, z.B. 192.168.1.100:8081 oder http://myserver:8082. Protokoll ist optional. Leer lassen für automatische Erkennung (kann in Docker fehlschlagen).",
|
|
34
|
+
"Maximum stored documentation files": "Maximale Anzahl gespeicherter Dokumentationsdateien",
|
|
35
|
+
"How many timestamped file sets to keep (per type: .md, .html, .json). Oldest are deleted automatically. 0 = use default (3).": "Wie viele Dateisätze mit Zeitstempel behalten werden sollen (je Typ: .md, .html, .json). Älteste werden automatisch gelöscht. 0 = Standard (3).",
|
|
36
|
+
"Documentation states storage": "Dokumentation in States",
|
|
37
|
+
"Documentation states storage help": "Vollständig: Markdown, HTML und JSON zusätzlich in Adapter-States (bisheriges Verhalten, größere Objekt-DB / Redis). Nur Metadaten: vollständige Exporte nur unter Dateien (autodoc-latest.*); States enthalten einen kurzen Platzhalter — schont die Datenbank. Skripte, die documentation.* als Volltext lesen, müssen auf /files/ oder HTTP-URLs umstellen. Download-Aktionen schreiben autodoc.md / .json / .html weiterhin aus den neuesten Dateien. In beiden Modi enthält **`documentation.exportHashes`** **SHA-256**-Prüfsummen (hex) der aktuellen MD-/HTML-/JSON-Exporte zur Änderungserkennung. **Nach erfolgreichem PDF-Export** (optional **`puppeteer`**) enthält derselbe State auch Prüfsummen für **`autodoc-admin.pdf`**, **`autodoc-user.pdf`** und **`autodoc-onboarding.pdf`**, sobald diese Dateien geschrieben wurden.",
|
|
38
|
+
"Doc states mode full": "Vollständig (in States — größere DB)",
|
|
39
|
+
"Doc states mode metadata": "Nur Metadaten (Inhalt nur in /files)",
|
|
40
|
+
"Manual context (JSON)": "Manueller Kontext (JSON)",
|
|
41
|
+
"Additional manual information to include in documentation (description, contact, notes)": "Zusätzliche manuelle Informationen für die Dokumentation (Beschreibung, Kontakt, Notizen)",
|
|
42
|
+
"Basic settings": "Grundeinstellungen",
|
|
43
|
+
"Documentation & layout": "Doku & Layout",
|
|
44
|
+
"Admin tab orientation AI": "Optional: KI‑Anbieter für kurze Zusatztexte in den Exporten. Ohne Anbieter (Deaktiviert) keine KI‑Anfragen. Ollama bleibt lokal; Cloud‑Anbieter senden Daten ins Internet — siehe Hinweis zum Datenschutz unten.",
|
|
45
|
+
"Admin tab orientation basic": "Dieser Tab „Grundeinstellungen“: Sprache, wann neu erzeugt wird, optional Live‑Werte, „Jetzt erzeugen“, letzter Lauf, Forum‑Karte. Die Tabs „Meine Dokumentation“, „Erweitert“ und „HTML‑Export & Zusatzkapitel“ enthalten alle Inhalte und Filter. „Benachrichtigungen“ und „KI‑Dokumentation“ sind optional.",
|
|
46
|
+
"Admin tab orientation documentation": "Hier stehen alle lesbaren Texte. Unter „Erweitert“: Filter, Markdown‑Detail, Grenzen, Basis‑URL für Links/QR, Speicherort der Dokumentation, optional Dateikopie, optional **PDF nach Lauf**, Doku‑Setup‑Score. Unter „HTML‑Export & Zusatzkapitel“: Aussehen, sichtbare Kapitel und Reihenfolge, eigene Markdown‑Abschnitte, Hinweis wo **PDF** konfiguriert wird (Schalter unter **Erweitert**). **KI‑Kontexthinweise** (nur für den Prompt, nie im Export) stehen unter **KI‑Dokumentation**, sobald ein Anbieter aktiviert ist.",
|
|
47
|
+
"Admin tab orientation notify": "Optional: Nach jedem Lauf eine Nachricht (z. B. Telegram, E‑Mail). Diesen Tab können Sie überspringen, wenn keine Benachrichtigung nötig ist.",
|
|
48
|
+
"Basic section profile": "Profil & Sprache",
|
|
49
|
+
"Basic section triggers": "Wann neu erzeugen",
|
|
50
|
+
"Basic section discovery": "Live-Werte in der Dokumentation",
|
|
51
|
+
"Basic section manual": "Jetzt erzeugen & Status",
|
|
52
|
+
"Manual section project": "Projekt, Kontakt & Notizen",
|
|
53
|
+
"Doc section appearance": "Darstellung, Farbschema & Logo",
|
|
54
|
+
"Doc section expert styling": "Optional: eigene Schrift & CSS",
|
|
55
|
+
"Advanced styling open hint": "Diese Felder sind **optional** und nur für **Schrift** oder **zusätzliches CSS** auf dem **Farb-Preset** und **Farbschema** von oben. Leer lassen, wenn die Voreinstellung reicht. Tippfehler in CSS können das Layout stören. **Kapitel ein-/ausblenden** und **eigene Markdown-Kapitel** stehen in den Blöcken **weiter oben** auf diesem Tab — gehören **nicht** hierher.",
|
|
56
|
+
"Doc section chapters": "Sichtbare Kapitel (je Profil)",
|
|
57
|
+
"Notify section": "Nach jeder Doku-Erzeugung",
|
|
58
|
+
"AI section provider": "Anbieter, Modell & Verbindung",
|
|
59
|
+
"AI section tuning": "Temperatur / Zufälligkeit (optional)",
|
|
60
|
+
"AI section scripts": "JavaScript-Skripte (optional KI)",
|
|
61
|
+
"My documentation": "Meine Dokumentation",
|
|
62
|
+
"Advanced": "Erweitert",
|
|
63
|
+
"Advanced section content": "Inhalt & Grenzen",
|
|
64
|
+
"Advanced section states": "Dokumentation in States & Basis-URL",
|
|
65
|
+
"Advanced section filesystem": "Optional: zusätzlicher Datei-Export",
|
|
66
|
+
"Advanced setup score intro": "Der **Doku-Setup-Score** (unten) erscheint in der erzeugten Admin-Dokumentation. Eine optionale Zeile prüft, ob die **ioBroker-Basis-URL** oben gesetzt ist — sinnvoll für QR-Codes und Lesezeichen. Zeilen einzeln abschalten oder Schwellen anpassen, wenn es zu Ihrer Installation nicht passt.",
|
|
67
|
+
"Advanced section maintenance score": "Doku-Setup-Score",
|
|
68
|
+
"Maintenance score include description check": "Projektbeschreibung (Länge) einbeziehen",
|
|
69
|
+
"Maintenance score description check help": "Wenn aktiv, zählt der **Doku-Setup-Score** im Admin-Export diese Zeile: „Meine Dokumentation“ — Text mindestens so lang wie unten. Aus, wenn bewusst kurz.",
|
|
70
|
+
"Maintenance score include base URL check": "ioBroker-Basis-URL einbeziehen",
|
|
71
|
+
"Maintenance score base URL check help": "Wenn aktiv, verlangt der Setup-Score eine nicht leere **Basis-URL** im Feld oben (QR, Lesezeichen, Notfall-Links).",
|
|
72
|
+
"Maintenance score include unassigned check": "Instanzen ohne Raum einbeziehen",
|
|
73
|
+
"Maintenance score unassigned check help": "Wenn aktiv, fällt der Setup-Score fehl, sobald die Zahl aktiver Instanzen ohne Raum **≥** Schwelle unten. Oft Absicht — Schwelle erhöhen oder aus.",
|
|
74
|
+
"Maintenance score min description length": "Mindestlänge Projektbeschreibung (Zeichen)",
|
|
75
|
+
"Maintenance score min description length help": "Zeichen (getrimmt). Standard **40**; Adapter begrenzt auf **5–2000**.",
|
|
76
|
+
"Maintenance score unassigned warn at": "Instanzen ohne Raum — warnen ab (Anzahl)",
|
|
77
|
+
"Maintenance score unassigned warn at help": "Check fällt bei **≥** diesem Wert aus. Standard **30**; Adapter begrenzt **1–500**. Kleinere Werte sind strenger. Tipp: typische Installationen haben 15–20 Infrastruktur-Adapter (admin, backitup, discovery …), die nie Räume bekommen — Schwelle entsprechend oberhalb dieser Zahl halten.",
|
|
78
|
+
"Admin export scripts hint": "Im erzeugten Admin-HTML/-Markdown erscheinen JavaScript-Skripte nach ioBroker-Ordner (Global zuerst, mit Kurzhinweis). Das entspricht der Script-Engine-Ansicht — keine separate AutoDoc-Einstellung.",
|
|
79
|
+
"AI documentation": "KI-Dokumentation",
|
|
80
|
+
"Manual documentation hint": "Diese Felder werden in allen Dokumentationsprofilen angezeigt. „Hilfe & Notfall“, „Abläufe (eigene Worte)“ und „So läuft das bei uns (Playbook)“ sind für Gäste und Familie in Alltagssprache — es wird nichts automatisch erfunden. Optional **Mermaid-Diagramm**: eigener Quelltext; optional **automatische Host-Topologie** (Instanzen pro ioBroker-Host, Knoten begrenzt). Das **manuelle** Diagramm mit Id **`mermaid`**, nur das **automatische** mit **`mermaidAuto`** ausblenden. Im **HTML** können Diagramme bei installierter **`@mermaid-js/mermaid-cli`** auf dem Host als **SVG beim Export** eingebettet sein (Felderhilfe lesen); sonst lädt der Browser Mermaid aus dem Netz. Adapter- und Raum-Notizen machen die Dokumentation für Nicht-Techniker verständlicher. Im Admin-HTML/-Markdown-Export sind JavaScript-Skripte nach ioBroker-Ordner gruppiert; beim Ordner „Globale Skripte“ steht ein kurzer Hinweis zur Ausführungsreihenfolge und sinnvollen Nutzung.",
|
|
81
|
+
"Guest & family (plain language)": "Gäste & Familie (Klartext)",
|
|
82
|
+
"Help & emergencies (guests/family)": "Hilfe & Notfall (Gäste/Familie)",
|
|
83
|
+
"Who to call, what to try if something fails, where the fuse box is — your words only; nothing is invented automatically.": "Wen anrufen, was bei Ausfall probieren, wo der Sicherungskasten ist — nur Ihre eigenen Worte; nichts wird automatisch erfunden.",
|
|
84
|
+
"Routines & automations (your words)": "Abläufe & Automatisierung (eigene Worte)",
|
|
85
|
+
"Describe in everyday language what often runs by itself (lights, heating, blinds). Shown near the script list; complements technical script names.": "In Alltagssprache beschreiben, was oft von alleine läuft (Licht, Heizung, Rollläden). Erscheint nahe der Skriptliste und ergänzt technische Skriptnamen.",
|
|
86
|
+
"How we run this home (your playbook)": "So läuft das bei uns (Ablauf / Playbook)",
|
|
87
|
+
"Step-by-step or bullet notes only you maintain: typical order of doing things, what must be done, what guests or family must not change (your words; nothing is invented automatically). Shown as its own section in family and guest docs.": "Schritt für Schritt oder Stichpunkte, die nur ihr pflegt: typische Reihenfolge, was erledigt werden muss, was Gäste oder Familie nicht ändern soll (eigene Worte; nichts wird automatisch erfunden). Erscheint als eigenes Kapitel in der Familien- und Gäste-Dokumentation.",
|
|
88
|
+
"Mermaid diagram (optional)": "Mermaid-Diagramm (optional)",
|
|
89
|
+
"Optional Mermaid diagram you write yourself (flowchart, sequence, …). **HTML exports:** With `@mermaid-js/mermaid-cli` installed on the ioBroker host (optional npm dependency), diagrams are rendered to **embedded SVG during generation** — works in offline `file://` copies without network. Without the CLI the export uses `<pre class=\"mermaid\">` and loads **Mermaid 10.9.1** from jsDelivr when you open the page in a browser (**online**). **Markdown** always emits a ```mermaid source fence (not pre-rendered). Hide your manual diagram in User/Onboarding with chapter id **`mermaid`** (**`mermaidAuto`** is only for the optional auto-host diagram below). Very long input is truncated. Tip: `flowchart LR` uses horizontal page width; `flowchart TB` (default) stacks top-to-bottom.": "Optionaler Mermaid-Quelltext, den Sie selbst schreiben (Flussdiagramm, Sequenz, …). **HTML-Export:** Ist **`@mermaid-js/mermaid-cli`** auf dem ioBroker-Host installiert (optionale npm-Abhängigkeit), werden Diagramme **bei der Generierung als eingebettetes SVG** ausgegeben — auch für Offline-Kopien (file://), ohne dass das Netz nötig ist. Ohne CLI bleibt **`<pre class=\"mermaid\">`** und **Mermaid 10.9.1** wird im Browser von jsDelivr geladen (**online** nötig). **Markdown:** Quellblock mit Fence **mermaid** (kein Vorab-Rendering). Das manuelle Diagramm in User/Onboarding mit Kapitel-Id **`mermaid`** ausblenden (**`mermaidAuto`** gilt nur für das optionale automatische Host-Diagramm unten). Sehr lange Eingaben werden gekürzt. Tipp: **`flowchart LR`** nutzt die Seitenbreite horizontal; **`flowchart TB`** (Standard) stapelt von oben nach unten.",
|
|
90
|
+
"Auto host topology diagram (Mermaid)": "Automatisches Host-Topologie-Diagramm (Mermaid)",
|
|
91
|
+
"When enabled, adds a second Mermaid diagram in HTML: adapter instances grouped by ioBroker host (helps in multihost setups). Instance node count is capped (next setting); not a full wiring graph. In User/Onboarding hide lists, use **`mermaidAuto`** to hide **only** this auto diagram (**`mermaid`** hides your manual diagram above). Same HTML embedding as manual Mermaid: embedded SVG when the CLI runs on the host, otherwise `<pre>` + jsDelivr in the browser.": "Fügt im **HTML** ein zweites Mermaid-Diagramm hinzu: Adapter-Instanzen nach ioBroker-Host gruppiert (hilfreich bei Multihost). Instanz-Knoten sind begrenzt (nächstes Feld); kein vollständiger Verbindungsgraph. In den User-/Onboarding-Ausblendlisten **`mermaidAuto`** nutzen, um **nur** dieses automatische Diagramm zu verstecken (**`mermaid`** betrifft Ihr manuelles Diagramm oben). Gleiche HTML-Einbettung wie bei manuellem Mermaid: **eingebettetes SVG**, wenn die CLI auf dem Host läuft, sonst **`<pre>`** + jsDelivr im Browser.",
|
|
92
|
+
"Max instances in auto topology diagram": "Max. Instanzen im Auto-Topologie-Diagramm",
|
|
93
|
+
"Maximum adapter **instance** nodes in the auto-generated diagram (8–200, default 40). Hosts are still shown; instances are chosen round-robin across hosts when there are more than this limit.": "Maximale **Instanz**-Knoten im automatischen Diagramm (8–80, Standard 40). Hosts werden weiter dargestellt; bei mehr Instanzen Auswahl im Round-Robin über die Hosts.",
|
|
94
|
+
"Troubleshooting — quick lines (optional)": "Notfall — Kurzzeilen (optional)",
|
|
95
|
+
"Troubleshooting quick lines hint": "Kurze Einzeiler für Gäste und Familie (WLAN, Strom, Wasser, …). Erscheinen im Block **Hilfe & Notfall** zusammen mit **Lesezeichen-Links** zur Doku (dieselben URLs wie QR-Codes — **Basis-URL** unter Erweitert nötig). Alles optional; nichts wird automatisch erfunden.",
|
|
96
|
+
"Quick: Wi-Fi / network": "Kurz: WLAN / Netz",
|
|
97
|
+
"One line, e.g. guest Wi-Fi name or where a repeater is — optional.": "Eine Zeile, z. B. Gäste-WLAN oder Repeater — optional.",
|
|
98
|
+
"Quick: power / fuses": "Kurz: Strom / Sicherungen",
|
|
99
|
+
"One line, e.g. where the electrical panel is — optional.": "Eine Zeile, z. B. wo der Verteiler ist — optional.",
|
|
100
|
+
"Quick: water shutoff": "Kurz: Hauptwasser",
|
|
101
|
+
"One line, e.g. where to turn off main water — optional.": "Eine Zeile, z. B. Hauptwasser-Abstellhahn — optional.",
|
|
102
|
+
"Quick: other": "Kurz: Sonstiges",
|
|
103
|
+
"One more short line (alarm code location, key box, etc.) — optional.": "Noch eine kurze Zeile (Schlüsseltresor, Alarm, …) — optional.",
|
|
104
|
+
"Contact person": "Ansprechpartner",
|
|
105
|
+
"Who manages this system? e.g. 'Max Mustermann, Telegram @max' - shown so guests and family know who to ask": "Wer verwaltet dieses System? z.B. 'Max Mustermann, Telegram @max' - wird angezeigt damit Gäste und Familie wissen, wen sie fragen können",
|
|
106
|
+
"General notes": "Allgemeine Hinweise",
|
|
107
|
+
"Anything that doesn't fit elsewhere: e.g. 'Backup runs every Sunday, server is in the basement'": "Alles was sonst nirgends passt: z.B. 'Backup läuft jeden Sonntag, Server ist im Keller'",
|
|
108
|
+
"What does this system do? e.g. 'Single-family home, heating + lighting + security on 3 floors'": "Was macht dieses System? z.B. 'Einfamilienhaus, Heizung + Licht + Sicherheit auf 3 Etagen'",
|
|
109
|
+
"Per-adapter notes": "Adapter-Notizen",
|
|
110
|
+
"Adapter notes": "Adapter-Notizen",
|
|
111
|
+
"Add a human-readable note for specific adapters (shown in all profiles)": "Menschenlesbare Notiz für bestimmte Adapter hinzufügen (wird in allen Profilen angezeigt)",
|
|
112
|
+
"Adapter (e.g. telegram)": "Adapter (z.B. telegram)",
|
|
113
|
+
"Note": "Notiz",
|
|
114
|
+
"Per-room notes": "Raum-Notizen",
|
|
115
|
+
"Room notes": "Raum-Notizen",
|
|
116
|
+
"Add a human-readable note for specific rooms (shown in User and Onboarding profiles)": "Menschenlesbare Notiz für bestimmte Räume hinzufügen (wird in User- und Onboarding-Profil angezeigt)",
|
|
117
|
+
"Room name": "Raumname",
|
|
118
|
+
"Generate now hint": "Klicke den Button, um die Dokumentation sofort zu generieren – ohne den Adapter neu starten zu müssen. Alle drei Profile (Admin, User, Onboarding) werden gleichzeitig erstellt.",
|
|
119
|
+
"Generate documentation now": "Dokumentation jetzt generieren",
|
|
120
|
+
"Generate documentation": "Dokumentation erzeugen",
|
|
121
|
+
"Start documentation generation now? This may take a few seconds.": "Dokumentation jetzt erzeugen? Das kann einige Sekunden dauern.",
|
|
122
|
+
"Generate": "Erzeugen",
|
|
123
|
+
"Cancel": "Abbrechen",
|
|
124
|
+
"Last generated": "Zuletzt erzeugt",
|
|
125
|
+
"Forum system card (plaintext)": "Forum-Systemkarte (Klartext)",
|
|
126
|
+
"AI explain JavaScript scripts (opt-in)": "KI erklärt JavaScript-Skripte (Opt-in)",
|
|
127
|
+
"Sends sanitized script source to the same AI provider to add short plain-language explanations in User/Onboarding docs. Lines matching common secret patterns are redacted first; still review before enabling on production systems.": "Sendet bereinigten Skriptquelltext an denselben KI-Anbieter für kurze Alltagserklärungen in User- und Onboarding-Dokumentation. Zeilen mit typischen Geheimnis-Mustern werden vorher geschwärzt; vor Produktivsystemen trotzdem prüfen.",
|
|
128
|
+
"Max characters of script source per KI call": "Max. Zeichen Skriptquelltext pro KI-Aufruf",
|
|
129
|
+
"How many characters of each script (after redaction) are sent to the model; longer sources are truncated. Default 12000. Lower to speed up or fit small context; raise only if your model and timeout allow. Range 2000–100000. State info.aiScriptSourceProgress shows e.g. 5/12 while processing.": "Wie viele Zeichen pro Skript (nach Redaktion) an das Modell gehen; längerer Quelltext wird abgeschnitten. Standard 12000. Niedriger = schneller / kleiner Kontext; nur erhöhen, wenn Modell und Timeout es erlauben. Bereich 2000–100000. State info.aiScriptSourceProgress zeigt z. B. 5/12 während des Laufs.",
|
|
130
|
+
"Cancel script KI hint": "Nutzen, wenn der lange KI-Skriptdurchlauf abgebrochen werden soll: State action.cancelScriptSourceAi setzen, Button unten, oder sendTo-Befehl cancelScriptSourceAi. Der laufende KI-Request darf fertigwerden; weitere Skripte werden nicht mehr gestartet. info.aiScriptSourceProgress zeigt am Ende cancelled.",
|
|
131
|
+
"Cancel script KI (running generation)": "Skript-KI abbrechen (laufende Erzeugung)",
|
|
132
|
+
"Cancel script KI": "Skript-KI abbrechen",
|
|
133
|
+
"Stop the optional per-script KI pass? The request that is already running may still finish; further scripts will not be started. (The main user/onboarding KI calls run before this phase.)": "Optionale Skript-Erklärungs-KI stoppen? Der bereits laufende HTTP-Request kann noch enden; weitere Skripte starten nicht. (Die KI-Aufrufe User/Onboarding laufen in dieser Version davor.)",
|
|
134
|
+
"User/Family - hide from family": "User/Familie - vor Familie verbergen",
|
|
135
|
+
"User hide hint": "Räume und Adapter in dieser Liste werden im User/Familie-Profil nicht angezeigt.",
|
|
136
|
+
"Hidden rooms (User/Family)": "Versteckte Räume (User/Familie)",
|
|
137
|
+
"User hidden rooms help": "Exakten Raumnamen eingeben, wie er in ioBroker erscheint",
|
|
138
|
+
"Hidden adapters (User/Family)": "Versteckte Adapter (User/Familie)",
|
|
139
|
+
"User hidden adapters help": "Adapternamen ohne Instanznummer eingeben (z.B. backitup)",
|
|
140
|
+
"Onboarding - hide from guests": "Onboarding - vor Gästen verbergen",
|
|
141
|
+
"Onboarding hide hint": "Räume und Adapter in dieser Liste werden im Onboarding-Profil nicht angezeigt - nützlich für technische Räume (Server, Backup), die Gäste nicht sehen müssen.",
|
|
142
|
+
"Hidden rooms (Onboarding)": "Versteckte Räume (Onboarding)",
|
|
143
|
+
"Onboarding hidden rooms help": "Exakten Raumnamen eingeben, wie er in ioBroker erscheint (z.B. Serverraum, Backup)",
|
|
144
|
+
"Room name (exact)": "Raumname (exakt)",
|
|
145
|
+
"Hidden adapters (Onboarding)": "Versteckte Adapter (Onboarding)",
|
|
146
|
+
"Onboarding hidden adapters help": "Adapternamen ohne Instanznummer eingeben (z.B. backitup, simple-api)",
|
|
147
|
+
"Onboarding guest view — list internal JavaScript file names": "Gäste-Onboarding: interne JavaScript-Dateinamen anzeigen",
|
|
148
|
+
"onboarding guest script names help": "Aus (Standard): Gäste-Onboarding nennt nur die **Anzahl** aktiver JavaScript-Automatisierungen — **keine** internen Skript-Dateinamen, und im Schnellstart **keine** Skript-Zeilen (ioBroker-**common.desc** ist kein belastbares Gäste-Label). An: bisherig — bis zu fünf Namen bei „Was läuft automatisch?“ plus Kurzzeile; Schnellstart darf Namen+**common.desc** wie früher zeigen. Vollständig: **Admin**-Doku.",
|
|
149
|
+
"Adapter name (e.g. backitup)": "Adaptername (z.B. backitup)",
|
|
150
|
+
"Manual context (JSON, legacy)": "Manueller Kontext (JSON, Legacy)",
|
|
151
|
+
"Legacy JSON field. Use the 'My documentation' tab instead. Only needed for migration.": "Legacy-JSON-Feld. Stattdessen den Tab 'Meine Dokumentation' verwenden. Nur für Migration nötig.",
|
|
152
|
+
"French": "Französisch",
|
|
153
|
+
"User/Family": "User/Familie",
|
|
154
|
+
"Notifications": "Benachrichtigungen",
|
|
155
|
+
"Send notification after documentation generation": "Benachrichtigung nach Dokumentationsgenerierung senden",
|
|
156
|
+
"If enabled, a message is sent via the configured adapter after each generation": "Wenn aktiviert, wird nach jeder Generierung eine Nachricht über den konfigurierten Adapter gesendet",
|
|
157
|
+
"Messaging adapter instance": "Messaging-Adapter-Instanz",
|
|
158
|
+
"Instance to send the notification through, e.g. telegram.0, pushover.0, email.0": "Instanz, über die die Benachrichtigung gesendet wird, z.B. telegram.0, pushover.0, email.0",
|
|
159
|
+
"Recipient (optional)": "Empfänger (optional)",
|
|
160
|
+
"Telegram username, Pushover device, or email address — leave empty for adapter default": "Telegram-Benutzername, Pushover-Gerät oder E-Mail-Adresse — leer lassen für Adapter-Standard",
|
|
161
|
+
"Custom message template (optional)": "Eigene Nachrichtenvorlage (optional)",
|
|
162
|
+
"Use {project}, {summary}, {version}, {trigger} as placeholders. Leave empty for default message.": "Platzhalter: {project}, {summary}, {version}, {trigger}. Leer lassen für Standardnachricht.",
|
|
163
|
+
"AI-Enhanced Documentation": "KI-gestützte Dokumentation",
|
|
164
|
+
"AI provider": "KI-Anbieter",
|
|
165
|
+
"Select an AI provider for narrative summaries. Disabled for admin profile (all data is already factual). Not used for admin profile.": "KI-Anbieter für narrative Zusammenfassungen. Wird beim Admin-Profil nicht verwendet (alle Daten sind bereits faktisch).",
|
|
166
|
+
"Disabled": "Deaktiviert",
|
|
167
|
+
"AI privacy warning": "⚠️ Datenschutzhinweis: Cloud-Anbieter (Mistral, Groq, Anthropic) erhalten Adapter-Namen, Raum-Namen, JavaScript-Skript-Titel und optional den Zweck-Text (common.desc) am Skriptobjekt, falls gesetzt. Keine Passwörter oder IP-Adressen werden übertragen, aber die Struktur deines Smart Homes ist für den Anbieter sichtbar. Ollama läuft lokal — keine Daten verlassen dein Netzwerk.",
|
|
168
|
+
"AI hardware hint": "ℹ️ Schwache Hardware (z. B. Raspberry Pi) oder Ollama nur per CPU: kleine Modelle sind schneller, die KI-Texte können aber holpriger oder unzuverlässiger sein — das liegt an der Rechenleistung, nicht am Adapter. KI kannst du abschalten; Markdown- und HTML-Doku entstehen weiterhin aus den echten ioBroker-Daten. Für bessere Texte: Ollama auf einem kräftigeren PC/NAS betreiben und die Basis-URL darauf zeigen lassen, oder einen Cloud-Anbieter nutzen, wenn der Datenschutz für dich passt.",
|
|
169
|
+
"Ollama — local, private, free (recommended)": "Ollama — lokal, privat, kostenlos (empfohlen)",
|
|
170
|
+
"Mistral AI — EU/GDPR, free tier": "Mistral AI — EU/DSGVO, kostenloser Tarif",
|
|
171
|
+
"Groq — US, free tier (data may be used for training)": "Groq — USA, kostenloser Tarif (Daten können für Training genutzt werden)",
|
|
172
|
+
"Anthropic Claude — paid, no training on data": "Anthropic Claude — kostenpflichtig, kein Training mit Nutzerdaten",
|
|
173
|
+
"Ollama recommended: runs locally, no data leaves your network. Cloud providers send adapter/room/script names to external servers.": "Ollama empfohlen: läuft lokal, keine Daten verlassen dein Netzwerk. Cloud-Anbieter senden Adapter- und Raum-Bezeichner, Skript-Titel sowie optional gesetzten common.desc-Text an externe Server.",
|
|
174
|
+
"AI model (optional)": "KI-Modell (optional)",
|
|
175
|
+
"Leave empty for default. Ollama: llama3.2 / gemma3. Mistral: mistral-small-latest. Groq: llama-3.3-70b-versatile. Anthropic: claude-haiku-4-5-20251001": "Leer lassen für Standard. Ollama: llama3.2 / gemma3. Mistral: mistral-small-latest. Groq: llama-3.3-70b-versatile. Anthropic: claude-haiku-4-5-20251001",
|
|
176
|
+
"API key": "API-Schlüssel",
|
|
177
|
+
"Mistral: console.mistral.ai | Groq: starts with gsk_... | Anthropic: starts with sk-ant-... | Ollama: leave empty": "Mistral: console.mistral.ai | Groq: beginnt mit gsk_... | Anthropic: beginnt mit sk-ant-... | Ollama: leer lassen",
|
|
178
|
+
"Ollama base URL": "Ollama Basis-URL",
|
|
179
|
+
"Only for Ollama. Default: http://localhost:11434": "Nur für Ollama. Standard: http://localhost:11434",
|
|
180
|
+
"AI request timeout seconds (optional)": "KI-Anfrage-Timeout Sekunden (optional)",
|
|
181
|
+
"Maximum wait for one LLM HTTP request. Default 300. Each generation uses several calls (user, onboarding, sometimes a German polish pass). Increase for slow local models on CPU (e.g. 480 or 600 for llama3.1:8b on NAS). Range 30–900.": "Maximale Wartezeit pro KI-HTTP-Anfrage in Sekunden. Standard 300. Pro Lauf mehrere Anfragen (User, Onboarding, ggf. deutsch Sie-Lektor). Bei langsamen lokalen Modellen auf CPU erhöhen (z. B. 480 oder 600 für llama3.1:8b auf NAS). Erlaubt 30–900.",
|
|
182
|
+
"AI temperature — user profile (optional)": "KI-Temperatur — Nutzerprofil (optional)",
|
|
183
|
+
"Sampling temperature for resident-facing AI text. Leave empty for the provider default. Typical range 0–2 (Ollama, Groq, Mistral); Anthropic accepts 0–1 (values above 1 are clamped). Lower ≈ steadier wording; higher ≈ more variation — tune after testing.": "Sampling-Temperatur für KI-Text im Bewohner-Profil. Leer lassen für den Anbieter-Standard. Typisch 0–2 (Ollama, Groq, Mistral); Anthropic 0–1 (Werte über 1 werden begrenzt). Niedriger ≈ ruhiger/gleichmäßiger; höher ≈ mehr Variation — nach Tests feinjustieren.",
|
|
184
|
+
"AI temperature — onboarding (optional)": "KI-Temperatur — Onboarding (optional)",
|
|
185
|
+
"Sampling temperature for guest/onboarding AI text. Same rules as user profile. The German Sie polish pass uses a fixed low temperature and ignores this field.": "Wie Nutzerprofil, für Gäste-/Onboarding-Text. Der deutschsprachige Sie-Lektor-Pass nutzt eine feste niedrige Temperatur und ignoriert dieses Feld.",
|
|
186
|
+
"Filesystem export path (optional)": "Dateisystem-Exportpfad (optional)",
|
|
187
|
+
"Export path hint": "Optional: zusätzlicher Export in einen echten Dateisystempfad außerhalb der ioBroker-Datenbank. Leer lassen zum Deaktivieren. Beispiele: /mnt/nas/autodoc, D:\\Docs\\smarthome. Alle drei Profile (admin/user/onboarding) werden als HTML-Dateien geschrieben. Wenn PDF-Export aktiv ist und **puppeteer** im Adapterordner installiert ist, werden passende **autodoc-*.pdf** ebenfalls hierher kopiert. Nützlich für Zugriff wenn ioBroker nicht läuft oder für einen Webserver.",
|
|
188
|
+
"Advanced section pdf export": "PDF-Export (optional Puppeteer / Chromium)",
|
|
189
|
+
"Pdf export after generation label": "Nach jedem Doku-Lauf PDF erzeugen",
|
|
190
|
+
"Pdf export after generation help": "**Optional:** nach jedem erfolgreichen Lauf **autodoc-admin.pdf**, **autodoc-user.pdf**, **autodoc-onboarding.pdf** per Headless-Chromium erzeugen (npm-Paket **`puppeteer`** muss im **Adapterverzeichnis** installiert sein, z. B. Klon/Tarball → `npm install puppeteer` oder optionale Dependencies mitinstallieren). Nutzt dieselben Sandbox-Flags wie Mermaid-CLI (Docker/LXC). **Eingebettete Mermaid-SVG** (@mermaid-js/mermaid-cli optional) druckt offline; **jsDelivr**-Mermaid braucht beim PDF-Schritt Netz. Große Dokumente können Minuten und spürbare RAM-/CPU-Last kosten. Manueller PDF-Lauf ohne volle Neu-Generierung: State **action.exportPdf**.",
|
|
191
|
+
"multihostDistribution": "Host-Verteilung",
|
|
192
|
+
"AI context hints": "KI-Kontexthinweise",
|
|
193
|
+
"AI context hints (owner notes)": "KI-Kontexthinweise (Betreibernotizen)",
|
|
194
|
+
"AI context hints hint": "Optionale Stichpunkte über das Zuhause für die KI — fließen nur in den KI-Prompt, erscheinen nie in der Dokumentation. Beispiel: '- Licht im Wohnzimmer geht um 22:00 automatisch aus', '- Gäste können Temperatur per Sprachassistent steuern'. Je konkreter, desto besser die KI-Textqualität. — **Gast-Onboarding:** Formulieren Sie Fakten möglichst in Alltagssprache (z. B. „hier wird noch eingerichtet“, „Dokumentation wird ergänzt“). Schreiben Sie dagegen viel IT-/Projekt-Jargon (z. B. „Adapter“, „Repository“, „nicht im Repo“), kann das Modell das wörtlich in den Gasttext übernehmen. Dann ersetzt ein **Sicherheitsfilter** den KI-Gasttext durch einen neutralen Standard — damit Gäste keinen Technik-Wortlaut lesen. Das Verhalten ist so beabsichtigt und lässt sich nicht sinnvoll lockern, ohne den Gästeschutz aufzuweichen. Im **Bewohner-/Familienprofil** gilt diese Einschränkung nicht.",
|
|
195
|
+
"AI context hints help": "Kurze Stichpunkte, die nur die KI sieht — nicht in der exportierten Dokumentation. Datenschutz: Text wird an den konfigurierten KI-Anbieter gesendet. — **Gastprofil:** Siehe den längeren Infotext oben: technische Wortwahl in den Kontexthinweisen kann den KI-Text für Gäste verworfen und durch Neutraltext ersetzen.",
|
|
196
|
+
"HTML export & extra sections": "HTML-Export & Zusatzkapitel",
|
|
197
|
+
"Doc layout intro": "Feintuning für generiertes **HTML** (alle drei Profile): festes Hell/Dunkel, ein **Farb-Preset** (ohne rohes CSS), Logo und eigene Markdown-Kapitel. **Schrift** und **zusätzliches CSS** stehen **am Ende** dieses Tabs (nach Sichtbarkeit und eigenen Kapiteln) und sind **optional**. **Kapitelreihenfolge** und **Ausblenden** für das **Admin**-Profil gelten für Admin-HTML und Markdown, wenn das Dokumentationsprofil **Admin** ist. **Ausblenden** für **User/Familie** und **Onboarding** steht **darunter** auf diesem Tab und wirkt auf die jeweiligen HTML-Exporte und das Markdown bei entsprechend gewähltem Profil (z. B. Kapitel-Id `ownerPlaybook`). Zusatzkapitel erscheinen im Markdown mit.",
|
|
198
|
+
"Doc layout pdf hint": "**PDF-Export:** Einstellungen unter **Erweitert** (unter dem Dateisystem-Exportpfad): optional **PDF nach jedem Lauf**, oder jederzeit per State **`action.exportPdf`** auslösen. Benötigt optional **`puppeteer`** im Adapterordner. Schreibt **`autodoc-{admin,user,onboarding}.pdf`** unter Adapter-**Dateien** und spiegelt sie bei gesetztem Exportpfad mit.",
|
|
199
|
+
"Advanced HTML styling (optional)": "Fortgeschritten: HTML-Styling (optional)",
|
|
200
|
+
"Advanced HTML styling hint": "**Optional / für Erfahrene:** Eigene Schrift und CSS verändern die Darstellung der exportierten HTML-Dateien. Tippfehler oder künftige AutoDoc-Updates können das Layout stören — Felder leer lassen, wenn du dir unsicher bist.",
|
|
201
|
+
"HTML color scheme": "Farbschema (HTML)",
|
|
202
|
+
"Auto (viewer toggle + saved preference)": "Auto (Umschalter + gespeicherte Präferenz)",
|
|
203
|
+
"Light only": "Nur Hell",
|
|
204
|
+
"Dark only": "Nur Dunkel",
|
|
205
|
+
"HTML color scheme help": "**Auto:** Besucher können Hell/Dunkel umschalten; die Wahl wird im Browser gespeichert. **Nur Hell / Nur Dunkel:** festes Erscheinungsbild; der Umschalter wird ausgeblendet. Gilt nicht für Markdown-Dateien.",
|
|
206
|
+
"HTML theme preset": "Farb-Preset (HTML)",
|
|
207
|
+
"HTML theme preset help": "Passe die eingebauten **CSS-Variablen** (Hintergrund, Text, Links, Tabellen-Header, …) für den **HTML-Export** an. Zuerst Preset wählen; **Zusätzliches CSS** nur für Feintuning. Zusammenspiel mit dem **Farbschema** oben: Hell- und Dunkelansicht bekommen jeweils passende Werte.",
|
|
208
|
+
"HTML theme preset default": "Standard",
|
|
209
|
+
"HTML theme preset high contrast": "Hoher Kontrast",
|
|
210
|
+
"HTML theme preset warm": "Warm",
|
|
211
|
+
"HTML theme preset slate": "Slate",
|
|
212
|
+
"Sidebar logo URL": "Logo-URL (Seitenleiste)",
|
|
213
|
+
"Sidebar logo URL help": "Optionales Bild über der Suche im exportierten HTML. **https://…** oder ein Pfad ab **/** (z. B. Datei unter ioBroker `/files/…`). Andere Schemata werden ignoriert.",
|
|
214
|
+
"Font stack (CSS)": "Schrift (CSS font-family)",
|
|
215
|
+
"Font stack help": "Optionaler `font-family`-Wert, z. B. `Georgia, serif` oder `system-ui, sans-serif`. Zeichen `< > { }` werden aus Sicherheitsgründen entfernt.",
|
|
216
|
+
"Extra CSS": "Zusätzliches CSS",
|
|
217
|
+
"Extra CSS help": "Wird an den HTML-`<style>`-Block angehängt (Farben, Abstände). Nur vertrauenswürdige Inhalte einfügen. Kein `</style>` in diesem Feld. Lieber wenige, gezielte Regeln — zu breite Selektoren können nach Updates unerwartete Effekte haben.",
|
|
218
|
+
"Admin HTML — hide chapters": "Admin-HTML — Kapitel ausblenden",
|
|
219
|
+
"Admin chapter order hint": "Optional: **Reihenfolge** für **Admin**-HTML und **Admin**-Markdown (Inhaltsverzeichnis + Fließtext) im **ersten** JSON-Feld eintragen (`[]` = eingebaute Reihenfolge). Fehlende Kapitel hängt AutoDoc in **Standard**-Reihenfolge hinten an. **Die vollständige Liste gültiger englischer Kapitel-Ids** steht **nur** in der **Hilfe** dieses Feldes (Tooltip/`?`) — hier nicht wiederholt.",
|
|
220
|
+
"Admin chapter order (JSON array)": "Reihenfolge Admin-Kapitel (JSON-Array)",
|
|
221
|
+
"Admin chapter order JSON help": "JSON-Array mit Zeichenketten, z. B. `[\"system\",\"adapters\",\"manual\"]`. **Gültige Kapitel-Ids (exakt Englisch):** `manual`, `system`, `adapters`, `rooms`, `scripts`, `schedule`, `userdata`, `aliases`, `maintenance`, `diagnosis`, `troubleshooting`, `custom`, `changelog`, `appendices`. Unbekannte Ids werden ignoriert; nicht genannte Ids folgen am Ende in Standardreihenfolge. Leer `[]` = eingebaute Reihenfolge.",
|
|
222
|
+
"Admin hidden chapters hint": "JSON-Liste der **Kapitel-Ids**, die im **Admin**-HTML und im **Markdown** (Profil Admin) **ausgeblendet** werden, z. B. `[\"diagnosis\",\"custom\"]`. **Dieselben gültigen Ids** wie bei der **Reihenfolge**; die **vollständige Namensliste nur** in der Hilfe zum Feld **Reihenfolge Admin-Kapitel** weiter unten. Ungültige Einträge werden ignoriert.",
|
|
223
|
+
"Hidden chapter IDs (JSON array)": "Ausgeblendete Kapitel (JSON-Array)",
|
|
224
|
+
"Admin hidden chapters JSON help": "JSON-Array aus Strings, z. B. `[\"userdata\",\"aliases\"]`. **Dieselben gültigen Ids** wie bei **Reihenfolge Admin-Kapitel** (vollständige Liste in dessen Hilfe). Leer `[]` = alle Kapitel anzeigen.",
|
|
225
|
+
"Custom Markdown sections": "Eigene Markdown-Kapitel",
|
|
226
|
+
"Custom sections JSON hint": "JSON-Array von Objekten: `{ \"title\": \"WLAN\", \"body\": \"**Gast** …\", \"profiles\": [\"user\",\"onboarding\"] }`. **body** ist Markdown (kein rohes HTML). **profiles** optional — weglassen = alle drei HTML-Profile. Max. 12 Kapitel; sehr langer Text wird gekürzt. Typisch: Notfallkontakte, WLAN, Router.",
|
|
227
|
+
"Custom sections (JSON)": "Eigene Kapitel (JSON)",
|
|
228
|
+
"Custom sections JSON help": "Siehe Hinweis oben. Nach Änderung **Dokumentation generieren** ausführen. Ausführliches **Muster-Szenario** (Repository): https://github.com/crunchip77/ioBroker.autodoc/blob/main/docs/user-guide/README.de.md",
|
|
229
|
+
"User/Family HTML — hide chapters": "User/Familie-HTML — Kapitel ausblenden",
|
|
230
|
+
"User hidden chapters hint": "JSON-Array von Kapitel-Ids für **User/Familie**-HTML und **Markdown** (Profil User). Erlaubt: `manual`, `ai`, `guestHelp`, `atAGlance`, `rooms`, `scripts`, `routines`, `ownerPlaybook`, `mermaid` (manuelles Mermaid-Diagramm), `mermaidAuto` (automatisches Host-Topologie-Diagramm — im Onboarding nie sichtbar), `adapters`, `custom`, `system`, `troubleshooting`.",
|
|
231
|
+
"User profile — hidden chapter IDs (JSON)": "User-Profil — ausgeblendete Kapitel (JSON)",
|
|
232
|
+
"User hidden chapters JSON help": "JSON-Array aus Strings. Leer `[]` = alles anzeigen.",
|
|
233
|
+
"User chapter order hint": "Optional: Reihenfolge der **User/Familie**-HTML-Kapitel und des **User**-Markdowns anpassen. **Gültige Ids:** `manual`, `ai`, `guestHelp`, `atAGlance`, `rooms`, `scripts`, `routines`, `ownerPlaybook`, `mermaid`, `adapters`, `custom`, `system`, `troubleshooting` – ungenannte Ids werden in Standardreihenfolge angehängt. Leer `[]` = Standardreihenfolge.",
|
|
234
|
+
"User chapter order (JSON array)": "Reihenfolge User-Kapitel (JSON-Array)",
|
|
235
|
+
"User chapter order JSON help": "JSON-Array mit Zeichenketten, z. B. `[\"atAGlance\",\"rooms\",\"manual\",\"adapters\"]`. **Gültige Ids:** `manual`, `ai`, `guestHelp`, `atAGlance`, `rooms`, `scripts`, `routines`, `ownerPlaybook`, `mermaid`, `adapters`, `custom`, `system`, `troubleshooting`. Unbekannte Ids ignoriert; fehlende Ids am Ende in Standardreihenfolge. `[]` = eingebaute Reihenfolge.",
|
|
236
|
+
"Onboarding HTML — hide chapters": "Onboarding-HTML — Kapitel ausblenden",
|
|
237
|
+
"Onboarding hidden chapters hint": "Blöcke im **Onboarding**-HTML und passende Teile im **Markdown** (Profil Onboarding) ausblenden. Ids: `welcome`, `tips`, `guestHelp`, `stats`, `ai`, `capabilities`, `mermaid` (Diagramm im Begrüßungsbereich), `rooms`, `routines`, `ownerPlaybook`, `automations`, `adapters`, `custom`, `hint`, zusätzlich für Markdown `quickstart`, `system`, `manual`.",
|
|
238
|
+
"Onboarding profile — hidden chapter IDs (JSON)": "Onboarding-Profil — ausgeblendete Kapitel (JSON)",
|
|
239
|
+
"Onboarding hidden chapters JSON help": "JSON-Array aus Strings. Leer `[]` = alles anzeigen.",
|
|
240
|
+
"Onboarding chapter order hint": "Optional: Reihenfolge der **Onboarding/Gast**-HTML-Kapitel und des **Onboarding**-Markdowns anpassen. **Gültige Ids:** `welcome`, `quickstart`, `tips`, `guestHelp`, `stats`, `ai`, `capabilities`, `mermaid`, `rooms`, `routines`, `ownerPlaybook`, `automations`, `adapters`, `custom`, `hint`, `system`, `manual` – ungenannte Ids werden angehängt. Leer `[]` = Standardreihenfolge.",
|
|
241
|
+
"Onboarding chapter order (JSON array)": "Reihenfolge Onboarding-Kapitel (JSON-Array)",
|
|
242
|
+
"Onboarding chapter order JSON help": "JSON-Array mit Zeichenketten, z. B. `[\"quickstart\",\"tips\",\"rooms\",\"adapters\"]`. **Gültige Ids:** `welcome`, `quickstart`, `tips`, `guestHelp`, `stats`, `ai`, `capabilities`, `mermaid`, `rooms`, `routines`, `ownerPlaybook`, `automations`, `adapters`, `custom`, `hint`, `system`, `manual`. Unbekannte Ids ignoriert; fehlende Ids am Ende. `[]` = eingebaute Reihenfolge.",
|
|
243
|
+
"copyForForum": "Für Forum kopieren"
|
|
244
|
+
}
|