Im Anhang eine erste Testversion eines Moduls, das den Jawbone Up oder Up24 Fitness-Tracker in FHEM integriert. Bewegungs-Daten werden so als FHEM-Readings zur Verfügung gestellt. Da ich bis jetzt weder Erfahrung mit Perl- noch FHEM-Entwicklung hatte, freue ich mich über jedes Feedback. Als Grundlage haben das Wiki und cut&paste von diversen existierenden Modulen gedient.
Hinweis
Das Modul 38_JawboneUp.pm steht nun über den normalen FHEM update zur Verfügung. Die aktuelle Dokumentation ist (neben der Modul-Dokumentation) auch im Wiki zu finden:
http://www.fhemwiki.de/wiki/JawboneUp
Installation:
Das Modul benötigt die folgenden Perl-Bibliotheken: LWP::Agent, IO::Socket:SSL, die in der Regel bereits installiert sind.
Das Modul WWW::Jawbone::Up scheint nicht in den Debian repositories zu sein und muß also 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
Trouble:
Wenn das Modul nicht startet, dann liegt das höchstwahrscheinlich an fehlenden abhängigen Modulen. Im Web-Interface einfach
reload 38_JawboneUp
eingeben: dann erhält man meistens einen Hinweis auf das Problem.
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
Sonstiges
Alle Kommunikation per Internet wird mit einem Hintergrund-Prozeß durchgeführt, das Modul sollte also den FHEM nicht "durcheinander bringen". 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.
Historie
Update 2. April 2015
* JawboneUp.pm ist nun Teil der FHEM Distribution und kann über den normalen FHEM update installiert werden.
* Dokumentation: http://www.fhemwiki.de/wiki/JawboneUp
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.
Jedes Feedback ist willkommen!
Dom.
Hallo,
wir zwei scheinen die einzigen FHEM-User zu sein welche so ein Armband benutzen.... Hab es mal installiert und es funktioniert auf Anhieb!
Muss jetzt nur mal schaue was ich mit den Werten triggern kann.....Ideen?
Grüße aus Heidelberg
Armin
Hallo,
das freut mich, daß es gut geklappt hat. Ich habe gerade noch ein kleines update hochgeladen, welches die Fehlerbehandlung für den Hintergrund-Prozess verbessert. (Der update ist oben im Original-Artikel angehängt.) Das Modul zeigt jetzt eine Versions-Nummer in den internals an. Aktuell ist jetzt 0.1.1.
Bisher lasse ich mir einfach Kalorien und Schritte als Graphik ausgeben: mehr als Jawbone-Daten erfassen mach' ich noch nicht. Ich wollte es mal eine Zeit lang laufen lassen, um einen Überblick über die "typischen" Daten zu erhalten. Danach bringe ich vielleicht den FHEM per Notify dazu ggf. zu mehr Bewegung aufzufordern, falls nötig.
War die Installation vom Modul WWW::Jawbone::Up kompliziert? Es wäre nämlich relativ einfach möglich, die (relativ simple) Funktion dieser Bibliothek direkt ins Modul zu integrieren, und so die externen Abhängigkeiten zu reduzieren,
Gruss Dom.
Es ist immer wieder interessant was man alles im Forum findet. ^^
Ich trage auch ein Jawbone Up24 und würde das Modul auch gerne mal testen. Könntest du genauer beschreiben wie man die Perl-Bibliotheken: LWP::Agent, IO::Socket:SSL, WWW::Jawbone::Up installiert? Weiß leider nicht wie ich vorgehen soll.
Ist es mit dem Modul den aktuellen Status des Up's auszulesen? Also Aktivitätsmodus, Schlafmodus, Nickerchen. Das würde sehr weitgehende Möglichkeiten eröffnen. :)
Danke, werde ich an WE mal testen
Sent from my iPhone using Tapatalk 2
Gruss
Markus
@Spezialtrick:
Die Anleitung im ersten Post hat jetzt mehr Informationen zur Installation der benötigten Module.
Zur Zeit wird der Status des Jawbones nicht abgefragt. Das wäre zwar vermutlich möglich, allerdings ist der Einsatz aus zwei Gründen beschränkt: Eine Änderung des Jawbone-Modus muß erst per Bluetooth an die Telefon-App übertragen werden (das geht eventuell noch halbwegs in Echtzeit, falls die App auf dem Telefon läuft). Dann muß der Zustand an den Jawbone-Server übertragen werden, und dann (und das ist definitiv nicht in Echtzeit), muß das FHEM-Modul den Zustand abrufen. Normalerweise geschieht das nur 1-mal pro Stunde. Es dürfte also schwierig werden, Aktionen mit der Änderungen des Jawbone Zustandes auszulösen.
Dom.
Wird das Modul noch weiterentwickelt?
Das Modul läuft bei mir seit dem letzten update ohne jedes Problem. Man kann es entweder mit Jawbone-trackern verwenden, oder mit der iPhone-Jawbone-app ohne Tracker, oder mit der Pebble-Uhr und der Jawbone-app für Pebble (Pebble zählt dann die Schritte).
Oder gibt es noch spezielle Wünsche?
Nachtrag 1-Apr.: ich kümmere mich gerade um einen SVN-Account--damit wird die Weiterentwicklung dann transparenter und einfacher.
Dom.
Das Modul 38_JawboneUp.pm ist nun im FHEM SVN eingecheckt und steht über den normalen FHEM update zur Verfügung.
Die aktuelle Dokumentation befindet sich in der ausführlichen Form im Wiki:
http://www.fhemwiki.de/wiki/JawboneUp
Dom.
hey leute
finde das Modul echt interessant leider hab ich noch keine zeit es zu testen, daher eine frage, wäre es denn möglich darüber zu ermitteln ob man schläft oder wach ist (für das Roommate)
mfg martin
Ich habe mir gerade nochmal die Daten angesehen, die Jawbone liefert.
Leider gibt die Jawbone API (meines derzeitigen Wissens nach) keinen klaren Zustand "wach" oder "schläft" zurück, aber es ist denke ich möglich, diesen Zustand indirekt zu erschließen. Die API liefert die gesamte Wach- bzw. Schlafzeit eines Tage. Ich werde ein paar Tests machen, und dann das Modul entsprechend erweitern.
Allerdings muß klar sein, daß der Zustand nur mit Zeitverzögerung zur Verfügung steht: Nach wechseln des Schlaf/Wach Zustands am tracker, muß der Tracker mit der Smartphone app per Bluetooth kommunizieren, die App muß mit Jawbone syncen, und dann muß das FHEM-Modul mit Jawbone syncen. Es können also durchaus 15-30min vergehen, bis der Zustand in FHEM up-to-date ist (poll-rate von 15min im Modul vorausgesetzt).
Dom.
Das klingt sehr gut. Wäre es eigentlich möglich die Daten des UP24 über einen externen Bluetooth Stick abzurufen? So ließe sich Aktualisierung des Zustandes ja deutlich beschleunigen.
Leider benutzen alle mir bekannten Bluetooth basierten Fitness Tracker private, proprietäre und verschlüsselte Bluetooth-Protokolle um die Daten an ihre App zu liefern. Die Hersteller wollen wohl sicherstellen, daß die Daten nur über ihre Cloud laufen. :-(
Dies gilt, so weit ich mir das angesehen habe, für:
- Fitbit (gibt überhaupt nur teilweisen Zugriff auf die eigenen Daten ("aggregiert")
- Jawbone (immerhin relativ feiner Zugriff auf die eigenen Daten)
- Withings Pulse (Zugriff nur über [aufwendige!] Cloud API, mit Details, Auth2 benötigt, daher braucht jeder User einen Dev-Account bei Withings.)
- Polar (API ist Apple IOS Healthkit, daß jedoch nur über den Umweg Polar-Cloud synced)
- Pebble: nur über Jawbone oder Misfit Cloud
Der erste (mir bekannte) Cloud-freie Fitness-tracker wird wohl die Apple-Watch werden, alle anderen mir bekannten Produkte betreiben viel Aufwand um sicherzustellen, daß alle Daten erstmal in die Cloud kopiert werden.
Für die Pebble Uhr wäre es möglich selbst einen Schlaf-Erkenner zu programmieren, der dann FHEM direkt signalisiert. Alle existierende Pebble Software läuft jedoch wieder über Clouds.
Dieser Interessenkonflikt zwischen den Herstellern und Usern führt dazu, daß die bisher verfügbaren Tracker nicht wirklich gut geeignet sind irgendwas in nahe Echtzeit zu steuern, und Stati wie "Wach" oder "Schläft" zur Verfügung zu stellen.
Ok, ich habe eine neue Version eingecheckt, die Sleep-mode als direktes reading zur Verfügung stellt, auf das dann mit NOTIFY reagiert werden kann. Echtzeitfähigkeit ist natürlich über die Poll-rate begrenzt (s.u.).
Es gibt jetzt vier neue Readings:
- 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
sleep_mode ist über einer Erweiterung des Jawbone-Perl-packages implementiert, die eine zusätzliche API ausnutzt. Wenn das mobil-telefon und die Jawbone Anwendung aktiv sind, wird die Zustands-Änderung in Sekunden an die Jawbone cloud übertragen. Die Geschwindigkeit, mit der das Reading dann im FHEM zur Verfügung steht, ist abhängig von der poll-rate. Ich habe jetzt das Minimum für die poll-rate auf 5min runtergesetzt (im Code: $min_poll). Wenn man manuell einen update auslöst (über "get update"), dann kommt das Ergebnis direkt.
Das update sollte dann morgen zur Verfügung stehen.
Hi, das Modul finde ich super. Eine Frage:
Gibt es eine Grund, warum die Readings des Schlafmodes: "awakenings, light, time_to_sleep,bedtime, deep ,awake"
von dem Modul nicht exportiert werden?.
Gruß
Ps: Ich habe dazu mal ein Patch angehängt. Ist das so OK?
Ich habe den Patch übernommen und die neuste Version eingecheckt.
In der Version, die als Basis für den Patch gedient hat, hatte sich ein Fehler eingeschlichen: Der Step-count wurde von der gleichnamigen Variable für den Stopwatch-mode überschrieben. Die Version 0.1.3 enthält den Patch und den Fix für diesen Bug.
Der Einfachheit halber ist die letze Version noch angehängt. Ich werde die Dokumentation noch anpassen...
Danke, Dom.
Wie kompatibel ist dieses Modul mit der ursprünglichen Idee von FHEM? Bzw. welche Anwendungsmöglichkeiten ergeben sich daraus?
Stellt der Fitness Trecker fest wann Ihr Euch im Wachzustand befindet und schaltet dann gleich das Licht ein? Oder kann man damit den Alkoholpegel feststellen und in Abhängigkeit zum Kellerbestand dem örtlichen Bierlieferanten eine Bestellung übermitteln? Irgendwie bekomme ich den Draht Richtung Heimautomatisierung nicht ganz hin.
nehmt es mir bitte nicht übel, möglicherweise stösst meine Kreativität hier auch an Grenzen.
Gruß,
...
Ich will meine Daten auf meinen eigenen Server haben. Fhem bietet dazu die Möglichkeit der Visualisierung.
Und natürlich, weils geht.
Grüße :)
Nicht alles muss unmittelbar zur Heimautomatisierung dienen.
Moin.
Ich habe das Modul heute auch zum ersten Mal verwendet. Es lies sich nach der Installation der benötigten Pakete sauber in Betrieb nehmen. Die Daten werden schon geladen. Zeigt das Modul nur die Daten es aktuellen Tages in den Readings an?
Kann man mit dem Modul auch die Tageswerte am Ende des Tages in einen File sichern?
Schöne Grüße
Frank
Der FHEM server speichert die Historie aller Readings (und damit dann auch die Jawbone) automatisch ab. Die Daten landen je nach FHEM-konfiguration entweder in einem Log-File (einfach mal eins Log-Verzeichnis schauen), oder, falls DbLog aktiviert wurde, in einer SQL-Datenbank.
Das ist keine spezielle Eigenschaft des Jawbone Moduls, sondern wird mit FHEM "mitgeliefert".
Falls eine längerfristige Auswertung gewünscht wird, ist die Installation von DbLog wirklich empfehlenswert, s.:
http://www.fhemwiki.de/wiki/DbLog
Hallo zusammen,
ich benötige hier mal bitte Hilfe.
Scheinbar funktioniert bei allen die reibungslose Installation. Bei mir jedoch scheinbar nicht. Ich bin der Anleitung aus dem Wiki gefolgt und habe "WWW::Jawbone::Up" via force installiert, da die Testroutinen fehlschlugen. Anschließend habe ich das Modul in Fhem mit den entsprechenden Nutzerdaten von meinem Jawbone-Account erstellt. Der API-Status scheint sich jedoch nicht von "Initializing..." verabschieden zu wollen, bis dann irgendwann die Anzahl der fehlgeschlagenen Versuche zu hoch ist und sich das Modul abschaltet.
Über "get Update" oder das Modul neu zu laden, komme ich auch nicht weiter. Weder werden Meldungen angezeigt, die mir den Fehler näher bringen, noch wird das Modul neu geladen. Hierfür ist ein kompletter Neustart von Fhem notwendig.
Ich nutze ein Jawbone UP2, was aber wohl keine Bedeutung haben dürfte, denn am Ende sind es ja keine großartig andere Daten, die dort ausgelesen werden. Oder irre ich mich da?
Kann es sein, dass mir noch etwas fehlt? Gut ... wahrscheinlich das Expertenwissen einiger Leute ... aber davon mal abgesehen, habe ich die Perl-Bibliotheken installiert und mir wurde vom Raspberry gesagt, dass die aktuellen Pakete installiert sind.
Was kann ich sonst noch tun?
Fhem ist ebenfalls aktuell und Neustarts habe ich schon diverse sowohl von Fhem als auch mit dem Raspberry durchgeführt und im Logfile ist leider auch nichts beschrieben, was mir weiterhilft.
Hoffentlich hat noch jemand eine Idee bzw. einen Tipp für mich. Dafür schon einmal danke.
Hast Du mal (bei laufendem FHEM in der web-Konsole):
reload 38_JawboneUp
versucht?
In der Konsole würden dann Fehlermeldungen auftauchen, falls irgendwelche Abhängigkeiten fehlen.
Deine Jawbone UP2 Hardware sollte funktionieren.
Hallo domschl,
danke für deine Antwort.
Ja, dass habe ich bereits versucht. Es erscheint jedoch keine Fehlermeldung und die Anmeldung ist weiterhin nicht möglich.
Leider ist in diesem Bereich kein standard Logging implementiert. Es existieren allerdings ein paar Print-Ausgaben im Fehlerfall, die einfach Meldungen auf der Konsole ausgeben, auf der FHEM gestartet wurde. Vielleicht hilft es also, per SSH auf den Raspberry zu gehen (oder über eine normale Terminal-Konsole), FHEM zu restarten und dann abwarten, ob Text-Meldungen in dem Terminal erscheinen, in dem FHEM neu gestartet wurde. (Beispiel: "Internal error at DoneBackground (0x001)")
Alternativ kann ich Logging-Meldungen im Jawbone-Modul ergänzen, daß wird aber erst in der nächsten Woche möglich sein, da ich z.Zt. unterwegs bin.
Gruß Dom.
Hey domschl,
ich habe Fhem nun einmal via SSH neu gestartet. Vielen Dank für den Tipp.
Dabei kam die Fehlermeldung "500 Can't connect to jawbone.com:443 at ./FHEM/38_JawboneUp.pm line 162" raus.
Nun kommt wieder meine "Professionalität" zum tragen ;) Wenn mich nicht alles täuscht, liegt es an der SSL-Verschlüsselung. Kann das sein? Diese soll aber auf dem Raspberry installiert sein. Gibt es noch irgendeinen Workaround dafür, den du mir nennen könntest? Oder liege ich damit, was nicht unwahrscheinlich wäre, völlig falsch?
Hmm. Das ist eine Fehlermeldung, die das WWW::Jawbone::Up Modul intern beim ersten connect-Versuch ausgibt.
Ist sichergestellt, daß Dein Raspi per Webbrowser auf HTTPS-Seiten zugreifen kann? Wenn ein Perl-Modul fehlen würde, dann würde eine andere Reaktion auftreten (denke ich zumindest, da ich erst ab Montag wieder testen kann).
Falls kein Monitor am Raspi hängt, hilft vielleicht ein Test mit wget weiter:
wget https://google.com
Sollte den Html-code der Google-startseite in ein File index.html schreiben (und nicht irgendwelche Fehlermeldungen). Klappt das?
Falls ja, müßte ich mir am Montag bessere Testmöglichkeiten ausdenken.
Dom.
Ja, der Aufruf einer Seite über HTTPS funktioniert.
Ich habe mir die Bibliothek, die zum Zugriff auf die Jawbone Daten verwendet wird (WWW::Jawbone::Up) angesehen:
https://github.com/bentglasstube/WWW-Jawbone-Up/blob/master/lib/WWW/Jawbone/Up.pm (https://github.com/bentglasstube/WWW-Jawbone-Up/blob/master/lib/WWW/Jawbone/Up.pm)
Die Bibliothek unterstützt leider keine Fehler-Behandlung, sondern liefert im Fehlerfalle immer "undef" zurück und gibt ggf. noch was auf der Konsole aus.
In diesem Fall scheitert schon der erste connect-Aufruf (ein POST, der als parameter im wesentlichen username und password beinhaltet.). Die "500" Fehlermeldung (die i.d.R. auf einen internen Fehler des Servers hindeutet) wird dann von der WWW::Jawbone::Up Perl-Lib auf der Konsole ausgeben.
Evtl. ist etwas mit Deinem Account bei Jawbone durcheinander?
Dinge die man jetzt noch prüfen könnte:
- Funktioniert der Login auf der Jawbone-site? https://jawbone.com/start#!login (https://jawbone.com/start#!login)
- Funktioniert die App auf dem Handy?
- Evtl. einfach mal einen neuen Account anlegen, und dann damit testen?
Nachtrag: Ich habe mal eine frische FHEM Installation auf einem Raspberry 2 gemacht. Raspbian hatte ich bereits vorher auf Debian Jessie updated. Unter Jessie hat cpan -i WWW::Jawbone::Up reibungslos funktioniert (incl. aller Tests). Das Jawbone Modul hat dann wie erwartet funktioniert.
Ich habe heute noch eine neue Version des 38_JawboneUp Moduls eingecheckt, die besser auf nicht initialisierte Werte bei Abfragen über die Jawbone API reagiert (Evtl. reagiert das Jawbone Protokoll etwas anders bei verschiedener Hardware). Das ist sauberer, hat aber mit dem Problem vermutlich nicht wirklich was zu tun.
Ich bin etwas ratlos.
Mit cpan konnte ich nach drei Versuchen mein Jawbone erfolgreich in FHEM einbinden
Zitat von: My-FHEM am 05 April 2015, 19:18:21
Fhem bietet dazu die Möglichkeit der Visualisierung.
Wie funktioniert das? Ich sehe die Readings über die FHEM-Oberfläche, habe aber kein LogFile in /opt/fhem/logs. Muss ich das LogFile noch definieren? Falls ja, bitte kann es mir erklärt werden?
Danke im voraus
Stefan
Hallo Stefan,
schau Dir mal die Beschreibung von Filelog (http://fhem.de/commandref.html#FileLog (http://fhem.de/commandref.html#FileLog)) in der FHEM Reference an. Dort wird per Wildcard angegeben, für welche Module logfiles erzeugt werden.
Ich benutze DbLog, daß alle Readings in eine SQL Datenbank schreibt. Falls Du in Zukunft planst, die Daten auszuwerten, dann rate ich Dir auf DbLog umzusteigen. Ich schreibe alle Events von FHEM in die Datenbank, für DbLog lautet der Wildcard um alle Events zu schreiben: .*:.*
Gruß Dom.
Da habe ich aber total auf dem Schlauch gestanden. Danke für die Erklärung. Die Readings landen jetzt all im Logfile und werde schauen, was ich mit den Daten anfange.
Die Umstellung auf DbLog ist kurzfristig nicht geplant.
habe nun seit dem WE eine UP3, mit welcher die Herzfreq. gemessen wird.
Hat jemand dieses Modul in Benutzung ?! Wird dort die Herzfreq. angezeigt- geloggt. !?
Möchte mir nicht die Mühe machen dies zu installieren, konfiguerieren um festzustellen dass dies evtl. nicht implementiert ist ?!
Vielen Dank !
Herzfrequenz wird nicht ausgewertet: die verwendete API liefert die nicht.
ok...danke !
Hallo,
ich nutze die JawboneApp auf meinem iPhone. Wie kann ich nachts alle Readings auf Null setzen lassen? Wenn ich morgens noch keine Aktivität getrackt habe, stehen in den Readings noch die Werte vom Vortrag drin.
Gruß Thomas
Das Modul holt sich die Schrittzahl vom Jawbone Server. Es scheint, daß deren API Zeitzonen schlicht nicht korrekt implementiert: der Server setzt anscheinend die Schrittzahl um Mitternacht Pacific Time zurück: das ist für uns dann mitten im morgen.
Um das zu verbessern, müßte man wohl selbst die Auswertung über die Rohdaten der Schritte-Logs machen. Leider machen es einem die Hersteller sehr schwer, an die nicht aggregierten (eigenen!) Daten zu kommen.
Eine mögliche Alternative für die Zukunft wäre der Umstieg auf die Apple Health API: dort stehen die Daten zur Verfügung, und auch der Datenschutz scheint wesentlich besser zu sein. Leider würden dann die Jawbone Tracker außen vor bleiben, da diese ihre Daten nicht an Health liefern...
Mich würden zu diesem Thema Vorschlāge interessieren.
Dom.
Ich habe mir jetzt UserReadings erstellt, wollte sowieso u.a. die Aktivitätszeit in Minuten dargestellt bekommen.
Diese lasse ich jede Nacht um 00:00 Uhr zurücksetzen.
Hallo Zusammen,
vielen Dank für die Arbeit die in dieses super Modul gesteckt wurde. Installation hat bei mir einwandfrei funktioniert.
@beckmann181 mich würden deine UserReadings interessieren, magst du die mal teilen? Finde es immer leichter anhand von Beispielen zu lernen ;)
@domschl bei mir aktualisieren sich die einzelnen Readings zu unterschiedlichen Zeiten, manche wollen sich seltener aktualisieren als andere. Ist das normal? Habe gelesen dass die Herzfrequenz mit der derzeitigen API nicht ausgelesen werden kann, meinst das kommt noch irgendwann?
Da meine Freundin auch ein UP besitzt versuche ich unsere beiden Werte in einem Graphen darzustellen um sich gegenseitig zu motivieren :) mal sehen wie das auf Dauer klappt
lg, Manu
Hallo,
das update-Verhalten wird durch folgende Kette beeinflußt: der Jawbone tracker sendet unregelmäßig neue Daten an das Mobiltelefon, welches dann updates an den Jawbone-server sendet. Jawbone's server scheinen eine Art Batch-Verarbeitung für die Updates der Werte, die über die API zur Verfügung gestellt werden, durchzuführen. Diese Batches scheinen unterschiedlich für unterschiedliche Bereiche der API angetriggert zu werden. Das ist vermutlich die Erklärung für die zeitlich versetzten updates.
Das Jawbone FHEM Modul holt immer alle Werte bei jedem Poll ab.
Zum Thema Herz gibt es nichts neues. Leider scheint auch die Entwicklung des Jawbone-Perl-Modules (s.: https://github.com/bentglasstube/WWW-Jawbone-Up ) zu stagnieren.