JawboneUp

Aus FHEMWiki
JawboneUp
Zweck / Funktion
Anbindung der Fitness Daten von Jawbone Fitness Trackern
Allgemein
Typ Gerätemodul
Details
Dokumentation EN / DE
Support (Forum) Sonstiges
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. Als Quelle dient ein JawboneUp[24] Fitness Tracker, die Pebble Uhr mit Jawbone-Watchface, oder der Iphone Schrittzähler mit Jawbone App. Voraussetzung ist ein account bei Jawbone, da die Daten von der Jawbone-cloud geladen 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.

Support Forum

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.)
sleep_mode 1: sleep mode ist aktiv, 0: nicht aktiv
stopwatch_mode 1: stopwatch mode ist aktiv, 0: nicht aktiv
sleep_asleep Anzahl Sekunden Schlaf im Schlafmodus
sleep_wake Anzahl Sekunden Wachzustand im Schlafmodus

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".

Die Kommunikation mit dem Jawbone service nutzt eine inoffizielle API, die über das Perl Modul WWW::Jawbone::Up zur Verfügung gestellt wird. Die offizielle Jawbone API nutzt einen für open source Projekte nicht wirklich gut geeigneten Authenifizierungsmechanismus: Auth2. Jeder Anwender müßte sich bei Verwendung dieser API als Entwickler bei Jawbone registrieren.

Historie

Update 2. April 2015

  • Das Modul 38_JawboneUp.pm ist nun Teil des FHEM systems und kann über den normalen FHEM update installiert werden.

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.