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.

Pimatic | Funksteckdosen, Code umrechnen (z.B. für elro, pollin, b1, toom)

Wenn man keinen Empfänger zum auslesen der Codes hat, kann man diese auch berechnen. In diesem Beispiel zeige ich die mögliche Berechnung für 3 Steckdosen.

1. Den Funk-Code einstellen und umrechnen.

Man kann die Schalter 1 bis 5 auf On oder Off stellen. Der eingestellte Code wird dann in Binärzahlen geschrieben (On=1, Off=0) und in eine Dezimalzahl umgerechnet.

z.B. Haus-Code: 1 (on), 2 (on), 3 (on), 4 (off), 5 (off) -->
ist gleich 11100 -->
in Dezimal umgerechnet: 28

2. Den Gerätecode einstellen

Der Gerätecode hat ebenfalls fünf Schalter (von A bis E), den wir wieder in Binärzahlen schreiben. Bei manchen Steckdosen muss der Code noch invertiert werden (z.B. die Geräte von Pollin).

Dose 1 z.B. Funk-Code: A (on), B (off), C (off),D (off), E (off) -->
ist gleich 10000 -->
in Dezimal umgerechnet: 16
alternativ: invertieren zu 00001
in Dezimal umgerechnet: 1

Dose 2 z.B. Funk-Code: A (off), B (on), C (off),D (off), E (off) -->
ist gleich 01000 -->
in Dezimal umgerechnet: 8
alternativ: invertieren zu 00010
in Dezimal umgerechnet: 2

Dose 3 z.B. Funk-Code: A (on), B (on), C (on),D (off), E (on) -->
ist gleich 11101 -->
in Dezimal umgerechnet: 29
alternativ: invertieren zu 10111
in Dezimal umgerechnet: 23

Zum umrechnen der Binärzahlen gibt es verschiedene Rechner im Netz (z.B. hier ).

Diese Daten trägt man dann in seine Pimatic Konfiguration ein.

    {
  "id": "GeraeteID",
  "name": "Lampe",
  "class": "HomeduinoRFSwitch",
  "protocols": [
    {
      "name": "switch2",
      "options": {
        "houseCode": 28,
        "unitCode": 23
      }

Wer sich etwas mehr absichern möchte (und die Fernbedienung nicht benötigt), kann auch verschiedene Haus-Codes nutzen.