NEWS
Test Adapter fitbit-api v0.1.x Latest
-
@schroed99 : Ok fein.
Ich habe nur einen Namenskonflikt in der NPM aber unter
https://github.com/Chris-1965/ioBroker.fitbit
kannst du den Adapter über git Adresse installieren und testen. Würde mich über Feedback freuen.EDIT: Das neue Repo (gleiche Funktion) wird unter
https://github.com/Chris-1965/ioBroker.fitbit-fitness
weiterentwickelt.lG Chris
-
-
Hi Chris,
ich habe deinen Adapter getestet. Ich benutze den Adapter in zwei Instanzen (Freundin/ich). Mir ist aufgefallen, das verschiedene Informationen nicht kommen. Überwiegend fehlen Informationen aus der zweiten Instanz. Auch die Zuverlässigkeit der zu übertragenden Daten ist unterschiedlich. Ich trage Beispielsweise Trinkmengen auf der Seite/App ein. Diese kommen in der ersten Instanz sehr zeitnah, jedoch in der zweiten gar nicht? Meine Schritte werden auch erst nach Eingabe auf der Seite/App geändert. Bedeute, wenn meine Uhr die Daten an FitBit sendet, sind diese dort auch zu sehen, aber erst viel später im Datenpunkt auf meinem iobroker. Zeitlich schätze ich 5 min? oder länger....
Was noch zu erwähnen ist, ich nutze keine FitBit Geräte. Ich nutze den Mobile-Tracker um meine Schritte zu übertragen und eine Healthkeep Personenwaage HPS-8007. Von der Waage bekomme ich leider nur das Gewicht in FitBit rein.
Diesen Fehler habe ich in meinen Protokollen:
Gruß Tristan
-
@schroed99 : Ok danke ich werde mir das ansehen. Die Daten werden erst in das Portal übertrtagen wenn die App am Handy synced. Die Waage ich habe Aries überträgt sofort über WLAN.
lG Chris
-
@besterquester Ahh der Code 429 heisst dass hier mehr als 100 request per Stunde durchgeführt werden. Dieser Code wird von der API gesendet. Also auf 1 min gehen oder weniger requests.
Du hast 2 Instanzen am Laufen und jede zieht Daten. Pausiere mal und teste in eine Stunde wieder mit nur einer Instanz.lg Chris
-
Okay, ich werde mal die Zeit des Intervals erhöhen. Die Angabe in der Konfiguration ist in Sekunden?
-
@schroed99 in der latest habe ich auf Minuten umgestellt in deiner Version noch sekunden genau lGC
-
@besterquester ich habe eben auch mal auf meinem Testsystem die Version von Deinem Github installiert und bekomme auf Level "Debug" die folgenden Meldungen:
$ iobroker url https://github.com/Chris-1965/ioBroker.fitbit --host ioBVM-test --debug install Chris-1965/ioBroker.fitbit#d0db61a1fc0d972faecb6ac90f3def37f356b0ea NPM version: 6.14.15 npm install Chris-1965/ioBroker.fitbit#d0db61a1fc0d972faecb6ac90f3def37f356b0ea --prefix "/opt/iobroker" (System call) > cpu-features@0.0.2 install /opt/iobroker/node_modules/cpu-features> node-gyp rebuild make: Verzeichnis „/opt/iobroker/node_modules/cpu-features/build“ wird betreten ACTION Configuring dependencies /opt/iobroker/node_modules/cpu-features/deps/cpu_features/build/Makefile /bin/sh: 1: cmake: not found make: *** [config_deps.target.mk:13: /opt/iobroker/node_modules/cpu-features/deps/cpu_features/build/Makefile] Fehler 127gyp ERR! build error make: Verzeichnis „/opt/iobroker/node_modules/cpu-features/build“ wird verlassengyp ERR! stack Error: `make` failed with exit code: 2gyp ERR! stack at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)gyp ERR! stack at ChildProcess.emit (events.js:400:28)gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:282:12) gyp ERR! System Linux 4.19.0-18-amd64gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"gyp ERR! cwd /opt/iobroker/node_modules/cpu-featuresgyp ERR! node -v v14.18.3gyp ERR! node-gyp -v v5.1.0gyp ERR! not ok npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.3.2 (node_modules/fsevents):npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.3.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"}) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: osx-temperature-sensor@1.0.7 (node_modules/osx-temperature-sensor): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for osx-temperature-sensor@1.0.7: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"}) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: cpu-features@0.0.2 (node_modules/cpu-features): npm WARN optional SKIPPING OPTIONAL DEPENDENCY: cpu-features@0.0.2 install: `node-gyp rebuild` npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1 + iobroker.fitbit@0.1.3added 3 packages from 3 contributors in 17.392s 71 packages are looking for funding run `npm fund` for details upload [3] fitbit.admin /opt/iobroker/node_modules/iobroker.fitbit/admin/words.js words.js application/javascript upload [2] fitbit.admin /opt/iobroker/node_modules/iobroker.fitbit/admin/style.css style.css text/css upload [1] fitbit.admin /opt/iobroker/node_modules/iobroker.fitbit/admin/index_m.html index_m.html text/html upload [0] fitbit.admin /opt/iobroker/node_modules/iobroker.fitbit/admin/fitbit.png fitbit.png image/png Process exited with code 0
Wollen mir der ERR und wie WARNs etwas sagen oder ist das "works as designed"?
-
Ja, sehr geil. Ich hab das Intervall auf 180 gestellt. Damit laufen beide Instanzen und liefern sauber die Daten. Kannst du mir sagen, wie ich Daten an FitBit senden kann(API)? Ich überlege gerade, eine VIS zu bauen, wo ich die Trink/Essdaten erfassen kann. Damit müsste ich zu Hause nicht die App/Webseite öffnen um Trinkmengen an meine FitBit Cloud zu senden. Bzw. möchte ich von meinen Bauchtrainer Wiederholungen/Kalorien an Fitbit senden.
-
Guten Morgen,
ich habe jetzt einen Tag lang die neue Adapter-Version von Chris getestet. Erst einmal vorweg, vielen Dank für die tolle Arbeit, ich bzw. wir freuen uns Entwickler wie Dich zu haben.
Mein Ergebnis aus 24 h test´s ich bin bisher sehr zufrieden, paar wenige kleinere Dinge gilt es noch zu beseitigen dann ist der Adapter perfekt.
Was habe ich gemerkt, es kommen Daten von FitBit, aber leider unzuverlässig. Es gibt Daten die kommen sehr schnell z.b. meine Personenwaage, aber manche kommen gar nicht oder sehr spät. Konkretes Beispiel, ich habe heute bereits Trinkdaten eingegeben per Webseite/App. Diese werden nicht geändert bzw. wurden diese 0 Uhr nicht zurückgesetzt. Was gut funktioniert sind Daten von meiner Waage. Diese sind sehr schnell im System. Auf den Bild kann man sehen wann der Datenpunkt zuletzt geändert wurde. Wie man sehen kann, die anderen Daten wurden geändert.Danke Chris!
Viele Grüße Tristan
-
@besterquester
Hallo Chris
Erstmals vielen Dank für deine mühe und Arbeit.
Adapter funktioniert für mich sehr zuverlässig, ziehe nur das Gewicht von der Waage.
Was ich festgestellt habe ist das man sich jeden Tag wägen muss sonst kommt einen error im LOG das keine Daten gefunden wurden, kann man das vielleicht ändern, das der Adapter nur Daten zieht wen auch Daten vorhanden sind?Vielen Dank
-
@locito09 : Ja das stimmt jeden Tag wiegen , da sonst im response json von der fitbit keine Daten da sind.
Im grunde passiert ja genau was du willst. daten werden nur im State gespeichert wenn daten da sind. Die Warnung wird ja nur im Log angezeigt dass du weisst es gibt keine Gewichtsdaten, Fat, BMI von der Waage.Ich habe da so gelöst dass ich einen History Eintrag im iobroker am state mache dann kann ich leicht die Chart anzeigen. Wenn ein tag nicht gewogen wird fehlt halt der history Eintrag ist ja nicht schlimm. In der Chart Null nicht anzeigen und du hast auch keine Sprünge in der Chart
lg C -
@ftd Hi, hab gerade gesehen, dass du den Adapter auf vordermann bringst, super!
Leider wurde wohl das mit dem Token veraendert.. bin deine Anleitung durchgegangen, ich kann mir auch den access token holen, und auch einen refresh_token, wenn ich dann wie auf der Seite angegeben, mit curl n Post absetze, kommt auch ein feedback...
Aber der Adapter meldet immer Error 401 oder 403.. und dann wars das..
Irgendeine Idee??
-
@ilovegym Hi... nein, da hast du etwas falsch gelesen. Ich hab mit dem Entwickeln von Adaptern nichts zu tun. Auch nicht mit dem Fitbit-Adapter. Nutzen tue ich ihn auch nicht mehr, da ich keine Fitbit-Uhr mehr habe.
-
@besterquester
Ja du benötigst eigentlich nur das Token. Ich arbeite auch daran das Token im Adadapter zu refreshen.
Hier die Codes.- 200: A successful request.
- 400: The request had bad syntax or was inherently impossible to be satified.
- 401: The request requires user authentication.
- 409: Returned if the given user is already subscribed to this stream using a different subscription ID, OR if the given subscription ID is already used to identify a subscription to a different stream.
- 429: Too many requests within an hour
Da hast du die auth ev. falsch abgesetzt.
Probier mal:curl -X GET "https://api.fitbit.com/1/user/-/activities.json" -H "accept: application/x-www-form-urlencoded" -H "authorization: Bearer <your token here>"
-
@schroed99
Hi
Danke für deinen Input. Wenn du 5 Minuten Intervall eingestellt hast müsste das reichen. Eigentlich müssten alle Werte alle 5 Minuten gezogen werden. Has tdu dein Handy immer dabei denn über das Handy werden die Daten an FItBIT gechickt. Also wenn es in deimem Handy richtig ist dann müsste auch der Dapter richtig die Daten ziehen. Checke das mal.
Die Personenwaage braucht kein Handy da direkt über Wlan an FitbitBin jetzt auf https://github.com/Chris-1965/ioBroker.fitbit-fitness gewechselt da ich einen Namenskonflikt hatte (neue Version direkt von hier)
Auf deine Frage: Kannst du mir sagen, wie ich Daten an FitBit senden kann(API)?
Ja das geht über post. Du kannst hier mit dem Tool die API sehr gut testen.
Swagger: https://dev.fitbit.com/build/reference/web-api/explore/#/
Wenn du Daten schreiben willst poste das Commando hier ev. können wir das ja in den Adapter einbauen.lG Chris
-
@schroed99
ich habe eine neue Version erstellt. Wasser Record gefixed und um Carbon, Fiber ergänzt. Teste mal ob es nun besser geht.Version 0.2.3: https://github.com/Chris-1965/ioBroker.fitbit-fitness
lG C
-
@besterquester
Es ist einfach mühsam wenn im LOG die ganze zeit eine Fehlermeldung kommt das Fitbit kein Gewicht findet wen an diesen Tag nicht gewogen wurde. Kann man wenigstens dieser Fehler als info anzeigen im LOG? Somit könnte ich den Adapter auf Warn/Error stellen und die Meldung wäre im LOG nicht mehr sichtbar und spamt den LOG nicht voll. Habe gleichzeitig 4 Adapter im Einsatz, da kommen schon einige Meldungen zusammen. -
@locito09 : Es ist eine Warnung kann ich gerne umstellen.
lG Chris -
@ahnungsbefreit : Hi hast du neue Version mal getestet ? Welches OS hast du im Einsatz.
lg Chris