NEWS
Withings Daten einlesen
-
@bnz99 Herzlichen Dank! Das klingt sehr vielversprechend. Ich werde das am WE mal versuchen. Ich habe einen .net Account. Außerdem habe ich ein Nokia Home System, eine HR Uhr und eine Body Cardio Waage. Daher werde ich eine Menge Daten auseinanderzuklauben haben. Außerdem möchte ich die Daten noch in eine SQL Datenbank eintragen lassen, damit ich sie später im VIS wiederverwenden kann. Weiters möchte ich gerne die Daten dazu verwenden, dass Alexa bei bestimmten Werten entsprechende Ansagen macht. Wird also ein größeres Projekt. Daher möchte ich mich für Deine Unterstützung herzlich bedanken. Sollte ich entsprechende Lösungen programmiert haben, werde ich das hier auch veröffentlichen, damit andere User von unseren Erfahrungen profitieren können! LG und nochmals Danke!
-
Hm...sehe gerade, dass in dem Javascriptteil noch der Test-Timestamp drin ist. Der muss entsprechend durch den Übergabeparameter ersetzt werden. Sonst steht da immer dasselbe drin.
Ansonsten für die Datenbankspeicherung muss halt nur der SQL Adapter oder sonstiges installiert werden und entsprechend im Wert angehakt werden.
Edit: in der Tat, habe eben mal in der DB nachgesehen, meine geparsten Zeitstempel waren alle dieselben Habe den Post oben korrigiert. Ich glaube der geparste Zeitwert ist aber ohnehin überflüssig. Sobald sich der Wert ändert, bekommt der Eintrag vom SQL Adapter ohnehin einen Zeitstempel bei der Speicherung. Der mag zwar in der Theorie etwas abweichen, aber eine Abweichung der Messwerte um ein paar Minuten bis der IFTTT Aufruf erfolgt, dürfte denke ich mal bei Gewicht oder Blutdruck die wenigsten interessieren.
-
@bnz99 aber den "authentication code" brauchst du doch auch, und ich vermute als "redirect" gibst du dann die IFTTT URL an?
-
@stoffel67 Ich bin mir gerade nicht sicher, welchen Authentication Code Du meinst.
Falls Du die OAuth Token von Withings selbst meinst und mit der Frage auf die vorher im Thread selbstgebauten Lösungen mithilfe des Withings Developer Accounts verweist: die Lösung unterscheidet sich grundsätzlich von der selbstgebauten. Wenn ich mich richtig erinnere, authentisiert man IFTTT bei Withings bei erstmaligen Anlegen des Withings "this" Triggers. Das Token zu Deinem Withings Account hält dann IFTTT. IFTTT ist dann der Mittelmann, der mitlesen kann und für das Weiterleiten verantwortlich ist. Muss man halt selbst wissen inwieweit man das gut findet oder nicht. Man tauscht geringere Komplexität gegen seine Daten (an IFTTT).
Ansonsten braucht man keinen Authentication Code.
-
Hallo @bnz99,
vielen Dank für dein Workaround.Könntest du dein Skript hier vielleicht einmal als export zur Verfügung stellen?
Das wäre super nett!!!
-
@bnz99
Ich habe jetzt alles per IFTTT konfiguriert (so wie beschrieben)Bekomme auch Daten rein und die Objekte werden auch beschrieben.
Allerdings bekomme ich die Daten erst nach ca. einer Stunde und das nächste mal nach 15 min. und dann auch gar nicht.Wird IFTTT nur alle x-mal pro stunde ausgeführt?
Ist das bei Euch auch so?
Kann man dagegen etwas machen oder habe ich da etwas falsch gemacht?Danke und Gruß
Xanon -
Hallo in die Runde.
Hier scheint sich länger nichts mehr getan zu haben
Ich habe mich mal quer durch alle Einträge gelesen, da mich das Thema auch brennend interessiert.
Ich überlege nämlich mir ein Blutdruckmessgerät, eine Waage und die Schlafmatte von Withings zu kaufen. Die Daten würde ich gerne über die API in einer eigenen APP anzeigen lassen. Die APP würde ich gerne mithilfe von Flutter (Programmiersprache: DART) programmieren. Da ich nun teilweise unterschiedliche Foreneinträge gelesen habe von "es klappt ganz okay" bis hin zu "es klappt überhaupt nicht" wollte ich mir mal eure Erfahrungswerte in dieser Thematik einholen. Ist mein Vorhaben realistisch oder gibt es eventuell Probleme seitens von Withings? Hat jemand eventuell genau diesen Datenabgriff schon hergestellt und kann mir hilfreiche Tipps oder bekannte Probleme nennen (soweit ich weiß wurde Withings zwischenzeitlich von Nokia aufgekauft und ist mittlerweile wieder als eigenes Unternehmen tätig)?Ich wäre über jede noch so kleine Anregung dankbar und wünsche schon einmal einen schönen Tag!
-
@numeric ich hatte es bis März 2021 über ifttt erfolgreich laufen. Dann wollte ifttt, dass man eine Pro-Version kauft. Seitdem habe ich es nicht in Gebrauch.
Müsste man mal schauen ob der andere Weg noch funktioniert.Edit.: hier ist viel beschrieben:
https://developer.withings.com/oauth2/#section/Glossary
Nur leider nicht in einer Sprache, die verstehe.Hierüber habe ich mich nun angemeldet und habe nun:
- CLIENT-ID
- CONSUMER-GEHEIMNIS
Irgendwoher muss man jetzt noch diese Daten herbekommen:
- oauth_access_token
- oauth_access_token_secret
-
@lobomau Danke für die schnelle Antwort. Das hört sich ja schon mal gut an, dass es technisch möglich ist (bzw. war )
Sorry für die Nachfrage aber ich bin Maschinenbauer und kein Programmierer und daher noch nicht ganz so in der Materie
Du hast Dir also einen Developer Account erstellt und dann die gemessenen Daten über ifttt mit deiner APP/deinem Server/deiner Cloud verbunden und dir da die Werte anzeigen lassen richtig? Hast du einen eigenen ifttt Code geschrieben oder gibt es vorgefertigte Codes für Withings?
Ich habe mal eine Beispielskizze angehangen wie ich mir das bei mir ungefähr vorstelle:
Ich führe also eine Messung durch und lasse die Daten über WLAN/Bluetooth an den "Withings" Server schicken. Von dort aus möchte ich die gemessenen Werte von meiner eigenen APP ("Unsere APP") ablesen lassen und visuell darstellen. Dann werden die Daten weitergeschickt an "Unser Server" bei dem alle Daten hinterlegt werden sollen. Die Daten sollen hier zentral gespeichert werden, da ich in Zukunft eventuell noch weitere Devices wie eine Smart-Watch (von einem anderen Hersteller) zu meinem System hinzufügen möchte.
Daher ist meine Frage, ob ich ifttt überhaupt brauche wenn ich zunächst einmal nur die Daten in meiner APP darstellen möchte?
-
@numeric ich habe das gleiche Problem, bin auch nur Maschinenbauer
IFTTT wäre eine Alternative zu dem anderen Weg. War sehr einfach einzustellen. Bei dem anderen komme ich nicht weiter... bzw. da müsste man sich lange einlesen...
Wenn man das Prinzip kennt, ist es nicht so schwierig, nehme ich an. -
Okay das hört sich zunächst einmal so an als ob es theoretisch ohne ifttt klappen würde.
Gibt es denn jemanden, der es möglicherweise schon ohne ifttt umgesetzt hat? (In den früheren Beiträgen sind leider viele tote Links, wo Nokia noch seine Finger mit im Spiel hatte)
Da die Messgeräte nun auch nicht ganz billig sind, wollte ich mich lieber erst einmal hier erkundigen, ob mein Vorhaben überhaupt Sinn macht oder ob ihr mir davon abratet. -
@stoffel67 said in Withings Daten einlesen:
@Kaiman55
das steht doch alles hier:
(http://developer.withings.com/oauth2/#tag/OAuth-2.0)
zunächst: (OAuth 2.0 - Get your authentication code )
hier übergibst du u.a. deine client-id und eine "repsonse URL ( Bsp. bei mir: http://<mein-server>.ddns.net/cgi-bin/withings.cmd), dabei wird ein Browserfenster geöffnet (interaktiv) bei dem du deinen account auswählst und dann
der Nutzung der App zustimmst, direkt darauf wird die o.a. URL aufgerufen und der "code" und der "state"-string zurückgegeben.
diesen "code" dann in den nächsten Aufruf (Get your access token)rein, um den Access_token und den refresh_token zu bekommen, mit diesen kannst du dann die Daten abrufen.
Diese Aktion ist nur einmalig notwendig.
Achtung:- code ist nur 30 sec. gültig
- Access_token ist nur 3h gültig, (dafür gibt's dann den refresh_token)
Hallo nochmal. Genau an diesem Punkt hänge ich leider auch gerade. Ich würde gerne mithilfe des Programms "postman" (https://www.postman.com/) meinen Access Token generieren und die API testen.
Ich habe die Client-ID und das Consumer-Geheimnis erhalten und als Callback-URI die Adresse von meinem Postman angegeben (siehe Bild):
Anschließend habe ich den folgenden Beispiel-Link genutzt und meine client-id und die callback URI übergeben:
Daraufhin öffnete sich ein Browserfenster bei dem die Demo ausgewählt war und bei dem ich der Nutzung der App zustimmen konnte. Die Authentication ist damit complete und in der aufgerufenen URL ist der "Code" und der "state" angegeben. (siehe nachfolgendes Bild):
Nun hänge ich leider an dem letzten Schritt, indem ich einen Access Token und einen Refresh Token bekommen will.
Da ich leider kein Programmierer bin und nur mühsam Schritt für Schritt vorankomme wollte ich erstmal fragen ob ich soweit alles richtig gemacht habe und meine Umsetzung in Postman (Zur Testung der API) überhaupt möglich ist oder ob man da schon einen eigenen Server für braucht?Meine Postman Maske sieht nun folgendermaßen aus:
Leider weiß ich nicht genau was ich für "Auth URL" und für "Access Token URL" eintragen muss um einen neuen Access Token zu bekommen. Für Scope habe ich "user.info,user.metrics,user.activity" eingesetzt und für State "a_random_value".
Ich wäre um jede Hilfe sehr dankbar, da ich langsam echt verzweifle. Und dabei bin ich ja noch ganz am Anfang...
-
Ja du kannst die API problemlos testen und dir den Access Token auch ausgeben lassen. Ich habe dies beispielsweise mit reqbin durchgeführt und auch sämtliche Daten erhalten.
Viele Grüße
-
Hallo ich hätte selbst noch eine Frage.
Ich habe mir vor kurzem die Withings Waage Body + zugelegt und möchte die Daten zentral sammeln und zur Verfügung stellen. Jetzt habe ich weiter oben gelesen, dass man einen eigenen Webserver hierfür benötigt und wollte mal fragen, was da die günstigste Methode wäre? Oder ist es unumgänglich sich beispielsweise einen Cloud-Server zuzulegen, für den man monatlich bezahlen muss?
Viele Grüße
-
Hallo gibt es eine Möglichkeit die Schlafdaten auszulesen?
-
Hat jemand ein Account mit Geräten drin dann kann ich schnell ein Adapter schreiben.
Ist nur die Fragen ob über die App oder Apps mehr Daten kommen als über die API kann man über die App was steuern -
das wäre super Cool, bin momentan nur leider unterwegs, und keine Daten dabei
-
@oli Ich habe mal blind ein Adapter geschrieben ist aber nicht mit Geräten getestet
https://forum.iobroker.net/topic/51104/test-withings-v0-0-x -
@tombox
Super, danke dir. Ich kann leider erst ab Montag testen. Wenn ich dich sonst irgendwie unterstützen kann, sag bescheid. -
@tombox sagte in Withings Daten einlesen:
@oli Ich habe mal blind ein Adapter geschrieben ist aber nicht mit Geräten getestet
https://forum.iobroker.net/topic/51104/test-withings-v0-0-xMoin @tombox ,
ich habe eben Deinen Adapter installiert. Läuft ohne Probleme! Ich bin total begeistert. Ich muss jetzt noch durch die Werte durchsteigen.
Ich verstehe es so, dass das aktuelle Gewicht immer unterwithings.0.measures.measuregrps01.1.value
angezeigt wird.
VG
Stübi