Einzelne Skripte aus ioBroker-Backup-Archiven durchsuchen und wiederherstellen — ohne das gesamte Backup einspielen zu müssen.
Der script-restore Adapter fügt dem ioBroker-Admin-Interface einen Tab hinzu, über den Backup-Archive geöffnet und alle enthaltenen JavaScript-, TypeScript-, Blockly- und Rules-Skripte durchsucht werden können. Der Quellcode jedes Skripts kann einzeln angezeigt, heruntergeladen oder kopiert werden.
Das Archiv wird vollständig im Browser geparst — beim Durchsuchen werden keine Dateien auf die Festplatte geschrieben.
- Backup-Archive direkt im ioBroker-Admin-Tab durchsuchen
- Lokale Backup-Dateien aus dem Backup-Verzeichnis laden (Standard:
/opt/iobroker/backups) - Archivdateien direkt vom Computer hochladen
- Unterstützte Formate:
.tar.gz,.tar,.json,.jsonl - Baumansicht aller Skripte nach Ordner sortiert
- Skripte nach Typ filtern: JS, TypeScript, Blockly, Rules
- Volltextsuche über Skriptnamen, Pfade und Quellcode
- Quellcode anzeigen (JS/TS/Blockly/Rules)
- Quellcode in die Zwischenablage kopieren oder als Datei herunterladen
- Vollständig browserbasiertes Parsen — kein Server-Roundtrip bei Uploads
- Mehrere Skripte mit Strg+Klick auswählen und als ZIP herunterladen
- Optionale Quellen: Lokal, FTP, SMB, HTTP, SFTP, WebDAV
- Skripte direkt in ioBroker laden mit konfigurierbarem Suffix (Standard:
_rcvr) — bestehende Skripte werden nie überschrieben
| Einstellung | Beschreibung | Standard |
|---|---|---|
| Backup-Pfad | Verzeichnis mit ioBroker-Backup-Dateien | /opt/iobroker/backups |
- Den Tab Script Restore im ioBroker-Admin öffnen
- Auf das Dropdown Lokale Dateien klicken
- Eine Backup-Datei aus der Liste auswählen — die Skripte werden automatisch geladen
- Den Tab Script Restore im ioBroker-Admin öffnen
- Auf Archiv hochladen klicken und eine Datei vom Computer auswählen
- Das Archiv wird im Browser geparst und alle Skripte werden angezeigt
- Ein Skript im Baum anklicken, um den Quellcode anzuzeigen
- Kopieren-Schaltfläche nutzen, um den Quellcode in die Zwischenablage zu kopieren
- Herunterladen-Schaltfläche nutzen, um das Skript als Datei zu speichern
| Format | Beschreibung |
|---|---|
.tar.gz |
Standard-ioBroker-Backup (iobroker_YYYY-MM-DD-HH-mm_SS_backupiobroker.tar.gz) |
.tar |
Unkomprimiertes Tar-Archiv |
.json |
JavaScript-Adapter Skript-Export |
.jsonl |
ioBroker-Objekte-Export (JSON Lines) |
- (ipod86) Syntaxhervorhebung für JS/TS, Blockly (XML) und Rules (JSON) — reines JS, keine externe Bibliothek
- (ipod86) Spracherkennung korrigiert: ioBroker-Systemsprache wird über den Adapter (system.config) gelesen statt über Browser/DOM
- (ipod86) Alle verbleibenden Loader-Texte übersetzt (Datei/Archiv lesen, Entpacken, URL laden)
- (ipod86) Language-Flash behoben: Socket-Override wird übersprungen wenn Sprache bereits vom Admin-Frame erkannt wurde
- (ipod86) Alle hardcodierten Statusmeldungen durch übersetzte t()-Aufrufe ersetzt
- (ipod86) codeHint-Übersetzungsschlüssel in alle 11 Sprachen ergänzt
- (ipod86) Vollständige i18n im Admin-Tab: alle Strings in de/en/fr/es/it/nl/pl/pt/ru/uk/zh-cn übersetzt
- (ipod86) Überschreiben bestehender Skripte beim Restore erlaubt (Bestätigungs-Dialog mit Pfadanzeige)
- (ipod86) Leeres Suffix erlaubt, um Skript unter dem Originalnamen wiederherzustellen
- (ipod86) Hinweis nach erfolgreichem Restore: Skript direkt starten?
- (ipod86) Node.js 20-Unterstützung eingestellt (EOL 2026-04-30), mindestens Node.js 22 erforderlich
- (ipod86) Fix: @iobroker/types in production dependencies verschoben (CI-Integrationstests)
- (ipod86) .npmrc mit legacy-peer-deps hinzugefügt (Peer-Dependency-Konflikte)
- (ipod86) Abhängigkeiten aktualisiert: webdav, basic-ftp, typescript, @types/node, @iobroker/eslint-config
- (ipod86) common.singleton hinzugefügt (verhindert mehrere Instanzen)
- (ipod86) Vollständige i18n-Übersetzungen für alle unterstützten Sprachen (fr, es, it, nl, pl, pt, ru, uk, zh-cn)
- (ipod86) Typ-Filter (JS/TS/Blockly/Rules) in der Skript-Sidebar hinzugefügt
- (ipod86) Direktes Laden in ioBroker mit Suffix-Eingabe und Bestätigungs-Modal hinzugefügt
- (ipod86) Veraltete admin/words.js und .prettierIgnore entfernt
- (ipod86) jsonConfig: responsive Größen lg/xl für backupPath korrigiert (E5509)
- (ipod86) News-Einträge auf 7 begrenzt (W1032)
- (ipod86) Dependabot npm cooldown von 7 Tagen hinzugefügt (W8915)
- (ipod86) jsonConfig: responsive Größenattribute ergänzt (E5507)
- (ipod86) i18n-Übersetzungsdateien hinzugefügt (W5022)
- (ipod86) veraltete index_m.html und style.css entfernt (W5047)
- (ipod86) ungültiges copyToField-Attribut entfernt (W5512)
- (ipod86) Einstellungs-UI zu jsonConfig (admin 5+) migriert — behebt S5022
- (ipod86)
node:fsstattfsverwendet — behebt S5043 - (ipod86) Dependabot-Zeitplan von monatlich auf wöchentlich geändert — behebt S8906
- (ipod86) Automerge-Workflow in automerge-dependabot.yml umbenannt — behebt S8911
- (ipod86) HTTP-URL-Laden ohne Protokoll-Präfix korrigiert (https:// wird automatisch ergänzt)
- (ipod86) localStorage-Speicherung des zuletzt geladenen Backups entfernt
- (ipod86) HTTP, SFTP und WebDAV als optionale Backup-Quellen hinzugefügt
- (ipod86) Mehrfachauswahl von Skripten mit Strg+Klick und ZIP-Download
- (ipod86) Zuletzt geladenes Backup im Browser merken (localStorage)
- (ipod86) Lokalen Backup-Pfad vom backitup-Adapter automatisch erkennen
- (ipod86) FTP und SMB als optionale Backup-Quellen mit Verbindungstest hinzugefügt
- (ipod86) Lokale Backup-Quelle optional gemacht (in Einstellungen aktivierbar)
- (ipod86) SMB-Versionshinweis (nur SMB2) in den Einstellungen ergänzt
- (ipod86) Dunkles-Theme-Erkennung verbessert: Live-Umschaltung via MutationObserver und Storage-Events
- (ipod86) Dunkles Theme für Admin-Tab-UI hinzugefügt
- (ipod86) Erstveröffentlichung
MIT License
Copyright (c) 2026 ipod86 david@graef.email
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
