NEWS
Test Adapter BLE v0.12.x
-
@crunchip Leider nein
-
@AlCalzone
ich hab jetzt mal etwas getestet, bin wieder auf die 0.11.8 zurück, natürlich keine Besserung.
Nun hab ich mal den radar2 Adapter deaktiviert, ble(driveState) läuft nun sauber, auch nach einem neustart, des ble, bleibt es einmalig bei einem scan Vorgang. Also muss da der radar2 mit reinfunken.Dementsprechend hab ich ne Vermutung/Frage,
kann es sein, das irgendwo im System was hängen geblieben ist und nicht richtig verarbeitet wurde,
da ich, als ich auf die v0.12 bin, zeitgleich, hci0/1 beider Adapter getauscht hatte. Allerdings waren für die Änderung beide Adapter gestoppt.
Ich beobachte das nun mal, scheinbar stimmt da etwas beim radar2 Adapter nicht. Denn dort habe ich hci1 eingestellt in der Config,
jedoch im log sehe ichradar2.0 2020-12-30 16:02:18.831 info (8055) Will try to scan BT devices: hci1 94:E6:F7:B0:5E:22 hci0 00:1A:7D:DA:71:0E
-
@crunchip sagte in Test Adapter BLE v0.12.x:
Ich beobachte das nun mal, scheinbar stimmt da etwas beim radar2 Adapter nicht. Denn dort habe ich hci1 eingestellt in der Config,
jedoch im log sehe ichDas sieht ganz so aus als würde der radar2 die Einstellung nicht beachten.
-
Hey,
ich hatte es glaube ich schon mal vor 1-2 Jahren gefragt, aber gibt es wirklich keine Möglichkeit die Bluetooth-Schnittstelle eines anderen Hosts zu nutzen? Also z.B. über SSH.Hintergrund ist, dass bei mir iobroker in einem Docker Container läuft. Und Docker hat leider keinen Zugriff auf die BT-Schnittstelle.
-
@Holzlenkrad Mir ist keine bekannt. Wenn Google dir was anderes ausspuckt, lass es mich gerne wissen
-
Ich weiß leider nicht wie genau dein Adapter funktioniert. Evtl. wäre es möglich, die dafür nötigen Executables per SSH auf einem anderen Host auszuführen.
Meine derzeitige Lösung nutzt einfach bluez zur Kommunikation mit dem BLE Thermometer und das sieht dann so aus:
"ssh root@192.168.0.2 'bluez ...'" -
@Holzlenkrad Ich nutze intern die
noble
Library, da hab ich wenig Einfluss was intern passiert.
Hast du mal über Multihost nachgedacht? Ich hab ioBroker BLE auf nem Pi Zero W laufen, um Empfangsproblemen im Haus entgegen zu wirken. -
Ich habe mal eine Frage
Kann ich diesen Adapter für eine Anwesenheitserkennung mit einem Xiomi Mi Band 5 und einer Apple Watch nutzen
Wenn Ja wie bekomme ich die Beiden Geräte rein?
Danke im Voraus
Gruß
Marcel -
@Wszene
ble.0.options.allowNewDevices
muss dafür auftrue
stehen (bitte danach wieder ausschalten!)
Vermutlich muss auch diese Option in den Einstellungen gesetzt sein:
-
@AlCalzone
Danke genau das habe ich gemacht
Es werden gefühlt 1000 Geräte gefunden
Aber eine Apple Watch ist nicht dabei
Das Mi Band 5 meiner Frau wurde gefundenDie nächste Frage die ich mir stelle ist wie kann ich dann mit den Datenpunkte sehen wann Jemand da ist oder nicht
-
@Wszene Such mal im Forum, es gibt Skripte hierfür. Meist wird geschaut, ob RSSI (Signalstärke) länger nicht aktualisiert wurde, dann ist das Gerät abwesend.
-
@alcalzone Keine Ahnung ob das der passende Thread für mein Problem ist, aber da ich den BLE 0.12 nutze schreibe ich es mal hier rein.
Es geht um die runden BLE Thermometer/Hygrometer mit e-Ink Display.
Ich hatte mir vor Weihnachten diese mit HomeKit Unterstützung bestellt:
https://www.amazon.de/gp/product/B08HN15N6J/ref=ppx_yo_dt_b_asin_title_o07_s00?ie=UTF8&psc=1
Werden zwar als Cleargrass beworben, auf den Geräten steht aber Qinping.Wollte die parallel über ioBroker auslesen für Automatisierungen und Grafana Plots bekomme sie aber nicht über deinen Adater eingebunden:
Hatte dir dazu auch schon mal auf Github was geschrieben.
Habe mir jetzt zum Testen auch einen ohne HomeKit Unterstützung gekauft:
https://www.amazon.de/gp/product/B08L4S5V4Y/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1
Heißt wieder Cleargrass, dieses mal M-Version an Stelle von H-Version, auf dem Geräte steht aber wieder Qinping. Es ist in der Tat nicht HomeKit kompatibel und lässt sich anders als die H-Version mit der Xiaomi Home App verbinden und auslesen.In ioBroker bekomme ich schon mal 2 services fdcd und fe95 angezeigt aber immer noch keine Temperatur und Luftfeuchtigkeit.
Die 58:2D:34 ist ja angeblich ab der 0.7.2 eingetragen, d.h. das Gerät müsste als ein MiTemperature Gerät erkannt werden.
Hast du eine Idee, woran es liegt, dass ich keine Werte angezeigt bekomme?
-
@pgbroker said in Test Adapter BLE v0.12.x:
Unterstützung gekauft:
Hast du das Xiaomi Plugin im Adapter aktiviert?
-
@rushmed Ja, habe ich.
-
@pgbroker Poste mir bitte mal die vollständigen Werte. Mit halb abgeschnitten Strings in Screenshots kann ich nichts anfangen.
-
@alcalzone Hi. Habe noch ein bischen im Internet recherchiert und folgenden Link gefunden:
https://github.com/alexvenom/XiaomiCleargrassInkDislpay/blob/master/XiaomiClearGrassInk.js
Darin steht, dass alle Informationen im service "FDCD" stehen und auch, was sie bedeuten:
/* All the information is in this Property called "FDCD" on the advertising data. The HEX string is as follows: "0807453810342d580104f500da02020145" (quotes included) To which: 0807 or 0801: Ignore, but useful to identify relevant data 453810342d58: MAC address, INVERTED (58:2d:34:10:38:45) 0104f500da02: Data for Temperature and Humidity, broken as follows - 01: Indicates the Temperature and Humidity events - 04: Event data length (4, 2 bytes for Temperature, 2 bytes for Humidity) - f500: Temperature data inverted (00f5), which translates to 245, equivalent to 24.5C - da02: Humitity data inverted (02da), which translates to 730, equivalent to 73.0% 020145: Data for Battery, bronek as follows - 02: Indicates the Battery events - 01: Event data length (1 byte) - 45: Battery data, which translates to 69, equivalent to 69%
Habe das eben mal mit meinem Teil nachgerechnet.
Aktueller Wert in fdcd: 8816 790812342d58 01 04 bb00 5e01 020164
Aufgedröselt nach obiger Beschreibung ergibt das:
8816 - Irgend was
790812342d58 - MAC Adresse umgedreht, passt.
01 04 - irgendwelche Events
bb00 - x00bb sind 187 entspricht 18,7°C
5e01 - x015e sind 350 entspricht 35%
020164 - relevant ist nur x64 entspricht 100%und der Sensor zeigt an: 18,7°C, 35% Luftfeuchtigkeit und volle Batterie.
Ich würde sagen, das passt exakt.
So wie ich das sehe, braucht es zum Auslesen ein eigenes Plugin, denn das Xiaomi Plugin erwartet die Daten im Service "fe95".
Die Daten aus dem Service String rauszuparsen ist eigentlich simpel (s. obigen Link):
if (JSON.stringify(serviceData[i].uuid).includes('fdcd')){ stringAdvertise = JSON.stringify(serviceData[i].data.toString('hex')) temp = parseInt(stringAdvertise.substring(23, 25) + stringAdvertise.substring(21, 23), 16) console.log('Temp: ' + temp/10 + 'ºC') humidity = parseInt(stringAdvertise.substring(27, 29) + stringAdvertise.substring(25, 27), 16) console.log('Humidity: ' + humidity/10 + '%') battery = parseInt(stringAdvertise.substring(33, 35), 16) console.log('Battery: ' + battery + '%') console.log('') }
-
Ja, sieht aus als müsste das Paket leicht anders geparst werden. Die Event IDs (z.b. 0104) haben sich auch geändert im Vergleich Xiaomi-Plugin.
Könntest du mir diese Infos in ein Issue in Github kopieren, damit ich es nicht vergesse?
-
Huhu...Ich nenne eine Krups Küchenmaschine mit Bluetooth mein Eigen. Man kann sie mit der gleichnamigen App per Bluetooth verbinden. Wie bekomme einzelne Datenpunkte wie Start oder Fertig in den Iobroker ?
-
@haselchen Schwierig, insbesondere weil die meisten Apps aktiv verbinden. Dazu musst du das Protokoll kennen - welche Charakteristiken genutzt werden, wie die Befehle und Daten formatiert sind, wie sie ausgetauscht werden...
Ich hab das für meine Kaffeemaschine mal angefangen. Alleine das Reverse-Engineering der Befehle hat mich einige Wochenenden gekostet. Im Adapter implementiert ist es noch nicht, zumal hier noch Verbindungen verwaltet werden müssen. Während die aktiv sind, können keine anderen Daten ausgewertet werden. Mit ein Grund, warum der Adapter derzeit nur lauscht und keine aktiven Verbindungen macht.Dass die unterstützten Sensoren dauerhaft von sich aus Daten senden, ist eher ein angenehmer Zufall.
-
Ich habe auch seit Wochen kein Update meiner Xiaomi Sensoren bekommen und wollte mal schauen was da schon wieder los ist.
Da ist mir auch aufgefallen dass in den Objekten DriverState auf "poweredOff" steht.
Der Adapter ist aber grün. Ich hatte jetzt die Sensoren aus den Objekten gelöscht, es werden keine gefunden. Xiami Plugin steht drin.Irgendwie gab es zu dem poweredOff-Problem keine wirkliche Lösung, oder?