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

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

Vorheriges Thema - Nächstes Thema

trinitywhm

Hatte ich gestern auch schon gemacht. Pflanze stand den ganzen Abend auf dem Schreibtisch auf dem auch der raspi3 liegt. Log sah dabei genauso aus.

CoolTux

Gib Mal bitte ein list von einer Pflanze.

Am Code hat sich nichts geändert für den Pflanzensensor. Einzig alte Firmwareversionen werden nicht mehr unterstützt.
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

trinitywhm

List einer Pflanze

Internals:
   BTMAC      C4:7C:8D:65:B8:76
   DEF        C4:7C:8D:65:B8:76
   INTERVAL   300
   NAME       BAD_Pflanze5
   NOTIFYDEV  global,BAD_Pflanze5
   NR         337
   NTFY_ORDER 50-BAD_Pflanze5
   STATE      disabled
   TYPE       XiaomiBTLESens
   VERSION    2.0.5
   loglevel   4
   READINGS:
     2018-01-26 10:35:15   battery         ok
     2018-01-26 10:35:15   batteryLevel    99
     2018-01-26 14:14:51   fertility       587
     2018-01-26 10:35:15   firmware        3.1.8
     2018-01-28 09:04:16   lastGattError   The BlockingCall Process terminated unexpectedly. Timedout
     2018-01-26 14:14:51   lux             55
     2018-01-26 14:14:51   moisture        31
     2018-01-28 11:51:36   state           disabled
     2018-01-26 14:14:51   temperature     20.7
     2018-01-28 09:04:21   uistate         ok
   helper:
     CallBattery 0
     CallSensDataCounter 0
Attributes:
   DbLogExclude .*
   DbLogInclude state,battery,batteryLevel,temperature,moisture,fertility,lux
   alias      Efeu
   disable    1
   event-min-interval state:3600,battery:3600,batteryLevel:3600,temperature:600,moisture:600,fertility:600,lux:300
   event-on-change-reading state
   event-on-update-reading .*
   icon       hue_room_garden
   maxFertility 2000
   maxLux     3500
   maxMoisture 60
   maxTemp    32
   minFertility 350
   minLux     1400
   minMoisture 15
   minTemp    10
   model      flowerSens
   room       70_Bad
   stateFormat {"Feuchte: ".AttrVal($name,"minMoisture","")." / ".ReadingsVal($name,"moisture","")." / ".AttrVal($name,"maxMoisture","")."</br>".
"Dünger: ".AttrVal($name,"minFertility","")." / ".ReadingsVal($name,"fertility","")." / ".AttrVal($name,"maxFertility","")."</br>".
"Temperatur: ".AttrVal($name,"minTemp","")." / ".ReadingsVal($name,"temperature","")." / ".AttrVal($name,"maxTemp","")."</br>"}
   userReadings uistate {my $moist = ReadingsVal($name, "moisture",0);; my $minmoist = AttrVal($name,"minMoisture",10);; my $fert = ReadingsVal($name, "fertility",0);; my $minfert = AttrVal($name,"minFertility",50);; if ($moist < $minmoist && $fert < $minfert) {return "durstig+hungrig"} elsif ($moist < $minmoist) {return "durstig"} elsif ($fert < $minfert) {return "hungrig"} else {return "ok"}}
   verbose    0


Welche Firmware wird nicht mehr unterstützt?

trinitywhm

So, Pflanze steht dicht am raspi. Device enabled. Verbose 5. Und dann get SensorData. Das ist das Ergebnis im Log
2018.01.30 08:17:19 1: Timeout for XiaomiBTLESens_ExecGatttool_Run reached, terminated process 25362
2018.01.30 08:20:13 4: XiaomiBTLESens (BAD_Pflanze5) - Run CreateParamGatttool with mod: read
2018.01.30 08:20:13 4: XiaomiBTLESens (BAD_Pflanze5) - Read XiaomiBTLESens_ExecGatttool_Run BAD_Pflanze5|C4:7C:8D:65:B8:76|read|0x38
2018.01.30 08:20:14 5: XiaomiBTLESens (BAD_Pflanze5) - ExecGatttool_Run: call gatttool with command gatttool -i hci0 -b C4:7C:8D:65:B8:76 --char-read -a 0x38 2>&1 /dev/null and loop 0
2018.01.30 08:20:54 5: XiaomiBTLESens (BAD_Pflanze5) - ExecGatttool_Run: gatttool loop result connect error,Connection refused (111)

