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

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

Vorheriges Thema - Nächstes Thema

ChristianMUC

#750
Hallo,

ich habe den FlowerSens schon länger im Einsatz und bin echt zufrieden damit.
Jetzt habe ich mir beim Chinesen noch den eckigen Typ vom Hygrometer gekauft.
Mit FHEM verbunden, allerdings stimmen die Werten nicht.


Internals:
   BTMAC      3F:59:C8:71:50:1E
   CFGFN     
   DEF        3F:59:C8:71:50:1E
   FUUID      5cebb2cc-f33f-c88c-ec01-5fa5a7f71f5907ba
   INTERVAL   300
   NAME       XiaomiWatch
   NOTIFYDEV  global,XiaomiWatch
   NR         678
   NTFY_ORDER 50-XiaomiWatch
   STATE      write sensor data
   TYPE       XiaomiBTLESens
   VERSION    2.4.7
   loglevel   4
   Helper:
     DBLOG:
       batteryPercent:
         logdb:
           TIME       1558950646.4872
           VALUE      33330855172415
       batteryState:
         logdb:
           TIME       1558950646.4872
           VALUE      ok
       lastGattError:
         logdb:
           TIME       1558950808.34472
           VALUE      charWrite faild
       state:
         logdb:
           TIME       1558950808.39417
           VALUE      write sensor data
   READINGS:
     2019-05-27 11:50:46   batteryPercent  33330855172415
     2019-05-27 11:50:46   batteryState    ok
     2019-05-27 11:50:13   firmware        %�\j�
��F�y��x_
     2019-05-27 11:53:28   lastGattError   charWrite faild
     2019-05-27 11:53:28   state           write sensor data
   helper:
     CallBattery 1
     CallSensDataCounter 1
     updateTimeCallBattery 1558950646.48285
     updateTimestampCallBattery 2019-05-27 11:50:46
     RUNNING_PID:
       abortFn    XiaomiBTLESens::ExecGatttool_Aborted
       arg        XiaomiWatch|3F:59:C8:71:50:1E|write|0x10|0100|1
       bc_pid     135
       finishFn   XiaomiBTLESens::ExecGatttool_Done
       fn         XiaomiBTLESens::ExecGatttool_Run
       pid        2899
       telnet     telnetPort_127.0.0.1_43300
       timeout    90
       abortArg:
Attributes:
   model      thermoHygroSens
   room       XiaomiBTLESens


Passt das Modul nicht zu meinem Device?

Danke und Gruß
Christian

CoolTux

Gute Frage. Keine Ahnung. Was haben den die anderen User für ein thermoHygroSens Gerät?
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

grappa24

Hallo,

ich hab mir jetzt auch ein notify gebastelt, welches für den Fall, dass alle Flower Sens in den state "error" gehen, die folgenden Befehle ausführen soll: sudo hciconfig hci0 down
sudo hciconfig hci0 up

Dann hab ich in /etc/sudoers.d die Datei "010_fhem-nopasswd" erstellt:fhem ALL=(ALL) NOPASSWD: ALL und in /etc/passwd die letzte Zeile wie folgt editiert: fhem:x:999:20::/opt/fhem:/bin/bash

Ich kann jetzt zwar von der fhem-Kommandozeile den RasPi runterfahren { system("sudo shutdown -r now") } aber wenn ich den Befehl gebe { system("sudo hciconfig hci0 down") } kommt die Fehlermeldung: Can't down device hci0: Operation not permitted (1)
Wo liegt da mein Fehler - oder geht das nicht?

Geht doch - hatte mich u.a. von der Rückmeldung "-1" an fhem verwirren lassen
FHEM 6.1, 2 x RasPi 3B+, Debian Buster; KNX, FS20, HM, HUE, Tradfri, Shellies, KLF200
Rollo-/Lichtsteuerung/-szenarien, T-Sensoren, Fensterkontakte, Heizungssteuerung, HEOS, Sprachsteuerung mit Alexa-FHEM, Netatmo, Nuki, ...

thymjan

Habe 3 Flower Sensoren am raspi 3 in Betrieb. Bisher unter raspbian jessie ohne Probleme. Jetzt ging mir die sd-Karte kaputt und ich habe das System unter raspbian stretch neu aufgesetzt.

