IPSLibrary - Withings Waage und Blutdruck Modul

Hallo
Ich hab mal mein Script zum Abholen der Withings Waage und Blutdruckwerte
als Modul gebaut.

Wer es mal testen will

Erst das Modul laden

$remoteRepository = 'https://raw.github.com/1007/IPSLibrary/Informationen/';
$component = 'WithingsInfo';

IPSUtils_Include ("IPSModuleManager.class.php", "IPSLibrary::install::IPSModuleManager");
$moduleManager = new IPSModuleManager($component,$remoteRepository);
$moduleManager->LoadModule($remoteRepository);

Danach im Konfiguratiosfile die eigenen Daten eintragen.
Danach installieren

$remoteRepository = 'https://raw.github.com/1007/IPSLibrary/Informationen/';
$component = 'WithingsInfo';

IPSUtils_Include ("IPSModuleManager.class.php", "IPSLibrary::install::IPSModuleManager");
$moduleManager = new IPSModuleManager($component,$remoteRepository);
$moduleManager->InstallModule($remoteRepository);

Nach jeder Aenderung im Konfigurationsfile bitte neu installieren.
Aktuelles Holen der Daten alle 3 Stunden.

Hallo,

danke für das Script.
Bei mir werden 2 WithingsInfo_Configuration-Scripte angelegt, ist das richtig?

Mit Sonderzeichen gibt es ein Problem, so wird zum Beispiel aus Noanah-Zoé Noanah-Zoé und aus René René.

Ansonsten werden alle Daten geholt.

Gruss René

2 WithingsInfo-Configuration-Scripte.
Ein File ist im Default Ordner und eins im Uebergeordneten Ordner?
Das ist bei IPSLibrary normal. Im Default Ordner bleibt ein „Default“ File.
Geaendert wird nur das im Uebergeordneten Ordner.
Mit den Sonderzeichen schau ich heute.

Mach nochmal ein „install“ . Duerfte behoben sein.

Hab heute auf meinem Testsystem mal die IPSLibrary-Version installiert.

Was mir noch nicht ganz klar ist sind 2 Dinge.

[ol]
[li]In der Config gibt es den Parameter MYURL. Mit welchen Werten ist dieser zu befüllen, im Originalskript gibt es ja per User unterschiedliche Werte. Und da komme ich auch schon zu[/li][li]Die Parameter USER1_NAME etc. sind ja nur Aliase, wie oder wo trage ich die unterschiedlichen User der Waage ein.[/li][/ol]Ansonsten hat das Laden die Installation ohne Fehler funktioniert, ich bekomme halt nur keine Werte :confused:

In ‚MYURL‘ musst du garnichts tun.
Eingetragen werden muessen nur die Zugangsdaten in
‚MYMAIL‘ und ‚MYPASS‘.
Fuer die einzelnen USER brauchst du nur das Pseudo was du
im Withingskonto angegeben hast ( 3 Stellen ).
Dann noch true setzen bei USER1_WAAGE und/oder
USER1_BLUTDRUCK.
Je nachdem was man haben will.
Bei mir sieht der Eintrag so aus

  define  ('USER1_NAME','JUE');    define('USER1_WAAGE',true); define('USER1_BLUTDRUCK',false);

Wenn man was in der Konfig aendert bitte einmal install ausfuehren.

Danke. Hat wunderbar funktioniert.

Kleiner Fehler im Text. (Fettmassenanzeige) da fehlt das z. EDIT: nur bei den Links

Was meines Erachtens noch schöner wäre wenn man die Kategorien anstatt mit dem Waagenkürzel mit einem eigenen Alias bestücken könnte. Die 3 Buchstaben sehen im WF nicht schön aus.

Die Visualisierung für die mobile Variante fehlt auch noch :rolleyes:

Hallo,

ersteinmal vielen Dank für das Modul :wink: Nutze die Waage schon seit ca. einem Jahr und finde die Anbindung nun an IPS spitze.

Modul geladen, parametriert und installiert. Funktioniert wunderbar.

Jetzt wollte ich das mit einem Graphen anzeigen und nun ist meine Frage, warum alle Werte in String-Variablen gespeichert sind ? Kommt das so von Withings ?

Ich kam drauf, da keine Graphen-Icons neben den Werten im Webfront angezeigt werden.
Einbinden über einen Graphen im Webfront-Konfigurator funktioniert jedoch - auch als string… ?!

Merci,

Oliver

Hallo.
Nein das kommt so nicht von Withings.
Das die Variablen Strings sind ist ein „Designfehler“ von mir.
Ist mir aber heute morgen auch aufgefallen und hab das eben
geaendert. Auch hat sich das Configurationsfile geaendert.
Man kann jetzt einen Namen angeben fuer die Anzeige im Webfront.
Dann steht da nicht der 3stellige Pseudo.

Folgendes ist zu tun.
Altes Configurationsfile irgendwohin verschieben oder loeschen.
Damit kein File mehr das ist.
Beim Installieren wird naemlich nur das /Default/… File ueberschrieben.
Konfigurieren.
Die Kategorie Withingsinfo in /data/Informationen loeschen.
Werden alle neu angelegt.

