[Neues Modul - 32_fitbit.pm] Fitbit Web API

Begonnen von TeeVau, 17 Juni 2017, 17:40:41

Vorheriges Thema - Nächstes Thema

TeeVau

Ich schau mir die 2 Punkte an. Das mit dem Gewicht ist etwas verwirrend in der API. Es gibt 3 Wege um an das Gewicht zu kommen. Aber offensichtlich ist der bodyFat endpoint der beste Weg.
Danke für eure Rückmeldungen.
FHEM 5.8 dev (virtualisiert) / FBF 7390 (CUL 868MHz V 1.51 / panStick (AVR1))
FS20: fs20di,fs20pira,fs20sm8,fs20st2,fs20tfk,fs20ue1,fs20ws1
panStamp (AVR1): RGB Multi von ext23, 1W-DSxxxx, I/O Sketch, Spritzpumpe
Multimedia: Panasonic TV (VIERA), Kodi, Yamaha RX-V781, LMS
Sonstiges: XiaomiFlowerSen

TeeVau

Hi,

im ersten Thread gibt es eine neue Version. das Reading weight wird nun auch bei dem regelmäßigen polling beschrieben.

@DS_Starter
Komisch, bei dir scheint die API leere Felder zurückzugeben. Ich hab bei fehlenden Werten immer '0' drin stehen. Ich denke, mit defined() sollte das abzufangen sein. Probier bitte mal aus, ich bekomme diese Meldung. Die Meldung ist jedoch auch nur ein Hinweis, sollte nix bei kaputt gehen.

Gute Nacht, Tobias
FHEM 5.8 dev (virtualisiert) / FBF 7390 (CUL 868MHz V 1.51 / panStick (AVR1))
FS20: fs20di,fs20pira,fs20sm8,fs20st2,fs20tfk,fs20ue1,fs20ws1
panStamp (AVR1): RGB Multi von ext23, 1W-DSxxxx, I/O Sketch, Spritzpumpe
Multimedia: Panasonic TV (VIERA), Kodi, Yamaha RX-V781, LMS
Sonstiges: XiaomiFlowerSen

DS_Starter

Morgen Tobias,

ZitatIch denke, mit defined() sollte das abzufangen sein

Ja, klappt auch damit ... sieht gut aus.
Warnungen tun nicht weh, weiß ich   ;) ... sind halt nur unschön und lästig.

Einen Wunsch/Vorschlag hätte ich noch. Hättest du etwas dagegen die Meldungen beim Start:


2017.07.01 08:33:20.773 2: fitbit_IO: user '5RMVHT' already defined
2017.07.01 08:33:22.306 2: fitbit_IO: device '435990681' already defined
2017.07.01 08:33:22.308 2: fitbit_U5RMVHT: I/O device is fitbit_IO
2017.07.01 08:33:23.080 2: fitbit_D435990681: I/O device is fitbit_IO


auf verbose level 3 setzen ?
Sooo sehr wichtig finde ich die Meldung nicht dass ein Device schon existiert.

Danke und VG,
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

oti

Hallo Tobias,

Ich habe das Modul jetzt auch installiert und ich finde es echt klasse.
Eine kurze Frage habe ich. Wie heißt das Reading für Etagen?

Gruß Olaf

Gesendet von meinem SM-G935F mit Tapatalk


reibuehl

Hallo Tobias,

Ich sehe im log noch Fehlermeldungen wie diese:

2017.08.26 21:20:57 1: PERL WARNING: Argument "YTUA4O0ZC529KYO7" isn't numeric in numeric eq (==) at ./FHEM/32_fitbit.pm line 1267.

Weist Du, was das sein könnte?

Gruß,
Reiner
Reiner.

oti

Hallo Tobias,

ich habe noch eine weitere Frage.
Ich bekomme jetzt schon zum zweiten Mal die Meldung:

fitbit_watch: fitbit_parseHttpHeader: HTTP 401 (Unauthorized) found. Maybe a wrong token?

Beim letzten Mal habe ich einen neuen Token generiert und eingetragen und dann ging es wieder. Es wäre aber doof, wenn ich jede Woche einen neuen Token generieren muss.
Hat jemand anderes auch schon die Meldung gehabt?

