[canceled] "Backup einzelner Programme" - Skript

Problemlösungen und Hinweise von allgemeinem Interesse zur Haussteuerung mit HomeMatic

Moderator: Co-Administratoren

BadenPower

[canceled] "Backup einzelner Programme" - Skript

Beitrag von BadenPower » 23.07.2016, 20:16

Progamm-Backup-Restore-Skript

Mit diesem Skript ist es möglich Backups einzelner Programme zu erstellen.

Backup:

Um ein Backup zu erstellen, muss das Skript im Anhang unter "Skript testen" ausgeführt werden.

Zuvor muss man im Skript in der Zeile 5 den Namen des Programmes eingeben, für welches das Backup erstellt werden soll.

Code: Alles auswählen

string lProgName = "PROGRAMMNAME"; !<<<<< Hier Programm-Name eintragen
Also statt:
PROGRAMMNAME
eben zum Beispiel:
RollosHoch

Ist der Vorgang erfolgreich abgeschlossen, dann erscheint im der Skript-Ausgabe-Bereich ein kompletter Skript-Code.

Diesen Code kopiert man nun komplett und speichert ihn als Textdatei auf seinem PC/Laptop.

Restore:
Will man nun das Programm auf der CCU wieder herstellen, dann führt man das Skript aus der gespeicherten Textdatei wieder unter "Skript testen" aus.

Hinweis:
Die Version 0.0.0 ist eine Vorabversion.
Diese Version wurde zwar umfangreich getestet und funktionierte in allen Tests perfekt, kann aber dennoch Fehler enthalten.
Einschränkung:
Die preVersion 0.0.0 erstellt das Programm ohne zu prüfen, ob die verwendeten Systemvariabeln oder Geräte vorhanden sind.

Ich hätte da eine Bitte an Euch:
Wer helfen möchte zu Testen, ob das Skript fehlerfrei läuft. der ist herzlich willkommen.

Hierzu legt Ihr mit dem Skript einfach ein Backup Eurer Programme an und testet daraufhin, ob das erstellte Skript auch wieder das Programm identisch anlegt.
Um Eurere originalen Programme nicht löschen zu müssen ändert Ihr einfach den Namen des Programmes vor dem Ausführen im Restore-Skript in Zeile 5 ab.

Code: Alles auswählen

string lResPrgName = "ZTest-Timer";
Wenn also das Original-Progamm ZTest-Timer heißt, dann daraus einfach ZTest-Timer_1 machen:

Code: Alles auswählen

string lResPrgName = "ZTest-Timer_1";
Wird vergessen den Namen zu ändern, dann passiert nichts, da das Skript prüft, ob bereits ein Programm mit diesem Namen besteht.

.
Zuletzt geändert von BadenPower am 21.06.2017, 11:10, insgesamt 1-mal geändert.

Benutzeravatar
AndiN
Beiträge: 2621
Registriert: 10.06.2015, 08:54
Wohnort: Hennef
Hat sich bedankt: 10 Mal
Danksagung erhalten: 28 Mal

Re: "Backup einzelner Programme" - Skript

Beitrag von AndiN » 23.07.2016, 21:47

Bin leider nicht in Reichweite der CCU und das dauert glücklicherweise auch noch viele Tage.

Wollte aber trotzdem posten, weil ich Deine Arbeiten einfach gut finde und genau so eine Lösung noch gesucht habe. Dann kann man getrost Programme sichern und wenn die wieder mal verschwinden bequem herstellen.

Daher verfolge ich dieses Thema mit Interesse und wollte schon einmal (in froher Erwartung) DANKE sagen ;-)

Andi
Andi (Greenhorn)

Letzter Reboot: 17.03.24 => FW Update (Uptime:Rekord:153 Tage)
Systeminfos: Raspberry Pi3 Firmware: 3.75.6.20240316 142 Geräte
System angebunden: 3 Roomba 650 - Sprachausgabe via Home24 Media - Pocket Control
- Zentrale: Asus TF103 mit Home24 Tablet
Addons: Drucken 2.5 - HQ WebUI 2.5.9 - XML-API 1.22 - CUx-Daemon 2.9.3 - E-Mail 1.7.4 - hm_pdetect 1.11 - VPN cloudmatic
Diverse Links

Lippuner
Beiträge: 105
Registriert: 01.01.2015, 17:23
Hat sich bedankt: 1 Mal

Re: "Backup einzelner Programme" - Skript

Beitrag von Lippuner » 23.07.2016, 22:22

Guten Abend BadenPower

Deine Skriptidee finde ich super. Vielen Dank für Deine Arbeit.

Leider funktioniert es bei mir nicht. Ich erhalte keine Ausgabe. Meine CCU2 Firmware: 2.21.10.

Gruss
Christian

BadenPower

Re: "Backup einzelner Programme" - Skript

Beitrag von BadenPower » 23.07.2016, 22:57

Lippuner hat geschrieben:Guten Abend BadenPower
Leider funktioniert es bei mir nicht. Ich erhalte keine Ausgabe. Meine CCU2 Firmware: 2.21.10.
Lange genug gewartet?

Die Ausgabe kann je nach Programm auch gerne einmal 5-10 Minuten dauern.
Bei einem Mamutprogramm auch schon einmal noch länger.

.