2018.01.30 08:20:54 5: XiaomiBTLESens (BAD_Pflanze5) - ExecGatttool_Run: call gatttool with command gatttool -i hci0 -b C4:7C:8D:65:B8:76 --char-read -a 0x38 2>&1 /dev/null and loop 1
2018.01.30 08:21:13 1: Timeout for XiaomiBTLESens_ExecGatttool_Run reached, terminated process 25599
2018.01.30 08:21:14 4: XiaomiBTLESens (BAD_Pflanze5) - WriteReadings: Readings were written
2018.01.30 08:21:14 4: XiaomiBTLESens (BAD_Pflanze5) - ExecGatttool_Aborted: The BlockingCall Process terminated unexpectedly. Timedout

CoolTux


2018.01.30 08:20:14 5: XiaomiBTLESens (BAD_Pflanze5) - ExecGatttool_Run: call gatttool with command gatttool -i hci0 -b C4:7C:8D:65:B8:76 --char-read -a 0x38 2>&1 /dev/null and loop 0
2018.01.30 08:20:54 5: XiaomiBTLESens (BAD_Pflanze5) - ExecGatttool_Run: gatttool loop result connect error,Connection refused (111)


Schau mal auf die Zeiten. gatttool lässt sich 40s Zeit um sich eine Antwort ab zu ringen. Das ist natürlich übelst.
Und mit der anderen Version geht das. Installiert die mal parallel und deaktiviere die Pflanze5 mit dem neuen Modul und aktiviere Pflanze5 mit dem alten Modul.
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

trinitywhm

Ha, die Idee hatte ich auch schon. Hier das Ergebnis:
2018.01.30 09:34:06 4: XiaomiFlowerSens (BAD_Pflanze55) - CallBatteryFirmware: call function ExecGatttool_Run
2018.01.30 09:34:06 5: XiaomiFlowerSens (BAD_Pflanze55) - ExecGatttool_Run: call gatttool with command gatttool -i hci0 -b C4:7C:8D:65:B8:76 --char-read -a 0x38 2>&1 /dev/null and loop 0
2018.01.30 09:34:47 5: XiaomiFlowerSens (BAD_Pflanze55) - ExecGatttool_Run: gatttool loop result connect error,Connection refused (111)

2018.01.30 09:34:47 5: XiaomiFlowerSens (BAD_Pflanze55) - ExecGatttool_Run: call gatttool with command gatttool -i hci0 -b C4:7C:8D:65:B8:76 --char-read -a 0x38 2>&1 /dev/null and loop 1
2018.01.30 09:35:06 1: Timeout for XiaomiFlowerSens_ExecGatttool_Run reached, terminated process 30431
2018.01.30 09:35:06 4: XiaomiFlowerSens (BAD_Pflanze55) - WriteReadings: Readings were written
2018.01.30 09:35:06 4: XiaomiFlowerSens (BAD_Pflanze55) - ExecGatttool_Aborted: The BlockingCall Process terminated unexpectedly. Timedout


Bevor ich gewechselt bin, hatte ich diese Probleme nicht. Und wie man sieht, "never change a running system".....

CoolTux

Hast Du in der Zeit auch ein Distributions Update gemacht? welche gatttool Version hast Du?
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

trinitywhm

Nein, ich habe kein Distributionsupdate gemacht. Wie finde ich die Version von gatttool heraus?

CoolTux

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

trinitywhm

Das hatte ich auch versucht, aber den Aufruf gibt es wohl nicht. Hab Debian jessie.

CoolTux

Zitat von: trinitywhm am 30 Januar 2018, 11:50:42
Das hatte ich auch versucht, aber den Aufruf gibt es wohl nicht. Hab Debian jessie.

bluetoothctl --version
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

trinitywhm


distel

NUC-I37100
Docker: eBus, fhem, ha-bridge, unifi
Hardware: Homematic, FS20, Somfy RTS, 1wire, FBAHA, enOcean

CoolTux

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

distel

Zitat von: CoolTux am 30 Januar 2018, 19:28:21
Ich habe 5.43
5.43 ist bei mir ein RasPi 2 mit Rasbian Stretch
5.37 ist der NUC mit Ubuntu 16.04.3 LTS
NUC-I37100
Docker: eBus, fhem, ha-bridge, unifi
Hardware: Homematic, FS20, Somfy RTS, 1wire, FBAHA, enOcean