Piwik Besucherzahlen auf der Pebble mit „Cards“

Da es im Pebble Store leider keine Watchface gibt, die einem die Besucherzahlen von Piwik auf der Uhr darstellt heißt es selber bauen. Es gibt verschiedene Apps für die Pebble die Inhalte vom eigenen Server anzeigen können. Optisch gefällt mir Cards for Pebble am Besten, daher mal das Tutorial an diesem Beispiel.

Piwik auf der Pebble
Erste Zeile: Abkürzung der Website, Uhrzeit letzter Aktualisierung
Zweite Zeile: Besucher Heute (Impressionen Heute)
Dritte Zeile: Besucher Gestern (Impressionen Gestern)

 

Die Umsetzung ist recht einfach, man erstellt eine PHP Datei auf seinem Server die die Piwik Daten verarbeitet und einen JSON für Cards ausgibt. Mein Script ist recht Simpel gehalten und sieht folgendermaßen aus:

 

<?php
$site_id = 5;
$api_key = 'dbjkbjioajioajjbdkljbklj';
$piwik_url = 'http://piwik.schnipsellager.de/'; // ohne index.php! , ohne Slash am Ende

$file = file_get_contents($piwik_url.'/index.php?module=API&method=VisitsSummary.get&idSite='.$site_id.'&period=day&date=today&format=JSON&token_auth='.$api_key.'');

$today = json_decode($file);

$file = file_get_contents($piwik_url.'/index.php?module=API&method=VisitsSummary.get&idSite='.$site_id.'&period=day&date=yesterday&format=JSON&token_auth='.$api_key.'');

$yesterday = json_decode($file);

$ret = array();
$ret['content'] = "SL            ".date('H:i')."\n";
$ret['content'].= "H:     ".fill($today->nb_visits).$today->nb_actions."\n";
$ret['content'].= "G:     ".fill($yesterday->nb_visits).$yesterday->nb_actions."";
$ret['refresh_frequency'] = 30;

// Array in JSON Wandeln und ausgeben
echo json_encode($ret);

function fill($var) {
    $len = 9;
    $newlen = $len = $len - strlen($var);
    return str_pad($var, $newlen); 
}

 

Das Script holt sich von euer Piwik Installation die Informationen zu den Besuchern von Heute und Gestern. Dann wird der JSON in ein Array geparst und wir setzen und ein Return Array zusammen. Der erstellte JSON besteht lediglich aus „content“ und „refresh_frequency“. Content beinhaltet alles was auf der Pebble später angezeigt wird, refresh_frequency bestimmt die Aktualisierungsrate in Minuten.

Die Formatierung ist einfach gehalten: Durch Leerzeichen kann man sich die Zeilen auf dem kleinen Display in die richtige Position rücken. Mit STR_PAD werden die Besucher des aktuellen Tages auf Mind. 5 Zeichen aufgefüllt.

 

 

SiteID ? API Key?

Die SiteID findet ihr einfach in der Adresszeile wenn ihr die Berichte einer Website anschaut: index.php?module=CoreHome&action=index&idSite=5

Für den API Key klickt oben auf Admin (oder euren Username) und anschließend Links auf API. Jetzt seht ihr einen Eintrag mit Token Auth, da kopiert ihr euch alles fett makierte.

piwikapi7

 

Wie richte ich Cards ein?

Screenshot_2015-08-30-16-40-08Cards for Pebble ist schnell eingerichtet. Kurz im Pebble Store installieren und in der anschließenden Einstellungsmaske unten auf Custom klicken. Ihr müsst nun nur die URL ändern und ab sofort habt ihr die Besucherzahlen eurer Website immer am Handgelenk.

 


Danke!   5

Ich bin David, 27, stolzer Papa, Ostmopedliebhaber und Anwendungsentwickler aus Fulda und konserviere nach dem Feierabend meine Problemchen über die ich tagsüber so gestolpert bin.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.