Gruß
Olaf

pulmotil

#36
Hallo,
ich habe heute bei batteryLevel Low meines Trackers auch für battery Low angezeigt bekommen. Damit funktioniert nun aber leider die Batterieauswertung nach
http://www.meintechblog.de/2015/08/fhem-rechtzeitige-benachrichtigung-bei-leeren-batterien/
nicht mehr, da für diese Variante low kleingeschrieben werden muss. Kann man ändern - aber vllt gibt es ja einen Grund dafür, dass das in der 32_fitbit.pm so anders realisiert wurde:
  if($detail->{battery} eq "Low" || $detail->{battery} eq "Empty") {
    readingsBulkUpdateIfChanged( $hash, "battery", "$detail->{battery}", 1 );
  } else {
    readingsBulkUpdateIfChanged( $hash, "battery", "ok", 1 );
  }

Warum nicht "low" anstelle des "$detail->{battery}" im if-Zweig? Wurde zuvor in diesem Thread sinngemäß so umgesetzt.
Gruss p
FHEM 6.2 auf Beelink S2 (Intel N4100) mit Ubuntu 18.04.4 LTS

TeeVau

Zitat von: oti am 23 August 2017, 17:13:48
...
Ich habe das Modul jetzt auch installiert und ich finde es echt klasse.
Eine kurze Frage habe ich. Wie heißt das Reading für Etagen?
...
Etagen werden. soweit ich das sehe, von Fitbit nicht angegeben. ODer hast du die Information irgendwo in der Fitbit app? Falls du es aus der Apple Healt App hast: Ich meine die Etagen werden vom iPhone selber ermittelt, durch den Luftdrucksensor und dem Bewegungssensor.

Zitat von: reibuehl am 26 August 2017, 22:02:53
...
Ich sehe im log noch Fehlermeldungen wie diese:

2017.08.26 21:20:57 1: PERL WARNING: Argument "YTUA4O0ZC529KYO7" isn't numeric in numeric eq (==) at ./FHEM/32_fitbit.pm line 1267.

Weist Du, was das sein könnte?
...
Die Warnung ist erst einmal nichts schlimmes. Mein Device wird als ID nur mit Ziffern angegeben. Offensichtlich kann die ID aber auch Buchstaben enthalten. Werde ich mir bei Zeiten mal angucken.


Zitat von: oti am 28 August 2017, 20:32:33
...
Ich bekomme jetzt schon zum zweiten Mal die Meldung:

fitbit_watch: fitbit_parseHttpHeader: HTTP 401 (Unauthorized) found. Maybe a wrong token?

Beim letzten Mal habe ich einen neuen Token generiert und eingetragen und dann ging es wieder. Es wäre aber doof, wenn ich jede Woche einen neuen Token generieren muss.
Hat jemand anderes auch schon die Meldung gehabt?
...
Kann es sein, dass du die Gültigkeit bei der Erstellung nicht änderst? Guck mal im Anhang, da habe ich markiert, wo die Einstellung vorgenommen werden muss. Ich glaube die Default Einstellung ist eine Woche.
Ansonsten: Bitte einmal die Devices auf verbose 5 stellen und das Log posten oder mir per PM schicken. In dem Log kann übrigens der API Key enthalten sein, vorher also bitte einmal gut durchgucken!


Zitat von: pulmotil am 29 August 2017, 22:48:23
Hallo,
ich habe heute bei batteryLevel Low meines Trackers auch für battery Low angezeigt bekommen. Damit funktioniert nun aber leider die Batterieauswertung nach
http://www.meintechblog.de/2015/08/fhem-rechtzeitige-benachrichtigung-bei-leeren-batterien/
nicht mehr, da für diese Variante low kleingeschrieben werden muss. Kann man ändern - aber vllt gibt es ja einen Grund dafür, dass das in der 32_fitbit.pm so anders realisiert wurde:
...
Warum nicht "low" anstelle des "$detail->{battery}" im if-Zweig? Wurde zuvor in diesem Thread sinngemäß so umgesetzt.
Gruss p
Hast du recht, werde ich ändern.
FHEM 5.8 dev (virtualisiert) / FBF 7390 (CUL 868MHz V 1.51 / panStick (AVR1))
FS20: fs20di,fs20pira,fs20sm8,fs20st2,fs20tfk,fs20ue1,fs20ws1
panStamp (AVR1): RGB Multi von ext23, 1W-DSxxxx, I/O Sketch, Spritzpumpe
Multimedia: Panasonic TV (VIERA), Kodi, Yamaha RX-V781, LMS
Sonstiges: XiaomiFlowerSen

