JawboneUp
JawboneUp | |
---|---|
Zweck / Funktion | |
Anbindung der Fitness Daten von Jawbone Fitness Trackern | |
Allgemein | |
Typ | Gerätemodul |
Details | |
Dokumentation | EN / DE |
Support (Forum) | tbc. |
Modulname | 38_JawboneUp.pm |
Ersteller | Domschl (Forum / Wiki) |
Wichtig: sofern vorhanden, gilt im Zweifel immer die (englische) Beschreibung in der commandref! |
JawboneUP importiert Fitness-Daten (Schritte, Kalorie-Verbrauch, Aktivität) als Readings in den FHEM Server.
Hinweis: Das Modul JawboneUp ist noch nicht über das offizielle SVN Repository verfügbar, und muß zur Zeit noch manuell installiert werden:
Übersicht
Es werden folgende Szenarien unterstützt:
- Jawbone Fitness Tracker + Smartphone App + Jawbone Account (Jawbone tracker zählt Schritte)
- Smartphone mit Schrittzähler (z.b.: Iphone 5/6) + Jawbone Account (Smartphone zählt Schritte)
- Pebble Smartwatch + Pebble-Jawbone-App + Smartphone Pebble-App + Jawbone Account (Pebble zählt Schritte)
In allen Fällen wird ein Account bei Jawbone benötigt. Das Modul Jawbone lädt die benötigten Daten dann von der Jawbone-cloud in den FHEM Server.
Installation
Das Modul JawboneUp benötigt die folgenden Perl-Bibliotheken: LWP::Agent
, IO::Socket:SSL
, die in der Regel bereits installiert sind.
Zusätzlich muß das Modul WWW::Jawbone::Up
per CPAN ( cpan -i WWW::Jawbone::Up
) installiert werden. Leider hat dieses Modul eine ziemliche Anzahl von abhängigen Modulen.
Installation der Jawbone Bibliotheken in Debian oder Raspberry Pi
sudo apt-get update sudo apt-get install libio-socket-ssl-perl cpan -i WWW::Jawbone::Up
Das Kommando cpan
muß beim ersten Aufruf konfiguriert werden. In der Regel reichen die vorgeschlagenen Standards aus.
Falls cpan
fehlschlägt, kann die Installation mit dem Parameter -f
(force) erzwungen werden. Dies ist nützlich, falls die Installation in Testroutinen scheitert, die nicht entscheidend sind:
cpan -i -f WWW::Jawbone::Up
Fehlersuche
Wenn das Modul nicht startet, dann liegt das höchstwahrscheinlich an fehlenden abhängigen Modulen. Im FHEM Web-Interface einfach
reload 38_JawboneUp
eingeben: dann erhält man meistens einen Hinweis auf das Problem.
Nach drei API Fehlern schaltet sich das Modul automatisch inaktiv. Per "get update
" (oder restart) kann es wieder angeschaltet werden.
API Fehler können z.B. durch falsche Usernamen/Password Kombinationen verusacht sein, oder falls der Jawbone server nicht erreichbar ist.
Konfiguration
define <name> JawboneUp <user-email> <password> [<poll-intervall>]
User-email und password sind die Anmelde-Informationen für den JawboneUp Service. Die Standard Pollrate ist 3600 (1h), Minimum ist 900 (15 min).
Beispiel
define MyJawbone JawboneUp me@sample.net s3cr3t 1800
Readings
Als Readings stehen zur Verfügung:
active_time | (aktive Zeit in Sek.) |
bg_steps | (Anzahl Schritte) |
bmr_calories | (Ruhekalorienverbrauch) |
bmr_calories_day | (Durchschnittlicher Tages-Ruhekalorienverbrauch (ohne Bewegung)) |
calories | (Kalorien, die durch Aktivität verbraucht wurden) |
distance | (Zurückgelegte Strecke in km) |
longest_idle | (inaktive Zeit in Sek.) |
Die Anzahl verbrauchter Kalorien für den laufenden Tag errechnet sich aus calories + bmr_calories.
Technische Details
Alle Kommunikation per Internet wird mit einem Hintergrund-Prozeß durchgeführt, das Modul sollte also den FHEM nicht "durcheinander bringen".
Historie
Update 27. Juni 2014 (v. 0.1.1)
- Bessere Fehlerbehandlung: es scheint Fälle zu geben, in denen "BlockingCall" weder den callback für completion noch für timeout aufruft.
- Minimum Poll-Intervall auf 900 Sek. erhöht.