Lippuner
Beiträge: 105
Registriert: 01.01.2015, 17:23
Hat sich bedankt: 1 Mal

Re: "Backup einzelner Programme" - Skript

Beitrag von Lippuner » 23.07.2016, 23:25

Das war's. Zuwenig lange gewartet.

Benutzeravatar
papi
Beiträge: 371
Registriert: 18.12.2013, 08:40
Wohnort: Willich, NRW
Hat sich bedankt: 2 Mal
Danksagung erhalten: 5 Mal

Re: "Backup einzelner Programme" - Skript

Beitrag von papi » 24.07.2016, 08:09

Sehr geile Sache, BadenPower!

Da mache ich doch gleich mal bei Deinem Beta-Test mit und berichte:

Funktioniert bei mir einwandfrei!

(CCU2 mit Firmware 2.21.10 und allem möglichen Schnickschnack, den man so reinschrauben kann)

Benutzeravatar
eiGelbGeek
Beiträge: 979
Registriert: 24.07.2014, 17:46
Wohnort: Ruhrpottrandgebiet
Hat sich bedankt: 105 Mal
Danksagung erhalten: 19 Mal

Re: "Backup einzelner Programme" - Skript

Beitrag von eiGelbGeek » 24.07.2016, 10:33

Danke :-)

Das werde ich mir mal genauer anschauen .... ob ich das nicht vielleicht in mein CCU Back UP Script automatisiert einbauen kann :)

Die ganzen Writelines .... kann man die nicht direkt in eine Textdatei umleiten?
Dann wäre "Script testen" nicht mehr nötig ... denn die Visuelle Ausgabe von WriteLines gibt es ja nur bei "Script testen" ... <- Hoffe habe nun kein Humbug geschrieben ;)


Der Restore kann ja so bleiben wie er ist .... über "Script testen" denn meistens will man ja nur versehentlich kaputt konfigurierte Programme wiederherstellen und nicht alles... ;) für alles hätte man ja auch das .sbk ;)

Wie sieht das denn aus mit der Variablen Beschränkung ? Würde es vielleicht Sinn machen alls auf tmpA - tmpZ etc... umzustellen und wegen der Übersichtlichkeit und Verständlichkeit den jetzigen variablen Name als Kommentar dahinter ?
Zuletzt geändert von eiGelbGeek am 24.07.2016, 11:28, insgesamt 4-mal geändert.
Nur weil es nicht geht, muss es nicht kaputt sein ^^

Apple for Work, Linux for Network, iOS for Mobility and still Windows for Solitaire

Benutzeravatar
thkl
Beiträge: 2765
Registriert: 15.07.2013, 13:32
Wohnort: dickes B
Danksagung erhalten: 5 Mal

Re: "Backup einzelner Programme" - Skript

Beitrag von thkl » 24.07.2016, 10:53

Moin,

Das Script funktioniert gut. Einzige Sache, die Programm Description wird nicht gesichert. Aber nun ja das ist vernachlässigbar.

Benutzeravatar
eiGelbGeek
Beiträge: 979
Registriert: 24.07.2014, 17:46
Wohnort: Ruhrpottrandgebiet
Hat sich bedankt: 105 Mal
Danksagung erhalten: 19 Mal

Re: "Backup einzelner Programme" - Skript

Beitrag von eiGelbGeek » 24.07.2016, 11:51

Aber nun erstmal Feedback :)

Funktioniert einwandfrei mit einen erstellten Testprogramm :)

Edit: Auch komplexe Programme mit Skripten und CUxD Geräten funktionieren einwandfrei....


Konnte bis dato keine Fehler feststellen, ausser den Fehler der schon berichtet wurde, das die Programm Description nicht gesichert wird :-)
Nur weil es nicht geht, muss es nicht kaputt sein ^^

Apple for Work, Linux for Network, iOS for Mobility and still Windows for Solitaire

BadenPower

Re: "Backup einzelner Programme" - Skript

Beitrag von BadenPower » 24.07.2016, 13:32

thkl hat geschrieben:Das Script funktioniert gut. Einzige Sache, die Programm Description wird nicht gesichert.
Hups,
habe ich bei Umbau des Entwicklungs-Skript in die "preVersion" versehentlich herausgenommen.
eiGelbGeek hat geschrieben:Wie sieht das denn aus mit der Variablen Beschränkung ? Würde es vielleicht Sinn machen alls auf tmpA - tmpZ etc... umzustellen
Da besteht kein Anlass dazu.

Da das Skript ja nicht in Programmen gespeichert wird, sondern nur unter "Skript testen" ausgeführt wird gilt hier ein eigener Adressraum, welcher nicht mit den Variabledeklarationen kollidiert, welche in Skripten verwendet werden, welche in Programmen gespeichert sind.

eiGelbGeek hat geschrieben: Die ganzen Writelines .... kann man die nicht direkt in eine Textdatei umleiten?
Dann wäre "Script testen" nicht mehr nötig ... denn die Visuelle Ausgabe von WriteLines gibt es ja nur bei "Script testen" ... <- Hoffe habe nun kein Humbug geschrieben ;)
:?: :?: :?:
Wenn "Skript testen" zum Ausführen des Backups nicht mehr benötigt werden sollte, von wo aus soll denn das Backup-Skript dann gestartet werden?

Gesperrt

Zurück zu „HomeMatic Tipps & Tricks - keine Fragen!“