Vor kurzem war es notwendig, dass ich aufgrund einer Aktualisierung eines Adapters im ioBroker Smart-Home-System, die bisher angelegten Datenpunkte komplett löschen und neu erzeugen musste.
Wichtig hierbei zu beachten: Es dann auch alle SQL-History Adapter Einstellungen für die betroffenen Datenpunkte gelöscht.
Um nicht alle Einstellungen manuell zu sichern und anlegen zu müssen, habe ich zwei kleine JavaScript Programme (nachfolgend „Script“ genannt) geschrieben, welche die Aufgaben übernehmen.
Es wurde jeweils für die Sicherung der Einstellungen und für die Wiederherstellung ein eigenes Script erzeugt. Diese können unabhängig voneinander ausgeführt werden.
Script – Backup (Sicherung)
Liest die aktuellen Einstellungen für alle vorhandenen Datenpunkte aus, bei denen der SQL-History Adapter aktiviert ist. Dafür wird die Funktion getEnabledDPs verwendet, welche direkt vom Adapter zur Verfügung gestellt wird. Die Einstellungen werden in einem eigenen Datenpunkt gesichert, welcher vom Script automatisiert angelegt wird.
Script: iobroker_sql_history_backup_dp_settings.js
Script – Restore (Wiederherstellung)
Stellt die gesicherten SQL-History Adapter Einstellungen wieder her, welche zuvor über das Backup-Script in einem Datenpunkt gespeichert wurden. Zum Setzen der Einstellungen wird die Nachrichten-Funktion enableHistory verwendet, welche direkt vom Adapter zur Verfügung gestellt wird.
Script: iobroker_sql_history_backup_restore_dp_settings.js
Script – Voraussetzungen
Damit die Scripte funktionieren und ausgeführt werden können, müssen nachfolgende Adapter als Instanz unter ioBroker installiert und eingerichtet sein.
– ioBroker.sql (History) Adapter
– ioBroker.javascript Adapter
Script – Installation
Jedes Script muss in ioBroker jeweils als eigenes Script vom Typ „JavaScript“ angelegt werden.
Ggf. müssen am Script selbst die Parameter für die Instanzen oder wenn gewünscht die ID des Datenpunkts entsprechend angepasst werden.
Script – Quellcode
Aktuelle Version der Scripte findet man unter:
https://github.com/mesche/iobroker-scripts/tree/master/iobroker_sql_history_backup_dp_settings
Super Skript! Vielen Dank.
Aber hast du nicht die skripte vertauscht?
Schön, wenn das Script auch anderen hilft. Danke für den Hinweis. Es war nur die Titel-Beschreibung falsch, diese wurde angepasst.