Withings Modul

Hallo
Modul zum Abholen der Daten fuer Waage und Blutdruckwerte.
Bitte die Doku lesen unter
https://github.com/1007/Symcon1007_Withings
GIT-Adresse zum installieren

https://github.com/1007/Symcon1007_Withings
1 „Gefällt mir“

Herzlichen Dank für das Modul :slight_smile:

Noch einige Anregungen:
> Das „Userpasswort“ Feld als Passwort-Feld in form.json definieren (PasswordTextBox — IP-Symcon :: Automatisierungssoftware)
> Eine Prüfung einbauen, ob die eingegebenen Daten (Benutzername, Userpasswort, User) in Ordnung sind (und dann jeweils den Status des Modul auf 102 OK setzen oder einen Fehler - Beispiele z.B. in meinem BatterieMonitor Modul)
> In die form.json noch einen Button „Update“ einbauen, damit direkt im Modul die aktuellen Daten abrufen kann
> Die Auslese Funktion vlt. so machen, dass wenn man diese per Skript anspricht, dass man dann alle Daten als Array zurück bekommt

Besten Dank und Grüße,
Chris

Gute Ideen. Werd ich so machen.
Die ersten drei Sachen umgesetzt.
Der Rest kommt naechstes WE.

Hi,

dankeschön für das Modul, jetzt werd ich noch mehr zum Sport motiviert :slight_smile: Leider zeigt er mir aktuell kein Gewicht an, hab mich extra grad nochmal drauf gestellt :smiley:

Viele Grüße
Markus

Kannst du mal das Fehlerlogging aktivieren und die Entraege in dem File ansehen.

Benutzt du auch das Modul von der IPSLibrary und funktioniert es dort ?

Sieht bei mir auch so aus wie bei malie.

Fehler bei DoGewicht 1

Bei Blutdruck genauso. Kommunikation funktioniert grundsätzlich, da meine Größe etc. über die API geholt wurde.

Das Variablenprofil vom BMI passt auch nicht so richtig, korrekt wäre kg/m².

Und beim späteren Zuschalten von Blutdruck gibt es

Undefined variable: pulse in ...module.php ... line 698

angelegt wurde duie Variable mit einem großen „P“.

In der V3.4 läuft das IPSlibrary Modul ;).

Bei DoGewicht sollte 4 stehen wenn Daten enthalten.
Der andere Fehler sollte weg sein.Fehler war in Zeile 654.
Leider tritt der Fehler nur auf wenn auch keine Daten kommen.

Es kommen Daten, du solltest die mit ins Log schreiben ;).

Schicke ich dir als PM.

Du solltest die Abrufe an die aktuelle API anpassen ;):

–>devtype

Deprecated : use meastype instead.

Was fuer eine Waage ist das ( Typ ) ? Neuer Typ ?
Bei Abfrage des Gewichts liefert dein Log als erstes einen Puls.

Es ist eine WBS01, nicht mehr so neu, die liefert auch den Puls.

Im V3.4 IPSlibrary Modul wertest dein Script das komplett aus.

Vielen Dank für das Modul, habe ich gleich mal ausprobiert. Wenn ich meine Daten eingebe erscheint aber im Modul ein ! und die Meldung Userdaten falsch. Ich habe aber extra nochmals nachgeschaut und kann mich auch genau mit den Userdaten im Web anmelden. Wo könnte denn da der Fehler liegen?

@Fonzo: Hatte ich auch. Als User musst Du das Kürzel angeben, zB bei Peter „PET“. Das ist bei mir auf der Wage auch oben links im Display zu sehen.
Wird Dir auch angezeigt wenn Du Dir die UserDaten hier anzeigen lässt:
My Withings account

Leider funktioniert es bei mir auch nicht ganz. Bis auf Geburtstag, Geschlecht, Größe und Name kommen keine Daten rein.
11.01.2016 16:44:03 Fehler bei DoGewicht 1

11.01.2016 16:44:04 Fehler bei DoBlutdruck 1

Ich habe den Smart Body Analyzer.
Schön wäre auch noch die Temperatur und Luftqualität in Symcon zu haben.

Gruß

Wie bei mir, da ist 1007 dran. Die liefert die Daten anders wie die älteren Modelle.