Das AnlernenDefinieren der Sensoren (firmware 3.1.9) hat ohne Probleme funktioniert. Leider bricht die Übertragung der Sensor-Werte nach kurzer Zeit (wenige Stunden) ab und bleibt ohne manuelles Eingreifen (sudo hcitool hci0 down/up) in der Havarie.

Es gibt dann einen ganzen Blumenstrauß an lastGattError-Fehlermeldungen:

  • The BlockingCall Process terminated unexpectedly. Timedout
  • Invalid argument (22)
  • charWrite faild
  • irgendetwas mit zu vielen Symbolic Links (40)

So sind die Sensoren nicht mehr benutzbar. Ich hatte die für eine Bewässerungsanlage in Betrieb.
Was habt Ihr denn für Vorschläge wie ich das Problem angehen kann?

CoolTux

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

thymjan

Wie beschrieben in https://wiki.fhem.de/wiki/XiaomiBTLESens mit
sudo hcitool lescan

die Adressen ausgelesen und dann mit

defmod Philo1 XiaomiBTLESens XX:XX:XX:XX:XX:XX
angelegt.

Neuhier

Den internen oder einen externen BT-Anschluß in Verwendung?
Nebenher noch andere BT-Geräte/ -Verwendungen eingerichtet?
Netzteil ausreichend?

CoolTux

Ah ok, verstehe. Also nicht angelernt sondern in FHEM definiert und gatttool liest dann aus.

Leider scheint es mit neueren Versionen Probleme mit gatttool zu geben. Was für einen Bluetooth Stick verwendest Du?
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

thymjan

Wie bisher unter jessie verwende ich die integrierte Bluetooth hardware vom raspi 3. WLAN ist ausgeschalten, der raspi hängt am LAN.

thymjan

So sieht's aus wenns funktioniert (get sensorData):
sudo btmon -t
Bluetooth monitor ver 5.43
= Note: Linux version 4.19.42-v7+ (armv7l)                                                                                                     11:18:52.233196
= Note: Bluetooth subsystem version 2.22                                                                                                       11:18:52.233202
= New Index: B8:27:EB:D6:D2:A8 (Primary,UART,hci0)                                                                                      [hci0] 11:18:52.233204
= Open Index: B8:27:EB:D6:D2:A8                                                                                                         [hci0] 11:18:52.233206
= Index Info: B8:27:EB:D6:D2:A8 (Broadcom Corporation)                                                                                  [hci0] 11:18:52.233208
@ MGMT Open: bluetoothd (privileged) version 1.14                                                                                     {0x0001} 11:18:52.233211
@ MGMT Open: btmon (privileged) version 1.14                                                                                          {0x0002} 11:18:52.233441
@ RAW Open: gatttool version 2.22                                                                                                     {0x0003} 11:19:06.848306
@ RAW Close: gatttool                                                                                                                 {0x0003} 11:19:06.848341
< HCI Command: LE Remove Device From White List (0x08|0x0012) plen 7                                                                    [hci0] 11:19:06.848524
        Address type: Public (0x00)
        Address: C4:7C:8D:66:42:D7 (OUI C4-7C-8D)
> HCI Event: Command Complete (0x0e) plen 4                                                                                             [hci0] 11:19:06.849133
      LE Remove Device From White List (0x08|0x0012) ncmd 1
        Status: Success (0x00)
< HCI Command: LE Add Device To White List (0x08|0x0011) plen 7                                                                         [hci0] 11:19:06.849172
        Address type: Public (0x00)
        Address: C4:7C:8D:67:38:F7 (OUI C4-7C-8D)
> HCI Event: Command Complete (0x0e) plen 4                                                                                             [hci0] 11:19:06.849933
      LE Add Device To White List (0x08|0x0011) ncmd 1
        Status: Success (0x00)
< HCI Command: LE Set Scan Parameters (0x08|0x000b) plen 7                                                                              [hci0] 11:19:06.849964
        Type: Passive (0x00)
        Interval: 60.000 msec (0x0060)
        Window: 30.000 msec (0x0030)
        Own address type: Public (0x00)
        Filter policy: Ignore not in white list (0x01)
> HCI Event: Command Complete (0x0e) plen 4                                                                                             [hci0] 11:19:06.850506
      LE Set Scan Parameters (0x08|0x000b) ncmd 1
        Status: Success (0x00)
