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

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

Vorheriges Thema - Nächstes Thema

rapster

#225
Hallo Markus,

habe eben mal deine beta Version ausprobieren wollen, leider funktioniert diese im Gegensatz zur alten svn-version bei mir nicht  :(

Was mir aufgefallen ist:

1. Dereferenzierungs-Warnings welche das Modul für Perl < 5.14 unbrauchbar machen, und unschöne Lögmeldungen erzeugen:

2015.10.07 20:43:10.374 1: PERL WARNING: keys on reference is experimental at ./FHEM/32_withings.pm line 1707.
2015.10.07 20:43:10.374 1: PERL WARNING: keys on reference is experimental at ./FHEM/32_withings.pm line 1607.
2015.10.07 20:43:10.374 1: PERL WARNING: keys on reference is experimental at ./FHEM/32_withings.pm line 1600.

Diese mehr oder weniger Schönheitsfehler kannst du vermeiden wenn du statt z.B. Z.1600:
foreach my $series ( keys($json->{body}{series}))
das hier schreibst, und dein hash explizit vor benutzen von keys() dereferenzierst:
foreach my $series (keys %{$json->{body}{series}})

2. Perl-Warnings aufgrund von verwenden uninitialisierter Variablen:
2015.10.07 20:44:27.944 1: PERL WARNING: Use of uninitialized value $lastupdate in addition (+) at ./FHEM/32_withings.pm line 1267.
2015.10.07 20:44:13.664 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at FHEM/HttpUtils.pm line 244.
2015.10.07 20:44:13.664 1: PERL WARNING: Use of uninitialized value $_ in substitution (s///) at FHEM/HttpUtils.pm line 47.
2015.10.07 20:44:13.510 1: PERL WARNING: Use of uninitialized value in string ne at ./FHEM/32_withings.pm line 359.


3.  Das erhalte ich nach dem define (define ws_50 withings xxUSERxx xxPUBKEYxx) auf verbose 3:

2015.10.07 20:44:13.510 1: withings: no I/O device
2015.10.07 20:44:13.510 3: No I/O device found for withings


4. Das erhalte ich bei einem updateAll auf verbose 5:
2015.10.07 20:45:31.103 5: withings: parseactivity

}
  'status' => 2555
  'body' => {},
  'error' => 'Unknown error: ',
2015.10.07 20:45:31.103 5: withings: json returned: {
2015.10.07 20:45:31.103 5: withings: dispatch userDailyActivity
2015.10.07 20:45:31.019 5: withings: parsemeasuregroups

}
  'error' => 'The provided userid/deviceid and/or Oauth credentials do not match sessionid:[]'
  'status' => 250,
2015.10.07 20:45:31.019 5: withings: json returned: {
2015.10.07 20:45:31.019 5: withings: dispatch userReadingsCommon
2015.10.07 20:45:31.018 5: withings: parseaggregate

}
  'status' => 2555
  'body' => {},
  'error' => 'Unknown error: ',
2015.10.07 20:45:31.018 5: withings: json returned: {
2015.10.07 20:45:31.018 5: withings: dispatch userDailyAggregate
2015.10.07 20:45:30.658 5: withings: getuserdailystats 8554017
2015.10.07 20:45:30.657 5: withings: getuserreadings 8554017


Evtl. hast du einen Lösungsvorschlag, oder ich kann noch was ausprobieren...

Gruß
  Claudiu

Markus M.

1. Danke, versuche ich am Wochenende umzubauen
2. lastupdate gibt es beim ersten Start noch nicht.
3. Wo ist dein I/O Device? Dass man Devices und User nicht selbst definieren sollte,  hätte ich betonen müssen.
4. Immer noch kein I/O Device? Die API mit Key wird nicht mehr verwendet

Definier mal deinen Wirhings Account.
Aktuell weder Smarthome noch FHEM vorhanden

rapster

Hallo Markus,

Zu 2.
wenn dir das bewusst ist, warum fängst du dann dieses Warning nicht direkt ab?
statt: my $enddate = ($lastupdate+(100*24*60*60));
z.B.: my $enddate = $lastupdate ? ($lastupdate+(100*24*60*60)) : 1;


Hab jetzt das Modul mit ACCOUNT definiert und das ist mir hier aufgefallen:
1. Die Devices werden jetzt erfolgreich angelegt, allerdings fehlt bei der Waage selber das reading co2?
2015.10.08 10:05:47.414 5: withings_D3576934: parsemeasurements

        };
          'status' => 503
          'error' => 'Invalid Params',
2015.10.08 10:05:47.414 5: withings_D3576934: json returned: $VAR1 = {
2015.10.08 10:05:47.414 5: withings_D3576934: dispatch deviceReadingsScale
2015-10-08_10:05:47 withings_D3576934 lastSessionDate: 2015-10-08 08:21:01
2015-10-08_10:05:47 withings_D3576934 lastWeighinDate: 2015-10-08 08:21:03
2015-10-08_10:05:47 withings_D3576934 battery: ok
2015-10-08_10:05:47 withings_D3576934 batteryLevel: 100
2015.10.08 10:05:47.353 5: withings_D3576934: parsedevice 3576934

        };
          'status' => 0
                    },
                      'behaviour' => 0
                      'night_clock' => 'f',
                                        },
                                          'g_adjust' => 1
                                          'lastweighindate' => 0,
                                          'behaviour' => 0,
                      'scale_config' => {
                      'debug' => 0,
                      'modified' => 1425292533,
                      'timezone' => 'Europe/Berlin',
                      'type' => 1,
                      'impedancemeter' => 1,
                      'lastweighindate' => 1444285263,
                      'id' => 3576934,
                      'mfgid' => 573474,
                      'longitude' => '139.75138',
                      'macaddress' => '00:24:e4:2f:54:d8',
                      'created' => 1425292533,
                      'latitude' => '35.6853',
                      'sn' => 'SN-00:24:e4:2f:54:d8',
                      'batterylvl' => 100,
                      'preflang' => 'de_DE',
                      'network' => 2,
                      'manual_geoloc' => 'f',
                      'lastsessiondate' => 1444285261,
                      'fw' => '1621',
                      'model' => 4,
          'body' => {
2015.10.08 10:05:47.352 5: withings_D3576934: json returned: $VAR1 = {
2015.10.08 10:05:47.352 5: withings_D3576934: dispatch deviceProperties
2015-10-08_10:05:47 global DELETEATTR withings_D3576934 disable
2015.10.08 10:05:47.101 5: withings_D3576934: getscalereadings 3576934
2015.10.08 10:05:47.100 5: withings_D3576934: getdeviceproperties 3576934


2. Für was sollen die ganzen ".poll*" Readings gut sein? Macht das nicht mehr Sinn das im device hash zu speichern?

3. Was mir bei keinem Modul gefällt ist, wenn durch das Modul automatisch irgendwelche Attribute gesetzt/geändert werden.
    Das ist beim ersten define ganz OK wenn hier evtl. sinnvolle Vorbelegungen stattfinden, allerdings sollte es das dann auch gewesen sein und die Attribute im Anschluss komplett dem User überlassen werden.

Werde mal bei Gelegenheit schauen ob mir noch was auffällt.

Gruß
  Claudiu

Absolute Beginner

Hallo Markus, seit dem letzten Firmware-Update stehen in der Waage auch die Anzahl Schritte des Vortages zu Verfügung. Kannst Du bitte das Modul entsprechend erweitern? Kann man überhaupt auf alle Daten, die Withings sammelt, zugreifen (z.B. Schlafwerte)? Die Firma ermöglicht ja vorbildlich die Exportfunktion.
Raspberry Pi 3 - CUL868 - Jessie - FHEM5.8 - MQTT - Node-RED
HM-TC-IT-WM-W-EU, HM-LC-BI1PBU-FM, HM-Sec-SCo, HM-WDS30-0T2-SM, SOMFY, Echo, ESP, SonOff

Absolute Beginner

Wo ich auch noch Unterstützung brauche: Diese Einträge tauchen permanent alle 15min im fhem-Logfile auf:

2015.11.23 15:54:35 3: withings_U8752517: Measuregroups gap error! (latest: 2015-11-19 03:57:43)
2015.11.23 15:54:35 4: withings_U8752517: got 0 entries from MeasureGroups (latest: 2015-11-23 08:18:55)
2015.11.23 16:09:36 3: withings_U8752517: Measuregroups gap error! (latest: 2015-11-19 03:57:43)
2015.11.23 16:09:36 4: withings_U8752517: got 0 entries from MeasureGroups (latest: 2015-11-23 08:18:55)
2015.11.23 16:24:36 3: withings_U8752517: Measuregroups gap error! (latest: 2015-11-19 03:57:43)
2015.11.23 16:24:36 4: withings_U8752517: got 0 entries from MeasureGroups (latest: 2015-11-23 08:18:55)
2015.11.23 16:39:36 3: withings_U8752517: Measuregroups gap error! (latest: 2015-11-19 03:57:43)
2015.11.23 16:39:36 4: withings_U8752517: got 0 entries from MeasureGroups (latest: 2015-11-23 08:18:55)
2015.11.23 16:54:48 3: withings_U8752517: Measuregroups gap error! (latest: 2015-11-19 03:57:43)
2015.11.23 16:54:48 4: withings_U8752517: got 0 entries from MeasureGroups (latest: 2015-11-23 08:18:55)


Wie kann ich diese unsinnigen Einträge verhindern?
Raspberry Pi 3 - CUL868 - Jessie - FHEM5.8 - MQTT - Node-RED
HM-TC-IT-WM-W-EU, HM-LC-BI1PBU-FM, HM-Sec-SCo, HM-WDS30-0T2-SM, SOMFY, Echo, ESP, SonOff

doman75

Hallo,

ich habe mein Witthings Account angelegt mit define Gesundheit withings [ACCOUNT] xxxx@xxxx.xx XXXXXX, es erscheint auch als Initialized, aber es werden weder Geräte noch user irgendwo angelegt, ich benutze die 32_withings.pm vom 26.09.2015 von Marcus.

Was mache ich falsch?

Grüße
Swen

Christoph

Hallo,


Alle Devices und User sind am anfang disabled...
Kannst dir auch mal noch Beitrag 169 von Markus hier im Thread durchlesen


Gruß Christoph

fetzz

Hallo,

Ich habe mit dem Modul bisher keine Probleme, es werden die Readings erfasst und die Einbindung erfolgte problemlos. Allerdings immer nur ein aktueller Wert pro Typ (Co2 oder Temperatur), wenn ich mich wiege, die Werte zwischen dem Wiegen kommen im FHEM (FileLog) nicht an.
Ich habe auch bei den Devices ein get <name> update all gemacht,es wird aber immer nur der "letzte" Wert übertragen.
Wer kann mir helfen?

Grüße

fetzz

My-FHEM

Frage:

Gibst es eigentlich eine aktuellere Version als "testversion b3 2015-09-26"? :)

Grüsse

rubbertail

Huhu Markus, André und Beitragende,

kurze Rückmeldung: Das Beta-Modul ist prima - mit der Aura und dem Schlafsensor ist damit auch der ROOMMATE-Status "asleep" ziemlich gut zu steuern. :)
Gibts eigentlich Pläne, das Ding einzuchecken? +1 von mir jedenfalls, und mal wieder vielen Dank für Euer Engagement!

Martin
FHEM auf Raspi, CUL433, CUL868, RFXTRX433e, CULCuBE
FRITZ: Fritzbox7590AX, 6xFritzDECT301, 10xFritzDECT200, FritzRepeater 6000
MAX!: Fensterkontakte
netatmo: Wetterstation & Thermostat
Milights, IT, Withings, HUE

Markus M.

#235
Ganz sauber funktioniert das Modul leider noch nicht.
Home macht gerade noch Probleme, die Änderungen der Wecker für Aura hab ich noch nicht drin und mein Schlafsensor wird mal wieder ausgetauscht weil er defekt ist.

Der Rest ist im Anhang - ich hab die Timestamps denke ich endlich hinbekommen.
Aktuell weder Smarthome noch FHEM vorhanden

Markus M.

#236
Letzte Beta Version vor dem Checkin

Hiermit sollten nun wieder alle Readings gelesen werden ohne dass es zu doppelten Daten kommt.
Zusätzlich lassen sich die Alarme des Aura Weckers auslesen und ändern.

Bitte gründlichst testen, wenn damit keine Fehler mehr auftreten, würde ich das Modul dann demnächst im SVN austauschen.



Zitat von: rubbertail am 20 Januar 2016, 16:52:57kurze Rückmeldung: Das Beta-Modul ist prima - mit der Aura und dem Schlafsensor ist damit auch der ROOMMATE-Status "asleep" ziemlich gut zu steuern. :)
Den Status berechnet Withings ebenso wie die Readings erst am Ende der Nacht. Verwendest du dafür die unknown Readings?


