Dashing Dashboard | Google Kalender Widget einrichten

Es gibt ein tolles Google Kalender Widget von jmb auf Github.
Leider ist die Installationsanleitung recht kurz gehalten, weshalb ich das ganze noch einmal zusammen gefasst habe.

Vorab kann man sich schon alle Dateien für das Widget auf Github herunterladen.
https://gist.github.com/jmb/33ae3a33d6e8dbffd102

Außerdem braucht man noch eine js library für die Datumsanzeige. Diese kann hier heruntergeladen werden:
http://momentjs.com/

Anleitung

1. Widget Dateien einrichten

1.1 moment js

Die js library muss in das Verzeichnis des Dashing Ordners unter /assets/javascripts kopiert werden.
Ich habe die Datei moment-with-locales.min.js heruntergeladen.

Anschließend die application.coffee Datei im Ordner /assets/ öffnen und folgende Zeile einfügen

#= require moment-with-locales.min.js

Ich habe die moment js library inkl. verschiedener Sprachen heruntergeladen (locales). Möchte man die Anzeige z.B auf Deutsch, kann man noch folgende Zeile in die application.coffee einfügen

moment.locale('de');

1.2 widget

Im Verzeichnis Widget einen Ordner namens google_calendar anlegen und die Dateien google_calendar.html, google_calendar.scss und google_calendar.coffee hinein kopieren.

Die google_calendar.rb wird in das Verzeichnis jobs des Dashing Ordners kopiert.

2. Api, Schlüssel und ID einrichten und kopieren

2.1 Schlüssel und Mailadresse

In der Google Developer Console anmelden und ein neues Projekt erstellen.
Danach auf Calendar API gehen und den Zugriff aktivieren.

Anschließend unter Zugangsdaten, die Anmeldedaten erstellen und Dienstkontoschlüssel auswählen.
Ein neues Dienstkonto anlegen, die Option P12 auswählen und speichern.

Das Passwort des privaten Schlüssels ist Standard und bereits in der google_calendar.rb hinterlegt.

Auf der gleichen Seite gibt es den Textlink Dienstkonten verwalten. Darin befinden sich die E-Mail Adressen der jeweiligen Dienstkonten. Die zugehörige Adresse wird ebenfalls zur Einrichtung benötigt.

2.2 Kalender ID

Die Kalender ID findet man auf der Kalenderwebsite in den Kalendereinstellungen des jeweiligen Kalenders (sie steht direkt hinter Kalenderadresse). Diese wird ebenfalls zur Einrichtung benötigt.

3. google_calendar.rb anpassen

Die google_calendar.rb die sich im Verzeichnis jobs befindet mit einem Editor öffnen und folgende Daten eintragen.

3.1 Hier die Service Account E-Mail einfügen, die zum Dienstkonto der Google Developer Console gehört.

service_account_email = dashboard@SAMPLE.iam.gserviceaccount.com

3.2 Das P12 File habe ich direkt im Dashing Ordner eingefügt (Pfad ./EuerFilename.p12).

key_file = './EuerFilename.p12

3.3 Die Kalender ID (aus 2.2)

calendarID = CALENDERid@calendar.google.com

3.4 Anzahl der Einträge anzeigen

Etwas weiter unten kann man die Anzahl der anzuzeigenden Termine eintragen (Bsp. 6 Termine).

'maxResults' => **6**})  # How many calendar items to get

4. Folgende Zeile zum Gemfile von Dashing hinzufügen.

gem 'google-api-client', '>= 0.8'

5. Diesen Befehl im Terminal ausführen

bundle install

6. Code in das Dashboard einfügen (nicht vergessen die Reihen und Spalten anzupassen).

<li data-row="**1**" data-col="**1**" data-sizex="3" data-sizey="1">
  <div data-id="google_calendar" data-view="GoogleCalendar"></div>
</li>

Nachdem Neustart von Dashing sollte der Kalender angezeigt werden.
Falls es beim Start von Dashing einen Fehler in google_calendar.rb Zeile 25 gibt, überprüft ob der Pfad und der Name der P12 Datei korrekt sind.

Ein Dashboard auf dem Raspberry Pi | Automatisch starten [Teil 2]

Damit das Dashboard nach dem hochfahren automatisch startet, muss folgendes ausgeführt werden.

Als Browser kommt Midori zum Einsatz. Dieser hat einen Kiosk Modus und soll (laut Netzrecherche) die beste Performance liefern.

1. Midori und unclutter installieren

sudo apt-get install midori

2. Skripte für den Autostart anlegen

Diese werden Dashing und Midori starten. Um die Übersicht zu behalten wird dafür ein eigener Ordner angelegt.

2.1 In das Homeverzeichnis wechseln, den Ordner skripte anlegen und in den Ordner wechseln.
cd
mkdir skripte
cd skripte
2.2. Die Datei midori_start.sh erstellen und bearbeiten
nano midori_start.sh

folgende Zeilen einfügen:

#!/bin/sh
export DISPLAY=:0 
sleep 120 && midori -e Fullscreen -a http://localhost:3030/infoplan

Mit ctrl X speichern und schließen.

2.3 Die Datei dashing_start.sh erstellen und bearbeiten
nano dashing_start.sh

folgende Zeilen einfügen:

#!/bin/bash

cd /home/pi/dashboard_project
nohup dashing start &

mit ctrl X speichern und schließen.

3. Beiden Dateien die Rechte zum ausführen geben

chmod +x dashing_start.sh
chmod +x midori_start.sh

4. Beide Dateien in den Autostart legen. Update Mai 2017: Die aktuelle Autostartdatei findet ihr unter ~/.config/lxsession/LXDE-pi/autostart

[Die alte Autostartdatei (Stand Mai 2015) war /etc/xdg/lxsession/LXDE-pi/autostart]

nano ~/.config/lxsession/LXDE-pi/autostart

An das Ende der Datei scrollen und folgende Zeilen einfügen

@sh /home/pi/skripte/dashing_start.sh
@sh /home/pi/skripte/midori_start.sh

Die Datei mit ctrl+x schließen und speichern. Nach einem Neustart wird Dashing zuerst gestartet und 120 Sekunden später der Midori Browser im Vollbild.