< HCI Command: LE Set Scan Enable (0x08|0x000c) plen 2                                                                                  [hci0] 11:19:06.850534
        Scanning: Enabled (0x01)
        Filter duplicates: Enabled (0x01)
> HCI Event: Command Complete (0x0e) plen 4                                                                                             [hci0] 11:19:06.851129
      LE Set Scan Enable (0x08|0x000c) ncmd 1
        Status: Success (0x00)
> HCI Event: LE Meta Event (0x3e) plen 40                                                                                               [hci0] 11:19:07.235558
      LE Advertising Report (0x02)
        Num reports: 1
        Event type: Connectable undirected - ADV_IND (0x00)
        Address type: Public (0x00)
        Address: C4:7C:8D:67:38:F7 (OUI C4-7C-8D)
        Data length: 28
        Flags: 0x06
          LE General Discoverable Mode
          BR/EDR Not Supported
        16-bit Service UUIDs (partial): 1 entry
          Xiaomi Inc. (0xfe95)
        Service Data (UUID 0xfe95): 712098004df738678d7cc40d091002cd02
        RSSI: -81 dBm (0xaf)
< HCI Command: LE Set Scan Enable (0x08|0x000c) plen 2                                                                                  [hci0] 11:19:07.235618
        Scanning: Disabled (0x00)
        Filter duplicates: Disabled (0x00)
> HCI Event: Command Complete (0x0e) plen 4                                                                                             [hci0] 11:19:07.237590
      LE Set Scan Enable (0x08|0x000c) ncmd 1
        Status: Success (0x00)
< HCI Command: LE Create Connection (0x08|0x000d) plen 25                                                                               [hci0] 11:19:07.237631
        Scan interval: 60.000 msec (0x0060)
        Scan window: 60.000 msec (0x0060)
        Filter policy: White list is not used (0x00)
        Peer address type: Public (0x00)
        Peer address: C4:7C:8D:67:38:F7 (OUI C4-7C-8D)
        Own address type: Public (0x00)
        Min connection interval: 30.00 msec (0x0018)
        Max connection interval: 50.00 msec (0x0028)
        Connection latency: 0x0000
        Supervision timeout: 420 msec (0x002a)
        Min connection length: 0.000 msec (0x0000)
        Max connection length: 0.000 msec (0x0000)
> HCI Event: Command Status (0x0f) plen 4                                                                                               [hci0] 11:19:07.238517
      LE Create Connection (0x08|0x000d) ncmd 1
        Status: Success (0x00)
> HCI Event: LE Meta Event (0x3e) plen 19                                                                                               [hci0] 11:19:08.245196
      LE Connection Complete (0x01)
        Status: Success (0x00)
        Handle: 64
        Role: Master (0x00)
        Peer address type: Public (0x00)
        Peer address: C4:7C:8D:67:38:F7 (OUI C4-7C-8D)
        Connection interval: 48.75 msec (0x0027)
        Connection latency: 0.00 msec (0x0000)
        Supervision timeout: 420 msec (0x002a)
        Master clock accuracy: 0x00
@ MGMT Event: Device Connected (0x000b) plen 41                                                                                {0x0002} [hci0] 11:19:08.245246
        LE Address: C4:7C:8D:67:38:F7 (OUI C4-7C-8D)
        Flags: 0x00000000
        Data length: 28
        Flags: 0x06
          LE General Discoverable Mode
          BR/EDR Not Supported
        16-bit Service UUIDs (partial): 1 entry
          Xiaomi Inc. (0xfe95)
        Service Data (UUID 0xfe95): 712098004df738678d7cc40d091002cd02
@ MGMT Event: Device Connected (0x000b) plen 41                                                                                {0x0001} [hci0] 11:19:08.245246
        LE Address: C4:7C:8D:67:38:F7 (OUI C4-7C-8D)
        Flags: 0x00000000
        Data length: 28
        Flags: 0x06
          LE General Discoverable Mode
          BR/EDR Not Supported
        16-bit Service UUIDs (partial): 1 entry
          Xiaomi Inc. (0xfe95)
        Service Data (UUID 0xfe95): 712098004df738678d7cc40d091002cd02
< HCI Command: LE Read Remote Used Features (0x08|0x0016) plen 2                                                                        [hci0] 11:19:08.245435
        Handle: 64