Bitte nochmal runterladen wenn ihr eine Home Camera habt, sonst gibt's nen Crash beim Aktualisieren der Alert Readings
Known Bugs: Das Einlesen der Aura Alarms funktioniert noch nicht wirklich sauber
Aktuell weder Smarthome noch FHEM vorhanden

rubbertail

Hoi Markus, bist der Beste - werd ab morgen abend testen und berichten!
FHEM auf Raspi, CUL433, CUL868, RFXTRX433e, CULCuBE
FRITZ: Fritzbox7590AX, 6xFritzDECT301, 10xFritzDECT200, FritzRepeater 6000
MAX!: Fensterkontakte
netatmo: Wetterstation & Thermostat
Milights, IT, Withings, HUE

Markus M.

Aktuell weder Smarthome noch FHEM vorhanden

rubbertail

#239
Hi Markus,

Also meine Tests verliefen erfolgreich alle - prima Sache, und die Icons sind natürlich ne tolle Dreingabe!

Den Schlafstatus hab ich noch nicht genauer beobachtet - ich dachte da an das Reading sleepstate, aber habs noch nicht näher probiert.

Was allerdings noch auftaucht im Los ist folgendes:

2016.02.29 18:04:25 2: withings_U244355: Measuregroups gap error! (latest: 2016-01-20 15:45:16 &lt; 2016-02-29 06:16:00) 0

Da bin ich nicht ganz sicher, was das ist - allerdings ist dieser User mit mehreren Geräten "verknüpft", vielleicht liegts daran...

Danke jedenfalls für das tolle Modul!

Martin

---edith---
Offenbar ist bei dem "tollen" Aura-Lichtdings das WLAN-Modul abgeraucht... göttinseidank noch in der Gewährleistung. Das ist vermutlich der Grund für o. a. Fehler.
FHEM auf Raspi, CUL433, CUL868, RFXTRX433e, CULCuBE
FRITZ: Fritzbox7590AX, 6xFritzDECT301, 10xFritzDECT200, FritzRepeater 6000
MAX!: Fensterkontakte
netatmo: Wetterstation & Thermostat
Milights, IT, Withings, HUE