Magic Mirror #9 – Google Photos Modul

Bis lang hatte ich nur Daten in geschriebener Form auf meinem Magic Mirror. Daher wollte ich meinem Magic Mirror mit dem Google Photos Modul erweitern.

Die Installation ist kein Problem, schon eher die Konfiguration, da es einen API von Google Photos braucht. Erledigt man aber einen Schritt nach dem andern, lässt sich das Magic Mirror Google Photos Modul einfach installieren.

Magic Mirror Modul “Google Photos” installieren

Die Installation geht via Terminalfenster und einer SSH Verbindung sehr einfach. Als erstes navigiere ins Module Verzeichnis deines Magic Mirrors:

cd MagicMirror/modules

Anschliessend mit einem GIT Clone die Daten auf den Raspberry ziehen und mit npm install das Modul installieren:

git clone https://github.com/eouia/MMM-GooglePhotos.git
cd MMM-GooglePhotos
npm install

Google Photos Authentifizierung

Als nächstes muss man eine OAuth Client ID generieren. Gehe dafür wie folgt vor:

  • Mein Projekt habe ich MagicMirror-GooglePhotos genannt
  • Das Erstellen des Projektes dauert ein paar wenig Sekunden
  • Klicke anschliessend auf der linken Seite auf den Link Bibiliothek
  • Suche nun nach der Google Photos  API
  • Klicke anschliessend auf die entsprechende API-Karte
Mit dem Klick auf die Karte, wird die Google Photos API aktiviert
  • Nun müssen die Anmeldedaten hinterlegt werden
  • Wähle nun OAuth Client ID aus
  • Als Client-Typ dann Sonstige auswählen
  • Erstellen Button klicken
  • Nun sollte ein Fenster mit den entsprechenden Codes erscheinen
  • Einfach mal auf OK klicken
  • Im nächsten Schritt, laden wir dann das entsprechende json File runter
  • Nach dem du das File runtergeladen hast, solltest du es noch umbenennen: credentials.json
  • Das File credentials.json muss nun ins Google Photos Modul auf deinem Raspberry kopiert werden, dies kannst du direkt aus dem Terminal auf deinem Notebook machen. Bei mir mit dem Tool SCP:
scp credentials.json pi@192.168.0.213:MagicMirror/modules/MMM-GooglePhotos

Google Photos Verbindung und Album ID

Nun muss dem Raspberry noch die Berechtigung zur Verwendung der Google Photos API gegeben werden. Zusätzlich benötigen wir auch noch die Album ID eines Albums auf Google Photos.

Als erstes müssen wir das Terminal direkt auf dem Raspberry öffnen (nicht via SSH) und folgenden Befehl eingeben:

cd ~/MagicMirror/modules/MMM-GooglePhotos
node auth_and_test.js

Nach ein paar Sekunden wird sich auf dem Raspberry ein Browser öffnen und die Google Anmeldung, mit deinem Google Account, muss durchgeführt werden. Ganz am Schluss der Anmeldung sollte sich ein Fenster mit einem Code öffnen. Dieser Code sollte mit 4/… beginnen.

Kopiere nun diesen Code in die Zwischenablage und geh zurück zu deinem Terminalfenster und kopiere diesen Code ins Terminalfenster. Anschliessend, wenn alles korrekt gelaufen ist, sollten sämtliche Google Photos Alben mit den den entsprechenden IDs aufgelistet werden. Such dir nun das entsprechende Album und kopiere die ID wiederum in die Zwischenablage.

<ALBUM_NAME> : <ALBUM_ID>
Hochzeitsfotos : AGj1epU5VMNoBGK9GDX3k_zDQaPT16Fe56o0N93eN6aXn-f21M98

config.js erweitern mit dem Magic Mirror Google Photos Modul

Öffne nun, wieder via SSH, dein config.js Modul im Magic Mirror Verzeichnis:

cd MagicMirror/config
sudo nano config.js

Nun einfach folgendes Stückchen Code im config.js, am richtigen Ort, platzieren. Im Blogpost “DIY Magic Mirror #4 – zusätzliche Module installieren und konfigurieren” findest du eine Übersicht mit den zur Verfügung stehenden Positionen.

{
  module: "MMM-GooglePhotos",
  position: "top_right",
  config: {
    albumId: "YOUR_GOOGLE_PHOTOS_ALBUM_ID", // your album id from result of `auth_and_test.js`
    refreshInterval: 1000*60,  
    scanInterval: 1000*60*10, // too many scans might cause API quota limit also.
    //note(2018-07-29). It is some weird. API documents said temporal image url would live for 1 hour, but it might be broken shorter. So, per 10 min scanning could prevent dead url.
    sort: "time", //'time', 'reverse', 'random'
    showWidth: "800px", // how large the photo will be shown as. (e.g;'100%' for fullscreen)
    showHeight: "600px",
    originalWidthPx: 800, // original size of loaded image. (related with image quality)
    originalHeightPx: 600, // Bigger size gives you better quality, but can give you network burden.
    mode: "cover", // "cover" or "contain" (https://www.w3schools.com/cssref/css3_pr_background-size.asp)
  }
},

Du kannst noch ein paar Details mit der Grösse und Anzeigeart der Bilder einstellen. Ganz wichtig ist noch, dass du die Album ID einträgst.

YOUR_GOOGLE_PHOTOS_ALBUM_ID
=
AGj1epU5VMNoBGK9GDX3k_zDQaPT16Fe56o0N93eN6aXn-f21M98

Magic Mirror nur noch stoppen und starten

So, jetzt sollte eigentlich alles klappen. Nur noch den Magic Mirror stoppen und starten:

pm2 stop mm.sh
pm2 start mm.sh

Fazit

Wenn alles klappt, sollte es in etwa so aussehen.

Magic Mirror mit Google Photos Modul

4 Replies to “Magic Mirror #9 – Google Photos Modul

  1. Hallo,
    ich bekomme von Google keinen Code angezeigt. Ich komme bis zum Konto auswählen Bildschirm und klicke ein Konto aus, dann lädt die Seite und ich bin wieder auf der “Konto auswählen” Seite. Irgendwelche Ideen?
    Danke

    1. Dein Passwort stimmt? Oder allenfalls mal ein anderes Konto auswählen. Sorry, hatte diesen “Fehler” noch nie.

Comments are closed.

Erwähnungen