Autor Thema: [74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer  (Gelesen 56688 mal)

Offline CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 22631
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
« Letzte Änderung: 16 Januar 2018, 15:22:19 von CoolTux »
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://paypal.me/pools/c/8gULisr9BT
FHEM GitHub: https://github.com/fhem/
kein Support für cfg Editierer

Offline CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 22631
Eine aktuelle Entwicklerversion findet Ihr hier
Wobei diese Version für die FlowerSens Sensoren ja schon produktiv reif ist.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://paypal.me/pools/c/8gULisr9BT
FHEM GitHub: https://github.com/fhem/
kein Support für cfg Editierer

Offline distel

  • Full Member
  • ***
  • Beiträge: 112
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
NUC-I37100
Docker: eBus, fhem, ha-bridge, unifi
Hardware: Homematic, FS20, Somfy RTS, 1wire, FBAHA, enOcean

Offline gent

  • Full Member
  • ***
  • Beiträge: 263
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
fhem auf rPi3 mit USB boot, 1 x cul886, 1 x cul866 (hm), pilight, homebridge, YeeLight, FlowerSens, ESA2000

Offline distel

  • Full Member
  • ***
  • Beiträge: 112
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?]
« Letzte Änderung: 15 Januar 2018, 19:09:04 von distel »
NUC-I37100
Docker: eBus, fhem, ha-bridge, unifi
Hardware: Homematic, FS20, Somfy RTS, 1wire, FBAHA, enOcean

Offline CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 22631
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
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://paypal.me/pools/c/8gULisr9BT
FHEM GitHub: https://github.com/fhem/
kein Support für cfg Editierer

Offline CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 22631
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.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://paypal.me/pools/c/8gULisr9BT
FHEM GitHub: https://github.com/fhem/
kein Support für cfg Editierer

Offline distel

  • Full Member
  • ***
  • Beiträge: 112
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
NUC-I37100
Docker: eBus, fhem, ha-bridge, unifi
Hardware: Homematic, FS20, Somfy RTS, 1wire, FBAHA, enOcean

Offline CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 22631
Neue Version
Bitte noch einmal set devicename testen.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://paypal.me/pools/c/8gULisr9BT
FHEM GitHub: https://github.com/fhem/
kein Support für cfg Editierer

Offline distel

  • Full Member
  • ***
  • Beiträge: 112
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
NUC-I37100
Docker: eBus, fhem, ha-bridge, unifi
Hardware: Homematic, FS20, Somfy RTS, 1wire, FBAHA, enOcean

Offline CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 22631
Gut dann fehlt noch ein automatischer devicename read nach dem write. werde ich mal einbauen und ich denke mal dann sind wir durch.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://paypal.me/pools/c/8gULisr9BT
FHEM GitHub: https://github.com/fhem/
kein Support für cfg Editierer

Offline CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 22631
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.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://paypal.me/pools/c/8gULisr9BT
FHEM GitHub: https://github.com/fhem/
kein Support für cfg Editierer

Offline MadMax-FHEM

  • Hero Member
  • *****
  • Beiträge: 6206
  • NIVEAu ist keine Creme...
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
FHEM 5.9 PI3: HM-CFG-USB, 40x HM, ZWave-USB, 6x ZWave, EnOcean-PI, 3x EnOcean, HUE, CO2, ESP-Multisensor, FireTV, KODI, alexa-fhem, ...
FHEM 5.9 PI2: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, KODI, ha-bridge, ...
FHEM 5.9 PI3 (Test): HM-MOD-PCB, Snips, Google Home, ...
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline yrwyddfa

  • Full Member
  • ***
  • Beiträge: 191
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.
If every day has its number, Monday would be a zero division.
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline oli82

  • Sr. Member
  • ****
  • Beiträge: 568
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
Hilfreich Hilfreich x 1 Liste anzeigen