modul für withings wage (und blutdruck messgerät)

Begonnen von justme1968, 22 Dezember 2013, 00:28:31

Vorheriges Thema - Nächstes Thema

justme1968

bist du auch auf einer fritzbox?

ich habe den verdacht das es die alten probleme mit json und encoding sind die wieder zu schlagen. versuch mal bitte die vorherige version (nur decocde statt JSON->new->utf8(0)->decode).

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

MaxWhite

Mit dem:  my $json = decode_json($ret)

Kommt wieder

# malformed UTF-8 character in JSON string, at character offset 46393 (before "\
x{fc}gen","measures...") at ./FHEM/32_withings.pm line 560

justme1968

was ist in deiner installation jetzt anders als beim letzten mal? da du ging es doch dann.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

MaxWhite

Zitat von: justme1968 am 25 Januar 2014, 12:44:17
was ist in deiner installation jetzt anders als beim letzten mal? da du ging es doch dann.

Hast recht - das letzte mal habe ich das original FHEM addon image von AVM verwendet.
Dieses mal das FHEM addon von fhem.de (auch aktualisiert).
Beide male hab ich JSON 2.53 dazu gepackt...

Wenn ich jetzt nur wüsste wo da der Unterschied liegt..

MaxWhite

So - hab heute ein wenig Zeit zum Experimentieren gefunden!

Fehler bei define der Waage war mit FHEM (von FHEM und nicht von AVM) auf der Fritzbox:

