FHEM Forum

FHEM - Hausautomations-Systeme => Sonstige Systeme => Thema gestartet von: CoolTux am 11 Januar 2018, 15:42:45

Titel: [74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 11 Januar 2018, 15:42:45
Dieses Modul löst das 74_XiaomiFlowerSens Modul ab. Das 74_XiaomiFlowerSens wird bestehen bleiben aber nicht weiter entwickelt.


Da das Modul nun mittlerweile so fortgeschritten ist, wollte ich dafür gerne einen eignen Threead auf machen.
Hier ein Auszug aus dem alten Thread, worum es eigentlich geht.

Ein großer Dank geht an fh168 und ZnarfMe für die Spende eines Xiaomi Flower Monitors zum testen!

Zitat
wollte hier nur mal kurz einen weiteren Bluetooth 4.1 BLE Pflanzensensor (ca. 12 Euro) vorstellen, den ich ans fhem (Raspberry) angebunden habe. Bisher läuft alles einwandfrei. Mir gefällt besonders, dass man sich nirgends anmelden oder registrieren muss, um die Werte auslesen zu können.

http://xiaomi-mi.com/mi-smart-home/xiaomi-huahuacacao-flower-care-smart-monitor/


Der Sensor liefert folgende Werte:
- Temperatur
- Feuchtigkeit
- Licht
- Dünger

Voraussetzung zum betrieb des Modules ist JSON sowie gatttool aus dem bluez Packet.



Das Modul unterstützt seit neustem nun auch den Xiamomi Themometer/Hygrometer mit Display

Grüße
Leon
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 15 Januar 2018, 07:48:22
Eine aktuelle Entwicklerversion findet Ihr hier (https://github.com/LeonGaultier/fhem-XiaomiBTLESens/archive/devel.zip)
Wobei diese Version für die FlowerSens Sensoren ja schon produktiv reif ist.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: distel am 15 Januar 2018, 18:51:12
Hallo,

ich hab die Funktion für das Setzen/Lesen des Devicename getestet:

Vorneweg: Es funktioniert.

Auslesen haut einwandfrei hin.
Schreiben eigentlich auch (zumindest landet im Device der richtige String).
Allerdings wird nach dem schreiben ein kryptischer Wert im Device angezeigt. Das wird auch so im Eventlog dargestellt. Vermutung: String wird von dir konvertiert (ASCII=>HEX) und dann der konvertierte String ausgegeben bzw. in das Device geschrieben.

2018-01-15 18:41:34 XiaomiBTLESens xbtle.temp.eg.fenster write devicename data
2018-01-15 18:41:41 XiaomiBTLESens xbtle.temp.eg.fenster devicename: x�ھɇ�
2018-01-15 18:41:41 XiaomiBTLESens xbtle.temp.eg.fenster active
...
2018-01-15 18:41:56 XiaomiBTLESens xbtle.temp.eg.fenster fetch devicename data
2018-01-15 18:42:02 XiaomiBTLESens xbtle.temp.eg.fenster devicename: MI_HT_V2
2018-01-15 18:42:02 XiaomiBTLESens xbtle.temp.eg.fenster active
2018-01-15 18:42:15 XiaomiBTLESens xbtle.temp.eg.fenster write devicename data
...
2018-01-15 18:42:20 XiaomiBTLESens xbtle.temp.eg.fenster devicename: x�ھɇ�
2018-01-15 18:42:20 XiaomiBTLESens xbtle.temp.eg.fenster active
2018-01-15 18:42:22 XiaomiBTLESens xbtle.temp.eg.fenster fetch devicename data
2018-01-15 18:42:22 XiaomiBTLESens xbtle.temp.eg.fenster devicename: MI_TEST1
2018-01-15 18:42:22 XiaomiBTLESens xbtle.temp.eg.fenster active

Log
2018.01.15 18:40:38 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - CallDeviceName: call function ExecGatttool_Run
2018.01.15 18:40:38 5: XiaomiBTLESens (xbtle.temp.eg.fenster) - ExecGatttool_Run: call gatttool with command gatttool -i hci0 -b <MAC> --char-read -a 0x3 2>&1 /dev/null and loop 0
2018.01.15 18:40:44 5: XiaomiBTLESens (xbtle.temp.eg.fenster) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,4d 4a 5f 48 54 5f 56 31

2018.01.15 18:40:44 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,4d 4a 5f 48 54 5f 56 31

2018.01.15 18:40:44 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - ExecGatttool_Done: gatttool return string: xbtle.temp.eg.fenster|<MAC>|ok|read|0x3|{"gtResult":"4d 4a 5f 48 54 5f 56 31 "}
2018.01.15 18:40:44 5: XiaomiBTLESens (xbtle.temp.eg.fenster) - ProcessingNotification
2018.01.15 18:40:44 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - ProcessingNotification: handle 0x3
2018.01.15 18:40:44 5: XiaomiBTLESens (xbtle.temp.eg.fenster) - Thermo/Hygro Sens Handle0x24
2018.01.15 18:40:44 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - WriteReadings: Readings were written
2018.01.15 18:41:00 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - WriteDeviceName: call function ExecGatttool_Run
2018.01.15 18:41:00 5: XiaomiBTLESens (xbtle.temp.eg.fenster) - ExecGatttool_Run: call gatttool with command gatttool -i hci0 -b <MAC> --char-write-req -a 0x3 -n 48545f54455354 2>&1 /dev/null and loop 0
2018.01.15 18:41:11 5: XiaomiBTLESens (xbtle.temp.eg.fenster) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully

2018.01.15 18:41:11 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - ExecGatttool_Run: gatttool result Characteristic value was written successfully

2018.01.15 18:41:11 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - ExecGatttool_Done: gatttool return string: xbtle.temp.eg.fenster|4C:65:A8:D0:42:63|ok|write|0x3|{"gtResult":"no data response"}
2018.01.15 18:41:11 5: XiaomiBTLESens (xbtle.temp.eg.fenster) - ProcessingNotification
2018.01.15 18:41:11 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - ProcessingNotification: handle 0x3
2018.01.15 18:41:11 5: XiaomiBTLESens (xbtle.temp.eg.fenster) - Thermo/Hygro Sens Handle0x24
2018.01.15 18:41:11 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - WriteReadings: Readings were written
2018.01.15 18:41:34 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - WriteDeviceName: call function ExecGatttool_Run
2018.01.15 18:41:34 5: XiaomiBTLESens (xbtle.temp.eg.fenster) - ExecGatttool_Run: call gatttool with command gatttool -i hci0 -b <MAC> --char-write-req -a 0x3 -n 4d495f48545f5632 2>&1 /dev/null and loop 0
2018.01.15 18:41:41 5: XiaomiBTLESens (xbtle.temp.eg.fenster) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully

2018.01.15 18:41:41 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - ExecGatttool_Run: gatttool result Characteristic value was written successfully

2018.01.15 18:41:41 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - ExecGatttool_Done: gatttool return string: xbtle.temp.eg.fenster|4C:65:A8:D0:42:63|ok|write|0x3|{"gtResult":"no data response"}
2018.01.15 18:41:41 5: XiaomiBTLESens (xbtle.temp.eg.fenster) - ProcessingNotification
2018.01.15 18:41:41 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - ProcessingNotification: handle 0x3
2018.01.15 18:41:41 5: XiaomiBTLESens (xbtle.temp.eg.fenster) - Thermo/Hygro Sens Handle0x24
2018.01.15 18:41:41 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - WriteReadings: Readings were written
2018.01.15 18:41:56 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - CallDeviceName: call function ExecGatttool_Run
2018.01.15 18:41:56 5: XiaomiBTLESens (xbtle.temp.eg.fenster) - ExecGatttool_Run: call gatttool with command gatttool -i hci0 -b <MAC> --char-read -a 0x3 2>&1 /dev/null and loop 0
2018.01.15 18:42:02 5: XiaomiBTLESens (xbtle.temp.eg.fenster) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,4d 49 5f 48 54 5f 56 32

2018.01.15 18:42:02 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,4d 49 5f 48 54 5f 56 32

2018.01.15 18:42:02 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - ExecGatttool_Done: gatttool return string: xbtle.temp.eg.fenster|<MAC>|ok|read|0x3|{"gtResult":"4d 49 5f 48 54 5f 56 32 "}
2018.01.15 18:42:02 5: XiaomiBTLESens (xbtle.temp.eg.fenster) - ProcessingNotification
2018.01.15 18:42:02 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - ProcessingNotification: handle 0x3
2018.01.15 18:42:02 5: XiaomiBTLESens (xbtle.temp.eg.fenster) - Thermo/Hygro Sens Handle0x24
2018.01.15 18:42:02 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - WriteReadings: Readings were written
2018.01.15 18:42:15 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - WriteDeviceName: call function ExecGatttool_Run
2018.01.15 18:42:15 5: XiaomiBTLESens (xbtle.temp.eg.fenster) - ExecGatttool_Run: call gatttool with command gatttool -i hci0 -b <MAC> --char-write-req -a 0x3 -n 4d495f5445535431 2>&1 /dev/null and loop 0
2018.01.15 18:42:20 5: XiaomiBTLESens (xbtle.temp.eg.fenster) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully

2018.01.15 18:42:20 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - ExecGatttool_Run: gatttool result Characteristic value was written successfully

2018.01.15 18:42:20 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - ExecGatttool_Done: gatttool return string: xbtle.temp.eg.fenster|<MAC>|ok|write|0x3|{"gtResult":"no data response"}
2018.01.15 18:42:20 5: XiaomiBTLESens (xbtle.temp.eg.fenster) - ProcessingNotification
2018.01.15 18:42:20 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - ProcessingNotification: handle 0x3
2018.01.15 18:42:20 5: XiaomiBTLESens (xbtle.temp.eg.fenster) - Thermo/Hygro Sens Handle0x24
2018.01.15 18:42:20 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - WriteReadings: Readings were written
2018.01.15 18:42:22 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - CallDeviceName: call function ExecGatttool_Run
2018.01.15 18:42:22 5: XiaomiBTLESens (xbtle.temp.eg.fenster) - ExecGatttool_Run: call gatttool with command gatttool -i hci0 -b <MAC> --char-read -a 0x3 2>&1 /dev/null and loop 0
2018.01.15 18:42:22 5: XiaomiBTLESens (xbtle.temp.eg.fenster) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,4d 49 5f 54 45 53 54 31

2018.01.15 18:42:22 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,4d 49 5f 54 45 53 54 31

2018.01.15 18:42:22 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - ExecGatttool_Done: gatttool return string: xbtle.temp.eg.fenster|<MAC>|ok|read|0x3|{"gtResult":"4d 49 5f 54 45 53 54 31 "}
2018.01.15 18:42:22 5: XiaomiBTLESens (xbtle.temp.eg.fenster) - ProcessingNotification
2018.01.15 18:42:22 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - ProcessingNotification: handle 0x3
2018.01.15 18:42:22 5: XiaomiBTLESens (xbtle.temp.eg.fenster) - Thermo/Hygro Sens Handle0x24
2018.01.15 18:42:22 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - WriteReadings: Readings were written
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: gent am 15 Januar 2018, 18:55:24
Das Modul unterstützt seit neustem nun auch den Xiamomi Themometer/Hygrometer mit Display

Hi Leon,

kannst Du mir bitte mitteilen, welchen genau? Da gibt's runde und eckige. Ist da was zu beachten?

Viele Grüße vom Gent
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: distel am 15 Januar 2018, 19:03:22
Das Runde. Zu beachten gibt es eigentlich nichts... ist halt noch relativ wenig getestet.
Das eckige ist m.W. nach auch OHNE Bluetooth, daher nicht einbindbar ;) [und auch noch nicht lieferbar?]
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 15 Januar 2018, 19:29:06
Hallo,

ich hab die Funktion für das Setzen/Lesen des Devicename getestet:

Vorneweg: Es funktioniert.

Auslesen haut einwandfrei hin.
Schreiben eigentlich auch (zumindest landet im Device der richtige String).
Allerdings wird nach dem schreiben ein kryptischer Wert im Device angezeigt. Das wird auch so im Eventlog dargestellt. Vermutung: String wird von dir konvertiert (ASCII=>HEX) und dann der konvertierte String ausgegeben bzw. in das Device geschrieben.

2018-01-15 18:41:34 XiaomiBTLESens xbtle.temp.eg.fenster write devicename data
2018-01-15 18:41:41 XiaomiBTLESens xbtle.temp.eg.fenster devicename: x�ھɇ�
2018-01-15 18:41:41 XiaomiBTLESens xbtle.temp.eg.fenster active
...
2018-01-15 18:41:56 XiaomiBTLESens xbtle.temp.eg.fenster fetch devicename data
2018-01-15 18:42:02 XiaomiBTLESens xbtle.temp.eg.fenster devicename: MI_HT_V2
2018-01-15 18:42:02 XiaomiBTLESens xbtle.temp.eg.fenster active
2018-01-15 18:42:15 XiaomiBTLESens xbtle.temp.eg.fenster write devicename data
...
2018-01-15 18:42:20 XiaomiBTLESens xbtle.temp.eg.fenster devicename: x�ھɇ�
2018-01-15 18:42:20 XiaomiBTLESens xbtle.temp.eg.fenster active
2018-01-15 18:42:22 XiaomiBTLESens xbtle.temp.eg.fenster fetch devicename data
2018-01-15 18:42:22 XiaomiBTLESens xbtle.temp.eg.fenster devicename: MI_TEST1
2018-01-15 18:42:22 XiaomiBTLESens xbtle.temp.eg.fenster active

Log
2018.01.15 18:40:38 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - CallDeviceName: call function ExecGatttool_Run
2018.01.15 18:40:38 5: XiaomiBTLESens (xbtle.temp.eg.fenster) - ExecGatttool_Run: call gatttool with command gatttool -i hci0 -b <MAC> --char-read -a 0x3 2>&1 /dev/null and loop 0
2018.01.15 18:40:44 5: XiaomiBTLESens (xbtle.temp.eg.fenster) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,4d 4a 5f 48 54 5f 56 31

2018.01.15 18:40:44 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,4d 4a 5f 48 54 5f 56 31

2018.01.15 18:40:44 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - ExecGatttool_Done: gatttool return string: xbtle.temp.eg.fenster|<MAC>|ok|read|0x3|{"gtResult":"4d 4a 5f 48 54 5f 56 31 "}
2018.01.15 18:40:44 5: XiaomiBTLESens (xbtle.temp.eg.fenster) - ProcessingNotification
2018.01.15 18:40:44 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - ProcessingNotification: handle 0x3
2018.01.15 18:40:44 5: XiaomiBTLESens (xbtle.temp.eg.fenster) - Thermo/Hygro Sens Handle0x24
2018.01.15 18:40:44 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - WriteReadings: Readings were written
2018.01.15 18:41:00 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - WriteDeviceName: call function ExecGatttool_Run
2018.01.15 18:41:00 5: XiaomiBTLESens (xbtle.temp.eg.fenster) - ExecGatttool_Run: call gatttool with command gatttool -i hci0 -b <MAC> --char-write-req -a 0x3 -n 48545f54455354 2>&1 /dev/null and loop 0
2018.01.15 18:41:11 5: XiaomiBTLESens (xbtle.temp.eg.fenster) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully

2018.01.15 18:41:11 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - ExecGatttool_Run: gatttool result Characteristic value was written successfully

2018.01.15 18:41:11 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - ExecGatttool_Done: gatttool return string: xbtle.temp.eg.fenster|4C:65:A8:D0:42:63|ok|write|0x3|{"gtResult":"no data response"}
2018.01.15 18:41:11 5: XiaomiBTLESens (xbtle.temp.eg.fenster) - ProcessingNotification
2018.01.15 18:41:11 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - ProcessingNotification: handle 0x3
2018.01.15 18:41:11 5: XiaomiBTLESens (xbtle.temp.eg.fenster) - Thermo/Hygro Sens Handle0x24
2018.01.15 18:41:11 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - WriteReadings: Readings were written
2018.01.15 18:41:34 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - WriteDeviceName: call function ExecGatttool_Run
2018.01.15 18:41:34 5: XiaomiBTLESens (xbtle.temp.eg.fenster) - ExecGatttool_Run: call gatttool with command gatttool -i hci0 -b <MAC> --char-write-req -a 0x3 -n 4d495f48545f5632 2>&1 /dev/null and loop 0
2018.01.15 18:41:41 5: XiaomiBTLESens (xbtle.temp.eg.fenster) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully

2018.01.15 18:41:41 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - ExecGatttool_Run: gatttool result Characteristic value was written successfully

2018.01.15 18:41:41 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - ExecGatttool_Done: gatttool return string: xbtle.temp.eg.fenster|4C:65:A8:D0:42:63|ok|write|0x3|{"gtResult":"no data response"}
2018.01.15 18:41:41 5: XiaomiBTLESens (xbtle.temp.eg.fenster) - ProcessingNotification
2018.01.15 18:41:41 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - ProcessingNotification: handle 0x3
2018.01.15 18:41:41 5: XiaomiBTLESens (xbtle.temp.eg.fenster) - Thermo/Hygro Sens Handle0x24
2018.01.15 18:41:41 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - WriteReadings: Readings were written
2018.01.15 18:41:56 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - CallDeviceName: call function ExecGatttool_Run
2018.01.15 18:41:56 5: XiaomiBTLESens (xbtle.temp.eg.fenster) - ExecGatttool_Run: call gatttool with command gatttool -i hci0 -b <MAC> --char-read -a 0x3 2>&1 /dev/null and loop 0
2018.01.15 18:42:02 5: XiaomiBTLESens (xbtle.temp.eg.fenster) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,4d 49 5f 48 54 5f 56 32

2018.01.15 18:42:02 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,4d 49 5f 48 54 5f 56 32

2018.01.15 18:42:02 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - ExecGatttool_Done: gatttool return string: xbtle.temp.eg.fenster|<MAC>|ok|read|0x3|{"gtResult":"4d 49 5f 48 54 5f 56 32 "}
2018.01.15 18:42:02 5: XiaomiBTLESens (xbtle.temp.eg.fenster) - ProcessingNotification
2018.01.15 18:42:02 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - ProcessingNotification: handle 0x3
2018.01.15 18:42:02 5: XiaomiBTLESens (xbtle.temp.eg.fenster) - Thermo/Hygro Sens Handle0x24
2018.01.15 18:42:02 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - WriteReadings: Readings were written
2018.01.15 18:42:15 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - WriteDeviceName: call function ExecGatttool_Run
2018.01.15 18:42:15 5: XiaomiBTLESens (xbtle.temp.eg.fenster) - ExecGatttool_Run: call gatttool with command gatttool -i hci0 -b <MAC> --char-write-req -a 0x3 -n 4d495f5445535431 2>&1 /dev/null and loop 0
2018.01.15 18:42:20 5: XiaomiBTLESens (xbtle.temp.eg.fenster) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully

2018.01.15 18:42:20 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - ExecGatttool_Run: gatttool result Characteristic value was written successfully

2018.01.15 18:42:20 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - ExecGatttool_Done: gatttool return string: xbtle.temp.eg.fenster|<MAC>|ok|write|0x3|{"gtResult":"no data response"}
2018.01.15 18:42:20 5: XiaomiBTLESens (xbtle.temp.eg.fenster) - ProcessingNotification
2018.01.15 18:42:20 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - ProcessingNotification: handle 0x3
2018.01.15 18:42:20 5: XiaomiBTLESens (xbtle.temp.eg.fenster) - Thermo/Hygro Sens Handle0x24
2018.01.15 18:42:20 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - WriteReadings: Readings were written
2018.01.15 18:42:22 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - CallDeviceName: call function ExecGatttool_Run
2018.01.15 18:42:22 5: XiaomiBTLESens (xbtle.temp.eg.fenster) - ExecGatttool_Run: call gatttool with command gatttool -i hci0 -b <MAC> --char-read -a 0x3 2>&1 /dev/null and loop 0
2018.01.15 18:42:22 5: XiaomiBTLESens (xbtle.temp.eg.fenster) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,4d 49 5f 54 45 53 54 31

2018.01.15 18:42:22 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,4d 49 5f 54 45 53 54 31

2018.01.15 18:42:22 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - ExecGatttool_Done: gatttool return string: xbtle.temp.eg.fenster|<MAC>|ok|read|0x3|{"gtResult":"4d 49 5f 54 45 53 54 31 "}
2018.01.15 18:42:22 5: XiaomiBTLESens (xbtle.temp.eg.fenster) - ProcessingNotification
2018.01.15 18:42:22 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - ProcessingNotification: handle 0x3
2018.01.15 18:42:22 5: XiaomiBTLESens (xbtle.temp.eg.fenster) - Thermo/Hygro Sens Handle0x24
2018.01.15 18:42:22 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - WriteReadings: Readings were written

Das passt so schon. Ist nicht schlimm, ich muss da noch irgendwie ein Abbruch machen, da er write und read gleich behandelt. Er schreibt also bei write das Ergebnis als Reading und das ist nicht der Name sondern irgendwas. Ich schaue es mir an.



Grüße
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 16 Januar 2018, 12:54:51
So es gibt nun eine neue Version. Ich habe ein großes Codecleanup gemacht und das Problem mit dem Devicenamen beim set Befehl sollte auch behoben sein. Ausserdem habe ich einen devicenamen Check gemacht so das Leerzeichen oder Sonderzeichen ersetzt werden.

Bitte einmal testen.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: distel am 16 Januar 2018, 13:42:48
Hallo,

klappt alles bis auf set devicename...
(und ja, immer noch kalt auf der Fensterbank!)

get devicename  :)
2018.01.16 13:33:35 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - Run CreateParamGatttool with mod: read
2018.01.16 13:33:35 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - Read XiaomiBTLESens_ExecGatttool_Run xbtle.temp.eg.fenster|<MAC>|read|0x3
2018.01.16 13:33:35 5: XiaomiBTLESens (xbtle.temp.eg.fenster) - ExecGatttool_Run: call gatttool with command gatttool -i hci0 -b <MAC> --char-read -a 0x3 2>&1 /dev/null and loop 0
2018.01.16 13:33:41 5: XiaomiBTLESens (xbtle.temp.eg.fenster) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,4d 4a 5f 48 54 5f 56 31

2018.01.16 13:33:41 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,4d 4a 5f 48 54 5f 56 31

2018.01.16 13:33:41 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - ExecGatttool_Done: gatttool return string: xbtle.temp.eg.fenster|<MAC>|ok|read|0x3|{"gtResult":"4d 4a 5f 48 54 5f 56 31 "}
2018.01.16 13:33:41 5: XiaomiBTLESens (xbtle.temp.eg.fenster) - ProcessingNotification
2018.01.16 13:33:41 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - ProcessingNotification: handle 0x3
2018.01.16 13:33:41 5: XiaomiBTLESens (xbtle.temp.eg.fenster) - Thermo/Hygro Sens Handle0x3
2018.01.16 13:33:41 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - WriteReadings: Readings were written

set devicename  :(
2018.01.16 13:35:51 1: PERL WARNING: Use of uninitialized value $mod in concatenation (.) or string at ./FHEM/74_XiaomiBTLESens.pm line 410.
2018.01.16 13:35:51 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - Run CreateParamGatttool with mod:
2018.01.16 13:35:51 1: PERL WARNING: Use of uninitialized value $mod in string eq at ./FHEM/74_XiaomiBTLESens.pm line 412.
2018.01.16 13:35:51 1: PERL WARNING: Use of uninitialized value $mod in string eq at ./FHEM/74_XiaomiBTLESens.pm line 419.

get firmware :)
2018.01.16 13:38:06 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - Run CreateParamGatttool with mod: read
2018.01.16 13:38:06 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - Read XiaomiBTLESens_ExecGatttool_Run xbtle.temp.eg.fenster|<MAC>|read|0x24
2018.01.16 13:38:06 5: XiaomiBTLESens (xbtle.temp.eg.fenster) - ExecGatttool_Run: call gatttool with command gatttool -i hci0 -b <MAC> --char-read -a 0x24 2>&1 /dev/null and loop 0
2018.01.16 13:38:10 5: XiaomiBTLESens (xbtle.temp.eg.fenster) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,30 30 2e 30 30 2e 36 36

2018.01.16 13:38:10 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,30 30 2e 30 30 2e 36 36

2018.01.16 13:38:10 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - ExecGatttool_Done: gatttool return string: xbtle.temp.eg.fenster|<MAC>|ok|read|0x24|{"gtResult":"30 30 2e 30 30 2e 36 36 "}
2018.01.16 13:38:10 5: XiaomiBTLESens (xbtle.temp.eg.fenster) - ProcessingNotification
2018.01.16 13:38:10 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - ProcessingNotification: handle 0x24
2018.01.16 13:38:10 5: XiaomiBTLESens (xbtle.temp.eg.fenster) - Thermo/Hygro Sens Handle0x24
2018.01.16 13:38:10 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - WriteReadings: Readings were written

get sensordata :)
2018.01.16 13:39:32 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - Run CreateParamGatttool with mod: write
2018.01.16 13:39:32 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - Write XiaomiBTLESens_ExecGatttool_Run xbtle.temp.eg.fenster|<MAC>|write|0x10|0100
2018.01.16 13:39:32 5: XiaomiBTLESens (xbtle.temp.eg.fenster) - ExecGatttool_Run: call gatttool with command timeout 15 gatttool -i hci0 -b <MAC> --char-write-req -a 0x10 -n 0100 --listen 2>&1 /dev/null and loop 0
2018.01.16 13:39:47 5: XiaomiBTLESens (xbtle.temp.eg.fenster) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully
Notification handle = 0x000e value,54 3d 31 35 2e 33 20 48 3d 35 38 2e 37 00
Notification handle = 0x000e value,54 3d 31 35 2e 33 20 48 3d 35 38 2e 36 00
Notification handle = 0x000e value,54 3d 31 35 2e 33 20 48 3d 35 38 2e 35 00
Notification handle = 0x000e value,54 3d 31 35 2e 32 20 48 3d 35 38 2e 36 00
Notification handle = 0x000e value,54 3d 31 35 2e 33 20 48 3d 35 38 2e 37 00
Notification handle = 0x000e value,54 3d 31 35 2e 33 20 48 3d 35 38 2e 38 00
Notification handle = 0x000e value,54 3d 31 35 2e 33 20 48 3d 35 38 2e 36 00

2018.01.16 13:39:47 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - ExecGatttool_Run: gatttool result Characteristic value was written successfully
Notification handle = 0x000e value,54 3d 31 35 2e 33 20 48 3d 35 38 2e 37 00
Notification handle = 0x000e value,54 3d 31 35 2e 33 20 48 3d 35 38 2e 36 00
Notification handle = 0x000e value,54 3d 31 35 2e 33 20 48 3d 35 38 2e 35 00
Notification handle = 0x000e value,54 3d 31 35 2e 32 20 48 3d 35 38 2e 36 00
Notification handle = 0x000e value,54 3d 31 35 2e 33 20 48 3d 35 38 2e 37 00
Notification handle = 0x000e value,54 3d 31 35 2e 33 20 48 3d 35 38 2e 38 00
Notification handle = 0x000e value,54 3d 31 35 2e 33 20 48 3d 35 38 2e 36 00

2018.01.16 13:39:47 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - ExecGatttool_Done: gatttool return string: xbtle.temp.eg.fenster|<MAC>|ok|write|0x10|{"gtResult":"54 3d 31 35 2e 33 20 48 3d 35 38 2e 37 00 \nNotification handle = 0x000e value"}
2018.01.16 13:39:47 5: XiaomiBTLESens (xbtle.temp.eg.fenster) - ProcessingNotification
2018.01.16 13:39:47 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - ProcessingNotification: handle 0x10
2018.01.16 13:39:47 5: XiaomiBTLESens (xbtle.temp.eg.fenster) - Thermo/Hygro Sens Handle0x10
2018.01.16 13:39:47 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - WriteReadings: Readings were written
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 16 Januar 2018, 13:59:17
Neue Version
Bitte noch einmal set devicename testen.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: distel am 16 Januar 2018, 14:13:36
set devicename  :)
2018.01.16 14:10:10 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - Run CreateParamGatttool with mod: write
2018.01.16 14:10:10 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - Write XiaomiBTLESens_ExecGatttool_Run xbtle.temp.eg.fenster|<MAC>|write|0x3|5445535454455354
2018.01.16 14:10:10 5: XiaomiBTLESens (xbtle.temp.eg.fenster) - ExecGatttool_Run: call gatttool with command gatttool -i hci0 -b <MAC> --char-write-req -a 0x3 -n 5445535454455354 2>&1 /dev/null and loop 0
2018.01.16 14:10:13 5: XiaomiBTLESens (xbtle.temp.eg.fenster) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully

2018.01.16 14:10:13 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - ExecGatttool_Run: gatttool result Characteristic value was written successfully

2018.01.16 14:10:13 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - ExecGatttool_Done: gatttool return string: xbtle.temp.eg.fenster|<MAC>|ok|write|0x3|{"gtResult":"no data response"}
2018.01.16 14:10:13 5: XiaomiBTLESens (xbtle.temp.eg.fenster) - ProcessingNotification
2018.01.16 14:10:13 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - ProcessingNotification: handle 0x3

get devicename  :)
2018.01.16 14:11:08 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - Run CreateParamGatttool with mod: read
2018.01.16 14:11:08 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - Read XiaomiBTLESens_ExecGatttool_Run xbtle.temp.eg.fenster|<MAC>|read|0x3
2018.01.16 14:11:08 5: XiaomiBTLESens (xbtle.temp.eg.fenster) - ExecGatttool_Run: call gatttool with command gatttool -i hci0 -b <MAC> --char-read -a 0x3 2>&1 /dev/null and loop 0
2018.01.16 14:11:12 5: XiaomiBTLESens (xbtle.temp.eg.fenster) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,54 45 53 54 54 45 53 54

2018.01.16 14:11:12 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,54 45 53 54 54 45 53 54

2018.01.16 14:11:12 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - ExecGatttool_Done: gatttool return string: xbtle.temp.eg.fenster|<MAC>|ok|read|0x3|{"gtResult":"54 45 53 54 54 45 53 54 "}
2018.01.16 14:11:12 5: XiaomiBTLESens (xbtle.temp.eg.fenster) - ProcessingNotification
2018.01.16 14:11:12 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - ProcessingNotification: handle 0x3
2018.01.16 14:11:12 5: XiaomiBTLESens (xbtle.temp.eg.fenster) - Thermo/Hygro Sens Handle0x3
2018.01.16 14:11:12 4: XiaomiBTLESens (xbtle.temp.eg.fenster) - WriteReadings: Readings were written
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 16 Januar 2018, 14:16:39
Gut dann fehlt noch ein automatischer devicename read nach dem write. werde ich mal einbauen und ich denke mal dann sind wir durch.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 16 Januar 2018, 14:32:09
So das sollte es dann gewesen sein. Bitte noch einmal zum Abschluss testen. Darauf achten das der neue Name nach dem setzten auch gleich ausgelesen wird.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: MadMax-FHEM am 16 Januar 2018, 15:32:29
ok, dann "pinne" ich mich hier mal mit dran...
...werde aber wohl erst im Frühjahr (wieder) testen, wenn der Balkon wieder bepflanzt wird...

Gruß und danke, Joachim
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: yrwyddfa am 16 Januar 2018, 19:18:25
Der Vollständigkeit halber: das Modul lässt sich via

define <Device> XiaomiBTLESens <MAC>
einbinden.

Ich grab meine Flowersenses mal wieder aus und teste die mal. Mehr dazu später.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: oli82 am 17 Januar 2018, 16:01:49
Kann es sein, dass ssh nicht mehr klappt?
Habe direkt meine Sensoren (FlowerSense) auf das neue Modul umgestellt und siehe da:

2018.01.17 16:01:04 4: XiaomiBTLESens (Pflanze1) - Run CreateParamGatttool with mod: read
2018.01.17 16:01:04 4: XiaomiBTLESens (Pflanze1) - Read XiaomiBTLESens_ExecGatttool_Run Pflanze1|C4:7C:8D:61:93:39|read|0x38
2018.01.17 16:01:04 4: XiaomiBTLESens (Pflanze1) - ExecGatttool_Done: gatttool return string: Pflanze1|C4:7C:8D:61:93:39|error|read|0x38|{"gtResult":"no gatttool binary found. Please check if bluez-package is properly installed"}
2018.01.17 16:01:04 5: XiaomiBTLESens (Pflanze1) - ProcessingErrors
2018.01.17 16:01:04 4: XiaomiBTLESens (Pflanze1) - WriteReadings: Readings were written
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 17 Januar 2018, 16:34:37
Ja leider. Ist mir vor einer Stunde auch auf gefallen. Ich brauche aber ein klein wenig Zeit zum fixen. Sorry.

Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 17 Januar 2018, 16:41:22
Schau mal bitte in meinem Git, habe da im master Branch eine gefixste Version reingestellt.

Hoffe klappt.



Grüße
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: oli82 am 17 Januar 2018, 17:29:23
Kein Thema.
Version teste ich sobald ich wieder VPN habe.
Danke schonmal
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 17 Januar 2018, 20:23:58
Habe soeben Version 2.0.1 ins SVN geladen, damit sollte nun der ssh korrekt funktionieren.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: oli82 am 17 Januar 2018, 20:53:39
Danke.
Der fix von GitHub hat bereits gewirkt 😉
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: yrwyddfa am 17 Januar 2018, 22:33:18
Doch, bei mir läuft es einwandfrei, hat sich auch ohne Probleme erneut einbinden lassen.

@ Oli82: Greifst du via ssh auf die Sensoren zu? Also sind sie an einem entfernten pi installiert?
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 18 Januar 2018, 02:54:17
Doch, bei mir läuft es einwandfrei, hat sich auch ohne Probleme erneut einbinden lassen.

@ Oli82: Greifst du via ssh auf die Sensoren zu? Also sind sie an einem entfernten pi installiert?

Oli hatte sie per ssh angesprochen und da hatte sich ein kleiner Bug eingeschlichen gehabt. Könnte ich aber fixen.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: oli82 am 18 Januar 2018, 09:08:08
@ Oli82: Greifst du via ssh auf die Sensoren zu? Also sind sie an einem entfernten pi installiert?

Wie CoolTux bereits geschrieben hat, frage ich die Sensoren über einen Pi per SSH ab.
Das mache ich deshalb, da der Pi zu einem näher an den Sensoren ist und zum anderen läuft bei mir auf dem Fhem Server presenced und das beißt sich mit dem gattool.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: distel am 18 Januar 2018, 14:18:06
Gut dann fehlt noch ein automatischer devicename read nach dem write.

Hallo,

ich war ein paar Tage unterwegs und konnte daher nicht testen. Aber jetzt hab ich die Gelegenheit gefunden: Automatisches Auslesen nach dem set devicename funktioniert (getestet mit der 2.0.1).

Vielen Dank!
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Tobias am 19 Januar 2018, 17:20:16
offtopic: für alle Interessierten statt einem PiZeroW einen ESP32 zu nutzen ist dieser Artikel sehr interessant:
http://www.iotsharing.com/2017/07/how-to-use-arduino-esp32-ble-as-gatt-client.html
https://www.open-homeautomation.com/2016/08/23/reverse-engineering-the-mi-plant-sensor/
Diesen Sketch könnte man als Ausgangsbasis nehmen um die FlowerSensoren abzufragen und dann per WiFi/MQTT bereitzustellen
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: stoxx am 20 Januar 2018, 09:51:28
Habe heute meinen Hygrometer bekommen und gleich mal eingebunden.
Im Log erhalte ich sporadisch die Meldung:
Zitat
2018.01.20 09:24:23 1: PERL WARNING: Illegal hexadecimal digit ' ' ignored at ./FHEM/74_XiaomiBTLESens.pm line 680.
2018.01.20 09:24:23 3: eval: {XiaomiBTLESens_ExecGatttool_Done('Sens2|4C:65:A8:D1:13:CD|ok|read|0x18|{"gtResult":"64 "}')}
2018.01.20 09:24:23 1: PERL WARNING: Illegal hexadecimal digit ' ' ignored at ./FHEM/74_XiaomiBTLESens.pm line 681.
2018.01.20 09:24:23 3: eval: {XiaomiBTLESens_ExecGatttool_Done('Sens2|4C:65:A8:D1:13:CD|ok|read|0x18|{"gtResult":"64 "}')}

Hier ein List vom Device:
Zitat
Internals:
   BTMAC      4C:65:A8:D1:13:CD
   CFGFN     
   DEF        4C:65:A8:D1:13:CD
   INTERVAL   300
   NAME       Sens2
   NOTIFYDEV  global,Sens2
   NR         95
   NTFY_ORDER 50-Sens2
   STATE      active
   TYPE       XiaomiBTLESens
   VERSION    2.0.4
   loglevel   4
   READINGS:
     2018-01-20 09:24:23   battery         ok
     2018-01-20 09:24:23   batteryLevel    100
     2018-01-20 09:21:18   firmware        00.00.66
     2018-01-20 09:42:11   humidity        34.4
     2018-01-20 09:28:44   lastGattError   no data response
     2018-01-20 09:42:11   state           active
     2018-01-20 09:42:11   temperature     20.6
   helper:
     CallBattery 0
     CallSensDataCounter 0
     updateTimeCallBattery 1516436663.25082
     updateTimestampCallBattery 2018-01-20 09:24:23
Attributes:
   hciDevice  hci1
   model      thermoHygroSens
   room       Sensoren

vg stoxx
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 20 Januar 2018, 10:40:07
Habe heute meinen Hygrometer bekommen und gleich mal eingebunden.
Im Log erhalte ich sporadisch die Meldung:
Hier ein List vom Device:
vg stoxx

Habe ich hoffentlich gefixt.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: stoxx am 20 Januar 2018, 11:11:32
Kam gerade noch was:
Zitat
2018.01.20 11:01:58 3: eval: {XiaomiBTLESens_ExecGatttool_Done('Sens2|4C:65:A8:D1:13:CD|ok|write|0x10|{"gtResult":"no data response"}')}
2018.01.20 11:01:58 1: PERL WARNING: Use of uninitialized value in pack at ./FHEM/74_XiaomiBTLESens.pm line 701.
2018.01.20 11:01:58 3: eval: {XiaomiBTLESens_ExecGatttool_Done('Sens2|4C:65:A8:D1:13:CD|ok|write|0x10|{"gtResult":"no data response"}')}
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: yrwyddfa am 22 Januar 2018, 06:39:39
Wie CoolTux bereits geschrieben hat, frage ich die Sensoren über einen Pi per SSH ab.
Das mache ich deshalb, da der Pi zu einem näher an den Sensoren ist und zum anderen läuft bei mir auf dem Fhem Server presenced und das beißt sich mit dem gattool.

Spannend! Behalte ich mir mal im Hinterkopf, Danke für die Anregung!

Nach einigen Tagen kommen bei mir bis auf sporadische Auslesefehler keinerlei Fehler zu Stande. Ne blöde Frage aber habe ich: wenn ich ein get <device> firmware mache tut sich bei mir nichts. Wird die in das reading VERSION geschrieben oder bezieht sich das auf die Version des Moduls?
Ansonsten bau ich jetzt mal den zweiten wieder in Fhem ein und schau irgendwann auch noch mal, dass ich den ssh-Zugriff nachbau - kann aber dauern.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 22 Januar 2018, 10:51:45
Spannend! Behalte ich mir mal im Hinterkopf, Danke für die Anregung!

Nach einigen Tagen kommen bei mir bis auf sporadische Auslesefehler keinerlei Fehler zu Stande. Ne blöde Frage aber habe ich: wenn ich ein get <device> firmware mache tut sich bei mir nichts. Wird die in das reading VERSION geschrieben oder bezieht sich das auf die Version des Moduls?
Ansonsten bau ich jetzt mal den zweiten wieder in Fhem ein und schau irgendwann auch noch mal, dass ich den ssh-Zugriff nachbau - kann aber dauern.

get firmware sollte das Reading firmware füllen. Hast Du das Reading?
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: yrwyddfa am 23 Januar 2018, 07:50:51
Ah, super, passt. 2.9.4. Hab ich doch glatt überlesen.
Läuft flüssig wie Butter, das Einbinden des zweiten lief auch problemlos und die readings haben mir auch gleich aufgezeigt, dass ich das letzte Gießen vergessen hatte.

Ergo: funktioniert super, tolle Arbeit!
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: distel am 24 Januar 2018, 19:31:00
Hat sich was am Timing/Timeout geändert? Hintergrund: Wenn mein Thermometer außerhalb der Funkreichweite ist, hatte ich sonst die Fehlermeldung "connect error,Connection refused (111)"

Jetzt läuft die Abfrage (get sensordata) in ein timeout:
2018.01.24 19:25:31 4: XiaomiBTLESens (xbtle.temp.eg.flur) - Run CreateParamGatttool with mod: read
2018.01.24 19:25:31 4: XiaomiBTLESens (xbtle.temp.eg.flur) - Read XiaomiBTLESens_ExecGatttool_Run xbtle.temp.eg.flur|<MAC>|read|0x18
2018.01.24 19:25:31 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command gatttool -i hci0 -b <MAC> --char-read -a 0x18 2>&1 /dev/null and loop 0
2018.01.24 19:26:11 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result connect error,Connection refused (111)

2018.01.24 19:26:11 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command gatttool -i hci0 -b <MAC> --char-read -a 0x18 2>&1 /dev/null and loop 1
2018.01.24 19:26:31 1: Timeout for XiaomiBTLESens_ExecGatttool_Run reached, terminated process 48
2018.01.24 19:26:31 4: XiaomiBTLESens (xbtle.temp.eg.flur) - WriteReadings: Readings were written
2018.01.24 19:26:31 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Aborted: The BlockingCall Process terminated unexpectedly. Timedout
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 24 Januar 2018, 19:38:20
Das liegt dann wenn an gatttool das es auf gedeiht und Verderb versucht eine Verbindung herstellen zu stellen und nicht einfach nach paar Sekunden auf gibt  ;D

Solltest aber ein sauberes Error als Reading bekommen.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Tobias am 24 Januar 2018, 19:42:32
@cooltux, hast du das Protokoll der Sensoren irgendwo nachlesen können oder selbst gerausgetüftelt?
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 24 Januar 2018, 19:52:49
Das Protokoll war eine Vorarbeit eines anderen Forenmitgliedes. Zum alten Thread gibt es hier irgendwo im Thread einen Link.

Aktuell arbeite ich an einem Bluetooththermostaten und im Zuge dessen habe ich eine Recht gute Anleitung zum BT sniffen. Falls Deine Frage dahin geht  ;D
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: distel am 24 Januar 2018, 20:51:04
Ich nochmal... hab jetzt nen RPi2 mit BT-Stick als "radiohub" (soll noch mehr Sender/Empfänger bekommen) eingerichtet. Versuche also per ssh abzufragen.

Aus der Konsole per ssh klappt es (also Zertifikate korrekt eingerichtet). Ich bekomme auch sinnige Antworten vom Thermometer.

Für die einfachen Operationen (nur read) klappt es auch in fhem: get devicename bspw. funktioniert.
Bei komplexeren Operationen (z.B. set devicename = write + read) klappt das write, nicht aber das read - timeout. ein nachträgliches get devicename klappt dann aber und liefert den neuen Wert.

Die Abfrage der Sensorwerte klappt allerdings nicht. Obwohl es eigentlich gut aussieht:
2018.01.24 20:41:40 4: XiaomiBTLESens (xbtle.temp.eg.flur) - Run CreateParamGatttool with mod: write
2018.01.24 20:41:40 4: XiaomiBTLESens (xbtle.temp.eg.flur) - Write XiaomiBTLESens_ExecGatttool_Run xbtle.temp.eg.flur|<MAC>|write|0x10|0100
2018.01.24 20:41:40 4: XiaomiBTLESens (xbtle.temp.eg.flur) - stateRequestTimer: Call Request Timer
2018.01.24 20:41:41 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command timeout 15 ssh fhem@radiohub-1.home 'gatttool -i hci0 -b <MAC> --char-write-req -a 0x10 -n 0100 --listen 2>&1 /dev/null' and loop 0
2018.01.24 20:41:52 4: XiaomiBTLESens (xbtle.temp.eg.flur) - WriteReadings: Readings were written
2018.01.24 20:41:56 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully
Notification handle = 0x000e value,54 3d 31 39 2e 38 20 48 3d 35 32 2e 32 00
...
Notification handle = 0x000e value,54 3d 31 39 2e 34 20 48 3d 35 33 2e 37 00

2018.01.24 20:41:56 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value was written successfully
Notification handle = 0x000e value,54 3d 31 39 2e 38 20 48 3d 35 32 2e 32 00
...
Notification handle = 0x000e value,54 3d 31 39 2e 34 20 48 3d 35 33 2e 37 00

2018.01.24 20:41:56 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.01.24 20:41:58 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: another gatttool process is running. waiting...
...
2018.01.24 20:42:38 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.01.24 20:42:40 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.01.24 20:42:40 1: Timeout for XiaomiBTLESens_ExecGatttool_Run reached, terminated process 579
2018.01.24 20:42:40 4: XiaomiBTLESens (xbtle.temp.eg.flur) - WriteReadings: Readings were written
2018.01.24 20:42:40 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Aborted: The BlockingCall Process terminated unexpectedly. Timedout


1) der Befehl ssh fhem@radiohub-1.home 'gatttool -i hci0 -b <MAC> --char-write-req -a 0x10 -n 0100 --listen' kommt auch von der Console aus nicht zu einem definierten Ende, sondern läuft weiter
2) Der Aufruf aus fhem hinterlässt einen Zombie Prozess vom gatttool. Alle kommenden sind also aufgrund des bereits laufenden Prozesses zum scheitern verurteilt.

ps axf auf radiohub-1:
4196 ?        Ss     0:00 bash -c gatttool -i hci0 -b <MAC> --char-write-req -a 0x10 -n 0100 --listen 2>&1 /dev
4197 ?        S      0:00  \_ gatttool -i hci0 -b <MAC> --char-write-req -a 0x10 -n 0100 --listen /dev/null

Sachdienliche Hinweise bitte gern an mich :-)
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 24 Januar 2018, 21:06:25
Das muss ich mir ganz in Ruhe anschauen
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 25 Januar 2018, 09:19:29
Ich nochmal... hab jetzt nen RPi2 mit BT-Stick als "radiohub" (soll noch mehr Sender/Empfänger bekommen) eingerichtet. Versuche also per ssh abzufragen.

Aus der Konsole per ssh klappt es (also Zertifikate korrekt eingerichtet). Ich bekomme auch sinnige Antworten vom Thermometer.

Für die einfachen Operationen (nur read) klappt es auch in fhem: get devicename bspw. funktioniert.
Bei komplexeren Operationen (z.B. set devicename = write + read) klappt das write, nicht aber das read - timeout. ein nachträgliches get devicename klappt dann aber und liefert den neuen Wert.

Die Abfrage der Sensorwerte klappt allerdings nicht. Obwohl es eigentlich gut aussieht:
2018.01.24 20:41:40 4: XiaomiBTLESens (xbtle.temp.eg.flur) - Run CreateParamGatttool with mod: write
2018.01.24 20:41:40 4: XiaomiBTLESens (xbtle.temp.eg.flur) - Write XiaomiBTLESens_ExecGatttool_Run xbtle.temp.eg.flur|<MAC>|write|0x10|0100
2018.01.24 20:41:40 4: XiaomiBTLESens (xbtle.temp.eg.flur) - stateRequestTimer: Call Request Timer
2018.01.24 20:41:41 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command timeout 15 ssh fhem@radiohub-1.home 'gatttool -i hci0 -b <MAC> --char-write-req -a 0x10 -n 0100 --listen 2>&1 /dev/null' and loop 0
2018.01.24 20:41:52 4: XiaomiBTLESens (xbtle.temp.eg.flur) - WriteReadings: Readings were written
2018.01.24 20:41:56 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully
Notification handle = 0x000e value,54 3d 31 39 2e 38 20 48 3d 35 32 2e 32 00
...
Notification handle = 0x000e value,54 3d 31 39 2e 34 20 48 3d 35 33 2e 37 00

2018.01.24 20:41:56 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value was written successfully
Notification handle = 0x000e value,54 3d 31 39 2e 38 20 48 3d 35 32 2e 32 00
...
Notification handle = 0x000e value,54 3d 31 39 2e 34 20 48 3d 35 33 2e 37 00

2018.01.24 20:41:56 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.01.24 20:41:58 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: another gatttool process is running. waiting...
...
2018.01.24 20:42:38 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.01.24 20:42:40 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.01.24 20:42:40 1: Timeout for XiaomiBTLESens_ExecGatttool_Run reached, terminated process 579
2018.01.24 20:42:40 4: XiaomiBTLESens (xbtle.temp.eg.flur) - WriteReadings: Readings were written
2018.01.24 20:42:40 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Aborted: The BlockingCall Process terminated unexpectedly. Timedout


1) der Befehl ssh fhem@radiohub-1.home 'gatttool -i hci0 -b <MAC> --char-write-req -a 0x10 -n 0100 --listen' kommt auch von der Console aus nicht zu einem definierten Ende, sondern läuft weiter
2) Der Aufruf aus fhem hinterlässt einen Zombie Prozess vom gatttool. Alle kommenden sind also aufgrund des bereits laufenden Prozesses zum scheitern verurteilt.

ps axf auf radiohub-1:
4196 ?        Ss     0:00 bash -c gatttool -i hci0 -b <MAC> --char-write-req -a 0x10 -n 0100 --listen 2>&1 /dev
4197 ?        S      0:00  \_ gatttool -i hci0 -b <MAC> --char-write-req -a 0x10 -n 0100 --listen /dev/null

Sachdienliche Hinweise bitte gern an mich :-)

Ich habe auf GitHub im Devel branch mal eine debug Version für Dich hingelegt. Bitte diese einmal testen und schauen ob es damit besser geht.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: frank_41 am 25 Januar 2018, 21:55:47
moin,
ich habe jetzt auf das neue Modul umgestellt. Irgendwie gibt es jetzt mehr timouts als vorher:
2018.01.25 16:16:03 4: XiaomiBTLESens (zamioculcas) - Run CreateParamGatttool with mod: read
2018.01.25 16:16:04 4: XiaomiBTLESens (zamioculcas) - Read XiaomiBTLESens_ExecGatttool_Run zamioculcas|C4:7C:8D:65:C0:8C|read|0x38
2018.01.25 16:16:04 4: XiaomiBTLESens (zamioculcas) - stateRequestTimer: Call Request Timer
2018.01.25 16:16:04 5: XiaomiBTLESens (zamioculcas) - ExecGatttool_Run: call gatttool with command gatttool -i hci0 -b C4:7C:8D:65:C0:8C --char-read -a 0x38 2>&1 /dev/null and loop 0
2018.01.25 16:16:27 1: Timeout for XiaomiBTLESens_ExecGatttool_Run reached, terminated process 4093
2018.01.25 16:16:44 5: XiaomiBTLESens (zamioculcas) - ExecGatttool_Run: gatttool loop result connect error,Connection refused (111)

2018.01.25 16:16:44 5: XiaomiBTLESens (zamioculcas) - ExecGatttool_Run: call gatttool with command gatttool -i hci0 -b C4:7C:8D:65:C0:8C --char-read -a 0x38 2>&1 /dev/null and loop 1
2018.01.25 16:17:04 1: Timeout for XiaomiBTLESens_ExecGatttool_Run reached, terminated process 4119
2018.01.25 16:17:04 4: XiaomiBTLESens (zamioculcas) - WriteReadings: Readings were written
2018.01.25 16:17:04 4: XiaomiBTLESens (zamioculcas) - ExecGatttool_Aborted: The BlockingCall Process terminated unexpectedly. Timedout


Ist irgendwas am Timing geändert worden ?
Gruss
Frank
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 26 Januar 2018, 06:18:16
moin,
ich habe jetzt auf das neue Modul umgestellt. Irgendwie gibt es jetzt mehr timouts als vorher:
2018.01.25 16:16:03 4: XiaomiBTLESens (zamioculcas) - Run CreateParamGatttool with mod: read
2018.01.25 16:16:04 4: XiaomiBTLESens (zamioculcas) - Read XiaomiBTLESens_ExecGatttool_Run zamioculcas|C4:7C:8D:65:C0:8C|read|0x38
2018.01.25 16:16:04 4: XiaomiBTLESens (zamioculcas) - stateRequestTimer: Call Request Timer
2018.01.25 16:16:04 5: XiaomiBTLESens (zamioculcas) - ExecGatttool_Run: call gatttool with command gatttool -i hci0 -b C4:7C:8D:65:C0:8C --char-read -a 0x38 2>&1 /dev/null and loop 0
2018.01.25 16:16:27 1: Timeout for XiaomiBTLESens_ExecGatttool_Run reached, terminated process 4093
2018.01.25 16:16:44 5: XiaomiBTLESens (zamioculcas) - ExecGatttool_Run: gatttool loop result connect error,Connection refused (111)

2018.01.25 16:16:44 5: XiaomiBTLESens (zamioculcas) - ExecGatttool_Run: call gatttool with command gatttool -i hci0 -b C4:7C:8D:65:C0:8C --char-read -a 0x38 2>&1 /dev/null and loop 1
2018.01.25 16:17:04 1: Timeout for XiaomiBTLESens_ExecGatttool_Run reached, terminated process 4119
2018.01.25 16:17:04 4: XiaomiBTLESens (zamioculcas) - WriteReadings: Readings were written
2018.01.25 16:17:04 4: XiaomiBTLESens (zamioculcas) - ExecGatttool_Aborted: The BlockingCall Process terminated unexpectedly. Timedout


Ist irgendwas am Timing geändert worden ?
Gruss
Frank

Es wurde nichts verändert. Der Code für die Flower Sense ist so geblieben. Dein gatttool scheint sich aber auch ewig Zeit zu lassen beim 2. Aufruf
2018.01.25 16:16:44 5: XiaomiBTLESens (zamioculcas) - ExecGatttool_Run: call gatttool with command gatttool -i hci0 -b C4:7C:8D:65:C0:8C --char-read -a 0x38 2>&1 /dev/null and loop 1
Und 30s später erfolgt der Abbruch, so lange hat gatttool auf eine Antwort der Gegenstelle gewartet
2018.01.25 16:17:04 1: Timeout for XiaomiBTLESens_ExecGatttool_Run reached, terminated process 4119
Wie oft kommt es denn vor?
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: distel am 26 Januar 2018, 19:33:34
Ich habe auf GitHub im Devel branch mal eine debug Version für Dich hingelegt. Bitte diese einmal testen und schauen ob es damit besser geht.

Hallo,

hab jetzt die 2.0.6devel installiert. Wenn ich es recht sehe, hast Du im Aufruf nicht mehr das "bash" vorangestellt.
Die Kommunikation läuft gefühlt schneller. Auch Ergebnisse werden transportiert.
Aber dennoch ist es nicht unbedingt erfolgreich :-/

Der erste Versuch scheitert (endpoint not connected) die weiteren dann ebenfalls (device busy).
Versuche ich das auf der Kommandozeile (ebenfalls via ssh vom fhem aus), dann bekomme ich zumindest im zweiten Versuch ne Antwort und kein busy.

Das read auf 0x35 hingegen klappt dann zuverlässig.

2018.01.26 19:24:09 4: XiaomiBTLESens (xbtle.temp.eg.flur) - Run CreateParamGatttool with mod: write
2018.01.26 19:24:09 4: XiaomiBTLESens (xbtle.temp.eg.flur) - Write XiaomiBTLESens_ExecGatttool_Run xbtle.temp.eg.flur|<MAC>|write|0x10|0100
2018.01.26 19:24:10 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command timeout 5 ssh fhem@radiohub-1.home 'gatttool -i hci0 -b <MAC> --char-write-req -a 0x10 -n 0100 --listen 2>&1 /dev/null' and loop 0
2018.01.26 19:24:14 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result connect error,Transport endpoint is not connected (107)

2018.01.26 19:24:14 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command timeout 5 ssh fhem@radiohub-1.home 'gatttool -i hci0 -b <MAC> --char-write-req -a 0x10 -n 0100 --listen 2>&1 /dev/null' and loop 1
2018.01.26 19:24:19 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result
2018.01.26 19:24:19 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command timeout 5 ssh fhem@radiohub-1.home 'gatttool -i hci0 -b <MAC> --char-write-req -a 0x10 -n 0100 --listen 2>&1 /dev/null' and loop 2
2018.01.26 19:24:20 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result connect,Device or resource busy (16)

2018.01.26 19:24:20 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result connect,Device or resource busy (16)

2018.01.26 19:24:20 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.01.26 19:24:22 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.01.26 19:24:23 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'gatttool -i hci0 -b <MAC> --char-read -a 0x35 2>&1 /dev/null' and loop 0
2018.01.26 19:24:24 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,08 36 00 10 00

2018.01.26 19:24:24 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,08 36 00 10 00

2018.01.26 19:24:24 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Done: gatttool return string: xbtle.temp.eg.flur|<MAC>|ok|read|0x35|{"gtResult":"08 36 00 10 00 "}
2018.01.26 19:24:24 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ProcessingNotification
2018.01.26 19:24:24 4: XiaomiBTLESens (xbtle.temp.eg.flur) - WriteReadings: Readings were written

Ggf. sind die 5 Sekunden Timeout etwas optimistisch?! Wie wäre es, das Timeout parametrierbar zu machen, dann könnte ich verschiedene Werte testen.
Hab testweise mal die entsprechende Zeile von Hand auf 7 Sekunden geädert - das funktioniert besser, allerdings liegt jetzt das Thermometer auch direkt daneben. Ich teste mal noch ein wenig.


Gruß

Dirk
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: trinitywhm am 26 Januar 2018, 19:42:17
Ich habe hier auch vermehrt Fehler nach der Umstellung. Im Device das Reading
lastGattError
The BlockingCall Process terminated unexpectedly. Timedout

Im Log mit verbose 5 nach einem "get sensorData"
2018.01.26 19:21:06 4: XiaomiBTLESens (WZ_Pflanze1) - Run CreateParamGatttool with mod: read
2018.01.26 19:21:06 4: XiaomiBTLESens (WZ_Pflanze1) - Read XiaomiBTLESens_ExecGatttool_Run WZ_Pflanze1|C4:7C:8D:63:6D:E9|read|0x38
2018.01.26 19:21:34 5: XiaomiBTLESens (WZ_Pflanze1) - ExecGatttool_Run: gatttool loop result connect error,Connection refused (111)

2018.01.26 19:21:34 5: XiaomiBTLESens (WZ_Pflanze1) - ExecGatttool_Run: call gatttool with command gatttool -i hci0 -b C4:7C:8D:63:6D:E9 --char-read -a 0x38 2>&1 /dev/null and loop 1
2018.01.26 19:21:53 1: Timeout for XiaomiBTLESens_ExecGatttool_Run reached, terminated process 3521
2018.01.26 19:21:54 4: XiaomiBTLESens (WZ_Pflanze1) - WriteReadings: Readings were written
2018.01.26 19:21:54 4: XiaomiBTLESens (WZ_Pflanze1) - ExecGatttool_Aborted: The BlockingCall Process terminated unexpectedly. Timedout
2018.01.26 19:24:50 4: XiaomiBTLESens (WZ_Pflanze1) - Run CreateParamGatttool with mod: read
2018.01.26 19:24:51 4: XiaomiBTLESens (WZ_Pflanze1) - Read XiaomiBTLESens_ExecGatttool_Run WZ_Pflanze1|C4:7C:8D:63:6D:E9|read|0x38
2018.01.26 19:24:51 4: XiaomiBTLESens (WZ_Pflanze1) - stateRequestTimer: Call Request Timer
2018.01.26 19:24:51 5: XiaomiBTLESens (WZ_Pflanze1) - ExecGatttool_Run: call gatttool with command gatttool -i hci0 -b C4:7C:8D:63:6D:E9 --char-read -a 0x38 2>&1 /dev/null and loop 0
2018.01.26 19:25:31 5: XiaomiBTLESens (WZ_Pflanze1) - ExecGatttool_Run: gatttool loop result connect error,Connection refused (111)
2018.01.26 19:25:31 5: XiaomiBTLESens (WZ_Pflanze1) - ExecGatttool_Run: call gatttool with command gatttool -i hci0 -b C4:7C:8D:63:6D:E9 --char-read -a 0x38 2>&1 /dev/null and loop 1
2018.01.26 19:25:50 1: Timeout for XiaomiBTLESens_ExecGatttool_Run reached, terminated process 3798
2018.01.26 19:25:51 4: XiaomiBTLESens (WZ_Pflanze1) - WriteReadings: Readings were written
2018.01.26 19:25:51 4: XiaomiBTLESens (WZ_Pflanze1) - ExecGatttool_Aborted: The BlockingCall Process terminated unexpectedly. Timedout
2018.01.26 19:26:29 1: Timeout for XiaomiBTLESens_ExecGatttool_Run reached, terminated process 3921
2018.01.26 19:27:13 1: Timeout for XiaomiBTLESens_ExecGatttool_Run reached, terminated process 3965
Und diese letzte Timeout-Meldung zieht sich schon durch den ganzen Tag, mal sporadisch, mal im Abstand von ein bis zwei Minuten.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: distel am 26 Januar 2018, 19:59:51
Ich habe hier auch vermehrt Fehler nach der Umstellung. Im Device das Reading
Das müssten aber zwei verschiedene Paar Schuhe sein, da Du den lokalen Bluetooth-Stack abfragst, ich aber auf einem Remote-System via ssh.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: distel am 26 Januar 2018, 20:04:58
Die Abbrüche scheinen nicht wirklich reproduzierbar im Zusammenhang mit dem (ssh-)timeout zu stehen. Zumindest die reinen leseoperationen geben sich unbeeindruckt (verwenden aber auch kein timeout):

Einfaches read - erfolgreich
2018.01.26 19:54:17 4: XiaomiBTLESens (xbtle.temp.eg.flur) - Run CreateParamGatttool with mod: read
2018.01.26 19:54:17 4: XiaomiBTLESens (xbtle.temp.eg.flur) - Read XiaomiBTLESens_ExecGatttool_Run xbtle.temp.eg.flur|<MAC>|read|0x3
2018.01.26 19:54:18 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'gatttool -i hci0 -b <MAC> --char-read -a 0x3 2>&1 /dev/null' and loop 0
2018.01.26 19:54:24 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,45 47 2e 54 65 73 74

2018.01.26 19:54:24 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,45 47 2e 54 65 73 74

2018.01.26 19:54:24 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Done: gatttool return string: xbtle.temp.eg.flur|<MAC>|ok|read|0x3|{"gtResult":"45 47 2e 54 65 73 74 "}
2018.01.26 19:54:24 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ProcessingNotification
2018.01.26 19:54:24 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ProcessingNotification: handle 0x3
2018.01.26 19:54:24 5: XiaomiBTLESens (xbtle.temp.eg.flur) - Thermo/Hygro Sens Handle0x3
2018.01.26 19:54:24 4: XiaomiBTLESens (xbtle.temp.eg.flur) - WriteReadings: Readings were written

Nochmal einfaches read - erfolgreich
2018.01.26 19:54:55 4: XiaomiBTLESens (xbtle.temp.eg.flur) - Run CreateParamGatttool with mod: read
2018.01.26 19:54:55 4: XiaomiBTLESens (xbtle.temp.eg.flur) - Read XiaomiBTLESens_ExecGatttool_Run xbtle.temp.eg.flur|<MAC>|read|0x24
2018.01.26 19:54:56 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'gatttool -i hci0 -b <MAC> --char-read -a 0x24 2>&1 /dev/null' and loop 0
2018.01.26 19:55:03 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,30 30 2e 30 30 2e 36 36

2018.01.26 19:55:03 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,30 30 2e 30 30 2e 36 36

2018.01.26 19:55:03 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Done: gatttool return string: xbtle.temp.eg.flur|<MAC>|ok|read|0x24|{"gtResult":"30 30 2e 30 30 2e 36 36 "}
2018.01.26 19:55:03 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ProcessingNotification
2018.01.26 19:55:03 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ProcessingNotification: handle 0x24
2018.01.26 19:55:03 5: XiaomiBTLESens (xbtle.temp.eg.flur) - Thermo/Hygro Sens Handle0x24
2018.01.26 19:55:03 4: XiaomiBTLESens (xbtle.temp.eg.flur) - WriteReadings: Readings were written

write (get sensordata) - nicht erfolgreich -- obwohl auf 0x000e vernünftige Infos zurückgeliefert werden.
2018.01.26 19:55:20 4: XiaomiBTLESens (xbtle.temp.eg.flur) - Run CreateParamGatttool with mod: write
2018.01.26 19:55:20 4: XiaomiBTLESens (xbtle.temp.eg.flur) - Write XiaomiBTLESens_ExecGatttool_Run xbtle.temp.eg.flur|<MAC>|write|0x10|0100
2018.01.26 19:55:21 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command timeout 8 ssh fhem@radiohub-1.home 'gatttool -i hci0 -b <MAC> --char-write-req -a 0x10 -n 0100 --listen 2>&1 /dev/null' and loop 0
2018.01.26 19:55:29 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully
Notification handle = 0x000e value,54 3d 32 31 2e 34 20 48 3d 34 38 2e 37 00
Notification handle = 0x000e value,54 3d 32 31 2e 35 20 48 3d 34 38 2e 36 00

2018.01.26 19:55:29 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value was written successfully
Notification handle = 0x000e value,54 3d 32 31 2e 34 20 48 3d 34 38 2e 37 00
Notification handle = 0x000e value,54 3d 32 31 2e 35 20 48 3d 34 38 2e 36 00

2018.01.26 19:55:30 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'gatttool -i hci0 -b <MAC> --char-read -a 0x35 2>&1 /dev/null' and loop 0
2018.01.26 19:55:31 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,08 36 00 10 00

2018.01.26 19:55:31 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,08 36 00 10 00

2018.01.26 19:55:31 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Done: gatttool return string: xbtle.temp.eg.flur|<MAC>|ok|read|0x35|{"gtResult":"08 36 00 10 00 "}
2018.01.26 19:55:31 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ProcessingNotification
2018.01.26 19:55:31 4: XiaomiBTLESens (xbtle.temp.eg.flur) - WriteReadings: Readings were written
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 26 Januar 2018, 20:09:32
Die Abbrüche scheinen nicht wirklich reproduzierbar im Zusammenhang mit dem (ssh-)timeout zu stehen. Zumindest die reinen leseoperationen geben sich unbeeindruckt (verwenden aber auch kein timeout):

Einfaches read - erfolgreich
2018.01.26 19:54:17 4: XiaomiBTLESens (xbtle.temp.eg.flur) - Run CreateParamGatttool with mod: read
2018.01.26 19:54:17 4: XiaomiBTLESens (xbtle.temp.eg.flur) - Read XiaomiBTLESens_ExecGatttool_Run xbtle.temp.eg.flur|<MAC>|read|0x3
2018.01.26 19:54:18 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'gatttool -i hci0 -b <MAC> --char-read -a 0x3 2>&1 /dev/null' and loop 0
2018.01.26 19:54:24 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,45 47 2e 54 65 73 74

2018.01.26 19:54:24 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,45 47 2e 54 65 73 74

2018.01.26 19:54:24 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Done: gatttool return string: xbtle.temp.eg.flur|<MAC>|ok|read|0x3|{"gtResult":"45 47 2e 54 65 73 74 "}
2018.01.26 19:54:24 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ProcessingNotification
2018.01.26 19:54:24 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ProcessingNotification: handle 0x3
2018.01.26 19:54:24 5: XiaomiBTLESens (xbtle.temp.eg.flur) - Thermo/Hygro Sens Handle0x3
2018.01.26 19:54:24 4: XiaomiBTLESens (xbtle.temp.eg.flur) - WriteReadings: Readings were written

Nochmal einfaches read - erfolgreich
2018.01.26 19:54:55 4: XiaomiBTLESens (xbtle.temp.eg.flur) - Run CreateParamGatttool with mod: read
2018.01.26 19:54:55 4: XiaomiBTLESens (xbtle.temp.eg.flur) - Read XiaomiBTLESens_ExecGatttool_Run xbtle.temp.eg.flur|<MAC>|read|0x24
2018.01.26 19:54:56 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'gatttool -i hci0 -b <MAC> --char-read -a 0x24 2>&1 /dev/null' and loop 0
2018.01.26 19:55:03 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,30 30 2e 30 30 2e 36 36

2018.01.26 19:55:03 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,30 30 2e 30 30 2e 36 36

2018.01.26 19:55:03 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Done: gatttool return string: xbtle.temp.eg.flur|<MAC>|ok|read|0x24|{"gtResult":"30 30 2e 30 30 2e 36 36 "}
2018.01.26 19:55:03 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ProcessingNotification
2018.01.26 19:55:03 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ProcessingNotification: handle 0x24
2018.01.26 19:55:03 5: XiaomiBTLESens (xbtle.temp.eg.flur) - Thermo/Hygro Sens Handle0x24
2018.01.26 19:55:03 4: XiaomiBTLESens (xbtle.temp.eg.flur) - WriteReadings: Readings were written

write (get sensordata) - nicht erfolgreich -- obwohl auf 0x000e vernünftige Infos zurückgeliefert werden.
2018.01.26 19:55:20 4: XiaomiBTLESens (xbtle.temp.eg.flur) - Run CreateParamGatttool with mod: write
2018.01.26 19:55:20 4: XiaomiBTLESens (xbtle.temp.eg.flur) - Write XiaomiBTLESens_ExecGatttool_Run xbtle.temp.eg.flur|<MAC>|write|0x10|0100
2018.01.26 19:55:21 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command timeout 8 ssh fhem@radiohub-1.home 'gatttool -i hci0 -b <MAC> --char-write-req -a 0x10 -n 0100 --listen 2>&1 /dev/null' and loop 0
2018.01.26 19:55:29 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully
Notification handle = 0x000e value,54 3d 32 31 2e 34 20 48 3d 34 38 2e 37 00
Notification handle = 0x000e value,54 3d 32 31 2e 35 20 48 3d 34 38 2e 36 00

2018.01.26 19:55:29 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value was written successfully
Notification handle = 0x000e value,54 3d 32 31 2e 34 20 48 3d 34 38 2e 37 00
Notification handle = 0x000e value,54 3d 32 31 2e 35 20 48 3d 34 38 2e 36 00

2018.01.26 19:55:30 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'gatttool -i hci0 -b <MAC> --char-read -a 0x35 2>&1 /dev/null' and loop 0
2018.01.26 19:55:31 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,08 36 00 10 00

2018.01.26 19:55:31 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,08 36 00 10 00

2018.01.26 19:55:31 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Done: gatttool return string: xbtle.temp.eg.flur|<MAC>|ok|read|0x35|{"gtResult":"08 36 00 10 00 "}
2018.01.26 19:55:31 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ProcessingNotification
2018.01.26 19:55:31 4: XiaomiBTLESens (xbtle.temp.eg.flur) - WriteReadings: Readings were written

Also hier sieht alles super aus. Bei allen drei Beispielen.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: distel am 26 Januar 2018, 22:16:59
Also hier sieht alles super aus. Bei allen drei Beispielen.
Jein. Bei 1 und 2 ists ok. Bei 3 siehts gut aus, aber da fehlt noch was: Die Verarbeitung und das setzen der Readings. Sprich es erfolgt keine Aktualisierung :-/
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 26 Januar 2018, 22:33:22
2018.01.26 19:55:30 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'gatttool -i hci0 -b <MAC> --char-read -a 0x35 2>&1 /dev/null' and loop 0
2018.01.26 19:55:31 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,08 36 00 10 00

2018.01.26 19:55:31 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,08 36 00 10 00

2018.01.26 19:55:31 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Done: gatttool return string: xbtle.temp.eg.flur|<MAC>|ok|read|0x35|{"gtResult":"08 36 00 10 00 "}
2018.01.26 19:55:31 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ProcessingNotification
2018.01.26 19:55:31 4: XiaomiBTLESens (xbtle.temp.eg.flur) - WriteReadings: Readings were written

Also zu mindest steht WriteReadings: Readings da.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: distel am 26 Januar 2018, 22:44:15
Also zu mindest steht WriteReadings: Readings da.
Stimmt, aber das einzige Reading, das aktualisiert wird ist state. Daher hatte ich das "nur" mit dem Lesen von 0x35 in Verbindung gebracht. Hier der Stand grad nach dem get sensordata:

Internals:
   BTMAC      <MAC>
   DEF        <MAC>
   INTERVAL   300
   NAME       xbtle.temp.eg.flur
   NOTIFYDEV  global,xbtle.temp.eg.flur
   NR         314
   NTFY_ORDER 50-xbtle.temp.eg.flur
   STATE      T: 21.5 °C / H: 48.5 %
   TYPE       XiaomiBTLESens
   VERSION    2.0.6debug
   loglevel   4
   READINGS:
     2018-01-26 15:37:33   battery         ok
     2018-01-26 15:37:33   batteryLevel    96
     2018-01-26 19:54:24   devicename      EG.Test
     2018-01-26 19:55:03   firmware        00.00.66
     2018-01-26 19:44:44   humidity        48.5
     2018-01-26 22:36:48   lastGattError   The BlockingCall Process terminated unexpectedly. Timedout
     2018-01-26 22:40:03   state           active
     2018-01-26 19:44:44   temperature     21.5
   helper:
     CallBattery 0
     CallSensDataCounter 0
     updateTimeCallBattery 1516977453.14894
     updateTimestampCallBattery 2018-01-26 15:37:33
Attributes:
   alias      Temperatur EG.Flur
   comment    fhem@radiohub-1.home
   group      Temperatur
   icon       temp_temperature
   interval   300
   model      thermoHygroSens
   room       Sensoren
   sshHost    fhem@radiohub-1.home
   stateFormat {"T: " . ReadingsVal($name,"temperature",0) . " °C / H: " . ReadingsVal($name,"humidity",0) . " %"}
   verbose    5

PS: Ja, da wo es jetzt liegt ist's wärmer ;)
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 26 Januar 2018, 23:02:44
Das Problem ist leider das gatttool anscheinend auch mal locker 30s wartet bis es abbricht. BlockingCall aber nur 60s läuft und dann abbricht. Wenn es dann schon der 4. Versuch ist geht es ins Timeout. Ich weiß nicht wie es ist wenn man BlockingCall mehr Zeit gibt. Müsste man aus testen.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: frank_41 am 27 Januar 2018, 00:47:52
Hm, ich bin's noch mal.
Also inzwischen hat fhem zu den meisten Flowersense Sensoren mal Kontakt gekriegt.
Der Abstand zum Raspi ist wohl an der Kante des Empfangs.
Das würde mich nicht stören.
Allerdings wird das logfile mit den timeout Meldungen vollgemüllt :

Timeout for XiaomiBTLESens_ExecGatttool_Run reached, terminated process xxxxx

Kann man diese Meldungen abstellen ??
Vielen Dank schonmal
Gruß
Frank


Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 27 Januar 2018, 00:58:46
Hm, ich bin's noch mal.
Also inzwischen hat fhem zu den meisten Flowersense Sensoren mal Kontakt gekriegt.
Der Abstand zum Raspi ist wohl an der Kante des Empfangs.
Das würde mich nicht stören.
Allerdings wird das logfile mit den timeout Meldungen vollgemüllt :

Timeout for XiaomiBTLESens_ExecGatttool_Run reached, terminated process xxxxx

Kann man diese Meldungen abstellen ??
Vielen Dank schonmal
Gruß
Frank

Verbose auf 2 setzen. Ich werde mir das ganze die Tage noch mal anschauen.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: distel am 27 Januar 2018, 07:52:36
Ich werde irgendwie das Gefühl nicht los, dass es sonniger wäre, eine kleine Software zu nutzen, die auf nem Pi (o.ä.) autonom die Sensoren abfragt und in fhem 'nur' die Werte aus solch einem 'Cache' abzufragen/einzubinden. Bei einem Thermometer ist ja noch alles okay, wenn es aber mehr werden... Gut, fhem2fhem wäre ja auch immer noch eine Lösung.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: MadMax-FHEM am 27 Januar 2018, 07:59:23
Einbindung per ssh ist doch genau das!?

Die kleine SW heißt gattool... ;)

Hab meine alle per ssh eingebunden über einen PI Zero W der den Sensoren nahe ist...

Gruß, Joachim
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: distel am 27 Januar 2018, 08:03:23
Einbindung per ssh ist doch genau das!?

Jein. Aktuell erscheint mir die Kommunikation mit dem Thermometer etwas fragil, zeitlich lang und blockieren für fhem. Daher meine ich eine echte Entkopplung. Wie gesagt: fhem2fhem wäre eine Option.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: MadMax-FHEM am 27 Januar 2018, 08:20:12
Warum blockierend?

Soweit ich die Implementierung kenne ist es non-blocking...

Gruß, Joachim
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 27 Januar 2018, 08:42:06
Es ist auch non-blocking

ich werde noch etwas mit den Werten spielen und schauen.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: distel am 27 Januar 2018, 11:29:02
Warum blockierend?
Mein Fehler  ::)
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 27 Januar 2018, 11:57:31
neue Version im Develzweig zum testen.
Distel bitte teste die einmal.

Kleine Info am Rande. Bei BTLE kann es mitunter um cm gehen in Abhängigkeit der Umwelt. Ich merke das ganz doll bei einem meiner Pflanzensensoren. Wenn ich den Topf mit dem es hin und wieder hackt um 50 cm zum Empfänger rücke geht es wieder. Es gibt Tage da geht es ohne Probleme und andere wo das Wetter augenscheinlich feuchter ist hängt er oft.



Grüße
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: distel am 27 Januar 2018, 12:29:07
neue Version im Develzweig zum testen.
Distel bitte teste die einmal.

Also im Ergebnis: Sensorwerte werden ein, zwei Mal ausgelesen und in die readings geschrieben, aber dann bleibt gatttool als Zombie auf dem remote-system stehen. Allerdings scheint es (bei der Häufigkeit) auch irgendwie konkurrierende Zugriffe zu geben.

2018.01.27 12:25:12 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command timeout 10 ssh fhem@radiohub-1.home 'gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-write-req -a 0x10 -n 0100 --listen 2>&1 /dev/null' and loop 0
2018.01.27 12:25:21 1: NOTE: WEB is probed by a search engine
2018.01.27 12:25:22 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully
Notification handle = 0x000e value,54 3d 32 31 2e 38 20 48 3d 34 36 2e 37 00
Notification handle = 0x000e value,54 3d 32 31 2e 38 20 48 3d 34 36 2e 38 00
Notification handle = 0x000e value,54 3d 32 31 2e 38 20 48 3d 34 36 2e 37 00

2018.01.27 12:25:22 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value was written successfully
Notification handle = 0x000e value,54 3d 32 31 2e 38 20 48 3d 34 36 2e 37 00
Notification handle = 0x000e value,54 3d 32 31 2e 38 20 48 3d 34 36 2e 38 00
Notification handle = 0x000e value,54 3d 32 31 2e 38 20 48 3d 34 36 2e 37 00

2018.01.27 12:25:23 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-read -a 0x35 2>&1 /dev/null' and loop 0
2018.01.27 12:25:24 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,08 36 00 10 00

2018.01.27 12:25:24 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,08 36 00 10 00

2018.01.27 12:25:24 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Done: gatttool return string: xbtle.temp.eg.flur|4C:65:A8:D0:42:63|ok|read|0x35|{"gtResult":"08 36 00 10 00 "}
2018.01.27 12:25:24 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ProcessingNotification
2018.01.27 12:25:24 4: XiaomiBTLESens (xbtle.temp.eg.flur) - WriteReadings: Readings were written
2018.01.27 12:25:24 4: XiaomiBTLESens (xbtle.temp.eg.flur) - Run CreateParamGatttool with mod: write
2018.01.27 12:25:24 5: XiaomiBTLESens (xbtle.temp.eg.flur) - Write XiaomiBTLESens_ExecGatttool_Run xbtle.temp.eg.flur|4C:65:A8:D0:42:63|write|0x10|0100
2018.01.27 12:25:25 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command timeout 10 ssh fhem@radiohub-1.home 'gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-write-req -a 0x10 -n 0100 --listen 2>&1 /dev/null' and loop 0
2018.01.27 12:25:26 4: XiaomiBTLESens (xbtle.temp.eg.flur) - WriteReadings: Readings were written
2018.01.27 12:25:26 4: XiaomiBTLESens (xbtle.temp.eg.flur) - Run CreateParamGatttool with mod: write
2018.01.27 12:25:26 5: XiaomiBTLESens (xbtle.temp.eg.flur) - Write XiaomiBTLESens_ExecGatttool_Run xbtle.temp.eg.flur|4C:65:A8:D0:42:63|write|0x10|0100
2018.01.27 12:25:26 4: XiaomiBTLESens (xbtle.temp.eg.flur) - stateRequestTimer: Call Request Timer
2018.01.27 12:25:35 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully
Notification handle = 0x000e value,54 3d 32 31 2e 38 20 48 3d 34 36 2e 37 00
Notification handle = 0x000e value,54 3d 32 31 2e 38 20 48 3d 34 36 2e 38 00
Notification handle = 0x000e value,54 3d 32 31 2e 38 20 48 3d 34 36 2e 37 00
Notification handle = 0x000e value,54 3d 32 31 2e 38 20 48 3d 34 36 2e 36 00

2018.01.27 12:25:35 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value was written successfully
Notification handle = 0x000e value,54 3d 32 31 2e 38 20 48 3d 34 36 2e 37 00
Notification handle = 0x000e value,54 3d 32 31 2e 38 20 48 3d 34 36 2e 38 00
Notification handle = 0x000e value,54 3d 32 31 2e 38 20 48 3d 34 36 2e 37 00
Notification handle = 0x000e value,54 3d 32 31 2e 38 20 48 3d 34 36 2e 36 00

2018.01.27 12:25:36 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-read -a 0x35 2>&1 /dev/null' and loop 0
2018.01.27 12:25:42 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,08 36 00 10 00

2018.01.27 12:25:42 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,08 36 00 10 00

2018.01.27 12:25:42 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Done: gatttool return string: xbtle.temp.eg.flur|4C:65:A8:D0:42:63|ok|read|0x35|{"gtResult":"08 36 00 10 00 "}
2018.01.27 12:25:42 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ProcessingNotification
2018.01.27 12:25:42 4: XiaomiBTLESens (xbtle.temp.eg.flur) - WriteReadings: Readings were written
2018.01.27 12:25:42 4: XiaomiBTLESens (xbtle.temp.eg.flur) - Run CreateParamGatttool with mod: write
2018.01.27 12:25:42 5: XiaomiBTLESens (xbtle.temp.eg.flur) - Write XiaomiBTLESens_ExecGatttool_Run xbtle.temp.eg.flur|4C:65:A8:D0:42:63|write|0x10|0100
2018.01.27 12:25:44 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command timeout 10 ssh fhem@radiohub-1.home 'gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-write-req -a 0x10 -n 0100 --listen 2>&1 /dev/null' and loop 0
2018.01.27 12:25:54 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully
Notification handle = 0x000e value,54 3d 32 31 2e 38 20 48 3d 34 36 2e 38 00
Notification handle = 0x000e value,54 3d 32 31 2e 38 20 48 3d 34 36 2e 37 00
Notification handle = 0x000e value,54 3d 32 31 2e 38 20 48 3d 34 36 2e 39 00
Notification handle = 0x000e value,54 3d 32 31 2e 38 20 48 3d 34 36 2e 37 00
Notification handle = 0x000e value,54 3d 32 31 2e 37 20 48 3d 34 36 2e 37 00
Notification handle = 0x000e value,54 3d 32 31 2e 38 20 48 3d 34 36 2e 39 00
Notification handle = 0x000e value,54 3d 32 31 2e 38 20 48 3d 34 36 2e 38 00

2018.01.27 12:25:54 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value was written successfully
Notification handle = 0x000e value,54 3d 32 31 2e 38 20 48 3d 34 36 2e 38 00
Notification handle = 0x000e value,54 3d 32 31 2e 38 20 48 3d 34 36 2e 37 00
Notification handle = 0x000e value,54 3d 32 31 2e 38 20 48 3d 34 36 2e 39 00
Notification handle = 0x000e value,54 3d 32 31 2e 38 20 48 3d 34 36 2e 37 00
Notification handle = 0x000e value,54 3d 32 31 2e 37 20 48 3d 34 36 2e 37 00
Notification handle = 0x000e value,54 3d 32 31 2e 38 20 48 3d 34 36 2e 39 00
Notification handle = 0x000e value,54 3d 32 31 2e 38 20 48 3d 34 36 2e 38 00

2018.01.27 12:25:54 3: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.01.27 12:25:56 3: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.01.27 12:25:57 3: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: another gatttool process is running. waiting...

PS: Ich geb das MAC-ausstreichen auf. Bei der Reichweite ists eh egal und die Dinger geben sich ja auch ohne Pairing nicht grad zugeknöpft ;)
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: distel am 27 Januar 2018, 12:34:39
Ich hab grad mal das Log leergemacht und das device vorher disabled. Dann schaut es beim enablen leider auch nicht besser aus: Zombi bleibt und stört den Fortgang:

2018.01.27 12:32:36 3: XiaomiBTLESens (xbtle.temp.eg.flur) - enabled
2018.01.27 12:32:36 4: XiaomiBTLESens (xbtle.temp.eg.flur) - Run CreateParamGatttool with mod: write
2018.01.27 12:32:36 5: XiaomiBTLESens (xbtle.temp.eg.flur) - Write XiaomiBTLESens_ExecGatttool_Run xbtle.temp.eg.flur|4C:65:A8:D0:42:63|write|0x10|0100
2018.01.27 12:32:36 4: XiaomiBTLESens (xbtle.temp.eg.flur) - stateRequestTimer: Call Request Timer
2018.01.27 12:32:37 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command timeout 10 ssh fhem@radiohub-1.home 'gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-write-req -a 0x10 -n 0100 --listen 2>&1 /dev/null' and loop 0
2018.01.27 12:32:47 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully
Notification handle = 0x000e value,54 3d 32 31 2e 38 20 48 3d 34 36 2e 37 00
Notification handle = 0x000e value,54 3d 32 31 2e 38 20 48 3d 34 36 2e 38 00
Notification handle = 0x000e value,54 3d 32 31 2e 39 20 48 3d 34 36 2e 38 00
Notification handle = 0x000e value,54 3d 32 31 2e 38 20 48 3d 34 36 2e 36 00
Notification handle = 0x000e value,54 3d 32 31 2e 38 20 48 3d 34 36 2e 37 00

2018.01.27 12:32:47 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value was written successfully
Notification handle = 0x000e value,54 3d 32 31 2e 38 20 48 3d 34 36 2e 37 00
Notification handle = 0x000e value,54 3d 32 31 2e 38 20 48 3d 34 36 2e 38 00
Notification handle = 0x000e value,54 3d 32 31 2e 39 20 48 3d 34 36 2e 38 00
Notification handle = 0x000e value,54 3d 32 31 2e 38 20 48 3d 34 36 2e 36 00
Notification handle = 0x000e value,54 3d 32 31 2e 38 20 48 3d 34 36 2e 37 00

2018.01.27 12:32:47 3: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.01.27 12:32:49 3: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.01.27 12:32:50 3: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: another gatttool process is running. waiting...
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 27 Januar 2018, 12:42:49
Aber immer hin bekommt er den noch laufenden Prozess mit. Geht der Prozess denn nach einer Weile weg oder bleibt er echt als Zombie hängen?
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 27 Januar 2018, 12:47:08
Bitte noch einmal eine neue Version testen.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: distel am 27 Januar 2018, 14:11:03
Aber immer hin bekommt er den noch laufenden Prozess mit. Geht der Prozess denn nach einer Weile weg oder bleibt er echt als Zombie hängen?
der Prozess bleibt wirklich stehen. Ich probier mal deine neue Version...
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: distel am 27 Januar 2018, 14:31:16
Bitte noch einmal eine neue Version testen.

Die gute Nachricht vorweg: Keine Zombies mehr mit 2.0.6devel3
Die Schlechte: Es klappt allerdings auch nicht recht: abwechselnd write 0x10 und read 0x35 aber ohne Ergebnis bei 0x10


2018.01.27 14:20:24 3: XiaomiBTLESens (xbtle.temp.eg.flur) - enabled
2018.01.27 14:20:24 4: XiaomiBTLESens (xbtle.temp.eg.flur) - Run CreateParamGatttool with mod: read
2018.01.27 14:20:24 5: XiaomiBTLESens (xbtle.temp.eg.flur) - Read XiaomiBTLESens_ExecGatttool_Run xbtle.temp.eg.flur|4C:65:A8:D0:42:63|read|0x18
2018.01.27 14:20:24 4: XiaomiBTLESens (xbtle.temp.eg.flur) - stateRequestTimer: Call Request Timer
2018.01.27 14:20:26 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-read -a 0x18 2>&1 /dev/null' and loop 0
2018.01.27 14:20:30 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,60

2018.01.27 14:20:30 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,60

2018.01.27 14:20:30 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Done: gatttool return string: xbtle.temp.eg.flur|4C:65:A8:D0:42:63|ok|read|0x18|{"gtResult":"60 "}
2018.01.27 14:20:30 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ProcessingNotification
2018.01.27 14:20:30 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ProcessingNotification: handle 0x18
2018.01.27 14:20:30 4: XiaomiBTLESens (xbtle.temp.eg.flur) - Thermo/Hygro Sens Handle0x18
2018.01.27 14:20:30 1: PERL WARNING: Illegal hexadecimal digit ' ' ignored at ./FHEM/74_XiaomiBTLESens.pm line 682.
2018.01.27 14:20:30 3: eval: {XiaomiBTLESens_ExecGatttool_Done('xbtle.temp.eg.flur|4C:65:A8:D0:42:63|ok|read|0x18|{"gtResult":"60 "}')}
2018.01.27 14:20:30 1: PERL WARNING: Illegal hexadecimal digit ' ' ignored at ./FHEM/74_XiaomiBTLESens.pm line 683.
2018.01.27 14:20:30 3: eval: {XiaomiBTLESens_ExecGatttool_Done('xbtle.temp.eg.flur|4C:65:A8:D0:42:63|ok|read|0x18|{"gtResult":"60 "}')}
2018.01.27 14:20:30 4: XiaomiBTLESens (xbtle.temp.eg.flur) - WriteReadings: Readings were written
2018.01.27 14:20:30 4: XiaomiBTLESens (xbtle.temp.eg.flur) - Run CreateParamGatttool with mod: write
2018.01.27 14:20:30 5: XiaomiBTLESens (xbtle.temp.eg.flur) - Write XiaomiBTLESens_ExecGatttool_Run xbtle.temp.eg.flur|4C:65:A8:D0:42:63|write|0x10|0100
2018.01.27 14:20:31 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-write-req -a 0x10 -n 0100 2>&1 /dev/null' and loop 0
2018.01.27 14:20:32 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully

2018.01.27 14:20:32 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value was written successfully

2018.01.27 14:20:33 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-read -a 0x35 2>&1 /dev/null' and loop 0
2018.01.27 14:20:34 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,08 36 00 10 00

2018.01.27 14:20:34 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,08 36 00 10 00

2018.01.27 14:20:34 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Done: gatttool return string: xbtle.temp.eg.flur|4C:65:A8:D0:42:63|ok|read|0x35|{"gtResult":"08 36 00 10 00 "}
2018.01.27 14:20:34 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ProcessingNotification
2018.01.27 14:20:34 4: XiaomiBTLESens (xbtle.temp.eg.flur) - WriteReadings: Readings were written
2018.01.27 14:20:34 4: XiaomiBTLESens (xbtle.temp.eg.flur) - Run CreateParamGatttool with mod: write
2018.01.27 14:20:34 5: XiaomiBTLESens (xbtle.temp.eg.flur) - Write XiaomiBTLESens_ExecGatttool_Run xbtle.temp.eg.flur|4C:65:A8:D0:42:63|write|0x10|0100
2018.01.27 14:20:35 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-write-req -a 0x10 -n 0100 2>&1 /dev/null' and loop 0
2018.01.27 14:20:36 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully

2018.01.27 14:20:36 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value was written successfully

2018.01.27 14:20:37 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-read -a 0x35 2>&1 /dev/null' and loop 0
2018.01.27 14:20:41 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,08 36 00 10 00

2018.01.27 14:20:41 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,08 36 00 10 00

2018.01.27 14:20:41 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Done: gatttool return string: xbtle.temp.eg.flur|4C:65:A8:D0:42:63|ok|read|0x35|{"gtResult":"08 36 00 10 00 "}
2018.01.27 14:20:41 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ProcessingNotification
2018.01.27 14:20:41 4: XiaomiBTLESens (xbtle.temp.eg.flur) - WriteReadings: Readings were written
2018.01.27 14:20:41 4: XiaomiBTLESens (xbtle.temp.eg.flur) - Run CreateParamGatttool with mod: write
2018.01.27 14:20:41 5: XiaomiBTLESens (xbtle.temp.eg.flur) - Write XiaomiBTLESens_ExecGatttool_Run xbtle.temp.eg.flur|4C:65:A8:D0:42:63|write|0x10|0100
2018.01.27 14:20:42 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-write-req -a 0x10 -n 0100 2>&1 /dev/null' and loop 0
2018.01.27 14:20:42 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully

2018.01.27 14:20:42 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value was written successfully

2018.01.27 14:20:44 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-read -a 0x35 2>&1 /dev/null' and loop 0
2018.01.27 14:20:44 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,08 36 00 10 00

2018.01.27 14:20:44 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,08 36 00 10 00

2018.01.27 14:20:44 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Done: gatttool return string: xbtle.temp.eg.flur|4C:65:A8:D0:42:63|ok|read|0x35|{"gtResult":"08 36 00 10 00 "}
2018.01.27 14:20:44 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ProcessingNotification
2018.01.27 14:20:44 4: XiaomiBTLESens (xbtle.temp.eg.flur) - WriteReadings: Readings were written
2018.01.27 14:20:44 4: XiaomiBTLESens (xbtle.temp.eg.flur) - Run CreateParamGatttool with mod: write
2018.01.27 14:20:44 5: XiaomiBTLESens (xbtle.temp.eg.flur) - Write XiaomiBTLESens_ExecGatttool_Run xbtle.temp.eg.flur|4C:65:A8:D0:42:63|write|0x10|0100
2018.01.27 14:20:45 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-write-req -a 0x10 -n 0100 2>&1 /dev/null' and loop 0
2018.01.27 14:20:46 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully

2018.01.27 14:20:46 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value was written successfully

2018.01.27 14:20:47 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-read -a 0x35 2>&1 /dev/null' and loop 0
2018.01.27 14:20:53 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result connect error,Function not implemented (38)

2018.01.27 14:20:53 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-read -a 0x35 2>&1 /dev/null' and loop 1
2018.01.27 14:21:00 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,08 36 00 10 00

2018.01.27 14:21:00 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,08 36 00 10 00

2018.01.27 14:21:00 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Done: gatttool return string: xbtle.temp.eg.flur|4C:65:A8:D0:42:63|ok|read|0x35|{"gtResult":"08 36 00 10 00 "}
2018.01.27 14:21:00 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ProcessingNotification
2018.01.27 14:21:00 4: XiaomiBTLESens (xbtle.temp.eg.flur) - WriteReadings: Readings were written
2018.01.27 14:21:00 4: XiaomiBTLESens (xbtle.temp.eg.flur) - Run CreateParamGatttool with mod: write
2018.01.27 14:21:00 5: XiaomiBTLESens (xbtle.temp.eg.flur) - Write XiaomiBTLESens_ExecGatttool_Run xbtle.temp.eg.flur|4C:65:A8:D0:42:63|write|0x10|0100
2018.01.27 14:21:01 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-write-req -a 0x10 -n 0100 2>&1 /dev/null' and loop 0
2018.01.27 14:21:02 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully

2018.01.27 14:21:02 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value was written successfully

2018.01.27 14:21:03 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-read -a 0x35 2>&1 /dev/null' and loop 0
2018.01.27 14:21:04 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,08 36 00 10 00

2018.01.27 14:21:04 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,08 36 00 10 00

2018.01.27 14:21:04 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Done: gatttool return string: xbtle.temp.eg.flur|4C:65:A8:D0:42:63|ok|read|0x35|{"gtResult":"08 36 00 10 00 "}
2018.01.27 14:21:04 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ProcessingNotification
2018.01.27 14:21:04 4: XiaomiBTLESens (xbtle.temp.eg.flur) - WriteReadings: Readings were written
2018.01.27 14:21:04 4: XiaomiBTLESens (xbtle.temp.eg.flur) - Run CreateParamGatttool with mod: write
2018.01.27 14:21:04 5: XiaomiBTLESens (xbtle.temp.eg.flur) - Write XiaomiBTLESens_ExecGatttool_Run xbtle.temp.eg.flur|4C:65:A8:D0:42:63|write|0x10|0100
2018.01.27 14:21:05 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-write-req -a 0x10 -n 0100 2>&1 /dev/null' and loop 0
2018.01.27 14:21:05 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully

2018.01.27 14:21:05 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value was written successfully

2018.01.27 14:21:07 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-read -a 0x35 2>&1 /dev/null' and loop 0
2018.01.27 14:21:12 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,08 36 00 10 00

2018.01.27 14:21:12 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,08 36 00 10 00

2018.01.27 14:21:12 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Done: gatttool return string: xbtle.temp.eg.flur|4C:65:A8:D0:42:63|ok|read|0x35|{"gtResult":"08 36 00 10 00 "}
2018.01.27 14:21:12 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ProcessingNotification
2018.01.27 14:21:12 4: XiaomiBTLESens (xbtle.temp.eg.flur) - WriteReadings: Readings were written
2018.01.27 14:21:12 4: XiaomiBTLESens (xbtle.temp.eg.flur) - Run CreateParamGatttool with mod: write
2018.01.27 14:21:12 5: XiaomiBTLESens (xbtle.temp.eg.flur) - Write XiaomiBTLESens_ExecGatttool_Run xbtle.temp.eg.flur|4C:65:A8:D0:42:63|write|0x10|0100
2018.01.27 14:21:13 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-write-req -a 0x10 -n 0100 2>&1 /dev/null' and loop 0
2018.01.27 14:21:14 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully

2018.01.27 14:21:14 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value was written successfully

2018.01.27 14:21:15 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-read -a 0x35 2>&1 /dev/null' and loop 0
2018.01.27 14:21:16 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,08 36 00 10 00

2018.01.27 14:21:16 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,08 36 00 10 00

2018.01.27 14:21:16 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Done: gatttool return string: xbtle.temp.eg.flur|4C:65:A8:D0:42:63|ok|read|0x35|{"gtResult":"08 36 00 10 00 "}
2018.01.27 14:21:16 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ProcessingNotification
2018.01.27 14:21:16 4: XiaomiBTLESens (xbtle.temp.eg.flur) - WriteReadings: Readings were written
2018.01.27 14:21:16 4: XiaomiBTLESens (xbtle.temp.eg.flur) - Run CreateParamGatttool with mod: write
2018.01.27 14:21:16 5: XiaomiBTLESens (xbtle.temp.eg.flur) - Write XiaomiBTLESens_ExecGatttool_Run xbtle.temp.eg.flur|4C:65:A8:D0:42:63|write|0x10|0100
2018.01.27 14:21:17 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-write-req -a 0x10 -n 0100 2>&1 /dev/null' and loop 0
2018.01.27 14:21:18 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic Write Request failed,Request attribute has encountered an unlikely error

2018.01.27 14:21:18 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic Write Request failed,Request attribute has encountered an unlikely error

2018.01.27 14:21:19 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-read -a 0x35 2>&1 /dev/null' and loop 0
2018.01.27 14:21:24 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,08 36 00 10 00

2018.01.27 14:21:24 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,08 36 00 10 00

2018.01.27 14:21:24 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Done: gatttool return string: xbtle.temp.eg.flur|4C:65:A8:D0:42:63|ok|read|0x35|{"gtResult":"08 36 00 10 00 "}
2018.01.27 14:21:24 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ProcessingNotification
2018.01.27 14:21:24 4: XiaomiBTLESens (xbtle.temp.eg.flur) - WriteReadings: Readings were written
2018.01.27 14:21:24 4: XiaomiBTLESens (xbtle.temp.eg.flur) - Run CreateParamGatttool with mod: write
2018.01.27 14:21:24 5: XiaomiBTLESens (xbtle.temp.eg.flur) - Write XiaomiBTLESens_ExecGatttool_Run xbtle.temp.eg.flur|4C:65:A8:D0:42:63|write|0x10|0100
2018.01.27 14:21:26 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-write-req -a 0x10 -n 0100 2>&1 /dev/null' and loop 0
2018.01.27 14:21:26 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully

2018.01.27 14:21:26 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value was written successfully

2018.01.27 14:21:27 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-read -a 0x35 2>&1 /dev/null' and loop 0
2018.01.27 14:21:28 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,08 36 00 10 00

2018.01.27 14:21:28 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,08 36 00 10 00

2018.01.27 14:21:28 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Done: gatttool return string: xbtle.temp.eg.flur|4C:65:A8:D0:42:63|ok|read|0x35|{"gtResult":"08 36 00 10 00 "}
2018.01.27 14:21:28 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ProcessingNotification
2018.01.27 14:21:28 4: XiaomiBTLESens (xbtle.temp.eg.flur) - WriteReadings: Readings were written
2018.01.27 14:21:28 4: XiaomiBTLESens (xbtle.temp.eg.flur) - Run CreateParamGatttool with mod: write
2018.01.27 14:21:28 5: XiaomiBTLESens (xbtle.temp.eg.flur) - Write XiaomiBTLESens_ExecGatttool_Run xbtle.temp.eg.flur|4C:65:A8:D0:42:63|write|0x10|0100
2018.01.27 14:21:29 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-write-req -a 0x10 -n 0100 2>&1 /dev/null' and loop 0
2018.01.27 14:21:35 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully

2018.01.27 14:21:35 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value was written successfully

2018.01.27 14:21:36 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-read -a 0x35 2>&1 /dev/null' and loop 0
2018.01.27 14:21:36 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,08 36 00 10 00

2018.01.27 14:21:36 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,08 36 00 10 00

2018.01.27 14:21:36 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Done: gatttool return string: xbtle.temp.eg.flur|4C:65:A8:D0:42:63|ok|read|0x35|{"gtResult":"08 36 00 10 00 "}
2018.01.27 14:21:36 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ProcessingNotification
2018.01.27 14:21:36 4: XiaomiBTLESens (xbtle.temp.eg.flur) - WriteReadings: Readings were written
2018.01.27 14:21:36 4: XiaomiBTLESens (xbtle.temp.eg.flur) - Run CreateParamGatttool with mod: write
2018.01.27 14:21:36 5: XiaomiBTLESens (xbtle.temp.eg.flur) - Write XiaomiBTLESens_ExecGatttool_Run xbtle.temp.eg.flur|4C:65:A8:D0:42:63|write|0x10|0100
2018.01.27 14:21:38 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-write-req -a 0x10 -n 0100 2>&1 /dev/null' and loop 0
2018.01.27 14:21:38 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully

2018.01.27 14:21:38 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value was written successfully

2018.01.27 14:21:39 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-read -a 0x35 2>&1 /dev/null' and loop 0
2018.01.27 14:21:40 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor read failed,Request attribute has encountered an unlikely error

2018.01.27 14:21:40 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value/descriptor read failed,Request attribute has encountered an unlikely error

2018.01.27 14:21:40 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Done: gatttool return string: xbtle.temp.eg.flur|4C:65:A8:D0:42:63|error|read|0x35|{"gtResult":"Request attribute has encountered an unlikely error"}
2018.01.27 14:21:40 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ProcessingErrors
2018.01.27 14:21:40 4: XiaomiBTLESens (xbtle.temp.eg.flur) - WriteReadings: Readings were written
2018.01.27 14:21:40 4: XiaomiBTLESens (xbtle.temp.eg.flur) - Run CreateParamGatttool with mod: write
2018.01.27 14:21:40 5: XiaomiBTLESens (xbtle.temp.eg.flur) - Write XiaomiBTLESens_ExecGatttool_Run xbtle.temp.eg.flur|4C:65:A8:D0:42:63|write|0x10|0100
2018.01.27 14:21:41 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-write-req -a 0x10 -n 0100 2>&1 /dev/null' and loop 0
2018.01.27 14:21:49 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully

2018.01.27 14:21:49 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value was written successfully

2018.01.27 14:21:50 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-read -a 0x35 2>&1 /dev/null' and loop 0
2018.01.27 14:21:51 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,08 36 00 10 00

2018.01.27 14:21:51 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,08 36 00 10 00

2018.01.27 14:21:51 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Done: gatttool return string: xbtle.temp.eg.flur|4C:65:A8:D0:42:63|ok|read|0x35|{"gtResult":"08 36 00 10 00 "}
2018.01.27 14:21:51 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ProcessingNotification
2018.01.27 14:21:51 4: XiaomiBTLESens (xbtle.temp.eg.flur) - WriteReadings: Readings were written
2018.01.27 14:21:51 4: XiaomiBTLESens (xbtle.temp.eg.flur) - Run CreateParamGatttool with mod: write
2018.01.27 14:21:51 5: XiaomiBTLESens (xbtle.temp.eg.flur) - Write XiaomiBTLESens_ExecGatttool_Run xbtle.temp.eg.flur|4C:65:A8:D0:42:63|write|0x10|0100
2018.01.27 14:21:52 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-write-req -a 0x10 -n 0100 2>&1 /dev/null' and loop 0
2018.01.27 14:21:52 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully

2018.01.27 14:21:52 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value was written successfully

2018.01.27 14:21:53 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-read -a 0x35 2>&1 /dev/null' and loop 0
2018.01.27 14:21:54 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor read failed,Request attribute has encountered an unlikely error

2018.01.27 14:21:54 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value/descriptor read failed,Request attribute has encountered an unlikely error

2018.01.27 14:21:54 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Done: gatttool return string: xbtle.temp.eg.flur|4C:65:A8:D0:42:63|error|read|0x35|{"gtResult":"Request attribute has encountered an unlikely error"}
2018.01.27 14:21:54 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ProcessingErrors
2018.01.27 14:21:54 4: XiaomiBTLESens (xbtle.temp.eg.flur) - WriteReadings: Readings were written
2018.01.27 14:21:54 4: XiaomiBTLESens (xbtle.temp.eg.flur) - Run CreateParamGatttool with mod: write
2018.01.27 14:21:54 5: XiaomiBTLESens (xbtle.temp.eg.flur) - Write XiaomiBTLESens_ExecGatttool_Run xbtle.temp.eg.flur|4C:65:A8:D0:42:63|write|0x10|0100
2018.01.27 14:21:55 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-write-req -a 0x10 -n 0100 2>&1 /dev/null' and loop 0
2018.01.27 14:22:01 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result connect error,Connection timed out (110)

2018.01.27 14:22:01 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-write-req -a 0x10 -n 0100 2>&1 /dev/null' and loop 1
2018.01.27 14:22:10 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully

2018.01.27 14:22:10 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value was written successfully

2018.01.27 14:22:11 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-read -a 0x35 2>&1 /dev/null' and loop 0
2018.01.27 14:22:11 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,08 36 00 10 00

2018.01.27 14:22:11 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,08 36 00 10 00

2018.01.27 14:22:11 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Done: gatttool return string: xbtle.temp.eg.flur|4C:65:A8:D0:42:63|ok|read|0x35|{"gtResult":"08 36 00 10 00 "}
2018.01.27 14:22:11 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ProcessingNotification
2018.01.27 14:22:11 4: XiaomiBTLESens (xbtle.temp.eg.flur) - WriteReadings: Readings were written
2018.01.27 14:22:11 4: XiaomiBTLESens (xbtle.temp.eg.flur) - Run CreateParamGatttool with mod: write
2018.01.27 14:22:11 5: XiaomiBTLESens (xbtle.temp.eg.flur) - Write XiaomiBTLESens_ExecGatttool_Run xbtle.temp.eg.flur|4C:65:A8:D0:42:63|write|0x10|0100
2018.01.27 14:22:13 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-write-req -a 0x10 -n 0100 2>&1 /dev/null' and loop 0
2018.01.27 14:22:13 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully

2018.01.27 14:22:13 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value was written successfully

2018.01.27 14:22:14 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-read -a 0x35 2>&1 /dev/null' and loop 0
2018.01.27 14:22:15 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,08 36 00 10 00

2018.01.27 14:22:15 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,08 36 00 10 00

2018.01.27 14:22:15 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Done: gatttool return string: xbtle.temp.eg.flur|4C:65:A8:D0:42:63|ok|read|0x35|{"gtResult":"08 36 00 10 00 "}
2018.01.27 14:22:15 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ProcessingNotification
2018.01.27 14:22:15 4: XiaomiBTLESens (xbtle.temp.eg.flur) - WriteReadings: Readings were written
2018.01.27 14:22:15 4: XiaomiBTLESens (xbtle.temp.eg.flur) - Run CreateParamGatttool with mod: write
2018.01.27 14:22:15 5: XiaomiBTLESens (xbtle.temp.eg.flur) - Write XiaomiBTLESens_ExecGatttool_Run xbtle.temp.eg.flur|4C:65:A8:D0:42:63|write|0x10|0100
2018.01.27 14:22:16 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-write-req -a 0x10 -n 0100 2>&1 /dev/null' and loop 0
2018.01.27 14:22:20 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully

2018.01.27 14:22:20 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value was written successfully

2018.01.27 14:22:21 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-read -a 0x35 2>&1 /dev/null' and loop 0
2018.01.27 14:22:22 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,08 36 00 10 00

2018.01.27 14:22:22 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,08 36 00 10 00

2018.01.27 14:22:22 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Done: gatttool return string: xbtle.temp.eg.flur|4C:65:A8:D0:42:63|ok|read|0x35|{"gtResult":"08 36 00 10 00 "}
2018.01.27 14:22:22 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ProcessingNotification
2018.01.27 14:22:22 4: XiaomiBTLESens (xbtle.temp.eg.flur) - WriteReadings: Readings were written
2018.01.27 14:22:22 4: XiaomiBTLESens (xbtle.temp.eg.flur) - Run CreateParamGatttool with mod: write
2018.01.27 14:22:22 5: XiaomiBTLESens (xbtle.temp.eg.flur) - Write XiaomiBTLESens_ExecGatttool_Run xbtle.temp.eg.flur|4C:65:A8:D0:42:63|write|0x10|0100
2018.01.27 14:22:23 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-write-req -a 0x10 -n 0100 2>&1 /dev/null' and loop 0
2018.01.27 14:22:24 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully

2018.01.27 14:22:24 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value was written successfully

2018.01.27 14:22:25 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-read -a 0x35 2>&1 /dev/null' and loop 0
2018.01.27 14:22:29 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result connect error,Connection timed out (110)

2018.01.27 14:22:29 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-read -a 0x35 2>&1 /dev/null' and loop 1
2018.01.27 14:22:36 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,08 36 00 10 00

2018.01.27 14:22:36 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,08 36 00 10 00

2018.01.27 14:22:36 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Done: gatttool return string: xbtle.temp.eg.flur|4C:65:A8:D0:42:63|ok|read|0x35|{"gtResult":"08 36 00 10 00 "}
2018.01.27 14:22:36 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ProcessingNotification
2018.01.27 14:22:36 4: XiaomiBTLESens (xbtle.temp.eg.flur) - WriteReadings: Readings were written
2018.01.27 14:22:36 4: XiaomiBTLESens (xbtle.temp.eg.flur) - Run CreateParamGatttool with mod: write
2018.01.27 14:22:36 5: XiaomiBTLESens (xbtle.temp.eg.flur) - Write XiaomiBTLESens_ExecGatttool_Run xbtle.temp.eg.flur|4C:65:A8:D0:42:63|write|0x10|0100
2018.01.27 14:22:37 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-write-req -a 0x10 -n 0100 2>&1 /dev/null' and loop 0
2018.01.27 14:22:38 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully

2018.01.27 14:22:38 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value was written successfully

2018.01.27 14:22:39 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-read -a 0x35 2>&1 /dev/null' and loop 0
2018.01.27 14:22:39 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,08 36 00 10 00

2018.01.27 14:22:39 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,08 36 00 10 00

2018.01.27 14:22:39 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Done: gatttool return string: xbtle.temp.eg.flur|4C:65:A8:D0:42:63|ok|read|0x35|{"gtResult":"08 36 00 10 00 "}
2018.01.27 14:22:39 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ProcessingNotification
2018.01.27 14:22:39 4: XiaomiBTLESens (xbtle.temp.eg.flur) - WriteReadings: Readings were written
2018.01.27 14:22:39 4: XiaomiBTLESens (xbtle.temp.eg.flur) - Run CreateParamGatttool with mod: write
2018.01.27 14:22:39 5: XiaomiBTLESens (xbtle.temp.eg.flur) - Write XiaomiBTLESens_ExecGatttool_Run xbtle.temp.eg.flur|4C:65:A8:D0:42:63|write|0x10|0100
2018.01.27 14:22:41 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-write-req -a 0x10 -n 0100 2>&1 /dev/null' and loop 0
2018.01.27 14:22:41 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully

2018.01.27 14:22:41 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value was written successfully

2018.01.27 14:22:42 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-read -a 0x35 2>&1 /dev/null' and loop 0
2018.01.27 14:22:46 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,08 36 00 10 00

2018.01.27 14:22:46 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,08 36 00 10 00

2018.01.27 14:22:46 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Done: gatttool return string: xbtle.temp.eg.flur|4C:65:A8:D0:42:63|ok|read|0x35|{"gtResult":"08 36 00 10 00 "}
2018.01.27 14:22:46 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ProcessingNotification
2018.01.27 14:22:46 4: XiaomiBTLESens (xbtle.temp.eg.flur) - WriteReadings: Readings were written
2018.01.27 14:22:46 4: XiaomiBTLESens (xbtle.temp.eg.flur) - Run CreateParamGatttool with mod: write
2018.01.27 14:22:46 5: XiaomiBTLESens (xbtle.temp.eg.flur) - Write XiaomiBTLESens_ExecGatttool_Run xbtle.temp.eg.flur|4C:65:A8:D0:42:63|write|0x10|0100
2018.01.27 14:22:47 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-write-req -a 0x10 -n 0100 2>&1 /dev/null' and loop 0
2018.01.27 14:22:48 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully

2018.01.27 14:22:48 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value was written successfully

2018.01.27 14:22:49 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-read -a 0x35 2>&1 /dev/null' and loop 0
2018.01.27 14:22:50 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,08 36 00 10 00

2018.01.27 14:22:50 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,08 36 00 10 00

2018.01.27 14:22:50 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Done: gatttool return string: xbtle.temp.eg.flur|4C:65:A8:D0:42:63|ok|read|0x35|{"gtResult":"08 36 00 10 00 "}
2018.01.27 14:22:50 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ProcessingNotification
2018.01.27 14:22:50 4: XiaomiBTLESens (xbtle.temp.eg.flur) - WriteReadings: Readings were written
2018.01.27 14:22:50 4: XiaomiBTLESens (xbtle.temp.eg.flur) - Run CreateParamGatttool with mod: write
2018.01.27 14:22:50 5: XiaomiBTLESens (xbtle.temp.eg.flur) - Write XiaomiBTLESens_ExecGatttool_Run xbtle.temp.eg.flur|4C:65:A8:D0:42:63|write|0x10|0100
2018.01.27 14:22:51 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-write-req -a 0x10 -n 0100 2>&1 /dev/null' and loop 0
2018.01.27 14:22:51 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully

2018.01.27 14:22:51 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value was written successfully

2018.01.27 14:22:52 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-read -a 0x35 2>&1 /dev/null' and loop 0
2018.01.27 14:22:56 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,08 36 00 10 00

2018.01.27 14:22:56 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,08 36 00 10 00

2018.01.27 14:22:56 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Done: gatttool return string: xbtle.temp.eg.flur|4C:65:A8:D0:42:63|ok|read|0x35|{"gtResult":"08 36 00 10 00 "}
2018.01.27 14:22:56 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ProcessingNotification
2018.01.27 14:22:56 4: XiaomiBTLESens (xbtle.temp.eg.flur) - WriteReadings: Readings were written
2018.01.27 14:22:56 4: XiaomiBTLESens (xbtle.temp.eg.flur) - Run CreateParamGatttool with mod: write
2018.01.27 14:22:56 5: XiaomiBTLESens (xbtle.temp.eg.flur) - Write XiaomiBTLESens_ExecGatttool_Run xbtle.temp.eg.flur|4C:65:A8:D0:42:63|write|0x10|0100
2018.01.27 14:22:57 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-write-req -a 0x10 -n 0100 2>&1 /dev/null' and loop 0
2018.01.27 14:22:58 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully

2018.01.27 14:22:58 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value was written successfully

2018.01.27 14:22:59 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-read -a 0x35 2>&1 /dev/null' and loop 0
2018.01.27 14:23:00 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,08 36 00 10 00

2018.01.27 14:23:00 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,08 36 00 10 00

2018.01.27 14:23:00 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Done: gatttool return string: xbtle.temp.eg.flur|4C:65:A8:D0:42:63|ok|read|0x35|{"gtResult":"08 36 00 10 00 "}
2018.01.27 14:23:00 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ProcessingNotification
2018.01.27 14:23:00 4: XiaomiBTLESens (xbtle.temp.eg.flur) - WriteReadings: Readings were written
2018.01.27 14:23:00 4: XiaomiBTLESens (xbtle.temp.eg.flur) - Run CreateParamGatttool with mod: write
2018.01.27 14:23:00 5: XiaomiBTLESens (xbtle.temp.eg.flur) - Write XiaomiBTLESens_ExecGatttool_Run xbtle.temp.eg.flur|4C:65:A8:D0:42:63|write|0x10|0100
2018.01.27 14:23:01 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-write-req -a 0x10 -n 0100 2>&1 /dev/null' and loop 0
2018.01.27 14:23:02 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully

2018.01.27 14:23:02 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value was written successfully

2018.01.27 14:23:03 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-read -a 0x35 2>&1 /dev/null' and loop 0
2018.01.27 14:23:09 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,08 36 00 10 00

2018.01.27 14:23:09 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,08 36 00 10 00

2018.01.27 14:23:09 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Done: gatttool return string: xbtle.temp.eg.flur|4C:65:A8:D0:42:63|ok|read|0x35|{"gtResult":"08 36 00 10 00 "}
2018.01.27 14:23:09 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ProcessingNotification
2018.01.27 14:23:09 4: XiaomiBTLESens (xbtle.temp.eg.flur) - WriteReadings: Readings were written
2018.01.27 14:23:09 4: XiaomiBTLESens (xbtle.temp.eg.flur) - Run CreateParamGatttool with mod: write
2018.01.27 14:23:09 5: XiaomiBTLESens (xbtle.temp.eg.flur) - Write XiaomiBTLESens_ExecGatttool_Run xbtle.temp.eg.flur|4C:65:A8:D0:42:63|write|0x10|0100
2018.01.27 14:23:10 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-write-req -a 0x10 -n 0100 2>&1 /dev/null' and loop 0
2018.01.27 14:23:10 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully

2018.01.27 14:23:10 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value was written successfully

2018.01.27 14:23:12 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-read -a 0x35 2>&1 /dev/null' and loop 0
2018.01.27 14:23:12 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,08 36 00 10 00

2018.01.27 14:23:12 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,08 36 00 10 00

2018.01.27 14:23:12 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Done: gatttool return string: xbtle.temp.eg.flur|4C:65:A8:D0:42:63|ok|read|0x35|{"gtResult":"08 36 00 10 00 "}
2018.01.27 14:23:12 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ProcessingNotification
2018.01.27 14:23:12 4: XiaomiBTLESens (xbtle.temp.eg.flur) - WriteReadings: Readings were written
2018.01.27 14:23:12 4: XiaomiBTLESens (xbtle.temp.eg.flur) - Run CreateParamGatttool with mod: write
2018.01.27 14:23:12 5: XiaomiBTLESens (xbtle.temp.eg.flur) - Write XiaomiBTLESens_ExecGatttool_Run xbtle.temp.eg.flur|4C:65:A8:D0:42:63|write|0x10|0100
2018.01.27 14:23:13 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-write-req -a 0x10 -n 0100 2>&1 /dev/null' and loop 0
2018.01.27 14:23:14 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic Write Request failed,Request attribute has encountered an unlikely error

2018.01.27 14:23:14 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic Write Request failed,Request attribute has encountered an unlikely error

2018.01.27 14:23:15 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-read -a 0x35 2>&1 /dev/null' and loop 0
2018.01.27 14:23:17 3: XiaomiBTLESens (xbtle.temp.eg.flur) - disabled
2018.01.27 14:23:19 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,08 36 00 10 00

2018.01.27 14:23:19 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,08 36 00 10 00

2018.01.27 14:23:19 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Done: gatttool return string: xbtle.temp.eg.flur|4C:65:A8:D0:42:63|ok|read|0x35|{"gtResult":"08 36 00 10 00 "}
2018.01.27 14:23:19 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ProcessingNotification
2018.01.27 14:23:19 4: XiaomiBTLESens (xbtle.temp.eg.flur) - WriteReadings: Readings were written
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 27 Januar 2018, 15:29:58
bitte noch mal testen, habe noch ein paar Optionen an das timeout gebunden
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: distel am 27 Januar 2018, 20:35:18
bitte noch mal testen, habe noch ein paar Optionen an das timeout gebunden

Ich werd aus dem ganzen nicht schlau...
1) problematisch ist wirklich nur get sensordata, bei den anderen hab ich jetzt schon länger keine Probleme beobachtet.
2) BT-Stick und Thermometer sind vielleicht 50cm auseinander - eigentlich dürfte keine Verbindung fehlschlagen
3) Am schlimmsten: es ist nicht vorhersagbar, welcher Aufruf des gatttool zum Zombie wird.

Hier der erste Aufruf, bei dem werden die Readings NICHT aktualisiert, der gatttool Prozess (--char-write-req) verbleibt als Zombie!

2018.01.27 19:59:18 4: XiaomiBTLESens (xbtle.temp.eg.flur) - Run CreateParamGatttool with mod: write
2018.01.27 19:59:18 5: XiaomiBTLESens (xbtle.temp.eg.flur) - Write XiaomiBTLESens_ExecGatttool_Run xbtle.temp.eg.flur|4C:65:A8:D0:42:63|write|0x10|0100
2018.01.27 19:59:19 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command timeout -s 15 -k 15 5 ssh fhem@radiohub-1.home 'gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-write-req -a 0x10 -n 0100 --listen 2>&1 /dev/null' and loop 0
2018.01.27 19:59:24 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully
Notification handle = 0x000e value,54 3d 32 32 2e 33 20 48 3d 34 31 2e 34 00
Notification handle = 0x000e value,54 3d 32 32 2e 33 20 48 3d 34 31 2e 33 00
Notification handle = 0x000e value,54 3d 32 32 2e 33 20 48 3d 34 31 2e 32 00
Notification handle = 0x000e value,54 3d 32 32 2e 32 20 48 3d 34 31 2e 33 00
Notification handle = 0x000e value,54 3d 32 32 2e 33 20 48 3d 34 31 2e 34 00
Notification handle = 0x000e value,54 3d 32 32 2e 33 20 48 3d 34 31 2e 33 00
Notification handle = 0x000e value,54 3d 32 32 2e 33 20 48 3d 34 31 2e 32 00

2018.01.27 19:59:24 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value was written successfully
Notification handle = 0x000e value,54 3d 32 32 2e 33 20 48 3d 34 31 2e 34 00
Notification handle = 0x000e value,54 3d 32 32 2e 33 20 48 3d 34 31 2e 33 00
Notification handle = 0x000e value,54 3d 32 32 2e 33 20 48 3d 34 31 2e 32 00
Notification handle = 0x000e value,54 3d 32 32 2e 32 20 48 3d 34 31 2e 33 00
Notification handle = 0x000e value,54 3d 32 32 2e 33 20 48 3d 34 31 2e 34 00
Notification handle = 0x000e value,54 3d 32 32 2e 33 20 48 3d 34 31 2e 33 00
Notification handle = 0x000e value,54 3d 32 32 2e 33 20 48 3d 34 31 2e 32 00

2018.01.27 19:59:24 3: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: another gatttool process is running. waiting...
[...]
2018.01.27 20:00:47 3: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.01.27 20:00:48 1: Timeout for XiaomiBTLESens_ExecGatttool_Run reached, terminated process 1861
2018.01.27 20:00:48 4: XiaomiBTLESens (xbtle.temp.eg.flur) - WriteReadings: Readings were written
2018.01.27 20:00:48 4: XiaomiBTLESens (xbtle.temp.eg.flur) - Run CreateParamGatttool with mod: write
2018.01.27 20:00:48 5: XiaomiBTLESens (xbtle.temp.eg.flur) - Write XiaomiBTLESens_ExecGatttool_Run xbtle.temp.eg.flur|4C:65:A8:D0:42:63|write|0x10|0100
2018.01.27 20:00:48 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Aborted: The BlockingCall Process terminated unexpectedly. Timedout
2018.01.27 20:00:48 3: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: another gatttool process is running. waiting...
[...]
2018.01.27 20:01:50 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command timeout -s 15 -k 15 5 ssh fhem@radiohub-1.home 'gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-write-req -a 0x10 -n 0100 --listen 2>&1 /dev/null' and loop 0
2018.01.27 20:01:55 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully

2018.01.27 20:01:55 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value was written successfully

2018.01.27 20:01:56 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-read -a 0x35 2>&1 /dev/null' and loop 0
2018.01.27 20:01:57 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,08 36 00 10 00

2018.01.27 20:01:57 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,08 36 00 10 00

2018.01.27 20:01:57 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Done: gatttool return string: xbtle.temp.eg.flur|4C:65:A8:D0:42:63|ok|read|0x35|{"gtResult":"08 36 00 10 00 "}
2018.01.27 20:01:57 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ProcessingNotification
2018.01.27 20:01:57 4: XiaomiBTLESens (xbtle.temp.eg.flur) - WriteReadings: Readings were written

Nachdem ich dann den Prozess auf der Remote-Kiste abgeschossen habe, funktioniert es... scheinbar.
Scheinbar, weil zwar das Auslesen und Aktualisieren der Readings klappt, aber dennoch der Prozess vom gatttool zum Zombie wird - sprich nicht beendet wird. Das ist hier im log übrigens NICHT ersichtlich, aber ich wollte nicht schon wieder Unmengen von Loggings pasten:

2018.01.27 20:01:57 4: XiaomiBTLESens (xbtle.temp.eg.flur) - Run CreateParamGatttool with mod: write
2018.01.27 20:01:57 5: XiaomiBTLESens (xbtle.temp.eg.flur) - Write XiaomiBTLESens_ExecGatttool_Run xbtle.temp.eg.flur|4C:65:A8:D0:42:63|write|0x10|0100
2018.01.27 20:01:58 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command timeout -s 15 -k 15 5 ssh fhem@radiohub-1.home 'gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-write-req -a 0x10 -n 0100 --listen 2>&1 /dev/null' and loop 0
2018.01.27 20:02:03 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully
Notification handle = 0x000e value,54 3d 32 32 2e 33 20 48 3d 34 31 2e 33 00

2018.01.27 20:02:03 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value was written successfully
Notification handle = 0x000e value,54 3d 32 32 2e 33 20 48 3d 34 31 2e 33 00

2018.01.27 20:02:03 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Done: gatttool return string: xbtle.temp.eg.flur|4C:65:A8:D0:42:63|ok|write|0x10|{"gtResult":"54 3d 32 32 2e 33 20 48 3d 34 31 2e 33 00 "}
2018.01.27 20:02:03 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ProcessingNotification
2018.01.27 20:02:03 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ProcessingNotification: handle 0x10
2018.01.27 20:02:03 4: XiaomiBTLESens (xbtle.temp.eg.flur) - Thermo/Hygro Sens Handle0x10
2018.01.27 20:02:03 4: XiaomiBTLESens (xbtle.temp.eg.flur) - WriteReadings: Readings were written
2018.01.27 20:02:32 3: XiaomiBTLESens (xbtle.temp.eg.flur) - disabled

In einem Fall errreicht der fhem-code den Status "ExecGatttool_Done", im anderen nicht. Dennoch verbleibt in beiden Fällen der Prozess als Zombie.

Das Remotesystem ist übrigens ein frisch aufgesetzter RasPi2 mit Raspbian/Stretch ohne eigenen Code. Es läuft noch ser2net mit einem cul und einem usb310 und ein mpd. ansonsten ist fröhliches idlen angesagt.

Wenn ich vom fhem den Aufruf machen (timeout -s 15 -k 15 5 ssh fhem@radiohub-1.home 'gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-write-req -a 0x10 -n 0100 --listen 2>&1 /dev/null' and loop 0) dann bekomme ich mal keine Antwort, mal die Meldung keine Verbindung und auch mal Daten. Was aber noch nie passiert ist, dass der remote-Prozess stehen bleibt.  :o

Ich hab mal wild das selbe Kommando mehrfach vom fhem abgesetzt. Zeitweise waren zwei Tasks im Remote-System. Das habe ich so beim Modul noch nicht beobachtet. Allerdings ist bei diesem Versuch auch ein Zombie entstanden.

Theorie: mehrere Aufrufe aus dem Modul ohne eine Pause dazwischen führen zum Zombie?! Ich weiß, ist wild. Weiß ja nicht mal, wie genau die (mehrfachen) aÁufrufe im Modul getimed sind. Aber langsam gehen mir die Erklärungen aus :/

ich raff es einfach nicht.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 27 Januar 2018, 20:57:27
Magst bitte noch mal testen.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: distel am 27 Januar 2018, 21:09:21
Magst bitte noch mal testen.

Leider ohne Erfolg:
2018.01.27 21:03:17 3: XiaomiBTLESens (xbtle.temp.eg.flur) - enabled
2018.01.27 21:03:17 4: XiaomiBTLESens (xbtle.temp.eg.flur) - Run CreateParamGatttool with mod: read
2018.01.27 21:03:17 5: XiaomiBTLESens (xbtle.temp.eg.flur) - Read XiaomiBTLESens_ExecGatttool_Run xbtle.temp.eg.flur|4C:65:A8:D0:42:63|read|0x18
2018.01.27 21:03:17 4: XiaomiBTLESens (xbtle.temp.eg.flur) - stateRequestTimer: Call Request Timer
2018.01.27 21:03:18 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-read -a 0x18 2>&1 /dev/null' and loop 0
2018.01.27 21:03:21 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,60

2018.01.27 21:03:21 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,60

2018.01.27 21:03:21 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Done: gatttool return string: xbtle.temp.eg.flur|4C:65:A8:D0:42:63|ok|read|0x18|{"gtResult":"60 "}
2018.01.27 21:03:21 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ProcessingNotification
2018.01.27 21:03:21 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ProcessingNotification: handle 0x18
2018.01.27 21:03:21 4: XiaomiBTLESens (xbtle.temp.eg.flur) - Thermo/Hygro Sens Handle0x18
2018.01.27 21:03:21 1: PERL WARNING: Illegal hexadecimal digit ' ' ignored at ./FHEM/74_XiaomiBTLESens.pm line 682.
2018.01.27 21:03:21 3: eval: {XiaomiBTLESens_ExecGatttool_Done('xbtle.temp.eg.flur|4C:65:A8:D0:42:63|ok|read|0x18|{"gtResult":"60 "}')}
2018.01.27 21:03:21 1: PERL WARNING: Illegal hexadecimal digit ' ' ignored at ./FHEM/74_XiaomiBTLESens.pm line 683.
2018.01.27 21:03:21 3: eval: {XiaomiBTLESens_ExecGatttool_Done('xbtle.temp.eg.flur|4C:65:A8:D0:42:63|ok|read|0x18|{"gtResult":"60 "}')}
2018.01.27 21:03:21 4: XiaomiBTLESens (xbtle.temp.eg.flur) - WriteReadings: Readings were written
2018.01.27 21:03:21 4: XiaomiBTLESens (xbtle.temp.eg.flur) - Run CreateParamGatttool with mod: write
2018.01.27 21:03:21 5: XiaomiBTLESens (xbtle.temp.eg.flur) - Write XiaomiBTLESens_ExecGatttool_Run xbtle.temp.eg.flur|4C:65:A8:D0:42:63|write|0x10|0100
2018.01.27 21:03:22 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command timeout -s 9 10 ssh fhem@radiohub-1.home 'gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-write-req -a 0x10 -n 0100 --listen 2>&1 /dev/null' and loop 0
Killed
2018.01.27 21:03:32 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully
Notification handle = 0x000e value,54 3d 32 32 2e 31 20 48 3d 34 32 2e 32 00
Notification handle = 0x000e value,54 3d 32 32 2e 31 20 48 3d 34 32 2e 31 00
Notification handle = 0x000e value,54 3d 32 32 2e 31 20 48 3d 34 32 2e 33 00
Notification handle = 0x000e value,54 3d 32 32 2e 32 20 48 3d 34 32 2e 33 00
Notification handle = 0x000e value,54 3d 32 32 2e 32 20 48 3d 34 32 2e 32 00

2018.01.27 21:03:32 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value was written successfully
Notification handle = 0x000e value,54 3d 32 32 2e 31 20 48 3d 34 32 2e 32 00
Notification handle = 0x000e value,54 3d 32 32 2e 31 20 48 3d 34 32 2e 31 00
Notification handle = 0x000e value,54 3d 32 32 2e 31 20 48 3d 34 32 2e 33 00
Notification handle = 0x000e value,54 3d 32 32 2e 32 20 48 3d 34 32 2e 33 00
Notification handle = 0x000e value,54 3d 32 32 2e 32 20 48 3d 34 32 2e 32 00

2018.01.27 21:03:33 3: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: another gatttool process is running. waiting...
[...]
2018.01.27 21:04:16 3: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: another gatttool process is running. waiting...

==> Prozess auf Remote-system abgeschossen

2018.01.27 21:04:18 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-read -a 0x35 2>&1 /dev/null' and loop 0
2018.01.27 21:04:22 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,08 36 00 10 00

2018.01.27 21:04:22 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,08 36 00 10 00

2018.01.27 21:04:22 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Done: gatttool return string: xbtle.temp.eg.flur|4C:65:A8:D0:42:63|ok|read|0x35|{"gtResult":"08 36 00 10 00 "}
2018.01.27 21:04:22 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ProcessingNotification
2018.01.27 21:04:22 4: XiaomiBTLESens (xbtle.temp.eg.flur) - WriteReadings: Readings were written

*sigh*
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 27 Januar 2018, 21:23:43
Dann bin ich erstmal Ratlos.

Kannst Du bitte mal etwas testen. Und zwar in der Shell folgendes ausführen

gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-write-req -a 0x10 -n 0100

und dann gleich danach

gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-read -a 0x10
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: distel am 27 Januar 2018, 21:31:16
Dann bin ich erstmal Ratlos
Da mach ich mit. Werde testen, aber nicht mehr heute... Muss die Depression runterspülen. Ich danke dir jedenfalls für deine Geduld und schnelle Reaktion. Ich hab die Hoffnung noch nicht komplett an den Nagel gehängt - nur für heute Abend ;-)
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 27 Januar 2018, 21:41:13
Ich bin so ein Doofi. Fehler gefunden. Bekommst morgen was zum testen.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 27 Januar 2018, 21:53:13
So Du kannst dann mal bitte noch einmal testen. Danke Dir
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: distel am 28 Januar 2018, 13:08:40
So Du kannst dann mal bitte noch einmal testen. Danke Dir

Jetzt bin ich mindestens 50% glücklicher. Warum nur 50%? Nun, keine Zombies mehr! Yay! Aber: auch keine Readings! Hmmm! Da die Werte aber ankommen (siehe Log unten) kann das (hoffentlich) nicht so ein Kracher wie unreproduzierbare Zombies sein :-)

2018.01.28 10:40:45 4: XiaomiBTLESens (xbtle.temp.eg.flur) - Run CreateParamGatttool with mod: write
2018.01.28 10:40:45 5: XiaomiBTLESens (xbtle.temp.eg.flur) - Write XiaomiBTLESens_ExecGatttool_Run xbtle.temp.eg.flur|4C:65:A8:D0:42:63|write|0x10|0100
2018.01.28 10:40:47 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'timeout 15 gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-write-req -a 0x10 -n 0100 --listen 2>&1 /dev/null' and loop 0
2018.01.28 10:40:48 3: XiaomiBTLESens (xbtle.temp.eg.flur) - disabled
2018.01.28 10:41:02 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully
Notification handle = 0x000e value,54 3d 32 32 2e 30 20 48 3d 34 37 2e 31 00
Notification handle = 0x000e value,54 3d 32 31 2e 39 20 48 3d 34 37 2e 33 00
Notification handle = 0x000e value,54 3d 32 32 2e 30 20 48 3d 34 37 2e 31 00
Notification handle = 0x000e value,54 3d 32 32 2e 30 20 48 3d 34 37 2e 32 00
Notification handle = 0x000e value,54 3d 32 32 2e 30 20 48 3d 34 37 2e 30 00
Notification handle = 0x000e value,54 3d 32 31 2e 39 20 48 3d 34 37 2e 32 00
Notification handle = 0x000e value,54 3d 32 32 2e 30 20 48 3d 34 37 2e 32 00
Notification handle = 0x000e value,54 3d 32 31 2e 39 20 48 3d 34 37 2e 32 00

2018.01.28 10:41:02 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value was written successfully
Notification handle = 0x000e value,54 3d 32 32 2e 30 20 48 3d 34 37 2e 31 00
Notification handle = 0x000e value,54 3d 32 31 2e 39 20 48 3d 34 37 2e 33 00
Notification handle = 0x000e value,54 3d 32 32 2e 30 20 48 3d 34 37 2e 31 00
Notification handle = 0x000e value,54 3d 32 32 2e 30 20 48 3d 34 37 2e 32 00
Notification handle = 0x000e value,54 3d 32 32 2e 30 20 48 3d 34 37 2e 30 00
Notification handle = 0x000e value,54 3d 32 31 2e 39 20 48 3d 34 37 2e 32 00
Notification handle = 0x000e value,54 3d 32 32 2e 30 20 48 3d 34 37 2e 32 00
Notification handle = 0x000e value,54 3d 32 31 2e 39 20 48 3d 34 37 2e 32 00

2018.01.28 10:41:03 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-read -a 0x35 2>&1 /dev/null' and loop 0
2018.01.28 10:41:10 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,08 36 00 10 00

2018.01.28 10:41:10 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,08 36 00 10 00

2018.01.28 10:41:10 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Done: gatttool return string: xbtle.temp.eg.flur|4C:65:A8:D0:42:63|ok|read|0x35|{"gtResult":"08 36 00 10 00 "}
2018.01.28 10:41:10 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ProcessingNotification
2018.01.28 10:41:10 4: XiaomiBTLESens (xbtle.temp.eg.flur) - WriteReadings: Readings were written

Ich seh grad, in den log hat sich das 'disabled' dazwischengemogelt. Ist bei den vorhergehenden Durchläufen aber genauso gewesen.

Habs noch etwas laufen lassen und es hat tatsächlich auch mal eine Aktualisierung der Messwerte gegeben. Zum Unterschied gibt es hier nur eine Zeile Rückmeldung:

2018.01.29 15:30:13 4: XiaomiBTLESens (xbtle.temp.eg.flur) - WriteReadings: Readings were written
2018.01.29 15:30:13 4: XiaomiBTLESens (xbtle.temp.eg.flur) - Run CreateParamGatttool with mod: write
2018.01.29 15:30:13 5: XiaomiBTLESens (xbtle.temp.eg.flur) - Write XiaomiBTLESens_ExecGatttool_Run xbtle.temp.eg.flur|4C:65:A8:D0:42:63|write|0x10|0100
2018.01.29 15:30:14 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'timeout 15 gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-write-req -a 0x10 -n 0100 --listen 2>&1 /dev/null' and loop 0
2018.01.29 15:30:29 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully
Notification handle = 0x000e value,54 3d 32 31 2e 39 20 48 3d 34 38 2e 31 00

2018.01.29 15:30:29 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value was written successfully
Notification handle = 0x000e value,54 3d 32 31 2e 39 20 48 3d 34 38 2e 31 00

2018.01.29 15:30:29 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Done: gatttool return string: xbtle.temp.eg.flur|4C:65:A8:D0:42:63|ok|write|0x10|{"gtResult":"54 3d 32 31 2e 39 20 48 3d 34 38 2e 31 00 "}
2018.01.29 15:30:29 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ProcessingNotification
2018.01.29 15:30:29 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ProcessingNotification: handle 0x10
2018.01.29 15:30:29 4: XiaomiBTLESens (xbtle.temp.eg.flur) - Thermo/Hygro Sens Handle0x10
2018.01.29 15:30:29 4: XiaomiBTLESens (xbtle.temp.eg.flur) - WriteReadings: Readings were written
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: trinitywhm am 29 Januar 2018, 20:58:56
Ich habe hier auch vermehrt Fehler nach der Umstellung. Im Device das Reading
lastGattError
The BlockingCall Process terminated unexpectedly. Timedout

Im Log mit verbose 5 nach einem "get sensorData"
2018.01.26 19:21:06 4: XiaomiBTLESens (WZ_Pflanze1) - Run CreateParamGatttool with mod: read
2018.01.26 19:21:06 4: XiaomiBTLESens (WZ_Pflanze1) - Read XiaomiBTLESens_ExecGatttool_Run WZ_Pflanze1|C4:7C:8D:63:6D:E9|read|0x38
2018.01.26 19:21:34 5: XiaomiBTLESens (WZ_Pflanze1) - ExecGatttool_Run: gatttool loop result connect error,Connection refused (111)

2018.01.26 19:21:34 5: XiaomiBTLESens (WZ_Pflanze1) - ExecGatttool_Run: call gatttool with command gatttool -i hci0 -b C4:7C:8D:63:6D:E9 --char-read -a 0x38 2>&1 /dev/null and loop 1
2018.01.26 19:21:53 1: Timeout for XiaomiBTLESens_ExecGatttool_Run reached, terminated process 3521
2018.01.26 19:21:54 4: XiaomiBTLESens (WZ_Pflanze1) - WriteReadings: Readings were written
2018.01.26 19:21:54 4: XiaomiBTLESens (WZ_Pflanze1) - ExecGatttool_Aborted: The BlockingCall Process terminated unexpectedly. Timedout
2018.01.26 19:24:50 4: XiaomiBTLESens (WZ_Pflanze1) - Run CreateParamGatttool with mod: read
2018.01.26 19:24:51 4: XiaomiBTLESens (WZ_Pflanze1) - Read XiaomiBTLESens_ExecGatttool_Run WZ_Pflanze1|C4:7C:8D:63:6D:E9|read|0x38
2018.01.26 19:24:51 4: XiaomiBTLESens (WZ_Pflanze1) - stateRequestTimer: Call Request Timer
2018.01.26 19:24:51 5: XiaomiBTLESens (WZ_Pflanze1) - ExecGatttool_Run: call gatttool with command gatttool -i hci0 -b C4:7C:8D:63:6D:E9 --char-read -a 0x38 2>&1 /dev/null and loop 0
2018.01.26 19:25:31 5: XiaomiBTLESens (WZ_Pflanze1) - ExecGatttool_Run: gatttool loop result connect error,Connection refused (111)
2018.01.26 19:25:31 5: XiaomiBTLESens (WZ_Pflanze1) - ExecGatttool_Run: call gatttool with command gatttool -i hci0 -b C4:7C:8D:63:6D:E9 --char-read -a 0x38 2>&1 /dev/null and loop 1
2018.01.26 19:25:50 1: Timeout for XiaomiBTLESens_ExecGatttool_Run reached, terminated process 3798
2018.01.26 19:25:51 4: XiaomiBTLESens (WZ_Pflanze1) - WriteReadings: Readings were written
2018.01.26 19:25:51 4: XiaomiBTLESens (WZ_Pflanze1) - ExecGatttool_Aborted: The BlockingCall Process terminated unexpectedly. Timedout
2018.01.26 19:26:29 1: Timeout for XiaomiBTLESens_ExecGatttool_Run reached, terminated process 3921
2018.01.26 19:27:13 1: Timeout for XiaomiBTLESens_ExecGatttool_Run reached, terminated process 3965
Und diese letzte Timeout-Meldung zieht sich schon durch den ganzen Tag, mal sporadisch, mal im Abstand von ein bis zwei Minuten.

Auch wenn das zwei verschiedene Probleme sein mögen, habe ich dennoch immernoch o.g. Meldungen im Log. Auch mit verbose 0 auf allen Pflanzensensoren kommen die Timeout-Meldungen im Log. Habe die Pflanzensensoren nun alle disabled.
@CoolTux: Ist denn hier eine Lösung in Sicht, oder soll ich zunächst wieder auf das alte Modul zurückgehen?
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 29 Januar 2018, 21:12:48
Bei den ganzen Logs was Du mir gegeben hast sehe ich ausschließlich das Abrufen der Firmware und der Batterie.
Wie ist es wenn Du (nur zu Testzwecken) eine Pflanze näher ran holst?
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: trinitywhm am 29 Januar 2018, 21:43:08
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.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 29 Januar 2018, 21:49:01
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.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: trinitywhm am 29 Januar 2018, 22:16:51
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?
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: trinitywhm am 30 Januar 2018, 08:24:14
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
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 30 Januar 2018, 09:17:05
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.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: trinitywhm am 30 Januar 2018, 09:39:06
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".....
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 30 Januar 2018, 09:54:35
Hast Du in der Zeit auch ein Distributions Update gemacht? welche gatttool Version hast Du?
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: trinitywhm am 30 Januar 2018, 10:56:37
Nein, ich habe kein Distributionsupdate gemacht. Wie finde ich die Version von gatttool heraus?
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 30 Januar 2018, 11:38:43
gatttool --version
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: trinitywhm am 30 Januar 2018, 11:50:42
Das hatte ich auch versucht, aber den Aufruf gibt es wohl nicht. Hab Debian jessie.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 30 Januar 2018, 13:29:17
Das hatte ich auch versucht, aber den Aufruf gibt es wohl nicht. Hab Debian jessie.

bluetoothctl --version
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: trinitywhm am 30 Januar 2018, 18:21:26
bluetoothctl --version

OK, danke. Das funktioniert.
Version 5.23
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: distel am 30 Januar 2018, 19:09:10
bluetoothctl --version
Mein RasPi (der remote Rechner) hat 5.43 der NUC 5.37.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 30 Januar 2018, 19:28:21
Ich habe 5.43

Welche distribution plus Version hast du?
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: distel am 30 Januar 2018, 19:33:50
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
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 30 Januar 2018, 19:37:10
Mal schauen was trinitywhm hat.
Habe schon öfters über Probleme mit älteren bluez Versionen gelesen.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: trinitywhm am 30 Januar 2018, 21:09:27
Ich habe ein Raspi 3 mit raspbian jessie
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 30 Januar 2018, 21:14:13
Dann schlage ich vor einfach mal auf Stretch zu gehen und dann zu schauen. Versprechen kann ich nichts aber es wäre ein Anfang.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: trinitywhm am 30 Januar 2018, 21:27:00
Die Antwort habe ich befürchtet. Aber ich weiß dass das der nächste sinnvolle Schritt ist.
Wir allerdings adhoc jetzt nix, melde mich wenn ich damit durch bin und ob es was gebracht hat.
Danke bis hierhin.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 30 Januar 2018, 21:34:04
Ich danke Dir fürs fleißige testen.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: distel am 31 Januar 2018, 08:42:48
Hi,

das Thema hier hast Du noch auf dem Schirm? https://forum.fhem.de/index.php/topic,82572.msg757022.html#msg757022 (https://forum.fhem.de/index.php/topic,82572.msg757022.html#msg757022)

Kurzfassung:
- Keine Zombies mehr
- selten klappt das Verarbeiten der Rückmeldung (beobachtet, wenn nur eine Zeile als Antwort kommt)
- häufig klappt das Verarbeiten der Rückmeldung nicht (beobachtet, wenn mehr als eine Zeile als Antwort kommt)

Gruß Dirk
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 31 Januar 2018, 08:56:20
Hab ich auf dem Schirm. Glaube habe auch schon was gemacht.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 31 Januar 2018, 08:58:40
Auch wenn das zwei verschiedene Probleme sein mögen, habe ich dennoch immernoch o.g. Meldungen im Log. Auch mit verbose 0 auf allen Pflanzensensoren kommen die Timeout-Meldungen im Log. Habe die Pflanzensensoren nun alle disabled.
@CoolTux: Ist denn hier eine Lösung in Sicht, oder soll ich zunächst wieder auf das alte Modul zurückgehen?

Kannst Du mir ein Gefallen tun und das ganze bitte einmal ohne SSH testen?


Grüße
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: distel am 31 Januar 2018, 12:36:30
Hab ich auf dem Schirm. Glaube habe auch schon was gemacht.
Dann schaul ich mal am Abend und zieh die aktuelle devel.zip drauf. Vielleicht ist ja schon alles gut :)
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 31 Januar 2018, 12:39:29
Dann schaul ich mal am Abend und zieh die aktuelle devel.zip drauf. Vielleicht ist ja schon alles gut :)

Sei mal so nett. Mich interessiert gerade ob das vom SSH kommt oder generell so nicht ganz sauber läuft.
Danke Dir.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: distel am 31 Januar 2018, 21:04:05
Sei mal so nett. Mich interessiert gerade ob das vom SSH kommt oder generell so nicht ganz sauber läuft.
Danke Dir.
So, hab die aktuelle devel5 nochmal gezogen und probiert. Es scheint wirklich daran zu liegen, dass die Abfragen auf das gelieferte Ergebnis nicht funktionieren, wenn mehr als eine "Antwortzeile" kommt.

Mit dieser Rückgabe klappt es:
2018.01.31 20:30:12 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'timeout 15 gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-write-req -a 0x10 -n 0100 --listen 2>&1 /dev/null' and loop 0
2018.01.31 20:30:27 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully
Notification handle = 0x000e value,54 3d 32 31 2e 39 20 48 3d 34 36 2e 36 00

2018.01.31 20:30:27 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value was written successfully
Notification handle = 0x000e value,54 3d 32 31 2e 39 20 48 3d 34 36 2e 36 00

2018.01.31 20:30:27 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Done: gatttool return string: xbtle.temp.eg.flur|4C:65:A8:D0:42:63|ok|write|0x10|{"gtResult":"54 3d 32 31 2e 39 20 48 3d 34 36 2e 36 00 "}

Sekunden später klappt es nicht:
2018.01.31 20:33:38 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'timeout 15 gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-write-req -a 0x10 -n 0100 --listen 2>&1 /dev/null' and loop 0
2018.01.31 20:33:54 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully
Notification handle = 0x000e value,54 3d 32 31 2e 39 20 48 3d 34 36 2e 37 00
...
Notification handle = 0x000e value,54 3d 32 31 2e 39 20 48 3d 34 36 2e 35 00

2018.01.31 20:33:54 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value was written successfully
Notification handle = 0x000e value,54 3d 32 31 2e 39 20 48 3d 34 36 2e 37 00
...
Notification handle = 0x000e value,54 3d 32 31 2e 39 20 48 3d 34 36 2e 35 00

2018.01.31 20:33:55 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-read -a 0x35 2>&1 /dev/null' and loop 0

Das Thermometer hat halt die "Angewohnheit", seine Messwerte bis ca. 10x rauszuposaunen. :-/

Hab in Deinen Code geschaut, und bin irgendwo in der Ecke Zeile 490 hängen geblieben. Leider habe ich keine Ahnung vom Array/String-Handling in Perl, daher kann ich nicht beurteilen, was im jeweiligen Falle in $gtResult[1] drin ist. Daher hab ich zwei Log3 Aufrufe eingefügt:
2018.01.31 20:44:34 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully
Notification handle = 0x000e value,54 3d 32 31 2e 39 20 48 3d 34 36 2e 36 00
Notification handle = 0x000e value,54 3d 32 31 2e 39 20 48 3d 34 36 2e 35 00

2018.01.31 20:44:34 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value was written successfully
Notification handle = 0x000e value,54 3d 32 31 2e 39 20 48 3d 34 36 2e 36 00
Notification handle = 0x000e value,54 3d 32 31 2e 39 20 48 3d 34 36 2e 35 00

2018.01.31 20:44:34 5: XiaomiBTLESens (xbtle.temp.eg.flur) - gtResult[1]: 54 3d 32 31 2e 39 20 48 3d 34 36 2e 36 00
Notification handle = 0x000e value
2018.01.31 20:44:34 5: XiaomiBTLESens (xbtle.temp.eg.flur) - json_notification: {"gtResult":"54 3d 32 31 2e 39 20 48 3d 34 36 2e 36 00 \nNotification handle = 0x000e value"}
2018.01.31 20:44:36 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'gatt

Knackpunkt dürfte sein, dass im Element [1] nicht nut der "Response"-Teil "54 3d 32 31 2e 39 20 48 3d 34 36 2e 36 00" sondern nach einem Umbruch o.ä. auch noch der Führungstext der nächsten Zeile "Notification handle = 0x000e value" drin ist.

Die folgende RegEx "if($gtResult[1] =~ /^([0-9a-f]{2}(\s?))*$/) {" refrenziert aber auf das Ende des Strings, dass erst nach dem zweiten Teil (Führungstext) erreicht ist. Somit scheint mir klar, warum es funktioniert, wenn nur genau eine Antwortzeile zurückkommt.

Das Zeichen, das für den Umbruch sorgt ist ein "0A" in Hex - also klassischer LineFeed. den müsstest Du noch irgendwie ausfiltern/ersetzen, so dass die Antwort tatsächlich "frei" steht. Ich habe eine Ausgabe vom gatttool angehängt, da dort auch noch ein Leerzeichen vor dem 0A steht. Dann kannst Du dagegen prüfen.

Gruß

Dirk
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 31 Januar 2018, 22:15:24
Danke Dir, das schaue ich mir morgen Vormittag mal an.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 01 Februar 2018, 13:57:19
So, hab die aktuelle devel5 nochmal gezogen und probiert. Es scheint wirklich daran zu liegen, dass die Abfragen auf das gelieferte Ergebnis nicht funktionieren, wenn mehr als eine "Antwortzeile" kommt.

Mit dieser Rückgabe klappt es:
2018.01.31 20:30:12 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'timeout 15 gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-write-req -a 0x10 -n 0100 --listen 2>&1 /dev/null' and loop 0
2018.01.31 20:30:27 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully
Notification handle = 0x000e value,54 3d 32 31 2e 39 20 48 3d 34 36 2e 36 00

2018.01.31 20:30:27 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value was written successfully
Notification handle = 0x000e value,54 3d 32 31 2e 39 20 48 3d 34 36 2e 36 00

2018.01.31 20:30:27 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Done: gatttool return string: xbtle.temp.eg.flur|4C:65:A8:D0:42:63|ok|write|0x10|{"gtResult":"54 3d 32 31 2e 39 20 48 3d 34 36 2e 36 00 "}

Sekunden später klappt es nicht:
2018.01.31 20:33:38 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'timeout 15 gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-write-req -a 0x10 -n 0100 --listen 2>&1 /dev/null' and loop 0
2018.01.31 20:33:54 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully
Notification handle = 0x000e value,54 3d 32 31 2e 39 20 48 3d 34 36 2e 37 00
...
Notification handle = 0x000e value,54 3d 32 31 2e 39 20 48 3d 34 36 2e 35 00

2018.01.31 20:33:54 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value was written successfully
Notification handle = 0x000e value,54 3d 32 31 2e 39 20 48 3d 34 36 2e 37 00
...
Notification handle = 0x000e value,54 3d 32 31 2e 39 20 48 3d 34 36 2e 35 00

2018.01.31 20:33:55 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'gatttool -i hci0 -b 4C:65:A8:D0:42:63 --char-read -a 0x35 2>&1 /dev/null' and loop 0

Das Thermometer hat halt die "Angewohnheit", seine Messwerte bis ca. 10x rauszuposaunen. :-/

Hab in Deinen Code geschaut, und bin irgendwo in der Ecke Zeile 490 hängen geblieben. Leider habe ich keine Ahnung vom Array/String-Handling in Perl, daher kann ich nicht beurteilen, was im jeweiligen Falle in $gtResult[1] drin ist. Daher hab ich zwei Log3 Aufrufe eingefügt:
2018.01.31 20:44:34 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully
Notification handle = 0x000e value,54 3d 32 31 2e 39 20 48 3d 34 36 2e 36 00
Notification handle = 0x000e value,54 3d 32 31 2e 39 20 48 3d 34 36 2e 35 00

2018.01.31 20:44:34 4: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: gatttool result Characteristic value was written successfully
Notification handle = 0x000e value,54 3d 32 31 2e 39 20 48 3d 34 36 2e 36 00
Notification handle = 0x000e value,54 3d 32 31 2e 39 20 48 3d 34 36 2e 35 00

2018.01.31 20:44:34 5: XiaomiBTLESens (xbtle.temp.eg.flur) - gtResult[1]: 54 3d 32 31 2e 39 20 48 3d 34 36 2e 36 00
Notification handle = 0x000e value
2018.01.31 20:44:34 5: XiaomiBTLESens (xbtle.temp.eg.flur) - json_notification: {"gtResult":"54 3d 32 31 2e 39 20 48 3d 34 36 2e 36 00 \nNotification handle = 0x000e value"}
2018.01.31 20:44:36 5: XiaomiBTLESens (xbtle.temp.eg.flur) - ExecGatttool_Run: call gatttool with command ssh fhem@radiohub-1.home 'gatt

Knackpunkt dürfte sein, dass im Element [1] nicht nut der "Response"-Teil "54 3d 32 31 2e 39 20 48 3d 34 36 2e 36 00" sondern nach einem Umbruch o.ä. auch noch der Führungstext der nächsten Zeile "Notification handle = 0x000e value" drin ist.

Die folgende RegEx "if($gtResult[1] =~ /^([0-9a-f]{2}(\s?))*$/) {" refrenziert aber auf das Ende des Strings, dass erst nach dem zweiten Teil (Führungstext) erreicht ist. Somit scheint mir klar, warum es funktioniert, wenn nur genau eine Antwortzeile zurückkommt.

Das Zeichen, das für den Umbruch sorgt ist ein "0A" in Hex - also klassischer LineFeed. den müsstest Du noch irgendwie ausfiltern/ersetzen, so dass die Antwort tatsächlich "frei" steht. Ich habe eine Ausgabe vom gatttool angehängt, da dort auch noch ein Leerzeichen vor dem 0A steht. Dann kannst Du dagegen prüfen.

Gruß

Dirk

Ich bilde mir ein jetzt habe ich es. Kannst Du bitte einmal die neuste Develversion Dir holen.


Grüße
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: distel am 01 Februar 2018, 21:12:32
Ich bilde mir ein jetzt habe ich es. Kannst Du bitte einmal die neuste Develversion Dir holen.

Hmm, leider funktioniert es damit nicht.
Ich weiß leider nicht, was die Blumen-Sensoren an Rückgabe liefern, daher fällt es mir schwer, etwas zu ersinnen, was für beide funktioniert.

Das Thermometer liefert wie folgt (Beispiel mit mehr als einer Antwortzeile:
Characteristic value was written successfully\n
Notification handle = 0x000e value: 54 3d 32 31 2e 39 20 48 3d 34 36 2e 35 00\n
Notification handle = 0x000e value: 54 3d 32 31 2e 39 20 48 3d 34 36 2e 36 00\n
Notification handle = 0x000e value: 54 3d 32 31 2e 39 20 48 3d 34 36 2e 35 00\n

Wenn du das jetzt Anhand des ": " splittest, bekommst du
Index 0Characteristic value was written successfully\n
Notification handle = 0x000e value
Index 154 3d 32 31 2e 39 20 48 3d 34 36 2e 35 00\n
Notification handle = 0x000e value
Index 254 3d 32 31 2e 39 20 48 3d 34 36 2e 36 00\n
Notification handle = 0x000e value
Index 354 3d 32 31 2e 39 20 48 3d 34 36 2e 35 00\n

Dann greifst Du auf Index 1 zu, hast da aber am Ende noch "zuviel" drinstehen und deine RegEx greift nicht.

Du könntest vor dem splitten die Umbrüche via RegEx durch ": "  ersetzen: ...  =~ s/\n/: /g;
Characteristic value was written successfully: Notification handle = 0x000e value: 54 3d 32 31 2e 39 20 48 3d 34 36 2e 35 00: Notification handle = 0x000e value: 54 3d 32 31 2e 39 20 48 3d 34 36 2e 36 00: Notification handle = 0x000e value: 54 3d 32 31 2e 39 20 48 3d 34 36 2e 35 00:
Und dann wie gehabt anhand von ": " splitten:
Index 0Characteristic value was written successfully
Index 1Notification handle = 0x000e value
Index 254 3d 32 31 2e 39 20 48 3d 34 36 2e 35 00
Index 3Notification handle = 0x000e value
Index 454 3d 32 31 2e 39 20 48 3d 34 36 2e 36 00
Index 5Notification handle = 0x000e value
Index 654 3d 32 31 2e 39 20 48 3d 34 36 2e 35 00
Index 7

Dann musst Du aber auf Index 2 zugreifen, nicht 1. Und da liegt die Crux: Wie genau (also inkl. \n oder ähnlichem sieht die Antwort vom FlowerSensor aus?

Alternativ könntest Du zwei Zweige einbauen, aus denen jeweils nur ein String herauskommt (ähnlich, wie du es mit der aktuellen Fallunterscheidung drin hast. Dann könnte ich "gefahrlos" ergänzen und dir den Teil zukommen lassen.

Gruß Dirk


Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 02 Februar 2018, 06:15:44
Guten Morgen Dirk,

Vielen Dank für Deine ausführliche Erklärung. Ich werde mal schauen das ich mir das die Tage anschaue. Denke ich habe da schon eine Idee.


Grüße
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: distel am 02 Februar 2018, 15:11:47
Vielen Dank für Deine ausführliche Erklärung. Ich werde mal schauen das ich mir das die Tage anschaue. Denke ich habe da schon eine Idee.
Eine mögliche Option wäre (für das Thermometer) auch noch statt auf einen fixen Index auf das letzte Element zuzugreifen. Ich weiß aber nicht, ob Perl einfach ein MaxIndex(Array) bereitstellt...
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 02 Februar 2018, 19:04:54
Eine mögliche Option wäre (für das Thermometer) auch noch statt auf einen fixen Index auf das letzte Element zuzugreifen. Ich weiß aber nicht, ob Perl einfach ein MaxIndex(Array) bereitstellt...

Perl kann sowas. Aber ich schaue mir das die Tage in Ruhe an. Sind ja Ferien und ich hab Urlaub.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: distel am 02 Februar 2018, 19:07:34
Sind ja Ferien und ich hab Urlaub.
Oh, hier in NRW nicht - sorry! Aber: ich bin (nicht mehr ganz) jung, ich kann (trotzdem) warten :-)
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 05 Februar 2018, 09:08:17
Bitte noch mal vorsichtig testen.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: distel am 05 Februar 2018, 20:38:04
Bitte noch mal vorsichtig testen.
Hi, hab erst vorsichtig, dann etwas mutiger getestet... Läuft! Daumen hoch!
Aktuell habe ich keine besonderen Vorkommnisse. Die Auswertung der SensorData-Antwort klappt. Auch get/set deviceName hauen hin (Regressionstests ;))

Also wenn es seitens der Flower-Sensor-Fraktion keine Einwände gibt :)


Gruß Dirk

PS: Habe jetzt zwei dran hängen und schaue mal, wie es sich so schlägt. lasse vorsichtshalber mal verbose 5 an  ::)
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: distel am 06 Februar 2018, 08:31:23
Aktuell läuft alles stabil, auch mit zwei Thermo-/Hygrometern. Die sensorData-Werte werden gelesen/ausgewertet/geloggt. Es gibt zwar keinen Garant dafür, dass die Dinger (recht-)zeitig Antworten, aber Code handelt das, ohne Zombies und andere Unschönheiten.

Vielen Dankan @CoolTux!
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Astrofreak85 am 06 Februar 2018, 19:02:58
Hi,

hab nun endlich meinen Sensor bekommen....am Handy läuft alles, aber beim einbinden in FHEM bekomme ich leider nur Errors:

2018.02.06 18:58:15 4: XiaomiBTLESens (Pflanzen) - Run CreateParamGatttool with mod: read
2018.02.06 18:58:15 4: XiaomiBTLESens (Pflanzen) - Read XiaomiBTLESens_ExecGatttool_Run Pflanzen|C4:7C:8D:65:D4:09|read|0x38
2018.02.06 18:58:40 1: Timeout for XiaomiBTLESens_ExecGatttool_Run reached, terminated process 3723
2018.02.06 18:58:40 4: XiaomiBTLESens (Pflanzen) - WriteReadings: Readings were written
2018.02.06 18:58:40 4: XiaomiBTLESens (Pflanzen) - ExecGatttool_Aborted: The BlockingCall Process terminated unexpectedly. Timedout
2018.02.06 18:59:56 4: XiaomiBTLESens (Pflanzen) - Run CreateParamGatttool with mod: read
2018.02.06 18:59:56 4: XiaomiBTLESens (Pflanzen) - Read XiaomiBTLESens_ExecGatttool_Run Pflanzen|C4:7C:8D:65:D4:09|read|0x38
2018.02.06 18:59:56 5: XiaomiBTLESens (Pflanzen) - ExecGatttool_Run: call gatttool with command gatttool -i hci0 -b C4:7C:8D:65:D4:09 --char-read -a 0x38 2>&1 /dev/null and loop 0
2018.02.06 19:00:37 5: XiaomiBTLESens (Pflanzen) - ExecGatttool_Run: gatttool loop result connect error,Connection refused (111)

2018.02.06 19:00:37 5: XiaomiBTLESens (Pflanzen) - ExecGatttool_Run: call gatttool with command gatttool -i hci0 -b C4:7C:8D:65:D4:09 --char-read -a 0x38 2>&1 /dev/null and loop 1
2018.02.06 19:00:56 1: Timeout for XiaomiBTLESens_ExecGatttool_Run reached, terminated process 3967
2018.02.06 19:00:56 4: XiaomiBTLESens (Pflanzen) - WriteReadings: Readings were written
2018.02.06 19:00:56 4: XiaomiBTLESens (Pflanzen) - ExecGatttool_Aborted: The BlockingCall Process terminated unexpectedly. Timedout

Jemand ne Idee was ich falsch mache?
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 06 Februar 2018, 19:35:35
Ich gehe davon aus daß er neu ist und noch die alte Firmware besitzt. Diese wird nicht mehr unterstützt. Bitte mache zu erst ein Firmware-Update
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Astrofreak85 am 06 Februar 2018, 20:14:18
hab ich, mit der App,
App sagt: 3.1.8 aktuelle und neueste Version
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 06 Februar 2018, 20:44:16
Dann sollte eigentlich gehen. Zeig mal bitte ein List vom Device
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Astrofreak85 am 06 Februar 2018, 22:07:14
Internals:
   BTMAC      C4:7C:8D:65:D4:09
   DEF        C4:7C:8D:65:D4:09
   INTERVAL   300
   NAME       Pflanzen
   NOTIFYDEV  global,Pflanzen
   NR         412
   NTFY_ORDER 50-Pflanzen
   STATE      error
   TYPE       XiaomiBTLESens
   VERSION    2.0.5
   loglevel   4
   READINGS:
     2018-02-06 21:03:51   battery         ok
     2018-02-06 21:03:51   batteryLevel    99
     2018-02-06 21:36:18   fertility       59
     2018-02-06 21:03:51   firmware        3.1.8
     2018-02-06 22:02:26   lastGattError   The BlockingCall Process terminated unexpectedly. Timedout
     2018-02-06 21:36:18   lux             43
     2018-02-06 21:36:18   moisture        25
     2018-02-06 22:02:26   state           error
     2018-02-06 21:36:18   temperature     19.6
   helper:
     CallBattery 0
     CallSensDataCounter 0
     updateTimeCallBattery 1517947431.6527
     updateTimestampCallBattery 2018-02-06 21:03:51
Attributes:
   model      flowerSens
   room       XiaomiBTLESens
   verbose    5
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 07 Februar 2018, 00:09:27
Scheint aber mal funktioniert zu haben. Kannst du zu Testzwecken den Sensor näher an den BT Dongle holen?
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: oko am 07 Februar 2018, 08:03:52
Also wenn es seitens der Flower-Sensor-Fraktion keine Einwände gibt :)
Sorry, wenn ich hier rein grätsche, aber ich hätte nen Einwand ;-)

Habe jetzt meine 3 Sensoren vom alten Flower-Sens auf's neue Modul umgestellt.

Im großen und ganzen funktioniert es, allerdings bekomme ich mehrmals am Tag extrem falsche Temperaturwerte.
Im SVG-Plot sind sie als einzelne Nadeln sichtbar, laut Statistikmodul ist der Wert dann 58981.5 °C.
Da der Sensor nicht zu Forschungszwecken in Sonnennähe platziert ist also eher unplausibel...

Wie gesagt, die Sensoren laufen seit letztem Jahr zuverlässig mit dem alten Modul und sie zeigen jetzt alle drei diese Ausreißer.

Welche Daten braucht ihr zur Eingrenzung des Fehlers?

Grüße
Olaf
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 07 Februar 2018, 08:42:26
Interessant wären Logs mit den Rohdaten zum Zeitpunkt der Ausreißer.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: oko am 07 Februar 2018, 09:35:42
Also Attribut "verbose" des Sensors auf 5, richtig?

Dann lass ich das mal den Tag über laufen und schau heute Abend die Logs durch...
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 07 Februar 2018, 09:49:26
Richtig. Und dann mal schauen um welche Uhrzeit der Fehler war und im Log nach schauen.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Astrofreak85 am 07 Februar 2018, 09:53:25
so, 1,5m war wohl zu viel, der BT-Empfänger ist jetzt auch 20cm ran zum Sensor, und siehe da, geht...thx :)
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 07 Februar 2018, 09:55:34
Ich habe einen Recht starken BT Empfänger. So rund 5m ist maximum. Liegt dann aber eher am Sensor. Der BT Empfänger kann wohl 40m im Freien.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: distel am 07 Februar 2018, 10:28:09
Sorry, wenn ich hier rein grätsche, aber ich hätte nen Einwand ;-)
Du sprichst wie ich von 74_XiaomiBTLESensor in der Version 2.0.6debug10?

Deine Schilderung lässt aber eher auf Fehler in der BT-Kommunikation, denn auf Verarbeitungsfehler im Modul schließen. Um das zu analysieren wären entsprechende logs von den fraglichen Zeitpunkten notwendig. Dort ist ersichtlich, was der Sensor via BT meldet und was das Modul draus gemacht hat.

Gruß Dirk
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: distel am 07 Februar 2018, 10:32:51
Ich habe einen Recht starken BT Empfänger. So rund 5m ist maximum. Liegt dann aber eher am Sensor. Der BT Empfänger kann wohl 40m im Freien.
Hab den BT-Stick von Pearl (PX-1632-953) - der soll 100m Reichweite haben. Nach einer massiven Wand ist allerdings recht schnell Schluss. Wird aber wie schon anderswo festgestellt mehr am Sensor liegen. Xiaomi hatte hier wohl auch mehr im Sinne, dass in jedem Zimmer ne WLAN-Lampe mit Bluetooth steht und somit nur "die letzte Meile" in Bluetooth gehandelt wird.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: oko am 07 Februar 2018, 11:36:59
Du sprichst wie ich von 74_XiaomiBTLESensor in der Version 2.0.6debug10?
Ähm, jetzt wo du es erwähnst...
74_XiaomiBTLESensor natürlich schon, aber nicht debug sondern die normale Version.
Ich hab gerade im Log geschaut, da kommen auch keine Roh-Daten.

Dann werde ich mal die Debug-Version laden und installieren...
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: mod25 am 07 Februar 2018, 21:34:41
hallo zusammen ich hab das problem das bei meine sensoren die temperature 58974.5 angezeigt wird.
ich nutze die 2.0.6 debug10

anbei ein log
2018.02.07 21:23:26 5: XiaomiBTLESens (oregano) - ExecGatttool_Run: gatttool loop result connect error,Transport endpoint is not connected (107)

2018.02.07 21:23:26 5: XiaomiBTLESens (oregano) - ExecGatttool_Run: call gatttool with command ssh home.fritz.box 'gatttool -i hci0 -b C4:7C:8D:65:EA:65 --char-read -a 0x38 2>&1 /dev/null' and loop 1
2018.02.07 21:23:38 5: XiaomiBTLESens (oregano) - ExecGatttool_Run: gatttool loop result connect error,Transport endpoint is not connected (107)

2018.02.07 21:23:38 5: XiaomiBTLESens (oregano) - ExecGatttool_Run: call gatttool with command ssh home.fritz.box 'gatttool -i hci0 -b C4:7C:8D:65:EA:65 --char-read -a 0x38 2>&1 /dev/null' and loop 2
2018.02.07 21:23:49 5: XiaomiBTLESens (oregano) - ExecGatttool_Run: gatttool loop result connect error,Transport endpoint is not connected (107)

2018.02.07 21:23:49 5: XiaomiBTLESens (oregano) - ExecGatttool_Run: call gatttool with command ssh home.fritz.box 'gatttool -i hci0 -b C4:7C:8D:65:EA:65 --char-read -a 0x38 2>&1 /dev/null' and loop 3
2018.02.07 21:24:02 5: XiaomiBTLESens (oregano) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,63 27 33 2e 31 2e 38

2018.02.07 21:24:02 4: XiaomiBTLESens (oregano) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,63 27 33 2e 31 2e 38

2018.02.07 21:24:02 5: XiaomiBTLESens (oregano) - ExecGatttool_Done: gatttool return string: oregano|C4:7C:8D:65:EA:65|ok|read|0x38|{"gtResult":"63 27 33 2e 31 2e 38 "}
2018.02.07 21:24:02 4: XiaomiBTLESens (oregano) - ProcessingNotification
2018.02.07 21:24:02 4: XiaomiBTLESens (oregano) - ProcessingNotification: handle 0x38
2018.02.07 21:24:02 4: XiaomiBTLESens (oregano) - FlowerSens Handle0x38
2018.02.07 21:24:02 4: XiaomiBTLESens (oregano) - WriteReadings: Readings were written
2018.02.07 21:24:02 4: XiaomiBTLESens (oregano) - Run CreateParamGatttool with mod: write
2018.02.07 21:24:02 5: XiaomiBTLESens (oregano) - Write XiaomiBTLESens_ExecGatttool_Run oregano|C4:7C:8D:65:EA:65|write|0x33|A01F
2018.02.07 21:24:03 5: XiaomiBTLESens (oregano) - ExecGatttool_Run: call gatttool with command ssh home.fritz.box 'gatttool -i hci0 -b C4:7C:8D:65:EA:65 --char-write-req -a 0x33 -n A01F && gatttool -i hci0 -b C4:7C:8D:65:EA:65 --char-read -a 0x35 2>&1 /dev/null' and loop 0
2018.02.07 21:24:04 5: XiaomiBTLESens (oregano) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully
Characteristic value/descriptor,f8 ff 00 83 00 00 00 0f 17 00 02 3c 00 fb 34 9b

2018.02.07 21:24:04 4: XiaomiBTLESens (oregano) - ExecGatttool_Run: gatttool result Characteristic value was written successfully
Characteristic value/descriptor,f8 ff 00 83 00 00 00 0f 17 00 02 3c 00 fb 34 9b

2018.02.07 21:24:04 5: XiaomiBTLESens (oregano) - ExecGatttool_Done: gatttool return string: oregano|C4:7C:8D:65:EA:65|ok|read|0x35|{"gtResult":"f8 ff 00 83 00 00 00 0f 17 00 02 3c 00 fb 34 9b "}
2018.02.07 21:24:04 4: XiaomiBTLESens (oregano) - ProcessingNotification
2018.02.07 21:24:04 4: XiaomiBTLESens (oregano) - ProcessingNotification: handle 0x35
2018.02.07 21:24:04 4: XiaomiBTLESens (oregano) - FlowerSens Handle0x35
2018.02.07 21:24:04 4: XiaomiBTLESens (oregano) - WriteReadings: Readings were written

ich hoffe ihr könnt mir helfen.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 08 Februar 2018, 16:55:16
Kann es sein das Du minus Gerade bei Deiner Pflanze hast? Denn genau das würde Dein Wert her geben. -3.5 Grad
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 08 Februar 2018, 17:03:01
Ok ich habe es gefixt und die aktuelle Version ist nun im Master Branch und wird auch morgen früh per SVN verteilt.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: kroonen am 08 Februar 2018, 21:43:30
Hi,

Today I got my bluetooth temp/sensor. In the living room de module works ok, but when I put it in de garage, where the temp is around 6 degrees I get wrong humidity 7.4. On the display it is also 06.3, so an 0 add.

I got this in my logging

2018.02.08 21:33:57 1: PERL WARNING: Illegal hexadecimal digit ' ' ignored at ./FHEM/74_XiaomiBTLESens.pm line 682.
2018.02.08 21:33:57 3: eval: {XiaomiBTLESens_ExecGatttool_Done('zoldertem|4C:65:A8:D1:7D:DC|ok|read|0x18|{"gtResult":"64 "}')}
2018.02.08 21:33:57 1: PERL WARNING: Illegal hexadecimal digit ' ' ignored at ./FHEM/74_XiaomiBTLESens.pm line 683.
2018.02.08 21:33:57 3: eval: {XiaomiBTLESens_ExecGatttool_Done('zoldertem|4C:65:A8:D1:7D:DC|ok|read|0x18|{"gtResult":"64 "}')}

Internals:
   BTMAC      4C:65:A8:D1:7D:DC
   DEF        4C:65:A8:D1:7D:DC
   INTERVAL   300
   NAME       zoldertem
   NOTIFYDEV  global,zoldertem
   NR         21
   NTFY_ORDER 50-zoldertem
   STATE      active
   TYPE       XiaomiBTLESens
   VERSION    2.0.5
   loglevel   4
   READINGS:
     2018-02-08 21:33:57   battery         ok
     2018-02-08 21:33:57   batteryLevel    100
     2018-02-08 15:18:45   firmware        00.00.66
     2018-02-08 21:34:12   humidity        7.4
     2018-02-08 21:02:58   lastGattError   charWrite faild
     2018-02-08 21:34:12   state           active
     2018-02-08 21:34:12   temperature     6.3
   helper:
     CallBattery 0
     CallSensDataCounter 0
     updateTimeCallBattery 1518122037.51622
     updateTimestampCallBattery 2018-02-08 21:33:57
Attributes:
   interval   300
   model      thermoHygroSens
   room       XiaomiBTLESens

Any idea what goes wrong??

Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: kroonen am 08 Februar 2018, 21:51:41
Some details debug, but don't see hum in log?

2018.02.08 21:46:40 4: XiaomiBTLESens (zoldertem) - Run CreateParamGatttool with mod: read
2018.02.08 21:46:40 4: BlockingCall (XiaomiBTLESens_ExecGatttool_Run): created child (923), uses telnetPort to connect back
2018.02.08 21:46:40 5: Starting notify loop for zoldertem, 1 event(s), first is read sensor data
2018.02.08 21:46:40 5: End notify loop for zoldertem
2018.02.08 21:46:40 4: XiaomiBTLESens (zoldertem) - Read XiaomiBTLESens_ExecGatttool_Run zoldertem|4C:65:A8:D1:7D:DC|read|0x18
2018.02.08 21:46:40 4: XiaomiBTLESens (zoldertem) - stateRequestTimer: Call Request Timer
2018.02.08 21:46:40 5: End notify loop for global
2018.02.08 21:46:40 0: Featurelevel: 5.8
2018.02.08 21:46:40 0: Server started with 10 defined entities (fhem.pl:16107/2018-02-07 perl:5.024001 os:linux user:fhem pid:915)
2018.02.08 21:46:40 4: Connection accepted from WEB_192.168.180.35_54728
2018.02.08 21:46:40 4: Connection accepted from telnetPort_127.0.0.1_59626
2018.02.08 21:46:41 4: WEB_192.168.180.35_54728 GET /fhem?XHR=1&inform=type=status;filter=;since=1518122782.584;fmt=JSON&fw_id=26&timestamp=1518122794778; BUFLEN:0
2018.02.08 21:46:41 5: Cmd: >{BlockingRegisterTelnet($cl,1)}<
2018.02.08 21:46:41 5: XiaomiBTLESens (zoldertem) - ExecGatttool_Run: call gatttool with command gatttool -i hci0 -b 4C:65:A8:D1:7D:DC --char-read -a 0x18 2>&1 /dev/null and loop 0
2018.02.08 21:46:45 5: XiaomiBTLESens (zoldertem) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,64

2018.02.08 21:46:45 4: XiaomiBTLESens (zoldertem) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,64

2018.02.08 21:46:45 5: Cmd: >{BlockingStart('1')}<
2018.02.08 21:46:45 5: Cmd: >{XiaomiBTLESens_ExecGatttool_Done('zoldertem|4C:65:A8:D1:7D:DC|ok|read|0x18|{"gtResult":"64 "}')}<
2018.02.08 21:46:45 4: XiaomiBTLESens (zoldertem) - ExecGatttool_Done: gatttool return string: zoldertem|4C:65:A8:D1:7D:DC|ok|read|0x18|{"gtResult":"64 "}
2018.02.08 21:46:45 5: XiaomiBTLESens (zoldertem) - ProcessingNotification
2018.02.08 21:46:45 4: XiaomiBTLESens (zoldertem) - ProcessingNotification: handle 0x18
2018.02.08 21:46:45 5: XiaomiBTLESens (zoldertem) - Thermo/Hygro Sens Handle0x18
2018.02.08 21:46:45 1: PERL WARNING: Illegal hexadecimal digit ' ' ignored at ./FHEM/74_XiaomiBTLESens.pm line 682.
2018.02.08 21:46:45 3: eval: {XiaomiBTLESens_ExecGatttool_Done('zoldertem|4C:65:A8:D1:7D:DC|ok|read|0x18|{"gtResult":"64 "}')}
2018.02.08 21:46:45 1: PERL WARNING: Illegal hexadecimal digit ' ' ignored at ./FHEM/74_XiaomiBTLESens.pm line 683.
2018.02.08 21:46:45 3: eval: {XiaomiBTLESens_ExecGatttool_Done('zoldertem|4C:65:A8:D1:7D:DC|ok|read|0x18|{"gtResult":"64 "}')}
2018.02.08 21:46:45 5: Starting notify loop for zoldertem, 3 event(s), first is battery: ok
2018.02.08 21:46:45 5: createNotifyHash
2018.02.08 21:46:45 5: End notify loop for zoldertem
2018.02.08 21:46:45 4: XiaomiBTLESens (zoldertem) - WriteReadings: Readings were written
2018.02.08 21:46:45 4: XiaomiBTLESens (zoldertem) - Run CreateParamGatttool with mod: write
2018.02.08 21:46:45 4: BlockingCall (XiaomiBTLESens_ExecGatttool_Run): created child (933), uses telnetPort to connect back
2018.02.08 21:46:45 5: Starting notify loop for zoldertem, 1 event(s), first is write sensor data
2018.02.08 21:46:45 5: End notify loop for zoldertem
2018.02.08 21:46:45 4: XiaomiBTLESens (zoldertem) - Write XiaomiBTLESens_ExecGatttool_Run zoldertem|4C:65:A8:D1:7D:DC|write|0x10|0100
2018.02.08 21:46:45 4: Connection accepted from telnetPort_127.0.0.1_59628
2018.02.08 21:46:45 5: Cmd: >{BlockingRegisterTelnet($cl,2)}<
2018.02.08 21:46:45 5: XiaomiBTLESens (zoldertem) - ExecGatttool_Run: call gatttool with command timeout 15 gatttool -i hci0 -b 4C:65:A8:D1:7D:DC --char-write-req -a 0x10 -n 0100 --listen 2>&1 /dev/null and loop 0
2018.02.08 21:47:00 5: XiaomiBTLESens (zoldertem) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully
Notification handle = 0x000e value,54 3d 36 2e 31 20 48 3d 36 38 2e 37 00
Notification handle = 0x000e value,54 3d 36 2e 32 20 48 3d 36 37 2e 39 00
Notification handle = 0x000e value,54 3d 36 2e 31 20 48 3d 36 39 2e 30 00
Notification handle = 0x000e value,54 3d 36 2e 33 20 48 3d 36 37 2e 39 00
Notification handle = 0x000e value,54 3d 36 2e 31 20 48 3d 36 38 2e 37 00
Notification handle = 0x000e value,54 3d 36 2e 32 20 48 3d 36 37 2e 39 00
Notification handle = 0x000e value,54 3d 36 2e 31 20 48 3d 36 38 2e 38 00
Notification handle = 0x000e value,54 3d 36 2e 32 20 48 3d 36 38 2e 30 00
Notification handle = 0x000e value,54 3d 36 2e 30 20 48 3d 36 38 2e 37 00
Notification handle = 0x000e value,54 3d 36 2e 32 20 48 3d 36 37 2e 39 00
Notification handle = 0x000e value,54 3d 36 2e 31 20 48 3d 36 39 2e 30 00
Notification handle = 0x000e value,54 3d 36 2e 33 20 48 3d 36 37 2e 39 00

2018.02.08 21:47:00 4: XiaomiBTLESens (zoldertem) - ExecGatttool_Run: gatttool result Characteristic value was written successfully
Notification handle = 0x000e value,54 3d 36 2e 31 20 48 3d 36 38 2e 37 00
Notification handle = 0x000e value,54 3d 36 2e 32 20 48 3d 36 37 2e 39 00
Notification handle = 0x000e value,54 3d 36 2e 31 20 48 3d 36 39 2e 30 00
Notification handle = 0x000e value,54 3d 36 2e 33 20 48 3d 36 37 2e 39 00
Notification handle = 0x000e value,54 3d 36 2e 31 20 48 3d 36 38 2e 37 00
Notification handle = 0x000e value,54 3d 36 2e 32 20 48 3d 36 37 2e 39 00
Notification handle = 0x000e value,54 3d 36 2e 31 20 48 3d 36 38 2e 38 00
Notification handle = 0x000e value,54 3d 36 2e 32 20 48 3d 36 38 2e 30 00
Notification handle = 0x000e value,54 3d 36 2e 30 20 48 3d 36 38 2e 37 00
Notification handle = 0x000e value,54 3d 36 2e 32 20 48 3d 36 37 2e 39 00
Notification handle = 0x000e value,54 3d 36 2e 31 20 48 3d 36 39 2e 30 00
Notification handle = 0x000e value,54 3d 36 2e 33 20 48 3d 36 37 2e 39 00

2018.02.08 21:47:00 5: Cmd: >{BlockingStart('2')}<
2018.02.08 21:47:00 5: Cmd: >{XiaomiBTLESens_ExecGatttool_Done('zoldertem|4C:65:A8:D1:7D:DC|ok|write|0x10|{"gtResult":"54 3d 36 2e 31 20 48 3d 36 38 2e 37 00 \nNotification handle = 0x000e value"}')}<
2018.02.08 21:47:00 4: XiaomiBTLESens (zoldertem) - ExecGatttool_Done: gatttool return string: zoldertem|4C:65:A8:D1:7D:DC|ok|write|0x10|{"gtResult":"54 3d 36 2e 31 20 48 3d 36 38 2e 37 00 \nNotification handle = 0x000e value"}
2018.02.08 21:47:00 5: XiaomiBTLESens (zoldertem) - ProcessingNotification
2018.02.08 21:47:00 4: XiaomiBTLESens (zoldertem) - ProcessingNotification: handle 0x10
2018.02.08 21:47:00 5: XiaomiBTLESens (zoldertem) - Thermo/Hygro Sens Handle0x10
2018.02.08 21:47:00 5: Starting notify loop for zoldertem, 3 event(s), first is temperature: 6.1
2018.02.08 21:47:00 5: End notify loop for zoldertem
2018.02.08 21:47:00 4: XiaomiBTLESens (zoldertem) - WriteReadings: Readings were written

Internals:
   BTMAC      4C:65:A8:D1:7D:DC
   DEF        4C:65:A8:D1:7D:DC
   INTERVAL   300
   NAME       zoldertem
   NOTIFYDEV  global,zoldertem
   NR         21
   NTFY_ORDER 50-zoldertem
   STATE      active
   TYPE       XiaomiBTLESens
   VERSION    2.0.5
   loglevel   4
   READINGS:
     2018-02-08 21:46:45   battery         ok
     2018-02-08 21:46:45   batteryLevel    100
     2018-02-08 15:18:45   firmware        00.00.66
     2018-02-08 21:47:00   humidity        8.7
     2018-02-08 21:02:58   lastGattError   charWrite faild
     2018-02-08 21:47:00   state           active
     2018-02-08 21:47:00   temperature     6.1
   helper:
     CallBattery 0
     CallSensDataCounter 0
     updateTimeCallBattery 1518122805.32754
     updateTimestampCallBattery 2018-02-08 21:46:45
Attributes:
   interval   300
   model      thermoHygroSens
   room       XiaomiBTLESens
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 09 Februar 2018, 12:58:45
Hi,

Today I got my bluetooth temp/sensor. In the living room de module works ok, but when I put it in de garage, where the temp is around 6 degrees I get wrong humidity 7.4. On the display it is also 06.3, so an 0 add.

I got this in my logging

2018.02.08 21:33:57 1: PERL WARNING: Illegal hexadecimal digit ' ' ignored at ./FHEM/74_XiaomiBTLESens.pm line 682.
2018.02.08 21:33:57 3: eval: {XiaomiBTLESens_ExecGatttool_Done('zoldertem|4C:65:A8:D1:7D:DC|ok|read|0x18|{"gtResult":"64 "}')}
2018.02.08 21:33:57 1: PERL WARNING: Illegal hexadecimal digit ' ' ignored at ./FHEM/74_XiaomiBTLESens.pm line 683.
2018.02.08 21:33:57 3: eval: {XiaomiBTLESens_ExecGatttool_Done('zoldertem|4C:65:A8:D1:7D:DC|ok|read|0x18|{"gtResult":"64 "}')}

Internals:
   BTMAC      4C:65:A8:D1:7D:DC
   DEF        4C:65:A8:D1:7D:DC
   INTERVAL   300
   NAME       zoldertem
   NOTIFYDEV  global,zoldertem
   NR         21
   NTFY_ORDER 50-zoldertem
   STATE      active
   TYPE       XiaomiBTLESens
   VERSION    2.0.5
   loglevel   4
   READINGS:
     2018-02-08 21:33:57   battery         ok
     2018-02-08 21:33:57   batteryLevel    100
     2018-02-08 15:18:45   firmware        00.00.66
     2018-02-08 21:34:12   humidity        7.4
     2018-02-08 21:02:58   lastGattError   charWrite faild
     2018-02-08 21:34:12   state           active
     2018-02-08 21:34:12   temperature     6.3
   helper:
     CallBattery 0
     CallSensDataCounter 0
     updateTimeCallBattery 1518122037.51622
     updateTimestampCallBattery 2018-02-08 21:33:57
Attributes:
   interval   300
   model      thermoHygroSens
   room       XiaomiBTLESens

Any idea what goes wrong??

Are you sure that you do not mix temperature and humidity? because in this list of your device temperature 6.3 and humidity 7.4
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: mod25 am 09 Februar 2018, 13:01:16
Ok ich habe es gefixt und die aktuelle Version ist nun im Master Branch und wird auch morgen früh per SVN verteilt.
Wunderbar. Habe die neue Version schon eingespielt und die Minus Grade werden jetzt auch angezeigt. Vielen Dank
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: kroonen am 09 Februar 2018, 19:03:12
I updated today to 2.0.7 but now nothing works, it look like ssh, but I don't use ssh , I have also no options of ssh set. It keep logging and stays on write sensor date, and last gaterror, no data response

2018.02.09 19:20:51 4: XiaomiBTLESens (zoldertem) - Run CreateParamGatttool with mod: read
2018.02.09 19:20:51 4: BlockingCall (XiaomiBTLESens_ExecGatttool_Run): created child (12713), uses telnetPort to connect back
2018.02.09 19:20:51 5: Starting notify loop for zoldertem, 1 event(s), first is read sensor data
2018.02.09 19:20:51 5: End notify loop for zoldertem
2018.02.09 19:20:51 5: XiaomiBTLESens (zoldertem) - Read XiaomiBTLESens_ExecGatttool_Run zoldertem|4C:65:A8:D1:7D:DC|read|0x18
2018.02.09 19:20:51 4: XiaomiBTLESens (zoldertem) - stateRequestTimer: Call Request Timer
2018.02.09 19:20:51 5: End notify loop for global
2018.02.09 19:20:51 0: Featurelevel: 5.8
2018.02.09 19:20:51 0: Server started with 10 defined entities (fhem.pl:16107/2018-02-07 perl:5.024001 os:linux user:fhem pid:12700)
2018.02.09 19:20:51 4: Connection accepted from telnetPort_127.0.0.1_41082
2018.02.09 19:20:51 5: Cmd: >{BlockingRegisterTelnet($cl,1)}<
2018.02.09 19:20:51 5: XiaomiBTLESens (zoldertem) - ExecGatttool_Run: call gatttool with command gatttool -i hci0 -b 4C:65:A8:D1:7D:DC --char-read -a 0x18 2>&1 /dev/null and loop 0
2018.02.09 19:20:55 5: XiaomiBTLESens (zoldertem) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,64

2018.02.09 19:20:55 4: XiaomiBTLESens (zoldertem) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,64

2018.02.09 19:20:55 5: Cmd: >{BlockingStart('1')}<
2018.02.09 19:20:55 5: Cmd: >{XiaomiBTLESens_ExecGatttool_Done('zoldertem|4C:65:A8:D1:7D:DC|ok|read|0x18|{"gtResult":"64 "}')}<
2018.02.09 19:20:55 5: XiaomiBTLESens (zoldertem) - ExecGatttool_Done: gatttool return string: zoldertem|4C:65:A8:D1:7D:DC|ok|read|0x18|{"gtResult":"64 "}
2018.02.09 19:20:55 4: XiaomiBTLESens (zoldertem) - ProcessingNotification
2018.02.09 19:20:55 4: XiaomiBTLESens (zoldertem) - ProcessingNotification: handle 0x18
2018.02.09 19:20:55 4: XiaomiBTLESens (zoldertem) - Thermo/Hygro Sens Handle0x18
2018.02.09 19:20:55 1: PERL WARNING: Illegal hexadecimal digit ' ' ignored at ./FHEM/74_XiaomiBTLESens.pm line 686.
2018.02.09 19:20:55 3: eval: {XiaomiBTLESens_ExecGatttool_Done('zoldertem|4C:65:A8:D1:7D:DC|ok|read|0x18|{"gtResult":"64 "}')}
2018.02.09 19:20:55 1: PERL WARNING: Illegal hexadecimal digit ' ' ignored at ./FHEM/74_XiaomiBTLESens.pm line 687.
2018.02.09 19:20:55 3: eval: {XiaomiBTLESens_ExecGatttool_Done('zoldertem|4C:65:A8:D1:7D:DC|ok|read|0x18|{"gtResult":"64 "}')}
2018.02.09 19:20:55 5: Starting notify loop for zoldertem, 3 event(s), first is battery: ok
2018.02.09 19:20:55 5: createNotifyHash
2018.02.09 19:20:55 5: End notify loop for zoldertem
2018.02.09 19:20:55 4: XiaomiBTLESens (zoldertem) - WriteReadings: Readings were written
2018.02.09 19:20:55 4: XiaomiBTLESens (zoldertem) - Run CreateParamGatttool with mod: write
2018.02.09 19:20:55 4: BlockingCall (XiaomiBTLESens_ExecGatttool_Run): created child (12726), uses telnetPort to connect back
2018.02.09 19:20:55 5: Starting notify loop for zoldertem, 1 event(s), first is write sensor data
2018.02.09 19:20:55 5: End notify loop for zoldertem
2018.02.09 19:20:55 5: XiaomiBTLESens (zoldertem) - Write XiaomiBTLESens_ExecGatttool_Run zoldertem|4C:65:A8:D1:7D:DC|write|0x10|0100
2018.02.09 19:20:55 4: Connection accepted from telnetPort_127.0.0.1_41084
2018.02.09 19:20:55 5: Cmd: >{BlockingRegisterTelnet($cl,2)}<
2018.02.09 19:20:55 5: XiaomiBTLESens (zoldertem) - ExecGatttool_Run: call gatttool with command ssh none 'timeout 5 gatttool -i hci0 -b 4C:65:A8:D1:7D:DC --char-write-req -a 0x10 -n 0100 --listen 2>&1 /dev/null' and loop 0
ssh: Could not resolve hostname none: Name or service not known
2018.02.09 19:20:55 5: XiaomiBTLESens (zoldertem) - ExecGatttool_Run: gatttool loop result
2018.02.09 19:20:55 1: PERL WARNING: Use of uninitialized value in split at ./FHEM/74_XiaomiBTLESens.pm line 482.
2018.02.09 19:20:55 3: eval: {XiaomiBTLESens_ExecGatttool_Done('zoldertem|4C:65:A8:D1:7D:DC|ok|read|0x18|{"gtResult":"64 "}')}
2018.02.09 19:20:55 1: PERL WARNING: Use of uninitialized value $gtResult[1] in substitution (s///) at ./FHEM/74_XiaomiBTLESens.pm line 483.
2018.02.09 19:20:55 3: eval: {XiaomiBTLESens_ExecGatttool_Done('zoldertem|4C:65:A8:D1:7D:DC|ok|read|0x18|{"gtResult":"64 "}')}
2018.02.09 19:20:55 5: XiaomiBTLESens (zoldertem) - ExecGatttool_Run: call gatttool with command ssh none 'timeout 5 gatttool -i hci0 -b 4C:65:A8:D1:7D:DC --char-write-req -a 0x10 -n 0100 --listen 2>&1 /dev/null' and loop 1
ssh: Could not resolve hostname none: Name or service not known
2018.02.09 19:20:55 5: XiaomiBTLESens (zoldertem) - ExecGatttool_Run: gatttool loop result
2018.02.09 19:20:55 5: XiaomiBTLESens (zoldertem) - ExecGatttool_Run: call gatttool with command ssh none 'timeout 5 gatttool -i hci0 -b 4C:65:A8:D1:7D:DC --char-write-req -a 0x10 -n 0100 --listen 2>&1 /dev/null' and loop 2
ssh: Could not resolve hostname none: Name or service not known
2018.02.09 19:20:55 5: XiaomiBTLESens (zoldertem) - ExecGatttool_Run: gatttool loop result
2018.02.09 19:20:55 5: XiaomiBTLESens (zoldertem) - ExecGatttool_Run: call gatttool with command ssh none 'timeout 5 gatttool -i hci0 -b 4C:65:A8:D1:7D:DC --char-write-req -a 0x10 -n 0100 --listen 2>&1 /dev/null' and loop 3
ssh: Could not resolve hostname none: Name or service not known
2018.02.09 19:20:55 5: XiaomiBTLESens (zoldertem) - ExecGatttool_Run: gatttool loop result
2018.02.09 19:20:55 5: XiaomiBTLESens (zoldertem) - ExecGatttool_Run: call gatttool with command ssh none 'timeout 5 gatttool -i hci0 -b 4C:65:A8:D1:7D:DC --char-write-req -a 0x10 -n 0100 --listen 2>&1 /dev/null' and loop 4
ssh: Could not resolve hostname none: Name or service not known
2018.02.09 19:20:56 5: XiaomiBTLESens (zoldertem) - ExecGatttool_Run: gatttool loop result
2018.02.09 19:20:56 1: PERL WARNING: Use of uninitialized value $gtResult[1] in join or string at ./FHEM/74_XiaomiBTLESens.pm line 490.
2018.02.09 19:20:56 3: eval: {XiaomiBTLESens_ExecGatttool_Done('zoldertem|4C:65:A8:D1:7D:DC|ok|read|0x18|{"gtResult":"64 "}')}
2018.02.09 19:20:56 4: XiaomiBTLESens (zoldertem) - ExecGatttool_Run: gatttool result connect error,
2018.02.09 19:20:56 5: Cmd: >{BlockingStart('2')}<
2018.02.09 19:20:56 5: Cmd: >{XiaomiBTLESens_ExecGatttool_Done('zoldertem|4C:65:A8:D1:7D:DC|error|write|0x10|{"gtResult":"no data response"}')}<
2018.02.09 19:20:56 5: XiaomiBTLESens (zoldertem) - ExecGatttool_Done: gatttool return string: zoldertem|4C:65:A8:D1:7D:DC|error|write|0x10|{"gtResult":"no data response"}
2018.02.09 19:20:56 4: XiaomiBTLESens (zoldertem) - ProcessingErrors
2018.02.09 19:20:56 5: Starting notify loop for zoldertem, 2 event(s), first is lastGattError: no data response
2018.02.09 19:20:56 5: End notify loop for zoldertem
2018.02.09 19:20:56 4: XiaomiBTLESens (zoldertem) - WriteReadings: Readings were written
2018.02.09 19:20:56 4: XiaomiBTLESens (zoldertem) - Run CreateParamGatttool with mod: write
2018.02.09 19:20:56 4: BlockingCall (XiaomiBTLESens_ExecGatttool_Run): created child (12742), uses telnetPort to connect back
2018.02.09 19:20:56 5: Starting notify loop for zoldertem, 1 event(s), first is write sensor data
2018.02.09 19:20:56 5: End notify loop for zoldertem
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 09 Februar 2018, 19:53:46
please can you test this version of the modul

https://github.com/LeonGaultier/fhem-XiaomiBTLESens/archive/master.zip
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: kroonen am 09 Februar 2018, 20:24:27
Hi,

This one works again, inside (attic)  it is working, see output. I'm also going to try again in the garage, and let you know if humidity is working ok

fhem> l zoldertem
Internals:
   BTMAC      4C:65:A8:D1:7D:DC
   DEF        4C:65:A8:D1:7D:DC
   INTERVAL   300
   NAME       zoldertem
   NOTIFYDEV  global,zoldertem
   NR         21
   NTFY_ORDER 50-zoldertem
   STATE      active
   TYPE       XiaomiBTLESens
   VERSION    2.0.8
   loglevel   4
   READINGS:
     2018-02-09 20:19:52   battery         ok
     2018-02-09 20:19:52   batteryLevel    100
     2018-02-09 08:59:59   firmware        00.00.66
     2018-02-09 20:19:57   humidity        64.3
     2018-02-09 19:26:34   lastGattError   no data response
     2018-02-09 20:19:57   state           active
     2018-02-09 20:19:57   temperature     16.1
   helper:
     CallBattery 0
     CallSensDataCounter 0
     updateTimeCallBattery 1518203992.10542
     updateTimestampCallBattery 2018-02-09 20:19:52
Attributes:
   interval   300
   model      thermoHygroSens
   room       XiaomiBTLESens

Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: kroonen am 09 Februar 2018, 20:36:14
Hi,

Below 10 degrees, the humidity looks like failing again. Herre the first when placed in the garage, after couple minutes, it goes wrong

fhem> l zoldertem
Internals:
   BTMAC      4C:65:A8:D1:7D:DC
   DEF        4C:65:A8:D1:7D:DC
   INTERVAL   300
   NAME       zoldertem
   NOTIFYDEV  global,zoldertem
   NR         21
   NTFY_ORDER 50-zoldertem
   STATE      active
   TYPE       XiaomiBTLESens
   VERSION    2.0.8
   loglevel   4
   READINGS:
     2018-02-09 20:24:58   battery         ok
     2018-02-09 20:24:58   batteryLevel    100
     2018-02-09 08:59:59   firmware        00.00.66
     2018-02-09 20:25:04   humidity        55.5
     2018-02-09 19:26:34   lastGattError   no data response
     2018-02-09 20:25:04   state           active
     2018-02-09 20:25:04   temperature     13.6
   helper:
     CallBattery 0
     CallSensDataCounter 0
     updateTimeCallBattery 1518204298.91355
     updateTimestampCallBattery 2018-02-09 20:24:58
Attributes:
   interval   300
   model      thermoHygroSens
   room       XiaomiBTLESens

fhem> l zoldertem
Internals:
   BTMAC      4C:65:A8:D1:7D:DC
   DEF        4C:65:A8:D1:7D:DC
   INTERVAL   300
   NAME       zoldertem
   NOTIFYDEV  global,zoldertem
   NR         21
   NTFY_ORDER 50-zoldertem
   STATE      active
   TYPE       XiaomiBTLESens
   VERSION    2.0.8
   loglevel   4
   READINGS:
     2018-02-09 20:24:58   battery         ok
     2018-02-09 20:24:58   batteryLevel    100
     2018-02-09 08:59:59   firmware        00.00.66
     2018-02-09 20:31:20   humidity        0.1
     2018-02-09 19:26:34   lastGattError   no data response
     2018-02-09 20:31:20   state           active
     2018-02-09 20:31:20   temperature     9.3
   helper:
     CallBattery 0
     CallSensDataCounter 0
     updateTimeCallBattery 1518204298.91355
     updateTimestampCallBattery 2018-02-09 20:24:58
Attributes:
   interval   300
   model      thermoHygroSens
   room       XiaomiBTLESens

here the logging:

2018.02.09 20:32:57 4: XiaomiBTLESens (zoldertem) - Run CreateParamGatttool with mod: write
2018.02.09 20:32:57 4: BlockingCall (XiaomiBTLESens_ExecGatttool_Run): created child (535), uses telnetPort to connect back
2018.02.09 20:32:57 5: Starting notify loop for zoldertem, 1 event(s), first is write sensor data
2018.02.09 20:32:57 5: createNotifyHash
2018.02.09 20:32:57 5: End notify loop for zoldertem
2018.02.09 20:32:57 5: XiaomiBTLESens (zoldertem) - Write XiaomiBTLESens_ExecGatttool_Run zoldertem|4C:65:A8:D1:7D:DC|write|0x10|0100
2018.02.09 20:32:57 4: XiaomiBTLESens (zoldertem) - stateRequestTimer: Call Request Timer
2018.02.09 20:32:57 4: Connection accepted from telnetPort_127.0.0.1_41188
2018.02.09 20:32:57 5: Cmd: >{BlockingRegisterTelnet($cl,4)}<
2018.02.09 20:32:57 5: XiaomiBTLESens (zoldertem) - ExecGatttool_Run: call gatttool with command timeout 5 gatttool -i hci0 -b 4C:65:A8:D1:7D:DC --char-write-req -a 0x10 -n 0100 --listen 2>&1 /dev/null and loop 0
2018.02.09 20:33:02 5: XiaomiBTLESens (zoldertem) - ExecGatttool_Run: gatttool loop result
2018.02.09 20:33:02 1: PERL WARNING: Use of uninitialized value in split at ./FHEM/74_XiaomiBTLESens.pm line 487.
2018.02.09 20:33:02 1: PERL WARNING: Use of uninitialized value $gtResult[1] in substitution (s///) at ./FHEM/74_XiaomiBTLESens.pm line 488.
2018.02.09 20:33:02 5: XiaomiBTLESens (zoldertem) - ExecGatttool_Run: call gatttool with command timeout 5 gatttool -i hci0 -b 4C:65:A8:D1:7D:DC --char-write-req -a 0x10 -n 0100 --listen 2>&1 /dev/null and loop 1
2018.02.09 20:33:07 5: XiaomiBTLESens (zoldertem) - ExecGatttool_Run: gatttool loop result
2018.02.09 20:33:07 5: XiaomiBTLESens (zoldertem) - ExecGatttool_Run: call gatttool with command timeout 5 gatttool -i hci0 -b 4C:65:A8:D1:7D:DC --char-write-req -a 0x10 -n 0100 --listen 2>&1 /dev/null and loop 2
2018.02.09 20:33:12 5: XiaomiBTLESens (zoldertem) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully
Notification handle = 0x000e value,54 3d 38 2e 34 20 48 3d 37 32 2e 35 00
Notification handle = 0x000e value,54 3d 31 31 2e 36 20 48 3d 35 38 2e 38 00
Notification handle = 0x000e value,54 3d 38 2e 35 20 48 3d 37 32 2e 36 00
Notification handle = 0x000e value,54 3d 31 31 2e 36 20 48 3d 35 38 2e 38 00
Notification handle = 0x000e value,54 3d 38 2e 35 20 48 3d 37 32 2e 37 00
Notification handle = 0x000e value,54 3d 31 31 2e 36 20 48 3d 35 38 2e 39 00
Notification handle = 0x000e value,54 3d 38 2e 35 20 48 3d 37 32 2e 38 00
Notification handle = 0x000e value,54 3d 31 31 2e 36 20 48 3d 35 39 2e 30 00
Notification handle = 0x000e value,54 3d 38 2e 34 20 48 3d 37 32 2e 34 00
Notification handle = 0x000e value,54 3d 31 31 2e 35 20 48 3d 35 39 2e 30 00

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

2018.02.09 20:33:12 5: Cmd: >{BlockingStart('4')}<
2018.02.09 20:33:12 5: Cmd: >{XiaomiBTLESens_ExecGatttool_Done('zoldertem|4C:65:A8:D1:7D:DC|ok|write|0x10|{"gtResult":"54 3d 38 2e 34 20 48 3d 37 32 2e 35 00 "}')}<
2018.02.09 20:33:12 5: XiaomiBTLESens (zoldertem) - ExecGatttool_Done: gatttool return string: zoldertem|4C:65:A8:D1:7D:DC|ok|write|0x10|{"gtResult":"54 3d 38 2e 34 20 48 3d 37 32 2e 35 00 "}
2018.02.09 20:33:12 4: XiaomiBTLESens (zoldertem) - ProcessingNotification
2018.02.09 20:33:12 4: XiaomiBTLESens (zoldertem) - ProcessingNotification: handle 0x10
2018.02.09 20:33:12 4: XiaomiBTLESens (zoldertem) - Thermo/Hygro Sens Handle0x10
2018.02.09 20:33:12 5: Starting notify loop for zoldertem, 3 event(s), first is temperature: 8.4
2018.02.09 20:33:12 5: End notify loop for zoldertem
2018.02.09 20:33:12 4: XiaomiBTLESens (zoldertem) - WriteReadings: Readings were written
2018.02.09 20:34:18 5: Cmd: >q<
2018.02.09 20:34:18 5: AnalyzeCommand: trying quit for q
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 10 Februar 2018, 03:12:16
please can you test this version https://github.com/LeonGaultier/fhem-XiaomiBTLESens/archive/master.zip.
this is not the solution for your problem, put i will see is the change code running.

can you tell me what was the value of the humidity at your last log?
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: kroonen am 10 Februar 2018, 11:16:23
Hi,

This reading humidity 84.0 (or maybe 83.9), and temperature 05.7 read from the physical display. I used the testversion module
fhem> l zoldertem
Internals:
   BTMAC      4C:65:A8:D1:7D:DC
   DEF        4C:65:A8:D1:7D:DC
   INTERVAL   300
   NAME       zoldertem
   NOTIFYDEV  global,zoldertem
   NR         21
   NTFY_ORDER 50-zoldertem
   STATE      active
   TYPE       XiaomiBTLESens
   VERSION    2.0.8
   loglevel   4
   READINGS:
     2018-02-10 11:07:04   battery         ok
     2018-02-10 11:07:04   batteryLevel    100
     2018-02-09 08:59:59   firmware        00.00.66
     2018-02-10 11:07:09   humidity        2.7
     2018-02-10 11:04:47   lastGattError   no data response
     2018-02-10 11:07:09   state           active
     2018-02-10 11:07:09   temperature     5.7
   helper:
     CallBattery 0
     CallSensDataCounter 0
     updateTimeCallBattery 1518257224.41969
     updateTimestampCallBattery 2018-02-10 11:07:04
Attributes:
   interval   300
   model      thermoHygroSens
   room       XiaomiBTLESens
2018.02.10 11:06:58 4: XiaomiBTLESens (zoldertem) - Run CreateParamGatttool with mod: read
2018.02.10 11:06:58 4: BlockingCall (XiaomiBTLESens_ExecGatttool_Run): created child (2842), uses telnetPort to connect back
2018.02.10 11:06:58 5: Starting notify loop for zoldertem, 1 event(s), first is read sensor data
2018.02.10 11:06:58 5: End notify loop for zoldertem
2018.02.10 11:06:58 5: XiaomiBTLESens (zoldertem) - Read XiaomiBTLESens_ExecGatttool_Run zoldertem|4C:65:A8:D1:7D:DC|read|0x18
2018.02.10 11:06:58 4: XiaomiBTLESens (zoldertem) - stateRequestTimer: Call Request Timer
2018.02.10 11:06:58 5: End notify loop for global
2018.02.10 11:06:58 0: Featurelevel: 5.8
2018.02.10 11:06:58 0: Server started with 11 defined entities (fhem.pl:16107/2018-02-07 perl:5.024001 os:linux user:fhem pid:2835)
2018.02.10 11:06:58 4: Connection accepted from telnetPort_127.0.0.1_41396
2018.02.10 11:06:58 5: Cmd: >{BlockingRegisterTelnet($cl,1)}<
2018.02.10 11:06:58 5: XiaomiBTLESens (zoldertem) - ExecGatttool_Run: call gatttool with command gatttool -i hci0 -b 4C:65:A8:D1:7D:DC --char-read -a 0x18 2>&1 /dev/null and loop 0
2018.02.10 11:06:59 4: Connection accepted from WEB_192.168.180.35_65058
2018.02.10 11:06:59 4: Connection accepted from WEB_192.168.180.35_65061
2018.02.10 11:07:00 4: WEB_192.168.180.35_65058 GET /; BUFLEN:0
2018.02.10 11:07:00 4: WEB: redirecting / to /fhem
2018.02.10 11:07:00 4: Connection accepted from WEB_192.168.180.35_65062
2018.02.10 11:07:00 4: WEB_192.168.180.35_65061 GET /fhem/pgm2/jquery.min.js; BUFLEN:0
2018.02.10 11:07:00 4: Connection accepted from WEB_192.168.180.35_65063
2018.02.10 11:07:00 4: WEB_192.168.180.35_65058 GET /fhem/pgm2/defaultCommon.css; BUFLEN:0
2018.02.10 11:07:00 4: WEB_192.168.180.35_65058 => 304 Not Modified
2018.02.10 11:07:00 4: WEB_192.168.180.35_65062 GET /fhem/images/default/icoEverything.png; BUFLEN:0
2018.02.10 11:07:00 4: WEB_192.168.180.35_65061 GET /fhem/images/default/fhemicon.png; BUFLEN:0
2018.02.10 11:07:00 4: WEB_192.168.180.35_65061 => 304 Not Modified
2018.02.10 11:07:00 4: WEB_192.168.180.35_65063 GET /fhem/pgm2/dashboard_style.css; BUFLEN:0
2018.02.10 11:07:00 4: Connection accepted from WEB_192.168.180.35_65064
2018.02.10 11:07:00 4: WEB_192.168.180.35_65058 GET /fhem/pgm2/fhemweb.js; BUFLEN:0
2018.02.10 11:07:00 4: WEB_192.168.180.35_65058 => 304 Not Modified
2018.02.10 11:07:00 4: Connection accepted from WEB_192.168.180.35_65065
2018.02.10 11:07:00 4: WEB_192.168.180.35_65064 GET /fhem/pgm2/jquery-ui.min.css; BUFLEN:0
2018.02.10 11:07:00 4: WEB_192.168.180.35_65064 => 304 Not Modified
2018.02.10 11:07:00 4: WEB_192.168.180.35_65062 GET /fhem; BUFLEN:0
2018.02.10 11:07:00 4: WEB: /fhem / RL:1388 / text/html; charset=UTF-8 / Content-Encoding: gzip
 /
2018.02.10 11:07:00 4: WEB_192.168.180.35_65065 GET /fhem/pgm2/jquery-ui.min.js; BUFLEN:0
2018.02.10 11:07:00 4: WEB_192.168.180.35_65065 => 304 Not Modified
2018.02.10 11:07:00 4: WEB_192.168.180.35_65058 GET /fhem/pgm2/style.css?v=1518257209; BUFLEN:0
2018.02.10 11:07:00 4: WEB_192.168.180.35_65058 GET /fhem?XHR=1&inform=type=status;filter=;since=1518257219;fmt=JSON&fw_id=27&timestamp=1518257220830; BUFLEN:0
2018.02.10 11:07:02 4: Connection closed for WEB_192.168.180.35_65058: EOF
2018.02.10 11:07:02 4: WEB_192.168.180.35_65061 GET /fhem?room=XiaomiBTLESens; BUFLEN:0
2018.02.10 11:07:02 4: WEB: /fhem?room=XiaomiBTLESens / RL:1403 / text/html; charset=UTF-8 / Content-Encoding: gzip
 /
2018.02.10 11:07:04 5: XiaomiBTLESens (zoldertem) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,64

2018.02.10 11:07:04 4: XiaomiBTLESens (zoldertem) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,64

2018.02.10 11:07:04 5: Cmd: >{BlockingStart('1')}<
2018.02.10 11:07:04 5: Cmd: >{XiaomiBTLESens_ExecGatttool_Done('zoldertem|4C:65:A8:D1:7D:DC|ok|read|0x18|{"gtResult":"64 "}')}<
2018.02.10 11:07:04 5: XiaomiBTLESens (zoldertem) - ExecGatttool_Done: gatttool return string: zoldertem|4C:65:A8:D1:7D:DC|ok|read|0x18|{"gtResult":"64 "}
2018.02.10 11:07:04 4: XiaomiBTLESens (zoldertem) - ProcessingNotification
2018.02.10 11:07:04 4: XiaomiBTLESens (zoldertem) - ProcessingNotification: handle 0x18
2018.02.10 11:07:04 4: XiaomiBTLESens (zoldertem) - Thermo/Hygro Sens Handle0x18
2018.02.10 11:07:04 1: PERL WARNING: Illegal hexadecimal digit ' ' ignored at ./FHEM/74_XiaomiBTLESens.pm line 691.
2018.02.10 11:07:04 3: eval: {XiaomiBTLESens_ExecGatttool_Done('zoldertem|4C:65:A8:D1:7D:DC|ok|read|0x18|{"gtResult":"64 "}')}
2018.02.10 11:07:04 1: PERL WARNING: Illegal hexadecimal digit ' ' ignored at ./FHEM/74_XiaomiBTLESens.pm line 692.
2018.02.10 11:07:04 3: eval: {XiaomiBTLESens_ExecGatttool_Done('zoldertem|4C:65:A8:D1:7D:DC|ok|read|0x18|{"gtResult":"64 "}')}
2018.02.10 11:07:04 5: Starting notify loop for zoldertem, 3 event(s), first is battery: ok
2018.02.10 11:07:04 5: createNotifyHash
2018.02.10 11:07:04 5: End notify loop for zoldertem
2018.02.10 11:07:04 4: XiaomiBTLESens (zoldertem) - WriteReadings: Readings were written
2018.02.10 11:07:04 4: XiaomiBTLESens (zoldertem) - Run CreateParamGatttool with mod: write
2018.02.10 11:07:04 4: BlockingCall (XiaomiBTLESens_ExecGatttool_Run): created child (2852), uses telnetPort to connect back
2018.02.10 11:07:04 5: Starting notify loop for zoldertem, 1 event(s), first is write sensor data
2018.02.10 11:07:04 5: End notify loop for zoldertem
2018.02.10 11:07:04 5: XiaomiBTLESens (zoldertem) - Write XiaomiBTLESens_ExecGatttool_Run zoldertem|4C:65:A8:D1:7D:DC|write|0x10|0100
2018.02.10 11:07:04 4: Connection accepted from telnetPort_127.0.0.1_41398
2018.02.10 11:07:04 5: Cmd: >{BlockingRegisterTelnet($cl,2)}<
2018.02.10 11:07:04 5: XiaomiBTLESens (zoldertem) - ExecGatttool_Run: call gatttool with command timeout 5 gatttool -i hci0 -b 4C:65:A8:D1:7D:DC --char-write-req -a 0x10 -n 0100 --listen 2>&1 /dev/null and loop 0
2018.02.10 11:07:05 4: WEB_192.168.180.35_65061 GET /fhem?XHR=1&inform=type=status;filter=room=XiaomiBTLESens;since=1518257221;fmt=JSON&fw_id=26&timestamp=1518257225135; BUFLEN:0
2018.02.10 11:07:09 5: XiaomiBTLESens (zoldertem) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully
Notification handle = 0x000e value,54 3d 35 2e 37 20 48 3d 38 32 2e 37 00
Notification handle = 0x000e value,54 3d 35 2e 35 20 48 3d 38 34 2e 30 00
Notification handle = 0x000e value,54 3d 35 2e 38 20 48 3d 38 33 2e 30 00
Notification handle = 0x000e value,54 3d 35 2e 36 20 48 3d 38 34 2e 30 00
Notification handle = 0x000e value,54 3d 35 2e 37 20 48 3d 38 32 2e 37 00
Notification handle = 0x000e value,54 3d 35 2e 35 20 48 3d 38 34 2e 31 00
Notification handle = 0x000e value,54 3d 35 2e 37 20 48 3d 38 32 2e 39 00
Notification handle = 0x000e value,54 3d 35 2e 35 20 48 3d 38 34 2e 30 00
Notification handle = 0x000e value,54 3d 35 2e 37 20 48 3d 38 32 2e 38 00
Notification handle = 0x000e value,54 3d 35 2e 35 20 48 3d 38 34 2e 30 00

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

2018.02.10 11:07:09 5: Cmd: >{BlockingStart('2')}<
2018.02.10 11:07:09 5: Cmd: >{XiaomiBTLESens_ExecGatttool_Done('zoldertem|4C:65:A8:D1:7D:DC|ok|write|0x10|{"gtResult":"54 3d 35 2e 37 20 48 3d 38 32 2e 37 00 "}')}<
2018.02.10 11:07:09 5: XiaomiBTLESens (zoldertem) - ExecGatttool_Done: gatttool return string: zoldertem|4C:65:A8:D1:7D:DC|ok|write|0x10|{"gtResult":"54 3d 35 2e 37 20 48 3d 38 32 2e 37 00 "}
2018.02.10 11:07:09 4: XiaomiBTLESens (zoldertem) - ProcessingNotification
2018.02.10 11:07:09 4: XiaomiBTLESens (zoldertem) - ProcessingNotification: handle 0x10
2018.02.10 11:07:09 4: XiaomiBTLESens (zoldertem) - Thermo/Hygro Sens Handle0x10
2018.02.10 11:07:09 5: Starting notify loop for zoldertem, 3 event(s), first is humidity: 2.7\000
2018.02.10 11:07:09 5: createNotifyHash
2018.02.10 11:07:09 5: End notify loop for zoldertem
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 10 Februar 2018, 12:30:52
Ok. i need a log the temperature is greater than 10.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 10 Februar 2018, 12:53:14
ok i have find the problem and evaluateted the solution. give me one day.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 10 Februar 2018, 14:45:35
new version online. hope fix the problem
https://github.com/LeonGaultier/fhem-XiaomiBTLESens/archive/master.zip
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: kroonen am 10 Februar 2018, 18:55:03
almost, the humidity it gives 8.9 and should give 78.9

fhem> l zoldertem 
Internals:
   BTMAC      4C:65:A8:D1:7D:DC
   DEF        4C:65:A8:D1:7D:DC
   INTERVAL   300
   NAME       zoldertem
   NOTIFYDEV  global,zoldertem
   NR         21
   NTFY_ORDER 50-zoldertem
   STATE      active
   TYPE       XiaomiBTLESens
   VERSION    2.0.8pri1
   loglevel   4
   READINGS:
     2018-02-10 18:51:41   battery         ok
     2018-02-10 18:51:41   batteryLevel    100
     2018-02-09 08:59:59   firmware        00.00.66
     2018-02-10 18:51:46   humidity        8.9
     2018-02-10 13:13:46   lastGattError   no data response
     2018-02-10 18:51:46   state           active
     2018-02-10 18:51:46   temperature     6.9
   helper:
     CallBattery 0
     CallSensDataCounter 0
     updateTimeCallBattery 1518285101.49253
     updateTimestampCallBattery 2018-02-10 18:51:41
Attributes:
   interval   300
   model      thermoHygroSens
   room       XiaomiBTLESens

2018.02.10 18:47:54 5: Cmd: >get zoldertem sensorData<
2018.02.10 18:47:54 4: XiaomiBTLESens (zoldertem) - Run CreateParamGatttool with mod: write
2018.02.10 18:47:54 4: BlockingCall (XiaomiBTLESens_ExecGatttool_Run): created child (1290), uses telnetPort to connect back
2018.02.10 18:47:54 5: Starting notify loop for zoldertem, 1 event(s), first is write sensor data
2018.02.10 18:47:54 5: createNotifyHash
2018.02.10 18:47:54 5: End notify loop for zoldertem
2018.02.10 18:47:54 5: XiaomiBTLESens (zoldertem) - Write XiaomiBTLESens_ExecGatttool_Run zoldertem|4C:65:A8:D1:7D:DC|write|0x10|0100
2018.02.10 18:47:54 4: WEB: /fhem?detail=zoldertem&dev.getzoldertem=zoldertem&cmd.getzoldertem=get&arg.getzoldertem=sensorData&val.getzoldertem=&XHR=1&addLinks=1&fwcsrf=csrf_204325950458568&fw_id=50 / RL:20 / text/plain; charset=UTF-8 / Content-Encoding: gzip
 /
2018.02.10 18:47:54 4: Connection accepted from telnetPort_127.0.0.1_36184
2018.02.10 18:47:54 5: Cmd: >{BlockingRegisterTelnet($cl,4)}<
2018.02.10 18:47:54 5: XiaomiBTLESens (zoldertem) - ExecGatttool_Run: call gatttool with command - timeout 5 gatttool -i hci0 -b 4C:65:A8:D1:7D:DC --char-write-req -a 0x10 -n 0100 --listen 2>&1 /dev/null and loop - 0
2018.02.10 18:47:59 5: XiaomiBTLESens (zoldertem) - ExecGatttool_Run: gatttool loop result
2018.02.10 18:47:59 1: PERL WARNING: Use of uninitialized value in split at ./FHEM/74_XiaomiBTLESens.pm line 485.
2018.02.10 18:47:59 1: PERL WARNING: Use of uninitialized value $gtResult[1] in substitution (s///) at ./FHEM/74_XiaomiBTLESens.pm line 486.
2018.02.10 18:47:59 5: XiaomiBTLESens (zoldertem) - ExecGatttool_Run: call gatttool with command - timeout 5 gatttool -i hci0 -b 4C:65:A8:D1:7D:DC --char-write-req -a 0x10 -n 0100 --listen 2>&1 /dev/null and loop - 1
2018.02.10 18:48:04 5: XiaomiBTLESens (zoldertem) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully
Notification handle = 0x000e value,54 3d 36 2e 39 20 48 3d 37 38 2e 39 00
Notification handle = 0x000e value,54 3d 36 2e 39 20 48 3d 37 38 2e 38 00
Notification handle = 0x000e value,54 3d 36 2e 38 20 48 3d 37 38 2e 33 00
Notification handle = 0x000e value,54 3d 36 2e 38 20 48 3d 37 38 2e 37 00
Notification handle = 0x000e value,54 3d 36 2e 38 20 48 3d 37 38 2e 35 00
Notification handle = 0x000e value,54 3d 36 2e 38 20 48 3d 37 38 2e 38 00

2018.02.10 18:48:04 4: XiaomiBTLESens (zoldertem) - ExecGatttool_Run: gatttool result Characteristic value was written successfully
Notification handle = 0x000e value,54 3d 36 2e 39 20 48 3d 37 38 2e 39 00 ,54 3d 36 2e 39 20 48 3d 37 38 2e 38 00
Notification handle = 0x000e value,54 3d 36 2e 38 20 48 3d 37 38 2e 33 00
Notification handle = 0x000e value,54 3d 36 2e 38 20 48 3d 37 38 2e 37 00
Notification handle = 0x000e value,54 3d 36 2e 38 20 48 3d 37 38 2e 35 00
Notification handle = 0x000e value,54 3d 36 2e 38 20 48 3d 37 38 2e 38 00

2018.02.10 18:48:04 5: Cmd: >{BlockingStart('4')}<
2018.02.10 18:48:04 5: Cmd: >{XiaomiBTLESens_ExecGatttool_Done('zoldertem|4C:65:A8:D1:7D:DC|ok|write|0x10|{"gtResult":"54 3d 36 2e 39 20 48 3d 37 38 2e 39 00 "}')}<
2018.02.10 18:48:04 5: XiaomiBTLESens (zoldertem) - ExecGatttool_Done: gatttool return string: zoldertem|4C:65:A8:D1:7D:DC|ok|write|0x10|{"gtResult":"54 3d 36 2e 39 20 48 3d 37 38 2e 39 00 "}
2018.02.10 18:48:04 4: XiaomiBTLESens (zoldertem) - ProcessingNotification
2018.02.10 18:48:04 4: XiaomiBTLESens (zoldertem) - ProcessingNotification: handle 0x10
2018.02.10 18:48:04 4: XiaomiBTLESens (zoldertem) - Thermo/Hygro Sens Handle0x10
2018.02.10 18:48:04 5: Starting notify loop for zoldertem, 3 event(s), first is humidity: 8.9\000
2018.02.10 18:48:04 5: End notify loop for zoldertem
2018.02.10 18:48:04 4: XiaomiBTLESens (zoldertem) - WriteReadings: Readings were written
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 10 Februar 2018, 19:51:17
exchanged numbers, sorry.
the humidity bug is fixed but i have change code from loop to outside of the loop. can you please test it? thanks

https://github.com/LeonGaultier/fhem-XiaomiBTLESens/archive/master.zip


tip. verbose not global, set verbose attribut at the sensor device to 5.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: kroonen am 10 Februar 2018, 20:29:29
It works, thnx for the support.

Another question, is there a reason why the interval can't be smaller than 300 sec. Is this for battery saving??? I like to set it to 150 sec

regards Richard
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 10 Februar 2018, 20:59:30
i have change the minimum inteval to 120s, but you have interval + random 90
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 10 Februar 2018, 21:17:15
Morgen früh wird es eine neue Version geben wo alle relevanten Änderungen welche sich in Zusammenarbeit mit kroonen ergeben haben.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: kroonen am 10 Februar 2018, 21:41:43
Hi,

I get sometimes in the logging some strange values, signs (ھɇ). I will try to debug if I get again one again.


2018-02-10_21:32:55 zoldertem write sensor data
2018-02-10_21:33:00 zoldertem temperature: ھɇ
2018-02-10_21:33:00 zoldertem humidity:
2018-02-10_21:33:00 zoldertem active
2018-02-10_21:34:45 zoldertem read sensor data
2018-02-10_21:34:49 zoldertem batteryLevel: 100
2018-02-10_21:34:49 zoldertem battery: ok
2018-02-10_21:34:49 zoldertem active
2018-02-10_21:34:49 zoldertem write sensor data
2018-02-10_21:34:54 zoldertem humidity: 79.8
2018-02-10_21:34:54 zoldertem temperature: 6.5
2018-02-10_21:34:54 zoldertem active
2018-02-10_21:38:03 zoldertem write sensor data
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: kroonen am 10 Februar 2018, 21:50:23
I got one, and some debug..

2018.02.10 21:46:09 4: XiaomiBTLESens (zoldertem) - Run CreateParamGatttool with mod: write
2018.02.10 21:46:09 4: BlockingCall (XiaomiBTLESens_ExecGatttool_Run): created child (2658), uses telnetPort to connect back
2018.02.10 21:46:09 5: Starting notify loop for zoldertem, 1 event(s), first is write sensor data
2018.02.10 21:46:09 5: End notify loop for zoldertem
2018.02.10 21:46:09 5: XiaomiBTLESens (zoldertem) - Write XiaomiBTLESens_ExecGatttool_Run zoldertem|4C:65:A8:D1:7D:DC|write|0x10|0100
2018.02.10 21:46:09 4: XiaomiBTLESens (zoldertem) - stateRequestTimer: Call Request Timer
2018.02.10 21:46:09 4: Connection accepted from telnetPort_127.0.0.1_36268
2018.02.10 21:46:09 5: Cmd: >{BlockingRegisterTelnet($cl,6)}<
2018.02.10 21:46:09 5: XiaomiBTLESens (zoldertem) - ExecGatttool_Run: call gatttool with command: timeout 5 gatttool -i hci0 -b 4C:65:A8:D1:7D:DC --char-write-req -a 0x10 -n 0100 --listen 2>&1 /dev/null and loop 0
2018.02.10 21:46:14 5: XiaomiBTLESens (zoldertem) - ExecGatttool_Run: gatttool loop result
2018.02.10 21:46:14 5: XiaomiBTLESens (zoldertem) - ExecGatttool_Run: call gatttool with command: timeout 5 gatttool -i hci0 -b 4C:65:A8:D1:7D:DC --char-write-req -a 0x10 -n 0100 --listen 2>&1 /dev/null and loop 1
2018.02.10 21:46:14 5: XiaomiBTLESens (zoldertem) - ExecGatttool_Run: gatttool loop result connect error,Transport endpoint is not connected (107)

2018.02.10 21:46:14 5: XiaomiBTLESens (zoldertem) - ExecGatttool_Run: call gatttool with command: timeout 5 gatttool -i hci0 -b 4C:65:A8:D1:7D:DC --char-write-req -a 0x10 -n 0100 --listen 2>&1 /dev/null and loop 2
2018.02.10 21:46:19 5: XiaomiBTLESens (zoldertem) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully

2018.02.10 21:46:19 4: XiaomiBTLESens (zoldertem) - ExecGatttool_Run: gatttool result Characteristic value was written successfully

2018.02.10 21:46:19 5: Cmd: >{BlockingStart('6')}<
2018.02.10 21:46:19 5: Cmd: >{XiaomiBTLESens_ExecGatttool_Done('zoldertem|4C:65:A8:D1:7D:DC|ok|write|0x10|{"gtResult":"no data response"}')}<
2018.02.10 21:46:19 5: XiaomiBTLESens (zoldertem) - ExecGatttool_Done: gatttool return string: zoldertem|4C:65:A8:D1:7D:DC|ok|write|0x10|{"gtResult":"no data response"}
2018.02.10 21:46:19 4: XiaomiBTLESens (zoldertem) - ProcessingNotification
2018.02.10 21:46:19 4: XiaomiBTLESens (zoldertem) - ProcessingNotification: handle 0x10
2018.02.10 21:46:19 4: XiaomiBTLESens (zoldertem) - Thermo/Hygro Sens Handle0x10
2018.02.10 21:46:19 1: PERL WARNING: substr outside of string at ./FHEM/74_XiaomiBTLESens.pm line 718.
2018.02.10 21:46:19 3: eval: {XiaomiBTLESens_ExecGatttool_Done('zoldertem|4C:65:A8:D1:7D:DC|ok|write|0x10|{"gtResult":"no data response"}')}
2018.02.10 21:46:19 1: PERL WARNING: Use of uninitialized value in pack at ./FHEM/74_XiaomiBTLESens.pm line 718.
2018.02.10 21:46:19 3: eval: {XiaomiBTLESens_ExecGatttool_Done('zoldertem|4C:65:A8:D1:7D:DC|ok|write|0x10|{"gtResult":"no data response"}')}
2018.02.10 21:46:19 5: Starting notify loop for zoldertem, 3 event(s), first is temperature: ھɇ
2018.02.10 21:46:19 5: End notify loop for zoldertem
2018.02.10 21:46:19 4: XiaomiBTLESens (zoldertem) - WriteReadings: Readings were written
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 11 Februar 2018, 00:07:07
i have insert a better error handling. can you test it?

https://github.com/LeonGaultier/fhem-XiaomiBTLESens/archive/master.zip
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: kroonen am 11 Februar 2018, 11:42:05
thnx for the support, works fine right now no false readings anymore.

Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: ck-jusuf am 11 Februar 2018, 16:36:15
Hi,

ich bekomme trotz neuer Version (2.0.8.) weiterhin ca. bei jeder 2ten Intervall, irgendwelche chinesischen werten z.b. 큌 als Temperatur.

2018-02-11 16:27:35 XiaomiBTLESens XiaomiTemp write sensor data
2018-02-11 16:27:45 XiaomiBTLESens XiaomiTemp temperature: 23.4
2018-02-11 16:27:45 XiaomiBTLESens XiaomiTemp humidity: 42.4
2018-02-11 16:27:45 XiaomiBTLESens XiaomiTemp active
2018-02-11 16:30:54 XiaomiBTLESens XiaomiTemp write sensor data
2018-02-11 16:31:00 XiaomiBTLESens XiaomiTemp temperature: 큌
2018-02-11 16:31:00 XiaomiBTLESens XiaomiTemp humidity: 9
2018-02-11 16:31:00 XiaomiBTLESens XiaomiTemp active
018-02-11 16:32:32 XiaomiBTLESens XiaomiTemp write sensor data
2018-02-11 16:32:37 XiaomiBTLESens XiaomiTemp humidity:
2018-02-11 16:32:37 XiaomiBTLESens XiaomiTemp temperature: ھɇ
2018-02-11 16:32:37 XiaomiBTLESens XiaomiTemp active

Internals
BTMAC
xxxxxxxxx
CFGFN

DEF
xxxxxxxxx

INTERVAL
300
NAME
XiaomiTemp
NOTIFYDEV
global,XiaomiTemp
NR
256
NTFY_ORDER
50-XiaomiTemp
STATE
active
TYPE
XiaomiBTLESens
VERSION
2.0.8
loglevel
4
Readings
battery
ok
2018-02-11 16:04:33
batteryLevel
100
2018-02-11 16:04:33
devicename
MJ_HT_V1
2018-02-11 16:11:53
firmware
00.00.66
2018-02-11 16:00:00
humidity
9
2018-02-11 16:31:00
lastGattError
No route to host (113)
2018-02-11 16:12:09
state
active
2018-02-11 16:31:00
temperature

2018-02-11 16:31:00


Edit:

hab jetzt erst die Version über GitHub geladen, dachte das ist die gleiche wie übers Fhem update. Hat ja alles die Gleiche Versions NR.
Mit der Version hatte ich bisher keine Probleme.
Danke
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 11 Februar 2018, 18:02:14
Ich werde versuchen die aktuelle Gitversion heute noch ins FHEM SVN zu laden.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: distel am 11 Februar 2018, 20:18:14
Kleiner LifeHack für alle, die noch mit der Position des Thermometers experimentieren: Von der runden Trägerplatte einfach unten etwas absägen und dann mit PowerStrips montieren. Dabei die Zuglasche der Strips zwar zugänglich, aber unsichtbar dort positionieren, wo ihr das Teil abgesägt habt. :-)
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Abercrombie1892 am 17 Februar 2018, 11:00:57
hallo,

gibt es denn auch eine möglichkeit mit dem modul die fernbedienung der yeelight Deckenlampen mit einzubeziehen. diese funken ja auch auf dem ble standard. ich würde diese gerne in verbindung mit fhem nutzen.

danke und mfg.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 17 Februar 2018, 11:07:01
Wenn Du mit entsprechende gatt Daten liefern kannst.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: trinitywhm am 17 Februar 2018, 12:06:21
Die Antwort habe ich befürchtet. Aber ich weiß dass das der nächste sinnvolle Schritt ist.
Wir allerdings adhoc jetzt nix, melde mich wenn ich damit durch bin und ob es was gebracht hat.
Danke bis hierhin.
Ich bin mittlerweile auf Stretch.
FHEM läuft immernoch auf nem raspi 3.
bluetoothctl --version ist nun 5.43

Die Probleme haben sich ein wenig verändert. Vorher mit Debian Jessie und der älteren bluetoothctl Version kamen ja zum Schlus gar keine Daten mehr an. Mittlerweile kommen wenigstens hin und wieder Messdaten an. Es kommt zwar jeden Tag zu Fehlern "charWrite faild" oder "he BlockingCall Process terminated unexpectedly. Timedout". Aber bei allen sechs Pflanzensensoren die ich im Einsatz habe kommen jeden Tag genügend Daten an, sodass die Plots über den Tag geschrieben werden können.

Das ist jetzt ein Zustand mit dem ich erstmal leben kann, aber ich dachte ich gebe hier nochmal Rückmeldung dass es halt noch immer nicht ohne Probleme funktioniert. @CoolTux: Woran könnte das denn noch liegen?
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 17 Februar 2018, 16:59:28
Das kann ich Dir leider nicht sagen. Wird dann wohl an BTLE und/oder gatttool an sich liegen.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: dan21 am 20 Februar 2018, 18:14:41
Ich habe das eckige Thermometer und bekomme es mit FHEM nicht ans laufen.
Hier das Log:

2018.02.20 18:10:54 5 : XiaomiBTLESens (MiTempD) - ExecGatttool_Done: gatttool return string: MiTempD|88:C6:26:8E:74:E2|ok|write|0x10|{"gtResult":"Attribute can't be written"}
2018.02.20 18:10:54 4 : XiaomiBTLESens (MiTempD) - ProcessingNotification
2018.02.20 18:10:54 4 : XiaomiBTLESens (MiTempD) - ProcessingNotification: handle 0x10
2018.02.20 18:10:54 4 : XiaomiBTLESens (MiTempD) - Thermo/Hygro Sens Handle0x10
2018-02-20 18:10:54 XiaomiBTLESens MiTempD lastGattError: charWrite faild
2018-02-20 18:10:54 XiaomiBTLESens MiTempD error
2018.02.20 18:10:54 4 : XiaomiBTLESens (MiTempD) - WriteReadings: Readings were written
2018.02.20 18:10:54 4 : XiaomiBTLESens (MiTempD) - Run CreateParamGatttool with mod: write
2018-02-20 18:10:54 XiaomiBTLESens MiTempD write sensor data
2018.02.20 18:10:54 5 : XiaomiBTLESens (MiTempD) - Write XiaomiBTLESens_ExecGatttool_Run MiTempD|88:C6:26:8E:74:E2|write|0x10|0100
2018-02-20 18:10:54 XiaomiBTLESens MiTempD active
2018.02.20 18:10:54 4 : XiaomiBTLESens (MiTempD) - WriteReadings: Readings were written
2018.02.20 18:10:54 4 : XiaomiBTLESens (MiTempD) - Run CreateParamGatttool with mod: write
2018-02-20 18:10:54 XiaomiBTLESens MiTempD write sensor data
2018.02.20 18:10:54 5 : XiaomiBTLESens (MiTempD) - Write XiaomiBTLESens_ExecGatttool_Run MiTempD|88:C6:26:8E:74:E2|write|0x10|0100

2018.02.20 18:11:04 5 : XiaomiBTLESens (MiTempD) - ExecGatttool_Done: gatttool return string: MiTempD|88:C6:26:8E:74:E2|ok|write|0x10|{"gtResult":"Attribute can't be written"}
2018.02.20 18:11:04 4 : XiaomiBTLESens (MiTempD) - ProcessingNotification
2018.02.20 18:11:04 4 : XiaomiBTLESens (MiTempD) - ProcessingNotification: handle 0x10
2018.02.20 18:11:04 4 : XiaomiBTLESens (MiTempD) - Thermo/Hygro Sens Handle0x10
2018-02-20 18:11:04 XiaomiBTLESens MiTempD lastGattError: charWrite faild
2018-02-20 18:11:04 XiaomiBTLESens MiTempD error
2018.02.20 18:11:04 4 : XiaomiBTLESens (MiTempD) - WriteReadings: Readings were written
2018.02.20 18:11:04 4 : XiaomiBTLESens (MiTempD) - Run CreateParamGatttool with mod: write
2018-02-20 18:11:04 XiaomiBTLESens MiTempD write sensor data
2018.02.20 18:11:04 5 : XiaomiBTLESens (MiTempD) - Write XiaomiBTLESens_ExecGatttool_Run MiTempD|88:C6:26:8E:74:E2|write|0x10|0100
2018-02-20 18:11:04 XiaomiBTLESens MiTempD active
2018.02.20 18:11:04 4 : XiaomiBTLESens (MiTempD) - WriteReadings: Readings were written
2018.02.20 18:11:04 4 : XiaomiBTLESens (MiTempD) - Run CreateParamGatttool with mod: write
2018-02-20 18:11:04 XiaomiBTLESens MiTempD write sensor data
2018.02.20 18:11:04 5 : XiaomiBTLESens (MiTempD) - Write XiaomiBTLESens_ExecGatttool_Run MiTempD|88:C6:26:8E:74:E2|write|0x10|0100
2018-02-20 18:11:04 XiaomiSmartHome xiaomiSH heartbeat: 34ce00fb676f
2018-02-20 18:11:04 XiaomiSmartHome xiaomiSH token: vRaOEFZZSe081gRY

Hat jemadn eine Idee was falsch laufen könnte?
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: distel am 20 Februar 2018, 18:18:55
das eckige Thermometer
Hmm, das eckige hat Bluetooth? Ich dachte nicht.
Mit ePaper Display? Sollte kein BT haben
Ohne Display? Sollte nur mit dem Gateway und nicht per BT gehen (anderes Modul!)
Wie kommst du denn an die BT-MAC?
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 20 Februar 2018, 18:19:41
Nicht kompatibel?
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: frank_41 am 20 Februar 2018, 23:47:48
Hallo,
ich melde mich mal wieder wegen FlowerSens log message :
Timeout for XiaomiBTLESens_ExecGatttool_Run reached, terminated process 22103

Die "zentrale" logdatei wird immer noch vollgemüllt damit.

ich meine, ich habe alle loglevel und verbose auf minimum gesetzt ?
was kann ich noch tun, um die Einträge nicht mehr zu bekommen ??

Internals:
   BTMAC      C4:7C:8D:65:C8:99
   DEF        C4:7C:8D:65:C8:99
   INTERVAL   604
   NAME       Bed_ananas
   NOTIFYDEV  global,Bed_ananas
   NR         515
   NTFY_ORDER 50-Bed_ananas
   STATE      error
   TYPE       XiaomiBTLESens
   VERSION    2.0.9
   loglevel   2
   Helper:
     DBLOG:
       battery:
         myDbLog:
           TIME       1519087815.52905
           VALUE      ok
       batteryLevel:
         myDbLog:
           TIME       1519087815.52905
           VALUE      99
       fertility:
         myDbLog:
           TIME       1519126846.28075
           VALUE      160
       firmware:
         myDbLog:
           TIME       1519087815.52905
           VALUE      3.1.8
       lastGattError:
         myDbLog:
           TIME       1519166415.03684
           VALUE      Internal application error
       lux:
         myDbLog:
           TIME       1519126846.28075
           VALUE      6218
       moisture:
         myDbLog:
           TIME       1519126846.28075
           VALUE      13
       state:
         myDbLog:
           TIME       1519166415.03684
           VALUE      error
       temperature:
         myDbLog:
           TIME       1519126846.28075
           VALUE      19.4
   READINGS:
     2018-02-20 01:50:15   battery         ok
     2018-02-20 01:50:15   batteryLevel    99
     2018-02-20 12:40:46   fertility       160
     2018-02-20 01:50:15   firmware        3.1.8
     2018-02-20 23:40:15   lastGattError   Internal application error
     2018-02-20 12:40:46   lux             6218
     2018-02-20 12:40:46   moisture        13
     2018-02-20 23:40:15   state           error
     2018-02-20 12:40:46   temperature     19.4
   helper:
     CallBattery 0
     CallSensDataCounter 0
     updateTimeCallBattery 1519087815.51568
     updateTimestampCallBattery 2018-02-20 01:50:15
Attributes:
   blockingCallLoglevel 2
   devStateIcon {my $w=int(ReadingsVal("$name","moisture",0));if($w < 10){'.*:sani_irrigation@red'}else{'.*:sani_irrigation@green'}}
   interval   604
   model      flowerSens
   room       FlowerSens,plants
   verbose    0
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 21 Februar 2018, 07:56:45
Bei einem BlockingKill wird diese Meldung immer aus gegeben, egal welches Loglevel man an gibt.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: trinitywhm am 24 Februar 2018, 09:10:24
Guten Morgen,
ich bekomme bei einem meiner Sensoren den Error "Invalid argument (22)".
Ein Log mit verbose 5 wenn ich ein get sensorData auf dem Device mache.
2018.02.24 09:06:55 4: XiaomiBTLESens (WZ_Pflanze2) - Run CreateParamGatttool with mod: write
2018.02.24 09:06:55 5: XiaomiBTLESens (WZ_Pflanze2) - Write XiaomiBTLESens_ExecGatttool_Run WZ_Pflanze2|C4:7C:8D:65:BD:DA|write|0x33|A01F
2018.02.24 09:06:56 5: XiaomiBTLESens (WZ_Pflanze2) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:65:BD:DA --char-write-req -a 0x33 -n A01F 2>&1 /dev/null and loop 0
2018.02.24 09:06:56 5: XiaomiBTLESens (WZ_Pflanze2) - ExecGatttool_Run: gatttool loop result connect error,Invalid argument (22)

2018.02.24 09:06:56 5: XiaomiBTLESens (WZ_Pflanze2) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:65:BD:DA --char-write-req -a 0x33 -n A01F 2>&1 /dev/null and loop 1
2018.02.24 09:06:56 5: XiaomiBTLESens (WZ_Pflanze2) - ExecGatttool_Run: gatttool loop result connect error,Invalid argument (22)

2018.02.24 09:06:56 5: XiaomiBTLESens (WZ_Pflanze2) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:65:BD:DA --char-write-req -a 0x33 -n A01F 2>&1 /dev/null and loop 2
2018.02.24 09:06:56 5: XiaomiBTLESens (WZ_Pflanze2) - ExecGatttool_Run: gatttool loop result connect error,Invalid argument (22)

2018.02.24 09:06:56 5: XiaomiBTLESens (WZ_Pflanze2) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:65:BD:DA --char-write-req -a 0x33 -n A01F 2>&1 /dev/null and loop 3
2018.02.24 09:06:56 5: XiaomiBTLESens (WZ_Pflanze2) - ExecGatttool_Run: gatttool loop result connect error,Invalid argument (22)

2018.02.24 09:06:56 5: XiaomiBTLESens (WZ_Pflanze2) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:65:BD:DA --char-write-req -a 0x33 -n A01F 2>&1 /dev/null and loop 4
2018.02.24 09:06:56 5: XiaomiBTLESens (WZ_Pflanze2) - ExecGatttool_Run: gatttool loop result connect error,Invalid argument (22)

2018.02.24 09:06:56 4: XiaomiBTLESens (WZ_Pflanze2) - ExecGatttool_Run: gatttool result connect error,Invalid argument (22)

2018.02.24 09:06:56 5: XiaomiBTLESens (WZ_Pflanze2) - ExecGatttool_Done: gatttool return string: WZ_Pflanze2|C4:7C:8D:65:BD:DA|error|write|0x33|{"gtResult":"Invalid argument (22)"}
2018.02.24 09:06:56 4: XiaomiBTLESens (WZ_Pflanze2) - ProcessingErrors
2018.02.24 09:06:56 4: XiaomiBTLESens (WZ_Pflanze2) - WriteReadings: Readings were written

Was läuft hier schief?
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 24 Februar 2018, 09:27:10
Guten Morgen,
ich bekomme bei einem meiner Sensoren den Error "Invalid argument (22)".
Ein Log mit verbose 5 wenn ich ein get sensorData auf dem Device mache.
2018.02.24 09:06:55 4: XiaomiBTLESens (WZ_Pflanze2) - Run CreateParamGatttool with mod: write
2018.02.24 09:06:55 5: XiaomiBTLESens (WZ_Pflanze2) - Write XiaomiBTLESens_ExecGatttool_Run WZ_Pflanze2|C4:7C:8D:65:BD:DA|write|0x33|A01F
2018.02.24 09:06:56 5: XiaomiBTLESens (WZ_Pflanze2) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:65:BD:DA --char-write-req -a 0x33 -n A01F 2>&1 /dev/null and loop 0
2018.02.24 09:06:56 5: XiaomiBTLESens (WZ_Pflanze2) - ExecGatttool_Run: gatttool loop result connect error,Invalid argument (22)

2018.02.24 09:06:56 5: XiaomiBTLESens (WZ_Pflanze2) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:65:BD:DA --char-write-req -a 0x33 -n A01F 2>&1 /dev/null and loop 1
2018.02.24 09:06:56 5: XiaomiBTLESens (WZ_Pflanze2) - ExecGatttool_Run: gatttool loop result connect error,Invalid argument (22)

2018.02.24 09:06:56 5: XiaomiBTLESens (WZ_Pflanze2) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:65:BD:DA --char-write-req -a 0x33 -n A01F 2>&1 /dev/null and loop 2
2018.02.24 09:06:56 5: XiaomiBTLESens (WZ_Pflanze2) - ExecGatttool_Run: gatttool loop result connect error,Invalid argument (22)

2018.02.24 09:06:56 5: XiaomiBTLESens (WZ_Pflanze2) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:65:BD:DA --char-write-req -a 0x33 -n A01F 2>&1 /dev/null and loop 3
2018.02.24 09:06:56 5: XiaomiBTLESens (WZ_Pflanze2) - ExecGatttool_Run: gatttool loop result connect error,Invalid argument (22)

2018.02.24 09:06:56 5: XiaomiBTLESens (WZ_Pflanze2) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:65:BD:DA --char-write-req -a 0x33 -n A01F 2>&1 /dev/null and loop 4
2018.02.24 09:06:56 5: XiaomiBTLESens (WZ_Pflanze2) - ExecGatttool_Run: gatttool loop result connect error,Invalid argument (22)

2018.02.24 09:06:56 4: XiaomiBTLESens (WZ_Pflanze2) - ExecGatttool_Run: gatttool result connect error,Invalid argument (22)

2018.02.24 09:06:56 5: XiaomiBTLESens (WZ_Pflanze2) - ExecGatttool_Done: gatttool return string: WZ_Pflanze2|C4:7C:8D:65:BD:DA|error|write|0x33|{"gtResult":"Invalid argument (22)"}
2018.02.24 09:06:56 4: XiaomiBTLESens (WZ_Pflanze2) - ProcessingErrors
2018.02.24 09:06:56 4: XiaomiBTLESens (WZ_Pflanze2) - WriteReadings: Readings were written

Was läuft hier schief?

Lief der Sensor mal mit dem Modul oder ist das neu?
Klingt danach das das handle mit dem Argument nichts anfangen kann.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: trinitywhm am 24 Februar 2018, 14:37:56
Ja es hat schonmal funktioniert. Der Fehler ist mir erst heute aufgefallen (schließe aber nicht aus, dass er schon früher aufgetreten ist).Kurioserweise scheint es zwischendurch immer mal wieder zu funktionieren.
Hier ein List des Devices:

 Internals:
   BTMAC      C4:7C:8D:65:BD:DA
   DEF        C4:7C:8D:65:BD:DA
   INTERVAL   300
   NAME       WZ_Pflanze2
   NOTIFYDEV  global,WZ_Pflanze2
   NR         28
   NTFY_ORDER 50-WZ_Pflanze2
   STATE      Feuchte: 15 / 19 / 65</br>Dünger: 350 / 302 / 2000</br>Temperatur: 15 / 19.2 / 32</br>
   TYPE       XiaomiBTLESens
   VERSION    2.0.9
   loglevel   4
   Helper:
     DBLOG:
       battery:
         DBLogging:
           TIME       1519468697.33605
           VALUE      ok
       batteryLevel:
         DBLogging:
           TIME       1519468697.33605
           VALUE      99
       fertility:
         DBLogging:
           TIME       1519476386.42621
           VALUE      302
       lux:
         DBLogging:
           TIME       1519476386.42621
           VALUE      90
       moisture:
         DBLogging:
           TIME       1519476386.42621
           VALUE      19
       state:
         DBLogging:
           TIME       1519476746.95788
           VALUE      error
       temperature:
         DBLogging:
           TIME       1519476386.42621
           VALUE      19.2
   READINGS:
     2018-02-24 11:38:17   battery         ok
     2018-02-24 11:38:17   batteryLevel    99
     2018-02-24 13:46:26   fertility       302
     2018-02-24 11:38:17   firmware        3.1.8
     2018-02-24 14:32:21   lastGattError   Invalid argument (22)
     2018-02-24 13:46:26   lux             90
     2018-02-24 13:46:26   moisture        19
     2018-02-24 14:32:21   state           error
     2018-02-24 13:46:26   temperature     19.2
     2018-02-24 14:32:21   uistate         hungrig
   helper:
     CallBattery 0
     CallSensDataCounter 0
     updateTimeCallBattery 1519468697.33218
     updateTimestampCallBattery 2018-02-24 11:38:17
Attributes:
   DbLogExclude .*
   DbLogInclude battery,batteryLevel,temperature,moisture,fertility,lux
   alias      Friedenslilie
   event-min-interval battery:21600,batteryLevel:21600,temperature:600,moisture:600,fertility:600,lux:300
   event-on-change-reading state
   event-on-update-reading .*
   icon       hue_room_garden
   maxFertility 2000
   maxLux     3200
   maxMoisture 65
   maxTemp    32
   minFertility 350
   minLux     1600
   minMoisture 15
   minTemp    15
   model      flowerSens
   room       20_Wohnzimmer
   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    3
Das fiel mir zunächst auf weil es keinen Plotabriss gab. Und auch in der DB stehen aktuelle Werte über den Tag verteilt. Dazwischen dann immer mal wieder ein Error.

Aber die Timeout-Meldungen im Log häufen sich heute auch wieder mehr als an anderen Tagen. Vielleicht hängt es ja auch damit zusammen:
2018.02.24 14:30:14 1: Timeout for XiaomiBTLESens_ExecGatttool_Run reached, terminated process 6124
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 24 Februar 2018, 14:55:50
Kannst Du den Sensor näher an den BT Dongle holen?
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: gent am 02 März 2018, 19:40:28
Hallo,

kann ich irgendwie das XiaomiFlowerSens Modul durch das XiaomiBTLESens Modul austauschen, ohne alles neu konfigurieren zu müssen und auch meine logs zu verlieren?

Viele Grüße, Holger
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 02 März 2018, 19:59:24
Ohne Dir jetzt zu Nahe zu treten und bitte nicht sauer sein, aber wenn Du fragst dann muss ich mit Nein antworten. Die Definition und alles ist ja so geblieben es hat sich nur der Type geändert. Das define wäre also an zu passen. Wenn du nicht weißt wie dann mach es bitte einfach neu. Ist besser als wenn irgendwas kaputt geht.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: distel am 02 März 2018, 20:40:58
auch meine logs zu verlieren?
Ohne genaue Kenntnis deiner Config ist das natürlich schwer zu sagen. Wie loggst du? Wie ist das/sind die Log Device(s) konfiguriert? Wie willst du migrieren? ...einen Automatismus gibt  es nicht. Backup vorher wäre wohl angeraten!
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: gent am 04 März 2018, 20:17:59
Ohne Dir jetzt zu Nahe zu treten und bitte nicht sauer sein, aber wenn Du fragst dann muss ich mit Nein antworten. Die Definition und alles ist ja so geblieben es hat sich nur der Type geändert. Das define wäre also an zu passen. Wenn du nicht weißt wie dann mach es bitte einfach neu. Ist besser als wenn irgendwas kaputt geht.

Hi, also wenn das alles ist, dann kriege ich das natürlich hin. Dann erübrigt sich natürlich die Frage nach den log-Devices und so. Und ich bin natürlich nicht sauer. Der Schubser in die richtige Richtung hat ja gereicht. Ich war mir halt nicht sicher, ob das alles ist.


Gesendet von iPad mit Tapatalk Pro
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 17 März 2018, 11:59:50
Heute stand bei mir nach langer Zeit ein Batteriewechsel an. Leider habe ich nicht sofort den neuen Batteriestatus gesehen da der Timestamp für den Batteriewechsel noch nicht alt genug war.
Daher gibt es nun ein
set resetBatteryTimestamp

Damit wird automatisch ein neu einlesen des Batteriestatus erzwungen.
Update kommt die Tage


Grüße
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: HeikoS am 18 März 2018, 22:38:50
Ich habe heute Mittag ein FHEM-Update und damit auch ein Update des Moduls auf 2.0.10 gemacht.
Genau ab dem Zeitpunkt bekomme ich keine Werte mehr von meinem FlowerSensor. Mit der Mi Flower Care App lässt er sich ganz normal auslesen. Hardware-Firmware ist laut App 3.1.8 (aktuell).

Log mit Verbose 5
2018.03.18 22:18:53 4: XiaomiBTLESens (Wz_Palme) - Run CreateParamGatttool with mod: write
2018.03.18 22:18:53 5: XiaomiBTLESens (Wz_Palme) - Write XiaomiBTLESens_ExecGatttool_Run Wz_Palme|C4:7C:8D:65:C4:46|write|0x33|A01F
2018.03.18 22:18:53 5: XiaomiBTLESens (Wz_Palme) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:65:C4:46 --char-write-req -a 0x33 -n A01F 2>&1 /dev/null and loop 0
2018.03.18 22:18:56 5: XiaomiBTLESens (Wz_Palme) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully

2018.03.18 22:18:56 4: XiaomiBTLESens (Wz_Palme) - ExecGatttool_Run: gatttool result Characteristic value was written successfully

2018.03.18 22:18:56 5: XiaomiBTLESens (Wz_Palme) - ExecGatttool_Done: gatttool return string: Wz_Palme|C4:7C:8D:65:C4:46|ok|write|0x33|HASH(0x15c7040)
2018.03.18 22:18:56 4: XiaomiBTLESens (Wz_Palme) - ExecGatttool_Done: JSON error while request: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "HASH(0x15c7040)") at ./FHEM/74_XiaomiBTLESens.pm line 554.

2018.03.18 22:18:56 4: XiaomiBTLESens (Wz_Palme) - Run CreateParamGatttool with mod: read
2018.03.18 22:18:56 5: XiaomiBTLESens (Wz_Palme) - Read XiaomiBTLESens_ExecGatttool_Run Wz_Palme|C4:7C:8D:65:C4:46|read|0x35
2018.03.18 22:18:57 5: XiaomiBTLESens (Wz_Palme) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:65:C4:46 --char-read -a 0x35 2>&1 /dev/null and loop 0
2018.03.18 22:18:57 5: XiaomiBTLESens (Wz_Palme) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,ae 00 00 34 00 00 00 10 94 00 02 3c 00 fb 34 9b

2018.03.18 22:18:57 4: XiaomiBTLESens (Wz_Palme) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,ae 00 00 34 00 00 00 10 94 00 02 3c 00 fb 34 9b

2018.03.18 22:18:57 5: XiaomiBTLESens (Wz_Palme) - ExecGatttool_Done: gatttool return string: Wz_Palme|C4:7C:8D:65:C4:46|ok|read|0x35|HASH(0x15c7040)
2018.03.18 22:18:57 4: XiaomiBTLESens (Wz_Palme) - ExecGatttool_Done: JSON error while request: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "HASH(0x15c7040)") at ./FHEM/74_XiaomiBTLESens.pm line 554.
List des Devices
Internals:
   BTMAC      C4:7C:8D:65:C4:46
   DEF        C4:7C:8D:65:C4:46
   INTERVAL   7200
   NAME       Wz_Palme
   NOTIFYDEV  global,Wz_Palme
   NR         22
   NTFY_ORDER 50-Wz_Palme
   STATE      active
   TYPE       XiaomiBTLESens
   VERSION    2.0.10
   loglevel   4
   READINGS:
     2018-03-18 20:21:03   battery         low
     2018-03-18 20:21:03   batteryLevel    0
     2018-03-18 22:20:46   fertility       0
     2018-03-18 20:21:03   firmware        -30.-30.-30
     2018-03-04 03:52:09   lastGattError   charWrite faild
     2018-03-18 22:20:46   lux             0
     2018-03-18 22:20:46   moisture        0
     2018-03-18 22:20:46   state           active
     2018-03-18 22:20:46   temperature     0
   helper:
     CallBattery 0
     CallSensDataCounter 0
     updateTimeCallBattery 1521400863.01321
     updateTimestampCallBattery 2018-03-18 20:21:03
Attributes:
   event-on-change-reading state
   event-on-update-reading .*
   fp_Grundriss 352,922,3,moisture,Palme
   interval   7200
   minMoisture 10
   model      flowerSens
   room       Wohnen
   verbose    0
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 19 März 2018, 05:51:12
Guten morgen Heiko,

Und wenn Du wieder die Vorversion installierst geht es wieder?
Haben die anderen auch ein problem mit der neuen Version?


Grüße
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: hga am 19 März 2018, 06:21:29
Moin,

Habe auch Probleme mit der neuen Version, bin deswegen auf die ältere Version zurückgegangen ...
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 19 März 2018, 06:38:31
Moin,

Habe auch Probleme mit der neuen Version, bin deswegen auf die ältere Version zurückgegangen ...

Könntest Du mir ein log 5 mit der neuen version geben?
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 19 März 2018, 06:48:38
Gibt es auch User bei dem die neue Version funktioniert?
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: hga am 19 März 2018, 12:09:45
Moin!

Hier ein Log-Auszug für einen Sensor:

2018.03.19 11:59:12 5: Cmd: >get FlowerSens_A4 sensorData<
2018.03.19 11:59:12 4: XiaomiBTLESens (FlowerSens_A4) - Run CreateParamGatttool with mod: write
2018.03.19 11:59:12 4: BlockingCall (XiaomiBTLESens_ExecGatttool_Run): created child (15290), uses telnetPort to connect back
2018.03.19 11:59:12 5: Starting notify loop for FlowerSens_A4, 1 event(s), first is write sensor data
2018.03.19 11:59:12 5: createNotifyHash
2018.03.19 11:59:12 5: rg_flower: no longer visible, ignoring notify
2018.03.19 11:59:12 5: End notify loop for FlowerSens_A4
2018.03.19 11:59:12 5: XiaomiBTLESens (FlowerSens_A4) - Write XiaomiBTLESens_ExecGatttool_Run FlowerSens_A4|C4:7C:8D:64:47:A4|write|0x33|A01F
2018.03.19 11:59:12 4: Connection accepted from telnetPort_127.0.0.1_39620
2018.03.19 11:59:12 5: Cmd: >{BlockingRegisterTelnet($cl,43)}<
2018.03.19 11:59:13 5: XiaomiBTLESens (FlowerSens_A4) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:64:47:A4 --char-write-req -a 0x33 -n A01F 2>&1 /dev/null and loop 0
2018.03.19 11:59:15 5: Cmd: >get FlowerSens_A4 sensorData<
2018.03.19 11:59:15 5: Starting notify loop for FlowerSens_A4, 2 event(s), first is lastGattError: charWrite faild
2018.03.19 11:59:15 5: rg_flower: not on any display, ignoring notify
2018.03.19 11:59:15 5: End notify loop for FlowerSens_A4
2018.03.19 11:59:15 4: XiaomiBTLESens (FlowerSens_A4) - WriteReadings: Readings were written
2018.03.19 11:59:15 5: XiaomiBTLESens (FlowerSens_A4) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully
2018.03.19 11:59:15 4: XiaomiBTLESens (FlowerSens_A4) - ExecGatttool_Run: gatttool result Characteristic value was written successfully
2018.03.19 11:59:15 5: Cmd: >{BlockingStart('43')}<
2018.03.19 11:59:15 5: Cmd: >{XiaomiBTLESens_ExecGatttool_Done('FlowerSens_A4|C4:7C:8D:64:47:A4|ok|write|0x33|HASH(0x28806b0)')}<
2018.03.19 11:59:15 5: XiaomiBTLESens (FlowerSens_A4) - ExecGatttool_Done: gatttool return string: FlowerSens_A4|C4:7C:8D:64:47:A4|ok|write|0x33|HASH(0x28806b0)
2018.03.19 11:59:15 4: XiaomiBTLESens (FlowerSens_A4) - ExecGatttool_Done: JSON error while request: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "HASH(0x28806b0)") at ./FHEM/74_XiaomiBTLESens.pm line 554.

2018.03.19 11:59:15 4: XiaomiBTLESens (FlowerSens_A4) - Run CreateParamGatttool with mod: read
2018.03.19 11:59:15 4: BlockingCall (XiaomiBTLESens_ExecGatttool_Run): created child (15299), uses telnetPort to connect back
2018.03.19 11:59:15 5: Starting notify loop for FlowerSens_A4, 1 event(s), first is read sensor data
2018.03.19 11:59:15 5: rg_flower: not on any display, ignoring notify
2018.03.19 11:59:15 5: End notify loop for FlowerSens_A4
2018.03.19 11:59:15 5: XiaomiBTLESens (FlowerSens_A4) - Read XiaomiBTLESens_ExecGatttool_Run FlowerSens_A4|C4:7C:8D:64:47:A4|read|0x35
2018.03.19 11:59:15 4: Connection accepted from telnetPort_127.0.0.1_39622
2018.03.19 11:59:15 5: Cmd: >{BlockingRegisterTelnet($cl,44)}<
2018.03.19 11:59:16 5: XiaomiBTLESens (FlowerSens_A4) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:64:47:A4 --char-read -a 0x35 2>&1 /dev/null and loop 0
2018.03.19 11:59:16 5: XiaomiBTLESens (FlowerSens_A4) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,c3 00 00 f6 06 00 00 11 66 00 02 3c 00 fb 34 9b

2018.03.19 11:59:16 4: XiaomiBTLESens (FlowerSens_A4) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,c3 00 00 f6 06 00 00 11 66 00 02 3c 00 fb 34 9b

2018.03.19 11:59:16 5: Cmd: >{BlockingStart('44')}<
2018.03.19 11:59:16 5: Cmd: >{XiaomiBTLESens_ExecGatttool_Done('FlowerSens_A4|C4:7C:8D:64:47:A4|ok|read|0x35|HASH(0x28806b0)')}<
2018.03.19 11:59:16 5: XiaomiBTLESens (FlowerSens_A4) - ExecGatttool_Done: gatttool return string: FlowerSens_A4|C4:7C:8D:64:47:A4|ok|read|0x35|HASH(0x28806b0)
2018.03.19 11:59:16 4: XiaomiBTLESens (FlowerSens_A4) - ExecGatttool_Done: JSON error while request: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "HASH(0x28806b0)") at ./FHEM/74_XiaomiBTLESens.pm line 554.

2018.03.19 11:59:16 4: XiaomiBTLESens (FlowerSens_A4) - ProcessingNotification
2018.03.19 11:59:16 4: XiaomiBTLESens (FlowerSens_A4) - ProcessingNotification: handle 0x35
2018.03.19 11:59:16 4: XiaomiBTLESens (FlowerSens_A4) - FlowerSens Handle0x35
2018.03.19 11:59:16 5: Starting notify loop for FlowerSens_A4, 5 event(s), first is moisture: 0
2018.03.19 11:59:16 5: rg_flower: not on any display, ignoring notify
2018.03.19 11:59:16 5: End notify loop for FlowerSens_A4
2018.03.19 11:59:16 5: Starting notify loop for FlowerSens_A4, 1 event(s), first is minMoisture low
2018.03.19 11:59:16 5: rg_flower: not on any display, ignoring notify
2018.03.19 11:59:16 5: End notify loop for FlowerSens_A4
2018.03.19 11:59:16 4: XiaomiBTLESens (FlowerSens_A4) - WriteReadings: Readings were written
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: HeikoS am 19 März 2018, 12:26:20
Ich denke das hier ist der gemeinsame Fehler: "JSON error while request: malformed JSON string"

Peinliche Frage: wie bekomme ich eine ältere Version des Moduls? ^^
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 19 März 2018, 12:31:04
Im restorDir sollte die ältere Version sein.

Das ist die Gemeinsamkeit das stimmt, aber das liegt daran weil etwas davor nicht geklappt hat.
Frage, habt Ihr beide komplett neu gestartet? Irgendwas scheint mit dem laden des JSON Modules im eval Aufruf nicht geklappt zu haben. Ich brauche daher also bitte den Logauszug des FHEM Startvorganges ab dem Punkt wo ein Sensor definiert wird.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: HeikoS am 19 März 2018, 13:03:14
Ich hatte nach dem Update ein "shutdown restart" gemacht und dann nachdem mir aufgefallen war, dass keine Daten mehr kommen, den RaspberryPI komplett neu gestartet.
Hab jetzt nochmal neugestartet mit verbose 5 beim Sensor, hoffe ich habe alles erwischt bzw. nicht zuviel aus dem Log gelöscht:
2018.03.19 12:48:03 0: Server shutdown
2018.03.19 12:48:13 1: PERL WARNING: Backslash found where operator expected at ./FHEM/74_XiaomiBTLESens.pm line 852, near "encode_json \"
2018.03.19 12:48:13 1: PERL WARNING: (Do you need to predeclare encode_json?)
2018.03.19 12:48:13 3: XiaomiBTLESens (Wz_Palme) - defined with BTMAC C4:7C:8D:65:C4:46
2018.03.19 12:48:13 3: XiaomiBTLESens (Wz_Palme) - set interval to 7200
2018.03.19 12:48:20 4: XiaomiBTLESens (Wz_Palme) - Run CreateParamGatttool with mod: read
2018.03.19 12:48:20 5: XiaomiBTLESens (Wz_Palme) - Read XiaomiBTLESens_ExecGatttool_Run Wz_Palme|C4:7C:8D:65:C4:46|read|0x38
2018.03.19 12:48:20 4: XiaomiBTLESens (Wz_Palme) - stateRequestTimer: Call Request Timer
2018.03.19 12:48:27 0: Server started with 117 defined entities (fhem.pl:16426/2018-03-17 perl:5.024001 os:linux user:fhem pid:498)
Creating socket: Invalid argument
2018.03.19 12:48:28 5: XiaomiBTLESens (Wz_Palme) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:65:C4:46 --char-read -a 0x38 2>&1 /dev/null and loop 0
2018.03.19 12:48:30 5: XiaomiBTLESens (Wz_Palme) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,63 27 33 2e 31 2e 38

2018.03.19 12:48:30 4: XiaomiBTLESens (Wz_Palme) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,63 27 33 2e 31 2e 38
2018.03.19 12:50:19 1: PERL WARNING: Backslash found where operator expected at ./FHEM/74_XiaomiBTLESens.pm line 852, near "encode_json \"
2018.03.19 12:50:19 1: PERL WARNING: (Do you need to predeclare encode_json?)
2018.03.19 12:50:19 3: XiaomiBTLESens (Wz_Palme) - defined with BTMAC C4:7C:8D:65:C4:46
2018.03.19 12:50:19 3: XiaomiBTLESens (Wz_Palme) - set interval to 7200
2018.03.19 12:50:24 4: XiaomiBTLESens (Wz_Palme) - Run CreateParamGatttool with mod: read
2018.03.19 12:50:24 5: XiaomiBTLESens (Wz_Palme) - Read XiaomiBTLESens_ExecGatttool_Run Wz_Palme|C4:7C:8D:65:C4:46|read|0x38
2018.03.19 12:50:24 4: XiaomiBTLESens (Wz_Palme) - stateRequestTimer: Call Request Timer
2018.03.19 12:50:31 0: Server started with 117 defined entities (fhem.pl:16426/2018-03-17 perl:5.024001 os:linux user:fhem pid:1591)
2018.03.19 12:50:31 5: XiaomiBTLESens (Wz_Palme) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:65:C4:46 --char-read -a 0x38 2>&1 /dev/null and loop 0
2018.03.19 12:50:36 5: XiaomiBTLESens (Wz_Palme) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,63 27 33 2e 31 2e 38

2018.03.19 12:50:36 4: XiaomiBTLESens (Wz_Palme) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,63 27 33 2e 31 2e 38

2018.03.19 12:50:36 5: XiaomiBTLESens (Wz_Palme) - ExecGatttool_Done: gatttool return string: Wz_Palme|C4:7C:8D:65:C4:46|ok|read|0x38|HASH(0x117a2e0)
2018.03.19 12:50:36 4: XiaomiBTLESens (Wz_Palme) - ExecGatttool_Done: JSON error while request: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "HASH(0x117a2e0)") at ./FHEM/74_XiaomiBTLESens.pm line 554.

2018.03.19 12:50:36 4: XiaomiBTLESens (Wz_Palme) - ProcessingNotification
2018.03.19 12:50:36 4: XiaomiBTLESens (Wz_Palme) - ProcessingNotification: handle 0x38
2018.03.19 12:50:36 4: XiaomiBTLESens (Wz_Palme) - FlowerSens Handle0x38
2018.03.19 12:50:36 1: PERL WARNING: Use of uninitialized value $notification in split at ./FHEM/74_XiaomiBTLESens.pm line 655.
2018.03.19 12:50:36 3: eval: {XiaomiBTLESens_ExecGatttool_Done('Wz_Palme|C4:7C:8D:65:C4:46|ok|read|0x38|HASH(0x117a2e0)')}
2018.03.19 12:50:36 1: PERL WARNING: Use of uninitialized value $dataBatFw[0] in concatenation (.) or string at ./FHEM/74_XiaomiBTLESens.pm line 657.
2018.03.19 12:50:36 3: eval: {XiaomiBTLESens_ExecGatttool_Done('Wz_Palme|C4:7C:8D:65:C4:46|ok|read|0x38|HASH(0x117a2e0)')}
2018.03.19 12:50:36 1: PERL WARNING: Use of uninitialized value $dataBatFw[0] in concatenation (.) or string at ./FHEM/74_XiaomiBTLESens.pm line 658.
2018.03.19 12:50:36 3: eval: {XiaomiBTLESens_ExecGatttool_Done('Wz_Palme|C4:7C:8D:65:C4:46|ok|read|0x38|HASH(0x117a2e0)')}
2018.03.19 12:50:36 1: PERL WARNING: Use of uninitialized value $dataBatFw[2] in subtraction (-) at ./FHEM/74_XiaomiBTLESens.pm line 659.
2018.03.19 12:50:36 3: eval: {XiaomiBTLESens_ExecGatttool_Done('Wz_Palme|C4:7C:8D:65:C4:46|ok|read|0x38|HASH(0x117a2e0)')}
2018.03.19 12:50:36 1: PERL WARNING: Use of uninitialized value $dataBatFw[4] in subtraction (-) at ./FHEM/74_XiaomiBTLESens.pm line 659.
2018.03.19 12:50:36 3: eval: {XiaomiBTLESens_ExecGatttool_Done('Wz_Palme|C4:7C:8D:65:C4:46|ok|read|0x38|HASH(0x117a2e0)')}
2018.03.19 12:50:36 1: PERL WARNING: Use of uninitialized value $dataBatFw[6] in subtraction (-) at ./FHEM/74_XiaomiBTLESens.pm line 659.
2018.03.19 12:50:36 3: eval: {XiaomiBTLESens_ExecGatttool_Done('Wz_Palme|C4:7C:8D:65:C4:46|ok|read|0x38|HASH(0x117a2e0)')}
2018.03.19 12:50:36 4: XiaomiBTLESens (Wz_Palme) - WriteReadings: Readings were written
2018.03.19 12:50:36 4: XiaomiBTLESens (Wz_Palme) - Run CreateParamGatttool with mod: write
2018.03.19 12:50:36 5: XiaomiBTLESens (Wz_Palme) - Write XiaomiBTLESens_ExecGatttool_Run Wz_Palme|C4:7C:8D:65:C4:46|write|0x33|A01F
2018.03.19 12:50:36 5: XiaomiBTLESens (Wz_Palme) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:65:C4:46 --char-write-req -a 0x33 -n A01F 2>&1 /dev/null and loop 0
2018.03.19 12:50:36 5: XiaomiBTLESens (Wz_Palme) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully

2018.03.19 12:50:36 4: XiaomiBTLESens (Wz_Palme) - ExecGatttool_Run: gatttool result Characteristic value was written successfully

2018.03.19 12:50:36 5: XiaomiBTLESens (Wz_Palme) - ExecGatttool_Done: gatttool return string: Wz_Palme|C4:7C:8D:65:C4:46|ok|write|0x33|HASH(0x117a2e0)
2018.03.19 12:50:36 4: XiaomiBTLESens (Wz_Palme) - ExecGatttool_Done: JSON error while request: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "HASH(0x117a2e0)") at ./FHEM/74_XiaomiBTLESens.pm line 554.

2018.03.19 12:50:36 4: XiaomiBTLESens (Wz_Palme) - Run CreateParamGatttool with mod: read
2018.03.19 12:50:36 5: XiaomiBTLESens (Wz_Palme) - Read XiaomiBTLESens_ExecGatttool_Run Wz_Palme|C4:7C:8D:65:C4:46|read|0x35
2018.03.19 12:50:36 5: XiaomiBTLESens (Wz_Palme) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:65:C4:46 --char-read -a 0x35 2>&1 /dev/null and loop 0
2018.03.19 12:50:36 5: XiaomiBTLESens (Wz_Palme) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,b0 00 00 ee 00 00 00 10 8a 00 02 3c 00 fb 34 9b

2018.03.19 12:50:36 4: XiaomiBTLESens (Wz_Palme) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,b0 00 00 ee 00 00 00 10 8a 00 02 3c 00 fb 34 9b

2018.03.19 12:50:36 5: XiaomiBTLESens (Wz_Palme) - ExecGatttool_Done: gatttool return string: Wz_Palme|C4:7C:8D:65:C4:46|ok|read|0x35|HASH(0x117a2e0)
2018.03.19 12:50:36 4: XiaomiBTLESens (Wz_Palme) - ExecGatttool_Done: JSON error while request: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "HASH(0x117a2e0)") at ./FHEM/74_XiaomiBTLESens.pm line 554.

2018.03.19 12:50:36 4: XiaomiBTLESens (Wz_Palme) - ProcessingNotification
2018.03.19 12:50:36 4: XiaomiBTLESens (Wz_Palme) - ProcessingNotification: handle 0x35
2018.03.19 12:50:36 4: XiaomiBTLESens (Wz_Palme) - FlowerSens Handle0x35
2018.03.19 12:50:36 1: PERL WARNING: Use of uninitialized value $notification in split at ./FHEM/74_XiaomiBTLESens.pm line 676.
2018.03.19 12:50:36 3: eval: {XiaomiBTLESens_ExecGatttool_Done('Wz_Palme|C4:7C:8D:65:C4:46|ok|read|0x35|HASH(0x117a2e0)')}
2018.03.19 12:50:36 1: PERL WARNING: Use of uninitialized value $dataSensor[0] in string ne at ./FHEM/74_XiaomiBTLESens.pm line 679.
2018.03.19 12:50:36 3: eval: {XiaomiBTLESens_ExecGatttool_Done('Wz_Palme|C4:7C:8D:65:C4:46|ok|read|0x35|HASH(0x117a2e0)')}
2018.03.19 12:50:36 1: PERL WARNING: Use of uninitialized value $dataSensor[1] in string ne at ./FHEM/74_XiaomiBTLESens.pm line 679.
2018.03.19 12:50:36 3: eval: {XiaomiBTLESens_ExecGatttool_Done('Wz_Palme|C4:7C:8D:65:C4:46|ok|read|0x35|HASH(0x117a2e0)')}
2018.03.19 12:50:36 1: PERL WARNING: Use of uninitialized value $dataSensor[2] in string ne at ./FHEM/74_XiaomiBTLESens.pm line 679.
2018.03.19 12:50:36 3: eval: {XiaomiBTLESens_ExecGatttool_Done('Wz_Palme|C4:7C:8D:65:C4:46|ok|read|0x35|HASH(0x117a2e0)')}
2018.03.19 12:50:36 1: PERL WARNING: Use of uninitialized value $dataSensor[3] in string ne at ./FHEM/74_XiaomiBTLESens.pm line 679.
2018.03.19 12:50:36 3: eval: {XiaomiBTLESens_ExecGatttool_Done('Wz_Palme|C4:7C:8D:65:C4:46|ok|read|0x35|HASH(0x117a2e0)')}
2018.03.19 12:50:36 1: PERL WARNING: Use of uninitialized value $dataSensor[4] in string ne at ./FHEM/74_XiaomiBTLESens.pm line 679.
2018.03.19 12:50:36 3: eval: {XiaomiBTLESens_ExecGatttool_Done('Wz_Palme|C4:7C:8D:65:C4:46|ok|read|0x35|HASH(0x117a2e0)')}
2018.03.19 12:50:36 1: PERL WARNING: Use of uninitialized value $dataSensor[5] in string ne at ./FHEM/74_XiaomiBTLESens.pm line 679.
2018.03.19 12:50:36 3: eval: {XiaomiBTLESens_ExecGatttool_Done('Wz_Palme|C4:7C:8D:65:C4:46|ok|read|0x35|HASH(0x117a2e0)')}
2018.03.19 12:50:36 1: PERL WARNING: Use of uninitialized value $dataSensor[1] in string eq at ./FHEM/74_XiaomiBTLESens.pm line 682.
2018.03.19 12:50:36 3: eval: {XiaomiBTLESens_ExecGatttool_Done('Wz_Palme|C4:7C:8D:65:C4:46|ok|read|0x35|HASH(0x117a2e0)')}
2018.03.19 12:50:36 1: PERL WARNING: Use of uninitialized value $dataSensor[1] in concatenation (.) or string at ./FHEM/74_XiaomiBTLESens.pm line 685.
2018.03.19 12:50:36 3: eval: {XiaomiBTLESens_ExecGatttool_Done('Wz_Palme|C4:7C:8D:65:C4:46|ok|read|0x35|HASH(0x117a2e0)')}
2018.03.19 12:50:36 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/74_XiaomiBTLESens.pm line 685.
2018.03.19 12:50:36 3: eval: {XiaomiBTLESens_ExecGatttool_Done('Wz_Palme|C4:7C:8D:65:C4:46|ok|read|0x35|HASH(0x117a2e0)')}
2018.03.19 12:50:36 1: PERL WARNING: Use of uninitialized value $dataSensor[4] in concatenation (.) or string at ./FHEM/74_XiaomiBTLESens.pm line 688.
2018.03.19 12:50:36 3: eval: {XiaomiBTLESens_ExecGatttool_Done('Wz_Palme|C4:7C:8D:65:C4:46|ok|read|0x35|HASH(0x117a2e0)')}
2018.03.19 12:50:36 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/74_XiaomiBTLESens.pm line 688.
2018.03.19 12:50:36 3: eval: {XiaomiBTLESens_ExecGatttool_Done('Wz_Palme|C4:7C:8D:65:C4:46|ok|read|0x35|HASH(0x117a2e0)')}
2018.03.19 12:50:36 1: PERL WARNING: Use of uninitialized value $dataSensor[7] in concatenation (.) or string at ./FHEM/74_XiaomiBTLESens.pm line 689.
2018.03.19 12:50:36 3: eval: {XiaomiBTLESens_ExecGatttool_Done('Wz_Palme|C4:7C:8D:65:C4:46|ok|read|0x35|HASH(0x117a2e0)')}
2018.03.19 12:50:36 1: PERL WARNING: Use of uninitialized value $dataSensor[9] in concatenation (.) or string at ./FHEM/74_XiaomiBTLESens.pm line 690.
2018.03.19 12:50:36 3: eval: {XiaomiBTLESens_ExecGatttool_Done('Wz_Palme|C4:7C:8D:65:C4:46|ok|read|0x35|HASH(0x117a2e0)')}
2018.03.19 12:50:36 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/74_XiaomiBTLESens.pm line 690.
2018.03.19 12:50:36 3: eval: {XiaomiBTLESens_ExecGatttool_Done('Wz_Palme|C4:7C:8D:65:C4:46|ok|read|0x35|HASH(0x117a2e0)')}
2018.03.19 12:50:36 4: XiaomiBTLESens (Wz_Palme) - WriteReadings: Readings were written
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 19 März 2018, 13:24:50
Ich habe da was gefunden. Genau wie ich es mir dacht.
Könnt Ihr mir sagen welche Perlversion Ihr habt?



Grüße
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: HeikoS am 19 März 2018, 13:31:05
This is perl 5, version 24, subversion 1 (v5.24.1) built for arm-linux-gnueabihf-thread-multi-64int
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 19 März 2018, 13:36:47
Verstehe ich nicht. ist bei mir genau die selbe Perlversion.

Habe in meinem Git im master branch eine neue Version. Kannst Du die mal bitte testen?
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: HeikoS am 19 März 2018, 13:45:16
Klappt perfekt. Vielen Dank.
Internals:
   BTMAC      C4:7C:8D:65:C4:46
   DEF        C4:7C:8D:65:C4:46
   INTERVAL   7200
   NAME       Wz_Palme
   NOTIFYDEV  global,Wz_Palme
   NR         22
   NTFY_ORDER 50-Wz_Palme
   STATE      active
   TYPE       XiaomiBTLESens
   VERSION    2.0.11
   loglevel   4
   READINGS:
     2018-03-19 13:42:37   battery         ok
     2018-03-19 13:42:37   batteryLevel    99
     2018-03-19 13:43:08   fertility       135
     2018-03-19 13:42:37   firmware        3.1.8
     2018-03-04 03:52:09   lastGattError   charWrite faild
     2018-03-19 13:43:08   lux             285
     2018-03-19 13:43:08   moisture        16
     2018-03-19 13:43:08   state           active
     2018-03-19 13:43:08   temperature     17.7
   helper:
     CallBattery 0
     CallSensDataCounter 0
     updateTimeCallBattery 1521463357.96292
     updateTimestampCallBattery 2018-03-19 13:42:37
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 19 März 2018, 13:53:57
super. checke ich ein. Kommt morgen per fhem Update
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Loki am 30 März 2018, 13:07:44
Hallo,
ich bekomme leider von meinen beiden Sensoren folgenden Fehler:
2018.03.30 12:59:20 1 : Timeout for XiaomiBTLESens_ExecGatttool_Run reached, terminated process 25562
2018-03-30 12:59:20 XiaomiBTLESens Drakena unreachable
2018-03-30 12:59:20 XiaomiBTLESens Drakena lastGattError: The BlockingCall Process terminated unexpectedly. Timedout
2018-03-30 12:59:20 XiaomiBTLESens Drakena error

2018-03-30 13:00:25 XiaomiBTLESens Gummibaum read sensor data
2018-03-30 13:00:25 XiaomiBTLESens Gummibaum lastGattError: Invalid argument (22)
2018-03-30 13:00:25 XiaomiBTLESens Gummibaum error

Bis zur letzten Woche liefen sie eigentlich noch. Allerdings auch mit dem alten Modul...

Hier die Devices:
Internals:
   BTMAC      C4:7C:8D:66:16:30
   CFGFN     
   DEF        C4:7C:8D:66:16:30
   INTERVAL   300
   NAME       Drakena
   NOTIFYDEV  global,Drakena
   NR         44811
   NTFY_ORDER 50-Drakena
   STATE      error
   TYPE       XiaomiBTLESens
   VERSION    2.0.12
   loglevel   4
   READINGS:
     2018-03-30 13:05:16   lastGattError   The BlockingCall Process terminated unexpectedly. Timedout
     2018-03-30 13:05:16   state           error
   helper:
     CallBattery 0
     CallSensDataCounter 0
Attributes:
   model      flowerSens
   room       XiaomiBTLESens

Internals:
   BTMAC      C4:7C:8D:62:42:6F
   CFGFN     
   DEF        C4:7C:8D:62:42:6F
   INTERVAL   300
   NAME       Gummibaum
   NOTIFYDEV  global,Gummibaum
   NR         43149
   NTFY_ORDER 50-Gummibaum
   STATE      error
   TYPE       XiaomiBTLESens
   VERSION    2.0.12
   loglevel   4
   READINGS:
     2018-03-30 13:06:48   lastGattError   Invalid argument (22)
     2018-03-30 13:06:48   state           error
   helper:
     CallBattery 0
     CallSensDataCounter 0
Attributes:
   model      flowerSens
   room       XiaomiBTLESens
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 30 März 2018, 13:22:50
Da brauche ich ein verbose 5
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Loki am 30 März 2018, 20:25:19
2018.03.30 20:19:20 4: XiaomiBTLESens (Drakena) - Run CreateParamGatttool with mod: read
2018.03.30 20:19:20 5: XiaomiBTLESens (Drakena) - Read XiaomiBTLESens_ExecGatttool_Run Drakena|C4:7C:8D:66:16:30|read|0x38
2018.03.30 20:19:20 4: XiaomiBTLESens (Drakena) - stateRequestTimer: Call Request Timer
2018.03.30 20:19:21 5: XiaomiBTLESens (Drakena) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:66:16:30 --char-read -a 0x38 2>&1 /dev/null and loop 0
2018.03.30 20:20:01 5: XiaomiBTLESens (Drakena) - ExecGatttool_Run: gatttool loop result connect error,Connection refused (111)

2018.03.30 20:20:01 5: XiaomiBTLESens (Drakena) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:66:16:30 --char-read -a 0x38 2>&1 /dev/null and loop 1
2018.03.30 20:20:01 5: XiaomiBTLESens (Drakena) - ExecGatttool_Run: gatttool loop result connect error,Invalid argument (22)

2018.03.30 20:20:01 5: XiaomiBTLESens (Drakena) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:66:16:30 --char-read -a 0x38 2>&1 /dev/null and loop 2
2018.03.30 20:20:41 5: XiaomiBTLESens (Drakena) - ExecGatttool_Run: gatttool loop result connect error,Connection refused (111)

2018.03.30 20:20:41 5: XiaomiBTLESens (Drakena) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:66:16:30 --char-read -a 0x38 2>&1 /dev/null and loop 3
2018.03.30 20:20:42 5: XiaomiBTLESens (Drakena) - ExecGatttool_Run: gatttool loop result connect error,Invalid argument (22)

2018.03.30 20:20:42 5: XiaomiBTLESens (Drakena) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:66:16:30 --char-read -a 0x38 2>&1 /dev/null and loop 4
2018.03.30 20:20:43 4: XiaomiBTLESens (Drakena) - Run CreateParamGatttool with mod: read
2018.03.30 20:20:43 5: XiaomiBTLESens (Drakena) - Read XiaomiBTLESens_ExecGatttool_Run Drakena|C4:7C:8D:66:16:30|read|0x38
2018.03.30 20:20:43 4: XiaomiBTLESens (Drakena) - stateRequestTimer: Call Request Timer
2018.03.30 20:20:50 1: Timeout for XiaomiBTLESens_ExecGatttool_Run reached, terminated process 4163
2018.03.30 20:20:50 4: XiaomiBTLESens (Drakena) - WriteReadings: Readings were written
2018.03.30 20:20:50 4: XiaomiBTLESens (Drakena) - ExecGatttool_Aborted: The BlockingCall Process terminated unexpectedly. Timedout
2018.03.30 20:21:44 4: XiaomiBTLESens (Gummibaum) - Run CreateParamGatttool with mod: read
2018.03.30 20:21:44 5: XiaomiBTLESens (Gummibaum) - Read XiaomiBTLESens_ExecGatttool_Run Gummibaum|C4:7C:8D:62:42:6F|read|0x38
2018.03.30 20:21:44 4: XiaomiBTLESens (Gummibaum) - stateRequestTimer: Call Request Timer
2018.03.30 20:21:44 5: XiaomiBTLESens (Gummibaum) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-read -a 0x38 2>&1 /dev/null and loop 0
2018.03.30 20:21:44 5: XiaomiBTLESens (Gummibaum) - ExecGatttool_Run: gatttool loop result connect error,Invalid argument (22)

2018.03.30 20:21:44 5: XiaomiBTLESens (Gummibaum) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-read -a 0x38 2>&1 /dev/null and loop 1
2018.03.30 20:21:44 5: XiaomiBTLESens (Gummibaum) - ExecGatttool_Run: gatttool loop result connect error,Invalid argument (22)

2018.03.30 20:21:44 5: XiaomiBTLESens (Gummibaum) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-read -a 0x38 2>&1 /dev/null and loop 2
2018.03.30 20:21:44 5: XiaomiBTLESens (Gummibaum) - ExecGatttool_Run: gatttool loop result connect error,Invalid argument (22)

2018.03.30 20:21:44 5: XiaomiBTLESens (Gummibaum) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-read -a 0x38 2>&1 /dev/null and loop 3
2018.03.30 20:21:44 5: XiaomiBTLESens (Gummibaum) - ExecGatttool_Run: gatttool loop result connect error,Invalid argument (22)

2018.03.30 20:21:44 5: XiaomiBTLESens (Gummibaum) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-read -a 0x38 2>&1 /dev/null and loop 4
2018.03.30 20:21:44 5: XiaomiBTLESens (Gummibaum) - ExecGatttool_Run: gatttool loop result connect error,Invalid argument (22)

2018.03.30 20:21:44 4: XiaomiBTLESens (Gummibaum) - ExecGatttool_Run: gatttool result connect error,Invalid argument (22)

2018.03.30 20:21:44 5: XiaomiBTLESens (Gummibaum) - ExecGatttool_Done: gatttool return string: Gummibaum|C4:7C:8D:62:42:6F|error|read|0x38|{"gtResult":"Invalid argument (22)"}
2018.03.30 20:21:44 4: XiaomiBTLESens (Gummibaum) - ProcessingErrors
2018.03.30 20:21:44 4: XiaomiBTLESens (Gummibaum) - WriteReadings: Readings were written
2018.03.30 20:22:45 4: XiaomiBTLESens (Gummibaum) - Run CreateParamGatttool with mod: read
2018.03.30 20:22:45 5: XiaomiBTLESens (Gummibaum) - Read XiaomiBTLESens_ExecGatttool_Run Gummibaum|C4:7C:8D:62:42:6F|read|0x38
2018.03.30 20:22:45 4: XiaomiBTLESens (Gummibaum) - stateRequestTimer: Call Request Timer
2018.03.30 20:22:45 5: XiaomiBTLESens (Gummibaum) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-read -a 0x38 2>&1 /dev/null and loop 0
2018.03.30 20:22:45 5: XiaomiBTLESens (Gummibaum) - ExecGatttool_Run: gatttool loop result connect error,Invalid argument (22)

2018.03.30 20:22:45 5: XiaomiBTLESens (Gummibaum) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-read -a 0x38 2>&1 /dev/null and loop 1
2018.03.30 20:22:45 5: XiaomiBTLESens (Gummibaum) - ExecGatttool_Run: gatttool loop result connect error,Invalid argument (22)

2018.03.30 20:22:45 5: XiaomiBTLESens (Gummibaum) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-read -a 0x38 2>&1 /dev/null and loop 2
2018.03.30 20:22:45 5: XiaomiBTLESens (Gummibaum) - ExecGatttool_Run: gatttool loop result connect error,Invalid argument (22)

2018.03.30 20:22:45 5: XiaomiBTLESens (Gummibaum) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-read -a 0x38 2>&1 /dev/null and loop 3
2018.03.30 20:22:45 5: XiaomiBTLESens (Gummibaum) - ExecGatttool_Run: gatttool loop result connect error,Invalid argument (22)

2018.03.30 20:22:45 5: XiaomiBTLESens (Gummibaum) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-read -a 0x38 2>&1 /dev/null and loop 4
2018.03.30 20:22:46 5: XiaomiBTLESens (Gummibaum) - ExecGatttool_Run: gatttool loop result connect error,Invalid argument (22)

2018.03.30 20:22:46 4: XiaomiBTLESens (Gummibaum) - ExecGatttool_Run: gatttool result connect error,Invalid argument (22)

2018.03.30 20:22:46 5: XiaomiBTLESens (Gummibaum) - ExecGatttool_Done: gatttool return string: Gummibaum|C4:7C:8D:62:42:6F|error|read|0x38|{"gtResult":"Invalid argument (22)"}
2018.03.30 20:22:46 4: XiaomiBTLESens (Gummibaum) - ProcessingErrors
2018.03.30 20:22:46 4: XiaomiBTLESens (Gummibaum) - WriteReadings: Readings were written
2018.03.30 20:24:45 4: XiaomiBTLESens (Drakena) - Run CreateParamGatttool with mod: read
2018.03.30 20:24:46 5: XiaomiBTLESens (Drakena) - Read XiaomiBTLESens_ExecGatttool_Run Drakena|C4:7C:8D:66:16:30|read|0x38
2018.03.30 20:24:46 4: XiaomiBTLESens (Drakena) - stateRequestTimer: Call Request Timer
2018.03.30 20:24:46 5: XiaomiBTLESens (Drakena) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:66:16:30 --char-read -a 0x38 2>&1 /dev/null and loop 0
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 30 März 2018, 20:39:34
Kannst Du Mal bitte den BT Stack zurück setzen? Also entweder über systemd oder Pi neustarten.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Loki am 30 März 2018, 21:08:27
hab den Raspi neu gestartet, einmal hat der Drakena-Sensor etwas gelesen, dann wieder Error:

2018.03.30 20:49:20 4: XiaomiBTLESens (Gummibaum) - Run CreateParamGatttool with mod: read
2018.03.30 20:49:20 5: XiaomiBTLESens (Gummibaum) - Read XiaomiBTLESens_ExecGatttool_Run Gummibaum|C4:7C:8D:62:42:6F|read|0x38
2018.03.30 20:49:20 4: XiaomiBTLESens (Gummibaum) - stateRequestTimer: Call Request Timer
2018.03.30 20:49:20 5: XiaomiBTLESens (Gummibaum) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-read -a 0x38 2>&1 /dev/null and loop 0
2018.03.30 20:49:47 4: XiaomiBTLESens (Drakena) - Run CreateParamGatttool with mod: write
2018.03.30 20:49:47 5: XiaomiBTLESens (Drakena) - Write XiaomiBTLESens_ExecGatttool_Run Drakena|C4:7C:8D:66:16:30|write|0x33|A01F
2018.03.30 20:49:47 4: XiaomiBTLESens (Drakena) - stateRequestTimer: Call Request Timer
2018.03.30 20:49:47 5: XiaomiBTLESens (Drakena) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:66:16:30 --char-write-req -a 0x33 -n A01F 2>&1 /dev/null and loop 0
2018.03.30 20:49:51 5: XiaomiBTLESens (Drakena) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully

2018.03.30 20:49:51 4: XiaomiBTLESens (Drakena) - ExecGatttool_Run: gatttool result Characteristic value was written successfully

2018.03.30 20:49:51 5: XiaomiBTLESens (Drakena) - ExecGatttool_Done: gatttool return string: Drakena|C4:7C:8D:66:16:30|ok|write|0x33|{"gtResult":"no data response"}
2018.03.30 20:49:51 4: XiaomiBTLESens (Drakena) - Run CreateParamGatttool with mod: read
2018.03.30 20:49:51 5: XiaomiBTLESens (Drakena) - Read XiaomiBTLESens_ExecGatttool_Run Drakena|C4:7C:8D:66:16:30|read|0x35
2018.03.30 20:49:51 5: XiaomiBTLESens (Drakena) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:66:16:30 --char-read -a 0x35 2>&1 /dev/null and loop 0
2018.03.30 20:49:51 5: XiaomiBTLESens (Drakena) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,d1 00 00 97 00 00 00 0e 7f 00 02 3c 00 fb 34 9b

2018.03.30 20:49:51 4: XiaomiBTLESens (Drakena) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,d1 00 00 97 00 00 00 0e 7f 00 02 3c 00 fb 34 9b

2018.03.30 20:49:51 5: XiaomiBTLESens (Drakena) - ExecGatttool_Done: gatttool return string: Drakena|C4:7C:8D:66:16:30|ok|read|0x35|{"gtResult":"d1 00 00 97 00 00 00 0e 7f 00 02 3c 00 fb 34 9b "}
2018.03.30 20:49:51 4: XiaomiBTLESens (Drakena) - ProcessingNotification
2018.03.30 20:49:51 4: XiaomiBTLESens (Drakena) - ProcessingNotification: handle 0x35
2018.03.30 20:49:51 4: XiaomiBTLESens (Drakena) - FlowerSens Handle0x35
2018.03.30 20:49:51 4: XiaomiBTLESens (Drakena) - WriteReadings: Readings were written
2018.03.30 20:50:01 5: XiaomiBTLESens (Gummibaum) - ExecGatttool_Run: gatttool loop result connect error,Connection refused (111)

2018.03.30 20:50:01 5: XiaomiBTLESens (Gummibaum) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-read -a 0x38 2>&1 /dev/null and loop 1
2018.03.30 20:50:01 5: XiaomiBTLESens (Gummibaum) - ExecGatttool_Run: gatttool loop result connect error,Invalid argument (22)

2018.03.30 20:50:01 5: XiaomiBTLESens (Gummibaum) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-read -a 0x38 2>&1 /dev/null and loop 2
2018.03.30 20:50:01 5: XiaomiBTLESens (Gummibaum) - ExecGatttool_Run: gatttool loop result connect error,Invalid argument (22)

2018.03.30 20:50:01 5: XiaomiBTLESens (Gummibaum) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-read -a 0x38 2>&1 /dev/null and loop 3
2018.03.30 20:50:01 5: XiaomiBTLESens (Gummibaum) - ExecGatttool_Run: gatttool loop result connect error,Invalid argument (22)

2018.03.30 20:50:01 5: XiaomiBTLESens (Gummibaum) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-read -a 0x38 2>&1 /dev/null and loop 4
2018.03.30 20:50:01 5: XiaomiBTLESens (Gummibaum) - ExecGatttool_Run: gatttool loop result connect error,Invalid argument (22)

2018.03.30 20:50:01 4: XiaomiBTLESens (Gummibaum) - ExecGatttool_Run: gatttool result connect error,Invalid argument (22)

2018.03.30 20:50:01 5: XiaomiBTLESens (Gummibaum) - ExecGatttool_Done: gatttool return string: Gummibaum|C4:7C:8D:62:42:6F|error|read|0x38|{"gtResult":"Invalid argument (22)"}
2018.03.30 20:50:01 4: XiaomiBTLESens (Gummibaum) - ProcessingErrors
2018.03.30 20:50:01 4: XiaomiBTLESens (Gummibaum) - WriteReadings: Readings were written
2018.03.30 20:55:25 4: XiaomiBTLESens (Gummibaum) - Run CreateParamGatttool with mod: read
2018.03.30 20:55:25 5: XiaomiBTLESens (Gummibaum) - Read XiaomiBTLESens_ExecGatttool_Run Gummibaum|C4:7C:8D:62:42:6F|read|0x38
2018.03.30 20:55:25 4: XiaomiBTLESens (Gummibaum) - stateRequestTimer: Call Request Timer
2018.03.30 20:55:26 5: XiaomiBTLESens (Gummibaum) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-read -a 0x38 2>&1 /dev/null and loop 0
2018.03.30 20:55:26 5: XiaomiBTLESens (Gummibaum) - ExecGatttool_Run: gatttool loop result connect error,Invalid argument (22)

2018.03.30 20:55:26 5: XiaomiBTLESens (Gummibaum) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-read -a 0x38 2>&1 /dev/null and loop 1
2018.03.30 20:55:26 5: XiaomiBTLESens (Gummibaum) - ExecGatttool_Run: gatttool loop result connect error,Invalid argument (22)

2018.03.30 20:55:26 5: XiaomiBTLESens (Gummibaum) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-read -a 0x38 2>&1 /dev/null and loop 2
2018.03.30 20:55:26 5: XiaomiBTLESens (Gummibaum) - ExecGatttool_Run: gatttool loop result connect error,Invalid argument (22)

2018.03.30 20:55:26 5: XiaomiBTLESens (Gummibaum) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-read -a 0x38 2>&1 /dev/null and loop 3
2018.03.30 20:55:26 5: XiaomiBTLESens (Gummibaum) - ExecGatttool_Run: gatttool loop result connect error,Invalid argument (22)

2018.03.30 20:55:26 5: XiaomiBTLESens (Gummibaum) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-read -a 0x38 2>&1 /dev/null and loop 4
2018.03.30 20:55:26 5: XiaomiBTLESens (Gummibaum) - ExecGatttool_Run: gatttool loop result connect error,Invalid argument (22)

2018.03.30 20:55:26 4: XiaomiBTLESens (Gummibaum) - ExecGatttool_Run: gatttool result connect error,Invalid argument (22)

2018.03.30 20:55:26 5: XiaomiBTLESens (Gummibaum) - ExecGatttool_Done: gatttool return string: Gummibaum|C4:7C:8D:62:42:6F|error|read|0x38|{"gtResult":"Invalid argument (22)"}
2018.03.30 20:55:26 4: XiaomiBTLESens (Gummibaum) - ProcessingErrors
2018.03.30 20:55:26 4: XiaomiBTLESens (Gummibaum) - WriteReadings: Readings were written
2018.03.30 20:55:54 4: XiaomiBTLESens (Drakena) - Run CreateParamGatttool with mod: write
2018.03.30 20:55:54 5: XiaomiBTLESens (Drakena) - Write XiaomiBTLESens_ExecGatttool_Run Drakena|C4:7C:8D:66:16:30|write|0x33|A01F
2018.03.30 20:55:54 4: XiaomiBTLESens (Drakena) - stateRequestTimer: Call Request Timer
2018.03.30 20:55:55 5: XiaomiBTLESens (Drakena) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:66:16:30 --char-write-req -a 0x33 -n A01F 2>&1 /dev/null and loop 0
2018.03.30 20:56:35 5: XiaomiBTLESens (Drakena) - ExecGatttool_Run: gatttool loop result connect error,Connection refused (111)

2018.03.30 20:56:35 5: XiaomiBTLESens (Drakena) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:66:16:30 --char-write-req -a 0x33 -n A01F 2>&1 /dev/null and loop 1
2018.03.30 20:56:35 5: XiaomiBTLESens (Drakena) - ExecGatttool_Run: gatttool loop result connect error,Invalid argument (22)

2018.03.30 20:56:35 5: XiaomiBTLESens (Drakena) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:66:16:30 --char-write-req -a 0x33 -n A01F 2>&1 /dev/null and loop 2
2018.03.30 20:57:15 5: XiaomiBTLESens (Drakena) - ExecGatttool_Run: gatttool loop result connect error,Connection refused (111)

2018.03.30 20:57:15 5: XiaomiBTLESens (Drakena) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:66:16:30 --char-write-req -a 0x33 -n A01F 2>&1 /dev/null and loop 3
2018.03.30 20:57:15 5: XiaomiBTLESens (Drakena) - ExecGatttool_Run: gatttool loop result connect error,Invalid argument (22)

2018.03.30 20:57:15 5: XiaomiBTLESens (Drakena) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:66:16:30 --char-write-req -a 0x33 -n A01F 2>&1 /dev/null and loop 4
2018.03.30 20:57:24 1: Timeout for XiaomiBTLESens_ExecGatttool_Run reached, terminated process 1297
2018.03.30 20:57:24 4: XiaomiBTLESens (Drakena) - WriteReadings: Readings were written
2018.03.30 20:57:24 4: XiaomiBTLESens (Drakena) - ExecGatttool_Aborted: The BlockingCall Process terminated unexpectedly. Timedout
2018.03.30 21:01:53 4: XiaomiBTLESens (Gummibaum) - Run CreateParamGatttool with mod: read
2018.03.30 21:01:53 5: XiaomiBTLESens (Gummibaum) - Read XiaomiBTLESens_ExecGatttool_Run Gummibaum|C4:7C:8D:62:42:6F|read|0x38
2018.03.30 21:01:53 4: XiaomiBTLESens (Gummibaum) - stateRequestTimer: Call Request Timer
2018.03.30 21:01:54 5: XiaomiBTLESens (Gummibaum) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-read -a 0x38 2>&1 /dev/null and loop 0
2018.03.30 21:01:54 5: XiaomiBTLESens (Gummibaum) - ExecGatttool_Run: gatttool loop result connect error,Invalid argument (22)

2018.03.30 21:01:54 5: XiaomiBTLESens (Gummibaum) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-read -a 0x38 2>&1 /dev/null and loop 1
2018.03.30 21:01:54 5: XiaomiBTLESens (Gummibaum) - ExecGatttool_Run: gatttool loop result connect error,Invalid argument (22)

2018.03.30 21:01:54 5: XiaomiBTLESens (Gummibaum) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-read -a 0x38 2>&1 /dev/null and loop 2
2018.03.30 21:01:54 5: XiaomiBTLESens (Gummibaum) - ExecGatttool_Run: gatttool loop result connect error,Invalid argument (22)

2018.03.30 21:01:54 5: XiaomiBTLESens (Gummibaum) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-read -a 0x38 2>&1 /dev/null and loop 3
2018.03.30 21:01:54 5: XiaomiBTLESens (Gummibaum) - ExecGatttool_Run: gatttool loop result connect error,Invalid argument (22)

2018.03.30 21:01:54 5: XiaomiBTLESens (Gummibaum) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-read -a 0x38 2>&1 /dev/null and loop 4
2018.03.30 21:01:54 5: XiaomiBTLESens (Gummibaum) - ExecGatttool_Run: gatttool loop result connect error,Invalid argument (22)

2018.03.30 21:01:54 4: XiaomiBTLESens (Gummibaum) - ExecGatttool_Run: gatttool result connect error,Invalid argument (22)

2018.03.30 21:01:54 5: XiaomiBTLESens (Gummibaum) - ExecGatttool_Done: gatttool return string: Gummibaum|C4:7C:8D:62:42:6F|error|read|0x38|{"gtResult":"Invalid argument (22)"}
2018.03.30 21:01:54 4: XiaomiBTLESens (Gummibaum) - ProcessingErrors
2018.03.30 21:01:54 4: XiaomiBTLESens (Gummibaum) - WriteReadings: Readings were written
2018.03.30 21:02:21 4: XiaomiBTLESens (Drakena) - Run CreateParamGatttool with mod: write
2018.03.30 21:02:21 5: XiaomiBTLESens (Drakena) - Write XiaomiBTLESens_ExecGatttool_Run Drakena|C4:7C:8D:66:16:30|write|0x33|A01F
2018.03.30 21:02:21 4: XiaomiBTLESens (Drakena) - stateRequestTimer: Call Request Timer
2018.03.30 21:02:22 5: XiaomiBTLESens (Drakena) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:66:16:30 --char-write-req -a 0x33 -n A01F 2>&1 /dev/null and loop 0
2018.03.30 21:03:02 5: XiaomiBTLESens (Drakena) - ExecGatttool_Run: gatttool loop result connect error,Connection refused (111)

2018.03.30 21:03:02 5: XiaomiBTLESens (Drakena) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:66:16:30 --char-write-req -a 0x33 -n A01F 2>&1 /dev/null and loop 1
2018.03.30 21:03:02 5: XiaomiBTLESens (Drakena) - ExecGatttool_Run: gatttool loop result connect error,Invalid argument (22)

2018.03.30 21:03:02 5: XiaomiBTLESens (Drakena) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:66:16:30 --char-write-req -a 0x33 -n A01F 2>&1 /dev/null and loop 2
2018.03.30 21:03:42 5: XiaomiBTLESens (Drakena) - ExecGatttool_Run: gatttool loop result connect error,Connection refused (111)

2018.03.30 21:03:42 5: XiaomiBTLESens (Drakena) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:66:16:30 --char-write-req -a 0x33 -n A01F 2>&1 /dev/null and loop 3
2018.03.30 21:03:42 5: XiaomiBTLESens (Drakena) - ExecGatttool_Run: gatttool loop result connect error,Invalid argument (22)

2018.03.30 21:03:42 5: XiaomiBTLESens (Drakena) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:66:16:30 --char-write-req -a 0x33 -n A01F 2>&1 /dev/null and loop 4
2018.03.30 21:03:51 1: Timeout for XiaomiBTLESens_ExecGatttool_Run reached, terminated process 1774
2018.03.30 21:03:51 4: XiaomiBTLESens (Drakena) - WriteReadings: Readings were written
2018.03.30 21:03:51 4: XiaomiBTLESens (Drakena) - ExecGatttool_Aborted: The BlockingCall Process terminated unexpectedly. Timedout

Evtl noch ein Hinweis - es ist ein neuer Raspi 3B+
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 30 März 2018, 21:15:37
Also nicht die selbe Hardware unter der das alte Modul ohne Probleme lief? Hast Du irgendwas verändert bei der Installation oder einfach nur Raspi drauf und FHEM?
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Fede am 30 März 2018, 21:18:14
Mit neu Raspberry pi3+  bluetooth nicht stabil. Viele probleme auch fur mich.  Ensculdige fur schlechte Deutsch.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 30 März 2018, 21:22:29
https://m.youtube.com/watch?t=378s&v=izxQ8bpeEvE

Ich glaube der Kollege nimmt einen 3+
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Fede am 30 März 2018, 21:36:41
In crontab 10min sudo hciconfig hci0 down/up. Ein bischen  gut
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Loki am 30 März 2018, 21:58:09
ich habe ein bisschen was getestet, kann aber nicht viel damit anfangen:
pi@fhem:~ $ hcitool scan
Scanning ...
pi@fhem:~ $ sudo bluetoothctl
[NEW] Controller B8:27:EB:A7:8C:6F fhem [default]
[NEW] Device C4:7C:8D:66:16:30 Flower care
[NEW] Device C4:7C:8D:66:1B:42 Flower care
[bluetooth]# devices
Device C4:7C:8D:66:16:30 Flower care
Device C4:7C:8D:66:1B:42 Flower care
[bluetooth]# scan on
Discovery started
[CHG] Controller B8:27:EB:A7:8C:6F Discovering: yes
[NEW] Device 68:EF:07:64:07:51 68-EF-07-64-07-51
[NEW] Device 7D:B0:06:0B:94:CB 7D-B0-06-0B-94-CB
[NEW] Device DB:FE:22:C4:B7:42 Eve Energy 9694
[CHG] Device C4:7C:8D:66:16:30 RSSI: -76
[CHG] Device C4:7C:8D:66:16:30 ServiceData Key: 0000fe95-0000-1000-8000-00805f9b34fb
[CHG] Device C4:7C:8D:66:16:30 ServiceData Value: 0x71
[CHG] Device C4:7C:8D:66:16:30 ServiceData Value: 0x20
[CHG] Device C4:7C:8D:66:16:30 ServiceData Value: 0x98
...

Interessant finde ich die letzten log Einträge vom Service:
pi@fhem:~ $ systemctl status bluetooth
● bluetooth.service - Bluetooth service
   Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2018-03-30 20:43:52 CEST; 1h 7min ago
     Docs: man:bluetoothd(8)
 Main PID: 480 (bluetoothd)
   Status: "Running"
   CGroup: /system.slice/bluetooth.service
           └─480 /usr/lib/bluetooth/bluetoothd

Mär 30 20:43:52 fhem systemd[1]: Starting Bluetooth service...
Mär 30 20:43:52 fhem bluetoothd[480]: Bluetooth daemon 5.43
Mär 30 20:43:52 fhem systemd[1]: Started Bluetooth service.
Mär 30 20:43:52 fhem bluetoothd[480]: Starting SDP server
Mär 30 20:43:52 fhem bluetoothd[480]: Bluetooth management interface 1.14 initialized
[color=red][b]Mär 30 20:43:52 fhem bluetoothd[480]: Failed to obtain handles for "Service Changed" characteristic
Mär 30 20:43:52 fhem bluetoothd[480]: Sap driver initialization failed.
Mär 30 20:43:52 fhem bluetoothd[480]: sap-server: Operation not permitted[/b][/color] (1)
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 30 März 2018, 22:02:35
In crontab 10min sudo hciconfig hci0 down/up. Ein bischen  gut

Hast du das mal getestet?
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Fede am 30 März 2018, 22:05:29
Jetz 4 stunde und geth weiter
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Loki am 30 März 2018, 22:26:04
In crontab 10min sudo hciconfig hci0 down/up. Ein bischen  gut

wie meinst du das genau?

so etwa?
*/10 * * * * sudo hciconfig hci0 down/up
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Fede am 30 März 2018, 22:29:28

*/10 * * * * sudo hciconfig hci0 down ; sleep 1 ; sudo hciconfig hci0 up
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Loki am 30 März 2018, 23:13:36
2018.03.30 22:56:34 4: XiaomiBTLESens (Drakena) - Run CreateParamGatttool with mod: write
2018.03.30 22:56:34 5: XiaomiBTLESens (Drakena) - Write XiaomiBTLESens_ExecGatttool_Run Drakena|C4:7C:8D:66:16:30|write|0x33|A01F
2018.03.30 22:56:34 4: XiaomiBTLESens (Drakena) - stateRequestTimer: Call Request Timer
2018.03.30 22:56:34 5: XiaomiBTLESens (Drakena) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:66:16:30 --char-write-req -a 0x33 -n A01F 2>&1 /dev/null and loop 0
2018.03.30 22:56:34 5: XiaomiBTLESens (Drakena) - ExecGatttool_Run: gatttool loop result connect,No route to host (113)

2018.03.30 22:56:34 4: XiaomiBTLESens (Drakena) - ExecGatttool_Run: gatttool result connect,No route to host (113)

2018.03.30 22:56:34 5: XiaomiBTLESens (Drakena) - ExecGatttool_Done: gatttool return string: Drakena|C4:7C:8D:66:16:30|ok|write|0x33|{"gtResult":"No route to host (113)"}
2018.03.30 22:56:34 4: XiaomiBTLESens (Drakena) - Run CreateParamGatttool with mod: read
2018.03.30 22:56:34 5: XiaomiBTLESens (Drakena) - Read XiaomiBTLESens_ExecGatttool_Run Drakena|C4:7C:8D:66:16:30|read|0x35
2018.03.30 22:56:34 5: XiaomiBTLESens (Drakena) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:66:16:30 --char-read -a 0x35 2>&1 /dev/null and loop 0
2018.03.30 22:56:34 5: XiaomiBTLESens (Drakena) - ExecGatttool_Run: gatttool loop result connect,No route to host (113)

2018.03.30 22:56:34 4: XiaomiBTLESens (Drakena) - ExecGatttool_Run: gatttool result connect,No route to host (113)

2018.03.30 22:56:34 5: XiaomiBTLESens (Drakena) - ExecGatttool_Done: gatttool return string: Drakena|C4:7C:8D:66:16:30|error|read|0x35|{"gtResult":"No route to host (113)"}
2018.03.30 22:56:34 4: XiaomiBTLESens (Drakena) - ProcessingErrors
2018.03.30 22:56:34 4: XiaomiBTLESens (Drakena) - WriteReadings: Readings were written
2018.03.30 22:59:36 4: XiaomiBTLESens (Gummibaum) - Run CreateParamGatttool with mod: read
2018.03.30 22:59:36 5: XiaomiBTLESens (Gummibaum) - Read XiaomiBTLESens_ExecGatttool_Run Gummibaum|C4:7C:8D:62:42:6F|read|0x38
2018.03.30 22:59:36 4: XiaomiBTLESens (Gummibaum) - stateRequestTimer: Call Request Timer
2018.03.30 22:59:36 5: XiaomiBTLESens (Gummibaum) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-read -a 0x38 2>&1 /dev/null and loop 0
2018.03.30 22:59:36 5: XiaomiBTLESens (Gummibaum) - ExecGatttool_Run: gatttool loop result connect,No route to host (113)

2018.03.30 22:59:36 4: XiaomiBTLESens (Gummibaum) - ExecGatttool_Run: gatttool result connect,No route to host (113)

2018.03.30 22:59:36 5: XiaomiBTLESens (Gummibaum) - ExecGatttool_Done: gatttool return string: Gummibaum|C4:7C:8D:62:42:6F|error|read|0x38|{"gtResult":"No route to host (113)"}
2018.03.30 22:59:36 4: XiaomiBTLESens (Gummibaum) - ProcessingErrors
2018.03.30 22:59:36 4: XiaomiBTLESens (Gummibaum) - WriteReadings: Readings were written
2018.03.30 23:01:57 4: XiaomiBTLESens (Drakena) - Run CreateParamGatttool with mod: write
2018.03.30 23:01:57 5: XiaomiBTLESens (Drakena) - Write XiaomiBTLESens_ExecGatttool_Run Drakena|C4:7C:8D:66:16:30|write|0x33|A01F
2018.03.30 23:01:57 4: XiaomiBTLESens (Drakena) - stateRequestTimer: Call Request Timer
2018.03.30 23:01:57 5: XiaomiBTLESens (Drakena) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:66:16:30 --char-write-req -a 0x33 -n A01F 2>&1 /dev/null and loop 0
2018.03.30 23:01:57 5: XiaomiBTLESens (Drakena) - ExecGatttool_Run: gatttool loop result connect,No route to host (113)

2018.03.30 23:01:57 4: XiaomiBTLESens (Drakena) - ExecGatttool_Run: gatttool result connect,No route to host (113)

2018.03.30 23:01:57 5: XiaomiBTLESens (Drakena) - ExecGatttool_Done: gatttool return string: Drakena|C4:7C:8D:66:16:30|ok|write|0x33|{"gtResult":"No route to host (113)"}
2018.03.30 23:01:57 4: XiaomiBTLESens (Drakena) - Run CreateParamGatttool with mod: read
2018.03.30 23:01:57 5: XiaomiBTLESens (Drakena) - Read XiaomiBTLESens_ExecGatttool_Run Drakena|C4:7C:8D:66:16:30|read|0x35
2018.03.30 23:01:57 5: XiaomiBTLESens (Drakena) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:66:16:30 --char-read -a 0x35 2>&1 /dev/null and loop 0
2018.03.30 23:01:57 5: XiaomiBTLESens (Drakena) - ExecGatttool_Run: gatttool loop result connect,No route to host (113)

2018.03.30 23:01:57 4: XiaomiBTLESens (Drakena) - ExecGatttool_Run: gatttool result connect,No route to host (113)

2018.03.30 23:01:57 5: XiaomiBTLESens (Drakena) - ExecGatttool_Done: gatttool return string: Drakena|C4:7C:8D:66:16:30|error|read|0x35|{"gtResult":"No route to host (113)"}
2018.03.30 23:01:57 4: XiaomiBTLESens (Drakena) - ProcessingErrors
2018.03.30 23:01:57 4: XiaomiBTLESens (Drakena) - WriteReadings: Readings were written
2018.03.30 23:05:09 4: XiaomiBTLESens (Gummibaum) - Run CreateParamGatttool with mod: read
2018.03.30 23:05:09 5: XiaomiBTLESens (Gummibaum) - Read XiaomiBTLESens_ExecGatttool_Run Gummibaum|C4:7C:8D:62:42:6F|read|0x38
2018.03.30 23:05:09 4: XiaomiBTLESens (Gummibaum) - stateRequestTimer: Call Request Timer
2018.03.30 23:05:09 5: XiaomiBTLESens (Gummibaum) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-read -a 0x38 2>&1 /dev/null and loop 0
2018.03.30 23:05:09 5: XiaomiBTLESens (Gummibaum) - ExecGatttool_Run: gatttool loop result connect,No route to host (113)

2018.03.30 23:05:09 4: XiaomiBTLESens (Gummibaum) - ExecGatttool_Run: gatttool result connect,No route to host (113)

2018.03.30 23:05:09 5: XiaomiBTLESens (Gummibaum) - ExecGatttool_Done: gatttool return string: Gummibaum|C4:7C:8D:62:42:6F|error|read|0x38|{"gtResult":"No route to host (113)"}
2018.03.30 23:05:09 4: XiaomiBTLESens (Gummibaum) - ProcessingErrors
2018.03.30 23:05:09 4: XiaomiBTLESens (Gummibaum) - WriteReadings: Readings were written
2018.03.30 23:07:33 4: XiaomiBTLESens (Drakena) - Run CreateParamGatttool with mod: write
2018.03.30 23:07:33 5: XiaomiBTLESens (Drakena) - Write XiaomiBTLESens_ExecGatttool_Run Drakena|C4:7C:8D:66:16:30|write|0x33|A01F
2018.03.30 23:07:33 4: XiaomiBTLESens (Drakena) - stateRequestTimer: Call Request Timer
2018.03.30 23:07:33 5: XiaomiBTLESens (Drakena) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:66:16:30 --char-write-req -a 0x33 -n A01F 2>&1 /dev/null and loop 0
2018.03.30 23:07:33 5: XiaomiBTLESens (Drakena) - ExecGatttool_Run: gatttool loop result connect,No route to host (113)

2018.03.30 23:07:33 4: XiaomiBTLESens (Drakena) - ExecGatttool_Run: gatttool result connect,No route to host (113)

2018.03.30 23:07:33 5: XiaomiBTLESens (Drakena) - ExecGatttool_Done: gatttool return string: Drakena|C4:7C:8D:66:16:30|ok|write|0x33|{"gtResult":"No route to host (113)"}
2018.03.30 23:07:33 4: XiaomiBTLESens (Drakena) - Run CreateParamGatttool with mod: read
2018.03.30 23:07:33 5: XiaomiBTLESens (Drakena) - Read XiaomiBTLESens_ExecGatttool_Run Drakena|C4:7C:8D:66:16:30|read|0x35
2018.03.30 23:07:33 5: XiaomiBTLESens (Drakena) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:66:16:30 --char-read -a 0x35 2>&1 /dev/null and loop 0
2018.03.30 23:07:33 5: XiaomiBTLESens (Drakena) - ExecGatttool_Run: gatttool loop result connect,No route to host (113)

2018.03.30 23:07:33 4: XiaomiBTLESens (Drakena) - ExecGatttool_Run: gatttool result connect,No route to host (113)

2018.03.30 23:07:33 5: XiaomiBTLESens (Drakena) - ExecGatttool_Done: gatttool return string: Drakena|C4:7C:8D:66:16:30|error|read|0x35|{"gtResult":"No route to host (113)"}
2018.03.30 23:07:33 4: XiaomiBTLESens (Drakena) - ProcessingErrors
2018.03.30 23:07:33 4: XiaomiBTLESens (Drakena) - WriteReadings: Readings were written
2018.03.30 23:11:28 4: XiaomiBTLESens (Gummibaum) - Run CreateParamGatttool with mod: read
2018.03.30 23:11:28 5: XiaomiBTLESens (Gummibaum) - Read XiaomiBTLESens_ExecGatttool_Run Gummibaum|C4:7C:8D:62:42:6F|read|0x38
2018.03.30 23:11:28 4: XiaomiBTLESens (Gummibaum) - stateRequestTimer: Call Request Timer
2018.03.30 23:11:28 5: XiaomiBTLESens (Gummibaum) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-read -a 0x38 2>&1 /dev/null and loop 0
2018.03.30 23:11:28 5: XiaomiBTLESens (Gummibaum) - ExecGatttool_Run: gatttool loop result connect,No route to host (113)

2018.03.30 23:11:28 4: XiaomiBTLESens (Gummibaum) - ExecGatttool_Run: gatttool result connect,No route to host (113)

2018.03.30 23:11:28 5: XiaomiBTLESens (Gummibaum) - ExecGatttool_Done: gatttool return string: Gummibaum|C4:7C:8D:62:42:6F|error|read|0x38|{"gtResult":"No route to host (113)"}
2018.03.30 23:11:28 4: XiaomiBTLESens (Gummibaum) - ProcessingErrors
2018.03.30 23:11:28 4: XiaomiBTLESens (Gummibaum) - WriteReadings: Readings were written


leider alles ohne Erfolg...
der Hauptfehler scheint
"ExecGatttool_Run: gatttool result connect,No route to host (113)"
zu sein.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 31 März 2018, 07:04:38
Lösche erstmal wieder den crontab Eintrag und mache es erstmal von Hand.
Also in der Linuxkonsole eingeben
sudo hciconfig hci0  down

Und danach
sudo hciconfig hci0  up

Und dann testen.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Loki am 31 März 2018, 16:49:52
Also der eine Sensor bringt nur noch ab und zu einen Fehler.

Aber der zweite will immer noch nicht.

Ich habe dann den ersten mal in FHEM abgeschaltet und den zweiten gelöscht und neu angelegt. Aber leider ohne Veränderung:
2018.03.31 16:21:47 5: XiaomiBTLESens (Gummibaum_neu) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-read -a 0x38 2>&1 /dev/null and loop 1
2018.03.31 16:22:27 5: XiaomiBTLESens (Gummibaum_neu) - ExecGatttool_Run: gatttool loop result connect error,Connection refused (111)

2018.03.31 16:22:27 5: XiaomiBTLESens (Gummibaum_neu) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-read -a 0x38 2>&1 /dev/null and loop 2
2018.03.31 16:22:36 1: Timeout for XiaomiBTLESens_ExecGatttool_Run reached, terminated process 3455
2018.03.31 16:22:36 4: XiaomiBTLESens (Gummibaum_neu) - WriteReadings: Readings were written
2018.03.31 16:22:36 4: XiaomiBTLESens (Gummibaum_neu) - ExecGatttool_Aborted: The BlockingCall Process terminated unexpectedly. Timedout
2018.03.31 16:26:13 4: XiaomiBTLESens (Gummibaum_neu) - Run CreateParamGatttool with mod: read
2018.03.31 16:26:13 5: XiaomiBTLESens (Gummibaum_neu) - Read XiaomiBTLESens_ExecGatttool_Run Gummibaum_neu|C4:7C:8D:62:42:6F|read|0x38
2018.03.31 16:26:13 4: XiaomiBTLESens (Gummibaum_neu) - stateRequestTimer: Call Request Timer
2018.03.31 16:26:13 5: XiaomiBTLESens (Gummibaum_neu) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-read -a 0x38 2>&1 /dev/null and loop 0
2018.03.31 16:26:31 4: XiaomiBTLESens (Gummibaum_neu) - Run CreateParamGatttool with mod: read
2018.03.31 16:26:31 5: XiaomiBTLESens (Gummibaum_neu) - Read XiaomiBTLESens_ExecGatttool_Run Gummibaum_neu|C4:7C:8D:62:42:6F|read|0x38
2018.03.31 16:26:31 4: XiaomiBTLESens (Gummibaum_neu) - stateRequestTimer: Call Request Timer
2018.03.31 16:26:54 5: XiaomiBTLESens (Gummibaum_neu) - ExecGatttool_Run: gatttool loop result connect error,Connection refused (111)

2018.03.31 16:26:54 5: XiaomiBTLESens (Gummibaum_neu) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-read -a 0x38 2>&1 /dev/null and loop 1
2018.03.31 16:27:19 5: XiaomiBTLESens (Gummibaum_neu) - ExecGatttool_Run: gatttool loop result connect error,Software caused connection abort (103)

2018.03.31 16:27:19 5: XiaomiBTLESens (Gummibaum_neu) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-read -a 0x38 2>&1 /dev/null and loop 2
2018.03.31 16:27:19 5: XiaomiBTLESens (Gummibaum_neu) - ExecGatttool_Run: gatttool loop result connect,No route to host (113)

2018.03.31 16:27:19 4: XiaomiBTLESens (Gummibaum_neu) - ExecGatttool_Run: gatttool result connect,No route to host (113)

2018.03.31 16:27:19 5: XiaomiBTLESens (Gummibaum_neu) - ExecGatttool_Done: gatttool return string: Gummibaum_neu|C4:7C:8D:62:42:6F|error|read|0x38|{"gtResult":"No route to host (113)"}
2018.03.31 16:27:19 4: XiaomiBTLESens (Gummibaum_neu) - ProcessingErrors
2018.03.31 16:27:19 4: XiaomiBTLESens (Gummibaum_neu) - WriteReadings: Readings were written
2018.03.31 16:27:56 1: Waschmaschine: Fertig - 0.37€
2018.03.31 16:28:01 1: Waschmaschine: Ausgeschaltet - 0.83 W
2018.03.31 16:31:47 4: XiaomiBTLESens (Gummibaum_neu) - Run CreateParamGatttool with mod: read
2018.03.31 16:31:47 5: XiaomiBTLESens (Gummibaum_neu) - Read XiaomiBTLESens_ExecGatttool_Run Gummibaum_neu|C4:7C:8D:62:42:6F|read|0x38
2018.03.31 16:31:47 4: XiaomiBTLESens (Gummibaum_neu) - stateRequestTimer: Call Request Timer
2018.03.31 16:31:47 5: XiaomiBTLESens (Gummibaum_neu) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-read -a 0x38 2>&1 /dev/null and loop 0
2018.03.31 16:32:18 4: XiaomiBTLESens (Gummibaum_neu) - Run CreateParamGatttool with mod: read
2018.03.31 16:32:18 5: XiaomiBTLESens (Gummibaum_neu) - Read XiaomiBTLESens_ExecGatttool_Run Gummibaum_neu|C4:7C:8D:62:42:6F|read|0x38
2018.03.31 16:32:18 4: XiaomiBTLESens (Gummibaum_neu) - stateRequestTimer: Call Request Timer
2018.03.31 16:32:27 5: XiaomiBTLESens (Gummibaum_neu) - ExecGatttool_Run: gatttool loop result connect error,Connection refused (111)

2018.03.31 16:32:27 5: XiaomiBTLESens (Gummibaum_neu) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-read -a 0x38 2>&1 /dev/null and loop 1
2018.03.31 16:33:08 5: XiaomiBTLESens (Gummibaum_neu) - ExecGatttool_Run: gatttool loop result connect error,Connection refused (111)

2018.03.31 16:33:08 5: XiaomiBTLESens (Gummibaum_neu) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-read -a 0x38 2>&1 /dev/null and loop 2
2018.03.31 16:33:17 1: Timeout for XiaomiBTLESens_ExecGatttool_Run reached, terminated process 4032
2018.03.31 16:33:17 4: XiaomiBTLESens (Gummibaum_neu) - WriteReadings: Readings were written
2018.03.31 16:33:17 4: XiaomiBTLESens (Gummibaum_neu) - ExecGatttool_Aborted: The BlockingCall Process terminated unexpectedly. Timedout
2018.03.31 16:35:10 1: Waschmaschine: Eingeschaltet - 0 W
2018.03.31 16:35:22 1: Trockner: Eingeschaltet - 0 W
2018.03.31 16:35:25 1: Trockner: Startet - 221.69 W
2018.03.31 16:35:25 1: Waschmaschine: Ausgeschaltet - 0.6 W
2018.03.31 16:35:33 1: Trockner: Läuft - 163.64 W
2018.03.31 16:37:27 4: XiaomiBTLESens (Gummibaum_neu) - Run CreateParamGatttool with mod: read
2018.03.31 16:37:27 5: XiaomiBTLESens (Gummibaum_neu) - Read XiaomiBTLESens_ExecGatttool_Run Gummibaum_neu|C4:7C:8D:62:42:6F|read|0x38
2018.03.31 16:37:27 4: XiaomiBTLESens (Gummibaum_neu) - stateRequestTimer: Call Request Timer
2018.03.31 16:37:27 5: XiaomiBTLESens (Gummibaum_neu) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-read -a 0x38 2>&1 /dev/null and loop 0
2018.03.31 16:38:05 4: XiaomiBTLESens (Gummibaum_neu) - Run CreateParamGatttool with mod: read
2018.03.31 16:38:05 5: XiaomiBTLESens (Gummibaum_neu) - Read XiaomiBTLESens_ExecGatttool_Run Gummibaum_neu|C4:7C:8D:62:42:6F|read|0x38
2018.03.31 16:38:05 4: XiaomiBTLESens (Gummibaum_neu) - stateRequestTimer: Call Request Timer
2018.03.31 16:38:07 5: XiaomiBTLESens (Gummibaum_neu) - ExecGatttool_Run: gatttool loop result connect error,Connection refused (111)

2018.03.31 16:38:07 5: XiaomiBTLESens (Gummibaum_neu) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-read -a 0x38 2>&1 /dev/null and loop 1
2018.03.31 16:38:48 5: XiaomiBTLESens (Gummibaum_neu) - ExecGatttool_Run: gatttool loop result connect error,Connection refused (111)

2018.03.31 16:38:48 5: XiaomiBTLESens (Gummibaum_neu) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-read -a 0x38 2>&1 /dev/null and loop 2
2018.03.31 16:38:57 1: Timeout for XiaomiBTLESens_ExecGatttool_Run reached, terminated process 4222
2018.03.31 16:38:57 4: XiaomiBTLESens (Gummibaum_neu) - WriteReadings: Readings were written
2018.03.31 16:38:57 4: XiaomiBTLESens (Gummibaum_neu) - ExecGatttool_Aborted: The BlockingCall Process terminated unexpectedly. Timedout
2018.03.31 16:43:18 4: XiaomiBTLESens (Gummibaum_neu) - Run CreateParamGatttool with mod: read
2018.03.31 16:43:18 5: XiaomiBTLESens (Gummibaum_neu) - Read XiaomiBTLESens_ExecGatttool_Run Gummibaum_neu|C4:7C:8D:62:42:6F|read|0x38
2018.03.31 16:43:18 4: XiaomiBTLESens (Gummibaum_neu) - stateRequestTimer: Call Request Timer
2018.03.31 16:43:18 5: XiaomiBTLESens (Gummibaum_neu) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-read -a 0x38 2>&1 /dev/null and loop 0
2018.03.31 16:43:42 4: XiaomiBTLESens (Gummibaum_neu) - Run CreateParamGatttool with mod: read
2018.03.31 16:43:42 5: XiaomiBTLESens (Gummibaum_neu) - Read XiaomiBTLESens_ExecGatttool_Run Gummibaum_neu|C4:7C:8D:62:42:6F|read|0x38
2018.03.31 16:43:42 4: XiaomiBTLESens (Gummibaum_neu) - stateRequestTimer: Call Request Timer
2018.03.31 16:43:59 5: XiaomiBTLESens (Gummibaum_neu) - ExecGatttool_Run: gatttool loop result connect error,Connection refused (111)

2018.03.31 16:43:59 5: XiaomiBTLESens (Gummibaum_neu) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-read -a 0x38 2>&1 /dev/null and loop 1
2018.03.31 16:44:39 5: XiaomiBTLESens (Gummibaum_neu) - ExecGatttool_Run: gatttool loop result connect error,Connection refused (111)

2018.03.31 16:44:39 5: XiaomiBTLESens (Gummibaum_neu) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-read -a 0x38 2>&1 /dev/null and loop 2
2018.03.31 16:44:48 1: Timeout for XiaomiBTLESens_ExecGatttool_Run reached, terminated process 4440
2018.03.31 16:44:48 4: XiaomiBTLESens (Gummibaum_neu) - WriteReadings: Readings were written
2018.03.31 16:44:48 4: XiaomiBTLESens (Gummibaum_neu) - ExecGatttool_Aborted: The BlockingCall Process terminated unexpectedly. Timedout

Hat eigentlich überhaupt jemand mehr als einen gleichzeitig laufen?

PS: In der App funktionieren beide ohne Probleme.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 31 März 2018, 17:18:29
Hast du den Sensor wieder vom Handy entkoppelt. Sonst bleibt die App mit dem Sensor verbunden und blockiert.
Ich habe 4 im Einsatz.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Loki am 31 März 2018, 18:23:12
Jetzt verwirrst du mich. Mit dem Handy ist keiner der Sensoren gekoppelt. Die App baut nur immer eine AdHoc Verdinung zu den Sensoren auf. Wenn ich sie "hart" beende sollte auch die Verbindung weg sein.

Zumindest habe ich auch mal Bluetooth am Handy deaktiviert, aber ändern tut sich nichts.

Ich gebe langsam aber sicher auf...
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 31 März 2018, 18:30:25
Wenn du die App beendest sollte die Verbindung getrennt sein, ja. Aber das hast Du ja nicht geschrieben. Am besten Mal BT ausschalten.

Was passiert wenn Du das
gatttool -i hci0 -b C4:7C:8D:66:16:30 --char-read -a 0x35
In der Konsole ein gibst?
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Loki am 31 März 2018, 19:34:09
Das kommt dann raus:

Characteristic value/descriptor: aa bb cc dd ee ff 99 88 77 66 00 00 00 00 00 00
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 31 März 2018, 19:35:15
Und wenn du statt 35 38 nimmst?
Und probiere auch Mal hintereinander
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Loki am 31 März 2018, 19:58:08
Bei read -a 0x38 kommt:

Characteristic value/descriptor: 63 27 33 2e 31 2e 38



Mal nebenbei finde ich deine Geduld bemerkenswert...   ;)
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 31 März 2018, 20:06:50
Und selbst wenn du das hintereinander ausführst bekommst immer Daten?
Gib Mal bitte ein list vom Device jetzt.
Führe set resetBatteryTimestamp aus und mach noch mal ein get sensorData
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Loki am 31 März 2018, 20:23:12
list:
Internals:
   BTMAC      C4:7C:8D:62:42:6F
   CFGFN     
   DEF        C4:7C:8D:62:42:6F
   INTERVAL   300
   NAME       Gummibaum_neu
   NOTIFYDEV  global,Gummibaum
   NR         9857
   NTFY_ORDER 50-Gummibaum
   STATE      error
   TYPE       XiaomiBTLESens
   VERSION    2.0.12
   loglevel   4
   READINGS:
     2018-03-31 20:16:04   lastGattError   Invalid argument (22)
     2018-03-31 20:16:04   state           error
   helper:
     CallBattery 0
     CallSensDataCounter 0
Attributes:
   model      flowerSens
   room       XiaomiBTLESens
   verbose    5

Log dazu:
2018.03.31 20:17:19 4: XiaomiBTLESens (Gummibaum_neu) - Run CreateParamGatttool with mod: read
2018.03.31 20:17:19 5: XiaomiBTLESens (Gummibaum_neu) - Read XiaomiBTLESens_ExecGatttool_Run Gummibaum_neu|C4:7C:8D:62:42:6F|read|0x38
2018.03.31 20:17:19 5: XiaomiBTLESens (Gummibaum_neu) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-read -a 0x38 2>&1 /dev/null and loop 0
2018.03.31 20:17:22 4: XiaomiBTLESens (Gummibaum_neu) - Run CreateParamGatttool with mod: read
2018.03.31 20:17:22 5: XiaomiBTLESens (Gummibaum_neu) - Read XiaomiBTLESens_ExecGatttool_Run Gummibaum_neu|C4:7C:8D:62:42:6F|read|0x38

noch ein list:
Internals:
   BTMAC      C4:7C:8D:62:42:6F
   CFGFN     
   DEF        C4:7C:8D:62:42:6F
   INTERVAL   300
   NAME       Gummibaum_neu
   NOTIFYDEV  global,Gummibaum
   NR         9857
   NTFY_ORDER 50-Gummibaum
   STATE      error
   TYPE       XiaomiBTLESens
   VERSION    2.0.12
   loglevel   4
   READINGS:
     2018-03-31 20:18:29   lastGattError   Invalid argument (22)
     2018-03-31 20:18:29   state           error
   helper:
     CallBattery 0
     CallSensDataCounter 0
Attributes:
   model      flowerSens
   room       XiaomiBTLESens
   verbose    5
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 31 März 2018, 20:29:57
Ich kann beim besten Willen das Problem nicht erkennen. Verstehe nicht wieso es in der Konsole geht aber nicht im Modul.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: ludwich am 01 April 2018, 16:29:19
Frohe Ostern!!
Eigentlich wollte ich ja nur schauen wie ich eine E-Mail versenden kann, wenn diese zu trocken werden.
Dabei habe ich gesehen, dass das Modul XiaomiFlowerSens (bisher genutzt) wird durch XiaomiBTLESens ersetzt wird - richtig?
Ich habe das Modul 2.0.12 im FHEM, im Github liegt 2.0.11 - ist da was zu beachten?
Kann/Soll ich mein FHEM schon komplett auf XiaomiBTLESens umstellen?

Vielleicht gibt es je noch nen Tipp zur Mail - sonst google ich mal los :-)
Ich hab das gestern das Modul  {DebianMail("email\@email.domain","Subject","Text","")} eingerichtet.

Schöne Grüße aus München

ludwich
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 01 April 2018, 16:36:16
Frohe Ostern!!
Eigentlich wollte ich ja nur schauen wie ich eine E-Mail versenden kann, wenn diese zu trocken werden.
Dabei habe ich gesehen, dass das Modul XiaomiFlowerSens (bisher genutzt) wird durch XiaomiBTLESens ersetzt wird - richtig?
Ich habe das Modul 2.0.12 im FHEM, im Github liegt 2.0.11 - ist da was zu beachten?
Kann/Soll ich mein FHEM schon komplett auf XiaomiBTLESens umstellen?

Vielleicht gibt es je noch nen Tipp zur Mail - sonst google ich mal los :-)
Ich hab das gestern das Modul  {DebianMail("email\@email.domain","Subject","Text","")} eingerichtet.

Schöne Grüße aus München

ludwich

Nicht aus GitHub nehmen bitte. In FHEM liegt das offizielle.
Du kannst einfach auf XiaomiBTLESens wechseln. Für Email wenn zu trocken einfach Attribut minMoisture setzen und ein Notify auf das Event setzen.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: ludwich am 01 April 2018, 18:48:26
Was hab ich da gemacht?

Ich habe einen MinMoisture von 18 gesetzt gesetzt, die Mail wird trotz des Readings von 20 verschickt.
Ist hier die Abfrage mit "low" falsch?
Das ganze bezieht sich ja auf das Device nicht auf den Log - richtig?
Das NOTIFYDEV mit global und Blume2 verwirrt mich etwas ?
Das ist mein erstes Notify - nicht wundern ;-)

Namen in Device:
NAME Blume2
NOTIFYDEV global,Blume2

im notify
"low"|Blume2:minMoisture.* {DebianMail("lu\@lu.de","FHEM","Elefantenohr","")}

In der Log Datei sieht es dann theoretisch so aus:
Zeitstempel Blume2 minMoisture low
Zeitstempel Blume2 minMoisture ok

ludwich

Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 01 April 2018, 18:54:55
Blume2.minMoisture.low { DebianMail("lu\@lu.de","FHEM","Elefantenohr","") }
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: ludwich am 01 April 2018, 23:01:00
Jetzt sieht es gut aus !
Meine Frau dankt ;-)

Gruß Ludwich
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: mark79 am 12 April 2018, 13:51:52
Der FlowerSens ist gerade im Angebot für etwa 10€
https://www.mydealz.de/deals/banggood-xiaomi-4-in-1-pflanzensensor-mit-app-bedienung-fur-980eur-1152825
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: theophilou85 am 16 April 2018, 01:17:30
Hallo

Ich nutze inzwischen 3 Flowersensoren mit nem Raspbi 3 zusammen und habe das Problem, dass die Dinger hin und wieder ihre Verbindung verlieren und danach erst wieder zurückkommen, wenn ich FHEM neustarte. Dadurch schließe ich ein Bluetoothproblem erstmal aus.
Für Testzwecke sind die Sensoren außerdem 15cm neben dem Pi platziert. Log sieht folgendermaßen aus:
2018-04-14_14:44:05 pla01 fertility: 0
2018-04-14_14:44:05 pla01 moisture: 0
2018-04-14_14:44:05 pla01 temperature: 25.3
2018-04-14_14:44:05 pla01 lux: 34
2018-04-14_14:44:05 pla01 active
2018-04-16_00:54:19 pla01 read sensor data
2018-04-16_00:54:23 pla01 batteryLevel: 100
2018-04-16_00:54:23 pla01 battery: ok
2018-04-16_00:54:23 pla01 firmware: 2.7.0
2018-04-16_00:54:23 pla01 active
2018-04-08_23:32:40 pla01 write sensor data
2018-04-08_23:32:41 pla01 read sensor data
2018-04-08_23:32:42 pla01 fertility: 0
2018-04-08_23:32:42 pla01 moisture: 0
2018-04-08_23:32:42 pla01 lux: 160
2018-04-08_23:32:42 pla01 temperature: 25.3
2018-04-08_23:32:42 pla01 active
2018-04-13_23:49:39 pla01 read sensor data
2018-04-13_23:49:58 pla01 read sensor data
2018-04-13_23:50:06 pla01 firmware: 2.7.0
2018-04-13_23:50:06 pla01 batteryLevel: 100
2018-04-13_23:50:06 pla01 battery: ok
2018-04-13_23:50:06 pla01 active

Da lässt sich meiner Meinung nach nichts rauslesen. Die Sensoren gehen dann von "active" aus "initlialised". Alle 3 gleichzeitig und kommen erst nach dem FHEM-Restart wieder.
Integriert wurden Sie folgendermaßen:
define pla00 XiaomiBTLESens C4:7C:8D:66:1C:4C
attr pla00 alias Plant Sensor left
attr pla00 event-min-interval state:3600,battery:3600,batteryLevel:3600,temperature:3600,moisture:3600,fertility:3600,lux:3600
attr pla00 event-on-change-reading state
attr pla00 event-on-update-reading .*
attr pla00 group [Bluetooth] Plant Sensors
attr pla00 interval 3600
attr pla00 model flowerSens
attr pla00 room Sensors

Wäre euch sehr verbunden, wenn ihr mir helfen könntet, oder Anweisungen geben, welche Informationen noch nötig wären.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 16 April 2018, 05:38:44
Ich brauche bitte ein Device Log, kein Reading Log. Beim Device Attribut verbose 5.
Ausserdem benötige ich ein list vom Device, die Definition ist nutzlos.
list DEVICENAME
List ist ein FHEM Befehl.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: raiderxxl am 16 April 2018, 11:39:41
Hallo,

Ich habe seit 3 Tagen 2 dieser Sensoren im Einsatz. Angebunden über ssh (Ziel ist RasperiyPiZeroW)
Reading und Status wird erfolgreich übertragen.

Doch habe ich nun hin und wieder folgende Meldungen im Log:

connect error: Transport endpoint is not connected (107)
connect error: Transport endpoint is not connected (107)
connect error: Function not implemented (38)
connect error: Function not implemented (38)
connect: Device or resource busy (16)
connect: Device or resource busy (16)
connect error: Function not implemented (38)
connect error: Transport endpoint is not connected (107)

Ohne angabe von Zeit und device...

Würde mich ja nicht stören da die Werte ja übertragen werden. Nur werden mir die Einträge ins Log geschrieben obwohl im device verbose 0 definiert ist.

Was ich noch testen kann ist ein Raspberry Pi 3 als Ziel vielleicht ist der ein  bisschen performanter... wobei auf dem Zero ausser einem Pytonscript nix läuft (CPU 1-3%)...

Jemand noch ne Idee?

Grüßle

Pascal


Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 16 April 2018, 11:48:10
Setz mal bitte das Atribut blockingCallLoglevel auf 1 oder 0
Eventuell hilft das.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: raiderxxl am 16 April 2018, 13:57:24
Hi,

ich kann den nur auf 2-5 setzen...

Pascal

Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 16 April 2018, 14:05:17
Dann bitte auf 2
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: raiderxxl am 16 April 2018, 14:26:15
Wird gemacht....
Ich werde das Beobachten.

Danke!


Pascal
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Diggewuff am 20 April 2018, 16:35:55
Ich würde meine Pflanzrensensoren gerne mit dem montoring modul überwachen.
dafür brauche ich ein event das triggert wenn handlung notwendig ist,
maxlux - max. Helligkeits-Grenzwert für ein Ereignis maxlux high
Beispiele für min/max-Ereignisse:
2017-03-16 11:08:05 XiaomiFlowerSens Dracaena minMoisture low
2017-03-16 11:08:06 XiaomiFlowerSens Dracaena maxTemp high
wunderbar, das habe ich.
Aber ich bräuchte auch ein event das meldet wenn alles wieder in ordnung ist sprich sowas wie:
2017-03-16 11:08:05 XiaomiFlowerSens Dracaena minMoisture ok
2017-03-16 11:08:06 XiaomiFlowerSens Dracaena maxTemp ok

Gebe es einen weg soein event evenuel in diesem noch nach zu pflegen?
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 20 April 2018, 16:45:22
Gibt es bereits. Ein ok sollte eigentlich immer kommen wenn min oder max nicht erfüllt sind. Problem, das Event kommt immer.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 20 April 2018, 16:51:09
Ganz vergessen. Das Event kommt aber nur wenn die entsprechenden Attribute auch gesetzt sind
2018-04-20 16:49:18 XiaomiBTLESens PflanzenSensor3 minMoisture ok
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: raiderxxl am 21 April 2018, 08:45:03
Hallo,
Ich hab das jetzt mal beobachtet... kommt immernoch...

connect error: Transport endpoint is not connected (107)
connect error: Transport endpoint is not connected (107)
connect error: Transport endpoint is not connected (107)
connect error: Transport endpoint is not connected (107)
connect error: Function not implemented (38)
connect error: Transport endpoint is not connected (107)
connect error: Transport endpoint is not connected (107)
connect error: Transport endpoint is not connected (107)
connect error: Transport endpoint is not connected (107)

Und was ganz komisch ist, setzt man den Intervall auf 600 melden sie sich gar nicht mehr...  :)


Hier nochmal mein raw device:

defmod Blume2 XiaomiBTLESens C4:7C:8D:65:EE:99
attr Blume2 blockingCallLoglevel 2
attr Blume2 event-min-interval .*:600
attr Blume2 interval 300
attr Blume2 model flowerSens
attr Blume2 room Kugele->OG->Flur
attr Blume2 sshHost 192.168.178.82
attr Blume2 verbose 0

setstate Blume2 active
setstate Blume2 2018-04-20 09:55:01 battery ok
setstate Blume2 2018-04-20 09:55:01 batteryLevel 93
setstate Blume2 2018-04-21 08:42:10 fertility 220
setstate Blume2 2018-04-20 09:55:01 firmware 2.7.0
setstate Blume2 2018-04-21 06:57:59 lastGattError Request attribute has encountered an unlikely error
setstate Blume2 2018-04-21 08:42:10 lux 1691
setstate Blume2 2018-04-21 08:42:10 moisture 57
setstate Blume2 2018-04-21 08:42:10 state active
setstate Blume2 2018-04-21 08:42:10 temperature 24.4

Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 21 April 2018, 09:22:08
attr Blume2 event-min-interval .*:600


Das kann auch so Solo nicht gehen. event-min-interval funktioniert nur in Verbindung mit event-on-change-reading oder event-on-update-reading

Gegen die Meldungen
connect error: Transport endpoint is not connected (107)
kann ich dann leider nichts machen. die kommen direkt aus der Konsole raus. Da ist noch was faul. Entweder zu weit weg oder Probleme mit dem Bluetooth. Hast Du ein USB Stick oder on Board? Raspi 3 oder so.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: ToM_ToM am 21 April 2018, 11:54:00
Hi Leon,

ich habe heute versucht, einen neuen Flower Sensor in Betrieb zu nehmen.
Die FlowerCare App findet ihn zwar, kann ihn aber komischerweise nicht verbinden. Auch wenn ich
hcitool lescan ausführe, finde ich den neuen Sensor. Diesen habe ich versucht als XiaomiFlowerSens einzubinden und anschließend auch als XiaomiBTLESens.
Bei beiden bekomme ich ein Error zurück.
lastGattError: The BlockingCall Process terminated unexpectedly. Timedout
2018.04.21 11:52:00 4: XiaomiBTLESens (Planze_08) - Run CreateParamGatttool with mod: read
2018.04.21 11:52:00 5: XiaomiBTLESens (Planze_08) - Read XiaomiBTLESens_ExecGatttool_Run Planze_08|C4:7C:8D:66:04:6A|read|0x38
2018.04.21 11:52:02 5: XiaomiBTLESens (Planze_08) - ExecGatttool_Run: gatttool loop result connect error,Connection refused (111)

2018.04.21 11:52:02 5: XiaomiBTLESens (Planze_08) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:66:04:6A --char-read -a 0x38 2>&1 /dev/null and loop 2
2018.04.21 11:52:11 1: Timeout for XiaomiBTLESens_ExecGatttool_Run reached, terminated process 30812
2018.04.21 11:52:12 4: XiaomiBTLESens (Planze_08) - WriteReadings: Readings were written
2018.04.21 11:52:12 4: XiaomiBTLESens (Planze_08) - ExecGatttool_Aborted: The BlockingCall Process terminated unexpectedly. Timedout

Hast du noch eine Idee oder ist mein Sensor defekt?

VG, Thomas
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Nemo0815 am 21 April 2018, 12:27:27
Habe das gleiche Problem 2 neue Sensoren (hatte vorher noch keine) auf einem Raspian Stretch System mit 2 BT dongles (intern + USB).

Allerdings kann ich mit der App erfolgreich verbinden...
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 21 April 2018, 12:34:12
Hi Leon,

ich habe heute versucht, einen neuen Flower Sensor in Betrieb zu nehmen.
Die FlowerCare App findet ihn zwar, kann ihn aber komischerweise nicht verbinden. Auch wenn ich
hcitool lescan ausführe, finde ich den neuen Sensor. Diesen habe ich versucht als XiaomiFlowerSens einzubinden und anschließend auch als XiaomiBTLESens.
Bei beiden bekomme ich ein Error zurück.
lastGattError: The BlockingCall Process terminated unexpectedly. Timedout
2018.04.21 11:52:00 4: XiaomiBTLESens (Planze_08) - Run CreateParamGatttool with mod: read
2018.04.21 11:52:00 5: XiaomiBTLESens (Planze_08) - Read XiaomiBTLESens_ExecGatttool_Run Planze_08|C4:7C:8D:66:04:6A|read|0x38
2018.04.21 11:52:02 5: XiaomiBTLESens (Planze_08) - ExecGatttool_Run: gatttool loop result connect error,Connection refused (111)

2018.04.21 11:52:02 5: XiaomiBTLESens (Planze_08) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:66:04:6A --char-read -a 0x38 2>&1 /dev/null and loop 2
2018.04.21 11:52:11 1: Timeout for XiaomiBTLESens_ExecGatttool_Run reached, terminated process 30812
2018.04.21 11:52:12 4: XiaomiBTLESens (Planze_08) - WriteReadings: Readings were written
2018.04.21 11:52:12 4: XiaomiBTLESens (Planze_08) - ExecGatttool_Aborted: The BlockingCall Process terminated unexpectedly. Timedout

Hast du noch eine Idee oder ist mein Sensor defekt?

VG, Thomas

Hallo Thomas und Nemo0815

Wenn dieser Befehl in der Konsole zu Problemen führt dann scheint etwas mit dem Bluetooth nicht in Ordnung zu sein
gatttool -i hci0 -b MAC-ADRESSE --char-read -a 0x38


Grüße
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Nemo0815 am 21 April 2018, 12:36:23
Hi,

bei kommt da:

gatttool -i hci0 -b C4:7C:8D:66:0F:40 --char-read -a 0x38
Characteristic value/descriptor: 64 15 32 2e 37 2e 30

Edit: Hat sich erledigt, war der falsche (noch nicht mit dem Smartphone gepairte) Sensor  :)
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 21 April 2018, 12:42:06
Hi,

bei kommt da:

gatttool -i hci0 -b C4:7C:8D:66:0F:40 --char-read -a 0x38
Characteristic value/descriptor: 64 15 32 2e 37 2e 30

Edit: Hat sich erledigt, war der falsche (noch nicht mit dem Smartphone gepairte) Sensor  :)

Geht jetzt also? Bekommst Werte?
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: ToM_ToM am 21 April 2018, 13:18:20
Also ich habe es jetzt einmal mit dem XiaomiBTLESens Device geschafft, einen
get Pflanze_08 firmware auszuführen.
Der Status ändert sich dann auf "read sensor data" was mich etwas verwirrt, aber der Request war erfolgreich.

Anschließender Versuch mit get Pflanze_08 sensorData ändert den Status auf "write sensor data" was mich ebenso verwirrt, liefert aber dann wieder das Timeout Error.

VG, Thomas
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: raiderxxl am 21 April 2018, 22:36:06
Hi,

Ich meine das Interval Attribut und nicht „event-min-interval“, das funktioniert...
Laut Wiki auch so wie ich’s eingerichtet habe https://wiki.fhem.de/wiki/Event-min-interval alle 10 Minuten einen Eintrag...

Grüßle

Pascal
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 21 April 2018, 22:40:13
Dann setz Mal bitte verbose auf 5 und ändere das Intervall
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: majestro84 am 24 April 2018, 18:42:38
Hallo wollte kurz fragen das Thermometer mit dem Modul hier und das PRESENCE Modul bzw lepresence zusammen auf ein Pi laufen kann oder gibt es da Probleme?

Gesendet von meinem Redmi Note 4 mit Tapatalk

Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 24 April 2018, 20:15:59
Ich habe keine Probleme und lasse es auf ein und dem selben System laufen. Wichtig meiner Meinung ist das hcidump für lepresenced verwendet wird. Muss eventuell von Hand nachinstalliert werden.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: majestro84 am 24 April 2018, 20:28:57
OK danke für die Antwort dann probiere ich es mal aus


Gesendet von meinem Redmi Note 4 mit Tapatalk

Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: fhainz am 24 April 2018, 21:03:39
Hallo Leon!

Meine 7 Flower Sensoren laufen derzeit auf einer Ubuntu VM mit einem externem BT-Stick. Nachdem ich ab und zu Probleme mit der Reichweite des Sticks habe, hab ich mir einen Raspi 3+ geholt der auf dem Balkon kommen soll.
Der Pi ist heute angekommen, bei der Inbetriebnahme der Sensoren habe ich aber einige Probleme.
Ich hab die Installations-Prozedur jetzt 2x durch, bei der 2. Installation hab dann ich irgendwann angefangen den Beitrag zu schreiben um so alles genau mitzudokumentieren.

Nach der ersten Installation von raspbian hab ich mit hcitool lescan die Sensoren gleich gefunden. Dann FHEM und MQTT installiert und meine 7 Sensoren eingebunden (Copy+Paste der 7 Definitionen aus und in die fhem.cfg). Das erste abrufen hat geklappt, nach einem manuellen update kam schon der error (Invalid argument (22). Anschließend hab ich viel versucht und anscheinend das Systen kaputt konfiguriert. Gut nochmal von vorne, jetzt aber geziel. ;)

Nach der 2. Installation von raspbian funktioninert hcitool lescan ohne Probleme. 2-3x getestet. Anschließend wieder FHEM laut Debian Anleitung mit apt-get installiert und 5 Sensoren definiert. Wieder nach ein paar Sekunden der gleiche Fehler wie oben. In der Konsole bekomme ich jetzt den Fehler Disable scan failed: Input/output error Anschließend hab ich alle 5 Devices gelöscht, google angeschmissen und das gefunden. https://stackoverflow.com/questions/22062037/hcitool-lescan-shows-i-o-error
Also das in der Konsole eingegeben
hciconfig hci0 down
hciconfig hci0 up
und jetzt funktioniert es auch wieder aus der Konsole. 5-10 Minuten gewartet, immer wieder erneut versucht. Keine Probleme. Anschließend hab ich dann langsam Stück für Stück 5 der 7 Sensoren in der Web-UI definiert, immer wieder ausprobiert, gespeichert und NICHT neugestartet. Abrufen klappt aus FHEM und der Konsole.
Jetzt starte ich FHEM neu, 1-2 Sensoren gehen auf active, der rest error (Invalid argument (22)). In der Konsole bekomme ich jetzt nach ein paar Scans auch wieder den Fehler Disable scan failed: Input/output errorDie Prozedur nachdem ich hciconfig hci0 ... eingegeben habe, habe ich jetzt 2x wiederholt. Immer mit dem selben Ergebnis. Sobald FHEM und ein neustart ins spiel kommen, fängt hcitool zu zicken an. Beim 2. mal nachstellen hat das Empfangen des ersten Sensors länger gedauert als das empfangen des 2. Sensors. Der 2. Sensor war active, der 1. anschließend gleich mal auf error, ohne neustart.

Ich hab auch auf der Ubuntu-VM alle paar Tage Probleme die Sensoren zu empfangen. Den Fehler kann ich falls gewünscht nachreichen könnte aber "charWrite faild" sein, bin mir aber nicht sicher. Ein neustart von FHEM hilft da nicht mehr, ich muss die komplette Maschine neustarten. Das war unteranderem ein Grund auf den Pi zu wechseln ;)

Kannst du dir das ganze erklären? Falls du verbose 5 Logs benötigst, sag bescheid.

Danke & Grüße

Edit:
hcitool in der konsole funktioniert eigenartigerweise noch, in FHEM aber Invalid argument (22)
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: theophilou85 am 25 April 2018, 00:11:05
Habe das verbose jetzt auf 5 gesetzt, anbei schon einmal ein list eines der drei Sensoren

Internals:
   BTMAC      C4:7C:8D:66:20:C7
   DEF        C4:7C:8D:66:20:C7
   INTERVAL   3600
   NAME       pla02
   NOTIFYDEV  global,pla02
   NR         356
   NTFY_ORDER 50-pla02
   STATE      initialized
   TYPE       XiaomiBTLESens
   VERSION    2.0.12
   loglevel   4
   READINGS:
     2018-04-19 00:59:05   battery         ok
     2018-04-19 00:59:05   batteryLevel    100
     2018-04-19 18:10:41   fertility       1
     2018-04-19 00:59:05   firmware        2.7.0
     2018-04-17 00:19:51   lastGattError   charWrite faild
     2018-04-19 18:10:41   lux             170
     2018-04-19 18:10:41   moisture        0
     2018-04-25 00:08:01   state           initialized
     2018-04-19 18:10:41   temperature     23.2
   helper:
     CallBattery 0
     CallSensDataCounter 0
Attributes:
   alias      Plant Sensor right
   event-min-interval state:3600,battery:3600,batteryLevel:3600,temperature:3600,moisture:3600,fertility:3600,lux:3600
   event-on-change-reading state
   event-on-update-reading .*
   group      [Bluetooth] Plant Sensors
   interval   3600
   model      flowerSens
   room       Sensors
   verbose    5

Im Moment ist er initialized und bietet mir an ein resetBatteryTimestamp zu senden. Mache ich das, wechselt er auf "active" und tut wieder.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: theophilou85 am 26 April 2018, 23:54:47
Es ist wieder passiert. Folgendes aus dem Log:

2018.04.25 00:08:36 4: XiaomiBTLESens (pla01) - Run CreateParamGatttool with mod: read
2018.04.25 00:08:36 5: XiaomiBTLESens (pla01) - Read XiaomiBTLESens_ExecGatttool_Run pla01|C4:7C:8D:66:1E:79|read|0x38
2018.04.25 00:08:36 4: XiaomiBTLESens (pla01) - stateRequestTimer: Call Request Timer
2018.04.25 00:08:37 5: XiaomiBTLESens (pla01) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:66:1E:79 --char-read -a 0x38 2>&1 /dev/null and loop 0
2018.04.25 00:08:39 5: XiaomiBTLESens (pla01) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,64 15 32 2e 37 2e 30

2018.04.25 00:08:39 4: XiaomiBTLESens (pla01) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,64 15 32 2e 37 2e 30

2018.04.25 00:08:39 5: XiaomiBTLESens (pla01) - ExecGatttool_Done: gatttool return string: pla01|C4:7C:8D:66:1E:79|ok|read|0x38|{"gtResult":"64 15 32 2e 37 2e 30 "}
2018.04.25 00:08:39 4: XiaomiBTLESens (pla01) - ProcessingNotification
2018.04.25 00:08:39 4: XiaomiBTLESens (pla01) - ProcessingNotification: handle 0x38
2018.04.25 00:08:39 4: XiaomiBTLESens (pla01) - FlowerSens Handle0x38
2018.04.25 00:08:39 4: XiaomiBTLESens (pla01) - WriteReadings: Readings were written
2018.04.25 00:08:39 4: XiaomiBTLESens (pla01) - Run CreateParamGatttool with mod: write
2018.04.25 00:08:39 5: XiaomiBTLESens (pla01) - Write XiaomiBTLESens_ExecGatttool_Run pla01|C4:7C:8D:66:1E:79|write|0x33|A01F
2018.04.25 00:08:39 5: XiaomiBTLESens (pla01) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:66:1E:79 --char-write-req -a 0x33 -n A01F 2>&1 /dev/null and loop 0
2018.04.25 00:08:39 5: XiaomiBTLESens (pla01) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully

2018.04.25 00:08:39 4: XiaomiBTLESens (pla01) - ExecGatttool_Run: gatttool result Characteristic value was written successfully

2018.04.25 00:08:39 5: XiaomiBTLESens (pla01) - ExecGatttool_Done: gatttool return string: pla01|C4:7C:8D:66:1E:79|ok|write|0x33|{"gtResult":"no data response"}
2018.04.25 00:08:39 4: XiaomiBTLESens (pla01) - Run CreateParamGatttool with mod: read
2018.04.25 00:08:39 5: XiaomiBTLESens (pla01) - Read XiaomiBTLESens_ExecGatttool_Run pla01|C4:7C:8D:66:1E:79|read|0x35
2018.04.25 00:08:40 5: XiaomiBTLESens (pla01) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:66:1E:79 --char-read -a 0x35 2>&1 /dev/null and loop 0
2018.04.25 00:08:40 5: XiaomiBTLESens (pla01) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,f3 00 00 5a 00 00 00 00 00 00 02 3c 00 fb 34 9b

2018.04.25 00:08:40 4: XiaomiBTLESens (pla01) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,f3 00 00 5a 00 00 00 00 00 00 02 3c 00 fb 34 9b

2018.04.25 00:08:40 5: XiaomiBTLESens (pla01) - ExecGatttool_Done: gatttool return string: pla01|C4:7C:8D:66:1E:79|ok|read|0x35|{"gtResult":"f3 00 00 5a 00 00 00 00 00 00 02 3c 00 fb 34 9b "}
2018.04.25 00:08:40 4: XiaomiBTLESens (pla01) - ProcessingNotification
2018.04.25 00:08:40 4: XiaomiBTLESens (pla01) - ProcessingNotification: handle 0x35
2018.04.25 00:08:40 4: XiaomiBTLESens (pla01) - FlowerSens Handle0x35
2018.04.25 00:08:40 4: XiaomiBTLESens (pla01) - WriteReadings: Readings were written
2018.04.25 00:08:45 3: Watchdog mod00_det_wd0 triggered
2018.04.25 00:08:45 3: scc00 IT_set: swt05 off
2018.04.25 00:08:47 4: XiaomiBTLESens (pla00) - Run CreateParamGatttool with mod: read
2018.04.25 00:08:47 5: XiaomiBTLESens (pla00) - Read XiaomiBTLESens_ExecGatttool_Run pla00|C4:7C:8D:66:1C:4C|read|0x38
2018.04.25 00:08:47 4: XiaomiBTLESens (pla00) - stateRequestTimer: Call Request Timer
2018.04.25 00:08:47 5: XiaomiBTLESens (pla00) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:66:1C:4C --char-read -a 0x38 2>&1 /dev/null and loop 0
2018.04.25 00:08:49 5: XiaomiBTLESens (pla00) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,61 15 32 2e 37 2e 30

2018.04.25 00:08:49 4: XiaomiBTLESens (pla00) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,61 15 32 2e 37 2e 30

2018.04.25 00:08:49 5: XiaomiBTLESens (pla00) - ExecGatttool_Done: gatttool return string: pla00|C4:7C:8D:66:1C:4C|ok|read|0x38|{"gtResult":"61 15 32 2e 37 2e 30 "}
2018.04.25 00:08:49 4: XiaomiBTLESens (pla00) - ProcessingNotification
2018.04.25 00:08:49 4: XiaomiBTLESens (pla00) - ProcessingNotification: handle 0x38
2018.04.25 00:08:49 4: XiaomiBTLESens (pla00) - FlowerSens Handle0x38
2018.04.25 00:08:49 4: XiaomiBTLESens (pla00) - WriteReadings: Readings were written
2018.04.25 00:08:49 4: XiaomiBTLESens (pla00) - Run CreateParamGatttool with mod: write
2018.04.25 00:08:49 5: XiaomiBTLESens (pla00) - Write XiaomiBTLESens_ExecGatttool_Run pla00|C4:7C:8D:66:1C:4C|write|0x33|A01F
2018.04.25 00:08:50 5: XiaomiBTLESens (pla00) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:66:1C:4C --char-write-req -a 0x33 -n A01F 2>&1 /dev/null and loop 0
2018.04.25 00:08:50 5: XiaomiBTLESens (pla00) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully

2018.04.25 00:08:50 4: XiaomiBTLESens (pla00) - ExecGatttool_Run: gatttool result Characteristic value was written successfully

2018.04.25 00:08:50 5: XiaomiBTLESens (pla00) - ExecGatttool_Done: gatttool return string: pla00|C4:7C:8D:66:1C:4C|ok|write|0x33|{"gtResult":"no data response"}
2018.04.25 00:08:50 4: XiaomiBTLESens (pla00) - Run CreateParamGatttool with mod: read
2018.04.25 00:08:50 5: XiaomiBTLESens (pla00) - Read XiaomiBTLESens_ExecGatttool_Run pla00|C4:7C:8D:66:1C:4C|read|0x35
2018.04.25 00:08:50 5: XiaomiBTLESens (pla00) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:66:1C:4C --char-read -a 0x35 2>&1 /dev/null and loop 0
2018.04.25 00:08:50 5: XiaomiBTLESens (pla00) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,fa 00 00 4c 00 00 00 00 00 00 02 3c 00 fb 34 9b

2018.04.25 00:08:50 4: XiaomiBTLESens (pla00) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,fa 00 00 4c 00 00 00 00 00 00 02 3c 00 fb 34 9b

2018.04.25 00:08:51 5: XiaomiBTLESens (pla00) - ExecGatttool_Done: gatttool return string: pla00|C4:7C:8D:66:1C:4C|ok|read|0x35|{"gtResult":"fa 00 00 4c 00 00 00 00 00 00 02 3c 00 fb 34 9b "}
2018.04.25 00:08:51 4: XiaomiBTLESens (pla00) - ProcessingNotification
2018.04.25 00:08:51 4: XiaomiBTLESens (pla00) - ProcessingNotification: handle 0x35
2018.04.25 00:08:51 4: XiaomiBTLESens (pla00) - FlowerSens Handle0x35
2018.04.25 00:08:51 4: XiaomiBTLESens (pla00) - WriteReadings: Readings were written
2018.04.25 00:11:00 4: XiaomiBTLESens (pla02) - Run CreateParamGatttool with mod: read
2018.04.25 00:11:00 5: XiaomiBTLESens (pla02) - Read XiaomiBTLESens_ExecGatttool_Run pla02|C4:7C:8D:66:20:C7|read|0x38
2018.04.25 00:11:00 4: XiaomiBTLESens (pla02) - stateRequestTimer: Call Request Timer
2018.04.25 00:11:00 5: XiaomiBTLESens (pla02) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:66:20:C7 --char-read -a 0x38 2>&1 /dev/null and loop 0
2018.04.25 00:11:02 5: XiaomiBTLESens (pla02) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,64 15 32 2e 37 2e 30

2018.04.25 00:11:02 4: XiaomiBTLESens (pla02) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,64 15 32 2e 37 2e 30

2018.04.25 00:11:02 5: XiaomiBTLESens (pla02) - ExecGatttool_Done: gatttool return string: pla02|C4:7C:8D:66:20:C7|ok|read|0x38|{"gtResult":"64 15 32 2e 37 2e 30 "}
2018.04.25 00:11:02 4: XiaomiBTLESens (pla02) - ProcessingNotification
2018.04.25 00:11:02 4: XiaomiBTLESens (pla02) - ProcessingNotification: handle 0x38
2018.04.25 00:11:02 4: XiaomiBTLESens (pla02) - FlowerSens Handle0x38
2018.04.25 00:11:02 4: XiaomiBTLESens (pla02) - WriteReadings: Readings were written
2018.04.25 00:11:02 4: XiaomiBTLESens (pla02) - Run CreateParamGatttool with mod: write
2018.04.25 00:11:02 5: XiaomiBTLESens (pla02) - Write XiaomiBTLESens_ExecGatttool_Run pla02|C4:7C:8D:66:20:C7|write|0x33|A01F
2018.04.25 00:11:03 5: XiaomiBTLESens (pla02) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:66:20:C7 --char-write-req -a 0x33 -n A01F 2>&1 /dev/null and loop 0
2018.04.25 00:11:03 5: XiaomiBTLESens (pla02) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully

2018.04.25 00:11:03 4: XiaomiBTLESens (pla02) - ExecGatttool_Run: gatttool result Characteristic value was written successfully

2018.04.25 00:11:03 5: XiaomiBTLESens (pla02) - ExecGatttool_Done: gatttool return string: pla02|C4:7C:8D:66:20:C7|ok|write|0x33|{"gtResult":"no data response"}
2018.04.25 00:11:03 4: XiaomiBTLESens (pla02) - Run CreateParamGatttool with mod: read
2018.04.25 00:11:03 5: XiaomiBTLESens (pla02) - Read XiaomiBTLESens_ExecGatttool_Run pla02|C4:7C:8D:66:20:C7|read|0x35
2018.04.25 00:11:03 5: XiaomiBTLESens (pla02) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:66:20:C7 --char-read -a 0x35 2>&1 /dev/null and loop 0
2018.04.25 00:11:03 5: XiaomiBTLESens (pla02) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,ee 00 00 52 00 00 00 00 02 00 02 3c 00 fb 34 9b

2018.04.25 00:11:03 4: XiaomiBTLESens (pla02) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,ee 00 00 52 00 00 00 00 02 00 02 3c 00 fb 34 9b

2018.04.25 00:11:03 5: XiaomiBTLESens (pla02) - ExecGatttool_Done: gatttool return string: pla02|C4:7C:8D:66:20:C7|ok|read|0x35|{"gtResult":"ee 00 00 52 00 00 00 00 02 00 02 3c 00 fb 34 9b "}
2018.04.25 00:11:03 4: XiaomiBTLESens (pla02) - ProcessingNotification
2018.04.25 00:11:03 4: XiaomiBTLESens (pla02) - ProcessingNotification: handle 0x35
2018.04.25 00:11:03 4: XiaomiBTLESens (pla02) - FlowerSens Handle0x35
2018.04.25 00:11:03 4: XiaomiBTLESens (pla02) - WriteReadings: Readings were written

2018.04.25 00:14:33 3: Sub XiaomiBTLESens_Undef (pla02) - delete device pla02
2018.04.25 00:14:33 3: Sub XiaomiBTLESens_Undef (pla01) - delete device pla01
2018.04.25 00:14:33 3: Sub XiaomiBTLESens_Undef (pla00) - delete device pla00

2018.04.25 00:14:42 3: XiaomiBTLESens (pla00) - defined with BTMAC C4:7C:8D:66:1C:4C
2018.04.25 00:14:42 3: XiaomiBTLESens (pla00) - set interval to 3600
2018.04.25 00:14:42 3: XiaomiBTLESens (pla01) - defined with BTMAC C4:7C:8D:66:1E:79
2018.04.25 00:14:42 3: XiaomiBTLESens (pla01) - set interval to 3600
2018.04.25 00:14:42 3: XiaomiBTLESens (pla02) - defined with BTMAC C4:7C:8D:66:20:C7
2018.04.25 00:14:42 3: XiaomiBTLESens (pla02) - set interval to 3600

Letztes Log des Devices:
2018-04-25_00:08:40 pla01 fertility: 0
2018-04-25_00:08:40 pla01 temperature: 24.3
2018-04-25_00:08:40 pla01 moisture: 0
2018-04-25_00:08:40 pla01 active
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 27 April 2018, 06:34:09
Es ist wieder passiert. Folgendes aus dem Log:

2018.04.25 00:08:36 4: XiaomiBTLESens (pla01) - Run CreateParamGatttool with mod: read
2018.04.25 00:08:36 5: XiaomiBTLESens (pla01) - Read XiaomiBTLESens_ExecGatttool_Run pla01|C4:7C:8D:66:1E:79|read|0x38
2018.04.25 00:08:36 4: XiaomiBTLESens (pla01) - stateRequestTimer: Call Request Timer
2018.04.25 00:08:37 5: XiaomiBTLESens (pla01) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:66:1E:79 --char-read -a 0x38 2>&1 /dev/null and loop 0
2018.04.25 00:08:39 5: XiaomiBTLESens (pla01) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,64 15 32 2e 37 2e 30

2018.04.25 00:08:39 4: XiaomiBTLESens (pla01) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,64 15 32 2e 37 2e 30

2018.04.25 00:08:39 5: XiaomiBTLESens (pla01) - ExecGatttool_Done: gatttool return string: pla01|C4:7C:8D:66:1E:79|ok|read|0x38|{"gtResult":"64 15 32 2e 37 2e 30 "}
2018.04.25 00:08:39 4: XiaomiBTLESens (pla01) - ProcessingNotification
2018.04.25 00:08:39 4: XiaomiBTLESens (pla01) - ProcessingNotification: handle 0x38
2018.04.25 00:08:39 4: XiaomiBTLESens (pla01) - FlowerSens Handle0x38
2018.04.25 00:08:39 4: XiaomiBTLESens (pla01) - WriteReadings: Readings were written
2018.04.25 00:08:39 4: XiaomiBTLESens (pla01) - Run CreateParamGatttool with mod: write
2018.04.25 00:08:39 5: XiaomiBTLESens (pla01) - Write XiaomiBTLESens_ExecGatttool_Run pla01|C4:7C:8D:66:1E:79|write|0x33|A01F
2018.04.25 00:08:39 5: XiaomiBTLESens (pla01) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:66:1E:79 --char-write-req -a 0x33 -n A01F 2>&1 /dev/null and loop 0
2018.04.25 00:08:39 5: XiaomiBTLESens (pla01) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully

2018.04.25 00:08:39 4: XiaomiBTLESens (pla01) - ExecGatttool_Run: gatttool result Characteristic value was written successfully

2018.04.25 00:08:39 5: XiaomiBTLESens (pla01) - ExecGatttool_Done: gatttool return string: pla01|C4:7C:8D:66:1E:79|ok|write|0x33|{"gtResult":"no data response"}
2018.04.25 00:08:39 4: XiaomiBTLESens (pla01) - Run CreateParamGatttool with mod: read
2018.04.25 00:08:39 5: XiaomiBTLESens (pla01) - Read XiaomiBTLESens_ExecGatttool_Run pla01|C4:7C:8D:66:1E:79|read|0x35
2018.04.25 00:08:40 5: XiaomiBTLESens (pla01) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:66:1E:79 --char-read -a 0x35 2>&1 /dev/null and loop 0
2018.04.25 00:08:40 5: XiaomiBTLESens (pla01) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,f3 00 00 5a 00 00 00 00 00 00 02 3c 00 fb 34 9b

2018.04.25 00:08:40 4: XiaomiBTLESens (pla01) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,f3 00 00 5a 00 00 00 00 00 00 02 3c 00 fb 34 9b

2018.04.25 00:08:40 5: XiaomiBTLESens (pla01) - ExecGatttool_Done: gatttool return string: pla01|C4:7C:8D:66:1E:79|ok|read|0x35|{"gtResult":"f3 00 00 5a 00 00 00 00 00 00 02 3c 00 fb 34 9b "}
2018.04.25 00:08:40 4: XiaomiBTLESens (pla01) - ProcessingNotification
2018.04.25 00:08:40 4: XiaomiBTLESens (pla01) - ProcessingNotification: handle 0x35
2018.04.25 00:08:40 4: XiaomiBTLESens (pla01) - FlowerSens Handle0x35
2018.04.25 00:08:40 4: XiaomiBTLESens (pla01) - WriteReadings: Readings were written
2018.04.25 00:08:45 3: Watchdog mod00_det_wd0 triggered
2018.04.25 00:08:45 3: scc00 IT_set: swt05 off
2018.04.25 00:08:47 4: XiaomiBTLESens (pla00) - Run CreateParamGatttool with mod: read
2018.04.25 00:08:47 5: XiaomiBTLESens (pla00) - Read XiaomiBTLESens_ExecGatttool_Run pla00|C4:7C:8D:66:1C:4C|read|0x38
2018.04.25 00:08:47 4: XiaomiBTLESens (pla00) - stateRequestTimer: Call Request Timer
2018.04.25 00:08:47 5: XiaomiBTLESens (pla00) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:66:1C:4C --char-read -a 0x38 2>&1 /dev/null and loop 0
2018.04.25 00:08:49 5: XiaomiBTLESens (pla00) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,61 15 32 2e 37 2e 30

2018.04.25 00:08:49 4: XiaomiBTLESens (pla00) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,61 15 32 2e 37 2e 30

2018.04.25 00:08:49 5: XiaomiBTLESens (pla00) - ExecGatttool_Done: gatttool return string: pla00|C4:7C:8D:66:1C:4C|ok|read|0x38|{"gtResult":"61 15 32 2e 37 2e 30 "}
2018.04.25 00:08:49 4: XiaomiBTLESens (pla00) - ProcessingNotification
2018.04.25 00:08:49 4: XiaomiBTLESens (pla00) - ProcessingNotification: handle 0x38
2018.04.25 00:08:49 4: XiaomiBTLESens (pla00) - FlowerSens Handle0x38
2018.04.25 00:08:49 4: XiaomiBTLESens (pla00) - WriteReadings: Readings were written
2018.04.25 00:08:49 4: XiaomiBTLESens (pla00) - Run CreateParamGatttool with mod: write
2018.04.25 00:08:49 5: XiaomiBTLESens (pla00) - Write XiaomiBTLESens_ExecGatttool_Run pla00|C4:7C:8D:66:1C:4C|write|0x33|A01F
2018.04.25 00:08:50 5: XiaomiBTLESens (pla00) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:66:1C:4C --char-write-req -a 0x33 -n A01F 2>&1 /dev/null and loop 0
2018.04.25 00:08:50 5: XiaomiBTLESens (pla00) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully

2018.04.25 00:08:50 4: XiaomiBTLESens (pla00) - ExecGatttool_Run: gatttool result Characteristic value was written successfully

2018.04.25 00:08:50 5: XiaomiBTLESens (pla00) - ExecGatttool_Done: gatttool return string: pla00|C4:7C:8D:66:1C:4C|ok|write|0x33|{"gtResult":"no data response"}
2018.04.25 00:08:50 4: XiaomiBTLESens (pla00) - Run CreateParamGatttool with mod: read
2018.04.25 00:08:50 5: XiaomiBTLESens (pla00) - Read XiaomiBTLESens_ExecGatttool_Run pla00|C4:7C:8D:66:1C:4C|read|0x35
2018.04.25 00:08:50 5: XiaomiBTLESens (pla00) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:66:1C:4C --char-read -a 0x35 2>&1 /dev/null and loop 0
2018.04.25 00:08:50 5: XiaomiBTLESens (pla00) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,fa 00 00 4c 00 00 00 00 00 00 02 3c 00 fb 34 9b

2018.04.25 00:08:50 4: XiaomiBTLESens (pla00) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,fa 00 00 4c 00 00 00 00 00 00 02 3c 00 fb 34 9b

2018.04.25 00:08:51 5: XiaomiBTLESens (pla00) - ExecGatttool_Done: gatttool return string: pla00|C4:7C:8D:66:1C:4C|ok|read|0x35|{"gtResult":"fa 00 00 4c 00 00 00 00 00 00 02 3c 00 fb 34 9b "}
2018.04.25 00:08:51 4: XiaomiBTLESens (pla00) - ProcessingNotification
2018.04.25 00:08:51 4: XiaomiBTLESens (pla00) - ProcessingNotification: handle 0x35
2018.04.25 00:08:51 4: XiaomiBTLESens (pla00) - FlowerSens Handle0x35
2018.04.25 00:08:51 4: XiaomiBTLESens (pla00) - WriteReadings: Readings were written
2018.04.25 00:11:00 4: XiaomiBTLESens (pla02) - Run CreateParamGatttool with mod: read
2018.04.25 00:11:00 5: XiaomiBTLESens (pla02) - Read XiaomiBTLESens_ExecGatttool_Run pla02|C4:7C:8D:66:20:C7|read|0x38
2018.04.25 00:11:00 4: XiaomiBTLESens (pla02) - stateRequestTimer: Call Request Timer
2018.04.25 00:11:00 5: XiaomiBTLESens (pla02) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:66:20:C7 --char-read -a 0x38 2>&1 /dev/null and loop 0
2018.04.25 00:11:02 5: XiaomiBTLESens (pla02) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,64 15 32 2e 37 2e 30

2018.04.25 00:11:02 4: XiaomiBTLESens (pla02) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,64 15 32 2e 37 2e 30

2018.04.25 00:11:02 5: XiaomiBTLESens (pla02) - ExecGatttool_Done: gatttool return string: pla02|C4:7C:8D:66:20:C7|ok|read|0x38|{"gtResult":"64 15 32 2e 37 2e 30 "}
2018.04.25 00:11:02 4: XiaomiBTLESens (pla02) - ProcessingNotification
2018.04.25 00:11:02 4: XiaomiBTLESens (pla02) - ProcessingNotification: handle 0x38
2018.04.25 00:11:02 4: XiaomiBTLESens (pla02) - FlowerSens Handle0x38
2018.04.25 00:11:02 4: XiaomiBTLESens (pla02) - WriteReadings: Readings were written
2018.04.25 00:11:02 4: XiaomiBTLESens (pla02) - Run CreateParamGatttool with mod: write
2018.04.25 00:11:02 5: XiaomiBTLESens (pla02) - Write XiaomiBTLESens_ExecGatttool_Run pla02|C4:7C:8D:66:20:C7|write|0x33|A01F
2018.04.25 00:11:03 5: XiaomiBTLESens (pla02) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:66:20:C7 --char-write-req -a 0x33 -n A01F 2>&1 /dev/null and loop 0
2018.04.25 00:11:03 5: XiaomiBTLESens (pla02) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully

2018.04.25 00:11:03 4: XiaomiBTLESens (pla02) - ExecGatttool_Run: gatttool result Characteristic value was written successfully

2018.04.25 00:11:03 5: XiaomiBTLESens (pla02) - ExecGatttool_Done: gatttool return string: pla02|C4:7C:8D:66:20:C7|ok|write|0x33|{"gtResult":"no data response"}
2018.04.25 00:11:03 4: XiaomiBTLESens (pla02) - Run CreateParamGatttool with mod: read
2018.04.25 00:11:03 5: XiaomiBTLESens (pla02) - Read XiaomiBTLESens_ExecGatttool_Run pla02|C4:7C:8D:66:20:C7|read|0x35
2018.04.25 00:11:03 5: XiaomiBTLESens (pla02) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:66:20:C7 --char-read -a 0x35 2>&1 /dev/null and loop 0
2018.04.25 00:11:03 5: XiaomiBTLESens (pla02) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,ee 00 00 52 00 00 00 00 02 00 02 3c 00 fb 34 9b

2018.04.25 00:11:03 4: XiaomiBTLESens (pla02) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,ee 00 00 52 00 00 00 00 02 00 02 3c 00 fb 34 9b

2018.04.25 00:11:03 5: XiaomiBTLESens (pla02) - ExecGatttool_Done: gatttool return string: pla02|C4:7C:8D:66:20:C7|ok|read|0x35|{"gtResult":"ee 00 00 52 00 00 00 00 02 00 02 3c 00 fb 34 9b "}
2018.04.25 00:11:03 4: XiaomiBTLESens (pla02) - ProcessingNotification
2018.04.25 00:11:03 4: XiaomiBTLESens (pla02) - ProcessingNotification: handle 0x35
2018.04.25 00:11:03 4: XiaomiBTLESens (pla02) - FlowerSens Handle0x35
2018.04.25 00:11:03 4: XiaomiBTLESens (pla02) - WriteReadings: Readings were written

2018.04.25 00:14:33 3: Sub XiaomiBTLESens_Undef (pla02) - delete device pla02
2018.04.25 00:14:33 3: Sub XiaomiBTLESens_Undef (pla01) - delete device pla01
2018.04.25 00:14:33 3: Sub XiaomiBTLESens_Undef (pla00) - delete device pla00

2018.04.25 00:14:42 3: XiaomiBTLESens (pla00) - defined with BTMAC C4:7C:8D:66:1C:4C
2018.04.25 00:14:42 3: XiaomiBTLESens (pla00) - set interval to 3600
2018.04.25 00:14:42 3: XiaomiBTLESens (pla01) - defined with BTMAC C4:7C:8D:66:1E:79
2018.04.25 00:14:42 3: XiaomiBTLESens (pla01) - set interval to 3600
2018.04.25 00:14:42 3: XiaomiBTLESens (pla02) - defined with BTMAC C4:7C:8D:66:20:C7
2018.04.25 00:14:42 3: XiaomiBTLESens (pla02) - set interval to 3600

Letztes Log des Devices:
2018-04-25_00:08:40 pla01 fertility: 0
2018-04-25_00:08:40 pla01 temperature: 24.3
2018-04-25_00:08:40 pla01 moisture: 0
2018-04-25_00:08:40 pla01 active

Guten Morgen,

Er scheint in der Tat falsche Werte zu bekommen. Ich kann mir aber nicht erklären wieso, denn das Schreiben funktioniert und er darf korrekt lesen.
Ich empfehle Dir ein Firmware-Update zu machen. Musste feststellen das mit jeder neueren Version das auslesen immer besser wurde, oder zu mindest die Fehlerbehandlung sauberer vom Modul abgefangen wurde.
Dies hilft natürlich nicht bei Reichweitenprobleme aber die hast du ja auch nicht.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 27 April 2018, 06:37:58
Hallo Leon!

Meine 7 Flower Sensoren laufen derzeit auf einer Ubuntu VM mit einem externem BT-Stick. Nachdem ich ab und zu Probleme mit der Reichweite des Sticks habe, hab ich mir einen Raspi 3+ geholt der auf dem Balkon kommen soll.
Der Pi ist heute angekommen, bei der Inbetriebnahme der Sensoren habe ich aber einige Probleme.
Ich hab die Installations-Prozedur jetzt 2x durch, bei der 2. Installation hab dann ich irgendwann angefangen den Beitrag zu schreiben um so alles genau mitzudokumentieren.

Nach der ersten Installation von raspbian hab ich mit hcitool lescan die Sensoren gleich gefunden. Dann FHEM und MQTT installiert und meine 7 Sensoren eingebunden (Copy+Paste der 7 Definitionen aus und in die fhem.cfg). Das erste abrufen hat geklappt, nach einem manuellen update kam schon der error (Invalid argument (22). Anschließend hab ich viel versucht und anscheinend das Systen kaputt konfiguriert. Gut nochmal von vorne, jetzt aber geziel. ;)

Nach der 2. Installation von raspbian funktioninert hcitool lescan ohne Probleme. 2-3x getestet. Anschließend wieder FHEM laut Debian Anleitung mit apt-get installiert und 5 Sensoren definiert. Wieder nach ein paar Sekunden der gleiche Fehler wie oben. In der Konsole bekomme ich jetzt den Fehler Disable scan failed: Input/output error Anschließend hab ich alle 5 Devices gelöscht, google angeschmissen und das gefunden. https://stackoverflow.com/questions/22062037/hcitool-lescan-shows-i-o-error
Also das in der Konsole eingegeben
hciconfig hci0 down
hciconfig hci0 up
und jetzt funktioniert es auch wieder aus der Konsole. 5-10 Minuten gewartet, immer wieder erneut versucht. Keine Probleme. Anschließend hab ich dann langsam Stück für Stück 5 der 7 Sensoren in der Web-UI definiert, immer wieder ausprobiert, gespeichert und NICHT neugestartet. Abrufen klappt aus FHEM und der Konsole.
Jetzt starte ich FHEM neu, 1-2 Sensoren gehen auf active, der rest error (Invalid argument (22)). In der Konsole bekomme ich jetzt nach ein paar Scans auch wieder den Fehler Disable scan failed: Input/output errorDie Prozedur nachdem ich hciconfig hci0 ... eingegeben habe, habe ich jetzt 2x wiederholt. Immer mit dem selben Ergebnis. Sobald FHEM und ein neustart ins spiel kommen, fängt hcitool zu zicken an. Beim 2. mal nachstellen hat das Empfangen des ersten Sensors länger gedauert als das empfangen des 2. Sensors. Der 2. Sensor war active, der 1. anschließend gleich mal auf error, ohne neustart.

Ich hab auch auf der Ubuntu-VM alle paar Tage Probleme die Sensoren zu empfangen. Den Fehler kann ich falls gewünscht nachreichen könnte aber "charWrite faild" sein, bin mir aber nicht sicher. Ein neustart von FHEM hilft da nicht mehr, ich muss die komplette Maschine neustarten. Das war unteranderem ein Grund auf den Pi zu wechseln ;)

Kannst du dir das ganze erklären? Falls du verbose 5 Logs benötigst, sag bescheid.

Danke & Grüße

Edit:
hcitool in der konsole funktioniert eigenartigerweise noch, in FHEM aber Invalid argument (22)

Hallo,

Bei Dir müsste ich ein bisschen drüber Nachdenken. Leider habe ich nicht wirklich eine Ahnung. Ich habe gehört das es oft Probleme mit BT und dem Raspi 3 geben soll. Du kannst zu Testzwecken versuchen einen BT Stick zu nehmen statt des internen.
Das hcitool funktioniert und das Modul nicht hat nichts miteinander zu tun, wenn du sauber testen willst musst du den gatttool Befehl ausführen.



Grüße
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: majestro84 am 27 April 2018, 22:47:17
So ich habe meine Thermometer nun alle verbunden soweit läuft es auch nur bekomme ich des öfteren diesen Fehler.
lastGattError   charWrite faild

Was kann ich sagen unternehmen?



Gesendet von meinem Redmi Note 4 mit Tapatalk

Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 28 April 2018, 01:58:15
Da brauche ich wenn bitte ein verbose 5 Log.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 29 April 2018, 12:29:47
Hier Mal ein Auszug aus dem log

2018-04-29_08:13:19 K_Abstellraum_Temperatur active 2018-04-29_08:18:10 K_Abstellraum_Temperatur write sensor data
2018-04-29_08:18:21 K_Abstellraum_Temperatur temperature: 21.7
2018-04-29_08:18:21 K_Abstellraum_Temperatur humidity: 48.1
2018-04-29_08:18:21 K_Abstellraum_Temperatur active 2018-04-29_08:23:32 K_Abstellraum_Temperatur write sensor data
2018-04-29_08:23:41 K_Abstellraum_Temperatur lastGattError: charWrite faild
2018-04-29_08:23:41 K_Abstellraum_Temperatur error 2018-04-29_08:23:41 K_Abstellraum_Temperatur active 2018-04-29_08:29:50 K_Abstellraum_Temperatur write sensor data
2018-04-29_08:29:56 K_Abstellraum_Temperatur lastGattError: charWrite faild
2018-04-29_08:29:56 K_Abstellraum_Temperatur error 2018-04-29_08:29:56 K_Abstellraum_Temperatur active 2018-04-29_08:35:44 K_Abstellraum_Temperatur write sensor data
2018-04-29_08:35:49 K_Abstellraum_Temperatur lastGattError: charWrite faild
2018-04-29_08:35:49 K_Abstellraum_Temperatur error 2018-04-29_08:35:49 K_Abstellraum_Temperatur active 2018-04-29_08:41:46 K_Abstellraum_Temperatur write sensor data
2018-04-29_08:42:33 K_Abstellraum_Temperatur lastGattError: Transport endpoint is not connected (107) 2018-04-29_08:42:33 K_Abstellraum_Temperatur error 2018-04-29_08:47:26 K_Abstellraum_Temperatur write sensor data
2018-04-29_08:48:11 K_Abstellraum_Temperatur lastGattError: Transport endpoint is not connected (107) 2018-04-29_08:48:11 K_Abstellraum_Temperatur error 2018-04-29_08:53:09 K_Abstellraum_Temperatur write sensor data
2018-04-29_08:53:24 K_Abstellraum_Temperatur lastGattError: charWrite faild
2018-04-29_08:53:24 K_Abstellraum_Temperatur error 2018-04-29_08:53:24 K_Abstellraum_Temperatur active 2018-04-29_08:58:19 K_Abstellraum_Temperatur write sensor data
2018-04-29_08:58:29 K_Abstellraum_Temperatur temperature: 21.6
2018-04-29_08:58:29 K_Abstellraum_Temperatur humidity: 46.3
2018-04-29_08:58:29 K_Abstellraum_Temperatur active

Vielleicht kannst du da was mit anfangen.
Danke schon mal im voraus.
Schönen Sonntag noch

Gesendet von meinem Redmi Note 4 mit Tapatalk
Das ist ein Device Log ich brauche bitte fhem Log
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: majestro84 am 29 April 2018, 13:03:12
Sorry mein Fehler hier das FHEM log.

2018.04.29 08:47:26 4: XiaomiBTLESens (K_Abstellraum_Temperatur) - Run CreateParamGatttool with mod: write
2018.04.29 08:47:26 5: XiaomiBTLESens (K_Abstellraum_Temperatur) - Write XiaomiBTLESens_ExecGatttool_Run K_Abstellraum_Temperatur|4C:65:A8:D3:EF:EE|write|0x10|0100
2018.04.29 08:47:26 4: XiaomiBTLESens (K_Abstellraum_Temperatur) - stateRequestTimer: Call Request Timer
2018.04.29 08:47:26 5: XiaomiBTLESens (K_Abstellraum_Temperatur) - ExecGatttool_Run: call gatttool with command: timeout 10 gatttool -i hci0 -b 4C:65:A8:D3:EF:EE --char-write-req -a 0x10 -n 0100 --listen 2>&1 /dev/null and loop 0
2018.04.29 08:47:36 5: XiaomiBTLESens (K_Abstellraum_Temperatur) - ExecGatttool_Run: gatttool loop result
2018.04.29 08:47:36 5: XiaomiBTLESens (K_Abstellraum_Temperatur) - ExecGatttool_Run: call gatttool with command: timeout 10 gatttool -i hci0 -b 4C:65:A8:D3:EF:EE --char-write-req -a 0x10 -n 0100 --listen 2>&1 /dev/null and loop 1
2018.04.29 08:47:46 5: XiaomiBTLESens (K_Abstellraum_Temperatur) - ExecGatttool_Run: gatttool loop result
2018.04.29 08:47:46 5: XiaomiBTLESens (K_Abstellraum_Temperatur) - ExecGatttool_Run: call gatttool with command: timeout 10 gatttool -i hci0 -b 4C:65:A8:D3:EF:EE --char-write-req -a 0x10 -n 0100 --listen 2>&1 /dev/null and loop 2
2018.04.29 08:47:56 5: XiaomiBTLESens (K_Abstellraum_Temperatur) - ExecGatttool_Run: gatttool loop result
2018.04.29 08:47:56 5: XiaomiBTLESens (K_Abstellraum_Temperatur) - ExecGatttool_Run: call gatttool with command: timeout 10 gatttool -i hci0 -b 4C:65:A8:D3:EF:EE --char-write-req -a 0x10 -n 0100 --listen 2>&1 /dev/null and loop 3
2018.04.29 08:48:06 5: XiaomiBTLESens (K_Abstellraum_Temperatur) - ExecGatttool_Run: gatttool loop result
2018.04.29 08:48:06 5: XiaomiBTLESens (K_Abstellraum_Temperatur) - ExecGatttool_Run: call gatttool with command: timeout 10 gatttool -i hci0 -b 4C:65:A8:D3:EF:EE --char-write-req -a 0x10 -n 0100 --listen 2>&1 /dev/null and loop 4
2018.04.29 08:48:10 5: XiaomiBTLESens (K_Abstellraum_Temperatur) - ExecGatttool_Run: gatttool loop result connect error,Transport endpoint is not connected (107)

2018.04.29 08:48:10 4: XiaomiBTLESens (K_Abstellraum_Temperatur) - ExecGatttool_Run: gatttool result connect error,Transport endpoint is not connected (107)

2018.04.29 08:48:11 5: XiaomiBTLESens (K_Abstellraum_Temperatur) - ExecGatttool_Done: gatttool return string: K_Abstellraum_Temperatur|4C:65:A8:D3:EF:EE|error|write|0x10|{"gtResult":"Transport endpoint is not connected (107)"}
2018.04.29 08:48:11 4: XiaomiBTLESens (K_Abstellraum_Temperatur) - ProcessingErrors
2018.04.29 08:48:11 4: XiaomiBTLESens (K_Abstellraum_Temperatur) - WriteReadings: Readings were written
2018.04.29 08:53:09 4: XiaomiBTLESens (K_Abstellraum_Temperatur) - Run CreateParamGatttool with mod: write
2018.04.29 08:53:09 5: XiaomiBTLESens (K_Abstellraum_Temperatur) - Write XiaomiBTLESens_ExecGatttool_Run K_Abstellraum_Temperatur|4C:65:A8:D3:EF:EE|write|0x10|0100
2018.04.29 08:53:09 4: XiaomiBTLESens (K_Abstellraum_Temperatur) - stateRequestTimer: Call Request Timer
2018.04.29 08:53:09 5: XiaomiBTLESens (K_Abstellraum_Temperatur) - ExecGatttool_Run: call gatttool with command: timeout 10 gatttool -i hci0 -b 4C:65:A8:D3:EF:EE --char-write-req -a 0x10 -n 0100 --listen 2>&1 /dev/null and loop 0
2018.04.29 08:53:19 5: XiaomiBTLESens (K_Abstellraum_Temperatur) - ExecGatttool_Run: gatttool loop result
2018.04.29 08:53:19 5: XiaomiBTLESens (K_Abstellraum_Temperatur) - ExecGatttool_Run: call gatttool with command: timeout 10 gatttool -i hci0 -b 4C:65:A8:D3:EF:EE --char-write-req -a 0x10 -n 0100 --listen 2>&1 /dev/null and loop 1
2018.04.29 08:53:22 5: XiaomiBTLESens (K_Abstellraum_Temperatur) - ExecGatttool_Run: gatttool loop result connect error,Transport endpoint is not connected (107)
2018.04.29 08:53:22 5: XiaomiBTLESens (K_Abstellraum_Temperatur) - ExecGatttool_Run: call gatttool with command: timeout 10 gatttool -i hci0 -b 4C:65:A8:D3:EF:EE --char-write-req -a 0x10 -n 0100 --listen 2>&1 /dev/null and loop 2
2018.04.29 08:53:24 5: XiaomiBTLESens (K_Abstellraum_Temperatur) - ExecGatttool_Run: gatttool loop result connect error,Software caused connection abort (103)
2018.04.29 08:53:24 5: XiaomiBTLESens (K_Abstellraum_Temperatur) - ExecGatttool_Run: call gatttool with command: timeout 10 gatttool -i hci0 -b 4C:65:A8:D3:EF:EE --char-write-req -a 0x10 -n 0100 --listen 2>&1 /dev/null and loop 3
2018.04.29 08:53:24 5: XiaomiBTLESens (K_Abstellraum_Temperatur) - ExecGatttool_Run: gatttool loop result connect,No route to host (113)
2018.04.29 08:53:24 4: XiaomiBTLESens (K_Abstellraum_Temperatur) - ExecGatttool_Run: gatttool result connect,No route to host (113)
2018.04.29 08:53:24 5: XiaomiBTLESens (K_Abstellraum_Temperatur) - ExecGatttool_Done: gatttool return string: K_Abstellraum_Temperatur|4C:65:A8:D3:EF:EE|ok|write|0x10|{"gtResult":"No route to host (113)"}
2018.04.29 08:53:24 4: XiaomiBTLESens (K_Abstellraum_Temperatur) - ProcessingNotification
2018.04.29 08:53:24 4: XiaomiBTLESens (K_Abstellraum_Temperatur) - ProcessingNotification: handle 0x10
2018.04.29 08:53:24 4: XiaomiBTLESens (K_Abstellraum_Temperatur) - Thermo/Hygro Sens Handle0x10
2018.04.29 08:53:24 4: XiaomiBTLESens (K_Abstellraum_Temperatur) - WriteReadings: Readings were written
2018.04.29 08:53:24 4: XiaomiBTLESens (K_Abstellraum_Temperatur) - WriteReadings: Readings were written
2018.04.29 08:58:19 4: XiaomiBTLESens (K_Abstellraum_Temperatur) - Run CreateParamGatttool with mod: write
2018.04.29 08:58:19 5: XiaomiBTLESens (K_Abstellraum_Temperatur) - Write XiaomiBTLESens_ExecGatttool_Run K_Abstellraum_Temperatur|4C:65:A8:D3:EF:EE|write|0x10|0100
2018.04.29 08:58:19 4: XiaomiBTLESens (K_Abstellraum_Temperatur) - stateRequestTimer: Call Request Timer
2018.04.29 08:58:19 5: XiaomiBTLESens (K_Abstellraum_Temperatur) - ExecGatttool_Run: call gatttool with command: timeout 10 gatttool -i hci0 -b 4C:65:A8:D3:EF:EE --char-write-req -a 0x10 -n 0100 --listen 2>&1 /dev/null and loop 0
2018.04.29 08:58:21 3: ENIGMA2 WZ_Receiver: ERROR: Unable to read tv bouquet '1:7:1:0:0:0:0:0:0:0:FROM BOUQUET "userbouquet.dbe09.tv" ORDER BY bouquet' from device
2018.04.29 08:58:29 5: XiaomiBTLESens (K_Abstellraum_Temperatur) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully
Notification handle = 0x000e value,54 3d 32 31 2e 36 20 48 3d 34 36 2e 33 00
Notification handle = 0x000e value,54 3d 32 31 2e 36 20 48 3d 34 36 2e 32 00
Notification handle = 0x000e value,54 3d 32 31 2e 36 20 48 3d 34 36 2e 35 00
Notification handle = 0x000e value,54 3d 32 31 2e 36 20 48 3d 34 36 2e 34 00

2018.04.29 08:58:29 4: XiaomiBTLESens (K_Abstellraum_Temperatur) - ExecGatttool_Run: gatttool result Characteristic value was written successfully
Notification handle = 0x000e value,54 3d 32 31 2e 36 20 48 3d 34 36 2e 33 00
Notification handle = 0x000e value,54 3d 32 31 2e 36 20 48 3d 34 36 2e 32 00
Notification handle = 0x000e value,54 3d 32 31 2e 36 20 48 3d 34 36 2e 35 00
Notification handle = 0x000e value,54 3d 32 31 2e 36 20 48 3d 34 36 2e 34 00

2018.04.29 08:58:29 5: XiaomiBTLESens (K_Abstellraum_Temperatur) - ExecGatttool_Done: gatttool return string: K_Abstellraum_Temperatur|4C:65:A8:D3:EF:EE|ok|write|0x10|{"gtResult":"54 3d 32 31 2e 36 20 48 3d 34 36 2e 33 00 "}
2018.04.29 08:58:29 4: XiaomiBTLESens (K_Abstellraum_Temperatur) - ProcessingNotification
2018.04.29 08:58:29 4: XiaomiBTLESens (K_Abstellraum_Temperatur) - ProcessingNotification: handle 0x10
2018.04.29 08:58:29 4: XiaomiBTLESens (K_Abstellraum_Temperatur) - Thermo/Hygro Sens Handle0x10
2018.04.29 08:58:29 4: XiaomiBTLESens (K_Abstellraum_Temperatur) - WriteReadings: Readings were written
2018.04.29 09:03:46 4: XiaomiBTLESens (K_Abstellraum_Temperatur) - Run CreateParamGatttool with mod: write
2018.04.29 09:03:46 5: XiaomiBTLESens (K_Abstellraum_Temperatur) - Write XiaomiBTLESens_ExecGatttool_Run K_Abstellraum_Temperatur|4C:65:A8:D3:EF:EE|write|0x10|0100
2018.04.29 09:03:46 4: XiaomiBTLESens (K_Abstellraum_Temperatur) - stateRequestTimer: Call Request Timer
2018.04.29 09:03:46 5: XiaomiBTLESens (K_Abstellraum_Temperatur) - ExecGatttool_Run: call gatttool with command: timeout 10 gatttool -i hci0 -b 4C:65:A8:D3:EF:EE --char-write-req -a 0x10 -n 0100 --listen 2>&1 /dev/null and loop 0
2018.04.29 09:03:48 5: XiaomiBTLESens (K_Abstellraum_Temperatur) - ExecGatttool_Run: gatttool loop result connect error,Transport endpoint is not connected (107)

2018.04.29 09:03:48 5: XiaomiBTLESens (K_Abstellraum_Temperatur) - ExecGatttool_Run: call gatttool with command: timeout 10 gatttool -i hci0 -b 4C:65:A8:D3:EF:EE --char-write-req -a 0x10 -n 0100 --listen 2>&1 /dev/null and loop 1
2018.04.29 09:03:49 5: XiaomiBTLESens (K_Abstellraum_Temperatur) - ExecGatttool_Run: gatttool loop result connect error,Software caused connection abort (103)

2018.04.29 09:03:49 5: XiaomiBTLESens (K_Abstellraum_Temperatur) - ExecGatttool_Run: call gatttool with command: timeout 10 gatttool -i hci0 -b 4C:65:A8:D3:EF:EE --char-write-req -a 0x10 -n 0100 --listen 2>&1 /dev/null and loop 2
2018.04.29 09:03:49 5: XiaomiBTLESens (K_Abstellraum_Temperatur) - ExecGatttool_Run: gatttool loop result connect,No route to host (113)

2018.04.29 09:03:49 4: XiaomiBTLESens (K_Abstellraum_Temperatur) - ExecGatttool_Run: gatttool result connect,No route to host (113)

2018.04.29 09:03:49 5: XiaomiBTLESens (K_Abstellraum_Temperatur) - ExecGatttool_Done: gatttool return string: K_Abstellraum_Temperatur|4C:65:A8:D3:EF:EE|ok|write|0x10|{"gtResult":"No route to host (113)"}
2018.04.29 09:03:49 4: XiaomiBTLESens (K_Abstellraum_Temperatur) - ProcessingNotification
2018.04.29 09:03:49 4: XiaomiBTLESens (K_Abstellraum_Temperatur) - ProcessingNotification: handle 0x10
2018.04.29 09:03:49 4: XiaomiBTLESens (K_Abstellraum_Temperatur) - Thermo/Hygro Sens Handle0x10
2018.04.29 09:03:49 4: XiaomiBTLESens (K_Abstellraum_Temperatur) - WriteReadings: Readings were written
2018.04.29 09:03:49 4: XiaomiBTLESens (K_Abstellraum_Temperatur) - WriteReadings: Readings were written
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Steffen am 29 April 2018, 18:40:29
Hallo!

Habe seit einem Upgrade Stretch auf einmal nur Probleme mit den Modulen die mit Bluetooth zusammen hängen und jetzt hier auch mit diesen.

Vielleicht habt ihr ja eine Idee was es sein könnte:

2018.04.29 18:30:37 3: XiaomiBTLESens (TestPflanze) - defined with BTMAC C4:7C:8D:66:17:03
2018.04.29 18:32:07 1: Timeout for XiaomiBTLESens_ExecGatttool_Run reached, terminated process 6585
2018.04.29 18:32:12 3: XiaomiBTLESens (TestPflanze) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.04.29 18:32:13 3: XiaomiBTLESens (TestPflanze) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.04.29 18:32:14 3: XiaomiBTLESens (TestPflanze) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.04.29 18:32:15 3: XiaomiBTLESens (TestPflanze) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.04.29 18:32:17 3: XiaomiBTLESens (TestPflanze) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.04.29 18:32:18 3: XiaomiBTLESens (TestPflanze) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.04.29 18:32:19 3: XiaomiBTLESens (TestPflanze) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.04.29 18:32:20 3: XiaomiBTLESens (TestPflanze) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.04.29 18:32:21 3: XiaomiBTLESens (TestPflanze) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.04.29 18:32:22 3: XiaomiBTLESens (TestPflanze) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.04.29 18:32:23 3: XiaomiBTLESens (TestPflanze) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.04.29 18:32:24 3: XiaomiBTLESens (TestPflanze) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.04.29 18:32:25 3: XiaomiBTLESens (TestPflanze) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.04.29 18:32:26 3: XiaomiBTLESens (TestPflanze) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.04.29 18:32:28 3: XiaomiBTLESens (TestPflanze) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.04.29 18:32:29 3: XiaomiBTLESens (TestPflanze) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.04.29 18:32:30 3: XiaomiBTLESens (TestPflanze) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.04.29 18:32:31 3: XiaomiBTLESens (TestPflanze) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.04.29 18:32:32 3: XiaomiBTLESens (TestPflanze) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.04.29 18:32:33 3: XiaomiBTLESens (TestPflanze) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.04.29 18:32:34 3: XiaomiBTLESens (TestPflanze) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.04.29 18:32:35 3: XiaomiBTLESens (TestPflanze) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.04.29 18:32:36 3: XiaomiBTLESens (TestPflanze) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.04.29 18:32:37 3: XiaomiBTLESens (TestPflanze) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.04.29 18:32:38 3: XiaomiBTLESens (TestPflanze) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.04.29 18:32:39 3: XiaomiBTLESens (TestPflanze) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.04.29 18:32:41 3: XiaomiBTLESens (TestPflanze) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.04.29 18:33:42 1: Timeout for XiaomiBTLESens_ExecGatttool_Run reached, terminated process 6667
2018.04.29 18:37:59 1: Timeout for XiaomiBTLESens_ExecGatttool_Run reached, terminated process 6913

Mfg Steffen
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 29 April 2018, 18:45:18
Da scheint schon ein gatttool Prozess zu laufen.
list vom Device und mach mal ein
ps ax | grep gatttool
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Steffen am 29 April 2018, 19:02:18
Hallo!

Ok du scheinst recht zu haben, aber es bleibt so auch wenn ich das ganze System neu starte aber hier mal die weiteren Infos:

root@happyfamilyserver:~# ps ax | grep gatttool
 7895 ?        S      0:00 sh -c gatttool -i hci0 -b C4:7C:8D:66:17:03 --char-read -a 0x38 2>&1 /dev/null
 7896 ?        S      0:00 gatttool -i hci0 -b C4:7C:8D:66:17:03 --char-read -a 0x38 /dev/null
 7909 pts/0    S+     0:00 grep gatttool
root@happyfamilyserver:~#

Internals:
   BTMAC      C4:7C:8D:66:17:03
   CHANGED   
   DEF        C4:7C:8D:66:17:03
   INTERVAL   300
   NAME       TestPflanze
   NOTIFYDEV  global,TestPflanze
   NR         234
   NTFY_ORDER 50-TestPflanze
   STATE      32
   TYPE       XiaomiBTLESens
   VERSION    2.0.12
   loglevel   4
   READINGS:
     2018-04-28 10:30:14   battery         ok
     2018-04-28 10:30:14   batteryLevel    99
     2018-04-28 11:14:39   fertility       0
     2018-04-28 10:30:14   firmware        3.1.8
     2018-04-29 18:57:11   lastGattError   The BlockingCall Process terminated unexpectedly. Timedout
     2018-04-28 11:14:39   lux             27476
     2018-04-28 11:14:39   moisture        1
     2018-04-29 18:59:32   state           read sensor data
     2018-04-28 11:14:39   temperature     32
   helper:
     CallBattery 0
     CallSensDataCounter 0
     updateTimeCallBattery 0
     RUNNING_PID:
       abortFn    XiaomiBTLESens_ExecGatttool_Aborted
       arg        TestPflanze|C4:7C:8D:66:17:03|read|0x38
       bc_pid     48
       finishFn   XiaomiBTLESens_ExecGatttool_Done
       fn         XiaomiBTLESens_ExecGatttool_Run
       pid        8011
       telnet     telnetForBlockingFn_1525018483.13791_127.0.0.1_37632
       timeout    90
       abortArg:
Attributes:
   event-on-update-reading fertility,moisture,temperature
   model      flowerSens
   room       Balkon,XiaomiBTLESens
   stateFormat temperature

es hatte aber vor dem upgrade aber gut Funktioniert deswege habe ich kein Plan wo ich da noch ansetzten kann?!?

Mfg Steffen
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 29 April 2018, 19:12:40
Setze mal alles auf disable und warte 2min, danach noch mal mit ps schauen
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Steffen am 29 April 2018, 19:47:04
Hallo!

Mit disable 1 :
root@happyfamilyserver:~# ps ax | grep gatttool
10262 pts/0    S+     0:00 grep gatttool
root@happyfamilyserver:~#ps -ax
9950 ?        S<     0:00 [hci0]
9951 ?        S<     0:00 [hci0]
9955 ?        Ss     0:00 /usr/lib/bluetooth/bluetoothd

ohne disable :

root@happyfamilyserver:~# ps ax | grep gatttool
10386 ?        S      0:00 sh -c gatttool -i hci0 -b C4:7C:8D:66:17:03 --char-read -a 0x38 2>&1 /dev/null
10387 ?        S      0:00 gatttool -i hci0 -b C4:7C:8D:66:17:03 --char-read -a 0x38 /dev/null
10399 pts/0    S+     0:00 grep gatttool
root@happyfamilyserver:~#

kannst du was erkennen???

Mfg Steffen
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 29 April 2018, 20:39:26
Jetzt bitte noch mal ps
Will sehen ob der Prozess stehen bleibt oder ein neuer entsteht.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Steffen am 29 April 2018, 20:50:19
meinst du so?
root@happyfamilyserver:~# ps
  PID TTY          TIME CMD
 7384 pts/0    00:00:00 bash
 7463 pts/0    00:00:00 ps
root@happyfamilyserver:~#

wenn ja dann ist diese Ausgabe ob mit ohne "disable"!

Mfg Steffen
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 29 April 2018, 21:12:02
Gatttool scheint also auch sauber beendet zu werden. Wie oft hast du diese Einträge, kommen überhaupt saubere Werte?
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Steffen am 30 April 2018, 20:44:23
Gatttool scheint also auch sauber beendet zu werden. Wie oft hast du diese Einträge, kommen überhaupt saubere Werte?

Vor dem Upgrade auf Stretch lief es wirklich gut und hatte immer saubere werte, nach dem Upgrade kam hier und da was an aber seit dem 28.04 kommt nichts mehr an.

Bei PLAYBULB war gleich nach dem Upgrade Schluss und es kam gar nichts mehr an.

Ich vermute es hat was mit dem Gattool zu tun aber kenne mich zu wenig in dieser Richtung aus, deswegen hoffte ich hier auf Hilfe?!

Mfg Steffen
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 30 April 2018, 22:21:16
Playbulb funktioniert in der Tat nicht mehr mit dem aktuellen gatttool. BTLESens sollte aber funktionieren.
Kannst Du das Mal bitte in der Konsole eingeben
gatttool -i hci0 -b C4:7C:8D:66:17:03 --char-read -a 0x38
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Steffen am 01 Mai 2018, 07:35:41
Hallo!

Jetzt habe ich glaube ich den Fehler gefunden, den es scheint ein Reichweiten Problem zu sein denn sobald ich ich den Flower-Sensor nach innen hole bekommt er die Daten.

Was aber komisch ist den zum einen sind das nicht mal 5m bis zum Balkon direkt durch riesige Terrassen Fenster und ohne Wände und zum anderen war das nicht so vor dem Upgrade.

Kann das was mit dem Upgrade zu tun haben das damit die Sendeleistung vom Usb Dongle beeinflusst wird? Könnte man irgendwie die Sendeleistung erhöhen?

Könnte jemand eine USB-Bluetooth Stick empfehlen der eine gute Reichweite hat?

Mfg Steffen
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: majestro84 am 02 Mai 2018, 20:28:22
Hallo

Habe mal einen Sensor Dichter an den Dongle gepackt. Er bekommt relativ häufig Werte allerdings kommen zwischen durch auch immer diese Fehler.

2018.05.02 20:15:30 4: XiaomiBTLESens (F_Temperatur) - Run CreateParamGatttool with mod: write 2018.05.02 20:15:30 5: XiaomiBTLESens (F_Temperatur) - Write XiaomiBTLESens_ExecGatttool_Run F_Temperatur|4C:65:A8:D3:F4:47|write|0x10|0100 2018.05.02 20:15:30 4: XiaomiBTLESens (F_Temperatur) - stateRequestTimer: Call Request Timer 2018.05.02 20:15:31 5: XiaomiBTLESens (F_Temperatur) - ExecGatttool_Run: call gatttool with command: timeout 10 gatttool -i hci0 -b 4C:65:A8:D3:F4:47 --char-write-req -a 0x10 -n 0100 --listen 2>&1 /dev/null and loop 0 2018.05.02 20:15:37 5: XiaomiBTLESens (F_Temperatur) - ExecGatttool_Run: gatttool loop result connect error,Transport endpoint is not connected (107) 2018.05.02 20:15:37 5: XiaomiBTLESens (F_Temperatur) - ExecGatttool_Run: call gatttool with command: timeout 10 gatttool -i hci0 -b 4C:65:A8:D3:F4:47 --char-write-req -a 0x10 -n 0100 --listen 2>&1 /dev/null and loop 1 2018.05.02 20:15:38 5: XiaomiBTLESens (F_Temperatur) - ExecGatttool_Run: gatttool loop result connect error,Software caused connection abort (103) 2018.05.02 20:15:38 5: XiaomiBTLESens (F_Temperatur) - ExecGatttool_Run: call gatttool with command: timeout 10 gatttool -i hci0 -b 4C:65:A8:D3:F4:47 --char-write-req -a 0x10 -n 0100 --listen 2>&1 /dev/null and loop 2 2018.05.02 20:15:38 5: XiaomiBTLESens (F_Temperatur) - ExecGatttool_Run: gatttool loop result connect,No route to host (113) 2018.05.02 20:15:38 4: XiaomiBTLESens (F_Temperatur) - ExecGatttool_Run: gatttool result connect,No route to host (113) 2018.05.02 20:15:39 5: XiaomiBTLESens (F_Temperatur) - ExecGatttool_Done: gatttool return string: F_Temperatur|4C:65:A8:D3:F4:47|ok|write|0x10|{"gtResult":"No route to host (113)"} 2018.05.02 20:15:39 4: XiaomiBTLESens (F_Temperatur) - ProcessingNotification 2018.05.02 20:15:39 4: XiaomiBTLESens (F_Temperatur) - ProcessingNotification: handle 0x10 2018.05.02 20:15:39 4: XiaomiBTLESens (F_Temperatur) - Thermo/Hygro Sens Handle0x10 2018.05.02 20:15:39 4: XiaomiBTLESens (F_Temperatur) - WriteReadings: Readings were written 2018.05.02 20:15:39 4: XiaomiBTLESens (F_Temperatur) - WriteReadings: Readings were written
Was kann ich da machen um diese Fehler weg zubekommen?

Danke schonmal für die Hilfe
Gruß Alex

Gesendet von meinem Redmi Note 4 mit Tapatalk

Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: mark79 am 02 Mai 2018, 22:12:37
Könnte jemand eine USB-Bluetooth Stick empfehlen der eine gute Reichweite hat?

Das würde mich auch interessieren.. Habe seit neusten auch Probleme mit der Reichweite und habe schon überlegt, eine Antenne an den BT Stick dran zu basteln. :D

Zuerst hatte ich nur ein Flower Sensor, der lief über Monate zuverlässig, obwohl manchmal auch ein Char write failed in den Readings auftauchte, aber die Daten kamen trotzdem regelmäßig rein.

Dann kam ein zweiter Sensor hinzu, der etwa 1 Meter näher am Fhem Server steht.
Der alte Sensor funktionierte nicht mehr, seit dem der neue Sensor eingerichtet wurde.
Die Daten kamen nur noch für den neuen Sensor rein.

Obwohl der alte Sensor, sowie Fhem bzw. der Bluetooth Stick von der Position her nicht verändert wurde.

Habe den alten Sensor dann aus der Blume entfernt und neben den neuen gelegt und dann ging er wieder...
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 02 Mai 2018, 22:22:13
Hallo

Habe mal einen Sensor Dichter an den Dongle gepackt. Er bekommt relativ häufig Werte allerdings kommen zwischen durch auch immer diese Fehler.

2018.05.02 20:15:30 4: XiaomiBTLESens (F_Temperatur) - Run CreateParamGatttool with mod: write 2018.05.02 20:15:30 5: XiaomiBTLESens (F_Temperatur) - Write XiaomiBTLESens_ExecGatttool_Run F_Temperatur|4C:65:A8:D3:F4:47|write|0x10|0100 2018.05.02 20:15:30 4: XiaomiBTLESens (F_Temperatur) - stateRequestTimer: Call Request Timer 2018.05.02 20:15:31 5: XiaomiBTLESens (F_Temperatur) - ExecGatttool_Run: call gatttool with command: timeout 10 gatttool -i hci0 -b 4C:65:A8:D3:F4:47 --char-write-req -a 0x10 -n 0100 --listen 2>&1 /dev/null and loop 0 2018.05.02 20:15:37 5: XiaomiBTLESens (F_Temperatur) - ExecGatttool_Run: gatttool loop result connect error,Transport endpoint is not connected (107) 2018.05.02 20:15:37 5: XiaomiBTLESens (F_Temperatur) - ExecGatttool_Run: call gatttool with command: timeout 10 gatttool -i hci0 -b 4C:65:A8:D3:F4:47 --char-write-req -a 0x10 -n 0100 --listen 2>&1 /dev/null and loop 1 2018.05.02 20:15:38 5: XiaomiBTLESens (F_Temperatur) - ExecGatttool_Run: gatttool loop result connect error,Software caused connection abort (103) 2018.05.02 20:15:38 5: XiaomiBTLESens (F_Temperatur) - ExecGatttool_Run: call gatttool with command: timeout 10 gatttool -i hci0 -b 4C:65:A8:D3:F4:47 --char-write-req -a 0x10 -n 0100 --listen 2>&1 /dev/null and loop 2 2018.05.02 20:15:38 5: XiaomiBTLESens (F_Temperatur) - ExecGatttool_Run: gatttool loop result connect,No route to host (113) 2018.05.02 20:15:38 4: XiaomiBTLESens (F_Temperatur) - ExecGatttool_Run: gatttool result connect,No route to host (113) 2018.05.02 20:15:39 5: XiaomiBTLESens (F_Temperatur) - ExecGatttool_Done: gatttool return string: F_Temperatur|4C:65:A8:D3:F4:47|ok|write|0x10|{"gtResult":"No route to host (113)"} 2018.05.02 20:15:39 4: XiaomiBTLESens (F_Temperatur) - ProcessingNotification 2018.05.02 20:15:39 4: XiaomiBTLESens (F_Temperatur) - ProcessingNotification: handle 0x10 2018.05.02 20:15:39 4: XiaomiBTLESens (F_Temperatur) - Thermo/Hygro Sens Handle0x10 2018.05.02 20:15:39 4: XiaomiBTLESens (F_Temperatur) - WriteReadings: Readings were written 2018.05.02 20:15:39 4: XiaomiBTLESens (F_Temperatur) - WriteReadings: Readings were written
Was kann ich da machen um diese Fehler weg zubekommen?

Danke schonmal für die Hilfe
Gruß Alex

Gesendet von meinem Redmi Note 4 mit Tapatalk

Das hin und wieder Mal Fehler reinkommen ist leider normal.
Ganz lesen kann ich dein was auch immer leider nicht. Ist irgendwie alles an einander gereiht.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: majestro84 am 02 Mai 2018, 22:36:45
Probiere es einmal zu sortieren die Zeilenumbrüche am Handy sind anscheinend nicht so toll.

2018.05.02 20:15:30 4: XiaomiBTLESens (F_Temperatur) - Run CreateParamGatttool with mod: write

2018.05.02 20:15:30 5: XiaomiBTLESens (F_Temperatur) - Write XiaomiBTLESens_ExecGatttool_Run F_Temperatur|4C:65:A8:D3:F4:47|write|0x10|0100

2018.05.02 20:15:30 4: XiaomiBTLESens (F_Temperatur) - stateRequestTimer: Call Request Timer

2018.05.02 20:15:31 5: XiaomiBTLESens (F_Temperatur) - ExecGatttool_Run: call gatttool with command: timeout 10 gatttool -i hci0 -b 4C:65:A8:D3:F4:47 --char-write-req -a 0x10 -n 0100 --listen 2>&1 /dev/null and loop 0

2018.05.02 20:15:37 5: XiaomiBTLESens (F_Temperatur) - ExecGatttool_Run: gatttool loop result connect error,Transport endpoint is not connected (107)

2018.05.02 20:15:37 5: XiaomiBTLESens (F_Temperatur) - ExecGatttool_Run: call gatttool with command: timeout 10 gatttool -i hci0 -b 4C:65:A8:D3:F4:47 --char-write-req -a 0x10 -n 0100 --listen 2>&1 /dev/null and loop 1

2018.05.02 20:15:38 5: XiaomiBTLESens (F_Temperatur) - ExecGatttool_Run: gatttool loop result connect error,Software caused connection abort (103)

2018.05.02 20:15:38 5: XiaomiBTLESens (F_Temperatur) - ExecGatttool_Run: call gatttool with command: timeout 10 gatttool -i hci0 -b 4C:65:A8:D3:F4:47 --char-write-req -a 0x10 -n 0100 --listen 2>&1 /dev/null and loop 2

2018.05.02 20:15:38 5: XiaomiBTLESens (F_Temperatur) - ExecGatttool_Run: gatttool loop result connect,No route to host (113)

2018.05.02 20:15:38 4: XiaomiBTLESens (F_Temperatur) - ExecGatttool_Run: gatttool result connect,No route to host (113)

2018.05.02 20:15:39 5: XiaomiBTLESens (F_Temperatur) - ExecGatttool_Done: gatttool return string: F_Temperatur|4C:65:A8:D3:F4:47|ok|write|0x10|{"gtResult":"No route to host (113)"}

2018.05.02 20:15:39 4: XiaomiBTLESens (F_Temperatur) - ProcessingNotification

2018.05.02 20:15:39 4: XiaomiBTLESens (F_Temperatur) - ProcessingNotification: handle 0x10

2018.05.02 20:15:39 4: XiaomiBTLESens (F_Temperatur) - Thermo/Hygro Sens Handle0x10

2018.05.02 20:15:39 4: XiaomiBTLESens (F_Temperatur) - WriteReadings: Readings were written

2018.05.02 20:15:39 4: XiaomiBTLESens (F_Temperatur) - WriteReadings: Readings were written

Vielleicht ist es so besser so lesen danke für deine Mühe
Gruß Alex

Gesendet von meinem Redmi Note 4 mit Tapatalk
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 03 Mai 2018, 08:40:37
Es sieht nach einem normalen Verbindungsproblem aus. Entweder wird der BT Stack blockiert oder das Endgerät ist ausser Reichweite.
BT hat auch Probleme im Zusammenhang mit 2,4GHz WLAN. Da kann die BT Reichweite schnell mal absacken. Wer kann sollte sein WLAN auf 5GHz umschalten. Habe ich auch gemacht.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: majestro84 am 03 Mai 2018, 08:54:13
OK kann dann natürlich auch am zigbee liegen das kann ich ja leider nicht auf 5ghz umstellen. Das Thermometer aus dem letzten Log ist nur durch eine Wand zum dongel getrennt. Danke für deine Antwort Wort all zu schlimm ist es ja auch nicht bekommt ja paar mal am Tag Werte
Gruß Alex

Gesendet von meinem Redmi Note 4 mit Tapatalk

Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: christiang am 05 Mai 2018, 10:12:52
Hallo CoolTux,

erstmal vielen Dank für das tolle Modul! Funktioniert bisher einwandfrei mit mittlerweile 10 Sensoren.

Ich habe jedoch das Problem, dass nach einem rereadCfg die Devices im Zustand "initialized" sind und auch bleiben. Nach einem restart von Fhem werden die Messwerte jedoch einwandfrei gelesen.
Ist das ein Problem an meinem Setup oder tritt das bei anderen auch auf?

Viele Grüße,
Christian

Hier ein list von einem Device im Zustand initialized:
Internals:
   BTMAC      C4:7C:8D:65:D8:64
   CFGFN      ./FHEM/plants.cfg
   DEF        C4:7C:8D:65:D8:64
   INTERVAL   300
   NAME       plants_xiaomi_schnittlauch
   NOTIFYDEV  global,plants_xiaomi_schnittlauch
   NR         692
   NTFY_ORDER 50-plants_xiaomi_schnittlauch
   STATE      initialized
   TYPE       XiaomiBTLESens
   VERSION    2.0.12
   loglevel   4
   READINGS:
     2018-05-05 10:06:27   battery         ok
     2018-05-05 10:06:27   batteryLevel    83
     2018-05-05 10:06:27   fertility       1434
     2018-05-05 10:06:27   firmware        2.7.0
     2018-05-04 19:06:03   lastGattError   charWrite faild
     2018-05-05 10:06:27   lux             8447
     2018-05-05 10:06:27   moisture        69
     2018-05-05 10:09:01   state           initialized
     2018-05-05 10:06:27   temperature     16.3
   helper:
     CallBattery 0
     CallSensDataCounter 0
Attributes:
   alias      Schnittlauch
   event-min-interval moisture:1800
   event-on-change-reading .*
   group      Pflanzen
   interval   300
   model      flowerSens
   room       7.3_Plants
   stateFormat Feuchtigkeit: moisture Licht: lux lm Temperatur: temperature°C Nährstoffe: fertility Batterie: batteryLevel%
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 05 Mai 2018, 12:38:37
Das ist etwas was im Modul nicht beachtet wurde weil ich Configeditierer nicht mag  :P
Ich werde es die Tage richten  ;)

Grüße
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: christiang am 05 Mai 2018, 14:54:03
Super das ist sehr Nett  :) Vielen Dank.

Grüße
Christian

P.S. Configgenerierer mit templates  :P
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 05 Mai 2018, 15:01:59

P.S. Configgenerierer mit templates  :P

Kenn ich. Die fressen kleene Kinder oder Nachbars Katze.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 07 Mai 2018, 09:05:25
Hallo CoolTux,

erstmal vielen Dank für das tolle Modul! Funktioniert bisher einwandfrei mit mittlerweile 10 Sensoren.

Ich habe jedoch das Problem, dass nach einem rereadCfg die Devices im Zustand "initialized" sind und auch bleiben. Nach einem restart von Fhem werden die Messwerte jedoch einwandfrei gelesen.
Ist das ein Problem an meinem Setup oder tritt das bei anderen auch auf?

Viele Grüße,
Christian

Hier ein list von einem Device im Zustand initialized:
Internals:
   BTMAC      C4:7C:8D:65:D8:64
   CFGFN      ./FHEM/plants.cfg
   DEF        C4:7C:8D:65:D8:64
   INTERVAL   300
   NAME       plants_xiaomi_schnittlauch
   NOTIFYDEV  global,plants_xiaomi_schnittlauch
   NR         692
   NTFY_ORDER 50-plants_xiaomi_schnittlauch
   STATE      initialized
   TYPE       XiaomiBTLESens
   VERSION    2.0.12
   loglevel   4
   READINGS:
     2018-05-05 10:06:27   battery         ok
     2018-05-05 10:06:27   batteryLevel    83
     2018-05-05 10:06:27   fertility       1434
     2018-05-05 10:06:27   firmware        2.7.0
     2018-05-04 19:06:03   lastGattError   charWrite faild
     2018-05-05 10:06:27   lux             8447
     2018-05-05 10:06:27   moisture        69
     2018-05-05 10:09:01   state           initialized
     2018-05-05 10:06:27   temperature     16.3
   helper:
     CallBattery 0
     CallSensDataCounter 0
Attributes:
   alias      Schnittlauch
   event-min-interval moisture:1800
   event-on-change-reading .*
   group      Pflanzen
   interval   300
   model      flowerSens
   room       7.3_Plants
   stateFormat Feuchtigkeit: moisture Licht: lux lm Temperatur: temperature°C Nährstoffe: fertility Batterie: batteryLevel%

Hallo Christian,

Kannst Du bitte einmal die aktuelle Git Version testen?
https://github.com/LeonGaultier/fhem-XiaomiBTLESens/archive/master.zip

Danke Dir

Leon
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: christiang am 08 Mai 2018, 00:09:19
Hi Leon,

sorry ich bin erst jetzt zum ausprobieren gekommen, war beruflich unterwegs.

Leider bleiben die Devices noch im initialized state hängen.

Viele Grüße,
Christian

Internals:
   BTMAC      C4:7C:8D:65:D8:64
   CFGFN      ./FHEM/plants.cfg
   DEF        C4:7C:8D:65:D8:64
   INTERVAL   300
   NAME       plants_xiaomi_schnittlauch
   NOTIFYDEV  global,plants_xiaomi_schnittlauch
   NR         700
   NTFY_ORDER 50-plants_xiaomi_schnittlauch
   STATE      initialized
   TYPE       XiaomiBTLESens
   VERSION    2.0.13
   loglevel   4
   READINGS:
     2018-05-07 10:06:11   battery         ok
     2018-05-07 10:06:11   batteryLevel    83
     2018-05-07 23:57:42   fertility       1628
     2018-05-07 10:06:11   firmware        2.7.0
     2018-05-08 00:03:24   lastGattError   charWrite faild
     2018-05-07 23:57:42   lux             150
     2018-05-07 23:57:42   moisture        68
     2018-05-08 00:06:28   state           initialized
     2018-05-07 23:57:42   temperature     16.8
   helper:
     CallBattery 0
     CallSensDataCounter 0
Attributes:
   alias      Schnittlauch
   event-min-interval moisture:1800
   event-on-change-reading .*
   group      Pflanzen
   interval   300
   model      flowerSens
   room       7.3_Plants
   stateFormat Feuchtigkeit: moisture Licht: lux lm Temperatur: temperature°C Nährstoffe: fertility Batterie: batteryLevel%
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 08 Mai 2018, 17:26:35
bitte noch einmal testen. selber link zum download
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: christiang am 08 Mai 2018, 18:40:41
Hi Leon,

Super jetzt funktioniert es !

Vielen Dank und beste Grüße,
Christian
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: ih-sqeezer am 21 Mai 2018, 10:39:11
Hallo zusammen,

ich nutze seit einigen Monaten zwei Pflanzensensoren von Xiaomi. Bisher liefen die beiden Sensoren mit einem RPI3 ohne weitere Probleme.
Seitdem ich jedoch auf einen neuen RPI3+ gewechselt habe, scheint das BLE bzw allgemein das BT nicht stabil zu laufen. Ich bekomme immer ein "The BlockingCall Process terminated unexpectedly. Timedout" im Status von beiden Pflanzensensoren. Dazu habe ich schon hier das ganze Thema durchgelesen und diverse Dinge herausgefunden. An der Reichweite kann es hier nicht liegen, da sich ein Sensor so ca. 2m vom RPI3+ befindet. Der andere ist auf dem Balkon, aber dennoch voll in Reichweite. Wenn ich in der Konsole vom RPI ein "sudo hcitool lescan" durchführe, erscheint ab und zu mal ein "Disable scan failed: input/output error". Das würde auch zum Fehler in FHEM passen. Sofern ich jedoch einen Sensor direkt via Konsole anspreche "sudo gatttool -i hci0 -b MAC --char-read -a 0x38", erhalte ich nur ein "connect error: Invalid argument (22)" für den weiter weg Sensor. Diesen Fehler bekomme ich auch ziemlich oft im state vom Sensor in FHEM. Für den sehr nahen Sensor erhalte ich dafür in der Konsole ein "connect error: connection refused (111)". Wenn ich im Fehlerfall das BT device mit "sudo hciconfig hci0 down" und "sudo hciconfig hci0 up" neustarte, kann zu jedem Sensor wieder Verbindung aufgebaut werden. Ich bekomme dann auch gleich in der Konsole wieder Daten (Characteristic value/descriptor: 63 27 33 2e 31 2e 38). Auch in FHEM bekomme ich dann mit dem "get Pflanzen sensorData" wieder aktuelle Werte vom Sensor.

Woran könnte das liegen? Ich habe auch schon diverse andere Foren nach dieser BT Schwäche für den RPI3+ gesucht und nichts passendes gefunden. Weiterhin habe ich schon die gesamte BT Soft-/Firmware vom RPI auf Updates geprüft - läuft jedoch schon auf der neusten Version seit dem Upgrade von Jessie (RPI3 => RPI3+).

Hat jemand von euch einen Rat oder vlt das gleiche Problem und konnte es schon lösen? Ich wäre für jede Hilfe dankbar!

Grüße,
Ingo
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Tobias am 22 Mai 2018, 17:33:45
Hi,
Ich möchte euch ganz kurz meine Erfahrungen mitteilen.
Der raspi zero w passt perfekt in das Box -Sens Gehäuse, die bohrungen passen exakt zur Befestigung der Platine.
Die Reichweite ist verblüffend, ich bekomme wirklich einen 10m Radius sauber abgedeckt.
Der raspi fragt 6 pflanzensensoren ab und verteilt die Messwerte per mqtt.
So läuft er völlig autark :)

Gesendet von meinem Leap mit Tapatalk

Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Steffen am 24 Mai 2018, 06:21:10
Hi,
Ich möchte euch ganz kurz meine Erfahrungen mitteilen.
Der raspi zero w passt perfekt in das Box -Sens Gehäuse, die bohrungen passen exakt zur Befestigung der Platine.
Die Reichweite ist verblüffend, ich bekomme wirklich einen 10m Radius sauber abgedeckt.
Der raspi fragt 6 pflanzensensoren ab und verteilt die Messwerte per mqtt.
So läuft er völlig autark :)

Gesendet von meinem Leap mit Tapatalk

Hallo!

Das würde mich sehr interessieren, da ich zur Zeit sehr große Empfangsprobleme mit meinen Pflanzensensoren habe,
könntest du mir vielleicht erklären wie du wie Werte per mqtt verteilst?

Ein mqtt server läuft schon bei mir durch Sonoff, aber hätten kein Plan wie man das per mqtt verteilen könnte?!

Mfg Steffen
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Tobias am 24 Mai 2018, 08:47:20
Auf dem raspi läuft fhem. Dort sind die Sensoren als BTLESens Modul definiert und die Werte per MQTT_Bridge ins mqtt geschoben.
In meiner Haupt fhem Installation sind die Sensoren per mqtt_Device definiert

Gesendet von meinem Leap mit Tapatalk

Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 24 Mai 2018, 09:01:26
Auf dem raspi läuft fhem. Dort sind die Sensoren als BTLESens Modul definiert und die Werte per MQTT_Bridge ins mqtt geschoben.
In meiner Haupt fhem Installation sind die Sensoren per mqtt_Device definiert

Gesendet von meinem Leap mit Tapatalk

Wäre das mit dem SSH Support nicht einfacher gewesen? So musstest Du ja noch ein FHEM installieren was auch gepflegt werden will.
Ansonsten hätte man auch FHEM2FHEM machen können und im Master FHEM einfach nur einen gleichnamigen Dummy anlegen.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: MadMax-FHEM am 24 Mai 2018, 12:52:06
Wäre das mit dem SSH Support nicht einfacher gewesen? So musstest Du ja noch ein FHEM installieren was auch gepflegt werden will.
Ansonsten hätte man auch FHEM2FHEM machen können und im Master FHEM einfach nur einen gleichnamigen Dummy anlegen.

Wollte mich nicht "auf-/ bzw. dazwischendrängen" aber habe das per ssh und ebenfalls PI ZeroW gelöst... ;)

Gruß, Joachim
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Tobias am 24 Mai 2018, 13:13:27
Genau DAS wollte ich nicht haben. Ich wollte explizit eine Entkopplung haben. Sensor und Server (fhen) sollen unabhängig laufen.
Das fhem auf dem raspi muss auch nicht gepflegt werden. Einmal angelegt und es läuft durch.
Ausserdem wollte ich erreichen das ein Sensor si h selbst kümmert die Daten Korrekt zu erhalten und die fertig aufbereiteten Werte für alle Abnehmer zur Verfügung zu stellen.
Neben fhem hab ich auch ein esp der meine Bewässerung steuert, mit pumpenkontrolle, wassertank und automatischer umschaltung nach Frischwasser wenn regentonne leer.
Dieser soll später die bodenfeuchtewerte auch auswerten und die Ventile selbstständig steuern. Mein Haupt fhem monitored nur noch oder aktiviert/deaktiviert die Bewässerungsstränge

Gesendet von meinem Leap mit Tapatalk
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Steffen am 24 Mai 2018, 13:41:30
Hallo!

Verstehe ich das Richtig, ihr fragt die Werte von einem Pi zero per SSH ab und wertet sie dann in Fhem aus?

Mfg Steffen
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 24 Mai 2018, 13:54:08
JEIN.

Tobias macht das nicht. Die anderen machen es so.
Das Modul wurde extra so entwickelt das es möglich ist per ssh den gatttool Befehl auf einem entfernten Pi aus zu führen und die Daten zu erhalten.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: jorge am 29 Mai 2018, 14:01:46
Erstmal Danke für das tolle Modul. Bei dem Wetter in Potsdam sehr hilfreich bei der Bewässerungssteuerung...
Ich setze auch auf 'verteilte Intelligenz' bei meiner Home-Automation, schon aufgrund der BT-Reichweite. Also habe ich ein RPiZeroW (Remote) mit einer FHEM-Instanz versehen und XiaomiBTLESens eingebunden:

define XiaomiBTLESens XiaomiBTLESens XX:XX:XX:XX:XX:XX
attr XiaomiBTLESens model flowerSens
attr XiaomiBTLESens room Sensors


Da ich für andere Sensoren (ESPEasy, sonoff) auch MQTT installiert ist, habe ich die Anbindung folgendermaßen realisiert:

(Weitere) Prerequisites:
- MQTT server irgendwo im Heimnetz installiert
- MQTT Client auf dem Remote
- s.a.https://wiki.fhem.de/wiki/MQTT_Einf%C3%BChrung

In FHEM auf dem zentralen Rechner:

define XiaomiBTLESens.MQTT MQTT_DEVICE
attr XiaomiBTLESens.MQTT IODev Mosquitto
attr XiaomiBTLESens.MQTT event-on-change-reading .*
attr XiaomiBTLESens.MQTT room MQTT
attr XiaomiBTLESens.MQTT stateFormat transmission-state
attr XiaomiBTLESens.MQTT subscribeReading_battery /XiaomiBTLESens/battery
attr XiaomiBTLESens.MQTT subscribeReading_fertility /XiaomiBTLESens/fertility
attr XiaomiBTLESens.MQTT subscribeReading_lux /XiaomiBTLESens/lux
attr XiaomiBTLESens.MQTT subscribeReading_moisture /XiaomiBTLESens/moisture
attr XiaomiBTLESens.MQTT subscribeReading_temperature /XiaomiBTLESens/temperature

Auf dem Remote in FHEM ein notify definieren:


define XiaomiBTLESens.notify notify XiaomiBTLESens:(lux|temperature|battery|moisture|fertility).* {$EVTPART0=~ s/\://g;;;; WriteMQTT("192.168.XXX.XXX","",$NAME,$EVTPART0,$EVTPART1);;;;}
attr XiaomiBTLESens.notify room Sensors

...und in 99_myutils eine neue Funktion definieren


sub
WriteMQTT($$$$$)
{
my ($ip, $port, $topic, $name, $event) = @_;
my $cmd='mosquitto_pub -h '.$ip.' -t /'.$topic.'/'.$name.'  -m "'.$event.'"';
system $cmd;
}

Läuft bis jetzt stabil.

LG

Jorge
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Tobias am 29 Mai 2018, 17:07:36
Genauso, fast hab ich es auch. Allerdings kann man über das mqtt_device auch befehle per mqtt schicken welches zb. Der espeasy auswerten kann

Gesendet von meinem Leap mit Tapatalk

Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 29 Mai 2018, 20:29:30
Erstmal Danke für das tolle Modul. Bei dem Wetter in Potsdam sehr hilfreich bei der Bewässerungssteuerung...
Ich setze auch auf 'verteilte Intelligenz' bei meiner Home-Automation, schon aufgrund der BT-Reichweite. Also habe ich ein RPiZeroW (Remote) mit einer FHEM-Instanz versehen und XiaomiBTLESens eingebunden:

define XiaomiBTLESens XiaomiBTLESens XX:XX:XX:XX:XX:XX
attr XiaomiBTLESens model flowerSens
attr XiaomiBTLESens room Sensors


Da ich für andere Sensoren (ESPEasy, sonoff) auch MQTT installiert ist, habe ich die Anbindung folgendermaßen realisiert:

(Weitere) Prerequisites:
- MQTT server irgendwo im Heimnetz installiert
- MQTT Client auf dem Remote
- s.a.https://wiki.fhem.de/wiki/MQTT_Einf%C3%BChrung

In FHEM auf dem zentralen Rechner:

define XiaomiBTLESens.MQTT MQTT_DEVICE
attr XiaomiBTLESens.MQTT IODev Mosquitto
attr XiaomiBTLESens.MQTT event-on-change-reading .*
attr XiaomiBTLESens.MQTT room MQTT
attr XiaomiBTLESens.MQTT stateFormat transmission-state
attr XiaomiBTLESens.MQTT subscribeReading_battery /XiaomiBTLESens/battery
attr XiaomiBTLESens.MQTT subscribeReading_fertility /XiaomiBTLESens/fertility
attr XiaomiBTLESens.MQTT subscribeReading_lux /XiaomiBTLESens/lux
attr XiaomiBTLESens.MQTT subscribeReading_moisture /XiaomiBTLESens/moisture
attr XiaomiBTLESens.MQTT subscribeReading_temperature /XiaomiBTLESens/temperature

Auf dem Remote in FHEM ein notify definieren:


define XiaomiBTLESens.notify notify XiaomiBTLESens:(lux|temperature|battery|moisture|fertility).* {$EVTPART0=~ s/\://g;;;; WriteMQTT("192.168.XXX.XXX","",$NAME,$EVTPART0,$EVTPART1);;;;}
attr XiaomiBTLESens.notify room Sensors

...und in 99_myutils eine neue Funktion definieren


sub
WriteMQTT($$$$$)
{
my ($ip, $port, $topic, $name, $event) = @_;
my $cmd='mosquitto_pub -h '.$ip.' -t /'.$topic.'/'.$name.'  -m "'.$event.'"';
system $cmd;
}

Läuft bis jetzt stabil.

LG

Jorge

Komme auch aus der Nähe von Potsdam. Sau Hitze aktuell.  ;D
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Steffen am 31 Mai 2018, 13:31:03
Wollte mich nicht "auf-/ bzw. dazwischendrängen" aber habe das per ssh und ebenfalls PI ZeroW gelöst... ;)

Gruß, Joachim

Hallo!

Habe mir aus diesem grund auch ein Zero geholt und habe den Pi nun im Netzwerk, auf dem PiZero ist auch Bluez in der Version 5.4.

Wenn ich jetzt von meinem Haupt-Fhem Server das attr sshHost einfüge mit der Ip von Zero dann bekomme ich diese Fehlermeldung:
no gatttool binary found. Please check if bluez-package is properly installed

kann mir jemand dazu vielleicht einen rat geben?!?

Mfg Steffen
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 31 Mai 2018, 13:37:32
Design bedingt schummelt das Modul da ein bisschen. Bitte installiere auf dem aufrufenden pi ebenfalls das bluez-package
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Steffen am 31 Mai 2018, 13:53:15
Design bedingt schummelt das Modul da ein bisschen. Bitte installiere auf dem aufrufenden pi ebenfalls das bluez-package
Danke für die schnelle Antwort aber das war schon installiert, den von diesem hatte ich vorher schon das Modul genutzt. Aber die Reichweite
war zu schlecht, deswegen wollte ich mit dem Pi zero verlängern.

Muss ich sonst noch was auf dem Pi zero machen außer bluez installieren??

Mfg Steffen
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 31 Mai 2018, 13:54:17
Du musst natürlich ssh für passwortlosen Zugang einrichten. Sprich mit Keyfile
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Steffen am 31 Mai 2018, 18:55:02
Du musst natürlich ssh für passwortlosen Zugang einrichten. Sprich mit Keyfile

Ok das habe ich gerade erledigt, aber kommt immer noch diese Fehlermeldung?!?

Was könnte es noch sein?!?

Mfg Steffen
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 31 Mai 2018, 18:59:07
Naja nun Mal langsam. Was genau hast du denn wie gemacht dafür.

Der User fhem hat jetzt also unter /opt/fhem/ ein Ordner .ssh und darin den privaten Schlüssel? Der User den du auf der anderen Seite aufrufst pi@server z.b. hat auf der anderen Seite einen Ordner .ssh in seinem Homeverzeichnis mit dem öffentlichen Schlüssel?
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Steffen am 31 Mai 2018, 19:39:49
Oh Sorry...

Das habe ich dann wohl falsch verstanden, ich habe nur einen ssh zugang gemacht ohne Passwort aufforderung auf
den PiZero.

Sehe ich das richtig, das ich die erstellt "id_rsa.pub" jetzt nach /opt/fhem/.ssh kopiere?

Mfg Steffen
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 31 Mai 2018, 19:52:16
Mit welchem User machst du denn eine ssh Verbindung auf der anderen Seite?
fhem@server?
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Steffen am 31 Mai 2018, 19:55:06
ich hatte es so eingerichtet:
root@happyfamilyserver:~# ssh pi@192.168.178.137
Linux raspberrypi 4.14.34+ #1110 Mon Apr 16 14:51:42 BST 2018 armv6l

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Thu May 31 17:34:44 2018 from 91.64.217.22
pi@raspberrypi:~ $


Mfg Steffen
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 31 Mai 2018, 20:03:37
OK du willst also auf der anderen Seite den User pi verwenden. Den Aufruf für ssh macht der User fhem

Du hast also lokal fhem und remote pi.

Dann bekommt lokal der User fhem den privat Key und remote der User pi den Public Key.

Wenn du als ein anderer User das Schlüsselpaar erstellt musst du lokal den privat Key nach /opt/fhem/.ssh kopieren und die rechte richtig setzen. Besitzer fhem Gruppe dialout.
Remote bekommt der User pi in seinem Homeverzeichnis unter.ssh den Public Key.

Ich will schon seit Ewigkeiten dafür ne Anleitung schreiben. Komme nur nicht dazu  :-[
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Steffen am 31 Mai 2018, 20:25:40
Ok ich dachte es wäre einfacher, aber würde das gerne das irgendwie lösen, was ich aber selber komisch finde das ich anscheinend gar kein user fhem habe...
root@happyfamilyserver:~# su - fhem
root@happyfamilyserver:~#

die remote ssh habe ich auch als "root" aufgerufen oder sehe ich das Falsch?!

root@happyfamilyserver:~# ls -la /root/.ssh
total 16
drwx------ 1 root root   84 May 31 18:46 .
drwx------ 1 root root  654 May 31 20:18 ..
-rw------- 1 root root 1675 May 31 18:39 id_rsa
-rw-r--r-- 1 root root  404 May 31 18:39 id_rsa.pub
-rw------- 1 root root  222 May 31 18:40 known_hosts
-rw------- 1 root root  222 May 31 18:38 known_hosts.old
root@happyfamilyserver:~#

root@happyfamilyserver:~# ssh pi@192.168.178.137
Linux raspberrypi 4.14.34+ #1110 Mon Apr 16 14:51:42 BST 2018 armv6l

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Thu May 31 18:14:03 2018 from 192.168.178.102
pi@raspberrypi:~ $ ls -la
total 28
drwxr-xr-x 3 pi   pi   4096 May 31 16:46 .
drwxr-xr-x 3 root root 4096 Apr 18 00:16 ..
-rw------- 1 pi   pi    526 May 31 17:57 .bash_history
-rw-r--r-- 1 pi   pi    220 Apr 18 00:16 .bash_logout
-rw-r--r-- 1 pi   pi   3523 Apr 18 00:16 .bashrc
-rw-r--r-- 1 pi   pi    675 Apr 18 00:16 .profile
drwx------ 2 pi   pi   4096 May 31 18:13 .ssh
pi@raspberrypi:~ $ cd .ssh
pi@raspberrypi:~/.ssh $ ls -la
total 28
drwx------ 2 pi pi 4096 May 31 18:13 .
drwxr-xr-x 3 pi pi 4096 May 31 16:46 ..
-rw------- 1 pi pi  404 May 31 16:46 authorized_keys
-rwxrwxrwx 1 pi pi 1675 May 31 17:59 id_rsa
-rwxrwxrwx 1 pi pi  404 May 31 17:59 id_rsa.pub
-rw-r--r-- 1 pi pi  222 May 31 17:59 known_hosts
-rw-r--r-- 1 pi pi  222 May 31 17:59 known_hosts.old
pi@raspberrypi:~/.ssh $

aber bis jetzt immer noch der gleiche Fehler...

Mfg Steffen
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 31 Mai 2018, 20:31:49
Als root geht schon mal.
Nun kopierst du den .ssh von root nach /opt/fhem/ und gibst mit chown -R ./opt/fhem/.ssh dem User fhem und der Gruppe dialout die Rechte des Verzeichnisses und allem darunter.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Steffen am 31 Mai 2018, 20:52:29
Als root geht schon mal.
Nun kopierst du den .ssh von root nach /opt/fhem/ und gibst mit chown -R ./opt/fhem/.ssh dem User fhem und der Gruppe dialout die Rechte des Verzeichnisses und allem darunter.

Das hatte ich schon gemacht, aber bleibt immer noch bei der Fehlermeldung:
root@happyfamilyserver:~/.ssh# ls -la /opt/fhem/.ssh
total 16
drwxrwxrwx 1 fhem dialout   84 May 31 19:59 .
drwxr-xr-x 1 fhem dialout  470 May 31 12:53 ..
-rwxrwxrwx 1 fhem dialout 1675 May 31 19:59 id_rsa
-rwxrwxrwx 1 fhem dialout  404 May 31 19:59 id_rsa.pub
-rwxrwxrwx 1 fhem dialout  222 May 31 19:59 known_hosts
-rwxrwxrwx 1 fhem dialout  222 May 31 19:59 known_hosts.old
root@happyfamilyserver:~/.ssh#

kann man den befehl den das Modul nutzt vielleicht auf der Shell ausführen um vielleicht zu sehen wo es nicht klappt?!?

Mfg Steffe
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 31 Mai 2018, 20:58:35
Bitte einmal als root ausführen

su -s /bin/bash -c "ssh pi@192.168.178.137 'ls /etc/'" fhem
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Steffen am 31 Mai 2018, 21:35:57
Bitte einmal als root ausführen

su -s /bin/bash -c "ssh pi@192.168.178.137 'ls /etc/'" fhem

erstmal zwischen durch viel dank für deine Geduld...

root@happyfamilyserver:~# su -s /bin/bash -c "ssh pi@192.168.178.137 'ls /etc/'" fhem
X11
adduser.conf
alternatives
apt
avahi
bash.bashrc
bash_completion
bash_completion.d
bindresvport.blacklist
binfmt.d
bluetooth
ca-certificates
ca-certificates.conf
calendar
cifs-utils
console-setup
cron.d
cron.daily
cron.hourly
cron.monthly
cron.weekly
crontab
dbus-1
debconf.conf
debian_version
default
deluser.conf
dhcp
dhcpcd.conf
dhcpcd.duid
dhcpcd.secret
dphys-swapfile
dpkg
environment
fake-hwclock.data
fb.modes
fstab
gai.conf
gdb
groff
group
gshadow
gss
host.conf
hostname
hosts
hosts.allow
hosts.deny
idmapd.conf
ifplugd
init
init.d
initramfs-tools
inputrc
insserv.conf.d
iproute2
issue
issue.net
kernel
ld.so.cache
ld.so.conf
ld.so.conf.d
ld.so.preload
ldap
libaudit.conf
libnl-3
locale.alias
locale.gen
localtime
logcheck
login.defs
logrotate.conf
logrotate.d
machine-id
magic
magic.mime
mailcap
mailcap.order
manpath.config
mime.types
mke2fs.conf
modprobe.d
modules
modules-load.d
motd
mtab
nanorc
netconfig
network
networks
newt
nsswitch.conf
opt
os-release
pam.conf
pam.d
passwd
paxctld.conf
perl
plymouth
polkit-1
ppp
profile
profile.d
protocols
python
python2.7
python3
python3.5
rc.local
rc0.d
rc1.d
rc2.d
rc3.d
rc4.d
rc5.d
rc6.d
rcS.d
request-key.conf
request-key.d
resolv.conf
resolv.conf.bak
resolvconf
resolvconf.conf
rmt
rpc
rpi-issue
rsyslog.conf
rsyslog.d
samba
securetty
security
selinux
services
sgml
shadow
shells
skel
ssh
ssl
staff-group-for-usr-local
subgid
subgid-
subuid
subuid-
sudoers
sudoers.d
sysctl.conf
sysctl.d
systemd
terminfo
timezone
tmpfiles.d
triggerhappy
ucf.conf
udev
ufw
update-motd.d
usb_modeswitch.conf
usb_modeswitch.d
vim
wgetrc
wpa_supplicant
xdg
xml
root@happyfamilyserver:~#
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Steffen am 31 Mai 2018, 21:43:10
das habe ich jetzt auch mal versucht:
root@happyfamilyserver:~# ssh pi@192.168.178.137 gatttool -i hci0 -b C4:7C:8D:66:17:03 --char-read -a 0x38
Characteristic value/descriptor: 64 27 33 2e 31 2e 38
root@happyfamilyserver:~#
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 31 Mai 2018, 21:45:01
Sieht doch gut aus.

Lokal ist gatttool installiert? Remote ist gatttool installiert?

su -s /bin/bash -c "ssh pi@192.168.178.137 'gatttool -i hci0 -b C4:7C:8D:66:17:03 --char-read -a 0x38'" fhem
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Steffen am 31 Mai 2018, 21:47:13
das habe ich jetzt auch mal versucht:
root@happyfamilyserver:~# ssh pi@192.168.178.137 gatttool -i hci0 -b C4:7C:8D:66:17:03 --char-read -a 0x38
Characteristic value/descriptor: 64 27 33 2e 31 2e 38
root@happyfamilyserver:~#

Ok jetzt habe ich es wohl, habe dann nochmal bei sshHost "pi@192.168.178.137" eingegeben statt nur "192.168.178.137" und schon kommen die Werte rein.

Vielen Vielen Dank für deine Geduld und Hilfe...

Mfg Steffen

Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 31 Mai 2018, 21:51:00
Ok jetzt habe ich es wohl, habe dann nochmal bei sshHost "pi@192.168.178.137" eingegeben statt nur "192.168.178.137" und schon kommen die Werte rein.

Vielen Vielen Dank für deine Geduld und Hilfe...

Mfg Steffen

 Na dann kann es auch nicht gehen. Es sei denn du hast eine config Datei in .ssh liegen  ;D

Gerne doch. Viel Spaß damit.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 01 Juni 2018, 22:39:12
ACHTUNG!!! Es gibt Readings Änderungen für den Batteriestand. Bitte beachten!!

https://forum.fhem.de/index.php/topic,87575.msg807158.html#msg807158
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Tobias am 02 Juni 2018, 17:32:06
Ey Leute, warum macht ihr das sooo kompliziert.
Auf dem pi zero w mit aktuellem Image funktioniert das gatttool perfekt. Soll der raspi zero sich doch selbst darum kümmern und die fertigen sensorwerte dem Haupt fhem bereitstellen.
Dieses SSH gewurschtel ist echt nicht mehr nötig.

Bereitstellung der Werte Funktionen mit fhem2fhem oder mein Favorit per mqtt

Gesendet von meinem Leap mit Tapatalk

Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: MadMax-FHEM am 02 Juni 2018, 18:42:56
Ey Leute, warum macht ihr das sooo kompliziert.
Auf dem pi zero w mit aktuellem Image funktioniert das gatttool perfekt. Soll der raspi zero sich doch selbst darum kümmern und die fertigen sensorwerte dem Haupt fhem bereitstellen.
Dieses SSH gewurschtel ist echt nicht mehr nötig.

Bereitstellung der Werte Funktionen mit fhem2fhem oder mein Favorit per mqtt

Gesendet von meinem Leap mit Tapatalk

FHEM2FHEM heißt fhem auf dem ZeroW (brauch ich nicht) und MQTT ist (für mich) komplizierter als einmal Schlüssel erzeugen, simpler Aufruf von openssl und dann per passendem Copy-Befehl die Schlüssel auf das Zielsystem fettich...
(was ich eh mache, da ich gerne schnell auf meine headless Systeme kommen will)

Aber: jeder wie er will bei einem System wie fhem! ;)

Gruß, Joachim
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: MadMax-FHEM am 03 Juni 2018, 15:19:54
Hi Leon,

so habe heute (begonnen) meine FlowerSense wieder in Betrieb zu nehmen...

Und gleich umgeschwenkt auf das neue Modul...
...läuft.
Inkl. ssh...

Allerdings (habe ja die "Vereinheitlichung" der Batteriewerte nachverfolgt) sollte es bei den FlowerSense nicht eher BatteryPercentage heißen (müssen)!?
Da ja hier Prozente und nicht Spannungswerte angegeben werden...
...zumindest bei mir...
(oder ist bei mir da was falsch, z.B. "alte" FW [ja ich weiß aber bislang sah ich keinen Grund upzudaten oder wären da gute!?])

Hier ein list:

Internals:
   BTMAC      C4:7C:8D:61:51:BE
   CFGFN     
   DEF        C4:7C:8D:61:51:BE
   INTERVAL   300
   NAME       Feuchtigkeit_Balkon_11
   NOTIFYDEV  global,Feuchtigkeit_Balkon_11
   NR         147226
   NTFY_ORDER 50-Feuchtigkeit_Balkon_11
   STATE      active
   TYPE       XiaomiBTLESens
   VERSION    2.0.12
   loglevel   4
   READINGS:
     2018-06-03 15:15:08   battery         ok
     2018-06-03 15:15:08   batteryLevel    100
     2018-06-03 15:15:14   fertility       0
     2018-06-03 15:15:08   firmware        2.6.2
     2018-06-03 15:14:34   lastGattError   No route to host (113)
     2018-06-03 15:15:14   lux             0
     2018-06-03 15:15:14   moisture        0
     2018-06-03 15:15:14   state           active
     2018-06-03 15:15:14   temperature     0
   helper:
     CallBattery 0
     CallSensDataCounter 0
     updateTimeCallBattery 1528031708.35676
     updateTimestampCallBattery 2018-06-03 15:15:08
Attributes:
   model      flowerSens
   room       XiaomiBTLESens
   sshHost    jemand@192.168.1.94

Gruß, Joachim
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 03 Juni 2018, 15:30:09
Du musst ein Update machen.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: MadMax-FHEM am 03 Juni 2018, 15:50:45
Ups, sorry!

Hab's eben genau deswegen noch nicht gemacht, da auch ZWave geändert wurde...
...und ich wollte erst mal den Code meiner Batterieberechnung nachziehen...

Eieieieiei!

Danke, Joachim
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Invers am 09 Juni 2018, 20:34:56
Hi, mir ist aufgefallen, dass alle Thermo/Hygrometer in STATE und state
    
T: 29.2 H: 37.0

eingetragen haben. Das betrifft Homematic und Andere.
Bei den Xiaomis, die ich seit gestern habe, steht hingegen;

active

Ich weiss nicht, wie es bei Geräten anderer Hersteller ist, wollte aber fragen, ob es sinnvoll wäre, das zu vereinheitlichen.
Meine Thermometerliste sieht nun eigenartig aus.

Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 09 Juni 2018, 20:43:31
Kann ich die Tage einbauen. Bisschen Geduld aber bitte  :)


Grüße
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Invers am 10 Juni 2018, 00:52:38
Eilt ja nicht. Ist mir halt nur aufgefallen. Danke.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 12 Juni 2018, 08:29:20
Hi, mir ist aufgefallen, dass alle Thermo/Hygrometer in STATE und state
    
T: 29.2 H: 37.0

eingetragen haben. Das betrifft Homematic und Andere.
Bei den Xiaomis, die ich seit gestern habe, steht hingegen;

active

Ich weiss nicht, wie es bei Geräten anderer Hersteller ist, wollte aber fragen, ob es sinnvoll wäre, das zu vereinheitlichen.
Meine Thermometerliste sieht nun eigenartig aus.

Habe ich angepasst und auch gleich das Batterie Reading nachgezogen. Kannst Du das bitte einmal testen. Du findest in meinem Git die neue Version.




Grüße
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Invers am 12 Juni 2018, 09:56:50
Ui! Ist aber böse. Scheint nicht so gut gelaufen zu sein.

2018.06.12 09:52:18 1: reload: Error:Modul 74_XiaomiBTLESens deactivated:
 syntax error at ./FHEM/74_XiaomiBTLESens.pm line 804, near ") if"

2018.06.12 09:52:18 0: syntax error at ./FHEM/74_XiaomiBTLESens.pm line 804, near ") if"

2018.06.12 09:52:18 1: PERL WARNING: Subroutine XiaomiBTLESens_Initialize redefined at ./FHEM/74_XiaomiBTLESens.pm line 112.
2018.06.12 09:52:18 1: PERL WARNING: Subroutine XiaomiBTLESens_Define redefined at ./FHEM/74_XiaomiBTLESens.pm line 148.
2018.06.12 09:52:18 1: PERL WARNING: Subroutine XiaomiBTLESens_Undef redefined at ./FHEM/74_XiaomiBTLESens.pm line 179.
2018.06.12 09:52:18 1: PERL WARNING: Subroutine XiaomiBTLESens_Attr redefined at ./FHEM/74_XiaomiBTLESens.pm line 195.
2018.06.12 09:52:18 1: PERL WARNING: Subroutine XiaomiBTLESens_Notify redefined at ./FHEM/74_XiaomiBTLESens.pm line 262.
2018.06.12 09:52:18 1: PERL WARNING: Subroutine XiaomiBTLESens_stateRequest redefined at ./FHEM/74_XiaomiBTLESens.pm line 294.
2018.06.12 09:52:18 1: PERL WARNING: Subroutine XiaomiBTLESens_stateRequestTimer redefined at ./FHEM/74_XiaomiBTLESens.pm line 331.
2018.06.12 09:52:18 1: PERL WARNING: Subroutine XiaomiBTLESens_Set redefined at ./FHEM/74_XiaomiBTLESens.pm line 346.
2018.06.12 09:52:18 1: PERL WARNING: Subroutine XiaomiBTLESens_Get redefined at ./FHEM/74_XiaomiBTLESens.pm line 381.
2018.06.12 09:52:18 1: PERL WARNING: Subroutine XiaomiBTLESens_CreateParamGatttool redefined at ./FHEM/74_XiaomiBTLESens.pm line 417.
2018.06.12 09:52:18 1: PERL WARNING: Subroutine XiaomiBTLESens_ExecGatttool_Run redefined at ./FHEM/74_XiaomiBTLESens.pm line 442.
2018.06.12 09:52:18 1: PERL WARNING: Subroutine XiaomiBTLESens_ExecGatttool_Done redefined at ./FHEM/74_XiaomiBTLESens.pm line 541.
2018.06.12 09:52:18 1: PERL WARNING: Subroutine XiaomiBTLESens_ExecGatttool_Aborted redefined at ./FHEM/74_XiaomiBTLESens.pm line 573.
2018.06.12 09:52:18 1: PERL WARNING: Subroutine XiaomiBTLESens_ProcessingNotification redefined at ./FHEM/74_XiaomiBTLESens.pm line 588.
2018.06.12 09:52:18 1: PERL WARNING: Subroutine XiaomiBTLESens_FlowerSensHandle0x38 redefined at ./FHEM/74_XiaomiBTLESens.pm line 647.
2018.06.12 09:52:18 1: PERL WARNING: Subroutine XiaomiBTLESens_FlowerSensHandle0x35 redefined at ./FHEM/74_XiaomiBTLESens.pm line 672.
2018.06.12 09:52:18 1: PERL WARNING: Subroutine XiaomiBTLESens_ThermoHygroSensHandle0x18 redefined at ./FHEM/74_XiaomiBTLESens.pm line 702.
2018.06.12 09:52:18 1: PERL WARNING: Subroutine XiaomiBTLESens_ThermoHygroSensHandle0x10 redefined at ./FHEM/74_XiaomiBTLESens.pm line 725.
2018.06.12 09:52:18 1: PERL WARNING: Subroutine XiaomiBTLESens_ThermoHygroSensHandle0x24 redefined at ./FHEM/74_XiaomiBTLESens.pm line 755.
2018.06.12 09:52:18 1: PERL WARNING: Subroutine XiaomiBTLESens_ThermoHygroSensHandle0x3 redefined at ./FHEM/74_XiaomiBTLESens.pm line 773.
2018.06.12 09:52:18 1: reload: Error:Modul 74_XiaomiBTLESens deactivated:
 syntax error at ./FHEM/74_XiaomiBTLESens.pm line 804, near ") if"

2018.06.12 09:52:18 0: syntax error at ./FHEM/74_XiaomiBTLESens.pm line 804, near ") if"

2018.06.12 09:52:18 1: reload: Error:Modul 74_XiaomiBTLESens deactivated:
 syntax error at ./FHEM/74_XiaomiBTLESens.pm line 804, near ") if"

2018.06.12 09:52:18 0: syntax error at ./FHEM/74_XiaomiBTLESens.pm line 804, near ") if"

2018.06.12 09:52:18 3: [STV] You are using a deprecated MAC detection mechanism using ifconfig.
2018.06.12 09:52:18 3: [STV] Please install Pearl Modules libnet-address-ip-local-perl and libio-interface-perl
2018.06.12 09:52:19 1: configDB: Cannot load module XiaomiBTLESens
Cannot load module XiaomiBTLESens
Cannot load module XiaomiBTLESens


NACHTRAG: Vewrsion 2.0.14
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 12 Juni 2018, 09:59:19
Sieht schlimmer aus wie es ist. War nur ein Klammerproblem. Bitte noch einmal. Danke
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Invers am 12 Juni 2018, 10:20:51
Vielen Dank, Funktioniert scheinbar sehr gut.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 13 Juni 2018, 13:08:44
Hi, mir ist aufgefallen, dass alle Thermo/Hygrometer in STATE und state
    
T: 29.2 H: 37.0

eingetragen haben. Das betrifft Homematic und Andere.
Bei den Xiaomis, die ich seit gestern habe, steht hingegen;

active

Ich weiss nicht, wie es bei Geräten anderer Hersteller ist, wollte aber fragen, ob es sinnvoll wäre, das zu vereinheitlichen.
Meine Thermometerliste sieht nun eigenartig aus.

Die Umstellung des state habe ich nun ins svn geladen. Morgen per Update
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: ext23 am 20 Juni 2018, 16:51:12
Hallo,

ich habe jetzt auch zwei dieser Flower Care Sensoren da. Die App kann man ja knicken, erst muss man sich anmelden und dann noch eine Pflanze zuweisen, das geht bei mir irgendwie nicht. Also ich sehe zumindest keine Werte.

Jetzt wollte ich das direkt an FHEM anbinden aber mein Bluetooth Dongle ist leider am Raspberry und der ist nur via FHEM2FHEM angebunden. An meinem FHEM Server ist kein Bluetooth Adapter. Gibt es da Möglichkeiten?

/Daniel
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 20 Juni 2018, 17:31:55
Ja. Via ssh
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: ext23 am 20 Juni 2018, 18:25:51
Ahh, sehr schön, das steht aber auch versteckt in der command ref ...

Wie oft sendet der eigentlich? Wenn man die App benutzt sendet der ja im Sekunden Takt so wie das aussieht. Und speichert der Sensor Daten? Weil die App da ein Sync macht...?

/Daniel
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: ToM_ToM am 21 Juni 2018, 07:55:52
Zitat
Wie oft sendet der eigentlich?

Gar nicht! Du machst einen Request und fragst die Daten ab. Das kannst du im Interval einstellen. Wenn du keine Daten abfragst, wird auch nichts gesendet.

Siehe Commandref Attribut interval und disabledForIntervals. Letzteres habe ich gesetzt um Nachts keine Abfragen durchzuführen.

VG, Thomas
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 21 Juni 2018, 08:14:41
Ahh, sehr schön, das steht aber auch versteckt in der command ref ...

Wie oft sendet der eigentlich? Wenn man die App benutzt sendet der ja im Sekunden Takt so wie das aussieht. Und speichert der Sensor Daten? Weil die App da ein Sync macht...?

/Daniel

Der Sensor speichert Daten, leider habe ich aber keine Info darüber wie man die abrufen kann.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: ext23 am 21 Juni 2018, 10:19:52
OK und der Sensor arbeitet dann als "Observer", sprich der sende nichts solange kein "Broadcaster" etwas von ihm will, richtig? Schick also keine Advertiser Messages.

Dann schau ich mir das mal an.

Hat einer schon langzeit Erfahrungen mit den Dingern in Sachen Korrosion? Gerade die Messfühler für die Leitfähigkeit. Und dann wundert mich, dass die Platine nicht eingeharzt ist, sondern nur simpler Lack auf der Oberseite und nicht mal an den Seiten ist. Da diffundiert doch früher oder später Wasser durch.....

/Daniel

Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 21 Juni 2018, 11:14:34
OK und der Sensor arbeitet dann als "Observer", sprich der sende nichts solange kein "Broadcaster" etwas von ihm will, richtig? Schick also keine Advertiser Messages.

Dann schau ich mir das mal an.

Hat einer schon langzeit Erfahrungen mit den Dingern in Sachen Korrosion? Gerade die Messfühler für die Leitfähigkeit. Und dann wundert mich, dass die Platine nicht eingeharzt ist, sondern nur simpler Lack auf der Oberseite und nicht mal an den Seiten ist. Da diffundiert doch früher oder später Wasser durch.....

/Daniel

Dir ist schon klar das das Teil offiziell keine 5 Dollar kostet? Bei Bedarf kaufst dir halt alle Jahre ein neues.  ;D
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: ext23 am 21 Juni 2018, 11:17:09
Dir ist schon klar das das Teil offiziell keine 5 Dollar kostet? Bei Bedarf kaufst dir halt alle Jahre ein neues.  ;D

Naja meiner kam 10 aus China, aber ich will eben nicht alle paar Jahre was neues. Und wenn Schwermetalle an die Erst abgegeben werden will ich das auch nicht ;-) Dann nützt mir die gute Pflege er Blume auch nicht ;-) Aber auch wenn es nur 4 Euro sind, macht bei 30 Stück nen batzen Geld...

/Daniel
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 21 Juni 2018, 11:22:23
Naja meiner kam 10 aus China, aber ich will eben nicht alle paar Jahre was neues. Und wenn Schwermetalle an die Erst abgegeben werden will ich das auch nicht ;-) Dann nützt mir die gute Pflege er Blume auch nicht ;-) Aber auch wenn es nur 4 Euro sind, macht bei 30 Stück nen batzen Geld...

/Daniel

Dann lieber doch was richtiges. Gardena oder dieser andere deutsche? Bude. Kostet der Sensor zwischen 30 und 50 Euro. Aber da haste dann auch was richtiges für Dein Geld mit allem drum und dran.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: ext23 am 21 Juni 2018, 11:26:22
Ja naja kommt drauf an, teuer ist auch nicht immer gut. Also mit den Gies-O-Mat bin ich ganz zufrieden. Auch wenn mir ein Nachbau noch nicht wirklich gelungen ist. Die Dinger verhalten sich dann doch anders als das original. Das ist schon gut abgestimmt.

Ist der Flower Care nun eigentlich Wasserdichtig? Die Dichtung lässt es ja vermuten, das Datenblatt auch. woanders steht aber das die Garantie erlischt wenn man es zu gut meint mit der Gießkanne. Also laufen die Dinger auch unter freiem Himmel?

/Daniel
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: ToM_ToM am 21 Juni 2018, 12:02:11
Zitat
Ist der Flower Care nun eigentlich Wasserdichtig? Die Dichtung lässt es ja vermuten, das Datenblatt auch. woanders steht aber das die Garantie erlischt wenn man es zu gut meint mit der Gießkanne. Also laufen die Dinger auch unter freiem Himmel?

Es steht dabei dass die ausschließlich für den Innenraum geeignet sind und nicht für den Außenbereich. Also nein!

Zum Themak Langzeiterfahrung: Ich habe die Geräte jetzt seit über einem Jahr im Einsatz und die laufen wunderbar. Auch fault da bisher nichts weg. Es gibt bei den Mess-Gabeln (so nenne ich sie jetzt mal) aber verschiedene Qualitätsstufen wenn du sie als einelnes elektronisches Bauteil kaufst. Dort gibt es ganz billige bei der sich nach einigen Monaten die leitfähige Beschichtung auflöst.

Die Xiaomi halte ich aber für äußerst stabil. Wie gesagt: Sie sind ausschließlich für Zimmerpflanzen. Und hält man in der Regel keine Gieskanne drauf. ;)
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Sanchez am 21 Juni 2018, 12:15:43
Habe einen seit letztem Jahr draussen im Topf im Einsatz. War im Winter "leicht" eingeschneit (hab ihn echt gesucht  ;D) und beim giessen gehe ich da gnadenlos drüber. Bisher keine negative Reaktion. Dieses Jahr vier weitere für draussen geholt und es werden mehr werden...

Das einzig nervende ist, das ab und zu am Tag keine Werte kommen. Liegt aber nicht am Modul oder den Senoren, sondern an BT.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: ext23 am 21 Juni 2018, 12:19:34
OK perfekt ;-)

Ganz nebenbei, falls jemand mal ein defekten hat, ich zerlege ihn gerne um mir mal die Elektronik anzuschauen.

Wegen dem gammeln, wenn dann gammeln nur die beiden Punkte unten. Das andere ist ja nicht leitfähig weil Kapazitiv. Da kann nur Wasser eindringen und zu falschen Messergenissen der Bodenfeuchte führen. Aber das ist ein anderes Thema womit schon Foren gefüllt wurde. Ich werden meine sicherheitshalber mit Urethan 71 einsprühen.

Hat noch jemand ein Tip wegen ssh... ich bekomme immer fehler wegen "no gatttool binary found. Please check if bluez-package is properly installed". Ist es aber, im FHEM log steht aber "Host key verification failed." FHEM läuft ja als user fhem, also nimmt der auch die config aus dem /home/fhem/.ssh/config sofern man es anlegt ja?

/Daniel
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: MadMax-FHEM am 21 Juni 2018, 14:30:38
Das zweite Jahr jetzt außen.
Allerdings "geschützter" Balkon und autom. Gießeinrichtung (Blumat mit Tonkegeln: physikalische "Steuerung"), also nix Gießkanne...
...aber ab und an schon mal etwas Regen...

Ich habe aber bei diversen Händlern auch was von "Wasserfest" gelesen... ;)

Im Winter hole ich sie aber rein, weil da auch nix gegossen wird...

Das Home des Users fhem liegt (normalerweise) NICHT in /home/fhem sondern ist /opt/fhem

So in etwa hab ich das gemacht:

http://heinz-otto.blogspot.com/2017/01/per-ssh-remote-befehle-direkt-ausfuhren.html?_sm_au_=iVVDnP60tJ1NHtRj

EDIT: ansonsten sollte sich bzgl. ssh und fhem einiges finden lassen...

Gruß, Joachim
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: ext23 am 21 Juni 2018, 14:33:15
Ach stimmt, jetzt wo du es sagts sehe ich es auch im vipw.

OK dann schau ich mal ob es jetzt geht.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Invers am 25 Juni 2018, 11:27:18
Hi, ich hatte heute nach Neustart von fhem folgende Einträge imn Log:
2018.06.25 11:22:52 1: PERL WARNING: Illegal hexadecimal digit ' ' ignored at ./FHEM/74_XiaomiBTLESens.pm line 717.
2018.06.25 11:22:52 3: eval: {XiaomiBTLESens_ExecGatttool_Done('TMP_SZ|4C:65:A8:D2:53:8C|ok|read|0x18|{"gtResult":"64 "}')}
2018.06.25 11:22:52 1: PERL WARNING: Illegal hexadecimal digit ' ' ignored at ./FHEM/74_XiaomiBTLESens.pm line 718.
2018.06.25 11:22:52 3: eval: {XiaomiBTLESens_ExecGatttool_Done('TMP_SZ|4C:65:A8:D2:53:8C|ok|read|0x18|{"gtResult":"64 "}')}

Scheint dennoch zu funktionieren.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 25 Juni 2018, 11:38:29
Hi, ich hatte heute nach Neustart von fhem folgende Einträge imn Log:
2018.06.25 11:22:52 1: PERL WARNING: Illegal hexadecimal digit ' ' ignored at ./FHEM/74_XiaomiBTLESens.pm line 717.
2018.06.25 11:22:52 3: eval: {XiaomiBTLESens_ExecGatttool_Done('TMP_SZ|4C:65:A8:D2:53:8C|ok|read|0x18|{"gtResult":"64 "}')}
2018.06.25 11:22:52 1: PERL WARNING: Illegal hexadecimal digit ' ' ignored at ./FHEM/74_XiaomiBTLESens.pm line 718.
2018.06.25 11:22:52 3: eval: {XiaomiBTLESens_ExecGatttool_Done('TMP_SZ|4C:65:A8:D2:53:8C|ok|read|0x18|{"gtResult":"64 "}')}

Scheint dennoch zu funktionieren.

Ist nur ne Warnung, alles gut.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: ext23 am 25 Juni 2018, 15:43:02
Hi,

also mit ssh das blockiert ja alles, da braucht der 15 Sekunden bis ein Ergebnis kommt, wenn es denn kommt. Ich glaube das ist keine so gute Lösung. Da werd ich mir mal die ESP32 Geschichte anschauen.

/Daniel
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 25 Juni 2018, 15:50:12
Hi,

also mit ssh das blockiert ja alles, da braucht der 15 Sekunden bis ein Ergebnis kommt, wenn es denn kommt. Ich glaube das ist keine so gute Lösung. Da werd ich mir mal die ESP32 Geschichte anschauen.

/Daniel

Diese Aussage ist so wie sie da steht Schwachsinn!!!
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: ext23 am 25 Juni 2018, 16:03:13
Naja bei mir ist das so. Kann ich leider nicht ändern, pro Verbindungsaufbau braucht der 14 Sekunden mit SSH, mal mehr mal weniger. Und wenn ich jetzt 10 Abfrage wird es nicht besser. Und FHEM sehe ich dann immer nur "The BlockingCall Process terminated unexpectedly. Timedout"

/Daniel
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 25 Juni 2018, 16:04:57
Es wird aber rein gar nichts blockiert!
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: ext23 am 25 Juni 2018, 16:05:14
Bei mir schon. Ob das jetzt lokal anders ist weißt ich nicht, mein Server hat leider kein BT dran, also was heißt leider... belibt auch so.

Zumindest bleibt die SSH session recht lange offen, das wird vermutlich das gattools sein das ewig nicht reagiert.

Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 25 Juni 2018, 16:06:46
Dein FHEM arbeitet in der Zeit der Abfrage also nicht mehr? Du kannst z.B. die WebGui nicht mehr aufrufen?
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: ext23 am 25 Juni 2018, 16:07:52
Dein FHEM arbeitet in der Zeit der Abfrage also nicht mehr? Du kannst z.B. die WebGui nicht mehr aufrufen?

Ich habe nicht gesagt das FHEM blockiert...
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 25 Juni 2018, 16:09:47
Hi,

also mit ssh das blockiert ja alles, da braucht der 15 ...

Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: ext23 am 25 Juni 2018, 16:10:52
Ja wer lesen kann, ich habe von SSH gesprochen, wie gesagt von FHEM war keine Rede oO

Kann man da eventuell Timeouts erhöhen? Ich hab in der Firewall jetzt schon 15 parallele SSH sessions freigeschaltet, das sollte eigentlich passen sofern er alte sauber schließt. Davon gehe ich aber mal aus.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 25 Juni 2018, 16:14:14
Was stört dich daran das die SSH Session etwas länger offen bleibt? Es werden eh nicht alle 10 Sensoren zeitgleich abgefragt.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: ext23 am 25 Juni 2018, 16:23:01
Das wird nur schlecht wenn er eine neue Session öffnet und die alte nicht beendet hat. Dann wird das geblockt in der FW wenn es zu viel wird.

Was hängt denn dann hier so lange, ist das nur das gattool?

Kann es sein, dass sich das mit meinem G-Tags nicht verträgt die auch über diesen RPi abgefragt werden?

/Daniel
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: ext23 am 25 Juni 2018, 16:47:12
Mhh liegt wirklich an den G-Tags. Das ist wohl zu viel des Guten. Ich schau mir mal die Sache mit dem ESP32 an, dann ist das etwas getrennt.

/Daniel
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: mark79 am 25 Juni 2018, 22:15:17
Mhh liegt wirklich an den G-Tags. Das ist wohl zu viel des Guten. Ich schau mir mal die Sache mit dem ESP32 an, dann ist das etwas getrennt.

/Daniel
Ich habe auch die G-Tags und für lepresence und den Xiaomi Flower Sensoren bisher zwei BT Sticks verwendet.
Seit dem ich die G-Tags habe, wird das kernel.log vollgespammt... "Bluetooth: hci0 advertising data length corrected"
Aber das kann man ja blockieren...

Bzgl. Abruf via ESP32 (openmqttgateway), das funktioniert bei mir gut, was nur fehlt ist das Battery Reading.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: ext23 am 25 Juni 2018, 22:32:49
Bzgl. Abruf via ESP32 (openmqttgateway), das funktioniert bei mir gut, was nur fehlt ist das Battery Reading.

Hast du mal ein Binary für mich, oder gibt es die irgendwo? (Sofern die WLAN Daten nicht hardcoded sind.) Battery Reading, naja, unwichtig, merkt man ja wenn die tot sind.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: mark79 am 25 Juni 2018, 22:57:52
Hast du mal ein Binary für mich, oder gibt es die irgendwo? (Sofern die WLAN Daten nicht hardcoded sind.) Battery Reading, naja, unwichtig, merkt man ja wenn die tot sind.
Hast eine PN :)
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: ext23 am 25 Juni 2018, 23:02:26
Danke,

(Ich hab den ESP32 noch nicht in meiner Arduino IDE drin, daher reicht mir das erst mal zu probieren!)

Danke.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 26 Juni 2018, 09:40:19
Danke,

(Ich hab den ESP32 noch nicht in meiner Arduino IDE drin, daher reicht mir das erst mal zu probieren!)

Danke.

Was mir noch eingefallen ist. Installiere Dir mal hcidump und starte lepresenced neu. Danach sollte lepresenced nicht mehr den Abruf der Sensoren stören. Kann man dann parallel betreiben.


Grüße
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: ext23 am 26 Juni 2018, 10:15:44
Habe ich gemacht, ich werde es beobachten.

/Daniel
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: hjjk am 28 Juni 2018, 09:03:34
Bei mir gibt es immer noch Probleme mit der ssh Abfrage. ssh ist richtig aufgesetzt da ich von der Kommandozeile den Aufruf ausführen kann.

ssh 192.168.XX.XX 'gatttool -b C4:7C:8D:66:XX:XX --char-write-req -a 0x33 --value=A01F 2>&1 >/dev/null && gatttool -b C4:7C:8D:66:XX:XX --char-read --handle=0x35'

Ausgeführt als user fhem
Ich habe den loglevel auf 5 erhört und sehe in log folgende Information

2018.06.27 10:15:12.066 4: XiaomiBTLESens (Rosen) - Run CreateParamGatttool with mod: read
2018.06.27 10:15:12.066 1: PERL WARNING: Use of uninitialized value $handle in concatenation (.) or string at ./FHEM/74_XiaomiBTLESens.pm line 427.
...
2018.06.27 10:15:12.085 1: PERL WARNING: Use of uninitialized value $handle in concatenation (.) or string at ./FHEM/74_XiaomiBTLESens.pm line 431.
2018.06.27 10:15:12.086 5: XiaomiBTLESens (Rosen) - Read XiaomiBTLESens_ExecGatttool_Run Rosen|C4:7C:8D:66:2B:51|read|

...
2018.06.27 11:31:54.046 5: XiaomiBTLESens (Rosen) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:66:XX:XX --char-read -a  2>&1 /dev/null and loop 0
2018.06.27 11:31:54.046 5: XiaomiBTLESens (Oleander) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:66:XX:XX --char-read -a  2>&1 /dev/null and loop 0
2018.06.27 11:31:54.060 5: XiaomiBTLESens (Rosen) - ExecGatttool_Run: gatttool loop result Cannot parse integer value '/dev/null' for -a
Usage:
  gatttool [OPTION...]

Help Options:
  -h, --help                                Show help options
  --help-all                                Show all help options
  --help-gatt                               Show all GATT commands
  --help-params                             Show all Primary Services/Characteristics arguments
  --help-char-read-write                    Show all Characteristics Value/Descriptor Read/Write arguments
Der handle Parameter fehlt !!! Warum ?
Ich nutze fhem 5.8 mit dem aktuellsten Update auf einem PI 3 und möchte remote die Daten von einem andern PI nahe eines Xiaomi Flower Monitors auslesen.

Hier ist die Definition für den Sensor
define Rosen XiaomiBTLESens C4:7C:8D:66:XX:XX
attr Rosen model flowerSense
attr Rosen interval 1800
attr Rosen room Pflanzen
attr sshHost 192.168.X.XX
attr Rosen stateFormat Temp: temperature °C, Dünger: fertility µS/cm, Feuchtigkeit: moisture %, Licht: lux Lux, Batterie: batteryLevel %
define FileLog_Rosen FileLog ./log/Rosen-%Y-%m.log Rosen:batteryLevel:.*|Rosen:fertility:.*|Rosen:lux:.*|Rosen:moisture:.*|Rosen:temperature:.*

Ich bin für jeden Hinweis dankbar

Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 28 Juni 2018, 10:08:59
call gatttool with command: gatttool -i hci0 -b C4:7C:8D:66:XX:XX --char-read -a  2>&1 /dev/null and loop 0

Ich sehe da kein ssh. Mach mal bitte ein list vom Device
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: hjjk am 28 Juni 2018, 18:43:10
OK, "list Rosen" bringt

nternals:
   BTMAC      C4:7C:8D:66:2B:51
   CFGFN      include/xiaomi-plant-monitor.cfg
   CHANGED   
   DEF        C4:7C:8D:66:2B:51
   INTERVAL   1800
   NAME       Rosen
   NOTIFYDEV  global,Rosen
   NR         107
   NTFY_ORDER 50-Rosen
   STATE      Temp: 16.0 °C, Dünger: 147 µS/cm, Feuchtigkeit: 26 %, Licht: 839 Lux, Batterie: 99 %
   TYPE       XiaomiBTLESens
   VERSION    2.0.14
   loglevel   4
   READINGS:
     2018-06-28 17:08:42   batteryLevel    99
     2018-06-28 17:08:41   fertility       147
     2018-06-28 17:08:42   firmware        3.1.8
     2018-06-28 17:08:41   lux             839
     2018-06-28 17:08:41   moisture        26
     2018-06-28 18:24:43   state           read sensor data
     2018-06-28 17:08:40   temperature     16.0
   helper:
     CallBattery 0
     CallSensDataCounter 0
     updateTimeCallBattery 0
Attributes:
   interval   1800
   model      flowerSense
   room       Pflanzen
   stateFormat Temp: temperature °C, Dünger: fertility µS/cm, Feuchtigkeit: moisture %, Licht: lux Lux, Batterie: batteryLevel %

Die Readings werden momentan durch ein externes Skript geschrieben (ähnlich perl /opt/fhem/fhem.pl 7072 "setreading Rosen temperature 21.6).
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 28 Juni 2018, 19:05:05
Ich sehe da jetzt kein ssh Attribut. Was genau machst das externe Script? Funktionen es beim gatttool Aufruf dazwischen?
Setze das Devices bitte auf verbose 5 und setze das ssh Attribut mit REMOTEUSER@REMOTESERVER
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: hjjk am 28 Juni 2018, 19:54:15
Danke für den Hinweise. War ein Typo bei attr Device ssh. Nun wird ein ssh Aufruf gestartet. Aber es fehlt nach wie vor der Parameter für "--char-read -a   "

2018.06.28 19:43:01.671 5: XiaomiBTLESens (Rosen) - ExecGatttool_Run: call gatttool with command: ssh pi@192.168.3.61 'gatttool -i hci0 -b C4:7C:8D:66:2B:51 --char-read -a  2>&1 /dev/null' and loop 0
2018.06.28 19:43:01.754 4: Connection accepted from WEB_192.168.3.41_48804
2018.06.28 19:43:01.906 4: WEB_192.168.3.41_48804 GET /fhem?XHR=1&inform=type=status;filter=Rosen;since=1530207621.236;fmt=JSON&fw_id=119&timestamp=1530207781746; BUFLEN:0
2018.06.28 19:43:02.097 5: XiaomiBTLESens (Rosen) - ExecGatttool_Run: gatttool loop result Cannot parse integer value '/dev/null' for -a
Usage:
  gatttool [OPTION...]

Help Options:
  -h, --help                                Show help options
  --help-all                                Show all help options
  --help-gatt                               Show all GATT commands
  --help-params                             Show all Primary Services/Characteristics arguments
  --help-char-read-write                    Show all Characteristics Value/Descriptor Read/Write arguments

Application Options:
  -i, --adapter=hciX                        Specify local adapter interface
  -b, --device=MAC                          Specify remote Bluetooth address
  -t, --addr-type=[public | random]         Set LE address type. Default,public
  -m, --mtu=MTU                             Specify the MTU size
  -p, --psm=PSM                             Specify the PSM for GATT/ATT over BR/EDR
  -l, --sec-level=[low | medium | high]     Set security level. Default,low
  -I, --interactive                         Use interactive mode

Hier ist der Output von "list Rosen"

Internals:
   BTMAC      C4:7C:8D:66:2B:51
   CFGFN      include/xiaomi-plant-monitor.cfg
   CHANGED
   DEF        C4:7C:8D:66:2B:51
   INTERVAL   1800
   NAME       Rosen
   NOTIFYDEV  global,Rosen
   NR         107
   NTFY_ORDER 50-Rosen
   STATE      Temp: 15.6 °C, Dünger: 151 µS/cm, Feuchtigkeit: 26 %, Licht: 584 Lux, Batterie: 99 %
   TYPE       XiaomiBTLESens
   VERSION    2.0.14
   loglevel   4
   READINGS:
     2018-06-28 19:22:54   batteryLevel    99
     2018-06-28 19:22:54   fertility       151
     2018-06-28 19:22:55   firmware        3.1.8
     2018-06-28 19:22:53   lux             584
     2018-06-28 19:22:54   moisture        26
     2018-06-28 19:42:58   state           read sensor data
     2018-06-28 19:22:53   temperature     15.6
   helper:
     CallBattery 0
     CallSensDataCounter 0
     updateTimeCallBattery 0
Attributes:
   interval   1800
   model      flowerSense
   room       Pflanzen
   sshHost    pi@192.168.3.61
   stateFormat Temp: temperature °C, Dünger: fertility µS/cm, Feuchtigkeit: moisture %, Licht: lux Lux, Batterie: batteryLevel %

Mein Skript zum Schreiben der Readings wir manuell gestartet, nur um mal ein paar Daten zum Darstellen zu haben. Sollte eigentlich kein Problem für fhem sein.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 28 Juni 2018, 20:43:26
Keine Ahnung was du da machst aber das ganze Teil ist kaputt.
Lösche bitte das Devices über das Webinterface und lege es dann über das Webinterface neu an. Danach das Attribut für ssh setzen. Auf dem remote Rechner gibt es den user pi?

Bitte führe alle Befehle über das Webinterface aus. Ich gebe keinen Support für vermurkste include cfg editierungen!
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: hjjk am 28 Juni 2018, 21:15:03
Es handelt sich um ein frisch aufgesetztes fhem. Es gibt nur die 3 Devices.
Da von einer vermurksten Cfg zu reden halte ich für zeimlich überheblich.
Danke für den FREUNDLICHEN Support !!!
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: hjjk am 28 Juni 2018, 21:21:56
BTW, was ist an dieser Config vermurkst ?

define Rosen XiaomiBTLESens C4:7C:8D:66:XX:XX
attr loglevel 5
attr Rosen model flowerSense
attr Rosen interval 1800
attr Rosen room Pflanzen
attr Rosen sshHost pi@192.168.3.61
attr Rosen stateFormat Temp: temperature °C, Dünger: fertility µS/cm, Feuchtigkeit: moisture %, Licht: lux Lux, Batterie: batteryLevel %
define FileLog_Rosen FileLog ./log/Rosen-%Y-%m.log Rosen:batteryLevel:.*|Rosen:fertility:.*|Rosen:lux:.*|Rosen:moisture:.*|Rosen:temperature:.*
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 28 Juni 2018, 21:57:05
gatttool -i hci0 -b C4:7C:8D:66:2B:51 --char-read -a

Dein Log!
Hinter a fehlt das Value. Sowas dürfte eigentlich gar nicht vorkommen. Da stimmt also was nicht.


Entweder wir probieren es zusammen wie ich es sage oder Du findest alleine raus das ich Recht hatte.
Lösche bitte das Devices über die FHEMWEB und definiere es über FHEMWEB neu. Vorher bitte alle anderen fremden Scripte einstellen die auch auf gatttool oder Bluetooth wegen dem Sensor zugreifen.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: hjjk am 29 Juni 2018, 10:15:27
Ich habe es allein herausgefunden !
Woher nimmst du eigentlich deine Arroganz das DU Recht hast? Wenn ich Du wäre würde ich jetzt mal was zu deinem Code sagen, lass ich aber. Es führen bekanntlich viele Wege zum Ziel, nicht nur DEINER. Das solltest du mal bedenken.
Nochmals danke für deine FREUNDLICHE Hilfe.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: u.becker am 07 Juli 2018, 08:42:53
Hallo,

ich setze noch das alte Modul ein, habe aber seit einiger Zeit ein seltsames Phänomen.
mittels minMoisture.low steuere ich eine Pumpe, die dann meine Tomaten mit Wassser versorgt, funktioniert soweit, aber warum auch immer wird die Pumpe auch gestartet, wenn der minMoisture Wert größer dem Schwellwert ist.

list Tomate2
Internals:
   BTMAC      C4:7C:8D:63:5A:87
   DEF        C4:7C:8D:63:5A:87
   INTERVAL   3600
   NAME       Tomate2
   NR         26
   STATE      Temp: 16.9 °C, Dünger: 87 µS/cm, Feuchtigkeit: 43 %, Licht: 3668 Lux, Batterie: 99 %
   TYPE       XiaomiFlowerSens
   VERSION    1.0.3
   READINGS:
     2018-07-07 07:37:04   battery         ok
     2018-07-07 07:37:04   batteryLevel    99
     2018-07-07 07:37:04   fertility       87
     2018-07-07 07:37:04   firmware        3.1.8
     2018-05-12 11:00:20   lastGattError   Unknown Error, look at verbose 5 output
     2018-07-07 07:37:04   lux             3668
     2018-07-07 07:37:04   moisture        43
     2018-07-07 07:37:04   state           active
     2017-08-29 20:44:59   stateSoilMoisture ok
     2018-07-07 07:37:04   temperature     16.9
   helper:
Attributes:
   disabledForIntervals 21:00-24:00 00:00-07:00
   event-aggregator moisture:10800:none:max
   interval   3600
   minMoisture 40
   room       1.0_Tomatenhaus
   stateFormat Temp: temperature °C, Dünger: fertility µS/cm, Feuchtigkeit: moisture %, Licht: lux Lux, Batterie: batteryLevel %
   

list PumpEin
   
   Internals:
   DEF        Tomate2:minMoisture.low set Pumpe on-for-timer 60
   NAME       PumpeEin
   NOTIFYDEV  Tomate2
   NR         38
   NTFY_ORDER 50-PumpeEin
   REGEXP     Tomate2:minMoisture.low
   STATE      2018-07-07 07:37:04
   TYPE       notify
   READINGS:
     2018-07-03 17:31:35   state           active
Attributes:
   room       1.0_Tomatenhaus
Was kann da die Ursache sein?
Danke
 
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 07 Juli 2018, 11:22:12
Gibt es Einträge im Log. So kann man schwer was dazu sagen.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: u.becker am 07 Juli 2018, 11:59:29
In der Logdatei steht nur, das eine Mail verschickt wurde. Soll ich da mal einen Loglevel hochdrehen, wenn ja, welchen?
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 07 Juli 2018, 12:24:23
Wenn dann natürlich beim Pflanzensensor Device. Bitte einmal auf 5 stellen.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: u.becker am 07 Juli 2018, 21:31:04
2018.07.07 19:10:59 4: Sub XiaomiFlowerSens_Run (Tomate2) - start blocking call
2018.07.07 19:11:00 4: Sub XiaomiFlowerSens_BlockingRun (Tomate2) - Running nonBlocking
2018.07.07 19:11:00 5: Sub XiaomiFlowerSens_stateRequestTimer (Tomate2) - Request Timer wird aufgerufen
2018.07.07 19:11:00 5: Sub XiaomiFlowerSens_callGatttool (Tomate2) - WFR: 1
2018.07.07 19:11:02 4: Sub XiaomiFlowerSens_callGatttool (Tomate2) - write data to local host
2018.07.07 19:11:02 4: Sub XiaomiFlowerSens_callGatttool (Tomate2) - call gatttool charWrite loop 1
2018.07.07 19:11:02 4: Sub XiaomiFlowerSens_callGatttool (Tomate2) - charWrite wresp: Characteristic value was written successfully

2018.07.07 19:11:02 4: Sub XiaomiFlowerSens_callGatttool (Tomate2) - run gatttool
2018.07.07 19:11:02 4: Sub XiaomiFlowerSens_callGatttool (Tomate2) - call data from local host
2018.07.07 19:11:02 4: Sub XiaomiFlowerSens_callGatttool (Tomate2) - call gatttool charRead loop 1
2018.07.07 19:11:02 4: Sub XiaomiFlowerSens_callGatttool (Tomate2) - processing gatttool response. sensData[0]: Characteristic value/descriptor
2018.07.07 19:11:02 4: Sub XiaomiFlowerSens_callGatttool (Tomate2) - processing gatttool response. sensData: 06 01 00 e3 1b 00 00 23 7b 00 02 3c 00 fb 34 9b

2018.07.07 19:11:02 4: Sub XiaomiFlowerSens_callGatttool (Tomate2) - call firm/batt data from host local host
2018.07.07 19:11:02 4: Sub XiaomiFlowerSens (Tomate2) - call gatttool readBatFw loop 1
2018.07.07 19:11:02 4: Sub XiaomiFlowerSens_callGatttool (Tomate2) - processing gatttool response. batFwData: 63 27 33 2e 31 2e 38

2018.07.07 19:11:02 4: Sub XiaomiFlowerSens_BlockingRun (Tomate2) - Processing response data: 06 01 00 e3 1b 00 00 23 7b 00 02 3c 00 fb 34 9b

2018.07.07 19:11:02 4: Sub XiaomiFlowerSens_BlockingRun (Tomate2) - no dataerror, create encode json: {"lux":7139,"blevel":99,"fertility":123,"firmware":"3.1.8","temp":262,"moisture":35}
2018.07.07 19:11:02 1: sendEmail RCP: xxx@xxx.de
2018.07.07 19:11:02 1: sendEmail Subject: Tomate2 ist trocken Wert: 41
2018.07.07 19:11:02 1: sendEmail Text: Tomate2 Feuchtewert: 41
2018.07.07 19:11:02 1: sendEmail Anhang:
2018.07.07 19:11:09 1: sendEmail returned: Jul 07 19:11:09 tomatenpi sendEmail[31605]: Email was sent successfully!
2018.07.07 19:11:09 4: Sub XiaomiFlowerSens_BlockingDone (Tomate2) - Abschluss!
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 07 Juli 2018, 23:30:27
Passt doch.
moisture":35

Attribut minMoisture 40
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: u.becker am 08 Juli 2018, 17:14:01
nicht immer
hier meine Definition für die Nachricht

list Tomate2nachricht
Internals:
   DEF        Tomate2:minMoisture.low {DebianMail('xxx@xxx.de',$NAME.' ist trocken Wert: '.ReadingsVal("Tomate2","moisture",0),$NAME.' Feuchtewert: '.ReadingsVal("Tomate2","moisture",0));;}

   NAME       Tomate2nachricht
   NOTIFYDEV  Tomate2
   NR         29
   NTFY_ORDER 50-Tomate2nachricht
   REGEXP     Tomate2:minMoisture.low
   STATE      2018-07-08 15:57:01
   TYPE       notify
   READINGS:
     2018-07-04 09:18:52   state           active
in dem Beispiel oben zeigt moisture "35", in der Mail aber "41", Definition siehe den kopierten Code. Es passt ja manchmal?
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 08 Juli 2018, 18:13:44
Könnte die 41 noch der alte Wert sein?
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: u.becker am 08 Juli 2018, 22:52:19
nein, oder vielleicht doch? Der Wert von 14:54 in der Mail ist der von 12:47 gemessen, genauso bei 8:39 und 10:41h

Bsp von heute:

2018.07.08 07:37:34 4: Sub XiaomiFlowerSens_BlockingRun (Tomate2) - no dataerror, create encode json: {"blevel":99,"lux":1666,"moisture":32,"temp":137,"firmware":"3.1.8","fertility":92}
2018.07.08 07:37:35 1: sendEmail Text: Tomate2 Feuchtewert: 42

2018.07.08 08:39:27 4: Sub XiaomiFlowerSens_BlockingRun (Tomate2) - no dataerror, create encode json: {"lux":3392,"blevel":99,"fertility":175,"firmware":"3.1.8","temp":160,"moisture":44}
Keine Mail


2018.07.08 09:39:54 4: Sub XiaomiFlowerSens_BlockingRun (Tomate2) - no dataerror, create encode json: {"lux":10372,"blevel":99,"fertility":134,"firmware":"3.1.8","temp":213,"moisture":40}
Keine Mail

2018.07.08 10:41:39 4: Sub XiaomiFlowerSens_BlockingRun (Tomate2) - no dataerror, create encode json: {"temp":287,"moisture":36,"firmware":"3.1.8","fertility":90,"blevel":99,"lux":10652}
2018.07.08 10:41:39 1: sendEmail Text: Tomate2 Feuchtewert: 44

2018.07.08 11:43:35 4: Sub XiaomiFlowerSens_BlockingRun (Tomate2) - no dataerror, create encode json: {"fertility":123,"firmware":"3.1.8","moisture":41,"temp":311,"lux":49475,"blevel":99}
Keine Mail

2018.07.08 12:47:12 4: Sub XiaomiFlowerSens_BlockingRun (Tomate2) - no dataerror, create encode json: {"lux":13089,"blevel":99,"firmware":"3.1.8","fertility":181,"temp":240,"moisture":50}
Keine Mail

2018.07.08 13:49:57 4: Sub XiaomiFlowerSens_BlockingRun (Tomate2) - no dataerror, create encode json: {"lux":31009,"blevel":99,"firmware":"3.1.8","fertility":127,"moisture":41,"temp":324}
Keine Mail

2018.07.08 14:54:07 4: Sub XiaomiFlowerSens_BlockingRun (Tomate2) - no dataerror, create encode json: {"lux":40362,"blevel":99,"firmware":"3.1.8","fertility":96,"temp":335,"moisture":35}
2018.07.08 14:54:07 1: sendEmail Text: Tomate2 Feuchtewert: 50

2018.07.08 15:57:01 4: Sub XiaomiFlowerSens_BlockingRun (Tomate2) - no dataerror, create encode json: {"lux":47094,"blevel":99,"firmware":"3.1.8","fertility":111,"moisture":38,"temp":369}
2018.07.08 15:57:01 1: sendEmail Text: Tomate2 Feuchtewert: 38
Passt

2018.07.08 16:57:51 4: Sub XiaomiFlowerSens_BlockingRun (Tomate2) - no dataerror, create encode json: {"fertility":121,"firmware":"3.1.8","temp":360,"moisture":39,"lux":47094,"blevel":99}
2018.07.08 16:57:51 1: sendEmail Text: Tomate2 Feuchtewert: 38

2018.07.08 17:58:19 4: Sub XiaomiFlowerSens_BlockingRun (Tomate2) - no dataerror, create encode json: {"firmware":"3.1.8","fertility":154,"temp":282,"moisture":39,"lux":8734,"blevel":99}
2018.07.08 17:58:19 1: sendEmail Text: Tomate2 Feuchtewert: 39
Passt


2018.07.08 18:59:28 4: Sub XiaomiFlowerSens_BlockingRun (Tomate2) - no dataerror, create encode json: {"blevel":99,"lux":5529,"moisture":42,"temp":256,"firmware":"3.1.8","fertility":169}
Keine Mail

2018.07.08 19:59:41 4: Sub XiaomiFlowerSens_BlockingRun (Tomate2) - no dataerror, create encode json: {"fertility":135,"firmware":"3.1.8","moisture":37,"temp":237,"lux":4020,"blevel":99}
2018.07.08 19:59:41 1: sendEmail Text: Tomate2 Feuchtewert: 37
Passt
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 08 Juli 2018, 22:58:59
Muss ich bei mir mal testen
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: u.becker am 09 Juli 2018, 08:39:13
Falls es relevant ist, ich nutze noch das "alte" 74_XiaomiFlowerSens Modul

Danke
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 09 Juli 2018, 09:11:12
Falls es relevant ist, ich nutze noch das "alte" 74_XiaomiFlowerSens Modul

Danke

Testen kann ich wenn nur mit dem aktuellen.
Könntest Du denn ohne Probleme updaten. Ich weiß nicht ob es damit besser ist. Aber ein versuch wäre es wert. Wäre auch für mich einfacher.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Tobias am 10 Juli 2018, 14:27:30
@ext, bei mir habe ich einen pi zero W draußen installiert. Der hat nur fhem drauf und fragt alle BT Sensoren an und schickt die Werte mittels mqtt bridge zum Haupt fhem.
Funktioniert seit 3 Monaten problemlos

Gesendet von meinem Leap mit Tapatalk
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: ext23 am 10 Juli 2018, 18:03:04
danke auch Idee.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: u.becker am 12 Juli 2018, 22:08:19
So, ich habe auf das neue Modul umgestellt, aber die Ausgabe sieht etwas anders aus als beim alten Modul, den Block mit den gelesenen Werten im Klartext finde ich nicht mehr, Muss da noch was neu eingestellt werden? Hier ein Logauszug, wo in der Mail der Wert von 50 für moisture ausgegeben wird, der Trigger ist aber minmoisture=40

2018.07.11 13:03:24 4: XiaomiBTLESens (Tomate2) - Run CreateParamGatttool with mod: write
2018.07.11 13:03:25 5: XiaomiBTLESens (Tomate2) - Write XiaomiBTLESens_ExecGatttool_Run Tomate2|C4:7C:8D:63:5A:87|write|0x33|A01F
2018.07.11 13:03:25 4: XiaomiBTLESens (Tomate2) - stateRequestTimer: Call Request Timer
2018.07.11 13:03:25 5: XiaomiBTLESens (Tomate2) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:63:5A:87 --char-write-req -a 0x33 -n A01F 2>&1 /dev/null and loop 0
2018.07.11 13:03:29 5: XiaomiBTLESens (Tomate2) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully

2018.07.11 13:03:29 4: XiaomiBTLESens (Tomate2) - ExecGatttool_Run: gatttool result Characteristic value was written successfully

2018.07.11 13:03:29 5: XiaomiBTLESens (Tomate2) - ExecGatttool_Done: gatttool return string: Tomate2|C4:7C:8D:63:5A:87|ok|write|0x33|{"gtResult":"no data response"}
2018.07.11 13:03:29 4: XiaomiBTLESens (Tomate2) - Run CreateParamGatttool with mod: read
2018.07.11 13:03:29 5: XiaomiBTLESens (Tomate2) - Read XiaomiBTLESens_ExecGatttool_Run Tomate2|C4:7C:8D:63:5A:87|read|0x35
2018.07.11 13:03:29 5: XiaomiBTLESens (Tomate2) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:63:5A:87 --char-read -a 0x35 2>&1 /dev/null and loop 0
2018.07.11 13:03:29 5: XiaomiBTLESens (Tomate2) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,bc 00 00 86 27 00 00 26 81 00 02 3c 00 fb 34 9b

2018.07.11 13:03:29 4: XiaomiBTLESens (Tomate2) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,bc 00 00 86 27 00 00 26 81 00 02 3c 00 fb 34 9b

2018.07.11 13:03:29 5: XiaomiBTLESens (Tomate2) - ExecGatttool_Done: gatttool return string: Tomate2|C4:7C:8D:63:5A:87|ok|read|0x35|{"gtResult":"bc 00 00 86 27 00 00 26 81 00 02 3c 00 fb 34 9b "}
2018.07.11 13:03:29 4: XiaomiBTLESens (Tomate2) - ProcessingNotification
2018.07.11 13:03:29 4: XiaomiBTLESens (Tomate2) - ProcessingNotification: handle 0x35
2018.07.11 13:03:29 4: XiaomiBTLESens (Tomate2) - FlowerSens Handle0x35
2018.07.11 13:03:29 1: sendEmail RCP: lane@pbf.de
2018.07.11 13:03:29 1: sendEmail Subject: Tomate2 ist trocken Wert: 50
2018.07.11 13:03:29 1: sendEmail Text: Tomate2 Feuchtewert: 50
2018.07.11 13:03:29 1: sendEmail Anhang:
2018.07.11 13:03:36 1: sendEmail returned: Jul 11 13:03:36 tomatenpi sendEmail[20411]: Email was sent successfully!
2018.07.11 13:03:36 4: XiaomiBTLESens (Tomate2) - WriteReadings: Readings were written
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 13 Juli 2018, 09:08:22
Ich muss Dein Notify mal versuchen bei mir nach zu stellen.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 14 Juli 2018, 14:58:55
Ich habe das jetzt mal einen Tag getestet, ich kann das bei mir nicht nachstellen. Tut mir leid.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: u.becker am 15 Juli 2018, 12:30:39
Beim "alten" Modul gab's in der Ausgabe einen Eintrag mit "create encode json", worin die erkannten Werte lesbar waren

2018.07.07 19:11:02 4: Sub XiaomiFlowerSens_callGatttool (Tomate2) - processing gatttool response. batFwData: 63 27 33 2e 31 2e 38
2018.07.07 19:11:02 4: Sub XiaomiFlowerSens_BlockingRun (Tomate2) - Processing response data: 06 01 00 e3 1b 00 00 23 7b 00 02 3c 00 fb 34 9b
2018.07.07 19:11:02 4: Sub XiaomiFlowerSens_BlockingRun (Tomate2) - no dataerror, create encode json: {"lux":7139,"blevel":99,"fertility":123,"firmware":"3.1.8","temp":262,"moisture":35}


Beim aktuellen Modul sehe ich das nicht

2018.07.11 13:03:29 5: XiaomiBTLESens (Tomate2) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:63:5A:87 --char-read -a 0x35 2>&1 /dev/null and loop 0
2018.07.11 13:03:29 5: XiaomiBTLESens (Tomate2) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,bc 00 00 86 27 00 00 26 81 00 02 3c 00 fb 34 9b

2018.07.11 13:03:29 4: XiaomiBTLESens (Tomate2) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,bc 00 00 86 27 00 00 26 81 00 02 3c 00 fb 34 9b

2018.07.11 13:03:29 5: XiaomiBTLESens (Tomate2) - ExecGatttool_Done: gatttool return string: Tomate2|C4:7C:8D:63:5A:87|ok|read|0x35|{"gtResult":"bc 00 00 86 27 00 00 26 81 00 02 3c 00 fb 34 9b "}
2018.07.11 13:03:29 4: XiaomiBTLESens (Tomate2) - ProcessingNotification
2018.07.11 13:03:29 4: XiaomiBTLESens (Tomate2) - ProcessingNotification: handle 0x35
2018.07.11 13:03:29 4: XiaomiBTLESens (Tomate2) - FlowerSens Handle0x35

Muss ich da noch irgendwas einstellen oder fehlt diese Ausgabe einfach?
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 15 Juli 2018, 12:32:08
Diese Ausgabe gibt es nicht mehr, weil kein JSON mehr erstellt wird.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 17 Juli 2018, 08:20:04
Beim "alten" Modul gab's in der Ausgabe einen Eintrag mit "create encode json", worin die erkannten Werte lesbar waren

2018.07.07 19:11:02 4: Sub XiaomiFlowerSens_callGatttool (Tomate2) - processing gatttool response. batFwData: 63 27 33 2e 31 2e 38
2018.07.07 19:11:02 4: Sub XiaomiFlowerSens_BlockingRun (Tomate2) - Processing response data: 06 01 00 e3 1b 00 00 23 7b 00 02 3c 00 fb 34 9b
2018.07.07 19:11:02 4: Sub XiaomiFlowerSens_BlockingRun (Tomate2) - no dataerror, create encode json: {"lux":7139,"blevel":99,"fertility":123,"firmware":"3.1.8","temp":262,"moisture":35}


Beim aktuellen Modul sehe ich das nicht

2018.07.11 13:03:29 5: XiaomiBTLESens (Tomate2) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:63:5A:87 --char-read -a 0x35 2>&1 /dev/null and loop 0
2018.07.11 13:03:29 5: XiaomiBTLESens (Tomate2) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,bc 00 00 86 27 00 00 26 81 00 02 3c 00 fb 34 9b

2018.07.11 13:03:29 4: XiaomiBTLESens (Tomate2) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,bc 00 00 86 27 00 00 26 81 00 02 3c 00 fb 34 9b

2018.07.11 13:03:29 5: XiaomiBTLESens (Tomate2) - ExecGatttool_Done: gatttool return string: Tomate2|C4:7C:8D:63:5A:87|ok|read|0x35|{"gtResult":"bc 00 00 86 27 00 00 26 81 00 02 3c 00 fb 34 9b "}
2018.07.11 13:03:29 4: XiaomiBTLESens (Tomate2) - ProcessingNotification
2018.07.11 13:03:29 4: XiaomiBTLESens (Tomate2) - ProcessingNotification: handle 0x35
2018.07.11 13:03:29 4: XiaomiBTLESens (Tomate2) - FlowerSens Handle0x35

Muss ich da noch irgendwas einstellen oder fehlt diese Ausgabe einfach?




Ich habe in der neuen Version 2.2.0 eine Erweiterte Ausgabe eingebaut
Zitat
2018.07.17 08:17:22 4: XiaomiBTLESens (PflanzenSensor1) - Run CreateParamGatttool with mod: write
2018.07.17 08:17:29 4: XiaomiBTLESens (PflanzenSensor1) - ExecGatttool_Run: gatttool result Characteristic value was written successfully

2018.07.17 08:17:29 4: XiaomiBTLESens (PflanzenSensor1) - Run CreateParamGatttool with mod: read
2018.07.17 08:17:29 4: XiaomiBTLESens (PflanzenSensor1) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,dd 00 00 aa 01 00 00 29 c6 02 02 3c 00 fb 34 9b

2018.07.17 08:17:29 4: XiaomiBTLESens (PflanzenSensor1) - ProcessingNotification
2018.07.17 08:17:29 4: XiaomiBTLESens (PflanzenSensor1) - ProcessingNotification: handle 0x35
2018.07.17 08:17:29 4: XiaomiBTLESens (PflanzenSensor1) - FlowerSens Handle0x35
2018.07.17 08:17:29 4: XiaomiBTLESens (PflanzenSensor1) - FlowerSens Handle0x35 - lux: 426, moisture: 41, fertility: 710
2018.07.17 08:17:30 4: XiaomiBTLESens (PflanzenSensor1) - WriteReadings: Readings were written

Die neue Version gibt es morgen oder gleich über Github
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: FEHMPiDi am 17 Juli 2018, 13:19:33
Hallo,

kann jemand etwas zur Reichweite der Bluetooth thermo- Hygrometer in Verbindung mit einem RasPi 3 sagen.
Wieviel der Bluetooth devices kann man den eigentlich gleichzeitig mit dem RasPi koppeln. Gibt es da ein maximum?

Danke
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 17 Juli 2018, 13:25:26
Hallo,

kann jemand etwas zur Reichweite der Bluetooth thermo- Hygrometer in Verbindung mit einem RasPi 3 sagen.
Wieviel der Bluetooth devices kann man den eigentlich gleichzeitig mit dem RasPi koppeln. Gibt es da ein maximum?

Danke

Ein Maximum gibt es nicht. Aber ich denke mal so ab 10 -14 wird es eng mit dem Zeitversetzen Abfragen.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: ext23 am 17 Juli 2018, 13:48:23
Wieviel der Bluetooth devices kann man den eigentlich gleichzeitig mit dem RasPi koppeln. Gibt es da ein maximum?

Die werden doch garnicht gekoppelt oder? Ist das nicht nur ein Broadcast was die senden?
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 17 Juli 2018, 14:16:01
Nee gekoppelt wird da gar nichts. Wird einfach nur abgefragt.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: FEHMPiDi am 18 Juli 2018, 08:36:57
Achso, vielen Dank. Dann werde ich mir mal so ein Ding besorgen und testen. Ich hoffe nur das die BT Reichweite ausreicht.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Invers am 18 Juli 2018, 08:54:31
Ich habe 2 Hygro- Thermometer im Einsatz. Eine 73 qm grosse Wohnung kann man damit bezüglich Reichweite nicht abdecken, zumindest, wenn eine Wand dazwischen liegt. Für die Nachbarzimmer reicht es aber schon. Somit fällt bei mir eigentlich nur die Küche raus. Ich war verblüfft, dass die Abweichung beider Thermometer nur 0,2 Grad betragen. Da lagen sie natürlich direkt nebeneinander. Bei der Feuchte gab es gar keine Abweichung. Ich werde mir wohl noch 2 Stück zulegen. Die Batterien stehen nach etwa einem Monat Betriebszeit auf 98 Prozent. Ich denke aber, das ist meine Schuld, weil ich zu häufig abfrage. 
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 18 Juli 2018, 09:18:11
Alternativ kann man sich ja immer noch einen kleinen Pi holen und per ssh abrufen.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: ext23 am 18 Juli 2018, 14:15:34
Ich habe 2 Hygro- Thermometer im Einsatz. Eine 73 qm grosse Wohnung kann man damit bezüglich Reichweite nicht abdecken, zumindest, wenn eine Wand dazwischen liegt. Für die Nachbarzimmer reicht es aber schon. Somit fällt bei mir eigentlich nur die Küche raus. Ich war verblüfft, dass die Abweichung beider Thermometer nur 0,2 Grad betragen. Da lagen sie natürlich direkt nebeneinander. Bei der Feuchte gab es gar keine Abweichung. Ich werde mir wohl noch 2 Stück zulegen. Die Batterien stehen nach etwa einem Monat Betriebszeit auf 98 Prozent. Ich denke aber, das ist meine Schuld, weil ich zu häufig abfrage.

Kann ich bestätigen, wenn dei Türen offen sind geht das einigermaßen gut. Aber dolle ist es nicht, aber gut ist eben BLE.

An sicht sind die Teile gut, ich bin nur gespannt wann das Wasser durchdiffundiert bei der eigenartigen Beschichtung. Die Nährstoffangabe ist auch Blödsinn, hätte man sich sparen können.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Invers am 18 Juli 2018, 17:19:03
Nach meiner Auffassung haben wir ja gerade über die Thermometer von Xiaomi geredet, nicht über das Pflanzenteil. Aber ich denke, die Reichweite sollte theoretisch etwa gleich sein.
Beide Gerätearten laufen bei mir äusserst zuverlässig.


@CoolTux
Da wäre es aber einfacher, ein Anderes Thermometer zu kaufen. :-)
Danke nochmals für das tolle und sehr gut funktionierende Modul.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: mark79 am 28 Juli 2018, 17:05:59
Hallo CoolTux,

wenn du mal Zeit hast, könntest du vielleicht die Xiaomi Oclean SE Zahnbürste mit in dein Modul einbinden? :)
https://www.chinahandys.net/oclean-one-schallzahnbuerste-im-test/
Diese ist noch im Angebot, für 34,19€ https://www.mydealz.de/deals/xiaomi-oclean-se-sonic-elektrische-zahnburste-1193722

Ich habe etwas mit gatttool rumgespielt und mit "char-read-hnd 0x0011" lässt sich der Akku stand auslesen:

Akku 96%
[70:28:45:5E:FC:73][LE]> char-read-hnd 0x0011
Characteristic value/descriptor: 60

Akku 94%
[70:28:45:5E:FC:73][LE]> char-read-hnd 0x0011
Characteristic value/descriptor: 5e

root@rocki:~# gatttool -i hci0 -b 70:28:45:5E:FC:73 -I
[70:28:45:5E:FC:73][LE]> connect
Attempting to connect to 70:28:45:5E:FC:73
Connection successful
[70:28:45:5E:FC:73][LE]> primary
attr handle: 0x0001, end grp handle: 0x0007 uuid: 00001800-0000-1000-8000-00805f9b34fb
attr handle: 0x0008, end grp handle: 0x0008 uuid: 00001801-0000-1000-8000-00805f9b34fb
attr handle: 0x0009, end grp handle: 0x000b uuid: 00001802-0000-1000-8000-00805f9b34fb
attr handle: 0x000c, end grp handle: 0x000e uuid: 00001803-0000-1000-8000-00805f9b34fb
attr handle: 0x000f, end grp handle: 0x0012 uuid: 0000180f-0000-1000-8000-00805f9b34fb
attr handle: 0x0013, end grp handle: 0x0016 uuid: 0783b03e-8535-b5a0-7140-a304d2495cd7
attr handle: 0x0017, end grp handle: 0x0026 uuid: 8082caa8-41a6-4021-91c6-56f9b954cc18
attr handle: 0x0027, end grp handle: 0x0036 uuid: 0000fef5-0000-1000-8000-00805f9b34fb
attr handle: 0x0037, end grp handle: 0x0043 uuid: 0000180a-0000-1000-8000-00805f9b34fb
[70:28:45:5E:FC:73][LE]>
[70:28:45:5E:FC:73][LE]> char-desc
handle: 0x0001, uuid: 00002800-0000-1000-8000-00805f9b34fb
handle: 0x0002, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x0003, uuid: 00002a00-0000-1000-8000-00805f9b34fb
handle: 0x0004, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x0005, uuid: 00002a01-0000-1000-8000-00805f9b34fb
handle: 0x0006, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x0007, uuid: 00002a04-0000-1000-8000-00805f9b34fb
handle: 0x0008, uuid: 00002800-0000-1000-8000-00805f9b34fb
handle: 0x0009, uuid: 00002800-0000-1000-8000-00805f9b34fb
handle: 0x000a, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x000b, uuid: 00002a06-0000-1000-8000-00805f9b34fb
handle: 0x000c, uuid: 00002800-0000-1000-8000-00805f9b34fb
handle: 0x000d, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x000e, uuid: 00002a06-0000-1000-8000-00805f9b34fb
handle: 0x000f, uuid: 00002800-0000-1000-8000-00805f9b34fb
handle: 0x0010, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x0011, uuid: 00002a19-0000-1000-8000-00805f9b34fb
handle: 0x0012, uuid: 00002902-0000-1000-8000-00805f9b34fb
handle: 0x0013, uuid: 00002800-0000-1000-8000-00805f9b34fb
handle: 0x0014, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x0015, uuid: 0783b03e-8535-b5a0-7140-a304d2495cd8
handle: 0x0016, uuid: 00002902-0000-1000-8000-00805f9b34fb
handle: 0x0017, uuid: 00002800-0000-1000-8000-00805f9b34fb
handle: 0x0018, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x0019, uuid: 9d84b9a3-000c-49d8-9183-855b673fbb85
handle: 0x001a, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x001b, uuid: 5f78df94-798c-46f5-990a-855b673fbb86
handle: 0x001c, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x001d, uuid: 5f78df94-798c-46f5-990a-855b673fbb87
handle: 0x001e, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x001f, uuid: 5f78df94-798c-46f5-990a-855b673fbb88
handle: 0x0020, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x0021, uuid: 5f78df94-798c-46f5-990a-855b673fbb89
handle: 0x0022, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x0023, uuid: 5f78df94-798c-46f5-990a-855b673fbb90
handle: 0x0024, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x0025, uuid: 5f78df94-798c-46f5-990a-b3eb6a065c78
handle: 0x0026, uuid: 00002902-0000-1000-8000-00805f9b34fb
handle: 0x0027, uuid: 00002800-0000-1000-8000-00805f9b34fb
handle: 0x0028, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x0029, uuid: 8082caa8-41a6-4021-91c6-56f9b954cc34
handle: 0x002a, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x002b, uuid: 724249f0-5ec3-4b5f-8804-42345af08651
handle: 0x002c, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x002d, uuid: 6c53db25-47a1-45fe-a022-7c92fb334fd4
handle: 0x002e, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x002f, uuid: 9d84b9a3-000c-49d8-9183-855b673fda31
handle: 0x0030, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x0031, uuid: 457871e8-d516-4ca1-9116-57d0b17b9cb2
handle: 0x0032, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x0033, uuid: 5f78df94-798c-46f5-990a-b3eb6a065c88
handle: 0x0034, uuid: 00002902-0000-1000-8000-00805f9b34fb
handle: 0x0035, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x0036, uuid: 61c8849c-f639-4765-946e-5c3419bebb2a
handle: 0x0037, uuid: 00002800-0000-1000-8000-00805f9b34fb
handle: 0x0038, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x0039, uuid: 00002a29-0000-1000-8000-00805f9b34fb
handle: 0x003a, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x003b, uuid: 00002a24-0000-1000-8000-00805f9b34fb
handle: 0x003c, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x003d, uuid: 00002a25-0000-1000-8000-00805f9b34fb
handle: 0x003e, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x003f, uuid: 00002a27-0000-1000-8000-00805f9b34fb
handle: 0x0040, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x0041, uuid: 00002a26-0000-1000-8000-00805f9b34fb
handle: 0x0042, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x0043, uuid: 00002a28-0000-1000-8000-00805f9b34fb


Viele Grüße
Mark
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 28 Juli 2018, 19:57:20
Hallo CoolTux,

wenn du mal Zeit hast, könntest du vielleicht die Xiaomi Oclean SE Zahnbürste mit in dein Modul einbinden? :)
https://www.chinahandys.net/oclean-one-schallzahnbuerste-im-test/
Diese ist noch im Angebot, für 34,19€ https://www.mydealz.de/deals/xiaomi-oclean-se-sonic-elektrische-zahnburste-1193722

Ich habe etwas mit gatttool rumgespielt und mit "char-read-hnd 0x0011" lässt sich der Akku stand auslesen:

Akku 96%
[70:28:45:5E:FC:73][LE]> char-read-hnd 0x0011
Characteristic value/descriptor: 60

Akku 94%
[70:28:45:5E:FC:73][LE]> char-read-hnd 0x0011
Characteristic value/descriptor: 5e

root@rocki:~# gatttool -i hci0 -b 70:28:45:5E:FC:73 -I
[70:28:45:5E:FC:73][LE]> connect
Attempting to connect to 70:28:45:5E:FC:73
Connection successful
[70:28:45:5E:FC:73][LE]> primary
attr handle: 0x0001, end grp handle: 0x0007 uuid: 00001800-0000-1000-8000-00805f9b34fb
attr handle: 0x0008, end grp handle: 0x0008 uuid: 00001801-0000-1000-8000-00805f9b34fb
attr handle: 0x0009, end grp handle: 0x000b uuid: 00001802-0000-1000-8000-00805f9b34fb
attr handle: 0x000c, end grp handle: 0x000e uuid: 00001803-0000-1000-8000-00805f9b34fb
attr handle: 0x000f, end grp handle: 0x0012 uuid: 0000180f-0000-1000-8000-00805f9b34fb
attr handle: 0x0013, end grp handle: 0x0016 uuid: 0783b03e-8535-b5a0-7140-a304d2495cd7
attr handle: 0x0017, end grp handle: 0x0026 uuid: 8082caa8-41a6-4021-91c6-56f9b954cc18
attr handle: 0x0027, end grp handle: 0x0036 uuid: 0000fef5-0000-1000-8000-00805f9b34fb
attr handle: 0x0037, end grp handle: 0x0043 uuid: 0000180a-0000-1000-8000-00805f9b34fb
[70:28:45:5E:FC:73][LE]>
[70:28:45:5E:FC:73][LE]> char-desc
handle: 0x0001, uuid: 00002800-0000-1000-8000-00805f9b34fb
handle: 0x0002, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x0003, uuid: 00002a00-0000-1000-8000-00805f9b34fb
handle: 0x0004, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x0005, uuid: 00002a01-0000-1000-8000-00805f9b34fb
handle: 0x0006, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x0007, uuid: 00002a04-0000-1000-8000-00805f9b34fb
handle: 0x0008, uuid: 00002800-0000-1000-8000-00805f9b34fb
handle: 0x0009, uuid: 00002800-0000-1000-8000-00805f9b34fb
handle: 0x000a, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x000b, uuid: 00002a06-0000-1000-8000-00805f9b34fb
handle: 0x000c, uuid: 00002800-0000-1000-8000-00805f9b34fb
handle: 0x000d, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x000e, uuid: 00002a06-0000-1000-8000-00805f9b34fb
handle: 0x000f, uuid: 00002800-0000-1000-8000-00805f9b34fb
handle: 0x0010, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x0011, uuid: 00002a19-0000-1000-8000-00805f9b34fb
handle: 0x0012, uuid: 00002902-0000-1000-8000-00805f9b34fb
handle: 0x0013, uuid: 00002800-0000-1000-8000-00805f9b34fb
handle: 0x0014, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x0015, uuid: 0783b03e-8535-b5a0-7140-a304d2495cd8
handle: 0x0016, uuid: 00002902-0000-1000-8000-00805f9b34fb
handle: 0x0017, uuid: 00002800-0000-1000-8000-00805f9b34fb
handle: 0x0018, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x0019, uuid: 9d84b9a3-000c-49d8-9183-855b673fbb85
handle: 0x001a, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x001b, uuid: 5f78df94-798c-46f5-990a-855b673fbb86
handle: 0x001c, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x001d, uuid: 5f78df94-798c-46f5-990a-855b673fbb87
handle: 0x001e, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x001f, uuid: 5f78df94-798c-46f5-990a-855b673fbb88
handle: 0x0020, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x0021, uuid: 5f78df94-798c-46f5-990a-855b673fbb89
handle: 0x0022, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x0023, uuid: 5f78df94-798c-46f5-990a-855b673fbb90
handle: 0x0024, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x0025, uuid: 5f78df94-798c-46f5-990a-b3eb6a065c78
handle: 0x0026, uuid: 00002902-0000-1000-8000-00805f9b34fb
handle: 0x0027, uuid: 00002800-0000-1000-8000-00805f9b34fb
handle: 0x0028, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x0029, uuid: 8082caa8-41a6-4021-91c6-56f9b954cc34
handle: 0x002a, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x002b, uuid: 724249f0-5ec3-4b5f-8804-42345af08651
handle: 0x002c, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x002d, uuid: 6c53db25-47a1-45fe-a022-7c92fb334fd4
handle: 0x002e, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x002f, uuid: 9d84b9a3-000c-49d8-9183-855b673fda31
handle: 0x0030, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x0031, uuid: 457871e8-d516-4ca1-9116-57d0b17b9cb2
handle: 0x0032, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x0033, uuid: 5f78df94-798c-46f5-990a-b3eb6a065c88
handle: 0x0034, uuid: 00002902-0000-1000-8000-00805f9b34fb
handle: 0x0035, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x0036, uuid: 61c8849c-f639-4765-946e-5c3419bebb2a
handle: 0x0037, uuid: 00002800-0000-1000-8000-00805f9b34fb
handle: 0x0038, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x0039, uuid: 00002a29-0000-1000-8000-00805f9b34fb
handle: 0x003a, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x003b, uuid: 00002a24-0000-1000-8000-00805f9b34fb
handle: 0x003c, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x003d, uuid: 00002a25-0000-1000-8000-00805f9b34fb
handle: 0x003e, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x003f, uuid: 00002a27-0000-1000-8000-00805f9b34fb
handle: 0x0040, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x0041, uuid: 00002a26-0000-1000-8000-00805f9b34fb
handle: 0x0042, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x0043, uuid: 00002a28-0000-1000-8000-00805f9b34fb


Viele Grüße
Mark

Hallo Mark,

Ich schaue es mir die Wochen einmal an.


Grüße
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: mark79 am 28 Juli 2018, 23:59:26
Hallo Mark,

Ich schaue es mir die Wochen einmal an.

Hi Cooltux, das wäre super. Wenn du noch was brauchst, sag bescheid und es hat Zeit, der Akku soll angeblich 2 Monate durchhalten. :D

Gibt es eigentlich einen besseren Weg, um so was herauszufinden?
So etwas wie ein Sniffer, also das man die Kommunikation der APP mit dem Device mitschneiden kann...


Viele Grüße
Mark
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 29 Juli 2018, 07:24:07
Hi Cooltux, das wäre super. Wenn du noch was brauchst, sag bescheid und es hat Zeit, der Akku soll angeblich 2 Monate durchhalten. :D

Gibt es eigentlich einen besseren Weg, um so was herauszufinden?
So etwas wie ein Sniffer, also das man die Kommunikation der APP mit dem Device mitschneiden kann...


Viele Grüße
Mark

Es gibt da so die ein oder andere App. Musst bitte mal schauen. Oder eventuell findest Du sogar schon Infos im Netz.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: ToM_ToM am 02 August 2018, 07:23:48
Hi Leon,

mir ist aufgefallen dass disabledForIntervals bei mir nicht sauber arbeitet. Es wird zwar das Device korrekt disabled, aber nicht wieder enabled. Das Verhalten habe ich beim aktuellen als auch beim alten XiaomiFolowerSens Modul.

defmod Pflanze_07 XiaomiBTLESens C4:XX:XX:XX:XX:XX
attr Pflanze_07 DbLogExclude .*
attr Pflanze_07 alias Gasteria
attr Pflanze_07 disabledForIntervals 21:00-24:00 00:00-06:00
attr Pflanze_07 interval 3600
attr Pflanze_07 maxFertility 1000
attr Pflanze_07 maxLux 30000
attr Pflanze_07 maxMoisture 50
attr Pflanze_07 maxTemp 35
attr Pflanze_07 minFertility 300
attr Pflanze_07 minLux 3500
attr Pflanze_07 minMoisture 7
attr Pflanze_07 minTemp 5
attr Pflanze_07 model flowerSens
attr Pflanze_07 room FlowerSens
attr Pflanze_07 userReadings moistureFeeling:moisture.* {\
if (ReadingsVal($name, "moisture", -1) < AttrVal($name, "minMoisture", 0)) {\
return "too dry";;\
}\
elsif (ReadingsVal($name, "moisture", -1) > AttrVal($name, "maxMoisture", 100)) {\
return "too wet";;\
}\
else {\
return "good";;\
}\
}

setstate Pflanze_07 disabled
setstate Pflanze_07 2018-06-14 20:36:07 battery ok
setstate Pflanze_07 2018-06-14 20:36:07 batteryLevel 100
setstate Pflanze_07 2018-07-31 20:33:29 batteryPercent 100
setstate Pflanze_07 2018-07-31 20:33:29 batteryState ok
setstate Pflanze_07 2018-07-31 20:33:31 fertility 1332
setstate Pflanze_07 2018-07-31 20:33:29 firmware 3.1.8
setstate Pflanze_07 2018-07-28 19:14:27 lastGattError charWrite faild
setstate Pflanze_07 2018-07-31 20:33:31 lux 164
setstate Pflanze_07 2018-07-31 20:33:31 moisture 24
setstate Pflanze_07 2018-07-31 20:33:31 moistureFeeling good
setstate Pflanze_07 2018-08-01 21:31:20 state disabled
setstate Pflanze_07 2018-07-31 20:33:31 temperature 28.2

Ich hatte es auch mit disabledForIntervals 21:00-23:59 00:00-06:00 probiert. Gleiches Verhalten.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 02 August 2018, 07:30:12
Hallo Tom,

Deine aktuelle Konfiguration ist korrekt. Wie äußert sich denn das nicht funktionieren? Wird außerhalb des Zeitintervalls nicht abgefragt?
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: ToM_ToM am 02 August 2018, 08:17:04
Zitat
Deine aktuelle Konfiguration ist korrekt. Wie äußert sich denn das nicht funktionieren? Wird außerhalb des Zeitintervalls nicht abgefragt?[/quote
Ja genau. Du siehst ja, er hat um 21:31:20 den Status geändert und das Device disabled, jedoch wird es am nächsten Tag um 06:00 bzw. nach 06:00 nicht wieder enabled. Da der Abfrage-Intervall auf eine Stunde steht, würde ich erwarten dass spätestens gegen 07:00 die Abfrage ausgeführt werden müsste. Aber selbst um 08:00 hat sich nichts getan. Wenn ich dann manuell abfrage, geht's.

VG, Thomas
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 02 August 2018, 08:23:43
Da braucht ich dann aber bitte ein list vom Device, die raw definitions helfen mir da nicht.
Ich kann Dir nur sagen das es bei mir funktioniert. Das disabled verschwindet sobald der erste Aufruf nach dem Intervall kommt. Also frühstens 06:01 aber spätestens bei Dir wohl 8 Uhr
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: ToM_ToM am 02 August 2018, 17:10:38
Zitat
Da braucht ich dann aber bitte ein list vom Device, die raw definitions helfen mir da nicht.

Anbei das list. Die Mac habe ich verfälscht.

Internals:
   BTMAC      C4:XX:XX:XX:XX:70
   DEF        C4:XX:XX:XX:XX:70
   INTERVAL   3600
   NAME       Pflanze_07
   NOTIFYDEV  global,Pflanze_07
   NR         1007
   NTFY_ORDER 50-Pflanze_07
   STATE      disabled
   TYPE       XiaomiBTLESens
   VERSION    2.2.0
   loglevel   4
   READINGS:
     2018-06-14 20:36:07   battery         ok
     2018-06-14 20:36:07   batteryLevel    100
     2018-07-31 20:33:29   batteryPercent  100
     2018-07-31 20:33:29   batteryState    ok
     2018-07-31 20:33:31   fertility       1332
     2018-07-31 20:33:29   firmware        3.1.8
     2018-07-28 19:14:27   lastGattError   charWrite faild
     2018-07-31 20:33:31   lux             164
     2018-07-31 20:33:31   moisture        24
     2018-07-31 20:33:31   moistureFeeling good
     2018-08-01 21:31:20   state           disabled
     2018-07-31 20:33:31   temperature     28.2
   helper:
     CallBattery 0
     CallSensDataCounter 0
Attributes:
   DbLogExclude .*
   alias      Gasteria
   disabledForIntervals 21:00-24:00 00:00-06:00
   interval   3600
   maxFertility 1000
   maxLux     30000
   maxMoisture 50
   maxTemp    35
   minFertility 300
   minLux     3500
   minMoisture 7
   minTemp    5
   model      flowerSens
   room       FlowerSens
   userReadings moistureFeeling:moisture.* {
if (ReadingsVal($name, "moisture", -1) < AttrVal($name, "minMoisture", 0)) {
return "too dry";
}
elsif (ReadingsVal($name, "moisture", -1) > AttrVal($name, "maxMoisture", 100)) {
return "too wet";
}
else {
return "good";
}
}

VG, Thomas
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 02 August 2018, 20:07:55
OK. Dann bitte morgen früh noch mal wenn er eigentlich einmal angerufen haben sollte es aber nicht hat.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: ToM_ToM am 03 August 2018, 06:58:01
Guten Morgen.

Ich habe gestern Abend das disabledForIntervals von meinem XiaomiBTLESens umgestellt auf 21:00-24:00 00:00-04:00.
Und heute morgen lief alles korrekt.

Ich habe derzeit 5 aktive XiaomiFlowerSens und 1 aktiven XiaomiBTLESens die alle das gleiche disableForIntervals haben.
Kann es sein dass die sich in die Quere kommen weil die alle morgens um 06:00 loslaufen wollen?

Hier nochmal ein list (allerdings läuft es ja heute morgen korrekt)

Internals:
   BTMAC      C4:XX:XX:XX:XX:70
   DEF        C4:XX:XX:XX:XX:70
   INTERVAL   3600
   NAME       Pflanze_07
   NOTIFYDEV  global,Pflanze_07
   NR         1007
   NTFY_ORDER 50-Pflanze_07
   STATE      active
   TYPE       XiaomiBTLESens
   VERSION    2.2.0
   loglevel   4
   READINGS:
     2018-06-14 20:36:07   battery         ok
     2018-06-14 20:36:07   batteryLevel    100
     2018-08-02 18:53:42   batteryPercent  100
     2018-08-02 18:53:42   batteryState    ok
     2018-08-03 06:01:28   fertility       1496
     2018-08-02 18:53:42   firmware        3.1.8
     2018-07-28 19:14:27   lastGattError   charWrite faild
     2018-08-03 06:01:28   lux             21
     2018-08-03 06:01:28   moisture        22
     2018-08-03 06:01:28   moistureFeeling good
     2018-08-03 06:01:28   state           active
     2018-08-03 06:01:28   temperature     27.8
   helper:
     CallBattery 0
     CallSensDataCounter 0
     updateTimeCallBattery 1533228822.27665
     updateTimestampCallBattery 2018-08-02 18:53:42
Attributes:
   DbLogExclude .*
   alias      Gasteria
   disabledForIntervals 21:00-24:00 00:00-04:00
   interval   3600
   maxFertility 1000
   maxLux     30000
   maxMoisture 50
   maxTemp    35
   minFertility 300
   minLux     3500
   minMoisture 7
   minTemp    5
   model      flowerSens
   room       FlowerSens
   userReadings moistureFeeling:moisture.* {
if (ReadingsVal($name, "moisture", -1) < AttrVal($name, "minMoisture", 0)) {
return "too dry";
}
elsif (ReadingsVal($name, "moisture", -1) > AttrVal($name, "maxMoisture", 100)) {
return "too wet";
}
else {
return "good";
}
}
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 03 August 2018, 07:23:05
Keine Sorge. Die wollen nicht alle um Punkt 6 Uhr loslaufen.
Der Timer für jeden einzelnen Sensor läuft trotz disabled weiter. Es wird lediglich nicht abgefragt. Daher kann es sein das der letzte Timer ohne Abfrage 6 Uhr ist und dann dem zu Folge der nächste bei einer Stunde Intervall erst wieder 7 Uhr. Wichtig ist zu wissen daß bei jedem neuen Timer immer eine Zufallszahl mit dazu kommt von max 15 min.

Es muss bei Dir also was anderes sein.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: ToM_ToM am 08 August 2018, 17:39:27
Hi Leon,

ich hatte die jetzt alle wieder auf die gleiche Zeit gestellt und mal ein paar Tage beobachtet. Nun lief alles wie es sollte. Werde das nochmal länger beobachten. Aber nach manchen Neustarts von meinem Pi bekomme ich den Fehler No route to host (113).

hciconfig hci0 reset bringt dann Can't get device info: No such device

Dann muss ich meist den Bluethooth-Adapter abziehen und wieder anstecken und dann geht's. Hast du hier vielleicht einen Tipp für mich wie ich bei so einem Fehler den Adapter anders (automatisiert) neu einlesen kann?

VG, Thomas
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 08 August 2018, 18:13:55
Statt reset mal up und down nehmen.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: ToM_ToM am 10 August 2018, 07:27:56
Zitat
Statt reset mal up und down nehmen.

Funktioniert leider auch nicht da er das Device irgendwie nicht kennt. Es müsste eine Möglichkeit geben, dieses neu einzulesen ohne es immer manuell abzuziehen und neu anzustecken.

fhem@bananapi:~$ sudo hciconfig hci0 up
Can't get device info: No such device
fhem@bananapi:~$
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 10 August 2018, 07:44:47
Seltsam. Da weiß ich aber nicht wirklich mehr. Es gibt einige Einträge dazu im Forum. Vielleicht findest Du eine passende Lösung.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: mark79 am 10 August 2018, 11:05:08
Vielleicht hilft dir so was, ein USB Reset:

https://raspberrypi.stackexchange.com/questions/9264/how-do-i-reset-a-usb-device-using-a-script
https://gist.github.com/x2q/5124616
https://gist.github.com/zlot/1d867b7d941abde3f02636a54a1f8495

Ich würde einen anderen Kernel ausprobieren, der ist vermutlich die Ursache.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: ToM_ToM am 10 August 2018, 19:07:43
Zitat
Vielleicht hilft dir so was, ein USB Reset

Habe ich auch probiert mit:
modprobe -r btusb && sleep 1 && modprobe btusb
Aber funktioniert leider auch nicht. Er verliert den Stick auch irgendwie nur immer dann, wenn ich den Pi vom Strom getrennt hatte. Habe eben nochmal geteste. reboot und shutdown ist kein Thema. Erst nach einem shutdown + Stromtrennung ist der Stick nach Wiedereinschalten nicht mehr ansprechbar und muss manuelle entfernt und neu eingesteckt werden.
Evtl. muss ich mir eine USV organisieren.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: mark79 am 11 August 2018, 01:20:11
Bei mir funktioniert das mit dem USB Reset leider auch nicht. Bei mir handelt es sich um ein Playstation 3 Eye Kamera mit 4x Mikrofon (USB), was ich für Snips (Alexa ohne Cloud) verwende möchte.

Wenn ich den Rock64 oder Orange PI Zero reboote und das USB Device dabei verbunden ist, funktioniert das Device danach nicht mehr.
Wenn ich aber das USB Device abstecke und neu verbinde geht es.

Mach ich ein shutdown und trenne den Strom und verbinde es neu, funktioniert das USB Device nach dem Systemstart komischerweise.

Ich vermute das liegt am Kernel... Laut Berichten wurde das beim RPi durch ein Kernel update wohl behoben (noch nicht selbst getestet) und wir, mit dem Exoten Boards wurde das wohl vergessen zu beheben...
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: ToM_ToM am 11 August 2018, 09:53:42
Hi Leon,

heute hatte ich wieder den Fall dass alle Sensoren weiterhin auf "disabled" stehen. Und das, obwohl es mittlerweile schon 09:51 ist.


Internals:
   BTMAC      C4:XX:XX:XX:XX:70
   DEF        C4:XX:XX:XX:XX:70
   INTERVAL   3600
   NAME       Pflanze_07
   NOTIFYDEV  global,Pflanze_07
   NR         1005
   NTFY_ORDER 50-Pflanze_07
   STATE      disabled
   TYPE       XiaomiBTLESens
   VERSION    2.2.0
   loglevel   4
   READINGS:
     2018-06-14 20:36:07   battery         ok
     2018-06-14 20:36:07   batteryLevel    100
     2018-08-10 18:54:20   batteryPercent  100
     2018-08-10 18:54:20   batteryState    ok
     2018-08-10 20:54:55   fertility       1182
     2018-08-10 18:54:20   firmware        3.1.8
     2018-08-10 18:32:35   lastGattError   No route to host (113)
     2018-08-10 20:54:55   lux             115
     2018-08-10 20:54:55   moisture        21
     2018-08-10 20:54:55   moistureFeeling good
     2018-08-11 00:58:08   state           disabled
     2018-08-10 20:54:55   temperature     27.1
   helper:
     CallBattery 0
     CallSensDataCounter 0
Attributes:
   DbLogExclude .*
   alias      Gasteria
   disabledForIntervals 21:00-24:00 00:00-06:00
   interval   3600
   maxFertility 1000
   maxLux     30000
   maxMoisture 50
   maxTemp    35
   minFertility 300
   minLux     3500
   minMoisture 7
   minTemp    5
   model      flowerSens
   room       FlowerSens
   userReadings moistureFeeling:moisture.* {
if (ReadingsVal($name, "moisture", -1) < AttrVal($name, "minMoisture", 0)) {
return "too dry";
}
elsif (ReadingsVal($name, "moisture", -1) > AttrVal($name, "maxMoisture", 100)) {
return "too wet";
}
else {
return "good";
}
}


Zur Vollständigkeit auch hier nochmal ein List von einem Device mit dem alten Modul (da ich davon auch noch einige im Einsatz habe)

Internals:
   BTMAC      C4:YY:YY:YY:YY:4B
   DEF        C4:YY:YY:YY:YY:4B
   INTERVAL   3600
   NAME       Pflanze_01
   NOTIFYDEV  global
   NR         411
   NTFY_ORDER 50-Pflanze_01
   STATE      disabled
   TYPE       XiaomiFlowerSens
   VERSION    1.4.1
   loglevel   4
   READINGS:
     2018-08-10 18:54:12   battery         ok
     2018-08-10 18:54:12   batteryLevel    98
     2018-08-10 19:58:40   fertility       253
     2018-08-10 18:54:12   firmware        3.1.4
     2018-08-10 18:32:30   lastGattError   No route to host (113)
     2018-08-10 19:58:40   lux             1289
     2018-08-10 19:58:40   moisture        23
     2018-08-10 19:58:40   moistureFeeling good
     2018-08-11 00:57:57   state           disabled
     2018-08-10 19:58:40   temperature     29.2
   helper:
     CallBatteryFirmware 0
     CallSensDataCounter 0
Attributes:
   DbLogInclude batteryLevel:86400,fertility,lux,moisture,temperature
   alias      Kalanchoe
   disabledForIntervals 21:00-24:00 00:00-06:00
   hciDevice  hci0
   interval   3600
   maxFertility 2000
   maxLux     60000
   maxMoisture 60
   maxTemp    32
   minFertility 350
   minLux     3000
   minMoisture 7
   minTemp    10
   room       FlowerSens
   userReadings moistureFeeling:moisture.* {
if (ReadingsVal($name, "moisture", -1) < AttrVal($name, "minMoisture", 0)) {
return "too dry";
}
elsif (ReadingsVal($name, "moisture", -1) > AttrVal($name, "maxMoisture", 100)) {
return "too wet";
}
else {
return "good";
}
}
   verbose    0



VG, Thomas
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 11 August 2018, 10:15:55
Interessant. Der letzte Durchlauf war 0:58 Uhr. Danach lief kein Timer mehr. Eine Erklärung habe ich dafür nicht. Du kannst versuchen verbose 5 bei einem Device an zu stellen, eventuell sieht man dann mehr.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: ToM_ToM am 11 August 2018, 10:26:07
Gegen 0:58 hatte ich FHEM neu gestartet da ich gestern noch bisschen was gebastelt hatte. Kann es sein dass ich das System in der Zeit wo die Geräte disabled sind, nicht neu starten darf da dann die Timer die das Gerät wieder enablen sollen, verloren gehen?
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 11 August 2018, 10:58:18
Eigentlich sollte das nicht das Problem sein. Die Timer sollten dennoch laufen. Ich schaue es mir aber mal an.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: mark79 am 13 August 2018, 23:47:56
Es gibt da so die ein oder andere App. Musst bitte mal schauen. Oder eventuell findest Du sogar schon Infos im Netz.
Ich bin heute zufällig auf so etwas gestoßen:
https://www.heise.de/security/meldung/Btlejack-Neues-Gratis-Tool-zum-Belauschen-von-Bluetooth-Verbindungen-4134142.html
https://github.com/virtualabs/btlejack

Man benötigt allerdings ein Micro:Bit, der kostet jedoch nur ~16€.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 14 August 2018, 06:54:00
Ich bin heute zufällig auf so etwas gestoßen:
https://www.heise.de/security/meldung/Btlejack-Neues-Gratis-Tool-zum-Belauschen-von-Bluetooth-Verbindungen-4134142.html
https://github.com/virtualabs/btlejack

Man benötigt allerdings ein Micro:Bit, der kostet jedoch nur ~16€.

Wenn man im Netz schaut findet man diverse Anleitungen. Unteranderem gibt es bei Android unter Entwicklertools, also das was man freischalten muss, die Möglichkeit ein BT Log schreiben zu lassen welches man dann mit Wireshark auslesen kann.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 14 August 2018, 06:56:33
Gegen 0:58 hatte ich FHEM neu gestartet da ich gestern noch bisschen was gebastelt hatte. Kann es sein dass ich das System in der Zeit wo die Geräte disabled sind, nicht neu starten darf da dann die Timer die das Gerät wieder enablen sollen, verloren gehen?

Hab Dich nicht vergessen. Ich teste noch.  ;D
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: ToM_ToM am 17 August 2018, 07:22:17
Hi Leon,

ich hatte mich die Tage gewundert warum meine Pflanzen kein Wasser mehr verbrauchen und die Bodenfeuchtigkeit über Tage konstant bleibt obwohl die Sensoren alle den Status "active" haben.
Irgendwie werden die Daten nicht mehr automatisch abegerufen.

Internals:
   BTMAC      C4:XX:XX:XX:XX:70
   DEF        C4:XX:XX:XX:XX:70
   INTERVAL   3600
   NAME       Pflanze_07
   NOTIFYDEV  global,Pflanze_07
   NR         1005
   NTFY_ORDER 50-Pflanze_07
   STATE      active
   TYPE       XiaomiBTLESens
   VERSION    2.2.0
   loglevel   4
   READINGS:
     2018-06-14 20:36:07   battery         ok
     2018-06-14 20:36:07   batteryLevel    100
     2018-08-11 11:39:47   batteryPercent  100
     2018-08-11 11:39:47   batteryState    ok
     2018-08-11 11:39:48   fertility       1149
     2018-08-11 11:39:47   firmware        3.1.8
     2018-08-10 18:32:35   lastGattError   No route to host (113)
     2018-08-11 11:39:48   lux             624
     2018-08-11 11:39:48   moisture        21
     2018-08-11 11:39:48   moistureFeeling good
     2018-08-11 11:39:48   state           active
     2018-08-11 11:39:48   temperature     26.7
   helper:
     CallBattery 0
     CallSensDataCounter 0
     updateTimeCallBattery 1533980387.58388
     updateTimestampCallBattery 2018-08-11 11:39:47
Attributes:
   DbLogExclude .*
   alias      Gasteria
   disabledForIntervals 21:00-24:00 00:00-06:00
   interval   3600
   maxFertility 1000
   maxLux     30000
   maxMoisture 50
   maxTemp    35
   minFertility 300
   minLux     3500
   minMoisture 7
   minTemp    5
   model      flowerSens
   room       FlowerSens
   userReadings moistureFeeling:moisture.* {
if (ReadingsVal($name, "moisture", -1) < AttrVal($name, "minMoisture", 0)) {
return "too dry";
}
elsif (ReadingsVal($name, "moisture", -1) < AttrVal($name, "minMoisture", 100) + 3) {
return "getting dry";
}
elsif (ReadingsVal($name, "moisture", -1) > AttrVal($name, "maxMoisture", 100)) {
return "too wet";
}
else {
return "good";
}
}

Nachdem ich manuell
get Pflanze_07 sensorDataausführe, holt er die Daten ohne Probleme und das list sieht danach so aus:

Internals:
   BTMAC      C4:XX:XX:XX:XX:70
   DEF        C4:XX:XX:XX:XX:70
   INTERVAL   3600
   NAME       Pflanze_07
   NOTIFYDEV  global,Pflanze_07
   NR         1005
   NTFY_ORDER 50-Pflanze_07
   STATE      active
   TYPE       XiaomiBTLESens
   VERSION    2.2.0
   loglevel   4
   READINGS:
     2018-06-14 20:36:07   battery         ok
     2018-06-14 20:36:07   batteryLevel    100
     2018-08-17 07:19:58   batteryPercent  100
     2018-08-17 07:19:58   batteryState    ok
     2018-08-17 07:20:46   fertility       950
     2018-08-17 07:19:58   firmware        3.1.8
     2018-08-10 18:32:35   lastGattError   No route to host (113)
     2018-08-17 07:20:46   lux             217
     2018-08-17 07:20:46   moisture        20
     2018-08-17 07:20:46   moistureFeeling good
     2018-08-17 07:20:46   state           active
     2018-08-17 07:20:46   temperature     25.9
   helper:
     CallBattery 0
     CallSensDataCounter 0
     updateTimeCallBattery 1534483198.95201
     updateTimestampCallBattery 2018-08-17 07:19:58
Attributes:
   DbLogExclude .*
   alias      Gasteria
   disabledForIntervals 21:00-24:00 00:00-06:00
   interval   3600
   maxFertility 1000
   maxLux     30000
   maxMoisture 50
   maxTemp    35
   minFertility 300
   minLux     3500
   minMoisture 7
   minTemp    5
   model      flowerSens
   room       FlowerSens
   userReadings moistureFeeling:moisture.* {
if (ReadingsVal($name, "moisture", -1) < AttrVal($name, "minMoisture", 0)) {
return "too dry";
}
elsif (ReadingsVal($name, "moisture", -1) < AttrVal($name, "minMoisture", 100) + 3) {
return "getting dry";
}
elsif (ReadingsVal($name, "moisture", -1) > AttrVal($name, "maxMoisture", 100)) {
return "too wet";
}
else {
return "good";
}
}

Hast du eine Idee was da schief läuft?
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 17 August 2018, 07:39:33
Wollte Dir heute schreiben. Ich habe die Woche über auf einem Testsystem getestet und natürlich auch auf meinem Life. Gerade was das Neusarten innerhalb der disableForInterval Zeit an geht. Ich habe da keine Probleme festgestellt. Und gerade Deine aktuelle Beschreibung ist seltsam. Da scheinst Du ja kein Neustart gemacht zu haben sondern es hörte einfach auf die Daten ab zu rufen.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 17 August 2018, 07:45:31
Was mir aber auf fällt das der letzte Timestamp aller Readings kurz vor dem setzen und abrufen des Batteriestatus endet. Muss nichts heißen aber ich schaue da mal.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: choetzu am 03 September 2018, 22:49:47
Hallo
Ich habe 4 Stk Flower Care in meinem Garten im Aussenbereich. Ich steuEre damit meine Gardena Water Control Bewässerung. Auch wenn es nicht für Aussen gedacht ist, hat es eigentlich während der Trockenperiode relativ zuverlässig funktioniert.

Seit neustem spinnen die Sensoren und haben Mühe zu connecten, obschonich die Distanz nicht verändert habe. Zudem kommen vermehrt solche Meldungen:

2018.09.01 14:58:59 3: XiaomiBTLESens (Heidelbeeren_FlowerCare) - defined with BTMAC C4:7C:8D:65:FF:E4
2018.09.01 14:58:59 1: XiaomiBTLESens (Heidelbeeren_FlowerCare) - readings battery and batteryLevel a deprecated and will be remove in future
2018.09.01 14:58:59 3: XiaomiBTLESens (Rhabarber_FlowerCare) - defined with BTMAC C4:7C:8D:66:01:EA

2018.09.01 19:29:45 1: Timeout for XiaomiBTLESens_ExecGatttool_Run reached, terminated process 1833
2018.09.01 19:31:55 1: Timeout for XiaomiBTLESens_ExecGatttool_Run reached, terminated process 1994
2018.09.01 19:35:39 1: Timeout for XiaomiBTLESens_ExecGatttool_Run reached, terminated process 2119
2018.09.01 19:37:43 1: Timeout for XiaomiBTLESens_ExecGatttool_Run reached, terminated process 2262
2018.09.01 19:41:07 1: Timeout for XiaomiBTLESens_ExecGatttool_Run reached, terminated process 2459
2018.09.01 19:44:02 1: Timeout for XiaomiBTLESens_ExecGatttool_Run reached, terminated process 2621
2018.09.01 19:46:12 1: Timeout for XiaomiBTLESens_ExecGatttool_Run reached, terminated process 2704
2018.09.01 19:49:08 1: Timeout for XiaomiBTLESens_ExecGatttool_Run reached, terminated process 2877
2018.09.01 19:51:30 1: Timeout for XiaomiBTLESens_ExecGatttool_Run reached, terminated process 2958
2018.09.01 19:54:34 1: Timeout for XiaomiBTLESens_ExecGatttool_Run reached, terminated process 3058
2018.09.01 19:57:24 1: Timeout for XiaomiBTLESens_ExecGatttool_Run reached, terminated process 3224

Ich habe nun alles deaktiviert. Woran könnte das liegen? Danke für input..

Lg c
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 03 September 2018, 22:59:27
Die oberen Meldungen sind normal.

Das untere bedeutet daß der Abrufenprozess nach 2 min beendet werden musste, es also zu keiner Verbindung kam. Zum testen empfehle ich die Geräte neben dem Pi mit dem BT Single zu legen und noch mal ab zu rufen.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: onkel_joerg am 03 September 2018, 23:30:13
Ich weiss, es ist etwas OT, aber hat schon jemand die Erfahrung gemacht, dass der Sensor einige Zeit (14) Tage prima läuft, und dann die Batterie innerhalb eines Tages komplett runter geht? bei mir ist das gerade wieder der Fall.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: ToM_ToM am 04 September 2018, 09:15:29
Hallo onkel_joerg,

ja, die Erfahrung konnte ich auch machen. An dem einen Tag noch 97 Prozent Akku und am nächsten Tag war Feierabend. Jedoch hatte ich das erst bei einem Sensor. Meine Vermutung war damals dass dieser beim Gießen zu viel bzw. ungünstig Wasser abbekommen hat, es intern einen Kurzschluss gab und dadurch die Batterie leer gesaugt wurde. Die Hardware hat das zum Glück überstanden (falls es überhaupt daran lag)
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: choetzu am 05 September 2018, 21:17:54
Die oberen Meldungen sind normal.

Das untere bedeutet daß der Abrufenprozess nach 2 min beendet werden musste, es also zu keiner Verbindung kam. Zum testen empfehle ich die Geräte neben dem Pi mit dem BT Single zu legen und noch mal ab zu rufen.

danke. das habe ich auch gemacht. da gibt es keine Probleme. Die Sensoren sind ca. 10 Meter vom Raspi entfernt. Getrennt durch eine Aussenwand von ca. 30cm und Isolation..  Komisch nur, dass es bislang (Sommer, trocken) ohne Probleme ging.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 05 September 2018, 21:53:34
Alles was mit Funk zu tun hat ist Wetter und Witterungsabhängig. Da reicht schon bisschen feuchte Wand oder Luft.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: choetzu am 05 September 2018, 22:05:39
Danke. Hmm. Da meine Bewässerung durch die Sensoren gesteuert werden, brauche ich eine Gewisse Zuverlässigkeit. Flower Care ist offensichtlich nicht di Lösung.. muss mich umsehen.. lg tom
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: ext23 am 05 September 2018, 22:07:26
Alles was mit Funk zu tun hat ist Wetter und Witterungsabhängig. Da reicht schon bisschen feuchte Wand oder Luft.

Na na na, das ist jetzt aber eine sehr pauschale Aussage ;-) Und "bisschen feuchte" im Kabel ist auch schlecht ^^
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: nanocosmos am 08 September 2018, 21:13:57
Guten Abend,

bei mir zeigen sowohl die Flower Care, als auch die Temp Hygro Sensoren die Fehlermeldung :
Function not implemented (38)
   
Gleicher Fehler erscheint auch, wenn ich die Sensoren aus der Konsole abrufe.

Habt ihr vielleicht einen Rat für mich?

Besten Dank und viele Grüße!
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 08 September 2018, 21:17:01
Guten Abend,

bei mir zeigen sowohl die Flower Care, als auch die Temp Hygro Sensoren die Fehlermeldung :
Function not implemented (38)
   
Gleicher Fehler erscheint auch, wenn ich die Sensoren aus der Konsole abrufe.

Habt ihr vielleicht einen Rat für mich?

Besten Dank und viele Grüße!

Kannst Du nicht mal Batteriestatus abrufen? Was ist wenn du näher an den Pi gehst?
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: nanocosmos am 08 September 2018, 21:34:26
Erstmal Danke, dass Du mir zu solch späten Stunde hilfst!
Sämtliche Readings sind leider schon einen Monat alt. Bekomme also auch keine aktuellen Werte des Batteriestatus.

Kleine Korrektur: Ein Flower Care gibt folgendes von sich : The BlockingCall Process terminated unexpectedly. Timedout
   
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: nanocosmos am 08 September 2018, 21:36:41
Werde einen Sensor gleich mal neben den Raspi (3 mit Bluetooth) legen.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 08 September 2018, 21:53:53
Das deutet alles auf nicht erreichbar hin.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: MadMax-FHEM am 08 September 2018, 21:58:22
Den und andere/ähnliche Fehler hab ich ab und an auch...
(kann grad leider nicht genauer sagen, bin unterwegs)
Aber nicht dauerhaft...
Manchmal mehr/öfter und dann auch wieder gar nicht...

Habe 9 Stück per Raspi-Zero und ssh angebunden...

Also bis auf die Meldungen im Log läuft es...

Habe es auch auf Verbindungsprobleme geschoben...

Gruß, Joachim
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: nanocosmos am 08 September 2018, 22:18:24
Direkt neben dem PI gehen die Flower Care Sensoren. Die anderen habe ich noch nicht ausprobiert.
Aber komisch, dass es monatelang trotz der anscheinend zu großen Entfernung funktioniert hat.
Habe übrigens noch eine neue Meldung: Transport endpoint is not connected (107)
Auch wieder ein Reichweitenproblem?

Die Sache mit der ssh Anbindung habe ich schon oft gelesen, wie genau funktioniert das denn?

Besten Dank euch!
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 08 September 2018, 22:26:09
Direkt neben dem PI gehen die Flower Care Sensoren. Die anderen habe ich noch nicht ausprobiert.
Aber komisch, dass es monatelang trotz der anscheinend zu großen Entfernung funktioniert hat.
Habe übrigens noch eine neue Meldung: Transport endpoint is not connected (107)
Auch wieder ein Reichweitenproblem?

Die Sache mit der ssh Anbindung habe ich schon oft gelesen, wie genau funktioniert das denn?

Besten Dank euch!

Vielleicht neue Batterie.
Einen Linux Rechner in der Nähe der Sensoren aufbauen und dann ssh so einrichten das es ohne Passwort und mit Keyfile geht.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: MadMax-FHEM am 08 September 2018, 22:35:27
Stimmt an die Meldung kann ich mich auch erinnern: Transport endpoint is not connected (107)

Aber wie geschrieben mal häufiger und mal auch (fast) gar nicht...

Evtl. je nach Feuchtigkeit der Pflanzen bzw. wie sie grad "über die Sensoren gewachsen" sind... ;)

ssh: http://heinz-otto.blogspot.com/2017/01/per-ssh-remote-befehle-direkt-ausfuhren.html

Oder (bei Problemen): https://forum.fhem.de/index.php/topic,82942.msg751131.html#msg751131

Gruß, Joachim
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: onkel_joerg am 09 September 2018, 00:07:59
Alles was mit Funk zu tun hat ist Wetter und Witterungsabhängig. Da reicht schon bisschen feuchte Wand oder Luft.
Ja, aber wenn das Teil INNEN angebracht ist und 2 Wochen mit so ziemlich keinem Verbrauch läuft und dann innerhalb eines Tages (ohne Veränderung des Ortes und der Bedingungen) von 96% auf 0% geht, dann erzeugt das doch schon einige Fragezeichen über meinem Kopf
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 09 September 2018, 00:24:52
Ja, aber wenn das Teil INNEN angebracht ist und 2 Wochen mit so ziemlich keinem Verbrauch läuft und dann innerhalb eines Tages (ohne Veränderung des Ortes und der Bedingungen) von 96% auf 0% geht, dann erzeugt das doch schon einige Fragezeichen über meinem Kopf

Meine Aussage bezog sich nicht auf Deinen Post!
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: onkel_joerg am 09 September 2018, 08:21:24
Meine Aussage bezog sich nicht auf Deinen Post!
Ah, ok. ;)
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Clue am 10 September 2018, 21:38:47
Hallo zusammen,

ich habe das Problem, dass ich nach einer unbestimmten Zeit einen Error bekomme. Verbose 5 gibt folgendes Log:

...
2018.09.10 21:01:16 4: XiaomiBTLESens (FlowerCareWohnzimmerKastanie) - Run CreateParamGatttool with mod: read
2018.09.10 21:01:16 5: XiaomiBTLESens (FlowerCareWohnzimmerKastanie) - Read XiaomiBTLESens_ExecGatttool_Run FlowerCareWohnzimmerKastanie|C4:7C:8D:66:CA:A0|read|0x38
2018.09.10 21:01:16 4: XiaomiBTLESens (FlowerCareWohnzimmerKastanie) - stateRequestTimer: Call Request Timer
2018.09.10 21:01:16 3: XiaomiBTLESens (FlowerCareWohnzimmerKastanie) - ExecGatttool_Run: another gatttool process is running. waiting...
...
...
2018.09.10 21:02:46 1: Timeout for XiaomiBTLESens_ExecGatttool_Run reached, terminated process 6876
2018.09.10 21:02:46 4: XiaomiBTLESens (FlowerCareWohnzimmerKastanie) - WriteReadings: Readings were written
2018.09.10 21:02:46 4: XiaomiBTLESens (FlowerCareWohnzimmerKastanie) - ExecGatttool_Aborted: The BlockingCall Process terminated unexpectedly. Timedout
...

die Distanz spielt keine Rolle.
Ob ich das Device disable oder nicht spielt für "ps ax | grep gatttool" keine Rolle. Beides liefert folgende Ausgabe:

root@Heimhirn:/# ps ax | grep gatttool                                                                                                                                                                                                                           
  920 pts/0    S      0:00 sh -c gatttool -i hci0 -b C4:7C:8D:66:CA:A0 --char-read -a 0x35 2>&1 /dev/null                                                                                                                                                       
  921 pts/0    S      0:00 gatttool -i hci0 -b C4:7C:8D:66:CA:A0 --char-read -a 0x35 /dev/null                                                                                                                                                                   
 7589 pts/0    S+     0:00 grep --color=auto gatttool

Einem früheren Beitrag von CoolTux habe ich entnommen, dass das heisst, dass eventuell mein Gatttool nicht sauber beendet wird(?).
Mein Fhem läuft in einem Docker Container ohne sonstige Probleme. Wenn ich den Docker Container neu starte funktioniert auch wieder alles und ich habe folgende Ausgabe:

root@Heimhirn:/# ps ax | grep gatttool                                                                                                                                                                                                                           
   45 pts/0    S+     0:00 grep --color=auto gatttool   

Mit der App geht alles tadellos, natürlich wird diese auch sauber von mir beendet.

Ein wenig Unterstützung wäre total super, ihr rettet Pflanzenleben damit ;). Auf jeden Fall aber super Arbeit.

Grüße
Christoph


Edit:
Während ich im Error bin kann ich aber anscheinend mittels Konsole auf das Gerät zugreifen:

root@Heimhirn:/# gatttool -i hci0 -b C4:7C:8D:66:CA:A0 --char-read -a 0x35                                                                                                                                                                                       
Characteristic value/descriptor: aa bb cc dd ee ff 99 88 77 66 00 00 00 00 00 00                                                                                                                                                                                 
root@Heimhirn:/# gatttool -i hci0 -b C4:7C:8D:66:CA:A0 --char-read -a 0x38                                                                                                                                                                                       
Characteristic value/descriptor: 64 28 33 2e 31 2e 39 
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 10 September 2018, 21:53:59
Hallo zusammen,

ich habe das Problem, dass ich nach einer unbestimmten Zeit einen Error bekomme. Verbose 5 gibt folgendes Log:

...
2018.09.10 21:01:16 4: XiaomiBTLESens (FlowerCareWohnzimmerKastanie) - Run CreateParamGatttool with mod: read
2018.09.10 21:01:16 5: XiaomiBTLESens (FlowerCareWohnzimmerKastanie) - Read XiaomiBTLESens_ExecGatttool_Run FlowerCareWohnzimmerKastanie|C4:7C:8D:66:CA:A0|read|0x38
2018.09.10 21:01:16 4: XiaomiBTLESens (FlowerCareWohnzimmerKastanie) - stateRequestTimer: Call Request Timer
2018.09.10 21:01:16 3: XiaomiBTLESens (FlowerCareWohnzimmerKastanie) - ExecGatttool_Run: another gatttool process is running. waiting...
...
...
2018.09.10 21:02:46 1: Timeout for XiaomiBTLESens_ExecGatttool_Run reached, terminated process 6876
2018.09.10 21:02:46 4: XiaomiBTLESens (FlowerCareWohnzimmerKastanie) - WriteReadings: Readings were written
2018.09.10 21:02:46 4: XiaomiBTLESens (FlowerCareWohnzimmerKastanie) - ExecGatttool_Aborted: The BlockingCall Process terminated unexpectedly. Timedout
...

die Distanz spielt keine Rolle.
Ob ich das Device disable oder nicht spielt für "ps ax | grep gatttool" keine Rolle. Beides liefert folgende Ausgabe:

root@Heimhirn:/# ps ax | grep gatttool                                                                                                                                                                                                                           
  920 pts/0    S      0:00 sh -c gatttool -i hci0 -b C4:7C:8D:66:CA:A0 --char-read -a 0x35 2>&1 /dev/null                                                                                                                                                       
  921 pts/0    S      0:00 gatttool -i hci0 -b C4:7C:8D:66:CA:A0 --char-read -a 0x35 /dev/null                                                                                                                                                                   
 7589 pts/0    S+     0:00 grep --color=auto gatttool

Einem früheren Beitrag von CoolTux habe ich entnommen, dass das heisst, dass eventuell mein Gatttool nicht sauber beendet wird(?).
Mein Fhem läuft in einem Docker Container ohne sonstige Probleme. Wenn ich den Docker Container neu starte funktioniert auch wieder alles und ich habe folgende Ausgabe:

root@Heimhirn:/# ps ax | grep gatttool                                                                                                                                                                                                                           
   45 pts/0    S+     0:00 grep --color=auto gatttool   

Mit der App geht alles tadellos, natürlich wird diese auch sauber von mir beendet.

Ein wenig Unterstützung wäre total super, ihr rettet Pflanzenleben damit ;). Auf jeden Fall aber super Arbeit.

Grüße
Christoph


Edit:
Während ich im Error bin kann ich aber anscheinend mittels Konsole auf das Gerät zugreifen:

root@Heimhirn:/# gatttool -i hci0 -b C4:7C:8D:66:CA:A0 --char-read -a 0x35                                                                                                                                                                                       
Characteristic value/descriptor: aa bb cc dd ee ff 99 88 77 66 00 00 00 00 00 00                                                                                                                                                                                 
root@Heimhirn:/# gatttool -i hci0 -b C4:7C:8D:66:CA:A0 --char-read -a 0x38                                                                                                                                                                                       
Characteristic value/descriptor: 64 28 33 2e 31 2e 39 

Hallo Christoph

Kannst Du bitte einmal noch ein list vom Device mit anhängen. Einfach im FHEM Web in der Befehlszeile list DEVICENAME eingeben.
In ganz alten Versionen gab es mal Probleme mit nicht beendeten gatttools, aber das sollte eigentlich erledigt sein.



Grüße
Leon
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Clue am 11 September 2018, 07:25:12
Hi Leon,

vielen Dank für die schnelle Antwort. Hier der list. Gerät befindet sich gerade nicht immer Fehlerzustand. Das kann einige Tage dauern bis es soweit ist, ist aber unausweichlich :(.

Internals:
   BTMAC      C4:7C:8D:66:CA:A0
   DEF        C4:7C:8D:66:CA:A0
   INTERVAL   1800
   NAME       FlowerCareWohnzimmerKastanie
   NOTIFYDEV  global,FlowerCareWohnzimmerKastanie
   NR         122
   NTFY_ORDER 50-FlowerCareWohnzimmerKastanie
   STATE      active
   TYPE       XiaomiBTLESens
   VERSION    2.2.0
   loglevel   4
   READINGS:
     2018-09-10 22:55:34   batteryPercent  100
     2018-09-10 22:55:34   batteryState    ok
     2018-09-11 07:09:46   fertility       0
     2018-09-10 22:55:34   firmware        3.1.9
     2018-09-10 21:09:06   lastGattError   The BlockingCall Process terminated unexpectedly. Timedout
     2018-09-11 07:09:46   lux             102
     2018-09-11 07:09:46   moisture        0
     2018-09-11 07:09:46   state           active
     2018-09-11 07:09:46   temperature     22.9
   helper:
     CallBattery 0
     CallSensDataCounter 0
     updateTimeCallBattery 1536612934.89746
     updateTimestampCallBattery 2018-09-10 22:55:34
Attributes:
   interval   1800
   model      flowerSens
   room       XiaomiBTLESens
   verbose    1


Grüße
Christoph
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 11 September 2018, 08:54:08
Dein FHEM ist aber ansonsten auf dem neusten Stand? Also nicht nur das 74_XiaomiBTLESens.pm Modul sondern der Rest auch?
Wenn ja hilft uns nur ein verbose 5 über die Tage.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Clue am 11 September 2018, 09:36:56
Ja, ist aktuell. Dann melde ich mich wenn der Fehler wieder auftritt mit dem verbose 5 Logeintrag des initialen Fehlerzustands.

Vielen Dank und Gruß
Christoph
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: oelidoc am 11 September 2018, 20:12:01
Hallo,
wenn ich bei meinen Sensoren das Attribut disabledForIntervals setze, springt der state sofort auf disabled - auch wenn der angegebene Zeitraum nicht erreicht ist. Lasse ich das device auf disabled, dann finden nach Beendigung des Zeitraums keine Abfragen statt - das device bleibt auf disabled. Mache ich eine manuelle Abfrage über die Web Oberfläche, springt das device auf active - aber bei Erreichen des Zeitraums wird weiter abgefragt. Mit andern Worten: das Attribut disabledForIntervals scheint irgendwie nicht zu funktionieren.
Hier ein List eines Sensors:Internals:
   BTMAC      C4:7C:8D:66:2A:77
   CHANGED   
   DEF        C4:7C:8D:66:2A:77
   INTERVAL   1800
   NAME       FlowerSens_Kamelie
   NOTIFYDEV  global,FlowerSens_Kamelie
   NR         467
   NTFY_ORDER 50-FlowerSens_Kamelie
   STATE      Feuchtigkeit: 10 %
   TYPE       XiaomiBTLESens
   VERSION    2.2.0
   loglevel   4
   OLDREADINGS:
   READINGS:
     2018-09-10 21:47:57   batteryPercent  99
     2018-09-10 21:47:57   batteryState    ok
     2018-09-11 19:56:45   fertility       68
     2018-09-10 21:47:57   firmware        3.1.9
     2018-09-07 13:55:36   lastGattError   charWrite faild
     2018-09-11 19:56:45   lux             194
     2018-09-11 19:56:45   moisture        10
     2018-09-11 20:08:40   state           disabled
     2018-09-11 19:56:45   temperature     20.5
   helper:
     CallBattery 0
     CallSensDataCounter 0
     updateTimeCallBattery 1536608877.60954
     updateTimestampCallBattery 2018-09-10 21:47:57
Attributes:
   alias      Kamelie
   batteryFirmwareAge 48h
   disabledForIntervals 22:00-24:00 00:00-06:00
   event-min-interval temperature:3600,moisture:3600,fertility:3600,lux:3600
   event-on-change-reading batteryState,fertility,lastGattError,lux,moisture,temperature
   interval   1800
   maxFertility 2000
   maxMoisture 60
   minFertility 350
   minMoisture 5
   minTemp    0
   model      flowerSens
   room       Garten
   sshHost    -p 45147 oelidoc@192.168.178.57
   stateFormat Feuchtigkeit: moisture %
Irgendeine Idee, was ich falsch mache?
Gruß
oelidoc
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 11 September 2018, 20:19:37
Hallo,

Vielen Dank. Das ist definitiv ein Fehler. Ich schaue es mir die Woche an.


Grüße
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: oelidoc am 11 September 2018, 20:20:56
Danke CoolTux - tolle Unterstützung wie immer.
Gruß
oelidoc
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 12 September 2018, 08:41:21
Danke CoolTux - tolle Unterstützung wie immer.
Gruß
oelidoc

Ist gefixt und morgen per Update verfügbar
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: oelidoc am 12 September 2018, 09:43:27
Cool. Danke.  8)
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Clue am 13 September 2018, 23:09:13
Guten Abend,

leider ist der Fehler wieder aufgetaucht und das Gerät bzw. der Server hängt wieder im Fehlerzustand. Erster Timeout ist im Eintrag von 2018.09.13 20:12:02 zu sehen. Davor lief er bis zu Abfrage bei 2018.09.13 20:10:21 ohne Vorkommnisse.

2018.09.13 20:10:21 4: XiaomiBTLESens (FlowerCareWohnzimmerKastanie) - Run CreateParamGatttool with mod: write
2018.09.13 20:10:21 5: XiaomiBTLESens (FlowerCareWohnzimmerKastanie) - Write XiaomiBTLESens_ExecGatttool_Run FlowerCareWohnzimmerKastanie|C4:7C:8D:66:CA:A0|write|0x33|A01F
2018.09.13 20:10:21 4: XiaomiBTLESens (FlowerCareWohnzimmerKastanie) - stateRequestTimer: Call Request Timer
2018.09.13 20:10:21 5: XiaomiBTLESens (FlowerCareWohnzimmerKastanie) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:66:CA:A0 --char-write-req -a 0x33 -n A01F 2>&1 /dev/null and loop 0
2018.09.13 20:10:32 5: XiaomiBTLESens (FlowerCareWohnzimmerKastanie) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully
2018.09.13 20:10:32 4: XiaomiBTLESens (FlowerCareWohnzimmerKastanie) - ExecGatttool_Run: gatttool result Characteristic value was written successfully
2018.09.13 20:10:32 5: XiaomiBTLESens (FlowerCareWohnzimmerKastanie) - ExecGatttool_Done: gatttool return string: FlowerCareWohnzimmerKastanie|C4:7C:8D:66:CA:A0|ok|write|0x33|{"gtResult":"no data response"}
2018.09.13 20:10:32 4: XiaomiBTLESens (FlowerCareWohnzimmerKastanie) - Run CreateParamGatttool with mod: read
2018.09.13 20:10:32 5: XiaomiBTLESens (FlowerCareWohnzimmerKastanie) - Read XiaomiBTLESens_ExecGatttool_Run FlowerCareWohnzimmerKastanie|C4:7C:8D:66:CA:A0|read|0x35
2018.09.13 20:10:32 5: XiaomiBTLESens (FlowerCareWohnzimmerKastanie) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b C4:7C:8D:66:CA:A0 --char-read -a 0x35 2>&1 /dev/null and loop 0
2018.09.13 20:12:02 1: Timeout for XiaomiBTLESens_ExecGatttool_Run reached, terminated process 799
2018.09.13 20:12:02 4: XiaomiBTLESens (FlowerCareWohnzimmerKastanie) - WriteReadings: Readings were written
2018.09.13 20:12:02 4: XiaomiBTLESens (FlowerCareWohnzimmerKastanie) - ExecGatttool_Aborted: The BlockingCall Process terminated unexpectedly. Timedout
2018.09.13 20:44:22 4: XiaomiBTLESens (FlowerCareWohnzimmerKastanie) - Run CreateParamGatttool with mod: write
2018.09.13 20:44:22 5: XiaomiBTLESens (FlowerCareWohnzimmerKastanie) - Write XiaomiBTLESens_ExecGatttool_Run FlowerCareWohnzimmerKastanie|C4:7C:8D:66:CA:A0|write|0x33|A01F
2018.09.13 20:44:22 4: XiaomiBTLESens (FlowerCareWohnzimmerKastanie) - stateRequestTimer: Call Request Timer
2018.09.13 20:44:22 3: XiaomiBTLESens (FlowerCareWohnzimmerKastanie) - ExecGatttool_Run: another gatttool process is running. waiting...
... usw....
018.09.13 20:45:51 3: XiaomiBTLESens (FlowerCareWohnzimmerKastanie) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.09.13 20:45:52 1: Timeout for XiaomiBTLESens_ExecGatttool_Run reached, terminated process 808
2018.09.13 20:45:52 4: XiaomiBTLESens (FlowerCareWohnzimmerKastanie) - WriteReadings: Readings were written
2018.09.13 20:45:52 4: XiaomiBTLESens (FlowerCareWohnzimmerKastanie) - ExecGatttool_Aborted: The BlockingCall Process terminated unexpectedly. Timedout

Vielleicht gibt das ja einen Hinweis. Ich wäre für einen Tipp bzw. jegliche Hilfe sehr dankbar.

Viele Grüße
Christoph
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 14 September 2018, 21:07:20
Leider kann ich Dir da nichts neues sagen.
Aus irgendeinem Grund bleibt der gatttool Aufruf bei Dir als Prozess bestehen was eigentlich nicht sein dürfte.

Gib mal bitte in der FHEMWEB Kommandozeile version ein und poste hier die Ausgabe.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Clue am 15 September 2018, 12:54:54
Wir finden schon eine Lösung :). Hier die Versionsnummern:

Latest Revision: 17334

File                  Rev   Last Change

fhem.pl               17329 2018-09-12 07:03:11Z rudolfkoenig
96_allowed.pm         17179 2018-08-20 15:49:33Z rudolfkoenig
90_at.pm              17252 2018-09-02 09:35:58Z rudolfkoenig
98_autocreate.pm      15620 2017-12-16 18:10:36Z rudolfkoenig
57_Calendar.pm        16742 2018-05-15 19:20:16Z neubert
98_DOIF.pm            17291 2018-09-06 18:37:03Z Damian
98_dummy.pm           16965 2018-07-09 07:59:58Z rudolfkoenig
91_eventTypes.pm      14888 2017-08-13 12:07:12Z rudolfkoenig
72_FB_CALLLIST.pm     16433 2018-03-18 08:20:35Z markusbloch
72_FB_CALLMONITOR.pm  16709 2018-05-08 20:14:58Z markusbloch
01_FHEMWEB.pm         17307 2018-09-09 13:42:47Z rudolfkoenig
92_FileLog.pm         17181 2018-08-20 17:23:26Z rudolfkoenig
98_help.pm            15223 2017-10-10 10:14:24Z betateilchen
98_HTTPMOD.pm         16951 2018-07-06 18:02:15Z StefanStrobel
02_HTTPSRV.pm         16874 2018-06-15 17:18:55Z neubert
98_JsonList2.pm       17230 2018-08-30 13:03:48Z rudolfkoenig
91_notify.pm          17225 2018-08-29 12:34:29Z rudolfkoenig
59_PROPLANTA.pm       17079 2018-08-02 17:47:03Z tupol
33_readingsGroup.pm   16299 2018-03-01 08:06:55Z justme1968
00_SONOS.pm           16658 2018-04-25 06:00:12Z Reinerlein
21_SONOSPLAYER.pm     16478 2018-03-24 22:47:43Z Reinerlein
99_SUNRISE_EL.pm      16632 2018-04-17 19:00:21Z rudolfkoenig
50_TelegramBot.pm     16382 2018-03-11 13:20:55Z viegener
98_telnet.pm          17116 2018-08-10 11:52:49Z rudolfkoenig
59_Twilight.pm        16005 2018-01-27 06:05:51Z igami
99_Utils.pm           15713 2017-12-28 11:01:02Z rudolfkoenig
98_version.pm         15140 2017-09-26 09:20:09Z markusbloch
74_XiaomiBTLESens.pm  17328 2018-09-12 06:40:06Z CoolTux
10_ZWave.pm           17186 2018-08-20 20:10:55Z rudolfkoenig
00_ZWDongle.pm        17186 2018-08-20 20:10:55Z rudolfkoenig

Blocking.pm           16985 2018-07-15 14:08:15Z rudolfkoenig
Color.pm              11159 2016-03-30 16:08:06Z justme1968
Common.pm             10759 2016-02-07 20:00:12Z rleins
ControlPoint.pm       16658 2018-04-25 06:00:12Z Reinerlein
DevIo.pm              16623 2018-04-15 18:44:05Z rudolfkoenig
FritzBoxUtils.pm      16691 2018-05-05 17:11:26Z rudolfkoenig
HttpUtils.pm          17034 2018-07-27 05:47:13Z rudolfkoenig
Info.pm                  28 2008-11-09 01:08:44Z dsully
myUtilsTemplate.pm     7570 2015-01-14 18:31:44Z rudolfkoenig
myUtilsTemplate.pm     7570 2015-01-14 18:31:44Z rudolfkoenig
myUtilsTemplate.pm     7570 2015-01-14 18:31:44Z rudolfkoenig
myUtilsTemplate.pm     7570 2015-01-14 18:31:44Z rudolfkoenig
myUtilsTemplate.pm     7570 2015-01-14 18:31:44Z rudolfkoenig
RTypes.pm             10476 2016-01-12 21:03:33Z borisneubert
SetExtensions.pm      17100 2018-08-07 07:40:20Z rudolfkoenig
SubProcess.pm         14334 2017-05-20 23:11:06Z neubert
TcpServerUtils.pm     17124 2018-08-11 06:54:58Z rudolfkoenig
ZWLib.pm              17186 2018-08-20 20:10:55Z rudolfkoenig

doif.js                    15546 2017-12-03 09:57:42Z Ellert
f18.js                     17318 2018-09-10 16:25:56Z rudolfkoenig
fhemweb.js                 17308 2018-09-09 13:43:37Z rudolfkoenig
fhemweb_readingsGroup.js   15189 2017-10-03 17:53:27Z justme1968

Ich habe übrigens geupdated nachdem du den Bug von oelidoc gefixt hast, aber bevor der Fehler aufgetreten ist.

Hier eine Liste meiner laufenden Prozesse kurz nachdem einem get sensorData
root@Heimhirn:/# ps -u fhem                                                                                                                                                                                         
  PID TTY          TIME CMD                                                                                                                                                                                         
  733 pts/0    00:04:10 perl                                                                                                                                                                                       
  741 pts/0    00:21:52 perl                                                                                                                                                                                       
  804 pts/0    00:00:00 sh                                                                                                                                                                                         
  805 pts/0    00:00:00 gatttool                                                                                                                                                                                   
21070 pts/0    00:00:00 perl

Der Prozess mit der PID 21070 ist derjenige der den Timeout bekommt. Der Prozess 805 bleibt immer bestehen. Welchen Prozess müsste ich denn killen damit es weiterläuft?

Grüße
Christoph
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 15 September 2018, 13:15:01
Du müsstest den 805 killen.

Ansonsten sehen die Versionen gut aus. Welche Linuxdistribution hast Du?
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Clue am 15 September 2018, 13:21:39
Ich habe Ubuntu 16.04 in einem Docker Container auf einem Qnap NAS laufen.

Nachdem ich den 805er gekillt habe geht es wieder.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 15 September 2018, 13:25:46
Klingt erstmal ok. Hast Du noch andere Fehlermeldungen in Verbindung mit BlockingCall oder Blocking.pm?
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Clue am 15 September 2018, 13:34:38
Nur "ExecGatttool_Aborted: The BlockingCall Process terminated unexpectedly. Timedout" innerhalb dieses Monats.

So wie ich es verstanden habe sollte

delete($hash->{helper}{RUNNING_PID});

in jedem Fall den Prozess killen oder? Soll ich mal lokal hier in "XiaomiBTLESens_ExecGatttool_Aborted" nen Log ausgeben lassen? Wie sollte der aussehen um sinnvolle Infos zu bekommen?

Edit: Oder woanders falls hilfreich natürlich :).
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 15 September 2018, 13:47:29
Nur "ExecGatttool_Aborted: The BlockingCall Process terminated unexpectedly. Timedout" innerhalb dieses Monats.

So wie ich es verstanden habe sollte

delete($hash->{helper}{RUNNING_PID});

in jedem Fall den Prozess killen oder? Soll ich mal lokal hier in "XiaomiBTLESens_ExecGatttool_Aborted" nen Log ausgeben lassen? Wie sollte der aussehen um sinnvolle Infos zu bekommen?

Edit: Oder woanders falls hilfreich natürlich :).

Das killt die geforkte FHEM Instanz die dann eigentlich gatttool mit killen sollte.
Kannst Du gerne machen.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Clue am 15 September 2018, 13:55:49
Dann tobe ich mich mal aus, am besten lernt man durchs Debuggen :). Melde mich sobald ich ein paar mehr Infos habe.

Grüße
Christoph

Edit: habe gerade mal paar Logs eingebaut um zu schauen wann PIDs erstellt und wann gekillt werden.
Mir ist dabei aufgefallen dass in Blocking.pm die Funktion BlockingKill ganz am Ende die Funktion BlockingStart ohne Eingabeargumente aufruft.

BlockingKill($)
{
  my $h = shift;

  return if($h->{terminated});

#  if($^O !~ m/Win/) {
    if($h->{pid} && $h->{pid} !~ m/:/ && kill(9, $h->{pid})) {
      my $ll = (defined($h->{loglevel}) ? $h->{loglevel} : 1); # Forum #77057
      Log $ll, "Timeout for $h->{fn} reached, terminated process $h->{pid}";
      $h->{terminated} = 1;
      if($h->{abortFn}) {
        no strict "refs";
        my $ret = &{$h->{abortFn}}($h->{abortArg},
                        "Timeout: process terminated");
        use strict "refs";

      } elsif($h->{finishFn}) {
        no strict "refs";
        my $ret = &{$h->{finishFn}}();
        use strict "refs";

      }
      delete($BC_hash{$h->{bc_pid}});
      InternalTimer(gettimeofday()+1, "BlockingStart", \%BC_hash, 0)
        if(looks_like_number($h->{pid}) && kill(0, $h->{pid})); # Forum #58867
    }
#  }
  BlockingStart();
}

Mir ergibt sich aber nicht so ganz der Sinn davon und würde nach meinem Verständnis zu meinem Fehler passen, da der ERSTE Timeout Prozess zwar korrekt beendet wird (wie im Log auch zu sehen, den ich zuvor gepostet habe), im gleichen Zug aber ein neuer Prozess erstellt der alle nachfolgenden Versuche behindert (passt dann zur Meldung "ExecGatttool_Run: another gatttool process is running. waiting...")? Die Perl Syntax ist mir aber nicht so geläufig und daher lasse ich mich gerne belehren. Habe die Zeile aber testweise auskommentiert und schaue was passiert :].

Edit2: Es hat sich bewarhheitet, dass der "BlockingStart();" im BlockingKill das Problem ist. Heute hatte ich insgesamt drei Timeouts nach denen sich der Server jedes mal wieder gefangen hat. Vorher hat jeder Timeout zu einem offenen Process geführt und jeden weiteren read dadurch blockiert.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: skyline am 17 September 2018, 10:56:26
Hallo,

ich bekomme mit den letzten Versionen auch den error-Fehler, bei Geräten (Temperatursensor) die vorher liefen.

Gruß
Marco
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 17 September 2018, 11:59:21
Ich bin da dran und habe entsprechende Erkenntnisse weiter geleitet.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Clue am 17 September 2018, 18:43:32
Hi,

habe noch immer korrektes Verhalten nach gelegentlichen Timeouts. Auskommentieren der BlockingStart schien tatsächlich die Lösung. Dann verfolge ich das Thema mal nicht weiter und lasse es bei dir CoolTux wenn es okay ist.

Grüße
Christoph
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 17 September 2018, 20:16:27
Hi,

habe noch immer korrektes Verhalten nach gelegentlichen Timeouts. Auskommentieren der BlockingStart schien tatsächlich die Lösung. Dann verfolge ich das Thema mal nicht weiter und lasse es bei dir CoolTux wenn es okay ist.

Grüße
Christoph

Also BlockingStart ist da korrekt, es geht darum das mittels BlockingStart eine queue abgearbeitet wird.
Du kannst ja global mittels maxBlockingCall oder so festlegen wie viele BlockingCall Aufrufe gleichzeitig erlaubt sind. Daher muss immer wieder geschaut werden ob noch ein Aufruf in der queue liegt.
Wie eng ist denn Timer gesetzt und von wie vielen Geräten sprechen wir?
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: skyline am 17 September 2018, 20:41:28
2018.09.17 20:39:12 1 : PERL WARNING: Illegal hexadecimal digit ' ' ignored at ./FHEM/74_XiaomiBTLESens.pm line 712.
2018.09.17 20:39:12 3 : eval: {XiaomiBTLESens_ExecGatttool_Done('EG_FL_TF|4C:65:A8:D4:B6:0F|ok|read|0x18|{"gtResult":"64 "}')}
2018.09.17 20:39:12 1 : PERL WARNING: Illegal hexadecimal digit ' ' ignored at ./FHEM/74_XiaomiBTLESens.pm line 713.
2018.09.17 20:39:12 3 : eval: {XiaomiBTLESens_ExecGatttool_Done('EG_FL_TF|4C:65:A8:D4:B6:0F|ok|read|0x18|{"gtResult":"64 "}')}

Ist das denn so normal?
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 17 September 2018, 20:43:18
2018.09.17 20:39:12 1 : PERL WARNING: Illegal hexadecimal digit ' ' ignored at ./FHEM/74_XiaomiBTLESens.pm line 712.
2018.09.17 20:39:12 3 : eval: {XiaomiBTLESens_ExecGatttool_Done('EG_FL_TF|4C:65:A8:D4:B6:0F|ok|read|0x18|{"gtResult":"64 "}')}
2018.09.17 20:39:12 1 : PERL WARNING: Illegal hexadecimal digit ' ' ignored at ./FHEM/74_XiaomiBTLESens.pm line 713.
2018.09.17 20:39:12 3 : eval: {XiaomiBTLESens_ExecGatttool_Done('EG_FL_TF|4C:65:A8:D4:B6:0F|ok|read|0x18|{"gtResult":"64 "}')}

Ist das denn so normal?

Eher nicht so? Hast Du das oft?
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: skyline am 17 September 2018, 20:47:05
2018.09.17 20:45:52 1 : PERL WARNING: Illegal hexadecimal digit ' ' ignored at ./FHEM/74_XiaomiBTLESens.pm line 712.
2018.09.17 20:45:52 3 : eval: {XiaomiBTLESens_ExecGatttool_Done('EG_BZ_TF|4C:65:A8:D4:08:B1|ok|read|0x18|{"gtResult":"64 "}')}
2018.09.17 20:45:52 1 : PERL WARNING: Illegal hexadecimal digit ' ' ignored at ./FHEM/74_XiaomiBTLESens.pm line 713.
2018.09.17 20:45:52 3 : eval: {XiaomiBTLESens_ExecGatttool_Done('EG_BZ_TF|4C:65:A8:D4:08:B1|ok|read|0x18|{"gtResult":"64 "}')}

Kommt wohl nach jedem Start (shutdown restart)


EDIT:
2018.09.17 20:47:13 1 : Timeout for XiaomiBTLESens_ExecGatttool_Run reached, terminated process 9599
2018.09.17 21:00:02 1 : Timeout for XiaomiBTLESens_ExecGatttool_Run reached, terminated process 9757
2018.09.17 21:12:45 1 : Timeout for XiaomiBTLESens_ExecGatttool_Run reached, terminated process 9862
2018.09.17 21:24:21 1 : Timeout for XiaomiBTLESens_ExecGatttool_Run reached, terminated process 10007

Igendwo ist da wohl noch der Wurm drin, hatte ich aber vor ein paar Tagen nicht.
Erst nach einem Update.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 18 September 2018, 08:24:47
2018.09.17 20:45:52 1 : PERL WARNING: Illegal hexadecimal digit ' ' ignored at ./FHEM/74_XiaomiBTLESens.pm line 712.
2018.09.17 20:45:52 3 : eval: {XiaomiBTLESens_ExecGatttool_Done('EG_BZ_TF|4C:65:A8:D4:08:B1|ok|read|0x18|{"gtResult":"64 "}')}
2018.09.17 20:45:52 1 : PERL WARNING: Illegal hexadecimal digit ' ' ignored at ./FHEM/74_XiaomiBTLESens.pm line 713.
2018.09.17 20:45:52 3 : eval: {XiaomiBTLESens_ExecGatttool_Done('EG_BZ_TF|4C:65:A8:D4:08:B1|ok|read|0x18|{"gtResult":"64 "}')}

Kommt wohl nach jedem Start (shutdown restart)


EDIT:
2018.09.17 20:47:13 1 : Timeout for XiaomiBTLESens_ExecGatttool_Run reached, terminated process 9599
2018.09.17 21:00:02 1 : Timeout for XiaomiBTLESens_ExecGatttool_Run reached, terminated process 9757
2018.09.17 21:12:45 1 : Timeout for XiaomiBTLESens_ExecGatttool_Run reached, terminated process 9862
2018.09.17 21:24:21 1 : Timeout for XiaomiBTLESens_ExecGatttool_Run reached, terminated process 10007

Igendwo ist da wohl noch der Wurm drin, hatte ich aber vor ein paar Tagen nicht.
Erst nach einem Update.

Ich habe mir gerade das Update noch mal angeschaut. Da gab es keine relevanten Änderungen. Was ist mit den Standort der Sensoren. Gab es da Änderungen die Tage. Umgestellt, neue elektronische Geräte gekauft, Wlan Repeater besorgt neue Wand im Schlafzimmer eingezogen?


Grüße
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Clue am 18 September 2018, 19:34:44
Also BlockingStart ist da korrekt, es geht darum das mittels BlockingStart eine queue abgearbeitet wird.
Du kannst ja global mittels maxBlockingCall oder so festlegen wie viele BlockingCall Aufrufe gleichzeitig erlaubt sind. Daher muss immer wieder geschaut werden ob noch ein Aufruf in der queue liegt.
Wie eng ist denn Timer gesetzt und von wie vielen Geräten sprechen wir?

Dann habe ich bestimmt nur Glück die letzten 2 Tage, dass es nicht aufgetaucht ist. Interval habe ich immer auf 1800 (30 min). Ich habe aktuell nur ein einziges Gerät in Betrieb, wenn es ohne Probleme läuft werden weitere angeschafft. Ich beobachte es mal weiter, wenn sonst niemand anderes das Problem hat muss es irgendwie an meinem Setup liegen, dann werde ich es entweder sein lassen oder einen Workaround überlegen der den Prozess killt.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 18 September 2018, 19:40:20
Dann habe ich bestimmt nur Glück die letzten 2 Tage, dass es nicht aufgetaucht ist. Interval habe ich immer auf 1800 (30 min). Ich habe aktuell nur ein einziges Gerät in Betrieb, wenn es ohne Probleme läuft werden weitere angeschafft. Ich beobachte es mal weiter, wenn sonst niemand anderes das Problem hat muss es irgendwie an meinem Setup liegen, dann werde ich es entweder sein lassen oder einen Workaround überlegen der den Prozess killt.


Wo liegt den der Sensor? Ist er weit weg vom FHEM Rechner? Lege ihn zum testen doch mal für einen Tag daneben.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: skyline am 18 September 2018, 21:32:11
Hab festgestellt, dass ich gar kein gatttool installiert hatte.

Mal sehen wie es nun läuft.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 19 September 2018, 05:24:21
Interessant. Dann musst Du aber das Attribute sshHost verwendet haben. Ansonsten hättest Du eine Fehlermeldung bekommen.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: skyline am 20 September 2018, 13:47:31
Nee, das Attribute habe ich nicht gesetzt.

Mein Bluetooth wollte erst nicht, habe es dann mit dieser Anleitung https://stackoverflow.com/questions/41707164/connect-ble-devices-with-raspberry-pi-3-b (https://stackoverflow.com/questions/41707164/connect-ble-devices-with-raspberry-pi-3-b)zum Laufen gebracht.
Benutze raspbian jessie lite.

Habe mir noch eine externe Antenne an den Raspberry 3 gebaut  https://ossilampe.de/?p=1637 (https://ossilampe.de/?p=1637).
Hab jetzt auch noch mal ein paar Antennen aus China geordert um zu probieren.

Hab jetzt erstmal die zwei weitesten Geräte raus genommen und teste aktuell mit 4 Geräten, sieht bis jetzt nicht schlecht aus.

Werde auch noch mal die Antenne im Thermometer ersetzen und schauen was das noch bringt.

Edit:
Fotos vom Antennenumbau
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Clue am 26 September 2018, 20:20:49
Wo liegt den der Sensor? Ist er weit weg vom FHEM Rechner? Lege ihn zum testen doch mal für einen Tag daneben.

Der Sensor ist 5m entfernt auf der gleichen Etage. Ich muss nach wie vor sagen, wenn ich den BlockingStart(); auskommentiere läuft es sehr stabil. Dann fängt er sich bei einem gelegentlichen Error (einer alle 2 Tage) direkt wieder. wenn es einkommentiert ist, dauert es keine 2 Tage bis alles hängt. Darüber hinaus habe ich keine anderen Probleme bemerkt wenn BlockingStart im BlockingKill fehlt. Habe ja aber auch nur dieses eine Gerät. Ich werde es im Auge behalten.

Edit: Das Problem ist nun leider doch wieder zwei mal aufgetaucht :(. Wenn ich die Zeit habe schaue ich mal vielleicht doch etwas genauer rein. Vielleicht hat ja in der Zwischenzeit jemand anderes ein ähnliches Problem und findet eine Lösung.

Grüße
Christoph

Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Gunther am 30 September 2018, 12:49:33
Kann ich die chinesische Version des Sensors einsetzen oder habe ich damit Nachteile?

https://www.ebay.de/i/113236323795?chn=ps&var=413531359817 (https://www.ebay.de/i/113236323795?chn=ps&var=413531359817)
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 30 September 2018, 12:51:53
Kannst Du. Habe ich auch. Musst nur für Updates mit nem VPN nach China arbeiten.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Gunther am 30 September 2018, 12:59:59
Danke für die schnelle Antwort.
Ist das nachteilig, bzw. umständlicher?
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 30 September 2018, 13:17:10
Kommt auf Deine Fähigkeiten an. Ich hätte da nicht so die Probleme. VPN Client auf Handy installieren, China Server auswählen und verbinden. Danach App starten und Update anwerfen.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Gunther am 30 September 2018, 13:25:30
Ahh, verstehe. Ich muss mich quasi in China "befinden" um updaten zu können, richtig?
Falls Du mit dem Iphone unterwegs bist: Mit welcher App arbeitest Du?

Bei den Geräten für 12 Euro +: Hier kann ich normal in Europa updaten? Das ist der einzige Unterschied?
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 30 September 2018, 13:27:45
Habe kein iPhone.
Ja das wäre der einzige Unterschied.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Gunther am 30 September 2018, 13:45:11
Danke!
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: MadMax-FHEM am 30 September 2018, 15:08:57
(Noch mal) die Frage, weil es grad um Updates geht:

bringen die Updates (neuere Versionen) deutliche Vorteile!?

Ich laufe mit meinen immer noch auf 2.6.2 (6 Stck.) bzw. 2.7.0 (3 Stck.) und bin eigentlich zufrieden.

Habe mir kürzlich noch 2 bestellt, mal sehen was die für FW-Version(en) haben...
...und mal sehen, ob ich einen Unterschied feststelle...

An dieser Stelle (noch mal): vielen Dank für die Einbindung in fhem / das Modul!

Gruß, Joachim
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: skyline am 01 Oktober 2018, 10:32:32
Hallo CoolTux,

könnte man nicht noch ein Timer-Attribut und Schleifen-Attribut hinzufügen um das Error-Problem vielleicht etwas mehr in den Griff zu bekommen?
Somit könnten man an der einzelnen Sensoren unterschiedlich tunen.

Hier gibt es auch für den Hygrotermograph ein Modul für homebridge:
https://github.com/hannseman/homebridge-mi-hygrothermograph (https://github.com/hannseman/homebridge-mi-hygrothermograph)


Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 01 Oktober 2018, 10:55:54
Hallo CoolTux,

könnte man nicht noch ein Timer-Attribut und Schleifen-Attribut hinzufügen um das Error-Problem vielleicht etwas mehr in den Griff zu bekommen?
Somit könnten man an der einzelnen Sensoren unterschiedlich tunen.

Hier gibt es auch für den Hygrotermograph ein Modul für homebridge:
https://github.com/hannseman/homebridge-mi-hygrothermograph (https://github.com/hannseman/homebridge-mi-hygrothermograph)

Kann man sicherlich machen. Persönlich werde ich aber die nächsten Monate eher nicht dazu kommen.
Nehme aber sehr gerne getestete Patches an.

Ich dachte eigentlich wir unterstützen dieses Hygrotermograph bereits. Jedenfalls haben wir so ein Device in unserer Liste. Ist das ein anderes?
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: stoxx am 01 Oktober 2018, 18:56:42
Zitat
Ich dachte eigentlich wir unterstützen dieses Hygrotermograph bereits. Jedenfalls haben wir so ein Device in unserer Liste. Ist das ein anderes?
Es ist genau das und das Modul unterstützt es perfekt. Ich habe bereits drei davon angebunden - ohne Probleme.
vg stoxx
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: skyline am 02 Oktober 2018, 13:14:31
Es wird ja auch vom Modul gut unterstützt.

Nur tauchen hin und zu Errors auf.

Das wird auch sicher mit der Reichweite zusammen hängen, aber oft geht und dann mal wieder nicht.

Da ich die Sensoren für den PID20 nehme, würde ich mir schon etwas mehr Stabilität wünschen.

Das Modul ist schon echt super!!!
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 02 Oktober 2018, 13:51:49
Es wird ja auch vom Modul gut unterstützt.

Nur tauchen hin und zu Errors auf.

Das wird auch sicher mit der Reichweite zusammen hängen, aber oft geht und dann mal wieder nicht.

Da ich die Sensoren für den PID20 nehme, würde ich mir schon etwas mehr Stabilität wünschen.

Das Modul ist schon echt super!!!

Es wird doch im state des Devices error geschrieben wenn es Probleme gab. Du kannst gerne ein Notify darauf ansetzen und einfach das holen der Daten noch einmal anstoßen. Solltest aber einen Zähler einbauen das nach 3-4 mal nichts mehr weiter gemacht wird.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: smurphy am 03 Oktober 2018, 17:06:56
Hallo Liebe Gemeinde,

ich hoffe, meine Frage so zu stellen, wie es sich gehört. Ich habe natürlich vorher auch die Suchfunktion benutzt, jedoch konnte ich keine Lösungsansätze für mich adaptieren.

Was ich gemacht habe:
Ich habe ein Temperatur/Luftfeichtigskeits-Sensor von Xiaomi über das Modul XiaomiBTLESens eingebunden.

define xiaomi1 XiaomiBTLESens xx:xx:xx:d8:ae:ef

Ich erhalte folgende Readings:
Readings
batteryPercent
76
batteryState
ok
firmware
00.00.66
humidity
=7.6
state
T: 14.9 H: =7.4
temperature
14.9

Leider komme ich mit = bei der Luftfeuchtigkeit nicht klar. die Graphen funktionieren damit einfach nicht und die dewpoint Berechnung auch nicht.

Im Logfile erscheint folgende Fehlermeldung:
2018.10.03 16:22:06 1: Error dewpoint: humidity invalid: 0
2018.10.03 16:25:46 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at (eval 113) line 1.
2018.10.03 16:25:46 3: eval: { "Xiaomi Humidity Min $data{min2}, Max $data{max2}, Last $data{currval2}, Taupunkt $data{currval3}" }

Komischerweise scheinen beim Neustart des Raspberry die ersten Werte ohne das blöde = übermittelt zu werden.
Siehe Logfile:

2018-10-03_16:26:03 xiaomi1 batteryPercent: 76
2018-10-03_16:26:03 xiaomi1 T: 0 H: 0
2018-10-03_16:26:03 xiaomi1 write sensor data
2018-10-03_16:26:13 xiaomi1 T: 15.1 H: 47.7 D: 4.1
2018-10-03_16:28:16 xiaomi1 write sensor data
2018-10-03_16:28:29 xiaomi1 T: 15.0 H: 11.9 D: -14.3
2018-10-03_16:31:14 xiaomi1 write sensor data
2018-10-03_16:31:24 xiaomi1 T: 14.9 H: =9.4
2018-10-03_16:37:00 xiaomi1 write sensor data
2018-10-03_16:37:10 xiaomi1 T: 15.0 H: =8.0
2018-10-03_16:41:55 xiaomi1 write sensor data


Kann mir jemand helfen?
Vielen Dank und Gruß
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 03 Oktober 2018, 17:17:54
Hallo Liebe Gemeinde,

ich hoffe, meine Frage so zu stellen, wie es sich gehört. Ich habe natürlich vorher auch die Suchfunktion benutzt, jedoch konnte ich keine Lösungsansätze für mich adaptieren.

Was ich gemacht habe:
Ich habe ein Temperatur/Luftfeichtigskeits-Sensor von Xiaomi über das Modul XiaomiBTLESens eingebunden.

define xiaomi1 XiaomiBTLESens xx:xx:xx:d8:ae:ef

Ich erhalte folgende Readings:
Readings
batteryPercent
76
batteryState
ok
firmware
00.00.66
humidity
=7.6
state
T: 14.9 H: =7.4
temperature
14.9

Leider komme ich mit = bei der Luftfeuchtigkeit nicht klar. die Graphen funktionieren damit einfach nicht und die dewpoint Berechnung auch nicht.

Im Logfile erscheint folgende Fehlermeldung:
2018.10.03 16:22:06 1: Error dewpoint: humidity invalid: 0
2018.10.03 16:25:46 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at (eval 113) line 1.
2018.10.03 16:25:46 3: eval: { "Xiaomi Humidity Min $data{min2}, Max $data{max2}, Last $data{currval2}, Taupunkt $data{currval3}" }

Komischerweise scheinen beim Neustart des Raspberry die ersten Werte ohne das blöde = übermittelt zu werden.
Siehe Logfile:

2018-10-03_16:26:03 xiaomi1 batteryPercent: 76
2018-10-03_16:26:03 xiaomi1 T: 0 H: 0
2018-10-03_16:26:03 xiaomi1 write sensor data
2018-10-03_16:26:13 xiaomi1 T: 15.1 H: 47.7 D: 4.1
2018-10-03_16:28:16 xiaomi1 write sensor data
2018-10-03_16:28:29 xiaomi1 T: 15.0 H: 11.9 D: -14.3
2018-10-03_16:31:14 xiaomi1 write sensor data
2018-10-03_16:31:24 xiaomi1 T: 14.9 H: =9.4
2018-10-03_16:37:00 xiaomi1 write sensor data
2018-10-03_16:37:10 xiaomi1 T: 15.0 H: =8.0
2018-10-03_16:41:55 xiaomi1 write sensor data


Kann mir jemand helfen?
Vielen Dank und Gruß

Interessant, haben andere mit diesem Gerät selbiges Reading? Kann mir gerade nicht erklären wo das = herkommen soll.

@smurphy was Dein Problem an geht. Entweder userReading mit ReadingsNum und dann das userReading loggen oder im SVG mit split arbeiten.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: smurphy am 03 Oktober 2018, 17:35:24
Danke Cooltux,

Die Variante mit Split hört sich für mich erstmal unkomplizierter an.
Ich schau mal ob ich dazu irgendwo Beispiele finde.

Mir sagt das mit dem Split leider nichts.

Für ein Beispiel, wie man das einsetzt wäre ich echt dankbar.

Gruß
Martin

....ah ja ... es ist so trocken bei mir in der Trockenbox
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: smurphy am 03 Oktober 2018, 21:02:45
Für alle, die auch auf dieses Problem gestossen sind.
Hier die Lösung, die ich von Cooltux erhalten habe.

Funktioniert prima

attr xiaomi1 userReadings Luftfeuchte:humidity:.* { ReadingsNum($name,"humidity",0) }
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 03 Oktober 2018, 21:04:38
Du könntest bitte bei Gelegenheit das Teil mal auf verbose 5 stellen, also direkt am FHEM Device und mir den Auszug aus dem Log hier in Codetags einstellen.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: smurphy am 03 Oktober 2018, 21:23:28
Du könntest bitte bei Gelegenheit das Teil mal auf verbose 5 stellen, also direkt am FHEM Device und mir den Auszug aus dem Log hier in Codetags einstellen.

Nichts lieber als das...

Habe Dir einen Kaffee spendiert für die Hilfe  :D

2018.10.03 21:21:26 4: XiaomiBTLESens (xiaomi1) - Run CreateParamGatttool with mod: write
2018.10.03 21:21:26 5: XiaomiBTLESens (xiaomi1) - Write XiaomiBTLESens_ExecGatttool_Run xiaomi1|4c:65:a8:d8:ae:ef|write|0x10|0100
2018.10.03 21:21:26 5: XiaomiBTLESens (xiaomi1) - ExecGatttool_Run: call gatttool with command: timeout 10 gatttool -i hci0 -b 4c:65:a8:d8:ae:ef --char-write-req -a 0x10 -n 0100 --listen 2>&1 /dev/null and loop 0
2018.10.03 21:21:36 5: XiaomiBTLESens (xiaomi1) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully
Notification handle = 0x000e value,54 3d 31 34 2e 37 20 48 3d 36 2e 31 00
Notification handle = 0x000e value,54 3d 31 34 2e 37 20 48 3d 36 2e 30 00
Notification handle = 0x000e value,54 3d 31 34 2e 37 20 48 3d 36 2e 31 00

2018.10.03 21:21:36 4: XiaomiBTLESens (xiaomi1) - ExecGatttool_Run: gatttool result Characteristic value was written successfully
Notification handle = 0x000e value,54 3d 31 34 2e 37 20 48 3d 36 2e 31 00
Notification handle = 0x000e value,54 3d 31 34 2e 37 20 48 3d 36 2e 30 00
Notification handle = 0x000e value,54 3d 31 34 2e 37 20 48 3d 36 2e 31 00

2018.10.03 21:21:36 5: XiaomiBTLESens (xiaomi1) - ExecGatttool_Done: gatttool return string: xiaomi1|4c:65:a8:d8:ae:ef|ok|write|0x10|{"gtResult":"54 3d 31 34 2e 37 20 48 3d 36 2e 31 00 "}
2018.10.03 21:21:36 4: XiaomiBTLESens (xiaomi1) - ProcessingNotification
2018.10.03 21:21:36 4: XiaomiBTLESens (xiaomi1) - ProcessingNotification: handle 0x10
2018.10.03 21:21:36 4: XiaomiBTLESens (xiaomi1) - Thermo/Hygro Sens Handle0x10
2018.10.03 21:21:36 4: XiaomiBTLESens (xiaomi1) - WriteReadings: Readings were written
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 03 Oktober 2018, 22:08:54
Sieht gut aus. Kannst Du bitte noch ein list vom Device geben.

FHEMWEB Kommandozeile
list xiaomi1
eingeben
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: smurphy am 03 Oktober 2018, 22:16:33
Sieht gut aus. Kannst Du bitte noch ein list vom Device geben.

FHEMWEB Kommandozeile
list xiaomi1
eingeben

Internals:
   BTMAC      4c:65:a8:d8:ae:ef
   DEF        4c:65:a8:d8:ae:ef
   INTERVAL   120
   NAME       xiaomi1
   NOTIFYDEV  global,xiaomi1
   NR         232
   NTFY_ORDER 50-xiaomi1
   STATE      T: 14.7 H: =6.1
   TYPE       XiaomiBTLESens
   VERSION    2.2.2
   loglevel   4
   READINGS:
     2018-10-03 22:13:59   Luftfeuchtigkeit 6.1
     2018-10-03 20:22:50   batteryPercent  76
     2018-10-03 20:22:50   batteryState    ok
     2018-10-03 22:13:59   dewpoint        -22.4
     2018-10-03 16:22:06   firmware        00.00.66
     2018-10-03 22:13:59   humidity        =6.1
     2018-10-03 22:13:59   state           T: 14.7 H: =6.1
     2018-10-03 22:13:59   temperature     14.7
   helper:
     CallBattery 0
     CallSensDataCounter 0
     updateTimeCallBattery 1538590970.06001
     updateTimestampCallBattery 2018-10-03 20:22:50
Attributes:
   event-on-change-reading batteryPercent,temperature,Luftfeuchtigkeit
   event-on-update-reading batteryPercent,temperature,Luftfeuchtigkeit
   interval   120
   model      thermoHygroSens
   room       XiaomiBTLESens
   userReadings Luftfeuchtigkeit { my $luft = ReadingsVal("xiaomi1","humidity",0);$luft=~s/=//;$luft;}
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: randor48 am 07 Oktober 2018, 21:04:39
Guten Abend zusammen,
hat schon jemand hier probiert das Xiaomi Thermometer in homebridge einzubinden? Ich bekomme nur die Temperatur in Homekit angezeigt. Die Luftfeuchte fehlt.
Leider auch, wenn ich homebridgeMapping benutze. In dem Log von homebridge taucht interessanterweise die Luftfeuchte auf, aber wird leider nicht übertragen.

Das "native" homebridge plugin ist dagegen für mich keine Alternative, da das die Steuerung von FHEM teilweise stört (Bluetooth).

MfG
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 07 Oktober 2018, 21:11:42
Internals:
   BTMAC      4c:65:a8:d8:ae:ef
   DEF        4c:65:a8:d8:ae:ef
   INTERVAL   120
   NAME       xiaomi1
   NOTIFYDEV  global,xiaomi1
   NR         232
   NTFY_ORDER 50-xiaomi1
   STATE      T: 14.7 H: =6.1
   TYPE       XiaomiBTLESens
   VERSION    2.2.2
   loglevel   4
   READINGS:
     2018-10-03 22:13:59   Luftfeuchtigkeit 6.1
     2018-10-03 20:22:50   batteryPercent  76
     2018-10-03 20:22:50   batteryState    ok
     2018-10-03 22:13:59   dewpoint        -22.4
     2018-10-03 16:22:06   firmware        00.00.66
     2018-10-03 22:13:59   humidity        =6.1
     2018-10-03 22:13:59   state           T: 14.7 H: =6.1
     2018-10-03 22:13:59   temperature     14.7
   helper:
     CallBattery 0
     CallSensDataCounter 0
     updateTimeCallBattery 1538590970.06001
     updateTimestampCallBattery 2018-10-03 20:22:50
Attributes:
   event-on-change-reading batteryPercent,temperature,Luftfeuchtigkeit
   event-on-update-reading batteryPercent,temperature,Luftfeuchtigkeit
   interval   120
   model      thermoHygroSens
   room       XiaomiBTLESens
   userReadings Luftfeuchtigkeit { my $luft = ReadingsVal("xiaomi1","humidity",0);$luft=~s/=//;$luft;}

Vielen Dank nochmal für den Kaffee. Ich habe mich die Tage mit Deinem "Problem" beschäftigt und muss gestehen das ich keine Ahnung habe wo das = herkommen soll. Ich sehe da beim besten Willen kein Problem beim auslesen.
Kannst Du mal schauen ob Du bei höheren Werten auch die Probleme hast?
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: smurphy am 13 Oktober 2018, 12:59:07
Sorry das ich jetzt erst wieder in das Forum schaue. Ich werde das am Wochenende mal,testen und sage dann Bescheid.

Es ist ja auch aktuell kein Problem mehr, dank des userreadings.
Aber klar, wir haben nur das Symptom beseitigt.

Gruß
Smurphy
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: smurphy am 14 Oktober 2018, 20:35:19
So ganz schlau bin ich noch nicht.

Ich habe im FHEM eine Fehlermeldung im Log gehabt und es wurden keine neuen Werte gelesen.
   
„The BlockingCall Process terminated unexpectedly. Timedout“
Ich habe jetzt den Sensor aus der Trockenbox genommen und den Raspi neungestartet.

Die Werte werden aktuell ohne das Gleichheitszeichen gesendet.

   
T: 20.0 H: 55.2 D: 10.7
Morgen nach der Arbeit schaue ich, ob die Werte noch ok sind und lege dann den Sender zurück in die Trockenbox.

Mal sehen was passiert.

Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 15 Oktober 2018, 15:39:25
Aber ist ja schon mal interessant. Im einstelligen Bereich ist ja das Format anders, da muss ich dann erstmal schauen.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 15 Oktober 2018, 15:40:00
Ich habe eh vor das gesamte Modul ein wenig um zu bauen. Hauptsächlich damit ich mit package arbeiten kann und vielleicht etwas OOP
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: smurphy am 15 Oktober 2018, 20:20:42
Guten Abend Cooltux,

Jetzt ist es bestätigt. Einstellige Werte werden mit dem Gleichheitszeichen ausgegeben.

Zumindest ist jetzt die Ursache gefunden!

Gruß
Smurphy
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: ToM_ToM am 17 Oktober 2018, 06:46:32
Zitat
Was mir aber auf fällt das der letzte Timestamp aller Readings kurz vor dem setzen und abrufen des Batteriestatus endet. Muss nichts heißen aber ich schaue da mal.

Guten Morgen Leon,

da ich aktuell wieder den Fall habe dass die Sensoren nicht automatisch reenablen nachdem ich innderhal des disabled intervalls neu gestartet habe, die Frage: Hast du hier schon was zu herausfinden können? :)

Zusätzlich ist mir heute noch etwas aufgefallen. Einer meiner Pflanzensensoren hängt im Status "set attribute model first". Das Attribut ist jedoch gesetzt und das manuelle Abrufen funktioniert auch.

Internals:
   BTMAC      C4:7C:8D:66:04:70
   DEF        C4:7C:8D:66:04:70
   INTERVAL   3600
   NAME       Pflanze_07
   NOTIFYDEV  global,Pflanze_07
   NR         1002
   NTFY_ORDER 50-Pflanze_07
   STATE      set attribute model first
   TYPE       XiaomiBTLESens
   VERSION    2.2.2
   loglevel   4
   READINGS:
     2018-06-14 20:36:07   battery         ok
     2018-06-14 20:36:07   batteryLevel    100
     2018-10-16 11:23:43   batteryPercent  100
     2018-10-16 11:23:43   batteryState    ok
     2018-10-16 20:46:15   fertility       479
     2018-10-16 11:23:43   firmware        3.1.8
     2018-10-14 13:49:41   lastGattError   charWrite faild
     2018-10-16 20:46:15   lux             121
     2018-10-16 20:46:15   moisture        27
     2018-10-16 20:46:15   moistureFeeling good
     2018-10-16 21:00:48   state           set attribute model first
     2018-10-16 20:46:15   temperature     21.8
   helper:
     CallBattery 0
     CallSensDataCounter 0
Attributes:
   DbLogExclude .*
   alias      Gasteria
   disabledForIntervals 21:00-24:00 00:00-06:00
   interval   3600
   maxFertility 1000
   maxLux     30000
   maxMoisture 50
   maxTemp    35
   minFertility 300
   minLux     3500
   minMoisture 7
   minTemp    5
   model      flowerSens
   room       FlowerSens
   userReadings moistureFeeling:moisture.* {
if (ReadingsVal($name, "moisture", -1) < AttrVal($name, "minMoisture", 0)) {
return "too dry";
}
elsif (ReadingsVal($name, "moisture", -1) < AttrVal($name, "minMoisture", 100) + 3) {
return "getting dry";
}
elsif (ReadingsVal($name, "moisture", -1) > AttrVal($name, "maxMoisture", 100)) {
return "too wet";
}
else {
return "good";
}
}

VG, Thomas
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 17 Oktober 2018, 08:19:37
Hallo Thomas,

Herausfinden konnte ich leider noch nichts. Hatte aber auch schon einmal das Problem. Es hat etwas damit zu tun wenn man innerhalb der disabled Zeit FHEM neustartet.

Zu Deinem einen Sensor. Bitte einmal das Attribut model löschen. Dann auf DEF klicken und einfach wieder auf modify. Danach das model Attribut vergeben.


Grüße
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: JWRu am 18 Oktober 2018, 10:57:08
Ich habe Probleme mit XiaomiBTLESens und FHEM2FHEM.
Ich habe ein Xiaomi-Device auf einem RasPi Zero W eingerichtet, den ich für BLE-Tags (PRESENCE) nutze. Hier läuft meine dritte FHEM-Installation (FHEM3).
Lokal funktioniert alles prima.
Jetzt habe ich versucht, das Device per FHEM2FHEM auf ein gleichnamiges dummy-Device im meinem Haupt-FHEM (FHEM1) zu übertragen, wie ich das schon mehrfach mit Geräten in meiner zweiten FHEM-Installation (FHEM2) erfolgreich gemacht habe.
Dabei tritt folgendes Problem auf: Die Readings des dummies auf FHEM1 werden zwar einmalig definiert, dann aber mit Ausnahme von "state" nicht mehr aktualisiert. Ursache ist wohl, dass das Update der Readings im Original-Device (FHEM3) keine events auslöst. Im Event monitor taucht jedenfalls außer "state" nichts auf. Erst wenn ich einzelne Readings explizit im Attribut "event-on-update-reading" aufliste, werden events ausgelöst und die Readings im dummy-Device aktualisiert. Sobald ich aber "state" in die Liste aufnehme, löst nur noch "state" ein event aus.
Hier das list des Original-Device (FHEM3):
Internals:
   BTMAC      C4:7C:8D:64:47:67
   CFGFN     
   DEF        C4:7C:8D:64:47:67
   INTERVAL   300
   NAME       Ficus
   NOTIFYDEV  global,Ficus
   NR         56
   NTFY_ORDER 50-Ficus
   STATE      active
   TYPE       XiaomiBTLESens
   VERSION    2.2.2
   loglevel   4
   READINGS:
     2018-10-17 22:59:11   batteryPercent  99
     2018-10-17 22:59:11   batteryState    ok
     2018-10-18 10:44:30   fertility       777
     2018-10-17 22:59:11   firmware        3.1.9
     2018-10-18 10:20:48   lastGattError   charWrite faild
     2018-10-18 10:44:30   lux             2581
     2018-10-18 10:44:30   moisture        47
     2018-10-18 10:44:30   state           active
     2018-10-18 10:44:30   temperature     21.4
   helper:
     CallBattery 0
     CallSensDataCounter 0
     updateTimeCallBattery 1539809951.40486
     updateTimestampCallBattery 2018-10-17 22:59:11
Attributes:
   event-on-update-reading moisture,temperature,lux,fertility
   model      flowerSens
   room       XiaomiBTLESens

und des dummies (FHEM1):
Internals:
   CFGFN     
   NAME       Ficus
   NR         3961
   STATE      write sensor data
   TYPE       dummy
   Helper:
     DBLOG:
       fertility:
         myDbLog:
           TIME       1539852270.6456
           VALUE      777
       lux:
         myDbLog:
           TIME       1539852270.69482
           VALUE      2581
       moisture:
         myDbLog:
           TIME       1539852270.62049
           VALUE      47
       state:
         myDbLog:
           TIME       1539808234.50414
           VALUE      write sensor data
       temperature:
         myDbLog:
           TIME       1539852270.67003
           VALUE      21.4
   READINGS:
     2018-10-18 10:44:30   fertility       777
     2018-10-18 10:44:30   lux             2581
     2018-10-18 10:44:30   moisture        47
     2018-10-17 22:30:34   state           write sensor data
     2018-10-18 10:44:30   temperature     21.4
Attributes:
   room       Flur
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 18 Oktober 2018, 11:04:03
Deine Beobachtung ergibt keinen Sinn. Wenn ich Dich richtig verstanden habe, dann kommen Events vom Moduldevice erst seit Du event-on-update-reading aktiviert hast.
Sollte es ein Problem vom Modul her sein, so würde ein event-on-xxx Eintrag dieses nicht lösen.
Lass es mich heute Abend einmal testen, Ich glaube ich habe bei mir event-on-change-reading aktiviert. Werde das mal raus nehmen.

Aber ich habe Dich richtig verstanden? Ohne event-on-xxx kommen keine Events?
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: JWRu am 18 Oktober 2018, 11:05:07
Es kommen dann nur events für "state".
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: JWRu am 18 Oktober 2018, 11:27:28
Ich muss es genauer beschreiben:
Ohne event-on-update-reading tauchen außer für "state" keine Events im FHEM1 auf.
Event monitor FHEM3:
2018-10-18 11:16:16 XiaomiBTLESens Ficus write sensor data
2018-10-18 11:16:19 XiaomiBTLESens Ficus read sensor data
2018-10-18 11:16:19 XiaomiBTLESens Ficus lux: 2553
2018-10-18 11:16:19 XiaomiBTLESens Ficus moisture: 47
2018-10-18 11:16:19 XiaomiBTLESens Ficus fertility: 753
2018-10-18 11:16:19 XiaomiBTLESens Ficus temperature: 22.5
2018-10-18 11:16:19 XiaomiBTLESens Ficus active

Event monitor FHEM1:
2018-10-18 11:16:16 dummy Ficus write sensor data

Mit "event-on-update-reading moisture,temperature,lux,fertility" sieht es so aus:
Event monitor FHEM3:
2018-10-18 11:24:44 XiaomiBTLESens Ficus lux: 2734
2018-10-18 11:24:44 XiaomiBTLESens Ficus temperature: 22.9
2018-10-18 11:24:44 XiaomiBTLESens Ficus moisture: 47
2018-10-18 11:24:44 XiaomiBTLESens Ficus fertility: 753

Event monitor FHEM1:
2018-10-18 11:24:44 dummy Ficus lux: 2734
2018-10-18 11:24:44 dummy Ficus temperature: 22.9
2018-10-18 11:24:44 dummy Ficus moisture: 47
2018-10-18 11:24:44 dummy Ficus fertility: 753


Hier ein list meines FHEM2FHEM:
Internals:
   CFGFN     
   DEF        192.168.178.86:7027 LOG:Ficus.*

   FD         29
   Host       192.168.178.86:7027
   NAME       FHEM3
   NR         3507
   PARTIAL   
   STATE      connected
   TYPE       FHEM2FHEM
   informType LOG
   regexp     Ficus.*
   Helper:
     DBLOG:
       state:
         myDbLog:
           TIME       1539854181.41746
           VALUE      CONNECTED
Attributes:
   room       System
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 18 Oktober 2018, 11:34:33
Ändere mal bitte das FHEM2FEHM Define nach
DEF        192.168.178.86:7027 LOG:Ficus:(lux|moisture|fertility|temperature):.*

Es ist eher ein Hilferuf, da ich keinen Ansatz habe wieso das so ist.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 18 Oktober 2018, 12:03:42
Guten Morgen Leon,

da ich aktuell wieder den Fall habe dass die Sensoren nicht automatisch reenablen nachdem ich innderhal des disabled intervalls neu gestartet habe, die Frage: Hast du hier schon was zu herausfinden können? :)

Zusätzlich ist mir heute noch etwas aufgefallen. Einer meiner Pflanzensensoren hängt im Status "set attribute model first". Das Attribut ist jedoch gesetzt und das manuelle Abrufen funktioniert auch.

Internals:
   BTMAC      C4:7C:8D:66:04:70
   DEF        C4:7C:8D:66:04:70
   INTERVAL   3600
   NAME       Pflanze_07
   NOTIFYDEV  global,Pflanze_07
   NR         1002
   NTFY_ORDER 50-Pflanze_07
   STATE      set attribute model first
   TYPE       XiaomiBTLESens
   VERSION    2.2.2
   loglevel   4
   READINGS:
     2018-06-14 20:36:07   battery         ok
     2018-06-14 20:36:07   batteryLevel    100
     2018-10-16 11:23:43   batteryPercent  100
     2018-10-16 11:23:43   batteryState    ok
     2018-10-16 20:46:15   fertility       479
     2018-10-16 11:23:43   firmware        3.1.8
     2018-10-14 13:49:41   lastGattError   charWrite faild
     2018-10-16 20:46:15   lux             121
     2018-10-16 20:46:15   moisture        27
     2018-10-16 20:46:15   moistureFeeling good
     2018-10-16 21:00:48   state           set attribute model first
     2018-10-16 20:46:15   temperature     21.8
   helper:
     CallBattery 0
     CallSensDataCounter 0
Attributes:
   DbLogExclude .*
   alias      Gasteria
   disabledForIntervals 21:00-24:00 00:00-06:00
   interval   3600
   maxFertility 1000
   maxLux     30000
   maxMoisture 50
   maxTemp    35
   minFertility 300
   minLux     3500
   minMoisture 7
   minTemp    5
   model      flowerSens
   room       FlowerSens
   userReadings moistureFeeling:moisture.* {
if (ReadingsVal($name, "moisture", -1) < AttrVal($name, "minMoisture", 0)) {
return "too dry";
}
elsif (ReadingsVal($name, "moisture", -1) < AttrVal($name, "minMoisture", 100) + 3) {
return "getting dry";
}
elsif (ReadingsVal($name, "moisture", -1) > AttrVal($name, "maxMoisture", 100)) {
return "too wet";
}
else {
return "good";
}
}

VG, Thomas

Fehler gefunden und gefixt. Werde ich die Tage ausrollen. Bitte etwas Geduld ich baue gerade das Modul wegen Package um.

Grüße
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: JWRu am 18 Oktober 2018, 12:59:51
Zitat
Ändere mal bitte das FHEM2FEHM Define nach
Code: [Auswählen]
DEF        192.168.178.86:7027 LOG:Ficus:(lux|moisture|fertility|temperature):.*

Es ist eher ein Hilferuf, da ich keinen Ansatz habe wieso das so ist.

Irgendjemand hat den Hilferuf erhört: Die Änderung bei FHEM2FHEM hat denselben Effekt wie event-on-update-reading (habe ich natürlich gelöscht).
Allerdings kriege ich die "state"-Events nicht rüber zu FHEM1, auch wenn ich "state" in der DEF ergänze.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 18 Oktober 2018, 13:29:05
Ja das ist ein bisschen kniffliger
Versuche mal bitte
DEF        192.168.178.86:7027 LOG:Ficus:(\s[a-z]+|(lux|moisture|fertility|temperature):\s[0-9]+)
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: JWRu am 18 Oktober 2018, 14:33:48
Zitat
Versuche mal bitte
DEF        192.168.178.86:7027 LOG:Ficus:(\s[a-z]+|(lux|moisture|fertility|temperature):\s[0-9]+)

Mit dieser Definition passiert folgendes:

Event monitor FHEM3:
2018-10-18 14:31:50 XiaomiBTLESens Ficus write sensor data
2018-10-18 14:31:53 XiaomiBTLESens Ficus read sensor data
2018-10-18 14:31:54 XiaomiBTLESens Ficus temperature: 24.9
2018-10-18 14:31:54 XiaomiBTLESens Ficus fertility: 659
2018-10-18 14:31:54 XiaomiBTLESens Ficus moisture: 45
2018-10-18 14:31:54 XiaomiBTLESens Ficus lux: 2259
2018-10-18 14:31:54 XiaomiBTLESens Ficus active

Event monitor FHEM1:
2018-10-18 14:31:54 dummy Ficus fertility: 659
2018-10-18 14:31:54 dummy Ficus moisture: 45
2018-10-18 14:31:54 dummy Ficus lux: 2259
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: JWRu am 18 Oktober 2018, 14:41:44
Habe noch ein bißchen rumgespielt. Mit

DEF 192.168.178.86:7027 LOG:Ficus:.*
kommt:
2018-10-18 14:38:48 dummy Ficus write sensor data
2018-10-18 14:38:53 dummy Ficus temperature: 25
2018-10-18 14:38:53 dummy Ficus moisture: 45
2018-10-18 14:38:53 dummy Ficus fertility: 657
2018-10-18 14:38:53 dummy Ficus lux: 2344
2018-10-18 14:38:53 dummy Ficus active

Das war's dann wohl. Verstanden habe ich es trotzdem nicht.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 18 Oktober 2018, 14:47:02
DEF 192.168.178.86:7027 LOG:Ficus.(((lux|moisture|fertility|temperature):\s[0-9].+)|([a-z]+\s?)+)

So würde es auch gehen.
Hattest Du
DEF 192.168.178.86:7027 LOG:Ficus:.*
nicht ganz am Anfang?


Nachtrag
Gerade gesehen Du hattest das letzte : nicht.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 18 Oktober 2018, 14:48:29
Guten Abend Cooltux,

Jetzt ist es bestätigt. Einstellige Werte werden mit dem Gleichheitszeichen ausgegeben.

Zumindest ist jetzt die Ursache gefunden!

Gruß
Smurphy

Dann brauche ich bitte ein verbose 5 mit zweistelligen Werten und ein verbose 5 mit einem einstelligen Wert.
Danke Dir
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: JWRu am 18 Oktober 2018, 14:52:55
Zitat
Hattest Du
Code: [Auswählen]
DEF 192.168.178.86:7027 LOG:Ficus:.*
nicht ganz am Anfang?

Nein, der Doppelpunkt nach "Ficus" fehlte.

Seltsam - mein anderes FHEM2FHEM sieht so aus:
DEF 192.168.178.82:7027 LOG:^Heizung.*|Pin13.*|Luftdruckmesser.*|Flow_01Trotzdem funktioniert alles.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: JWRu am 18 Oktober 2018, 15:05:34
Zu früh gefreut: Es hat nach der Änderung von DEF nur einmal funktioniert - jetzt kommt wieder nur noch "state".
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 18 Oktober 2018, 15:10:08
Was ist damit

DEF 192.168.178.86:7027 LOG:Ficus.(((lux|moisture|fertility|temperature):\s[0-9].+)|([a-z]+\s?)+)

War mein letztes Beispiel. Aber eigentlich sollte es nicht nur einmal gehen sondern wenn dann immer.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: JWRu am 18 Oktober 2018, 15:32:10
Zitat
Was ist damit

DEF 192.168.178.86:7027 LOG:Ficus.(((lux|moisture|fertility|temperature):\s[0-9].+)|([a-z]+\s?)+)

dann kommt wieder nur:
2018-10-18 15:27:23 dummy Ficus write sensor data
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 18 Oktober 2018, 15:33:35
Das interessiert mich. Ich werde mir das die Tage mal zu Hause anschauen.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 18 Oktober 2018, 15:40:17
konnte doch nicht warten
Internals:
   CFGFN     
   DEF        10.6.6.21:7072 LOG:PflanzenSensor1.*
   FD         7
   Host       10.6.6.21:7072
   NAME       FHEM02toFHEM01
   NR         15
   PARTIAL   
   STATE      connected
   TYPE       FHEM2FHEM
   informType LOG
   regexp     PflanzenSensor1.*
Attributes:
   room       EDV


Internals:
   CFGFN     
   NAME       PflanzenSensor1
   NR         2110
   STATE      maxTemp ok
   TYPE       dummy
   READINGS:
     2018-10-18 15:38:06   fertility       1111
     2018-10-18 15:38:06   lux             331
     2018-10-18 15:38:06   moisture        51
     2018-10-18 15:38:06   state           maxTemp ok
     2018-10-18 15:38:06   temperature     18.9
Attributes:
   room       Test

Geht 1a. Habe auch kein event-on-* irgendwas beim original Device. Einzig die Sache mit state ist seltsam, aber da stand kurz vor dem "maxTemp ok" ein active. Scheint das er den DoTrigger als state interpretiert.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 18 Oktober 2018, 15:42:56
Wenn ich das ganze änder in das was ich dir vorhin vorgeschlagen habe

Internals:
   CFGFN     
   DEF        10.6.6.21:7072 LOG:PflanzenSensor1.(((lux|moisture|fertility|temperature):\s[0-9].+)|([a-z]+\s?)+)
   FD         7
   Host       10.6.6.21:7072
   NAME       FHEM02toFHEM01
   NR         15
   PARTIAL   
   STATE      connected
   TYPE       FHEM2FHEM
   informType LOG
   regexp     PflanzenSensor1.(((lux|moisture|fertility|temperature):\s[0-9].+)|([a-z]+\s?)+)
Attributes:
   room       EDV

kommt auch alles so wie erwartet

Internals:
   CFGFN     
   NAME       PflanzenSensor1
   NR         2110
   STATE      active
   TYPE       dummy
   READINGS:
     2018-10-18 15:41:12   fertility       1113
     2018-10-18 15:41:12   lux             348
     2018-10-18 15:41:12   moisture        51
     2018-10-18 15:41:12   state           active
     2018-10-18 15:41:12   temperature     18.8
Attributes:
   room       Test
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: JWRu am 18 Oktober 2018, 15:45:17
Bei mir hat er auch direkt nach der Definition des Dummy alle Readings wunderschön angelegt und aktualisiert.
Nur anschließend wurde nur noch "state" aktualisiert.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 18 Oktober 2018, 15:51:20
Deswegen habe ich es dreimal hintereinander getestet.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: JWRu am 18 Oktober 2018, 17:18:27
Ich habe FHEM2FHEM jetzt mal auf:
DEF LOG:Ficus:(lux|moisture|fertility|temperature|.*):.*gesetzt - da kommt außer "state" alles an (auch batteryPercent etc.)
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 18 Oktober 2018, 17:35:36
Was du da hast ist doppelt gemoppelt. Weißt Du wie regex geht? Testen kannst du unter 103regex.com oder so
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: JWRu am 18 Oktober 2018, 20:09:31
Es ist mir schon klar, dass das schräg ist. Wenn FHEM2FHEM den regex korrekt interpretieren würde, müsste ja wohl ".*" reichen, um alle Events zu bekommen.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 19 Oktober 2018, 04:47:20
Ich habe soeben eine neue Version eingecheckt. Sollte nun auch nach einem restart von FHEM innerhalb der disabledForInterval Zeit gehen.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: JWRu am 19 Oktober 2018, 09:05:38
Jetzt geht alles auch mit
DEF 192.168.178.86:7027 LOG:Ficus.*Weiß der Henker, was das war.
Vielen Dank nochmal!
Eine Frage habe ich noch, bevor ich mich verabschiede:
In welchen Einheiten wird "batteryFirmwareAge" gesetzt? Sekunden?
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 19 Oktober 2018, 09:27:48
Als Value für das Attribut batteryFirmwareAge steht 8h,16h,24h,32h,40h,48h zur Auswahl. Das h bedeutet Stunden und bezieht sich auf das maximale Alter des Readings bevor es aktualisiert werden soll.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: JWRu am 19 Oktober 2018, 10:10:57
Danke!
Ich hatte nicht versucht, das Attribut zu setzen, sondern nur in der Commandref gelesen.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 19 Oktober 2018, 10:25:21
Danke!
Ich hatte nicht versucht, das Attribut zu setzen, sondern nur in der Commandref gelesen.
Ich werde die Commandref eindeutiger schreiben. Habe beim lesen festgestellt das es nicht wirklich deutlich genug rüber kommt.


Grüße
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 20 Oktober 2018, 21:44:58
Guten Abend Cooltux,

Jetzt ist es bestätigt. Einstellige Werte werden mit dem Gleichheitszeichen ausgegeben.

Zumindest ist jetzt die Ursache gefunden!

Gruß
Smurphy

Ich kann es reparieren. Kannst Du mir ein verbose 5 Ausgabe geben wenn der Wert 2 stellig ist?
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 20 Oktober 2018, 21:54:35
Ok hat sich erledigt. Fehler gefunden.
Der Bug muss sich in einer Version nach 2.0.1 eingeschlichen haben, ich hatte es nämlich schon mal richtig gehabt  ;D

Morgen früh per Update
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: smurphy am 21 Oktober 2018, 17:45:36
Hast du schon ein Update released?
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 21 Oktober 2018, 17:55:59
Ja. Steht seit heute morgen bereit.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: smurphy am 21 Oktober 2018, 20:56:03
Habe gerade aktualisiert und dann neu gestartet. Die Werte stimmen.
Um das Log sauber zu haben, habe ich es gelöscht und ein neues angelegt. Nach dem Neustart habe ich zuerst einen falschen Wert im log, danach passt es.

2018-10-21_20:45:18 xiaomi1 read sensor data
2018-10-21_20:45:18 xiaomi1 Luftfeuchtigkeit: 6.5
2018-10-21_20:45:24 xiaomi1 batteryState: ok
2018-10-21_20:45:24 xiaomi1 batteryPercent: 69
2018-10-21_20:45:24 xiaomi1 T: 17.4 H: =6.5
2018-10-21_20:45:24 xiaomi1 Luftfeuchtigkeit: 6.5
2018-10-21_20:45:24 xiaomi1 write sensor data
2018-10-21_20:45:24 xiaomi1 Luftfeuchtigkeit: 6.5
2018-10-21_20:45:37 xiaomi1 humidity: 4.9
2018-10-21_20:45:37 xiaomi1 temperature: 14.9
2018-10-21_20:45:37 xiaomi1 T: 14.9 H: 4.9 D: -24.8
2018-10-21_20:45:37 xiaomi1 Luftfeuchtigkeit: 4.9
2018-10-21_20:45:37 xiaomi1 dewpoint: -24.8
2018-10-21_20:45:37 xiaomi1 Luftfeuchtigkeit: 4.9
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: smurphy am 21 Oktober 2018, 21:31:04
Und noch etwas. Ich weiß nicht genau warum, aber ich kann den Wert H im plot nicht darstellen.

2018-10-21_21:26:25 xiaomi1 T: 14.9 H: 4.8 D: -25.0

Colum 4 liefert den Wert von T, Colum 8 den Wert von D, Colum 6 liefert keinen Wert im Graphen.

Woran kann das liegen? Handelt es sich eventuell umeinen String und keine Zahl?

Es gibt auch Fehlermeldungen im log.

Server started with 179 defined entities (fhem.pl:17528/2018-10-14 perl:5.024001 os:linux user:fhem pid:1949)
2018.10.21 21:18:49 1: PERL WARNING: Illegal hexadecimal digit ' ' ignored at ./FHEM/74_XiaomiBTLESens.pm line 865.
2018.10.21 21:18:49 3: eval: {XiaomiBTLESens::ExecGatttool_Done('xiaomi1|4c:65:a8:d8:ae:ef|ok|read|0x18|{"gtResult":"45 "}')}
2018.10.21 21:18:49 1: PERL WARNING: Illegal hexadecimal digit ' ' ignored at ./FHEM/74_XiaomiBTLESens.pm line 866.
2018.10.21 21:18:49 3: eval: {XiaomiBTLESens::ExecGatttool_Done('xiaomi1|4c:65:a8:d8:ae:ef|ok|read|0x18|{"gtResult":"45 "}')}
2018.10.21 21:18:51 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at (eval 193) line 1.
2018.10.21 21:18:51 3: eval: { "Xiaomi Humidity Min $data{min2}, Max $data{max2}, Last $data{currval2}, Taupunkt $data{currval3}" }
2018.10.21 21:19:02 1: PERL WARNING: Argument "5.0\0" isn't numeric in numeric le (<=) at ./FHEM/98_dewpoint.pm line 278.
2018.10.21 21:20:55 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at (eval 236) line 1.
2018.10.21 21:20:56 3: eval: { "Xiaomi Humidity Min $data{min2}, Max $data{max2}, Last $data{currval2}, Taupunkt $data{currval3}" }
2018.10.21 21:26:25 1: PERL WARNING: Argument "4.8\0" isn't numeric in numeric le (<=) at ./FHEM/98_dewpoint.pm line 278.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 22 Oktober 2018, 08:21:41
Das ganze kommt vom Sensor in der Tat als Text, aber das stört Perl eigentlich nicht, da Perl erkennen kann das es sich im eine Zahl handelt und den Variablen Type intern an passt.
Warum nimmst Du ausgerechnet state als Reading für den Plot. Du hast doch die Werte einzeln in Readings.
Die Meldung
2018.10.21 21:18:49 3: eval: {XiaomiBTLESens::ExecGatttool_Done('xiaomi1|4c:65:a8:d8:ae:ef|ok|read|0x18|{"gtResult":"45 "}')}
2018.10.21 21:18:49 1: PERL WARNING: Illegal hexadecimal digit ' ' ignored at ./FHEM/74_XiaomiBTLESens.pm line 866.
2018.10.21 21:18:49 3: eval: {XiaomiBTLESens::ExecGatttool_Done('xiaomi1|4c:65:a8:d8:ae:ef|ok|read|0x18|{"gtResult":"45 "}')}
Kommt vom Batteriestatus. Das schaue ich mir gerne noch mal an.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: smurphy am 22 Oktober 2018, 14:50:19
Ich logge eigentlich nur das State um das logfile klein zu halten.

Ich habe es jetzt mal mit den einzelnen Readings versucht:

Example lines for input:
2018-10-22_14:42:40 xiaomi1 Luftfeuchtigkeit: 4.9
2018-10-22_14:42:40 xiaomi1 T: 14.9 H: 4.9 D: -24.8
2018-10-22_14:42:40 xiaomi1 dewpoint: -24.8
2018-10-22_14:42:40 xiaomi1 humidity: 4.9
2018-10-22_14:42:40 xiaomi1 temperature: 14.9
2018-10-22_14:42:28 xiaomi1 write sensor data

#File_LOG_xiaomi1 4:xiaomi1.temperature\x3a:10:
#File_LOG_xiaomi1 4:xiaomi1.humidity\x3a:50:

plot "<IN>" using 1:2 axes x1y2 title 'Measured temperature' ls l0 lw 1 with lines,\
     "<IN>" using 1:2 axes x1y1 title 'Humidity_(%)' ls l2 lw 2 with lines

Temperatur wird angezeigt....die Luftfeuchtigkeit nicht.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 22 Oktober 2018, 15:09:18
Kenne mich damit ehrlich gesagt nicht so gut aus.
Steht denn die Luftfeuchte überhaupt im Filelog drin?
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: smurphy am 22 Oktober 2018, 15:53:15
Ja klar..die example lines stammen aus dem File-Log.

Ich habe ja auch zig SVG Plots und das Problem nur mit diesem Wert von diesem Device.
Ich kann das ja auch an anderer Stelle mal erfragen. Ich war davon ausgegangen, dass die Ursache in diesem speziellen Werten liegt.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 22 Oktober 2018, 16:11:02
Ich habe einen Fix fertig für
2018.10.21 21:18:49 3: eval: {XiaomiBTLESens::ExecGatttool_Done('xiaomi1|4c:65:a8:d8:ae:ef|ok|read|0x18|{"gtResult":"45 "}')}
2018.10.21 21:18:49 1: PERL WARNING: Illegal hexadecimal digit ' ' ignored at ./FHEM/74_XiaomiBTLESens.pm line 866.
2018.10.21 21:18:49 3: eval: {XiaomiBTLESens::ExecGatttool_Done('xiaomi1|4c:65:a8:d8:ae:ef|ok|read|0x18|{"gtResult":"45 "}')}

Kommt die Tage per Update
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 22 Oktober 2018, 16:11:35
Wegen dem Plot habe ich ehrlich gesagt gar keine Idee
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: smurphy am 22 Oktober 2018, 20:45:22
Ich warte erstmal dein Update ab, ob dann das log wieder frei von Fehlermeldungen ist.

Vielen Dank für deine tolle Arbeit Cooltux!

Gruß
Smurphy
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 23 Oktober 2018, 11:19:14
Ich habe den Fix soeben hochgeladen. Bekommst morgen per FHEM Update
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: smurphy am 23 Oktober 2018, 16:03:32
 ;D ;D ;D
Ich werde berichten.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: smurphy am 24 Oktober 2018, 08:40:09
Guten Morgen Cooltux.

Der Bug mit der Batterieanzeige ist behoben.
Das Problem, dass die humidity Werte nicht im Plot visiualisiert werden können, besteht weiterhin.

Die Taupunktberechnung meckert auch an, dass es sich um einen uninitialisierten Wert oder String handelt. ( Argument "4.7\0" isn't numeric in numeric)

2018.10.24 08:35:29 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at (eval 194) line 1.
2018.10.24 08:35:29 3: eval: { "Xiaomi Humidity Min $data{min2}, Max $data{max2}, Last $data{currval2}, Taupunkt $data{currval3}" }
2018.10.24 08:35:31 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at (eval 196) line 1.
2018.10.24 08:35:31 3: eval: { "Xiaomi Humidity Min $data{min2}, Max $data{max2}, Last $data{currval2}, Taupunkt $data{currval3}" }
2018.10.24 08:35:35 1: PERL WARNING: Argument "4.7\0" isn't numeric in numeric le (<=) at ./FHEM/98_dewpoint.pm line 278.
2018.10.24 08:35:51 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at (eval 229) line 1.
2018.10.24 08:35:51 3: eval: { "Xiaomi Humidity Min $data{min2}, Max $data{max2}, Last $data{currval2}, Taupunkt $data{currval3}" }


Vielleicht bin ich aber auch nur ein Einzelschicksal.
Wie sieht das bei den anderen aus?
Gruß
Smurphy
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 24 Oktober 2018, 08:43:45
Erstelle mal bitte ein userreadings welches einfach nur luftfeuchte und Temperatur addiert. Verwende zum auslesen bitte Readingsval und schaue dann im Log nach Fehlern
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: smurphy am 24 Oktober 2018, 08:57:36
Habe heute leider den ganzen Tag zwei externe im Büro hocken und nach Feierabend gehen wir noch in die Stadt. Wird also leider spät oder erst morgen früh.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 24 Oktober 2018, 09:12:53
Habe heute leider den ganzen Tag zwei externe im Büro hocken und nach Feierabend gehen wir noch in die Stadt. Wird also leider spät oder erst morgen früh.

Kein Problem
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: triagony am 24 Oktober 2018, 12:32:12
Hallo!
Erstmal vielen Dank für dieses Modul, das auch bis vor kurzem wunderbar bei meinen zwei Sensoren funktioniert hat. Leider bekomme ich seit ein paar Tagen (ich weiß leider nicht genau seit wann) immer folgenden Fehler:

2018.10.24 12:10:58 5 : XiaomiBTLESens (Benjamini_Fenster) - ExecGatttool_Done: gatttool return string: Benjamini_Fenster|C4:7C:8D:66:D2:80|error|read|0x38|{"gtResult":"Connection refused (111)"}
2018.10.24 12:10:58 4 : XiaomiBTLESens (Benjamini_Fenster) - ProcessingErrors
2018.10.24 12:10:58 4 : XiaomiBTLESens (Benjamini_Fenster) - WriteReadings: Readings were written


In der Konsole mit gatttool sieht es genauso aus:

user@fhem-VM:~$ gatttool -i hci0 -b  C4:7C:8D:66:D2:80 --char-read -a 0x38
connect: Connection refused (111)

Ich habe bereits
sudo hciconfig hci0 down; sudo hciconfig hci0 upausprobiert; leider ohne Erfolg.

Beim Scannen mit lescan werden die Sensoren angezeigt. Ebenso funktionieren Sie in der Android-App; Firmware der Sensoren ist 3.1.9 (heute ein Update aufgespielt - Version 3.1.8 hat aber auch nicht (mehr) funktioniert).

Umgebung:
user@fhem-VM:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 9.5 (stretch)
Release: 9.5
Codename: stretch
user@fhem-VM:~$ bluetoothctl --version
5.43

list Benjamini_Fenster:



Internals:
   BTMAC      C4:7C:8D:66:D2:80
   DEF        C4:7C:8D:66:D2:80
   INTERVAL   300
   NAME       Benjamini_Fenster
   NOTIFYDEV  global,Benjamini_Fenster
   NR         264
   NTFY_ORDER 50-Benjamini_Fenster
   STATE      Temperatur: 20.3 &deg;C<br/>Helligkeit: 24 lx<br/>Bodenfeuchte: 19 %<br/>Dünger: 44 us/cm
   TYPE       XiaomiBTLESens
   VERSION    2.4.3
   loglevel   4
   Helper:
     DBLOG:
       lastGattError:
         DBLogging:
           TIME       1540376913.49599
           VALUE      Connection refused (111)
       state:
         DBLogging:
           TIME       1540376913.49599
           VALUE      error
   READINGS:
     2018-10-20 07:20:25   batteryPercent  100
     2018-10-20 07:20:25   batteryState    ok
     2018-10-20 19:57:15   fertility       44
     2018-10-20 07:20:25   firmware        3.1.8
     2018-10-24 12:28:33   lastGattError   Connection refused (111)
     2018-10-20 19:57:15   lux             24
     2018-10-20 19:57:15   moisture        19
     2018-10-24 12:28:33   state           error
     2018-10-20 19:57:15   temperature     20.3
   helper:
     CallBattery 0
     CallSensDataCounter 0
     updateTimeCallBattery 0
Attributes:
   maxFertility 2000
   maxLux     35000
   maxMoisture 60
   maxTemp    32
   minFertility 350
   minLux     2500
   minMoisture 15
   minTemp    8
   model      flowerSens
   room       MiSmartHome,Pflanzen,Wohnzimmer
   stateFormat {"Temperatur: " . ReadingsVal($name, "temperature", 0) . " &deg;C" . "<br/>" . "Helligkeit: " . ReadingsVal($name, "lux", 0) . " lx" . "<br/>" . "Bodenfeuchte: " . ReadingsVal($name, "moisture", 0) . " %" . "<br/>" . "Dünger: " . ReadingsVal($name, "fertility", 0) . " us/cm"}
   verbose    5


Hat jemand eine Idee, woran es liegen könnte? Für jeden sachdienlichen Hinweis bin ich dankbar :)

Beste Grüße
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag 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?
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: triagony am 24 Oktober 2018, 12:50:20
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

Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: triagony am 24 Oktober 2018, 13:04:08
Okay, der Neustart scheint es gebracht zu haben. Danke :)
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: smurphy am 24 Oktober 2018, 15:02:59
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
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag 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.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: smurphy am 24 Oktober 2018, 15:22:43
ä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.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag 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.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag 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
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 24 Oktober 2018, 15:48:55
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
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: smurphy am 24 Oktober 2018, 15:53:04
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.

Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 24 Oktober 2018, 15:55:30
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.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Invers am 24 Oktober 2018, 15:57:07
Zitat
Ich 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
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 24 Oktober 2018, 15:58:48
Dann brauche ich bitte ein list vom Device und ein verbose 5 Mitschnitt
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Invers am 24 Oktober 2018, 16:21:04
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.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: smurphy am 24 Oktober 2018, 22:35:32
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)}



Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 25 Oktober 2018, 04:41:32
Besser kann es dadurch nicht werden. Ich wollte nur eine Ausgabe haben. Hast Du den auch ein Rekord gemacht oder FHEM neu gestartet?
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: smurphy am 25 Oktober 2018, 06:07:38
Mit einen Record gemacht meinst du sicher einen neuen Wert abgerufen mit get sensordat?
Ja habe ich. Und ich habe auch das Modul neu geladen. Weil,ich die Ausgabe nicht gefunden habe, habe ich FHEM und schlussendlich sogar den raspi neu gestartet. Wo hätte denn die Ausgabe erscheinen sollen? Im FHEM.log? Es kam nichts. Deshalb habe ich den Screenshot der editierten Datei hochgeladen.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 25 Oktober 2018, 06:54:37
Ja hätte eigentlich im FHEM Log erscheinen sollen. Ich schaue nachher noch mal
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: smurphy am 25 Oktober 2018, 07:52:48
4:41 / 6:54 ? Was machst du da mitten in der Nacht? ::) ::)
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 25 Oktober 2018, 08:59:23
Na für Euch da sein  ;D
Also irgendwas hat sich in den letzten Wochen/Monaten geändert bei den Dingern. Gab es da ein Firmwareupdate oder so?

Ich lade mal ins Git eine neue Version.
@Invers @smurphy bitte testet ihr beide diese einmal unter den selben Umständen wie ihr aktuell testet.
https://github.com/LeonGaultier/fhem-XiaomiBTLESens/archive/master.zip

Grüße
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Invers am 25 Oktober 2018, 21:28:57
Hast du sehr gut gemacht. Läuft, behalte ich. :-))

Danke, super, wie immer!
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Dersch am 01 November 2018, 16:38:51
Ich habe 2 Sensoren mit dem Modul nun seit ein paar Monaten erfolgreich am laufen.

Nun sind es aber Topfpflanzen die Außen stehen und nun rein kommen. An beiden Orten habe ich einen Pi mit Bluetooth. Beides sind FHEM2FHEM "nodes" welche Ihre Sensoren an meine Hauptinstanz von FHEM übergeben.

Nun gibt es ja das ssh attr. Kann ich in der Hauptinstanz meines FHEM (ohne Bluetooth) die beiden Sensoren via SSH einbinden? Also je nach Ort und damit anderem Pi einfach die IP ändern?

Grüße
Dirk
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 01 November 2018, 16:49:23
Hallo Dirk,

Wenn ich Dich richtig verstanden habe dann sollte das ohne Probleme machbar sein. Bitte lese Dir durch welche Voraussetzungen für ssh gegeben sein müssen.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Tobias am 01 November 2018, 20:54:05
Hi Dirk,
um völlig unabhängig zu sein kann ich nur empfehlen, die Daten nicht per FHEM2FHEM an die Hauptinstanz zu übergeben sondern alle Daten ins MQTT zu senden und von der Hauptinstanz per MQTT wieder einzubinden.
Damit ist man völlig von IP Adressen oder Clients losgelöst. Läuft bei mir seit einem Jahr super und stabil
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: skyline am 03 November 2018, 00:05:39
Hab nun einen USB-Stick laufen, welcher die Error-Sache noch mal verbessert hat.
Aber es kommt trotzdem noch weiter vor.

Zitat
Zitat:CoolTux
Es wird doch im state des Devices error geschrieben wenn es Probleme gab. Du kannst gerne ein Notify darauf ansetzen und einfach das holen der Daten noch einmal anstoßen. Solltest aber einen Zähler einbauen das nach 3-4 mal nichts mehr weiter gemacht wird.

Wäre das dann so korrekt?

define TF_RETRY notify EG_TF_.*:error {
my $loops = "3";
my $sleeptime = "10";
for(my $i = 1;$i <= $loops;$i++) { fhem "sleep $sleeptime; get $NAME sensorData;" }
}
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 03 November 2018, 03:54:18
Nein so wird das nichts.
Du musst den Zähler als Reading hinterlegen und abfragen. Wenn das Notify wieder an Sprint und der Zähler sagen wir mal 5 ist dann soll er aufhören ab zu rufen und es erst wieder bei der normalen Zeit machen.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: skyline am 03 November 2018, 07:20:09
Wie bekomme ich das Reading denn dann wieder zurückgesetzt auf 0?
Vielleicht mit einer zusatzlichen if-Fuinktion, welche das Reading bei 5 wieder zurücksetzt?

Warum würde es denn so wie beschrieben nicht gehen?
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 03 November 2018, 08:12:14
for(my $i = 1;$i <= $loops;$i++) { fhem "sleep $sleeptime; get $NAME sensorData;" }

Durchlaufe dieSchleife bei i=1 anfangend genau $loop mal und zähle $i immer um eins hoch nach jedem durchlauf.
Sende bei jedem durchlauf den Befehl fhem "sleep $sleeptime; get $NAME sensorData;"
er würde also ohne zu kontrollieren ob in einem Durchlauf der Befehl mal geklappt hat hart die x Befehle hintereinander weg senden

if ( ReadingsVal($NAME,'count',1) == 5 ) {
  CommandSet(undef, $self . ' inactive');
  fhem('sleep 15; set ' . $self . ' active');
}
elsif ( ReadingsVal($NAME,'count',1) < 5 ) {
  CommandGet(undef, $NAME . ' sensorData');
  readingsSingleUpdate( $defs{$shuttersDev} , 'count', ReadingsVal($NAME,'count',1) + 1, 0 );
}

Bei Fragen einfach Fragen
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: skyline am 03 November 2018, 12:30:55
Danke!!!
Stimmt natürlich.

Würde es denn auch so gehen?
define TF_RETRY notify EG_TF_.*:error {\
my $loops = "3";\
my $sleeptime = "10";\
for(my $i = 1;$i <= $loops;$i++) { \
if ('$EVENT' eq 'error'){\
    fhem "sleep $sleeptime; get $NAME sensorData" }\
}

oder so

define TF_RETRY notify EG_TF_.*:error {\
my $loops = "3";\
my $sleeptime = "10";\
for(my $i = 1;$i <= $loops;$i++) { \
if ( ReadingsVal('$NAME', 'state', 'undef') eq 'error'{\
    fhem "sleep $sleeptime; get $NAME sensorData" }\
}

Lerne ja noch ;-)
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 03 November 2018, 12:46:04
Auf die schnelle würde ich sagen ist das selbe in Grün. Auch hier durchläuft er wieder die volle Anzahl an loops da $EVENT error wäre.
Davon ab ist hier $EVENT nie Error, da $EVENT aus "READING: READINGVALUE" besteht.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: skyline am 06 November 2018, 13:52:04
Zitat
Davon ab ist hier $EVENT nie Error, da $EVENT aus "READING: READINGVALUE" besteht.

Ist das bei state nicht ein Sonderfall?
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 06 November 2018, 13:57:05
bei state ja
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: skyline am 08 November 2018, 09:23:23
if ( ReadingsVal($NAME,'count',1) == 5 ) {
  CommandSet(undef, $self . ' inactive');
  fhem('sleep 15; set ' . $self . ' active');
}
elsif ( ReadingsVal($NAME,'count',1) < 5 ) {
  CommandGet(undef, $NAME . ' sensorData');
  readingsSingleUpdate( $defs{$shuttersDev} , 'count', ReadingsVal($NAME,'count',1) + 1, 0 );
}

Aber hier würde doch nie etwas den Zähler (Count) wieder auf 0 setzen.
Würde dann doch nur beim ersten mal klappen....oder?
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 08 November 2018, 09:47:32
if ( ReadingsVal($NAME,'count',1) == 5 ) {
  CommandSet(undef, $self . ' inactive');
  fhem('sleep 15; set ' . $self . ' active');
}
elsif ( ReadingsVal($NAME,'count',1) < 5 ) {
  CommandGet(undef, $NAME . ' sensorData');
  readingsSingleUpdate( $defs{$shuttersDev} , 'count', ReadingsVal($NAME,'count',1) + 1, 0 );
}

Aber hier würde doch nie etwas den Zähler (Count) wieder auf 0 setzen.
Würde dann doch nur beim ersten mal klappen....oder?

War ja auch nur exemplarisch zum drüber nachdenken gedacht, es ist keine fertige funktionierende Lösung.
Du musst natürlich den count dann wieder auf null setzen

if ( ReadingsVal($NAME,'count',1) == 5 ) {
  CommandSet(undef, $self . ' inactive');
  fhem('sleep 900; set ' . $self . ' active');
 readingsSingleUpdate( $defs{$NAME} ,'count',0,0);
}
elsif ( ReadingsVal($NAME,'count',1) < 5 ) {
  CommandGet(undef, $NAME . ' sensorData');
  readingsSingleUpdate( $defs{$NAME} , 'count', ReadingsVal($NAME,'count',1) + 1, 0 );
}

Ist auch keine fertige Lösung und vor allem ungetestet
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: skyline am 08 November 2018, 12:36:59
Hmmm, aber wenn ich das notify auf inaktiv setze, würde es mir die anderen Devices nicht mehr überwachen.

Vielleicht sollte das doch mit ins Modul, da Bluetooth nicht so stabil läuft.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 08 November 2018, 12:57:11
Ich kann es mir bei Gelegenheit einmal in Ruhe anschauen. Aber das wird noch etwas dauern.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: skyline am 08 November 2018, 14:00:12
Das wäre super!!!
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: skyline am 14 November 2018, 21:37:24
Habe es (mit Hilfe) erstmal so hinbekommen.

Im Device
attr Device event-on-change-reading .*

attr Device userReadings  statevalue {
                                                      my $state = ReadingsVal($name, "state", "");
                                                      return "nok" if $state eq "error";
                                                      return "ok" if substr($state, 0, 1) eq "T";
                                                      return undef;
                                                      }

Im Notify
Device:statevalue:.nok {
                                   foreach $i (1..3) {
                                   fhem ("sleep 5;; get " . $NAME . " sensorData;; sleep 30");
                                   last if (ReadingsVal($NAME, "statevalue", "") eq "ok")}
                                   }


Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Typ1er am 19 November 2018, 10:10:30
Ich habe neuerdings relativ viele Probleme die Sensoren abzufragen.

- lastGattError: The BlockingCall Process terminated unexpectedly. Timedout
- lastGattError: Transport endpoint is not connected (107)
- ExecGatttool_Run: another gatttool process is running. waiting...
- unreachable

XiaomiBTLESens 2.4.4
Firmware ist 3.1.9

das "hcitool lescan" lief jetzt  nicht mehr, nur mit sudo und nach dem Neustart vom Bluetooth, da habe irgendwie was zerschossen, gibt es eine Möglichkeit hier alles auf Werkseinstellungen zu reseten ohne Neuinstallation?
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: skyline am 20 November 2018, 09:13:15
@Typ1er

Läuft echt nicht so stabil die Sache, das Problem ist wohl gatttool an sich.

Ich hatte auch 3 USB-Bluetooth-Adapter mit Antenne bestellt und nur einer wollte laufen.

Mit diesem habe ich aber nach 1 bis 2 Tagen alles auf Error stehen.

Am besten klappt bei mir (RaspberryPi 3) die interne Bluetooth Lösung mit einer externen Antenne.

Vielleicht klappt das bei dir:
https://urbanjack.wordpress.com/2014/04/17/fix-bluez-keeps-crashing/ (https://urbanjack.wordpress.com/2014/04/17/fix-bluez-keeps-crashing/)
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 20 November 2018, 09:43:42
Ich habe neuerdings relativ viele Probleme die Sensoren abzufragen.

- lastGattError: The BlockingCall Process terminated unexpectedly. Timedout
- lastGattError: Transport endpoint is not connected (107)
- ExecGatttool_Run: another gatttool process is running. waiting...
- unreachable

XiaomiBTLESens 2.4.4
Firmware ist 3.1.9

das "hcitool lescan" lief jetzt  nicht mehr, nur mit sudo und nach dem Neustart vom Bluetooth, da habe irgendwie was zerschossen, gibt es eine Möglichkeit hier alles auf Werkseinstellungen zu reseten ohne Neuinstallation?

Starte bitte einmal den kompletten Rechner neu und schaue ob es dann besser läuft.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: kroonen am 20 November 2018, 16:39:15
Hi

I think have a bug. When the temperature is below 10 degrees, the humitiy is not ok. The humidity should be 66.7 and not 6.7



Internals:
   BTMAC      4C:65:A8:D1:7D:DC
   DEF        4C:65:A8:D1:7D:DC
   INTERVAL   120
   NAME       Schuurtemp
   NOTIFYDEV  global,Schuurtemp
   NR         23
   NTFY_ORDER 50-Schuurtemp
   STATE      T: 7.5  H: 6.7
   TYPE       XiaomiBTLESens
   VERSION    2.4.4
   loglevel   4
   READINGS:
     2018-11-20 06:53:52   batteryPercent  36
     2018-11-20 06:53:52   batteryState    ok
     2018-02-11 11:47:33   firmware        00.00.66
     2018-11-20 16:06:40   humidity        6.7
     2018-11-19 19:45:58   lastGattError   charWrite faild
     2018-11-20 16:06:40   state           T: 7.5  H: 6.7
     2018-11-20 16:06:40   temperature     7.5
   helper:
     CallBattery 0
     CallSensDataCounter 0
     updateTimeCallBattery 1542693232.29015
     updateTimestampCallBattery 2018-11-20 06:53:52
Attributes:
   interval   120
   model      thermoHygroSens
   room       XiaomiBTLESens

fhem>

Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 20 November 2018, 18:07:21
Hi

I think have a bug. When the temperature is below 10 degrees, the humitiy is not ok. The humidity should be 66.7 and not 6.7



Internals:
   BTMAC      4C:65:A8:D1:7D:DC
   DEF        4C:65:A8:D1:7D:DC
   INTERVAL   120
   NAME       Schuurtemp
   NOTIFYDEV  global,Schuurtemp
   NR         23
   NTFY_ORDER 50-Schuurtemp
   STATE      T: 7.5  H: 6.7
   TYPE       XiaomiBTLESens
   VERSION    2.4.4
   loglevel   4
   READINGS:
     2018-11-20 06:53:52   batteryPercent  36
     2018-11-20 06:53:52   batteryState    ok
     2018-02-11 11:47:33   firmware        00.00.66
     2018-11-20 16:06:40   humidity        6.7
     2018-11-19 19:45:58   lastGattError   charWrite faild
     2018-11-20 16:06:40   state           T: 7.5  H: 6.7
     2018-11-20 16:06:40   temperature     7.5
   helper:
     CallBattery 0
     CallSensDataCounter 0
     updateTimeCallBattery 1542693232.29015
     updateTimestampCallBattery 2018-11-20 06:53:52
Attributes:
   interval   120
   model      thermoHygroSens
   room       XiaomiBTLESens

fhem>


can you please give me a verbose 5 log?
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: kroonen am 20 November 2018, 22:53:34
Here an verbose log 5


2018.11.20 22:48:55 5: XiaomiBTLESens (Schuurtemp) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b 4C:65:A8:D1:7D:DC --char-read -a 0x18 2>&1 /dev/null and loop 0
2018.11.20 22:48:58 5: XiaomiBTLESens (Schuurtemp) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,24

2018.11.20 22:48:58 4: XiaomiBTLESens (Schuurtemp) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,24

2018.11.20 22:48:58 5: Cmd: >{BlockingStart('1')}<
2018.11.20 22:48:58 5: Cmd: >{XiaomiBTLESens::ExecGatttool_Done('Schuurtemp|4C:65:A8:D1:7D:DC|ok|read|0x18|{"gtResult":"24 "}')}<
2018.11.20 22:48:58 5: XiaomiBTLESens (Schuurtemp) - ExecGatttool_Done: gatttool return string: Schuurtemp|4C:65:A8:D1:7D:DC|ok|read|0x18|{"gtResult":"24 "}
2018.11.20 22:48:58 4: XiaomiBTLESens (Schuurtemp) - ProcessingNotification
2018.11.20 22:48:58 4: XiaomiBTLESens (Schuurtemp) - ProcessingNotification: handle 0x18
2018.11.20 22:48:58 4: XiaomiBTLESens (Schuurtemp) - Thermo/Hygro Sens Handle0x18
2018.11.20 22:48:58 5: Starting notify loop for Schuurtemp, 3 event(s), first is batteryPercent: 36
2018.11.20 22:48:58 5: Notify for Schuurtemp
2018.11.20 22:48:58 5: batteryPercent: 36, 'batteryPercent', '36'
2018.11.20 22:48:58 5: MQTT mqtt message sent: Publish/at-most-once,retain /Schuurtemp/Schuurtemp/Batt
  33 36                                            36
2018.11.20 22:48:58 5: SW: 311f001b2f53636875757274656d702f53636875757274656d702f426174743336
2018.11.20 22:48:58 5: Starting notify loop for schuurtemp_mqtt, 1 event(s), first is transmission-state: outgoing publish sent
2018.11.20 22:48:58 5: End notify loop for schuurtemp_mqtt
2018.11.20 22:48:58 5: batteryState: ok, 'batteryState', 'ok'
2018.11.20 22:48:58 5: T: 7.3 H: 7.6, 'T', '7.3 H: 7.6'
2018.11.20 22:48:58 5: End notify loop for Schuurtemp
2018.11.20 22:48:58 4: XiaomiBTLESens (Schuurtemp) - WriteReadings: Readings were written
2018.11.20 22:48:58 4: XiaomiBTLESens (Schuurtemp) - Run CreateParamGatttool with mod: write
2018.11.20 22:48:58 4: BlockingCall (XiaomiBTLESens::ExecGatttool_Run): created child (28777), uses telnetPort to connect back
2018.11.20 22:48:58 5: Starting notify loop for Schuurtemp, 1 event(s), first is write sensor data
2018.11.20 22:48:58 5: Notify for Schuurtemp
2018.11.20 22:48:58 5: write sensor data, 'write sensor data', ''
2018.11.20 22:48:58 5: End notify loop for Schuurtemp
2018.11.20 22:48:58 5: XiaomiBTLESens (Schuurtemp) - Write XiaomiBTLESens_ExecGatttool_Run Schuurtemp|4C:65:A8:D1:7D:DC|write|0x10|0100
2018.11.20 22:48:58 4: Connection accepted from telnetPort_127.0.0.1_54422
2018.11.20 22:48:58 5: Cmd: >{BlockingRegisterTelnet($cl,2)}<
2018.11.20 22:48:58 5: XiaomiBTLESens (Schuurtemp) - ExecGatttool_Run: call gatttool with command: timeout 10 gatttool -i hci0 -b 4C:65:A8:D1:7D:DC --char-write-req -a 0x10 -n 0100 --listen 2>&1 /dev/null and loop 0
2018.11.20 22:49:08 5: XiaomiBTLESens (Schuurtemp) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully
Notification handle = 0x000e value,54 3d 37 2e 33 20 48 3d 36 37 2e 34 00
Notification handle = 0x000e value,54 3d 37 2e 32 20 48 3d 36 37 2e 36 00
Notification handle = 0x000e value,54 3d 37 2e 33 20 48 3d 36 37 2e 38 00
Notification handle = 0x000e value,54 3d 37 2e 34 20 48 3d 36 37 2e 37 00
Notification handle = 0x000e value,54 3d 37 2e 33 20 48 3d 36 37 2e 37 00
Notification handle = 0x000e value,54 3d 37 2e 33 20 48 3d 36 37 2e 38 00
Notification handle = 0x000e value,54 3d 37 2e 33 20 48 3d 36 37 2e 37 00

2018.11.20 22:49:08 4: XiaomiBTLESens (Schuurtemp) - ExecGatttool_Run: gatttool result Characteristic value was written successfully
Notification handle = 0x000e value,54 3d 37 2e 33 20 48 3d 36 37 2e 34 00
Notification handle = 0x000e value,54 3d 37 2e 32 20 48 3d 36 37 2e 36 00
Notification handle = 0x000e value,54 3d 37 2e 33 20 48 3d 36 37 2e 38 00
Notification handle = 0x000e value,54 3d 37 2e 34 20 48 3d 36 37 2e 37 00
Notification handle = 0x000e value,54 3d 37 2e 33 20 48 3d 36 37 2e 37 00
Notification handle = 0x000e value,54 3d 37 2e 33 20 48 3d 36 37 2e 38 00
Notification handle = 0x000e value,54 3d 37 2e 33 20 48 3d 36 37 2e 37 00

2018.11.20 22:49:08 5: Cmd: >{BlockingStart('2')}<
2018.11.20 22:49:08 5: Cmd: >{XiaomiBTLESens::ExecGatttool_Done('Schuurtemp|4C:65:A8:D1:7D:DC|ok|write|0x10|{"gtResult":"54 3d 37 2e 33 20 48 3d 36 37 2e 34 00 "}')}<
2018.11.20 22:49:08 5: XiaomiBTLESens (Schuurtemp) - ExecGatttool_Done: gatttool return string: Schuurtemp|4C:65:A8:D1:7D:DC|ok|write|0x10|{"gtResult":"54 3d 37 2e 33 20 48 3d 36 37 2e 34 00 "}
2018.11.20 22:49:08 4: XiaomiBTLESens (Schuurtemp) - ProcessingNotification
2018.11.20 22:49:08 4: XiaomiBTLESens (Schuurtemp) - ProcessingNotification: handle 0x10
2018.11.20 22:49:08 4: XiaomiBTLESens (Schuurtemp) - Thermo/Hygro Sens Handle0x10
2018.11.20 22:49:08 5: Starting notify loop for Schuurtemp, 3 event(s), first is temperature: 7.3
2018.11.20 22:49:08 5: Notify for Schuurtemp
2018.11.20 22:49:08 5: temperature: 7.3 , 'temperature', '7.3 '
2018.11.20 22:49:08 5: MQTT mqtt message sent: Publish/at-most-once,retain /Schuurtemp/Schuurtemp/Temperature
  37 2e 33 20                                      7.3
2018.11.20 22:49:08 5: SW: 312800222f53636875757274656d702f53636875757274656d702f54656d7065726174757265372e3320
2018.11.20 22:49:08 5: Starting notify loop for schuurtemp_mqtt, 1 event(s), first is transmission-state: outgoing publish sent
2018.11.20 22:49:08 5: End notify loop for schuurtemp_mqtt
2018.11.20 22:49:08 5: humidity: 7.4, 'humidity', '7.4'
2018.11.20 22:49:08 5: MQTT mqtt message sent: Publish/at-most-once,retain /Schuurtemp/Schuurtemp/Humidity
  37 2e 34 00                                      7.4.
2018.11.20 22:49:08 5: SW: 3125001f2f53636875757274656d702f53636875757274656d702f48756d6964697479372e3400
2018.11.20 22:49:08 5: Starting notify loop for schuurtemp_mqtt, 1 event(s), first is transmission-state: outgoing publish sent
2018.11.20 22:49:08 5: End notify loop for schuurtemp_mqtt
2018.11.20 22:49:08 5: T: 7.3  H: 7.4, 'T', '7.3  H: 7.4'
2018.11.20 22:49:08 5: End notify loop for Schuurtemp
2018.11.20 22:49:08 4: XiaomiBTLESens (Schuurtemp) - WriteReadings: Readings were written
2018.11.20 22:49:12 4: Connection accepted from WEB_192.168.180.32_56849
2018.11.20 22:49:12 4: WEB_192.168.180.32_56849 GET /fhem; BUFLEN:0
2018.11.20 22:49:12 4: WEB: /fhem / RL:1256 / text/html; charset=UTF-8 / Content-Encoding: gzip
 /
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 21 November 2018, 12:12:04
Here an verbose log 5


2018.11.20 22:48:55 5: XiaomiBTLESens (Schuurtemp) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b 4C:65:A8:D1:7D:DC --char-read -a 0x18 2>&1 /dev/null and loop 0
2018.11.20 22:48:58 5: XiaomiBTLESens (Schuurtemp) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,24

2018.11.20 22:48:58 4: XiaomiBTLESens (Schuurtemp) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,24

2018.11.20 22:48:58 5: Cmd: >{BlockingStart('1')}<
2018.11.20 22:48:58 5: Cmd: >{XiaomiBTLESens::ExecGatttool_Done('Schuurtemp|4C:65:A8:D1:7D:DC|ok|read|0x18|{"gtResult":"24 "}')}<
2018.11.20 22:48:58 5: XiaomiBTLESens (Schuurtemp) - ExecGatttool_Done: gatttool return string: Schuurtemp|4C:65:A8:D1:7D:DC|ok|read|0x18|{"gtResult":"24 "}
2018.11.20 22:48:58 4: XiaomiBTLESens (Schuurtemp) - ProcessingNotification
2018.11.20 22:48:58 4: XiaomiBTLESens (Schuurtemp) - ProcessingNotification: handle 0x18
2018.11.20 22:48:58 4: XiaomiBTLESens (Schuurtemp) - Thermo/Hygro Sens Handle0x18
2018.11.20 22:48:58 5: Starting notify loop for Schuurtemp, 3 event(s), first is batteryPercent: 36
2018.11.20 22:48:58 5: Notify for Schuurtemp
2018.11.20 22:48:58 5: batteryPercent: 36, 'batteryPercent', '36'
2018.11.20 22:48:58 5: MQTT mqtt message sent: Publish/at-most-once,retain /Schuurtemp/Schuurtemp/Batt
  33 36                                            36
2018.11.20 22:48:58 5: SW: 311f001b2f53636875757274656d702f53636875757274656d702f426174743336
2018.11.20 22:48:58 5: Starting notify loop for schuurtemp_mqtt, 1 event(s), first is transmission-state: outgoing publish sent
2018.11.20 22:48:58 5: End notify loop for schuurtemp_mqtt
2018.11.20 22:48:58 5: batteryState: ok, 'batteryState', 'ok'
2018.11.20 22:48:58 5: T: 7.3 H: 7.6, 'T', '7.3 H: 7.6'
2018.11.20 22:48:58 5: End notify loop for Schuurtemp
2018.11.20 22:48:58 4: XiaomiBTLESens (Schuurtemp) - WriteReadings: Readings were written
2018.11.20 22:48:58 4: XiaomiBTLESens (Schuurtemp) - Run CreateParamGatttool with mod: write
2018.11.20 22:48:58 4: BlockingCall (XiaomiBTLESens::ExecGatttool_Run): created child (28777), uses telnetPort to connect back
2018.11.20 22:48:58 5: Starting notify loop for Schuurtemp, 1 event(s), first is write sensor data
2018.11.20 22:48:58 5: Notify for Schuurtemp
2018.11.20 22:48:58 5: write sensor data, 'write sensor data', ''
2018.11.20 22:48:58 5: End notify loop for Schuurtemp
2018.11.20 22:48:58 5: XiaomiBTLESens (Schuurtemp) - Write XiaomiBTLESens_ExecGatttool_Run Schuurtemp|4C:65:A8:D1:7D:DC|write|0x10|0100
2018.11.20 22:48:58 4: Connection accepted from telnetPort_127.0.0.1_54422
2018.11.20 22:48:58 5: Cmd: >{BlockingRegisterTelnet($cl,2)}<
2018.11.20 22:48:58 5: XiaomiBTLESens (Schuurtemp) - ExecGatttool_Run: call gatttool with command: timeout 10 gatttool -i hci0 -b 4C:65:A8:D1:7D:DC --char-write-req -a 0x10 -n 0100 --listen 2>&1 /dev/null and loop 0
2018.11.20 22:49:08 5: XiaomiBTLESens (Schuurtemp) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully
Notification handle = 0x000e value,54 3d 37 2e 33 20 48 3d 36 37 2e 34 00
Notification handle = 0x000e value,54 3d 37 2e 32 20 48 3d 36 37 2e 36 00
Notification handle = 0x000e value,54 3d 37 2e 33 20 48 3d 36 37 2e 38 00
Notification handle = 0x000e value,54 3d 37 2e 34 20 48 3d 36 37 2e 37 00
Notification handle = 0x000e value,54 3d 37 2e 33 20 48 3d 36 37 2e 37 00
Notification handle = 0x000e value,54 3d 37 2e 33 20 48 3d 36 37 2e 38 00
Notification handle = 0x000e value,54 3d 37 2e 33 20 48 3d 36 37 2e 37 00

2018.11.20 22:49:08 4: XiaomiBTLESens (Schuurtemp) - ExecGatttool_Run: gatttool result Characteristic value was written successfully
Notification handle = 0x000e value,54 3d 37 2e 33 20 48 3d 36 37 2e 34 00
Notification handle = 0x000e value,54 3d 37 2e 32 20 48 3d 36 37 2e 36 00
Notification handle = 0x000e value,54 3d 37 2e 33 20 48 3d 36 37 2e 38 00
Notification handle = 0x000e value,54 3d 37 2e 34 20 48 3d 36 37 2e 37 00
Notification handle = 0x000e value,54 3d 37 2e 33 20 48 3d 36 37 2e 37 00
Notification handle = 0x000e value,54 3d 37 2e 33 20 48 3d 36 37 2e 38 00
Notification handle = 0x000e value,54 3d 37 2e 33 20 48 3d 36 37 2e 37 00

2018.11.20 22:49:08 5: Cmd: >{BlockingStart('2')}<
2018.11.20 22:49:08 5: Cmd: >{XiaomiBTLESens::ExecGatttool_Done('Schuurtemp|4C:65:A8:D1:7D:DC|ok|write|0x10|{"gtResult":"54 3d 37 2e 33 20 48 3d 36 37 2e 34 00 "}')}<
2018.11.20 22:49:08 5: XiaomiBTLESens (Schuurtemp) - ExecGatttool_Done: gatttool return string: Schuurtemp|4C:65:A8:D1:7D:DC|ok|write|0x10|{"gtResult":"54 3d 37 2e 33 20 48 3d 36 37 2e 34 00 "}
2018.11.20 22:49:08 4: XiaomiBTLESens (Schuurtemp) - ProcessingNotification
2018.11.20 22:49:08 4: XiaomiBTLESens (Schuurtemp) - ProcessingNotification: handle 0x10
2018.11.20 22:49:08 4: XiaomiBTLESens (Schuurtemp) - Thermo/Hygro Sens Handle0x10
2018.11.20 22:49:08 5: Starting notify loop for Schuurtemp, 3 event(s), first is temperature: 7.3
2018.11.20 22:49:08 5: Notify for Schuurtemp
2018.11.20 22:49:08 5: temperature: 7.3 , 'temperature', '7.3 '
2018.11.20 22:49:08 5: MQTT mqtt message sent: Publish/at-most-once,retain /Schuurtemp/Schuurtemp/Temperature
  37 2e 33 20                                      7.3
2018.11.20 22:49:08 5: SW: 312800222f53636875757274656d702f53636875757274656d702f54656d7065726174757265372e3320
2018.11.20 22:49:08 5: Starting notify loop for schuurtemp_mqtt, 1 event(s), first is transmission-state: outgoing publish sent
2018.11.20 22:49:08 5: End notify loop for schuurtemp_mqtt
2018.11.20 22:49:08 5: humidity: 7.4, 'humidity', '7.4'
2018.11.20 22:49:08 5: MQTT mqtt message sent: Publish/at-most-once,retain /Schuurtemp/Schuurtemp/Humidity
  37 2e 34 00                                      7.4.
2018.11.20 22:49:08 5: SW: 3125001f2f53636875757274656d702f53636875757274656d702f48756d6964697479372e3400
2018.11.20 22:49:08 5: Starting notify loop for schuurtemp_mqtt, 1 event(s), first is transmission-state: outgoing publish sent
2018.11.20 22:49:08 5: End notify loop for schuurtemp_mqtt
2018.11.20 22:49:08 5: T: 7.3  H: 7.4, 'T', '7.3  H: 7.4'
2018.11.20 22:49:08 5: End notify loop for Schuurtemp
2018.11.20 22:49:08 4: XiaomiBTLESens (Schuurtemp) - WriteReadings: Readings were written
2018.11.20 22:49:12 4: Connection accepted from WEB_192.168.180.32_56849
2018.11.20 22:49:12 4: WEB_192.168.180.32_56849 GET /fhem; BUFLEN:0
2018.11.20 22:49:12 4: WEB: /fhem / RL:1256 / text/html; charset=UTF-8 / Content-Encoding: gzip
 /

Ok i have write a fix. Can you test the attatched file?

Alle anderen die auch den thermoHygroSens verwenden bitte ich ebenfalls zu testen. Es gab hier einen User mit Tifkühltruhe, und andere bei den das = im Reading stand. Bitte diese User auch testen. Dank roonen weiß ich wieder wieso ich damals diese Unterschiede gemacht hatte. Ich hoffe ich habe das passend aus gebaut.


Grüße
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: kroonen am 22 November 2018, 08:08:13
Hi,

Looks ok now, thnx for the support

   STATE      T: 7.4  H: 68.1
   TYPE       XiaomiBTLESens
   VERSION    2.4.5
   loglevel   4
   READINGS:
     2018-11-22 08:01:40   batteryPercent  36
     2018-11-22 08:01:40   batteryState    ok
     2018-02-11 11:47:33   firmware        00.00.66
     2018-11-22 08:04:09   humidity        68.1
     2018-11-21 20:58:15   lastGattError   charWrite faild
     2018-11-22 08:04:09   state           T: 7.4  H: 68.1
     2018-11-22 08:04:09   temperature     7.4
   helper:
     CallBattery 0
     CallSensDataCounter 0
     updateTimeCallBattery 1542870100.28165
     updateTimestampCallBattery 2018-11-22 08:01:40
Attributes:
   interval   120
   model      thermoHygroSens
   room       XiaomiBTLESens

Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 22 November 2018, 08:48:35
fine, thanks for testing.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 22 November 2018, 12:26:57
Morgen früh kommt ein Update.


Grüße
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: kroonen am 23 November 2018, 16:29:52
Hi,

I updated my other, and these took the intern temp and humidity, and this is not correct anymore (strang characters)

NOTIFYDEV  global,Mayatemp
   NR         37
   NTFY_ORDER 50-Mayatemp
   STATE      Temp 16.9°C / Hum C?b%
   TYPE       XiaomiBTLESens
   VERSION    2.4.5
   loglevel   4
   READINGS:
     2018-06-28 18:59:02   battery         ok
     2018-06-28 18:59:02   batteryLevel    79
     2018-11-23 15:38:04   batteryPercent  42
     2018-11-23 15:38:04   batteryState    ok
     2018-02-22 11:23:20   firmware        00.00.66
     2018-11-23 16:23:41   humidity        C?b
     2018-11-23 12:24:38   lastGattError   charWrite faild
     2018-11-23 16:23:41   state           T: 16.9 H: C?b
     2018-11-23 16:23:41   temperature     16.9

Debug loglevel5 2 sensors
2018.11.23 16:28:04 5: XiaomiBTLESens (Mayatemp) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,2a

2018.11.23 16:28:04 4: XiaomiBTLESens (Mayatemp) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,2a

2018.11.23 16:28:04 5: Cmd: >{BlockingStart('1')}<
2018.11.23 16:28:04 5: Cmd: >{XiaomiBTLESens::ExecGatttool_Done('Mayatemp|4C:65:A8:D1:E8:DB|ok|read|0x18|{"gtResult":"2a "}')}<
2018.11.23 16:28:04 5: XiaomiBTLESens (Mayatemp) - ExecGatttool_Done: gatttool return string: Mayatemp|4C:65:A8:D1:E8:DB|ok|read|0x18|{"gtResult":"2a "}
2018.11.23 16:28:04 4: XiaomiBTLESens (Mayatemp) - ProcessingNotification
2018.11.23 16:28:04 4: XiaomiBTLESens (Mayatemp) - ProcessingNotification: handle 0x18
2018.11.23 16:28:04 4: XiaomiBTLESens (Mayatemp) - Thermo/Hygro Sens Handle0x18
2018.11.23 16:28:04 5: Starting notify loop for Mayatemp, 3 event(s), first is batteryPercent: 42
2018.11.23 16:28:04 5: Notify for Mayatemp
2018.11.23 16:28:04 5: batteryPercent: 42, 'batteryPercent', '42'
2018.11.23 16:28:04 5: MQTT mqtt message sent: Publish/at-most-once,retain /Mayakamer-Sensor/Mayakamertemp/Batt
  34 32                                            42
2018.11.23 16:28:04 5: SW: 312800242f4d6179616b616d65722d53656e736f722f4d6179616b616d657274656d702f426174743432
2018.11.23 16:28:04 5: Starting notify loop for mayatemp_mqtt, 1 event(s), first is transmission-state: outgoing publish sent
2018.11.23 16:28:04 5: End notify loop for mayatemp_mqtt
2018.11.23 16:28:04 5: batteryState: ok, 'batteryState', 'ok'
2018.11.23 16:28:04 5: T: 17.0 H: C�r, 'T', '17.0 H: C�r'
2018.11.23 16:28:04 5: End notify loop for Mayatemp
2018.11.23 16:28:04 4: XiaomiBTLESens (Mayatemp) - WriteReadings: Readings were written
2018.11.23 16:28:04 4: XiaomiBTLESens (Mayatemp) - Run CreateParamGatttool with mod: write
2018.11.23 16:28:04 4: BlockingCall (XiaomiBTLESens::ExecGatttool_Run): created child (11789), uses telnetPort to connect back
2018.11.23 16:28:04 5: Starting notify loop for Mayatemp, 1 event(s), first is write sensor data
2018.11.23 16:28:04 5: Notify for Mayatemp
2018.11.23 16:28:04 5: write sensor data, 'write sensor data', ''
2018.11.23 16:28:04 5: End notify loop for Mayatemp
2018.11.23 16:28:04 5: XiaomiBTLESens (Mayatemp) - Write XiaomiBTLESens_ExecGatttool_Run Mayatemp|4C:65:A8:D1:E8:DB|write|0x10|0100
2018.11.23 16:28:04 4: Connection accepted from telnetPort_127.0.0.1_52630
2018.11.23 16:28:04 5: Cmd: >{BlockingRegisterTelnet($cl,3)}<
2018.11.23 16:28:04 5: XiaomiBTLESens (Mayatemp) - ExecGatttool_Run: call gatttool with command: timeout 10 gatttool -i hci0 -b 4C:65:A8:D1:E8:DB --char-write-req -a 0x10 -n 0100 --listen 2>&1 /dev/null and loop 0
2018.11.23 16:28:05 4: Connection accepted from WEB_192.168.180.32_63217
2018.11.23 16:28:05 4: Connection closed for WEB_192.168.180.32_63217: EOF
2018.11.23 16:28:05 4: Connection accepted from WEB_192.168.180.32_63219
2018.11.23 16:28:08 5: XiaomiBTLESens (Slaaptemp) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,23

2018.11.23 16:28:08 4: XiaomiBTLESens (Slaaptemp) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,23

2018.11.23 16:28:08 5: Cmd: >{BlockingStart('2')}<
2018.11.23 16:28:08 5: Cmd: >{XiaomiBTLESens::ExecGatttool_Done('Slaaptemp|4C:65:A8:D1:E3:0C|ok|read|0x18|{"gtResult":"23 "}')}<
2018.11.23 16:28:08 5: XiaomiBTLESens (Slaaptemp) - ExecGatttool_Done: gatttool return string: Slaaptemp|4C:65:A8:D1:E3:0C|ok|read|0x18|{"gtResult":"23 "}
2018.11.23 16:28:08 4: XiaomiBTLESens (Slaaptemp) - ProcessingNotification
2018.11.23 16:28:08 4: XiaomiBTLESens (Slaaptemp) - ProcessingNotification: handle 0x18
2018.11.23 16:28:08 4: XiaomiBTLESens (Slaaptemp) - Thermo/Hygro Sens Handle0x18
2018.11.23 16:28:08 5: Starting notify loop for Slaaptemp, 3 event(s), first is batteryPercent: 35
2018.11.23 16:28:08 5: createNotifyHash
2018.11.23 16:28:08 5: Notify for Slaaptemp
2018.11.23 16:28:08 5: batteryPercent: 35, 'batteryPercent', '35'
2018.11.23 16:28:08 5: MQTT mqtt message sent: Publish/at-most-once,retain /Slaapkamer-Sensor/Slaapkamertemp/Batt
  33 35                                            35
2018.11.23 16:28:08 5: SW: 312a00262f536c6161706b616d65722d53656e736f722f536c6161706b616d657274656d702f426174743335
2018.11.23 16:28:08 5: Starting notify loop for slaaptemp_mqtt, 1 event(s), first is transmission-state: outgoing publish sent
2018.11.23 16:28:08 5: End notify loop for slaaptemp_mqtt
2018.11.23 16:28:08 5: batteryState: ok, 'batteryState', 'ok'
2018.11.23 16:28:08 5: T: 15.5 H: C�R, 'T', '15.5 H: C�R'
2018.11.23 16:28:08 5: End notify loop for Slaaptemp
2018.11.23 16:28:08 4: XiaomiBTLESens (Slaaptemp) - WriteReadings: Readings were written
2018.11.23 16:28:08 4: XiaomiBTLESens (Slaaptemp) - Run CreateParamGatttool with mod: write
2018.11.23 16:28:08 4: BlockingCall (XiaomiBTLESens::ExecGatttool_Run): created child (11800), uses telnetPort to connect back
2018.11.23 16:28:08 5: Starting notify loop for Slaaptemp, 1 event(s), first is write sensor data
2018.11.23 16:28:08 5: Notify for Slaaptemp
2018.11.23 16:28:08 5: write sensor data, 'write sensor data', ''
2018.11.23 16:28:08 5: End notify loop for Slaaptemp
2018.11.23 16:28:08 5: XiaomiBTLESens (Slaaptemp) - Write XiaomiBTLESens_ExecGatttool_Run Slaaptemp|4C:65:A8:D1:E3:0C|write|0x10|0100
2018.11.23 16:28:08 4: Connection accepted from telnetPort_127.0.0.1_52632
2018.11.23 16:28:08 5: Cmd: >{BlockingRegisterTelnet($cl,4)}<
2018.11.23 16:28:08 5: XiaomiBTLESens (Slaaptemp) - ExecGatttool_Run: call gatttool with command: timeout 10 gatttool -i hci0 -b 4C:65:A8:D1:E3:0C --char-write-req -a 0x10 -n 0100 --listen 2>&1 /dev/null and loop 0
2018.11.23 16:28:14 5: XiaomiBTLESens (Mayatemp) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully
Notification handle = 0x000e value,54 3d 31 36 2e 39 20 48 3d 35 30 2e 38 00
Notification handle = 0x000e value,54 3d 31 37 2e 30 20 48 3d 35 30 2e 36 00
Notification handle = 0x000e value,54 3d 31 36 2e 39 20 48 3d 35 30 2e 37 00
Notification handle = 0x000e value,54 3d 31 36 2e 39 20 48 3d 35 30 2e 36 00
Notification handle = 0x000e value,54 3d 31 36 2e 39 20 48 3d 35 30 2e 38 00
Notification handle = 0x000e value,54 3d 31 37 2e 30 20 48 3d 35 30 2e 36 00
Notification handle = 0x000e value,54 3d 31 36 2e 39 20 48 3d 35 30 2e 37 00
Notification handle = 0x000e value,54 3d 31 36 2e 39 20 48 3d 35 30 2e 36 00
Notification handle = 0x000e value,54 3d 31 36 2e 39 20 48 3d 35 30 2e 37 00
Notification handle = 0x000e value,54 3d 31 36 2e 39 20 48 3d 35 30 2e 36 00

2018.11.23 16:28:14 4: XiaomiBTLESens (Mayatemp) - ExecGatttool_Run: gatttool result Characteristic value was written successfully
Notification handle = 0x000e value,54 3d 31 36 2e 39 20 48 3d 35 30 2e 38 00
Notification handle = 0x000e value,54 3d 31 37 2e 30 20 48 3d 35 30 2e 36 00
Notification handle = 0x000e value,54 3d 31 36 2e 39 20 48 3d 35 30 2e 37 00
Notification handle = 0x000e value,54 3d 31 36 2e 39 20 48 3d 35 30 2e 36 00
Notification handle = 0x000e value,54 3d 31 36 2e 39 20 48 3d 35 30 2e 38 00
Notification handle = 0x000e value,54 3d 31 37 2e 30 20 48 3d 35 30 2e 36 00
Notification handle = 0x000e value,54 3d 31 36 2e 39 20 48 3d 35 30 2e 37 00
Notification handle = 0x000e value,54 3d 31 36 2e 39 20 48 3d 35 30 2e 36 00
Notification handle = 0x000e value,54 3d 31 36 2e 39 20 48 3d 35 30 2e 37 00
Notification handle = 0x000e value,54 3d 31 36 2e 39 20 48 3d 35 30 2e 36 00

2018.11.23 16:28:14 5: Cmd: >{BlockingStart('3')}<
2018.11.23 16:28:14 5: Cmd: >{XiaomiBTLESens::ExecGatttool_Done('Mayatemp|4C:65:A8:D1:E8:DB|ok|write|0x10|{"gtResult":"54 3d 31 36 2e 39 20 48 3d 35 30 2e 38 00 "}')}<
2018.11.23 16:28:14 5: XiaomiBTLESens (Mayatemp) - ExecGatttool_Done: gatttool return string: Mayatemp|4C:65:A8:D1:E8:DB|ok|write|0x10|{"gtResult":"54 3d 31 36 2e 39 20 48 3d 35 30 2e 38 00 "}
2018.11.23 16:28:14 4: XiaomiBTLESens (Mayatemp) - ProcessingNotification
2018.11.23 16:28:14 4: XiaomiBTLESens (Mayatemp) - ProcessingNotification: handle 0x10
2018.11.23 16:28:14 4: XiaomiBTLESens (Mayatemp) - Thermo/Hygro Sens Handle0x10
2018.11.23 16:28:14 5: Starting notify loop for Mayatemp, 3 event(s), first is temperature: 16.9
2018.11.23 16:28:14 5: Notify for Mayatemp
2018.11.23 16:28:14 5: temperature: 16.9, 'temperature', '16.9'
2018.11.23 16:28:14 5: MQTT mqtt message sent: Publish/at-most-once,retain /Mayakamer-Sensor/Mayakamertemp/Temperature
  31 36 2e 39                                      16.9
2018.11.23 16:28:14 5: SW: 3131002b2f4d6179616b616d65722d53656e736f722f4d6179616b616d657274656d702f54656d706572617475726531362e39
2018.11.23 16:28:14 5: Starting notify loop for mayatemp_mqtt, 1 event(s), first is transmission-state: outgoing publish sent
2018.11.23 16:28:14 5: End notify loop for mayatemp_mqtt
2018.11.23 16:28:14 5: humidity: C�b, 'humidity', 'C�b'
2018.11.23 16:28:14 5: MQTT mqtt message sent: Publish/at-most-once,retain /Mayakamer-Sensor/Mayakamertemp/Humidity
  43 d3 13 62                                      C..b
2018.11.23 16:28:14 5: SW: 312e00282f4d6179616b616d65722d53656e736f722f4d6179616b616d657274656d702f48756d696469747943d31362
2018.11.23 16:28:14 5: Starting notify loop for mayatemp_mqtt, 1 event(s), first is transmission-state: outgoing publish sent
2018.11.23 16:28:14 5: End notify loop for mayatemp_mqtt
2018.11.23 16:28:14 5: T: 16.9 H: C�b, 'T', '16.9 H: C�b'
2018.11.23 16:28:14 5: End notify loop for Mayatemp
2018.11.23 16:28:14 4: XiaomiBTLESens (Mayatemp) - WriteReadings: Readings were written
2018.11.23 16:28:18 5: XiaomiBTLESens (Slaaptemp) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully
Notification handle = 0x000e value,54 3d 31 35 2e 34 20 48 3d 35 35 2e 39 00
Notification handle = 0x000e value,54 3d 31 35 2e 34 20 48 3d 35 36 2e 31 00
Notification handle = 0x000e value,54 3d 31 35 2e 34 20 48 3d 35 36 2e 32 00
Notification handle = 0x000e value,54 3d 31 35 2e 35 20 48 3d 35 36 2e 31 00

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

2018.11.23 16:28:18 5: Cmd: >{BlockingStart('4')}<
2018.11.23 16:28:18 5: Cmd: >{XiaomiBTLESens::ExecGatttool_Done('Slaaptemp|4C:65:A8:D1:E3:0C|ok|write|0x10|{"gtResult":"54 3d 31 35 2e 34 20 48 3d 35 35 2e 39 00 "}')}<
2018.11.23 16:28:18 5: XiaomiBTLESens (Slaaptemp) - ExecGatttool_Done: gatttool return string: Slaaptemp|4C:65:A8:D1:E3:0C|ok|write|0x10|{"gtResult":"54 3d 31 35 2e 34 20 48 3d 35 35 2e 39 00 "}
2018.11.23 16:28:18 4: XiaomiBTLESens (Slaaptemp) - ProcessingNotification
2018.11.23 16:28:18 4: XiaomiBTLESens (Slaaptemp) - ProcessingNotification: handle 0x10
2018.11.23 16:28:18 4: XiaomiBTLESens (Slaaptemp) - Thermo/Hygro Sens Handle0x10
2018.11.23 16:28:18 5: Starting notify loop for Slaaptemp, 3 event(s), first is temperature: 15.4
2018.11.23 16:28:18 5: Notify for Slaaptemp
2018.11.23 16:28:18 5: temperature: 15.4, 'temperature', '15.4'
2018.11.23 16:28:18 5: MQTT mqtt message sent: Publish/at-most-once,retain /Slaapkamer-Sensor/Slaapkamertemp/Temperature
  31 35 2e 34                                      15.4
2018.11.23 16:28:18 5: SW: 3133002d2f536c6161706b616d65722d53656e736f722f536c6161706b616d657274656d702f54656d706572617475726531352e34
2018.11.23 16:28:18 5: Starting notify loop for slaaptemp_mqtt, 1 event(s), first is transmission-state: outgoing publish sent
2018.11.23 16:28:18 5: End notify loop for slaaptemp_mqtt
2018.11.23 16:28:18 5: humidity: C�R, 'humidity', 'C�R'
2018.11.23 16:28:18 5: MQTT mqtt message sent: Publish/at-most-once,retain /Slaapkamer-Sensor/Slaapkamertemp/Humidity
  43 d3 13 52                                      C..R
2018.11.23 16:28:18 5: SW: 3130002a2f536c6161706b616d65722d53656e736f722f536c6161706b616d657274656d702f48756d696469747943d31352
2018.11.23 16:28:18 5: Starting notify loop for slaaptemp_mqtt, 1 event(s), first is transmission-state: outgoing publish sent
2018.11.23 16:28:18 5: End notify loop for slaaptemp_mqtt
2018.11.23 16:28:18 5: T: 15.4 H: C�R, 'T', '15.4 H: C�R'
2018.11.23 16:28:18 5: End notify loop for Slaaptemp
2018.11.23 16:28:18 4: XiaomiBTLESens (Slaaptemp) - WriteReadings: Readings were written
2018.11.23 16:28:27 4: WEB_192.168.180.32_63210 GET /fhem/FileLog_logWrapper?dev=Logfile&type=text&file=fhem-2018-11.log; BUFLEN:0
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 23 November 2018, 22:28:49
Hello. I can understand the mistake and will offer a fix for the days.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 23 November 2018, 22:51:56
The fix comes tomorrow morning via update
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: kroonen am 24 November 2018, 12:09:06
Thnx, it works now for all the devices correct

regards Richard
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Typ1er am 24 November 2018, 13:32:46
Starte bitte einmal den kompletten Rechner neu und schaue ob es dann besser läuft.
Das hatte ich schon mehrfach gemacht.


Habe jetzt einen neuen Pi aufgesetzt, und selbes wieder, betrifft nur an 1 Sensor von 4. Interessant ist das die Xiaomi App den Sensor gefühlt im Sekundentakt auslesen kann.
Intervall steht bei mir auf 180 Sekunden
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 24 November 2018, 13:43:17
Du lässt aber nicht die App gleichzeitig laufen wie das Modul oder?
Das geht nämlich nicht, dann blockiert die App.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Zenz am 24 November 2018, 15:24:20
Hallo CoolTux!

Habe heute erstmalig einen neu aufgesetzten Raspberry (2018-11-13-raspbian-stretch) mit Fhem (5.9) versucht den gerade aus China eingetroffenen Sensor in Betrieb zu nehmen.
Dabei zeigt sich nun folgendes Bild (siehe Anhang "Bild_1") bzw. Log ("Bild_2")

Da ich mir keinen Rat mehr weiß, ersuche ich höflich um Hilfe.

Mit der App (Android) funktioniert der Sensor bzw. konnte ich ihn auch auf Version 3.1.9 updaten.

Vielen Dank im Voraus
Zenz

I

 
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 24 November 2018, 15:50:21
Hallo Zens,

Leider kann ich nichts erkennen. Aber das ist nicht schlimm.
Als aller erstes so fern noch nicht geschehen bitte ein Update machen.
Dann noch mal testen, wenn das Fehlerbild geblieben ist, brauche ich ein list vom Device.
Also in die FHEMWEB Eingabekonsole eingeben
list DEVICENAME
DEVICENAME bitte durch den tatsächlichen ersetzen. Dann stellst Du den verbose des Devices, NICHT den globalen, auf 5 und machst eine Abfrage. Im FHEM Log sollten nun detaillierte Informationen zu finden sein. Das zusammen mit dem list postest Du bitte hier in Code Tags. Das ist das Rautezeichen im Forumeditors in der Symbolleiste.


Grüße
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Zenz am 24 November 2018, 16:49:11
zuerst einmal recht herzlichen Dank für deine Hilfe!

Hoffe, dass  ich das von dir benötigte, richtige gemacht habe  :-\

Beim Einfügen der Bilder (hier) scheitere ich leider - habe sie deshalb wieder als Anhang angefügt...  sorry
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 24 November 2018, 16:53:10
zuerst einmal recht herzlichen Dank für deine Hilfe!

Hoffe, dass  ich das von dir benötigte, richtige gemacht habe  :-\

[/code]

Bitte keine Screenshots. Bitte die Ausgabe, also das was du als Screenshot gezeigt hast, kopieren und hier in Codetags eintragen. Also nicht das was du mir so schreiben willst sondern das list und das Log in Codetags.

Das Log sollte im übrigen eigentlich länger sein.

Hast du die App noch mit dem Sensor verbunden oder das Handy? Wenn ja bitte die Verbindung lösen.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Zenz am 24 November 2018, 17:03:52
Habe mit Sicherheit die App getrennt (geschlossen und Bluetooth abgeschaltet)

Raspberry nochmals neu gestartet

list
Internals:
   BTMAC      B8:27:EB:93:6E:EB
   DEF        B8:27:EB:93:6E:EB
   INTERVAL   300
   NAME       Zitrone
   NOTIFYDEV  global,Zitrone
   NR         16
   NTFY_ORDER 50-Zitrone
   STATE      error
   TYPE       XiaomiBTLESens
   VERSION    2.4.6
   loglevel   4
   READINGS:
     2018-11-24 16:56:45   lastGattError   The BlockingCall Process terminated unexpectedly. Timedout
     2018-11-24 16:56:45   state           error
   helper:
     CallBattery 0
     CallSensDataCounter 0
Attributes:
   model      flowerSens
   room       XiaomiBTLESens
   verbose    5


"get" ausgeführt
get Zitrone sensorData
=> erhalte bei den Readings
lastGattError

The BlockingCall Process terminated unexpectedly. Timedout

2018-11-24 16:56:45
state

read sensor data

2018-11-24 16:58:47

Log File
2018.11.24 16:55:14 0: Server shutdown
2018.11.24 16:55:15 1: Including fhem.cfg
2018.11.24 16:55:15 3: WEB: port 8083 opened
2018.11.24 16:55:15 2: eventTypes: loaded 7 events from ./log/eventTypes.txt
2018.11.24 16:55:15 3: XiaomiBTLESens (Zitrone) - defined with BTMAC B8:27:EB:93:6E:EB
2018.11.24 16:55:15 1: Including ./log/fhem.save
2018.11.24 16:55:15 4: XiaomiBTLESens (Zitrone) - Run CreateParamGatttool with mod: read
2018.11.24 16:55:15 3: telnetForBlockingFn_1543074915: port 41307 opened
2018.11.24 16:55:15 5: XiaomiBTLESens (Zitrone) - Read XiaomiBTLESens_ExecGatttool_Run Zitrone|B8:27:EB:93:6E:EB|read|0x38
2018.11.24 16:55:15 4: XiaomiBTLESens (Zitrone) - stateRequestTimer: Call Request Timer
2018.11.24 16:55:15 1: usb create starting
2018.11.24 16:55:16 3: Probing CUL device /dev/ttyAMA0
2018.11.24 16:55:16 3: Probing TCM_ESP3 device /dev/ttyAMA0
2018.11.24 16:55:16 3: Probing ZWDongle device /dev/ttyAMA0
2018.11.24 16:55:16 3: Probing FRM device /dev/ttyAMA0
2018.11.24 16:55:22 1: usb create end
2018.11.24 16:55:22 0: Featurelevel: 5.9
2018.11.24 16:55:22 0: Server started with 9 defined entities (fhem.pl:17779/2018-11-18 perl:5.024001 os:linux user:fhem pid:2118)
2018.11.24 16:55:22 3: FHEMWEB WEB CSRF error: csrf_117715287523099 ne csrf_263850007521562 for client WEB_10.0.0.11_52057 / command shutdown restart. For details see the csrfToken FHEMWEB attribute.
2018.11.24 16:55:22 5: XiaomiBTLESens (Zitrone) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b B8:27:EB:93:6E:EB --char-read -a 0x38 2>&1 /dev/null and loop 0
2018.11.24 16:56:02 5: XiaomiBTLESens (Zitrone) - ExecGatttool_Run: gatttool loop result connect error,Connection refused (111)

2018.11.24 16:56:02 5: XiaomiBTLESens (Zitrone) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b B8:27:EB:93:6E:EB --char-read -a 0x38 2>&1 /dev/null and loop 1
2018.11.24 16:56:42 5: XiaomiBTLESens (Zitrone) - ExecGatttool_Run: gatttool loop result connect error,Connection refused (111)

2018.11.24 16:56:42 5: XiaomiBTLESens (Zitrone) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b B8:27:EB:93:6E:EB --char-read -a 0x38 2>&1 /dev/null and loop 2
2018.11.24 16:56:45 1: Timeout for XiaomiBTLESens::ExecGatttool_Run reached, terminated process 2119
2018.11.24 16:56:45 4: XiaomiBTLESens (Zitrone) - WriteReadings: Readings were written
2018.11.24 16:56:45 4: XiaomiBTLESens (Zitrone) - ExecGatttool_Aborted: The BlockingCall Process terminated unexpectedly. Timedout
2018.11.24 16:58:47 4: XiaomiBTLESens (Zitrone) - Run CreateParamGatttool with mod: read
2018.11.24 16:58:47 5: XiaomiBTLESens (Zitrone) - Read XiaomiBTLESens_ExecGatttool_Run Zitrone|B8:27:EB:93:6E:EB|read|0x38
2018.11.24 16:58:47 5: XiaomiBTLESens (Zitrone) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b B8:27:EB:93:6E:EB --char-read -a 0x38 2>&1 /dev/null and loop 0
2018.11.24 16:59:27 5: XiaomiBTLESens (Zitrone) - ExecGatttool_Run: gatttool loop result connect error,Connection refused (111)

2018.11.24 16:59:27 5: XiaomiBTLESens (Zitrone) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b B8:27:EB:93:6E:EB --char-read -a 0x38 2>&1 /dev/null and loop 1
2018.11.24 17:00:08 5: XiaomiBTLESens (Zitrone) - ExecGatttool_Run: gatttool loop result connect error,Connection refused (111)

2018.11.24 17:00:08 5: XiaomiBTLESens (Zitrone) - ExecGatttool_Run: call gatttool with command: gatttool -i hci0 -b B8:27:EB:93:6E:EB --char-read -a 0x38 2>&1 /dev/null and loop 2
2018.11.24 17:00:17 1: Timeout for XiaomiBTLESens::ExecGatttool_Run reached, terminated process 2137
2018.11.24 17:00:17 4: XiaomiBTLESens (Zitrone) - WriteReadings: Readings were written
2018.11.24 17:00:17 4: XiaomiBTLESens (Zitrone) - ExecGatttool_Aborted: The BlockingCall Process terminated unexpectedly. Timedout

Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 24 November 2018, 17:07:42
Das gatttool bekommt keine Verbindung hin.
Ist der Sensor in Nähe des FHEM Servers? Welche Distribution verwendest Du? Bitte genaue Version.
Findest Du unter /etc/os-release
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Zenz am 24 November 2018, 17:13:59
Sensor und RPI sind ca. 50cm von einander entfernt

/etc/os-release
PRETTY_NAME="Raspbian GNU/Linux 9 (stretch)"
NAME="Raspbian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 24 November 2018, 17:23:42
Die Debian Version sollte im sein.
Welche Version hat das gatttool?
Mach mal bitte ein
bluetoothctl --version
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Zenz am 24 November 2018, 17:35:31
CoolTux entschuldige bitte, aber mit meinen bescheidenen Kenntnisse, weiss ich leider nicht,
wie ich zur "bluetoothctl --version" komme.  :-[


Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 24 November 2018, 17:37:12
Du müsstest Dich per ssh auf dem raspi anmelden und dann genau so den Befehl angeben.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Zenz am 24 November 2018, 17:37:32
habes gefunden 5.43
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 24 November 2018, 18:15:05
Da fällt mir nur noch BTMAC ein. Ist die wirklich vom Pflanzensensor?
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Typ1er am 24 November 2018, 20:19:33
Du lässt aber nicht die App gleichzeitig laufen wie das Modul oder?
Das geht nämlich nicht, dann blockiert die App.
Oh oh, das nicht, aber ich habe eine Lampe von Xiaomi die die Sensoren auch abfragt.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 24 November 2018, 20:35:58
Oh oh, das nicht, aber ich habe eine Lampe von Xiaomi die die Sensoren auch abfragt.

Dann sind sie natürlich entweder komplett blockiert oder zu mindest zu dem Zeitpunkt der Abfrage blockiert.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Zenz am 25 November 2018, 12:58:03
@ CoolTux
vielen, vielen Dank für deine Geduld und Hilfe.

Habe soeben meine SD Karte in einen zweiten Raspberry gesteckt und es läuft ohne Probleme :-)
Bei der Gegenprobe wieder Error  =>  RPI ist wohl ein Fall für die Tonne.

LG
Zenz
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: MadMax-FHEM am 25 November 2018, 13:44:40
@ CoolTux
vielen, vielen Dank für deine Geduld und Hilfe.

Habe soeben meine SD Karte in einen zweiten Raspberry gesteckt und es läuft ohne Probleme :-)
Bei der Gegenprobe wieder Error  =>  RPI ist wohl ein Fall für die Tonne.

LG
Zenz

Oh, dann bin ich nicht alleine...
Bei einem meiner hat sich wohl der WLAN Chip verabschiedet (ist glaube ich eh ein Kombi-Chip WLAN+BlueTooth)...

Neues frisches System: kein WLAN rumprobiert: will einfach nicht. Glaube sogar irgendwas mit Treiber-Fehler... Daher dachte ich zunächst an einen Kartenfehler...

Aber:

Alte Karte in anderen PI läuft prima

Neu aufgesetztes System in anderen PI läuft (natürlich) auch

Wenn's nur mal einer ist und bleibt ok...
...wenn sich's häufen sollte wäre das echt doof...

Gut mit LAN könnte ich ihn noch nutzen...
...aber bleibt die Frage: was geht vielleicht noch nicht (mehr zuverlässig)...

Hitze kann's nicht sein, der war offen ohne Gehäusedeckel und laut Sysmon immer so bei 45Grad...

Andere sind (deutlich) wärmer und laufen schon länger mit (deutlich) mehr zu tun...

Gruß, Joachim

(sorry für OT!)
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Teamdrachen am 11 Dezember 2018, 12:01:21
Hallo,

ich habe die Xiaomi Temperatur/Feuchtesensoren im Einsatz und leider immer wieder Probleme.
eigentlich nur ein Problem
Too many levels of symbolic links (40)Raspbery pi 3B
bluetoothctl 5.47
Manchmal liest FHEM Daten aus, in 99% der Fälle jedoch nicht.


Mir ist klar. Liegt nicht am Modul, aber ich hab bisher noch keine wirkliche Lösung gefunden und evtl hat jemand hier das Problem erfolgreich behoben.

Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 11 Dezember 2018, 12:18:04
Hallo,

ich habe die Xiaomi Temperatur/Feuchtesensoren im Einsatz und leider immer wieder Probleme.
eigentlich nur ein Problem
Too many levels of symbolic links (40)Raspbery pi 3B
bluetoothctl 5.47
Manchmal liest FHEM Daten aus, in 99% der Fälle jedoch nicht.


Mir ist klar. Liegt nicht am Modul, aber ich hab bisher noch keine wirkliche Lösung gefunden und evtl hat jemand hier das Problem erfolgreich behoben.

Fragst Du die Sensoren noch anders ab? App oder ein weiteres Gerät?
Was läuft sonst noch auf dem Pi was bluetooth an geht. Irgendwas mit Anwesenheit oder so?
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Teamdrachen am 11 Dezember 2018, 12:57:38
Nein, Sensoren werden nicht anders abgefragt und auf dem Pi wat BT bisher ungenutzt
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 11 Dezember 2018, 13:18:02
Zu Testzwecken vielleicht den Sensor näher an den Pi sofern er nicht schon 1m davor steht.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Teamdrachen am 11 Dezember 2018, 13:39:32
der Sensor /die Sensoren werden ja erkannt
Problem ist: Too many levels of symbolic links (40)
Hin und wieder klappt mal ein connect und ich bekomme Daten.
Viel öfter jedoch eben:Too many levels of symbolic links (40)
Es liegt nicht am Modul, eher an BlueZ
Da der Fehler ein paar seiten/Wochen vorher hier schon mal auftauchte... jedoch nie wieder Thema war, hegte ich die Hoffnun es wäre mehr darüber bekannt
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 11 Dezember 2018, 14:36:44
Habe mal kurz gegoogelt (https://stackoverflow.com/questions/38086761/error-while-connecting-to-ble-device-using-gatttool/43444837)
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Teamdrachen am 11 Dezember 2018, 15:29:27
Danke, aber das hab ich schon versucht... ohne Erfolg
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Neuhier am 11 Dezember 2018, 20:33:49
Vielleicht doch irgendwo einen Gateway im Haus?
Aus Versehen mit dem Smartphone o.ä. "gefunden" ?
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: Teamdrachen am 12 Dezember 2018, 09:12:36
kein Gateway im Haus und im Moment auch kein Smartphone.
Ich sitz 50km entfernt, der Sensor 70cm

Edit:
Ich habe einen der zwei Sensoren in FHEM disabled und bekomme vom anderen Daten.

Edit2:
ich habs...

nach dem ich alle Versionen von bluez getestet, das Netz nach dem Fehler durchsucht und mit dem Thema fast abgeschlossen habe bzw. einen pi Zero testen wollte.

Bei Sensor 2.. dem der disabled wurde fehlte in FHEM 1 Ziffer in der MAC  ::)

die fehlerhafte Abfrage hat dann Gatttool abgeschossen
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: stole am 21 Dezember 2018, 07:24:46
Hallo,

Ich habe gerade mein Mijia angekoppelt, die Temperatur richtig angezeigt aber die Feuchtigkeit komisch

Kann mir jemand dabei helfen?
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 21 Dezember 2018, 08:05:07
Wenn ich das richtig gelesen habe ist das ein Branding. Original soll es Xiaomi sein. Kannst Du mir bitte ein verbose 5 geben. Brauche die ausgelesenen Werte.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: stole am 22 Dezember 2018, 09:31:02
Wenn ich das richtig gelesen habe ist das ein Branding. Original soll es Xiaomi sein. Kannst Du mir bitte ein verbose 5 geben. Brauche die ausgelesenen Werte.

Hi CoolTux,

Danke für die schnelle Antwort.

Was meinst du genau mit Branding, dass Device kein Xiaomi ist? Weil es von außen definitiv als Xiaomi aussieht, und auch mit Xiaomi Handy App richtig verbindet.

Kann es sein wegen Firmware?

Ich mache verbose 5 so schnell wie möglich, gerade bin ich unterwegs.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: CoolTux am 22 Dezember 2018, 09:45:21
Es ist schon ein Xiaomi, nur wurde es von einer Firma als thirdpart eingekauft und die macht dann ihr eigenes Logo drauf und verkauft es so. Es wird aber voll umfänglich Xiaomi, inklusive Firmware.
Titel: Antw:[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer
Beitrag von: stole am 23 Dezember 2018, 10:36:39
Wenn ich das richtig gelesen habe ist das ein Branding. Original soll es Xiaomi sein. Kannst Du mir bitte ein verbose 5 geben. Brauche die ausgelesenen Werte.

2018.12.23 06:53:41 5: XiaomiBTLESens (xSense1) - ExecGatttool_Done: gatttool re
turn string: xSense1|4C:65:A8:D5:E1:96|ok|write|0x10|{"gtResult":"54 3d 31 38 2e
 32 20 48 3d 36 36 2e 35 00 "}
2018.12.23 06:53:41 4: XiaomiBTLESens (xSense1) - ProcessingNotification       
2018.12.23 06:53:41 4: XiaomiBTLESens (xSense1) - ProcessingNotification: handle
 0x10
2018.12.23 06:53:41 4: XiaomiBTLESens (xSense1) - Thermo/Hygro Sens Handle0x10 
2018.12.23 06:53:41 4: XiaomiBTLESens (xSense1) - WriteReadings: Readings were w
ritten
2018.12.23 06:56:11 4: XiaomiBTLESens (xSense1) - Run CreateParamGatttool with m
od: write
2018.12.23 06:56:11 5: XiaomiBTLESens (xSense1) - Write XiaomiBTLESens_ExecGattt
ool_Run xSense1|4C:65:A8:D5:E1:96|write|0x10|0100                               
2018.12.23 06:56:11 4: XiaomiBTLESens (xSense1) - stateRequestTimer: Call Reques
t Timer
2018.12.23 06:56:11 5: XiaomiBTLESens (xSense1) - ExecGatttool_Run: call gatttoo
l with command: timeout 10 gatttool -i hci0 -b 4C:65:A8:D5:E1:96 --char-write-re
q -a 0x10 -n 0100 --listen 2>&1 /dev/null and loop 0
2018.12.23 06:56:21 5: XiaomiBTLESens (xSense1) - ExecGatttool_Run: gatttool loo
p result Characteristic value was written successfully
2018.12.23 06:56:21 4: XiaomiBTLESens (xSense1) - ExecGatttool_Run: gatttool res
ult Characteristic value was written successfully
2018.12.23 06:56:21 5: XiaomiBTLESens (xSense1) - ExecGatttool_Done: gatttool re
turn string: xSense1|4C:65:A8:D5:E1:96|ok|write|0x10|{"gtResult":"54 3d 31 38 2e
 32 20 48 3d 36 36 2e 37 00 "}
2018.12.23 06:56:21 4: XiaomiBTLESens (xSense1) - ProcessingNotification