> HCI Event: Command Status (0x0f) plen 4                                                                                               [hci0] 11:19:08.248224
      LE Read Remote Used Features (0x08|0x0016) ncmd 1
        Status: Success (0x00)
> HCI Event: LE Meta Event (0x3e) plen 12                                                                                               [hci0] 11:19:08.430917
      LE Read Remote Used Features (0x04)
        Status: Success (0x00)
        Handle: 64
        Features: 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00
          LE Encryption
< ACL Data TX: Handle 64 flags 0x00 dlen 9                                                                                              [hci0] 11:19:08.434446
      ATT: Write Request (0x12) len 4
        Handle: 0x0033
          Data: a01f
> ACL Data RX: Handle 64 flags 0x02 dlen 5                                                                                              [hci0] 11:19:08.528262
      ATT: Write Response (0x13) len 0
> HCI Event: Number of Completed Packets (0x13) plen 5                                                                                  [hci0] 11:19:08.669181
        Num handles: 1
        Handle: 64
        Count: 1
@ RAW Open: gatttool version 2.22                                                                                                     {0x0003} 11:19:08.758690
@ RAW Close: gatttool                                                                                                                 {0x0003} 11:19:08.758732
< ACL Data TX: Handle 64 flags 0x00 dlen 7                                                                                              [hci0] 11:19:08.762109
      ATT: Read Request (0x0a) len 2
        Handle: 0x0035
> ACL Data RX: Handle 64 flags 0x02 dlen 21                                                                                             [hci0] 11:19:08.821051
      ATT: Read Response (0x0b) len 16
        Value: e300007c0300002bc802023c00fb349b
> HCI Event: Number of Completed Packets (0x13) plen 5                                                                                  [hci0] 11:19:08.919093
        Num handles: 1
        Handle: 64
        Count: 1
< HCI Command: Disconnect (0x01|0x0006) plen 3                                                                                          [hci0] 11:19:10.901187
        Handle: 64
        Reason: Remote User Terminated Connection (0x13)
> HCI Event: Command Status (0x0f) plen 4                                                                                               [hci0] 11:19:10.901612
      Disconnect (0x01|0x0006) ncmd 1
        Status: Success (0x00)
> HCI Event: Disconnect Complete (0x05) plen 4                                                                                          [hci0] 11:19:10.917572
        Status: Success (0x00)
        Handle: 64
        Reason: Connection Terminated By Local Host (0x16)
@ MGMT Event: Device Disconnected (0x000c) plen 8                                                                              {0x0002} [hci0] 11:19:10.917603
        LE Address: C4:7C:8D:67:38:F7 (OUI C4-7C-8D)
        Reason: Connection terminated by local host (0x02)
@ MGMT Event: Device Disconnected (0x000c) plen 8                                                                              {0x0001} [hci0] 11:19:10.917603
        LE Address: C4:7C:8D:67:38:F7 (OUI C4-7C-8D)
        Reason: Connection terminated by local host (0x02)

CoolTux

Wenn es Dir so wichtig ist wie Du es sagst, dann holst Du Dir einen externen USB Bluetooth Stick und betreibst es damit. Ich habe damit an einem Raspi3 nur sehr selten einen Fehler.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

thymjan

Zitat von: Neuhier am 16 Juni 2019, 11:09:13
Nebenher noch andere BT-Geräte/ -Verwendungen eingerichtet?
Habe noch zwei PRESENCE-Module in Betrieb die alle 300sec die Bluetooth-MAC von zwei Smartphones suchen.

Neuhier

Bei mir hängen 3 GTags und 5 BTLeSens am RPi3 B, interne BT-Anschluß.
Ausfälle und Fehlermeldungen habe ich nicht mehr, seit ich mein Netzteil geändert habe.
Ob es nun primär damit zu tun hat, kann ich nicht sagen, gehe aber davon aus.
Das neue hat 5V 4A.

ext23

Ich habe jetzt zwei China Versionen der Flower Care Sensoren, aber irgendwie haben die solche Sprünge drin, hat das noch jemand? Bei meinen Int Versionen ist das noch nicht aufgefallen.

/Daniel
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

Neuhier

Die Sprünge in der Helligkeit sind wohl bei allen.
Aber Feuchtigkeit und "Gesundheit" sind hier nicht so sprunghaft.
Hatte damals ein 4-er Pack bei Pearl gekauft.