NEWS
Withings Daten einlesen
Withings Daten einlesen
-
Hier noch ein passendes VIS Widget:

! ````
[{"tpl":"tplMetroTileString","data":{"visibility-cond":"==","visibility-val":1,"bg_class_true":"bg-cyan","bg_class_false":"bg-transparent","icon_class_true":"icon-custom","icon_class_false":"icon-custom","badge_bg_class_true":"","badge_bg_class_false":"","icon_badge_true":"","icon_badge_false":"","brand_bg_class_true":"","brand_bg_class_false":"","name":"Withings Schritte","visibility-oid":"","content_prepend":"Withings Schritte ","content_append":"","content_oid":"javascript.1.Withings.Schritte","label_prepend":"Gewicht: {javascript.1.Withings.Gewicht} kg","label_append":"","label_id":"","state_oid":"javascript.1.Withings.Schritte.Ziel_erreicht_J","transform":false,"select_on_true":false,"icon":"/vis.0/main/img/schritte.png","icon_width":"50%","icon_height":"50%","icon_false":"/vis.0/main/img/schritte.png","icon_top":"57","icon_left":"44","hover":false},"style":{"left":"295px","top":"200px","width":"137px","height":"137px","z-index":"15","font-family":"","color":"","font-size":""},"widgetSet":"metro"}]Es verändert den Hintergrund von Transparent nach Cyan, sobald die Variable javascript.1.Withings.Schritte.Ziel_erreicht_J auf 1 geht. Dazu prüft ein zweites Skript die aktuelle Zahl der Schritte und setzt bei 10000 die Boolean-Variable um. >! ```` var idSchritte = "javascript.1.Withings.Schritte"/*Withings Schritte*/, idSchrittzielJ = "javascript.1.Withings.Schritte.Ziel_erreicht_J", >! // Schritte prüfen, bei Ziel erreicht Variable umstellen on( { id: idSchritte, valGt: 9999 }, function (data) { if (getState(idSchrittzielJ).val === 0) { setState(idSchrittzielJ, 1); log('Schrittziel erreicht, Variable gesetzt', 'info'); } }); >! // Variable täglich um Mitternacht zurücksetzen schedule("0 0 * * *", function () { setState(idSchrittzielJ, 0); log('Schrittziel-Variable zurückgesetzt', 'info'); });Dieses Skript läuft in der Javascript Instanz 0, die Schritte werden in der Instanz 1 eingelesen. Daher musste ich die variable idSchrittzielJ im anderen Skript in der Instanz 1 definieren.
Gruß
Pix
-
Hallo,
hab den Thread gerade erst wieder gesehen und schieb ihn mal hoch: Habe mein Skript kaum geändert. Ich hab gerad kaum Zeit, aber ich leg es mir auf Wiedervorlage

Auf jeden Fall geht es. Ich musste nur den OAUTH-Schlüssel für die Withings (jetzt Nokia) API erneuern (was etwas kompliziert ist).
Gruß
Pix
-
@pix:Welche weiteren Schritte?
> …ein oauth access token, einen oauth access token secret und die user id erhalten... `
Hab es hinbekommen
Funktioniert… jedenfalls wurde schon das korrekte letzte Gewicht abgerufen und die Schrittzahl.Hinweis:
API Key = Consumer key
API Secret = Consumer secret
-
Gerne. Ich fand das hier bei zwei Scripten recht übersichtlich

var idSchritte = "javascript.1.Withings.Schritte"/*Withings Schritte*/, idSchrittzielJ = "javascript.1.Withings.Schritte.Ziel_erreicht_J", // Schritte prüfen, bei Ziel erreicht Variable umstellen on( { id: idSchritte, valGt: 9999 }, function (data) { if (getState(idSchrittzielJ).val === 0) { setState(idSchrittzielJ, 1); log('Schrittziel erreicht, Variable gesetzt', 'info'); } }); // Variable täglich um Mitternacht zurücksetzen schedule("0 0 * * *", function () { setState(idSchrittzielJ, 0); log('Schrittziel-Variable zurückgesetzt', 'info'); }); -
Jetzt weiß ich, was du meinst.
Das ist das Skript zur Meldung des erreichten Schrittziels.
Es werden zwei Variablen deklariert. Nach der zweiten sollte in Semikolon und kein Komma kommen. Das ist ein Fehler.
Also vorn im „var-Bereich“
Getippt mit tapatalk
Pix
-
Alles klar. So ist ohne Fehler:
var idSchritte = "javascript.1.Withings.Schritte"/*Withings Schritte*/, idSchrittzielJ = "javascript.1.Withings.Schritte.Ziel_erreicht_J"; // Schritte prüfen, bei Ziel erreicht Variable umstellen on( { id: idSchritte, valGt: 9999 }, function (data) { if (getState(idSchrittzielJ).val === 0) { setState(idSchrittzielJ, 1); log('Schrittziel erreicht, Variable gesetzt', 'info'); } }); // Variable täglich um Mitternacht zurücksetzen schedule("0 0 * * *", function () { setState(idSchrittzielJ, 0); log('Schrittziel-Variable zurückgesetzt', 'info'); }); -
Bei mir funktioniert das Automatsiche Abrufen noch nicht. Das sollte alle 5min passieren, wenn ich das Script richtig verstehe.
Das Gewicht eingelesen, wenn ich das SCript neustarte. Dabei kommt auch ein Fehler:
javascript.1 2017-09-27 12:35:36.094 error script.js.Nokia-Body: schedule callback missing -
@pix:Welche weiteren Schritte?
> …ein oauth access token, einen oauth access token secret und die user id erhalten... `
Hab es hinbekommen
Funktioniert… jedenfalls wurde schon das korrekte letzte Gewicht abgerufen und die Schrittzahl.Hinweis:
API Key = Consumer key
API Secret = Consumer secret `
Hallo,
irgendwie stehe ich hier auf dem Schlauch.
Wie kommt man denn an den "oauth access token" und das "oauth access token secret" ?
Danke für Hinweise ….
