NEWS
BLE Adapter
-
@AlCalzone sagte in BLE Adapter:
@Lenny-CB Schick mir bitte mal den String, ich schau mal ob sich das auch parsen lässt.
alles klar...
hier der String: 303247031ad34d10342d580d -
@Lenny-CB sagte in BLE Adapter:
@AlCalzone sagte in BLE Adapter:
@Lenny-CB Schick mir bitte mal den String, ich schau mal ob sich das auch parsen lässt.
alles klar...
hier der String: 303247031ad34d10342d580d@AlCalzone Hallo, konntest hier schon was in Erfahrung bringen?
-
@AlCalzone grad wieder was neues ausgepackt.
fdcd --> 0809aa0040342d580104d000e9010702bd27020156
fe95 kommt leider nicht.hast du einen Link zur einer Anleitung zum "selbst parsen"?
-
Hallo
Könnte mich hier jemand an die Hand nehmen und zeigen, wie ich das weiter analysieren kann für meine LED Panels?
Der Log als "Abfrage" aller Characteristics ist ja das eine - leider weiss ich nicht, wie ich die Commands mitsniffen kann um zu sehen, wie die Befehle gesendet werden.Gruss -
@adarof sagte in BLE Adapter:
Hallo
Meine LED Panels scheinen mir auch BLE zu machen. Dump von nRF Connect unten.Gäbe es eine Möglichkeit die im BLE-Adapter auch bekannt zu machen?
Ich könnte dann ja erstmal nur lesen (wenn ich rausbekomme, wie die READ-Services zu dekodieren sind - ich denke dadrüber bekomme ich die RGB Werte sowie Helligkeitswerte) und später vielleicht durch ausprobieren auch die WRITE-Services (auch wenn der Adapter gerade noch garkein Write unterstützt).Gruss -
nRF Connect, 2019-05-04 telink_mesh1 (A4:C1:38:28:A4:0D) V 07:56:30.372 Connecting to A4:C1:38:28:A4:0D... D 07:56:30.373 gatt = device.connectGatt(autoConnect = false, TRANSPORT_LE) (hidden) D 07:56:30.765 [Callback] Connection state changed with status: 0 and new state: CONNECTED (2) I 07:56:30.766 Connected to A4:C1:38:28:A4:0D D 07:56:30.788 [Broadcast] Action received: android.bluetooth.device.action.ACL_CONNECTED V 07:56:30.834 Discovering services... D 07:56:30.834 gatt.discoverServices() D 07:56:31.613 [Callback] Services discovered with status: 0 I 07:56:31.613 Services discovered V 07:56:31.645 Generic Access (0x1800) - Device Name [R] (0x2A00) Characteristic User Description (0x2901) - Appearance [R] (0x2A01) Device Information (0x180A) - Firmware Revision String [R] (0x2A26) - Manufacturer Name String [R] (0x2A29) - Model Number String [R] (0x2A24) - Hardware Revision String [R] (0x2A27) Unknown Service (00010203-0405-0607-0809-0a0b0c0d1910) - Unknown Characteristic [N R W] (00010203-0405-0607-0809-0a0b0c0d1911) Characteristic User Description (0x2901) - Unknown Characteristic [R W WNR] (00010203-0405-0607-0809-0a0b0c0d1912) Characteristic User Description (0x2901) - Unknown Characteristic [R WNR] (00010203-0405-0607-0809-0a0b0c0d1913) Characteristic User Description (0x2901) - Unknown Characteristic [R W] (00010203-0405-0607-0809-0a0b0c0d1914) Characteristic User Description (0x2901) V 07:56:54.271 Beginning reliable write... D 07:56:54.271 gatt.beginReliableWrite() V 07:57:06.019 Reading remote RSSI... D 07:57:06.019 gatt.readRemoteRssi() I 07:57:06.042 Remote RSSI received: -69 dBm V 07:57:09.808 Reading all characteristics... V 07:57:09.809 Reading characteristic 00002a00-0000-1000-8000-00805f9b34fb D 07:57:09.809 gatt.readCharacteristic(00002a00-0000-1000-8000-00805f9b34fb) I 07:57:09.869 Read Response received from 00002a00-0000-1000-8000-00805f9b34fb, value: (0x) 54-65-6C-69-6E-6B-20-74-4C-69-67-68-74-00 A 07:57:09.869 "Telink tLight " received V 07:57:09.888 Reading characteristic 00002a01-0000-1000-8000-00805f9b34fb D 07:57:09.888 gatt.readCharacteristic(00002a01-0000-1000-8000-00805f9b34fb) I 07:57:09.953 Read Response received from 00002a01-0000-1000-8000-00805f9b34fb, value: (0x) 00-00 A 07:57:09.953 "[0] Unknown" received V 07:57:09.973 Reading characteristic 00002a26-0000-1000-8000-00805f9b34fb D 07:57:09.973 gatt.readCharacteristic(00002a26-0000-1000-8000-00805f9b34fb) I 07:57:10.143 Read Response received from 00002a26-0000-1000-8000-00805f9b34fb, value: (0x) 56-31-2E-36-00-00-00-00-00-00-00-00 A 07:57:10.143 "V1.6 " received V 07:57:10.160 Reading characteristic 00002a29-0000-1000-8000-00805f9b34fb D 07:57:10.160 gatt.readCharacteristic(00002a29-0000-1000-8000-00805f9b34fb) I 07:57:10.262 Read Response received from 00002a29-0000-1000-8000-00805f9b34fb, value: (0x) 74-65-6C-69-6E-6B-5F-6D-65-73-68-31-00 A 07:57:10.262 "telink_mesh1 " received V 07:57:10.275 Reading characteristic 00002a24-0000-1000-8000-00805f9b34fb D 07:57:10.275 gatt.readCharacteristic(00002a24-0000-1000-8000-00805f9b34fb) I 07:57:10.342 Read Response received from 00002a24-0000-1000-8000-00805f9b34fb, value: (0x) 6D-6F-64-65-6C-20-69-64-20-31-32-33-00 A 07:57:10.342 "model id 123 " received V 07:57:10.358 Reading characteristic 00002a27-0000-1000-8000-00805f9b34fb D 07:57:10.358 gatt.readCharacteristic(00002a27-0000-1000-8000-00805f9b34fb) I 07:57:10.422 Read Response received from 00002a27-0000-1000-8000-00805f9b34fb, value: (0x) 22-22-22-22, """""" A 07:57:10.422 """""" received V 07:57:10.435 Reading characteristic 00010203-0405-0607-0809-0a0b0c0d1911 D 07:57:10.435 gatt.readCharacteristic(00010203-0405-0607-0809-0a0b0c0d1911) I 07:57:10.544 Read Response received from 00010203-0405-0607-0809-0a0b0c0d1911, value: (0x) 00 A 07:57:10.544 "(0x) 00" received V 07:57:10.566 Reading characteristic 00010203-0405-0607-0809-0a0b0c0d1912 D 07:57:10.566 gatt.readCharacteristic(00010203-0405-0607-0809-0a0b0c0d1912) I 07:57:10.622 Read Response received from 00010203-0405-0607-0809-0a0b0c0d1912, value: (0x) 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 A 07:57:10.622 "(0x) 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00" received V 07:57:10.648 Reading characteristic 00010203-0405-0607-0809-0a0b0c0d1913 D 07:57:10.648 gatt.readCharacteristic(00010203-0405-0607-0809-0a0b0c0d1913) I 07:57:10.743 Read Response received from 00010203-0405-0607-0809-0a0b0c0d1913, value: (0x) E0-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 A 07:57:10.743 "(0x) E0-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00" received V 07:57:10.755 Reading characteristic 00010203-0405-0607-0809-0a0b0c0d1914 D 07:57:10.755 gatt.readCharacteristic(00010203-0405-0607-0809-0a0b0c0d1914) I 07:57:10.822 Read Response received from 00010203-0405-0607-0809-0a0b0c0d1914, value: (0x) 00-72-B4-14-60-83-FE-C3-5A-4D-A8-5D-CB-2D-1A-88-BF A 07:57:10.822 "(0x) 00-72-B4-14-60-83-FE-C3-5A-4D-A8-5D-CB-2D-1A-88-BF" received V 07:57:10.835 10 characteristics read D 07:58:43.455 [Callback] Connection state changed with status: 8 and new state: DISCONNECTED (0) E 07:58:43.460 Error 8 (0x8): GATT CONN TIMEOUT I 07:58:43.460 Disconnected D 07:58:43.650 [Broadcast] Action received: android.bluetooth.device.action.ACL_DISCONNECTED
-
@adarof Sobald es um lesen/schreiben von Characteristics geht, muss der Adapter bisher passen. Das ist noch nicht implementiert.
-
@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?