Install ausfuehren

Irgendetwas stimmt da noch nicht.

Es wird die Kategorie WAAGE nicht angelegt, somit sind nur die Personendaten aber keine Gewichtsdaten verfügbar.

Des Weiteren muss beim löschen auch die Links in VISUALIZATION gelöscht werden, ansonsten sind die alten als Leichen da.

Eigentlich kann das nur passieren wenn in der Config die
Waage nicht aktiviert ist

define('USER1_WAAGE',true);

:cool:

Korrekt, sorry für den Umstand.

Funktioniert ausgezeichnet !

Merci :wink:

Jetzt funktionierte die Installation. Allerdings sind die Werte alle Null und im der Logger kommt mit einer Reihe von Fehlermeldungen. Meine alter Withings Installation funktioniert nach wie vor problemlos

Schau ich gleich mal nach wenn ich nach Hause komme.
Er meckert die Constante MYURL und MYAPIURL an.
Die sind im Original auch so benannt :confused:
Ich hab aber auch beide Versionen noch laufen.
Denke mal in 2 Stunden ist Problem behoben.

Kannst du mir mal deine WithingsInfo_Configuration zeigen.
natuerlich ohne Login-Daten.
In der Zeile 41 sollte eigentlich was anderes stehen

	define ('MYURL','');
	define ('MYWBSAPIURL','wbsapi.withings.net/');
	define ('MYAPIURL','scalews.withings.net/cgi-bin/');

  define ('USER1_NAME',''); define('USER1_ANZEIGE',''); define('USER1_WAAGE',false); define('USER1_BLUTDRUCK',false);  

Dies sind Zeile 37 - 41

Guter Tipp, ich hatte die Log in Daten aus meiner alten Installation rüber kopiert um Fehler zu vermeiden. Dabei ist es mir doch tatsächlich gelungen zwei Zeilen zu duplizieren, man glaubt es nicht.

Heute Abend ist das Glück nicht immer bei mir. Habe die zwei Zeilen entfernt und jetzt gibt es keine Fehler im Logger. Leider sind die Werte immer noch alle 0 und ein refresh erzeugt die folgende Fehlermeldung

1
Teste API : OK
Array
(
    [id] => xxx
    [firstname] => yyy
    [lastname] => zzz
    [shortname] => zzzz
    [gender] => zzz
    [fatmethod] => zzz
    [birthdate] => zzzzz
    [ispublic] => zz
    [publickey] => zzzzzzzzzz (die xyz sind von mir)
)

Fatal error:  Uncaught exception 'IPSUtilException' with message '"ART" could NOT be found while searching for Path Program.IPSLibrary.data.modules.Informationen.WithingsInfo.ART.Name' in C:\IP-Symcon\scripts\IPSLibrary\app\core\IPSUtils\IPSUtils.inc.php:72
Stack trace:
#0 C:\IP-Symcon\scripts\IPSLibrary\app\modules\Informationen\WithingsInfo\withingsinforefresh.ips.php(150): IPSUtil_ObjectIDByPath('Program.IPSLibr...')
#1 C:\IP-Symcon\scripts\IPSLibrary\app\modules\Informationen\WithingsInfo\withingsinforefresh.ips.php(79): getwithingsdata(Array, 1)
#2 {main}
  thrown in C:\IP-Symcon\scripts\IPSLibrary\app\core\IPSUtils\IPSUtils.inc.php on line 72

Hallo
Schau mal ob du im Tree unter IPSLibrary/data/Informationen/WithingsInfo
irgendwelche Variablen hast.
Dort sucht das Script die Variable „Name“ in der Kategorie „ART“.
Diese Variablen werden beim nur beim Installieren angelegt.
Mach nochmal ein „Install“. Wahrscheinlich durch den Fehler vorher ist was schiefgegangen. Nach jeder Aenderung im Konfigfile muss ein Install ausgefuehrt werden.

Hab in withingsinforefresh den Fehler abgefangen

Das war`s, Ich habe die Kategorie umbenannt und jetzt läuft das ganze. Tolles Script herzlichen Dank dafür

Hallo,

auch von meiner Seite vielen Dank für das Skript!
Für User2 funktioniert alles einwandfrei, für User1 sind Variablen, das Verzeichnis Waage usw. angelegt, jedoch steht dort immer 0.:confused:

Von der Konfiguration sollte es passen:

  define ('USER1_NAME','MAT'); define('USER1_ANZEIGE','Matthias'); define('USER1_WAAGE',true); define('USER1_BLUTDRUCK',false);
  define ('USER2_NAME','MAR'); define('USER2_ANZEIGE','Marion'); define('USER2_WAAGE',true); define('USER2_BLUTDRUCK',false);

Beim Ausführen von withingsinforefresh werden auch für beide User (MAT und MAR) zwei Arrays angezeigt, die Info kein Blutdruck steht jedoch nur für User 1 da.

Gruß Matthias