2014.01.31 10:17:01 3: Waage: create new device 'withings_U123456' for user '123456'
2014.01.31 10:17:01 3: withings_U123456: I/O device is Waage
, or } expected while parsing object/hash, at character offset 10 (before "0,"body":{"updatetim...") at ./FHEM/32_withings.pm line 559

Hab das testweise geändert:

Original:
558  my $ret = get($url);
559  my $json = JSON->new->utf8(0)->decode($ret);

Geändert:
558  my $ret = get($url);
559  my $json_bytes = encode('UTF-8', $ret);
560  my $json = JSON->new->utf8->decode($json_bytes);

--> damit gehts ohne diesen Fehler

justme1968

ich probier es mal aus. vor allem ob es dann noch mit umlauten funktioniert.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

justme1968

es scheint auch bei mir mit dieser änderung zu gehen.

vielleicht können das noch ein paar andere auf ihrer platform prüfen.

wenn es keine probleme damit gibt würde ich es einchecken.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

justme1968

ich habe eben eine kleines update eingecheckt das den absturz bei verbindungs timeout oder fehlerhafter antwort verhindert.

im netatmo modul habe inzwischen eine möglichkeit (fast) alle anfragen an den server nicht blockierend zu machen. wenn dort alles geht werde ich auch das wittings modul darauf umbauen. server probleme sollten dann nicht mehr fhem verzögern.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Leen

Zitat von: MaxWhite am 31 Januar 2014, 10:40:47
So - hab heute ein wenig Zeit zum Experimentieren gefunden!

Fehler bei define der Waage war mit FHEM (von FHEM und nicht von AVM) auf der Fritzbox:

2014.01.31 10:17:01 3: Waage: create new device 'withings_U123456' for user '123456'
2014.01.31 10:17:01 3: withings_U123456: I/O device is Waage
, or } expected while parsing object/hash, at character offset 10 (before "0,"body":{"updatetim...") at ./FHEM/32_withings.pm line 559

Hab das testweise geändert:

Original:
558  my $ret = get($url);
559  my $json = JSON->new->utf8(0)->decode($ret);

Geändert:
558  my $ret = get($url);
559  my $json_bytes = encode('UTF-8', $ret);
560  my $json = JSON->new->utf8->decode($json_bytes);

--> damit gehts ohne diesen Fehler

Kann ich bestätigen, damit geht es bei mir auch. Allerdings ist es get($URL) bei mir ($url vs $URL)...

rudyonline

Zitat von: justme1968 am 22 Dezember 2013, 00:28:31
anbei eine erste version eines moduls um daten von der withings webseite abzurufen und in fhem zu verwenden.

zum anlegen muss die userid und der key angegeben werden. beides findet sich auf der withing seite unter teilen -> auf meiner webseite.

nach dem define werden alle bisher vorhanden daten abgeholt und dann regelmässig jede stunde nur die neuesten. für die altdaten wird kein event getriggert, ich weiss noch nicht ob und wie das mit dem richtigen timestamp möglich ist.

gruss
  andre

Hallo,

ich bin irgendwie zu blöd das lauffähig anzulegen. Wäre es möglich einmal ein Beispiel aus Fhem.cfg zur Verfügung zu stellen. Bei meinen bisherigen Versuchen bleibt mein Fhem komplett hängen. Schon mal vielen Dank.

Gruß
Rüdiger

spacy

Hallo,


Habe die Waage von Withings und ein Problem .

Das Modul verbindet sich mit meinem Account. Liefert  mir auch alle Daten der USER die hinterlegt sind aber ein gewicht bekomme ich nicht zu sehen.
Die Prozentangabe der Batterie der Waage ist aber zu sehen.
Wo kann mein Fehler liegen?
Danke

justme1968

schau mal etwas weiter oben im thread. da war schon mal jemand mit problemen. der musste das in seinem account erst etwas freigeben.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

det.

hallo andre,
vielen Dank für das prima Modul. Funktioniert mit der Waage und dem activity tracker perfekt. Seit wir diese Woche den neuen Pulse O2 http://vitrine.withings.com/withings-pulse.html angeschafft haben, steht im LOG ab und zu Folgendes: 3: withings_U2828712: unknown measure type: 54
Da gibt es offenbar Änderungen im übertragenen Code. Das neue Gerät wurde auch nicht in FHEM angelegt, so wie das vorige.
Kannst Du Dir das bitte mal ansehen? Wenn Du schreibst, welche Daten / Tests etc. ´dabei helfen, werde ich die gern liefern.
LG
det.

justme1968

weder der pulse o2 noch ein measure type 54 gibt es zur zeit in der api dokumentation die ich gefunden habe.

beim autocreate gibt es keine abhängigkeit vom device typ. d.h. wenn das device im accout ist sollte es auch angelegt werden. schau also bitte zuerst mal ob das device in deinem account auch vorhanden ist. zusätzlich zum alten tracker.

mach mal bitte ein 'get devices' auf den account. taucht der neue pulse o2 da auf? unterscheidet er sich vom tracker?

siehst du im log etwas wenn du für das account device mal ein verbose 5 setzt und dann ein modify machst so das die autocreate routine neu aufgerufen wird.

wie schaut es aus wenn du das wittingslogin.pl script aus dem therad weiter oben http://forum.fhem.de/index.php/topic,17800.msg122311.html#msg122311 verwendest?
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

det.

Zitat von: justme1968 am 27 April 2014, 11:30:52
weder der pulse o2 noch ein measure type 54 gibt es zur zeit in der api dokumentation die ich gefunden habe.

beim autocreate gibt es keine abhängigkeit vom device typ. d.h. wenn das device im accout ist sollte es auch angelegt werden. schau also bitte zuerst mal ob das device in deinem account auch vorhanden ist. zusätzlich zum alten tracker.

mach mal bitte ein 'get devices' auf den account. taucht der neue pulse o2 da auf? unterscheidet er sich vom tracker?

siehst du im log etwas wenn du für das account device mal ein verbose 5 setzt und dann ein modify machst so das die autocreate routine neu aufgerufen wird.

wie schaut es aus wenn du das wittingslogin.pl script aus dem therad weiter oben http://forum.fhem.de/index.php/topic,17800.msg122311.html#msg122311 verwendest?


get devices:id type battery SN
426777 Body scale 82 SN-00:24:e4:06:4a:f6
1321301 Withings Pulse 63 SN-00:24:e4:16:09:c2

2014.04.27 11:40:57 3: withings_U2828712: I/O device is withings
2014.04.27 11:39:04 3: withings_D1321301: I/O device is withings
2014.04.27 11:39:04 3: withings: create new device 'withings_D1321301' for device '1321301'
2014.04.27 11:39:04 4: withings: device '426777' already defined
2014.04.27 11:39:04 4: withings: user '2920015' already defined
2014.04.27 11:39:04 4: withings: user '2828712' already defined
2014.04.27 11:39:04 4: withings: user '2828419' already defined


Danke andre,
das Problem lag offenbar darin, dass ich den alten Tracker gegen den Pulse O2 beim gleichen User getauscht habe (es geht nur einer pro User anzumelden). Mit Deinen Hinweisen hat es das neue Device angelegt und es kommen auch Werte!
LG
det.