[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer

Begonnen von CoolTux, 11 Januar 2018, 15:42:45

Vorheriges Thema - Nächstes Thema

CoolTux

Wird die Schnittstelle von einer anderen Anwendung verwendet? lepresenced zum Beispiel. Ist die APP immer noch mit dem Sensor gekoppelt? Hast Du den Server mal neugestartet?
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

triagony

Zitat von: CoolTux am 24 Oktober 2018, 12:37:48
Wird die Schnittstelle von einer anderen Anwendung verwendet? lepresenced zum Beispiel. Ist die APP immer noch mit dem Sensor gekoppelt? Hast Du den Server mal neugestartet?
Hi! Danke schonmal für deine Antwort. Lepresenced läuft tatsächlich. Aber bis vor ein paar Tagen hat es damit auch funktioniert. Ich hab lepresenced gerade Mal gestoppt, was aber keinen Unterschied macht.

Die App von Handy ist nicht mehr verbunden - bin auf der Arbeit, sodass ich diesen Fehler ausschließen kann.

Ich starte den Server jetzt Mal neu und sehe, was dann passiert.

VG

Gesendet von meinem SM-G950F mit Tapatalk


triagony


smurphy

Was ich jetzt probiert habe:

Mit dem userreading

testwert {ReadingsVal ("xiaomi1","temperature",0) + ReadingsVal ("xiaomi1","humidity",0)}

erhalte ich folgende Fehlermeldung im Log:

2018.10.24 14:57:18 1: PERL WARNING: Argument "4.6\0" isn't numeric in addition (+) at (eval 16625) line 1.
2018.10.24 14:57:18 3: eval: {ReadingsVal ("xiaomi1","temperature",0) + ReadingsVal ("xiaomi1","humidity",0)}


trotzdem ist der Wert für $testwert korrekt addiert

mit dem userreading

testwert {ReadingsVal ("xiaomi1","temperature",0) + ReadingsVal ("xiaomi1","temperature",0)}

erscheint keine Fehlermeldung im Log

Ich habe natürlich jeweils einen neuen Wert getriggert

CoolTux

die 4.6 sind bestimmt die Luftfeuchte, oder?

Wieso steht da "4.6\0" Irgendwoher muß die /0 kommen.

Kannst Du bitte einmal das hier

print $readings{humidity} . "\n";


In Zeile 898 einfügen und dann einen reload 74_XiaomiBTLESens machen.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

smurphy

ähhmmm..in welche Datei soll ich das einfügen? Und wo liegt diese Datei?

Eine 74_XiaomiBTLESens.pm kann ich jedenfalls nicht über das Frontend finden.

CoolTux

die Datei liegt unter FHEM/

meist unter /opt/fhem/FHEM/
sie heißt 74_XiaomiBTLESens.pm

Aber bitte nur machen wenn Du Dich dazu technisch in der Lage siehst. Ansonsten muss ich mir was einfallen lassen.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Invers

Hab ich mal gemacxht, da ich den selben fehler habe.
Luftfeuchted steht immer bei 0.0.
Fehler bleibt leider mit der Änderung im Modul bestehen.
Altes Modul luft aber.

2018.10.24 15:44:27 1: PERL WARNING: Argument "=44." isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 543.
2018.10.24 15:44:27 1: PERL WARNING: Argument "=44." isn't numeric in numeric gt (>) at (eval 1261) line 32.
201
Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2

CoolTux

Zitat von: Invers am 24 Oktober 2018, 15:47:09
Hab ich mal gemacxht, da ich den selben fehler habe.
Luftfeuchted steht immer bei 0.0.
Fehler bleibt leider mit der Änderung im Modul bestehen.
Altes Modul luft aber.

2018.10.24 15:44:27 1: PERL WARNING: Argument "=44." isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 543.
2018.10.24 15:44:27 1: PERL WARNING: Argument "=44." isn't numeric in numeric gt (>) at (eval 1261) line 32.
201


Ich befürchte Du hast nur die hälfte mit bekommen.
Mach mal bitte ein Update von FHEM dann ist Dein Problem mit dem = behoben. Und dann kannst Du mal bitte berichten was bei Dir passiert wenn Du das Userreadings an legst.


Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

smurphy

Zitat von: CoolTux am 24 Oktober 2018, 15:33:25
die Datei liegt unter FHEM/

meist unter /opt/fhem/FHEM/
sie heißt 74_XiaomiBTLESens.pm

Aber bitte nur machen wenn Du Dich dazu technisch in der Lage siehst. Ansonsten muss ich mir was einfallen lassen.

Das ist wirklich kein Problem.
Ich komme vom Büro aus leider nicht auf die bash. Und per Handy + VPN + Terminal ist mir das zu frickelig.


CoolTux

Zitat von: smurphy am 24 Oktober 2018, 15:53:04
Das ist wirklich kein Problem.
Ich komme vom Büro aus leider nicht auf die bash. Und per Handy + VPN + Terminal ist mir das zu frickelig.

Dann einfach ganz entspannt wenn es passt.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Invers

ZitatIch befürchte Du hast nur die hälfte mit bekommen.
Kann schon sein. Sorry für das Missverständnis.
Ein Update hatte ich allerdings heute früh gemacht. Der Fehler kommt trotzdem/gerade dadurch.

Version:
74_XiaomiBTLESens.pm 17604 2018-10-23 09:18:34Z CoolTux
Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2

CoolTux

Dann brauche ich bitte ein list vom Device und ein verbose 5 Mitschnitt
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Invers

2018.10.24 16:13:47 1: Logfile gelöscht
2018.10.24 16:17:59 4: XiaomiBTLESens (TMP_Bu) - Run CreateParamGatttool with mod: write
2018.10.24 16:17:59 5: XiaomiBTLESens (TMP_Bu) - Write XiaomiBTLESens_ExecGatttool_Run TMP_Bu|4C:65:A8:D2:9B:E3|write|0x10|0100
2018.10.24 16:17:59 5: XiaomiBTLESens (TMP_Bu) - ExecGatttool_Run: call gatttool with command: timeout 10 gatttool -i hci0 -b 4C:65:A8:D2:9B:E3 --char-write-req -a 0x10 -n 0100 --listen 2>&1 /dev/null and loop 0
2018.10.24 16:18:09 5: XiaomiBTLESens (TMP_Bu) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully
Notification handle = 0x000e value,54 3d 31 39 2e 36 20 48 3d 34 34 2e 32 00
Notification handle = 0x000e value,54 3d 31 39 2e 36 20 48 3d 34 34 2e 30 00
Notification handle = 0x000e value,54 3d 31 39 2e 35 20 48 3d 34 34 2e 32 00
Notification handle = 0x000e value,54 3d 31 39 2e 36 20 48 3d 34 34 2e 34 00
Notification handle = 0x000e value,54 3d 31 39 2e 37 20 48 3d 34 34 2e 32 00
Notification handle = 0x000e value,54 3d 31 39 2e 36 20 48 3d 34 34 2e 32 00
Notification handle = 0x000e value,54 3d 31 39 2e 36 20 48 3d 34 34 2e 31 00
Notification handle = 0x000e value,54 3d 31 39 2e 36 20 48 3d 34 34 2e 32 00
Notification handle = 0x000e value,54 3d 31 39 2e 37 20 48 3d 34 34 2e 34 00
Notification handle = 0x000e value,54 3d 31 39 2e 37 20 48 3d 34 34 2e 33 00

2018.10.24 16:18:09 4: XiaomiBTLESens (TMP_Bu) - ExecGatttool_Run: gatttool result Characteristic value was written successfully
Notification handle = 0x000e value,54 3d 31 39 2e 36 20 48 3d 34 34 2e 32 00
Notification handle = 0x000e value,54 3d 31 39 2e 36 20 48 3d 34 34 2e 30 00
Notification handle = 0x000e value,54 3d 31 39 2e 35 20 48 3d 34 34 2e 32 00
Notification handle = 0x000e value,54 3d 31 39 2e 36 20 48 3d 34 34 2e 34 00
Notification handle = 0x000e value,54 3d 31 39 2e 37 20 48 3d 34 34 2e 32 00
Notification handle = 0x000e value,54 3d 31 39 2e 36 20 48 3d 34 34 2e 32 00
Notification handle = 0x000e value,54 3d 31 39 2e 36 20 48 3d 34 34 2e 31 00
Notification handle = 0x000e value,54 3d 31 39 2e 36 20 48 3d 34 34 2e 32 00
Notification handle = 0x000e value,54 3d 31 39 2e 37 20 48 3d 34 34 2e 34 00
Notification handle = 0x000e value,54 3d 31 39 2e 37 20 48 3d 34 34 2e 33 00

2018.10.24 16:18:09 5: XiaomiBTLESens (TMP_Bu) - ExecGatttool_Done: gatttool return string: TMP_Bu|4C:65:A8:D2:9B:E3|ok|write|0x10|{"gtResult":"54 3d 31 39 2e 36 20 48 3d 34 34 2e 32 00 "}
2018.10.24 16:18:09 4: XiaomiBTLESens (TMP_Bu) - ProcessingNotification
2018.10.24 16:18:09 4: XiaomiBTLESens (TMP_Bu) - ProcessingNotification: handle 0x10
2018.10.24 16:18:09 4: XiaomiBTLESens (TMP_Bu) - Thermo/Hygro Sens Handle0x10
2018.10.24 16:18:09 4: XiaomiBTLESens (TMP_Bu) - WriteReadings: Readings were written


Internals:
   BTMAC      4C:65:A8:D2:9B:E3
   CFGFN     
   DEF        4C:65:A8:D2:9B:E3
   INTERVAL   300
   NAME       TMP_Bu
   NOTIFYDEV  global,TMP_Bu
   NR         451
   NTFY_ORDER 50-TMP_Bu
   STATE      T: 19.6 H: =44.
   TYPE       XiaomiBTLESens
   VERSION    2.4.3
   loglevel   4
   READINGS:
     2018-10-24 08:39:05   battery         ok
     2018-10-24 08:39:05   batteryLevel    79
     2018-10-24 16:12:26   batteryPercent  79
     2018-10-24 16:12:26   batteryState    ok
     2018-06-12 10:14:03   firmware        00.00.66
     2018-10-24 16:18:09   humidity        =44.
     2018-10-24 13:56:42   lastGattError   charWrite faild
     2018-10-24 16:18:09   state           T: 19.6 H: =44.
     2018-10-24 16:18:09   temperature     19.6
   helper:
     CallBattery 0
     CallSensDataCounter 0
     updateTimeCallBattery 1540390346.67417
     updateTimestampCallBattery 2018-10-24 16:12:26
Attributes:
   alias      Büro
   hciDevice  hci0
   model      thermoHygroSens
   room       XiaomiBTLESens
   verbose    5



Die Änderung hatte ich aus dem Modul wiededr entfernt mit "update 74_XiaomiBTLESens.pm" und Neustart von fhem.
Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2

smurphy

Zitat von: CoolTux am 24 Oktober 2018, 15:12:33
die 4.6 sind bestimmt die Luftfeuchte, oder?

Wieso steht da "4.6\0" Irgendwoher muß die /0 kommen.

Kannst Du bitte einmal das hier

print $readings{humidity} . "\n";


In Zeile 898 einfügen und dann einen reload 74_XiaomiBTLESens machen.

Guten Abend Cooltux,

ich habe das gerade so gemacht, wie von Dir vorgeschlagen.
Irgendwie wird das nicht besser.

Jetzt sieht man (manchmal) hinter der humidity so einen viereckigen Kasten.

2018.10.24 22:37:20 1: PERL WARNING: Argument "4.7\0" isn't numeric in addition (+) at (eval 581) line 1.
2018.10.24 22:37:20 3: eval: {ReadingsVal ("xiaomi1","temperature",0) + ReadingsVal ("xiaomi1","humidity",0)}
2018.10.24 22:37:20 1: PERL WARNING: Argument "4.7\0" isn't numeric in addition (+) at (eval 582) line 1.
2018.10.24 22:37:20 3: eval: {ReadingsVal ("xiaomi1","temperature",0) + ReadingsVal ("xiaomi1","humidity",0)}
2018.10.24 22:37:20 1: PERL WARNING: Argument "4.7\0" isn't numeric in addition (+) at (eval 583) line 1.
2018.10.24 22:37:20 3: eval: {ReadingsVal ("xiaomi1","temperature",0) + ReadingsVal ("xiaomi1","humidity",0)}