oti

Hallo,

Etagen: Ich bin kein Apple-Freund. ;-) Der Wert kommt von Fitbit,  sowohl die HR und die HR 2 loggen die Etagen mit (siehe Screenshots).

HTTP 401 (Unauthorized) found. Maybe a wrong token?: Du hast recht, das war der Fehler.

Danke und Gruß
Olaf

TeeVau

Guten Abend,

die neue Version ist im ersten Posting.
Das mit dem "Warning" sollte erledigt sein, das batteryLevel reading wird komplett kleingeschrieben und die Etagen sollten nun auch angezeigt werden.

Grüße, Tobias
FHEM 5.8 dev (virtualisiert) / FBF 7390 (CUL 868MHz V 1.51 / panStick (AVR1))
FS20: fs20di,fs20pira,fs20sm8,fs20st2,fs20tfk,fs20ue1,fs20ws1
panStamp (AVR1): RGB Multi von ext23, 1W-DSxxxx, I/O Sketch, Spritzpumpe
Multimedia: Panasonic TV (VIERA), Kodi, Yamaha RX-V781, LMS
Sonstiges: XiaomiFlowerSen

oti

Hallo Tobias,

habe gestern Abend noch installiert, läuft super.

Danke und Gruß
Olaf

TeeVau

Das höre ich gerne :-)

Ich wollte eigentlich in der commandref noch die Readings beschreiben, aber das ist echt mühselige Arbeit und sogar recht undokumentiert. Bei vielen Readings weis ich selber gar nicht, was die eigentlich aussagen. Findet sich jemand, der sich die Mühe macht die Infos auszuarbeiten? Dann würde ich das mit in die commandref übernehmen.
Ansonsten checke ich es erst einmal so ein, wie es aktuell dokumentiert ist und pflege dann von Zeit zu Zeit was nach.

Grüße, Tobias
FHEM 5.8 dev (virtualisiert) / FBF 7390 (CUL 868MHz V 1.51 / panStick (AVR1))
FS20: fs20di,fs20pira,fs20sm8,fs20st2,fs20tfk,fs20ue1,fs20ws1
panStamp (AVR1): RGB Multi von ext23, 1W-DSxxxx, I/O Sketch, Spritzpumpe
Multimedia: Panasonic TV (VIERA), Kodi, Yamaha RX-V781, LMS
Sonstiges: XiaomiFlowerSen

Heggeg

Ist das Modul eigentlich schon offiziell mit drin? Ich musste es nämlich manuell installieren.

KölnSolar

Hallo Tobias,
ich hab das Modul im Einsatz. Anwendung u. Installation bis gestern problemlos. Danke dafür.

Ich spekuliere, dass wg. Zeitumstellung der Server abgeschaltet war und zu unschönen Konsequenzen führte  ;D

Kannst Du Dir das mal ansehen.

Und da Du bestimmt mehr Hintergrundwissen hast: Ist Dir das Bt-Protokoll oder die Form der Datenspeicherung bekannt, so dass man auch einen reinen lokalen Zugriff(Cloud abschalten) realisieren könnte ?

Danke&Grüße
Markus
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

jschuppe

Hi Tobias,

habe das Modul heute eingerichtet. Funktioniert auf anhieb, danke!!!
Mir ist etwas aufgefallen. Bei den Uhren "Charge2" und "Surge" habe ich jeweils einen stummen Alarm eingestellt, der auch bei beiden angezeigt wird. Bei der Surge habe ich den Alarm aber disabled, was ich in den readings nicht erkennen kann, die sind bei deiden bis auf die alarm_id identisch.

Viele Grüße