NEWS
G-Tag, IBeacon, Anwesenheitserkennung
-
@marsmännchen
Danke fürs Feedback. Habe hier jetzt auch ein paar Beacons bestellt und einen ESP32. Damit wollte ich mal testen. Falls ich es noch sinnvoll schaffe die Smartphones auch mit zu scannen, kann eine redundante Lösung ja nicht schaden.Welche Software verwendest Du auf dem ESP32? Ich finde sehr viele Skripte und Github-Code. Bin da nicht so ein großer Freund und würde lieber eine ständig gepflegte Lösung verwenden. Glaube gelesen zu haben, dass Tasmota für diesen Zweck auch möglich ist?
Welche Reichweiten schaffst Du bei Dir um die Beacons zu erkennen und welche maximale Zeitverzögerung hast Du um gesichert Anwesenheit erkennen zu können?
Dein blockly oben deutet auf 60 Sekunden hin.
Würde ungern den Alarm der Alarmanlage noch länger verzögern. -
@dieter_p ich verwende esphome Adapter, die Reichweite ist so ca. 20meter.esp32 ist im innenraum, Eingangs Bereich. Die Zeit von 60sekunden ist ausreichend für mich. Habe noch nicht daran rumgespielt.Das auslesen des Handys mit Bluetooth stell ich mir mit esphome nicht viel anders vor, brauchst nur die Mac Adresse des Bluetooth.
-
@marsmännchen
Danke. Das klingt vielversprechend und wäre genau das was ich suche. -
Habe nun erste Versuche mit ESP32 und ESPHome gemacht aber scheine da noch ein Format Verständnis Problem zu haben. Meine Beacons sind noch nicht da aber auch sonst wäre die Android App "Beacon Simulator" eine schöne dauerhafte Ergänzung.
Kann mir jemand sagen was hier mit der UUID eines iBeacon gemacht wird?
Über Online Converter (Hex zu String o.ä.) oder die verschiedenen Typen UUID vs. GUID etc. bin ich nicht schlau draus geworden:Im Simulator/App benutzt:
Im Code von ESPHome jedoch so detektiert:
esp32_ble_tracker: on_ble_advertise: - then: # - if: # condition: # lambda: |- # for (auto data : x.get_manufacturer_datas()) { # return (strcmp(hexencode(data.data).c_str(), "02.15.2B.9E.6A.0A.14.92.41.74.AC.06.26.7B.BB.4B.B0.50.00.00.00.00.BF (23)") == 0); # } # return false; # then: - lambda: |- ESP_LOGD("ble_adv", "New BLE device"); ESP_LOGD("ble_adv", " rssi: %d", x.get_rssi()); ESP_LOGD("ble_adv", " Advertised manufacturer data:"); for (auto data : x.get_manufacturer_datas()) { ESP_LOGD("ble_adv", " - %s", hexencode(data.data).c_str()); if (strcmp(hexencode(data.data).c_str(), "02.15.2B.9E.6A.0A.14.92.41.74.AC.06.26.7B.BB.4B.B0.50.00.00.00.00.BF (23)") == 0) { ESP_LOGD("ble_adv", "in if"); } }
Oder kurz: wie wird aus iBeacon UUID:
2b9e6a0a-1492-4174-ac06-267bbb4bb050
02.15.2B.9E.6A.0A.14.92.41.74.AC.06.26.7B.BB.4B.B0.50.00.00.00.00.BF
Thx!
-
Lange rumprobiert und nun ist es nutzbar. Für Interessierte:
Der Code oben scheint mir nur bestimme Bestandteile des Bluetooth BLE Datenpakets auszufilter.
Nutzt man als Beispiel diesen Code in ESPHome:
esp32_ble_tracker: on_ble_advertise: - then: - lambda: |- bool redmi_note_9_pro_status = false; for (auto data : x.get_manufacturer_datas()) { if (strcmp(hexencode(data.data).c_str(), "02.15.49.01.F3.6B.E9.1A.44.B7.B3.62.FF.2E.B6.43.05.04.00.00.00.00.BF (23)") == 0) { ESP_LOGD("ble_adv", "redmi_note_9_pro found"); redmi_note_9_pro_status = true; } ESP_LOGD("ble_adv", " - %s", hexencode(data.data).c_str()); } id(redmi_note_9_pro).publish_state(redmi_note_9_pro_status); binary_sensor: - platform: template device_class: presence name: "Redmi Note 9 Pro BLE presence" id: redmi_note_9_pro filters: - delayed_off: 3s
Bekommt man im Logging Fenster viel mehr Informationen wie Manufacturer DATA wenn man mit der App Beacon Simulator sendet, aber auch die änderbare UUID. ACHTUNG! im Logging Fenster ist die UUID in umgekehrter Reihenfolge geschrieben!
[13:37:18][VV][esp32_ble_tracker:493]: Parse Result: [13:37:18][VV][esp32_ble_tracker:510]: Address: 5C:86:26:05:12:C0 (RANDOM) [13:37:18][VV][esp32_ble_tracker:512]: RSSI: -83 [13:37:18][VV][esp32_ble_tracker:513]: Name: '' [13:37:18][VV][esp32_ble_tracker:527]: Manufacturer data: 02.15.B3.6E.AB.BD.56.CA.48.6E.9E.F4.C9.2D.AC.F7.9B.5F.00.00.00.00.BF (23) [13:37:18][VV][esp32_ble_tracker:530]: iBeacon data: [13:37:18][VV][esp32_ble_tracker:531]: UUID: 5D9BF7AC-2DC9-F49E-6E48-CA56BDAB6EB3 [13:37:18][VV][esp32_ble_tracker:532]: Major: 0 [13:37:18][VV][esp32_ble_tracker:533]: Minor: 0 [13:37:18][VV][esp32_ble_tracker:534]: TXPower: -65 [13:37:18][VV][esp32_ble_tracker:543]: Adv data: 1A.FF.4C.00.02.15.B3.6E.AB.BD.56.CA.48.6E.9E.F4.C9.2D.AC.F7.9B.5F.00.00.00.00.BF (27) [13:37:18][D][ble_adv:070]: google_pixel_4a found [13:37:18][D][ble_adv:073]: - 02.15.B3.6E.AB.BD.56.CA.48.6E.9E.F4.C9.2D.AC.F7.9B.5F.00.00.00.00.BF (23)
So lässt sich mit diesem Code die richtigen "IDs" für das eigene Telefon finden und dann der Code in ESPHome anpassen, dass dort bei Präsenz der Datenpunkt in IObroker auch gesetzt wird.
Jetzt noch etwas mit der Delay_Off Zeit spielen, damit es weniger sensibel reagiert.
-
@dieter_p
Ich beobachte das ESPHome AddOn für den ioBroker schon lange bei Github, jedoch ist es bisher noch nicht in den "Stable"-Modus gewechselt, damit es im AddOn-Reporisitory auftaucht. Eine Anfrage über GitHub beim Entwickler ergab die Antwort, das er da noch zwei Änderungen machen muss und das war bereits vor einem Jahr. Direkt wollte ich mir das AddOn on Github nicht installieren, da ich mir mit sowas schon mal die aktuelle Produktivumgebung zerschossen hatte.Solange also das AddOn nicht regelmäßig gepflegt wird, behelfe ich mich selber mit Tasmota und einem ESP32, um die G-Tags zu tracken, funktioniert auch bisher ganz praktikabel in Kombination ioBroker ...
-
viele Wege führen nach Rom....
Mindestens seit Jan 2022 läuft das bei mir absolute Problemlos. Habe inzwischen auch klare Favoriten bei den Beacons gefunden. Bei den G-Tags konnte ich nie finden was drinsteckt und Nordic Data (nrf... Chips) Versionen haben mich im Vergleich bzgl. Batterielaufzeit nicht überzeugt und mit voller Sendeleistung ist der Feasycom FSC-BP103B mit Dialog Semiconductor Chip mein Favorit.
Bzgl. ESPHome bin ich nicht wirklich von der Implementierung angetan. Mir kommt das bzgl. installation mit benötigtem Python sehr "zusammengebastelt" vor, dass ich als Nichtwissender bei kleinsten Abweichungen schnell in Sackgassen laufe. Entsprechend stört mich auch, das im Fall von Updates für eines dieser Komponenten schon das ganze Konstrukt ins Wanken geraten kann. Ist halt irgendwie nicht "aus einem Guss" die ESPHome IOBroker Integration wie ich sie empfinde. Deswegen habe ich auch meine weiteren bestehenden ESPs auf ESPEasy weiter gelassen, da dies absolute gut läuft. ESPEasy war nur bzgl. BLE Erkennung schwierig etwas zu finden und dort umzusetzen.
-
Hallo zusammen
Ich habe da eine Frage zu den Einstellungen.
Meine iobroker installation habe ich von der Synology VM auf Proxmox umgezogen. Das ganze läuft dort auf einer VM unter Ubuntu. Irgendwie zickt seit daher der Radar2.0 Adapter.Ich benutze einen USB Dongle , diese tracken meinen Gigaset G-Tag.
Was muss ich bei den Einstellungen anwählen?
- hcitool lescan anstelle von "Noble" verwenden
Muss ich diese Option anwählen oder nicht?
Irgendwie geht es mit beiden, jedoch läuft es nicht so zuverlässlich. -
@dieter_p
Moin,
habe gerade folgende Aufgabe:
Momentan nutze ich homee, die Anwesenheit wird mir von einem Raspi-Z mit einer BLE-Software geliefert.
Als Beacons nutze ich die bekannten Gtags und bin eigentlich sehr zufrieden mit der Erkennung.
Nun bin ich auf homey umgestiegen der eigentlich BT on Board hat und auch eine App für die Presencemeldung via Beacons.
Meine Gtag funktionieren soweit - Aaaaber der homey hängt nicht so günstig wie der Raspi und soll wohl auch nicht so gut mit dem BT-Empfang sein (Ist aber ein Raspi CM4 drin).
Den homey kann ich leider nicht anders platzieren.
Also entweder ich besorge mir mal andere Beacons - der von dir erwähnte FSC-BP103B??
Ist der Empfang wirklich besser als der Gtag ?
Oder ich stelle meinen IOBroker an die Stelle wo der Raspi-Z steht und mache gleich die Presence-Geschichte darüber. Wäre dann ein Gerät weniger.
Wie funktioniert denn eigentlich der Radar2 - Adapter?
Ich muß für An und Abmeldung ein Webhook an den homey senden - geht das??
Danke für die Antwort - Grüße -
@friedhofsblond said in G-Tag, IBeacon, Anwesenheitserkennung:
@dieter_p
Also entweder ich besorge mir mal andere Beacons - der von dir erwähnte FSC-BP103B??
Ist der Empfang wirklich besser als der Gtag ?Den Direktvergleich habe ich wegen mangelnder G-Tags nie durchgeführt.
Ich hatte und habe nur den Eindruck, dass der verbaute DA14531 Chipsatz wirklich wie beworben sehr stromsparend ist.
Über die Konfiguration lässt sich auch die Sendeleistung bis 2dBm maximal einstellen. Für meine Zwecke war das ok/gut und liefert auch bessere Empfangswerte bei meinem Scanner/Empfänger.
Da das für mich aber alles "Feldversuche" sind bin ich sehr vorsichtig mit repräsentativen Aussagen.Mein FSC-BP103B ist aktuell auch nicht mehr in Betrieb und wurde gegen FSC-BP108 getauscht.
Als Problemquelle hat sich aber Mitlerweile der eingebaute PushButton herausgestellt. Drückt man den zu lange unbeabsichtigt, geht der Beacon aus. Das passiert am Schlüsselbund doch recht einfach. Hab den Push-Buttons nun Innen mit gerolltem Isolierband mechanisch "gesperrt" und seitdem funktioniert alles tip top.Den Radar2-Adapter habe ich mal kurz getestet, funktionierte aber da mein RPI örtlich nicht optimal steht, scanne ich lieber mit einen ESP32 direkt vor Ort und das klappt nun wieder einwandfrei!
-
@dieter_p sagte in G-Tag, IBeacon, Anwesenheitserkennung:
FSC-BP108
Moin,
Danke für den Bericht.
Wo hast du die Beacons bestellt - ich habe nur China gefunden ??
Ich wollte erstmal versuchen homey nativ mit einem stärkeren Beacon zu verbinden.
Ansonsten Plan B über den ioserver - da gibts aber auch wieder Baustellen mit dem NUC usw...PS: Die Gtags haben einen DA14580 Bluetooth Low Energy 4.2 SoC, die FSC einen DA14531 Ultra Low Power Bluetooth 5.1 SoC
-
@friedhofsblond said in G-Tag, IBeacon, Anwesenheitserkennung:
@dieter_p sagte in G-Tag, IBeacon, Anwesenheitserkennung:
FSC-BP108
Moin,
Danke für den Bericht.
Wo hast du die Beacons bestellt - ich habe nur China gefunden ??Moin,
einzige Quelle für mich Ali-Express. Die werden mir teilweise jetzt über die Choice-Angebote "angepriesen".
FSC-BP108 liegt ca. bei 19€ und den BP103N glaube ich damals um die 13€ inkl. Versand gekauft zu haben.
Bei den Choice-Angeboten wird meistens 14 Tage Lieferzeit geboten, von daher ist die Wartezeit noch erträglichDer Vertrieb ist übrigens recht engagiert, aber sobald klar ist, dass man nur Smart-Home-User ist und kein Abnehmer für eine Serienfertigung wird es schnell sparsam Aber immerhin wird eine App angeboten die auch auf aktuellem Android 13 läuft, das bietet nicht jeder China-Shop
Ich wollte erstmal versuchen homey nativ mit einem stärkeren Beacon zu verbinden.
Ansonsten Plan B über den ioserver - da gibts aber auch wieder Baustellen mit dem NUC usw...PS: Die Gtags haben einen DA14580 Bluetooth Low Energy 4.2 SoC, die FSC einen DA14531 Ultra Low Power Bluetooth 5.1 SoC
Ah cool. Danke! Die Info hab ich bei den GTags nie finden können.
-
@dieter_p
Nabend - nochmal zu dem FSC-BP108.
Kann man über die App auch die Sendestärke einstellen?
Falls das Feuer bis zur Nachbarstrasse leuchtet.Hast Du den FSC-BP108 oder FSC-BP108B - was ist der Unterschied?
FSC-BP108
FSC-BP108B -
puh, das mal wieder typisches China Wirr Warr
Ich dachte der Unterschied liegt darin, dass der 12€ Beacon einen Nordic Interface Chip hat. Gucke ich aber jetzt drauf finde ich genau den beim FSC-BP108N
Somit Deine Frage berechtigt. Schaue gleich mal meine Bestellhistorie durch.
Im Datenblatt auf Seite 4 die Angaben zur Batterielaufzeit gibt genau die möglichen Einstellungen in der App wieder.
Sende bei mir aktuell mit 0dBm und 550ms Zyklus was etwa 3,3 Jahre Batterielaufzeit ergibt.
Edit:
Der letzte war dieser FSC-BP108der zweite davor auch dieser FSC-BP108
Edit2: Stimmt der Preisunterschied war hauptsächlich durch kostenfreie Lieferung oder nicht. Der technische Unterschied FSC-BP108 vs. FSC-BP108B kann ich leider nicht sagen, aber solange "die" glauben Du bist ein potenter Kunde, gibt es flott Antworten vom Support
Ansonsten kommt man beim Ali ja gut mit Rabatt-Codes weiter. Ggf auch als Neukunde mit einer neuen Email -Adresse etwas ordern.
-
@dieter_p
Moin,
Bin schon im Kontakt mit dem Hersteller und habe nach dem Unterschied gefragt. Mal sehen was da kommt. -
@dieter_p
Moin,
sorry ich nochmal.
Habe die beiden Datenblätter nochmals verglichen.
Der 108 hat eine CE-Cert. und eine andere Antenne als der 108B.
Dafür steht extra beim 108B "Battery Replacement" - also Batterie austauschbar. Im Datenblatt wird auch ein Bild mit dem öffnen des Gehäuses angezeigt. - Beim 108 nicht.
Nun bin ich verunsichert.
Hast Du deinen 108 einfach öffnen können oder hast Du vielleicht doch einen 108B ??
Der Vertrieb dort antwortet auf solche Fragen leider nicht. - Schau ins Datenblatt !
(Der 103 hat eine geringere Reichweite) -
@friedhofsblond
Moin, dann hab ich zu 99,9% einen 108. Was sich ja auch mit meiner Bestellhistorie deckt.Ich hab mich bei Deiner aktuellen Verlinkung der Datenblätter schon über die "einfache" Anleitung zum Öffnen beim Batteriewechsel gewundert.
Wie berichtet, habe ich den Button mechanisch gesperrt und dazu den Beacon geöffnet. Entweder hab ich es nicht kappiert oder der 108 ist tatsächlich schwieriger zu öffnen. Um ehrlich zu sein, hatte ich schnell keinen Bock auf die Fummellei an diesem Einwegplastik und hab das Gehäuse in den Spalten mit einem Schraubendreher zum Öffnen bewegt. Da mir dieses Klick-Klack-Gehäuse eh dann am Schlüsselbund gegen unbeabsichtigtes Öffnen zu heikel erschien, dann einfach ein paar Streifen Tesafilm drum geklebt und es funktioniert tip top.
Per Tesafilm-Methode bekäme ich auch einen Batteriewechsel hin, aber erst mal abwarten was in 3 Jahren ist
Der 103 hat bei mir bzgl. SendeLeistung und Erkennung (Bereich 2-3m) sehr gut funktioniert. Er ist schon "schnukeliger" am Schlüsselbund und am Ende eine Sache was man bevorzugt...
-
@dieter_p
Moin,
habe jetzt meine FSC-BP108B bekommen.
In der App sind es aber die FSC-108 ohne "B" das wird sich wohl auf den Batteriewechsel beziehen.
So muß erstmal sehen was ich alles damit anstellen kann ... -
@friedhofsblond
Hab ja 2stk der 108 im Einsatz und einer war diese Woche wieder Offline. Als Ursache war es wieder die unbeabsichtigte Betätigung des Buttons und der Beacon war einfach aus. Hab ihn nun genau wie Beacon #1 geöffnet und den Button mit gerolltem TesaFilm mechanisch gegen Betätigung gesperrt.Dabei nochmal die Erfahrung gemacht, dass der 108 schwer zu Öffnen ist bzw. auf gar keinen Fall durch die gezeigt Verdrehung der Beiden Gehäuseteile wie in der Anleitung zum 108B. Also wieder mit einem Schrauberdreher "aufgepopelt" und mit später einer Runde TesaFilm drum gesichert damit er geschlossen bleibt.
Geht Dein 108B kontrolliert zu öffnen und sicher wieder zu verschließen, wäre das eine Empfehlung auch für mich.
Die Sendeeinstellung habe ich nochmal angepasst und sende nun jede Sekunde mit 0dB Leistung. Das reicht bei mir für einen Zugangsbereich einer Wohnung wo der Scanner in ca 1,5m Entfernung hängt aber auch erst in 3 Minuten eine kritische Aktion bei nicht Detektion erfolgt (Anwesenheitserkennung).
-
Hi Dieter,
bin auch gerade dabei meine zwei Smartwatsches als Präsensmelder zu verwenden.
Ich habe das Problem das manche meiner ESP häufiger die Uhren erkennen als andere und weiß nicht wo der Unterschied sein soll. Die Yaml Dateien sehen fast gleich aus bis auf die Raum-Bennenunge.Zudem bekomme ich es nicht hin, dass er erst wenn eine bestimmte Höhe an RSSI erkannt wird den Datenpunkt auf true setzt.
Das mit dem Lambda in deinem Script kenne ich gar nicht. Was kann man damit machen?
Mein Code sieht so aus:
esphome: name: "esphome-web-esp32-1" friendly_name: ESPHome Web ESP32-1 esp32: board: esp32dev framework: type: arduino esp32_ble_tracker: ### Esszimmer sensor: - platform: atc_mithermometer mac_address: "A4:C1:38:1B:03:F5" temperature: name: "Esszimmer Temperature" humidity: name: "Esszimmer Humidity" battery_level: name: "Esszimmer Battery-Level" battery_voltage: name: "Esszimmer Battery-Voltage" signal_strength: name: "Esszimmer Bluetooth Signal" ###### Presence Kinderzimmer ### Amazfit GTR4 # RSSI based on MAC address - platform: ble_rssi mac_address: D8:F6:E7:33:18:D5 name: "Amazfit GTR4 Signal Kinderzimmer" ### Amazfit GTR2e # RSSI based on MAC address - platform: ble_rssi mac_address: C7:B9:89:5E:0C:97 name: "Amazfit GTR2e Signal Kinderzimmer" ### Amazfit GTR4 binary_sensor: # Presence based on MAC address - platform: ble_presence mac_address: D8:F6:E7:33:18:D5 name: "Amazfit GTR4 im Kinderzimmer" #geht nicht#min_rssi: -60 ### Amazfit GTR2e # Presence based on MAC address - platform: ble_presence mac_address: C7:B9:89:5E:0C:97 name: "Amazfit GTR2e im Kinderzimmer" #geht nicht#min_rssi: -60 # Enable logging logger: #level: VERY_VERBOSE