Ich habe die Script-Datei zum automatischen Upload der CCU2-Backups von hier
http://www.lxccu.com/manuals:manual-ccu2-backup angepasst, damit es die Backups bei Google Drive hochlädt.
Leider ist der Weg dahin ziemlich steinig, da man sich viele Parameter erst besorgen muss. Die Parameter user und password richtet man sich weiterhin in der CCU ein. Die ganzen drive*-Parameter sind allerdings neu und bedeuten folgendes:
- driveFolder: Ordner in Google Drive, in dem die Backups hochgeladen werden sollen.
- driveClientId: OAuth2-ClientID für die Anmeldung in Google Drive
- driveClientSecret: Oauth2-ClientSecret
- driveRefreshToken: OAuth2-Refreshtoken für die Beschaffung eines Auth-Tokens zur Anmeldung.
Fangen wir mit dem leichtesten an. Die driveFolder-ID bekommt man über die URL (blau markiert) von Google Drive heraus:
- Clipboard01.jpg (15.35 KiB) 2517 mal betrachtet
Als nächstes benötigen wir die ClientID und das ClientSecret. Dazu meldet man sich in der Google Developer Konsole an:
https://console.developers.google.com
Ich empfehle hier ein neues Projekt anzulegen, z.B. Homematic.
Klickt nun im Reiter Zugangsdaten, Anmeldedaten auf Anmeldedaten erstellen und da auf OAuth-Client-ID:
Wählt nun Webanwendung aus und vergebt einen Namen. Unten müsst ihr noch die authorisierten Redirect-URLs angeben. Diese URL muss mit der später verwendeten Redirect-URL übereinstimmen, sonst klappt die Authentifizierung nicht:
Mit diesen Daten holen wir uns nun einen OAuth2-Code. Hierfür müssen wir zunächst den Zugriff auf Google Drive erlauben. Dies erfolgt über eine URL in der ihr eure ClientID einfügt, die Redirect-URL prüft und am Anfang noch den Slash entfernt (sonst wird die URL hier nicht vollständig angezeigt):
https:
\//accounts.google.com/o/oauth2/v2/auth?scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive&access_type=offline&redirect_uri=
https%3A%2F%2Fdenis-loh.com%2Ftoken&response_type=code&client_id=
<DEINE CLIENT ID>
Wenn ihr diese URL aufgerufen habt und die Erlaubnis für den Zugriff auf Drive erlaubt habt, werdet ihr zur Redirect-URL weitergeleitet. Hier kopiert ihr den Code aus der URL heraus. Die URL sieht in etwa dann so aus:
Code: Alles auswählen
https://oauth2.example.com/auth?code=4/P7q7W91a-oMsCeLvIaQm6bTrgtp7
Nun benötigt ihr einen REST-Client mit dem ihr POST-Requests abschicken könnt. Ich nutze dazu das RESTlet-Plugin für Chrome. Gebt die Daten wie im Screenshot angezeigt ein:
Sobald ihr den Request abschickt, erhaltet ihr erstmalig einen Auth-Token und Refresh-Token. Der Refresh-Token ist das was euch noch fehlt.
Ihr könnt den Refresh-Token testen, in dem ihr damit ein neues Auth-Token beschafft. Nutzt dazu folgenden Request:
Tragt nun die ganzen IDs, Secrets, Token usw. in die Script-Datei oben ein und packt sie auf die CCU. Ich habe über einen Cron-Job so eingerichtet, dass es einmal nächtlich läuft.
Bei Google Drive hat man 15GB an Speicher, das sollte für ein paar Backups reichen.