NEWS
BLE Adapter
-
@AlCalzone
Ah, Danke.Ich habe nun etwas reingeschaut.
Das ganze soll laut MAC von Telink Semiconductor kommen, wo ich leider keine für mich verständliche Doku finde.Also einen Log per Android geschrieben und dann mit Wireshark reingeschaut.
Scheint mit aber recht komplex. Das erste Byte der Befehle nach dem Verbindungsaufbau (der ist auchnoch komplex...) ist fortlaufend inkrementierend, dann kommen 2 statische Byte und danach .... keine Ahnung. Selbst bei einfachen Ein/Ausschalt-Zyklen sind die Pakete danach komplett unterschiedlich. D.h. vielleicht ist es sogar eine Art applikative Verschlüsselung.Wenn also jemand Interesse am gemeinsamen Reinschauen in ein Telink Produkt hat ... bitte melden.
Gruss -
btsnoop_hci (1).log -
Hallo
warum wir der LYWSD02 nicht erkannt? Verwende hier Version 0.10.1 mit node: v10.19.0
Dachte zumindest der LYWSD02 sollte unterstüzt werden.
-
@chris12205 Der Datenpunkt sieht eigentlich gut aus. Hast du das xiaomi-Plugin aktiv? Wenn ja, mach mir mal bitte einen Log mit Loglevel Debug.
-
bitte schön
-
@chris12205 Das hier gezeigte Gerät sendet leider keine Nutzdaten (erkennbar am Start "30"). Ich dachte du meinst das andere, was im Screenshot ebenfalls zu sehen ist (Start "70").
-
@AlCalzone du hast recht die Daten stammen vom LYWSD03MMC. Das Gerät ist anscheinend verquatschter. Ja ich weiß das es noch nicht unterstüzt wird.
Hier die vom LYWSD02 Advertised service fe95: 70205b0485a458b3002ee7090610026202
-
Hab gerade ein LYWSD02 in Betrieb genommen und es scheint auf Anhieb zu funktionieren.
Die Reichweite ist nur nicht so toll wie erwartet. Ich wollte das Teil ca. 5 m und zwei Holztüren entfernt betreiben und bekomme von dort kein Signal mehr.
-
@AlCalzone grad wieder neues Spielzeug angekommen:
Model: MHO-C401 Smart BT Thermometer-Hygrometer
(gibts grad bei Banggood um 8€ +2,50€ Versand)
value vom "fe95" ist "305887034b9959dd38c1a4280100"
debug-log:
ble.0 2020-07-25 09:36:51.951 debug (1476) setting state ble.0.a4:c1:38:dd:59:99.services.fe95 ble.0 2020-07-25 09:36:51.949 debug (1476) a4:c1:38:dd:59:99 > got values: {"services.fe95":"305887034b9959dd38c1a4280100"} ble.0 2020-07-25 09:36:51.945 debug (1476) _default: a4:c1:38:dd:59:99 > got data 305887034b9959dd38c1a4280100 for fe95 ble.0 2020-07-25 09:36:51.918 debug (1476) plugin _default is handling a4:c1:38:dd:59:99 ble.0 2020-07-25 09:36:51.916 debug (1476) has manufacturerData: false ble.0 2020-07-25 09:36:51.914 debug (1476) serviceData = [{"uuid":"fe95","data":{"type":"Buffer","data":[48,88,135,3,75,153,89,221,56,193,164,40,1,0]}}] ble.0 2020-07-25 09:36:51.912 debug (1476) has serviceData: true ble.0 2020-07-25 09:36:51.910 debug (1476) has advertisement: true ble.0 2020-07-25 09:36:51.906 debug (1476) discovered peripheral a4:c1:38:dd:59:99
kannst Du hier was machen?
3 Beiträge weiter oben hast Du geschrieben:
@AlCalzone sagte in BLE Adapter:....Das hier gezeigte Gerät sendet leider keine Nutzdaten (erkennbar am Start "30")...
Gibt es da noch Unterschiede? Das runde e-Ink von Xiaomi fängt auch mit "30" an und das funktioniert ja recht gut.
-
@Lenny-CB sagte in BLE Adapter:
305887034b9959dd38c1a4280100
Da seht auch nur die Mac-Adresse drin.
Das runde e-Ink von Xiaomi fängt auch mit "30" an und das funktioniert ja recht gut.
Wirklich? Hast du mal einen Datensatz für mich?
-
@AlCalzone sagte in BLE Adapter:
@Lenny-CB sagte in BLE Adapter:
305887034b9959dd38c1a4280100
Da seht auch nur die Mac-Adresse drin.
Das runde e-Ink von Xiaomi fängt auch mit "30" an und das funktioniert ja recht gut.
Wirklich? Hast du mal einen Datensatz für mich?
-
@Lenny-CB Ne, da steht auch nix drin. Die Werte müssen also von einem anderen Datensatz gekommen sein.
-
@AlCalzone sagte in BLE Adapter:
@Lenny-CB Ne, da steht auch nix drin. Die Werte müssen also von einem anderen Datensatz gekommen sein.
Stimmt, lt. Debug ist da nix mehr mit "30".
ble.0 2020-07-25 17:17:13.567 debug (5027) setting state ble.0.58:2d:34:10:4d:d3.temperature ble.0 2020-07-25 17:17:13.490 debug (5027) setting state ble.0.58:2d:34:10:4d:d3.humidity ble.0 2020-07-25 17:17:13.488 debug (5027) 58:2d:34:10:4d:d3 > got values: {"humidity":62.9,"temperature":25.8} ble.0 2020-07-25 17:17:13.485 debug (5027) xiaomi >> <span style="color: #5bb12f">got temperature update => 25.8</span> ble.0 2020-07-25 17:17:13.483 debug (5027) xiaomi >> <span style="color: #5bb12f">got humidity update => 62.9</span> ble.0 2020-07-25 17:17:13.480 debug (5027) xiaomi >> got data: 503047034bd34d10342d580d100402017502 ble.0 2020-07-25 17:17:13.470 debug (5027) plugin Xiaomi is handling 58:2d:34:10:4d:d3
Komisch nur, dass es damals so war. (Gut zu sehen im Objektbaum siehe Link.)
https://forum.iobroker.net/post/322851 -
@AlCalzone sagte in BLE Adapter:
@adarof Sobald es um lesen/schreiben von Characteristics geht, muss der Adapter bisher passen. Das ist noch nicht implementiert.
@AlCalzone, steht das noch bei Dir auf der Timeline oder ist das Thema "aktive Verbindung" gestorben?
PS: hatte das jetzt auch mit dem ham-Adapter und dem passenden Plugin versucht, ging aber auch nicht.
-
@Lenny-CB irgendwann komme ich noch dazu, aber zwave2 hat bei mir gerade Priorität und das frisst Zeit ohne Ende.
-
@AlCalzone sagte in BLE Adapter:
@Lenny-CB irgendwann komme ich noch dazu...
@AlCalzone darauf freue ich mich schon...
habe mal ein wenig mit dem Teil gespielt. Folgendes Log bekomme ich:
javascript.3 2020-07-27 21:14:48.788 info (31334) script.js.Testscripte.Peripheral_explorer: 0000010200656c622e746f696d2e696d (STDIO_TX) properties notify javascript.3 2020-07-27 21:14:48.699 info (31334) script.js.Testscripte.Peripheral_explorer: 0000010100656c622e746f696d2e696d (STDIO_RX) properties writeWithoutResponse javascript.3 2020-07-27 21:14:48.520 info (31334) script.js.Testscripte.Peripheral_explorer: 0000010000656c622e746f696d2e696d javascript.3 2020-07-27 21:14:48.518 info (31334) script.js.Testscripte.Peripheral_explorer: 19 (standard) properties writeWithoutResponse, notify javascript.3 2020-07-27 21:14:48.429 info (31334) script.js.Testscripte.Peripheral_explorer: 18 (ota_data) properties writeWithoutResponse, notify javascript.3 2020-07-27 21:14:48.339 info (31334) script.js.Testscripte.Peripheral_explorer: 17 (ota_ctrl) properties write, notify javascript.3 2020-07-27 21:14:48.248 info (31334) script.js.Testscripte.Peripheral_explorer: 10 (Authentication) properties writeWithoutResponse, notify javascript.3 2020-07-27 21:14:48.159 info (31334) script.js.Testscripte.Peripheral_explorer: 4 (Version) properties read value 312e302e305f3030303100000000000000000000 | '1.0.0_0001' javascript.3 2020-07-27 21:14:47.980 info (31334) script.js.Testscripte.Peripheral_explorer: fe95 javascript.3 2020-07-27 21:14:47.978 info (31334) script.js.Testscripte.Peripheral_explorer: ebe0ccd97a0a4b0c8a1a6ff2997da3a6 (para_value_get) properties write, notify javascript.3 2020-07-27 21:14:47.889 info (31334) script.js.Testscripte.Peripheral_explorer: ebe0ccd87a0a4b0c8a1a6ff2997da3a6 (set conn interval) properties write javascript.3 2020-07-27 21:14:47.829 info (31334) script.js.Testscripte.Peripheral_explorer: ebe0ccd77a0a4b0c8a1a6ff2997da3a6 (comfortable temp and humi) properties read, write value 8c0a6c075514 | ' lU' javascript.3 2020-07-27 21:14:47.709 info (31334) script.js.Testscripte.Peripheral_explorer: ebe0ccd47a0a4b0c8a1a6ff2997da3a6 (display all) properties write javascript.3 2020-07-27 21:14:47.649 info (31334) script.js.Testscripte.Peripheral_explorer: ebe0ccd17a0a4b0c8a1a6ff2997da3a6 (clear data) properties write javascript.3 2020-07-27 21:14:47.589 info (31334) script.js.Testscripte.Peripheral_explorer: ebe0ccc87a0a4b0c8a1a6ff2997da3a6 (disconnect) properties write javascript.3 2020-07-27 21:14:47.530 info (31334) script.js.Testscripte.Peripheral_explorer: ebe0ccc47a0a4b0c8a1a6ff2997da3a6 (Batt) properties read value 64 | 'd' javascript.3 2020-07-27 21:14:47.433 info (31334) script.js.Testscripte.Peripheral_explorer: ebe0ccc17a0a4b0c8a1a6ff2997da3a6 (Temperature and Humidity) properties read, notify value 000000 | '' javascript.3 2020-07-27 21:14:47.276 info (31334) script.js.Testscripte.Peripheral_explorer: ebe0ccbe7a0a4b0c8a1a6ff2997da3a6 (Temperature Uint) properties read, write value 00 | '' javascript.3 2020-07-27 21:14:47.154 info (31334) script.js.Testscripte.Peripheral_explorer: ebe0ccbc7a0a4b0c8a1a6ff2997da3a6 (Data Notify) properties notify javascript.3 2020-07-27 21:14:47.065 info (31334) script.js.Testscripte.Peripheral_explorer: ebe0ccbb7a0a4b0c8a1a6ff2997da3a6 (Data Read) properties read value 51000000208104001d0142e10033 | 'Q Ba3' javascript.3 2020-07-27 21:14:46.975 info (31334) script.js.Testscripte.Peripheral_explorer: ebe0ccba7a0a4b0c8a1a6ff2997da3a6 (Index) properties read, write value 00000000 | '' javascript.3 2020-07-27 21:14:46.884 info (31334) script.js.Testscripte.Peripheral_explorer: ebe0ccb97a0a4b0c8a1a6ff2997da3a6 (Data Count) properties read value 5100000052000000 | 'QR' javascript.3 2020-07-27 21:14:46.794 info (31334) script.js.Testscripte.Peripheral_explorer: ebe0ccb77a0a4b0c8a1a6ff2997da3a6 (Time) properties read, write value 7b860400 | '{' javascript.3 2020-07-27 21:14:46.247 info (31334) script.js.Testscripte.Peripheral_explorer: ebe0ccb07a0a4b0c8a1a6ff2997da3a6 javascript.3 2020-07-27 21:14:46.246 info (31334) script.js.Testscripte.Peripheral_explorer: 000102030405060708090a0b0c0d2b12 (OTA) properties read, writeWithoutResponse value 00 | '' javascript.3 2020-07-27 21:14:46.076 info (31334) script.js.Testscripte.Peripheral_explorer: 000102030405060708090a0b0c0d1912 javascript.3 2020-07-27 21:14:46.074 info (31334) script.js.Testscripte.Peripheral_explorer: 2a19 (Battery Level) properties read, notify value 63 | 'c' javascript.3 2020-07-27 21:14:45.962 info (31334) script.js.Testscripte.Peripheral_explorer: 180f (Battery Service) javascript.3 2020-07-27 21:14:45.961 info (31334) script.js.Testscripte.Peripheral_explorer: 2a29 (Manufacturer Name String) properties read value 6d69616f6d69616f63652e636f6d00 | 'miaomiaoce.com' javascript.3 2020-07-27 21:14:45.895 info (31334) script.js.Testscripte.Peripheral_explorer: 2a28 (Software Revision String) properties read value 3030313000 | '0010' javascript.3 2020-07-27 21:14:45.834 info (31334) script.js.Testscripte.Peripheral_explorer: 2a27 (Hardware Revision String) properties read value 565f3134 | 'V_14' javascript.3 2020-07-27 21:14:45.759 info (31334) script.js.Testscripte.Peripheral_explorer: 2a26 (Firmware Revision String) properties read value 312e302e305f3030313000 | '1.0.0_0010' javascript.3 2020-07-27 21:14:45.698 info (31334) script.js.Testscripte.Peripheral_explorer: 2a25 (Serial Number String) properties read value 472d31392d303030303030303030303030303030 | 'G-19-000000000000000' javascript.3 2020-07-27 21:14:45.639 info (31334) script.js.Testscripte.Peripheral_explorer: 2a24 (Model Number String) properties read value 4d484f2d4334303100 | 'MHO-C401' javascript.3 2020-07-27 21:14:45.526 info (31334) script.js.Testscripte.Peripheral_explorer: 180a (Device Information) javascript.3 2020-07-27 21:14:45.524 info (31334) script.js.Testscripte.Peripheral_explorer: 2a05 (Service Changed) properties indicate javascript.3 2020-07-27 21:14:45.431 info (31334) script.js.Testscripte.Peripheral_explorer: 1801 (Generic Attribute) javascript.3 2020-07-27 21:14:45.428 info (31334) script.js.Testscripte.Peripheral_explorer: 2a04 (Peripheral Preferred Connection Parameters) properties read value 140028000000e803 | '(h' javascript.3 2020-07-27 21:14:45.370 info (31334) script.js.Testscripte.Peripheral_explorer: 2a01 (Appearance) properties read value 0000 | '' javascript.3 2020-07-27 21:14:45.298 info (31334) script.js.Testscripte.Peripheral_explorer: 2a00 (Device Name) properties read, notify value 4d484f2d4334303100 | 'MHO-C401' javascript.3 2020-07-27 21:14:45.182 info (31334) script.js.Testscripte.Peripheral_explorer: 1800 (Generic Access) javascript.3 2020-07-27 21:14:43.122 info (31334) script.js.Testscripte.Peripheral_explorer: services and characteristics: javascript.3 2020-07-27 21:14:43.120 info (31334) script.js.Testscripte.Peripheral_explorer: undefined javascript.3 2020-07-27 21:14:43.119 info (31334) script.js.Testscripte.Peripheral_explorer: Service UUIDs = javascript.3 2020-07-27 21:14:43.117 info (31334) script.js.Testscripte.Peripheral_explorer: Service Data = [ { "uuid": "fe95", "data": { "type": "Buffer", "data": [ 48, 88, 135, 3, javascript.3 2020-07-27 21:14:43.116 info (31334) script.js.Testscripte.Peripheral_explorer: Local Name = MHO-C401 javascript.3 2020-07-27 21:14:43.115 info (31334) script.js.Testscripte.Peripheral_explorer: peripheral with ID a4c138dd5999 found
kann man mit den Daten was anfangen bzw. bin ich auf dem richtigen (Holz)Weg?
-
Habe folgendes gefunden:
https://www.room-assistant.io/integrations/xiaomi-mi.html#encryption
Vielleicht hilft das. Scheint sehr kompliziert zu sein, den Key zu bekommen, mit dem jedes Gerät die Daten verschlüsselt.