Die werden leider trotz diverse API Anpassungen immer noch nicht von Withings bereitgestellt. Die lapidare Antwort von Withings vor „vielen“ Monaten war „kommt irgendwann“ :(.

Gerade noch einmal gesucht, 14.03.2014:

It is on our roadmap to add support for those metrics, but we are not yet ready to announce a date for availability.

Habe gerade noch einmal nachgefragt.

Die bereitgestellten Daten findest du in der API Doku von Withings im Bereich
Measure - Get Body Measures.

Ah danke zumindest einen Schritt weiter. Wäre schön wenn dies vielleicht noch mit einer Beschreibung im Formular ergänzt werden könnte und eine Abfrage auf User läuft die prüft ob die Eingabe 3 stellig ist und ansonsten eine andere Fehlermeldung ausgibt wie User muss 3 stellig sein. Mit Eingabe des Kürzels bekomme ich eine Verbindung. Allerdings wie bei Dir bis auf die 4 genannten Variablen keine Daten.

Ich hatte in der API Doku geguckt und Sp02 gefunden, was doch „Oxygen Saturation…“ und damit die „Sauerstoffqualität“ in der App ist,oder?

Auf jeden Fall stelle ich mich gerne als Tester zur Verfügung :wink:

Es müsste eigentlich CO2 und Temperatur sein. Den Batteriezustand gibt es auch nicht, im Webfrontend von Withings schon.
Und speziell die Daten sind wohl nur Stunden aktuell, also nur zur Visualisierung eingeschränkt zu nutzen, aber nicht zum Steuern :(.

Dann muesstest du im Logfile folgendes finden ?

"type":54

Moin!

Beim letzten und vorletzten Update vom Withings Modul bekam ich im Meldungen-Fenster für jede Instanz jeweils diese Meldungen zu sehen:

18.01.2016 09:31:35*| InstanceManager*| <br />
<b>Warning</b>:  bad lexical cast: source type value could not be interpreted as target in <b>/usr/share/symcon/modules/Symcon1007_Withings/Symcon1007 Withings/module.php</b> on line <b>197</b><br />
<br />
<b>Warning</b>:  bad lexical cast: source type value could not be interpreted as target in <b>/usr/share/symcon/modules/Symcon1007_Withings/Symcon1007 Withings/module.php</b> on line <b>201</b><br />
<br />
<b>Warning</b>:  bad lexical cast: source type value could not be interpreted as target in <b>/usr/share/symcon/modules/Symcon1007_Withings/Symcon1007 Withings/module.php</b> on line <b>205</b><br />
<br />
<b>Warning</b>:  bad lexical cast: source type value could not be interpreted as target in <b>/usr/share/symcon/modules/Symcon1007_Withings/Symcon1007 Withings/module.php</b> on line <b>209</b><br />
<br />
<b>Warning</b>:  bad lexical cast: source type value could not be interpreted as target in <b>/usr/share/symcon/modules/Symcon1007_Withings/Symcon1007 Withings/module.php</b> on line <b>213</b><br />

Habe zum Test dann mal eine neue Withings-Modul-Instanz angelegt, meine Daten eingetragen und auf „Aktualisieren“ gedrückt. Auch dort wurden mir die Fehler ausgegeben. „Persönliche“ Daten werden aktualisiert, auch das Datum, aber keine Gewichtsdaten!

„bad lexical cast“ kommt immer, wenn man z.B. einen FLOAT Wert in eine Integer Variable schreiben will, oder allgemein wenn man Variablen-Values vom „falschen“ Format irgendwo in ein anderes Format schreiben will. Abhilfe schafft z.B. ein „(float)$GewichtsVariable“.

Wobei ich grad sehe, dass es bei dir um das Logging im Archiv geht in diesen Zeilen. Das Logging hab ich in der Instanz aber ausgeschaltet. Der will wohl jedes Mal das setzen, auch wenn es schon ist. Da solltest du dann vorher noch abfragen, ob bei der Variable das Logging aktiv ist oder nicht und nur etwas machen, wenn es erforderlich ist, also der User etwas geändert hat.

Auch solltest du „IPS_GetVariableIDByName“ durch „IPS_GetObjectIDByIdent“ ersetzen! Variablen können einfach vom User (ausversehen) umbenannt werden, die Idents aber nicht so einfach.

Grüße,
Chris

Hallo
Ich hab das Problem ueberall auch bei deinem Modul. Lies mal hier.
https://www.symcon.de/forum/threads/30185-Fehler-beim-Loeschen-von-Objecten-im-Archive-Handler?p=278811#post278811