Moin liebes Forum,
ich habe einen iBeacon (Minew D15).
Wollte anhand dieses iBeacon versuchen die Anwesenheit zu ermitteln.
Dazu habe ich diesen wie folgt definiert:
Internals:
ADDRESS AC:23:3F:26:4A:83
CFGFN
DEF local-bluetooth AC:23:3F:26:4A:83 10 60
INTERVAL_NORMAL 10
INTERVAL_PRESENT 60
MODE local-bluetooth
NAME iBeacon_Mathze
NOTIFYDEV global
NR 874
NTFY_ORDER 50-iBeacon_Mathze
STATE absent
TYPE PRESENCE
READINGS:
2018-09-18 20:48:30 model local-bluetooth
2018-09-18 21:59:16 presence absent
2018-09-18 21:59:16 state absent
helper:
ABSENT_COUNT 9
RUNNING_PID:
abortFn PRESENCE_ProcessAbortedScan
arg iBeacon_Mathze|AC:23:3F:26:4A:83|0|
bc_pid 883
finishFn PRESENCE_ProcessLocalScan
fn PRESENCE_DoLocalBluetoothScan
pid 8263
telnet telnetForBlockingFn_1537296112_127.0.0.1_51448
timeout 60
abortArg:
Attributes:
DbLogExclude .*
absenceThreshold 10
room GPS
Leider bleibt dieser durchgehend auf absent.
Also habe ich mich per SSH auf meine VM geschaltet und das Bluetooth Tool mal gestartet.
Hier taucht der iBeacon im Sekundenrhytmus auf.
root@debian-jessie-final:~# sudo hcitool lescan
LE Scan ...
AC:23:3F:26:4A:83 (unknown)
AC:23:3F:26:4A:83 (unknown)
....
Ich hätte nun erwartet, dass das Device auf "present" springen würde, ist leider nicht so.
Was mache ich falsch?
Oder kann das gar nicht funktionieren?
Gruß
Mathze
Zitatroot@debian-jessie-final:~# sudo hcitool lescan
LE Scan ...
AC:23:3F:26:4A:83 (unknown)
AC:23:3F:26:4A:83 (unknown)
....
Moin Mathze,
du brauchst lepresenced. Schau mal im Wiki: https://wiki.fhem.de/wiki/PRESENCE
defmod iBeacon_Mathze PRESENCE lan-bluetooth AC:23:3F:26:4A:83 w.x.y.z:5333 15 40
VG Sebastian
Danke Sebastian. Hat funktioniert.
Wunderbar!
Gruß
Mathze
Nun habe ich aber das Problem, dass auf einmal alle Bluetooth Geräte auf "timeout" stehen.
Kurz nach einem Neustart funktioniert es augenscheinlich für 30-45Sekunden.
Ich musste für lepresenced noch folgende Sachen installieren:
wget https://svn.fhem.de/trac/export/HEAD/trunk/fhem/contrib/PRESENCE/deb/lepresenced-0.83-3.deb
sudo dpkg -i lepresenced-0.83-3.deb
sudo apt-get -f install
Ein
service lepresenced status
sagt auch, dass der Service active (running) ist.
Ein
sudo hcitool lescan
geht ca. 10Sekunden gut, danach erscheint:
Disable scan failed: Input/output error
Nach einem
hciconfig hci0 down
hciconfig hci0 up
service bluetooth restart
Funktioniert ein:
sudo hcitool lescan
wieder.
Nach einem
shutdown restart
Startete FHEM neu und zu Beginn wurden aus den "timeout" kurz ein "present".
Nach ca. 45Sekunden wurde dann aber aus dem "present" wieder ein "timeout"
Und via SSH kam wieder der Fehler von oben
sudo hcitool lescan
Set scan parameters failed: Input/output error
Gruß
Mathze
Disable scan failed: Input/output error
Normal, weil lepresenced läuft.
Mit
sudo hciconfig hci0 down
sudo hciconfig hci0 up
und gestopptem lepresenced gehts wieder:
pi@ioserver:~ $ sudo hcitool lescan
Set scan parameters failed: Input/output error
pi@ioserver:~ $ sudo hcitool dev
Devices:
hci0 B8:27:EB:D1:70:35
pi@ioserver:~ $ sudo hciconfig hci0 down
pi@ioserver:~ $ sudo hciconfig hci0 up
pi@ioserver:~ $ sudo hcitool lescan
LE Scan ...
C4:7C:8D:65:B4:CE (unknown)
C4:7C:8D:65:B4:CE Flower care
C4:7C:8D:65:B4:A1 (unknown)
C4:7C:8D:65:B4:A1 Flower care
^Cpi@ioserver:~ $ ^C
pi@ioserver:~ $
Mein gtag fehlt natürlich weil im Büro ;)
VG Sebastian
Moin Sebastian,
das habe ich noch nicht ganz verstanden.
Wenn "lepresenced" läuft, dann kann "presenced" nicht laufen, korrekt?
Also beide zeitgleich können nicht laufen.
Da ich zuhause aber mit local-bluetooth meine Handy's abfrage, habe ich dann nun ja ein Problem?
Entweder ich nutze "lepresenced" für meine iBeacons oder ich nutze "presenced" für meine Smartphones.
Habe ich das so richtig verstanden?
Gruß
Mathze
ZitatMoin Sebastian,
das habe ich noch nicht ganz verstanden.
Wenn "lepresenced" läuft, dann kann "presenced" nicht laufen, korrekt?
Also beide zeitgleich können nicht laufen.
Da ich zuhause aber mit local-bluetooth meine Handy's abfrage, habe ich dann nun ja ein Problem?
Entweder ich nutze "lepresenced" für meine iBeacons oder ich nutze "presenced" für meine Smartphones.
Habe ich das so richtig verstanden?
Gruß
Mathze
Ich denke ja, da beide auf das gleiche BT-Device zugreifen.
Du könntest einen zweiten BT-Dongle verwenden und lepresenced auf hci1 umstellen.
sub parse_options() {
my $device = "hci1";
my $daemonize = 0;
my $listen_address = "0.0.0.0";
my $listen_port = "5333";
my $log_target = "syslog";
my $log_level = "LOG_INFO";
my $debug = 0;
my $legacy_mode = 0;
my $rssi_threshold = DEFAULT_RSSI_THRESHOLD;
VG Sebastian
ZitatDa ich zuhause aber mit local-bluetooth meine Handy's abfrage, habe ich dann nun ja ein Problem?
Ich hab meine iOS-Geräte auch als PRESENCE Geräte am Start, allerdings via
function {checkFritzMACpresent("FritzBox","C4:61:8B:7E:34:94")} 60 60
Eine Kombination aus Fritzbox device und MyUtils Funktion.
VG Sebastian
Zitat von: binford6000 am 19 September 2018, 10:58:15
Ich denke ja, da beide auf das gleiche BT-Device zugreifen.
Du könntest einen zweiten BT-Dongle verwenden und lepresenced auf hci1 umstellen.
sub parse_options() {
my $device = "hci1";
my $daemonize = 0;
my $listen_address = "0.0.0.0";
my $listen_port = "5333";
my $log_target = "syslog";
my $log_level = "LOG_INFO";
my $debug = 0;
my $legacy_mode = 0;
my $rssi_threshold = DEFAULT_RSSI_THRESHOLD;
VG Sebastian
Moin Sebastian, nun habe ich es wohl "etwas" verstanden.
per
sudo hcitool dev
Sehe ich den USB Bluetooth Dongle:
hci0 00:1A:7D:DA:71:13
Ich habe zuhause noch einen zweiten Bluetooth USB Dongle, wenn ich diesen anschließe, sollte dort wahrscheinlich noch ein weiteres Device mit "hci1" hinzukommen.
Mir stellt sich noch die Frage, wie ich "hci0" und "hci1" dann erkläre, dass der eine sich um "presenced" und der andere um "lepresenced" kümmern soll?!
Augenscheinlich bewirkt man dies mit:
attr iBeacon_Mathze bluetoothHciDevice hci1
Muss ich bei meinen anderen Bluetooth Geräten, die via "presenced" erfasst werden dann hci0 setzen oder reicht es, wenn ich lediglich die Beacon's mit dem richtigen HCI-Gerät "verknüpfe"?
attr PRESENCE_rr_Mathze bluetoothHciDevice hci0
Deine sub parse_options() setzt die jeweiligen Attribute, jedoch ist mir nicht klar, wie und wann du diese Routine ausrufst?
Sodass ich in FHEM nachher "local-bluetooth" und "lan-bluetooth" nutzen kann?
Gruß
Mathze
Zitat von: t1me2die am 19 September 2018, 11:41:17
Mir stellt sich noch die Frage, wie ich "hci0" und "hci1" dann erkläre, dass der eine sich um "presenced" und der andere um "lepresenced" kümmern soll?!
Wenn du das lepresenced als Debian Paket installiert hast, kannst du das in der /etc/default/lepresenced einstellen:
#Bluetooth device to use for scanning.
BLUETOOTH_DEVICE="hci0"
Danach ein systemctl restart lepresenced oder ein reboot und lepresenced sollte dann das andere hci Interface verwenden.
ZitatIch habe zuhause noch einen zweiten Bluetooth USB Dongle, wenn ich diesen anschließe, sollte dort wahrscheinlich noch ein weiteres Device mit "hci1" hinzukommen.
Korrekt.
Dann kanst Du einen für lepresenced nutzen und den anderen für local-bluetooth.
ZitatDeine sub parse_options() setzt die jeweiligen Attribute, jedoch ist mir nicht klar, wie und wann du diese Routine ausrufst?
Sorry, das war ein Auszug aus lepresenced selbst.
Wie mark79 schreibt, bitte in /etc/default/lepresenced ändern und lepresenced neu starten.
VG Sebastian
Ich kriege es leider noch immer nicht hin und bin mal wieder am verzweifeln.
Was ich bisher getan habe:
Zweiten USB Bluetooth Stick angeschloßen:
root@debian-jessie-final:~# sudo hcitool dev
Devices:
hci1 00:1A:7D:DA:71:14
hci0 00:1A:7D:DA:71:13
root@debian-jessie-final:~#
Unter /etc/default/lepresenced habe ich die Anpassung vorgenommen:
#
# Default settings for /etc/init.d/lepresenced
#
#Bluetooth device to use for scanning.
BLUETOOTH_DEVICE="hci1"
#Address to listen for incoming connections. For local connections use 127.0.0.1.
#LISTEN_ADDRESS="127.0.0.1"
#Port to listen for incoming connections.
#LISTEN_PORT="5333"
#Syslog level. LOG_EMERG disables logging.
#SYSLOG_LEVEL="LOG_WARNING"
#Additional command line options
#MISC_OPTIONS=""
Danach habe ich folgendes gemacht:
root@debian-jessie-final:~# systemctl restart lepresenced
root@debian-jessie-final:~# sudo hciconfig hci0 down
root@debian-jessie-final:~# sudo hciconfig hci1 down
root@debian-jessie-final:~# sudo hciconfig hci1 up
root@debian-jessie-final:~# sudo hciconfig hci0 up
Nun habe ich geschaut, ob die beiden Dienste laufen:
root@debian-jessie-final:~# service lepresenced status
● lepresenced.service - lepresenced
Loaded: loaded (/lib/systemd/system/lepresenced.service; enabled; vendor pres
Active: active (running) since Wed 2018-09-19 20:13:58 CEST; 1min 36s ago
Process: 18224 ExecStartPre=/bin/sleep 10 (code=exited, status=0/SUCCESS)
Main PID: 18373 (lepresenced)
Tasks: 5 (limit: 4915)
CGroup: /system.slice/lepresenced.service
├─18373 /usr/bin/perl /usr/sbin/lepresenced --device hci1 --listenadd
├─18390 hcitool -i hci1 lescan --duplicates
└─18392 hcidump -i hci1
Sep 19 20:13:48 debian-jessie-final systemd[1]: Starting lepresenced...
Sep 19 20:13:58 debian-jessie-final systemd[1]: Started lepresenced.
lines 1-13/13 (END)^C
root@debian-jessie-final:~# service presenced status
● presenced.service - presence daemon to check device presence via bluetooth for
Loaded: loaded (/lib/systemd/system/presenced.service; enabled; vendor preset
Active: active (running) since Wed 2018-09-19 20:57:28 CEST; 41min left
Docs: http://commandref.fhem.de/#PRESENCE
https://wiki.fhem.de/wiki/PRESENCE#.C3.9Cberwachung_durch_verteilte_A
Main PID: 453 (presenced)
Tasks: 1 (limit: 4915)
CGroup: /system.slice/presenced.service
└─453 /usr/bin/perl /usr/bin/presenced -v -n -p 5111
Sep 19 20:57:28 debian-jessie-final systemd[1]: Started presence daemon to check
Sep 19 20:57:31 debian-jessie-final presenced[453]: [21B blob data]
Sep 19 20:57:31 debian-jessie-final presenced[453]: [31B blob data]
lepresenced läuft auch auf hci1, wie gewünscht.
Auf meinem iBeacon habe ich folgendes Attribut gesetzt:
attr iBeacon_Mathze bluetoothHciDevice hci1
Ein List vom iBeacon zeigt, dass er nun auch absent ist:
Internals:
ADDRESS AC:23:3F:26:4A:83
CHANGED
DEF lan-bluetooth AC:23:3F:26:4A:83 127.0.0.1:5333 10 60
DeviceName 127.0.0.1:5333
FD 27
INTERVAL_NORMAL 10
INTERVAL_PRESENT 60
MODE lan-bluetooth
NAME iBeacon_Mathze
NOTIFYDEV global
NR 780
NTFY_ORDER 50-iBeacon_Mathze
PARTIAL
STATE absent
TYPE PRESENCE
READINGS:
2018-09-19 20:11:19 command_accepted yes
2018-09-19 20:17:14 daemon lepresenced V0.83
2018-09-19 20:05:22 device_name (unknown)
2018-09-19 20:17:14 model lan-lepresenced
2018-09-19 20:17:14 presence absent
2018-09-19 20:17:14 rssi unreachable
2018-09-19 20:17:14 state absent
helper:
ABSENT_COUNT 9
CURRENT_TIMEOUT normal
Attributes:
DbLogExclude .*
absenceThreshold 10
bluetoothHciDevice hci1
event-on-change-reading presence,state
room GPS
Wobei dieser unter lescan auftaucht:
root@debian-jessie-final:~# sudo hcitool lescan
LE Scan ...
AC:23:3F:26:4A:83 (unknown)
Meine Bluetooth Devices stehen weiterhin auf "timeout"...
Gruß
Mathze
Hmmm..
Mein gtag hat kein bluetoothHciDevice Attribut...
Historie löschen
Internals:
ADDRESS 7C:2F:80:XX:XX:XX
DEF lan-bluetooth 7C:2F:80:98:AC:0F 10.3.3.236:5333 15 40
DeviceName 10.3.3.236:5333
FD 11
INTERVAL_NORMAL 15
INTERVAL_PRESENT 40
MODE lan-bluetooth
NAME Sebastian.gtag2.PRE
NOTIFYDEV global
NR 288
NTFY_ORDER 50-Sebastian.gtag2.PRE
PARTIAL
STATE absent
TYPE PRESENCE
READINGS:
2018-09-18 01:31:19 battery 22
2018-09-19 11:13:16 command_accepted yes
2018-09-19 22:14:13 daemon lepresenced V0.9
2018-09-19 06:30:51 device_name Gigaset G-tag
2018-09-19 22:14:13 model lan-lepresenced
2018-09-19 22:14:13 presence absent
2018-09-19 22:14:13 rssi unreachable
2018-09-19 22:14:13 state absent
helper:
ABSENT_COUNT 3
CURRENT_TIMEOUT normal
DISABLED 0
Attributes:
absenceThreshold 4
alias Sebastian's gtag lepresenced
devStateIcon present:ios-on-blue absent:ios-off /disabled|disconnected/:ios-NACK
disable 0
event-on-update-reading presence,state
group Anwesenheit
icon gtag1
room 30_Devices
st_type_presence SebastianstructMain
userReadings battery
userattr st_type_presence st_type_presence_map structexclude
Lösch das mal und installiere die neuste (0.9) Version von lepresenced.
VG Sebastian
Ich würde auch sagen das hci1 dort nicht hingehört, bei mir sieht es so aus:
defmod BT_Mark_MiBand PRESENCE lan-bluetooth F2:A6:7A:5E:xx:xx 127.0.0.1:5222 5 60
Ich habe allerdings noch Collectored am laufen, daher der andere Port.
Collectored verwendet man, wenn man mehrere Räume überwächen will und in jeden Raum ein lepresenced läuft.
Alternativ geht auch ein ESP32, anstatt ein Raspberry etc. mit dem Stetch von Micky.
Moin,
weil vorhin in einem anderen Thread gelesen:
Die Tags sind nicht noch mit irgendeiner App verbunden? Das kann dann auch nicht funktionieren ;)
VG Sebastian
Gut, starten wir den nächsten Versuch.
Zuerst einmal habe ich folgendes gemacht:
wget https://svn.fhem.de/trac/export/HEAD/trunk/fhem/contrib/PRESENCE/deb/lepresenced-0.9-1.deb
sudo dpkg -i lepresenced-0.9-1.deb
sudo apt-get -f install
Daraus resultierte:
root@FHEM:~# wget https://svn.fhem.de/trac/export/HEAD/trunk/fhem/contrib/PRESENCE/deb/lepresenced-0.9-1.deb
--2018-09-20 11:09:36-- https://svn.fhem.de/trac/export/HEAD/trunk/fhem/contrib/PRESENCE/deb/lepresenced-0.9-1.deb
Auflösen des Hostnamens »svn.fhem.de (svn.fhem.de)« ... 88.99.31.202, 2a01:4f8:10a:806::2
Verbindungsaufbau zu svn.fhem.de (svn.fhem.de)|88.99.31.202|:443 ... verbunden.
HTTP-Anforderung gesendet, auf Antwort wird gewartet ... 200 Ok
Länge: nicht spezifiziert [application/vnd.debian.binary-package]
Wird in »»lepresenced-0.9-1.deb«« gespeichert.
lepresenced-0.9-1.d [ <=> ] 7,18K --.-KB/s in 0s
2018-09-20 11:09:36 (14,6 MB/s) - »lepresenced-0.9-1.deb« gespeichert [7348]
root@FHEM:~# sudo dpkg -i lepresenced-0.9-1.deb
dpkg: Warnung: Version 0.83-3 des Paketes lepresenced wird durch ältere Version 0.9-1 ersetzt
(Lese Datenbank ... 95285 Dateien und Verzeichnisse sind derzeit installiert.)
Vorbereitung zum Entpacken von lepresenced-0.9-1.deb ...
Entpacken von lepresenced (0.9-1) über (0.83-3) ...
lepresenced (0.9-1) wird eingerichtet ...
root@FHEM:~# sudo apt-get -f install
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.
Statusinformationen werden eingelesen.... Fertig
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 1 nicht aktualisiert.
root@FHEM:~#
Soweit so gut.
Nun habe ich folgende Datei angepasst unter: /etc/default/lepresenced
#
# Default settings for /etc/init.d/lepresenced
#
#Bluetooth device to use for scanning.
BLUETOOTH_DEVICE="hci1"
#Address to listen for incoming connections. For local connections use 127.0.0.1.
#LISTEN_ADDRESS="0.0.0.0"
#Port to listen for incoming connections.
#LISTEN_PORT="5333"
#Syslog level. LOG_EMERG disables logging.
#SYSLOG_LEVEL="LOG_WARNING"
#Additional command line options
#MISC_OPTIONS=""
Dies ist auch korrekt auskommentiert?
Muss ich noch etwas auskommentieren oder reicht dies schon aus?
Sollte ich jetzt noch einmal meine Maschine neustarten?
Nach einem Neustart würde ich dann folgendes eintragen:
define iBeacon_Mathze PRESENCE lan-bluetooth AC:23:3F:26:4A:83 127.0.0.1:5333 10 60
Und ihr sagt, dass ich das folgende Attribut nicht setzen soll:
attr iBeacon_Mathze bluetoothHciDevice hci1
Beschreibung:
bluetoothHciDevice
(Only in Mode "local-bluetooth" applicable)
Set a specific bluetooth HCI device to use for scanning. If you have multiple bluetooth modules connected, you can select a specific one to use for scanning (e.g. hci0, hci1, ...).
So schaut dann mein iBeacon aus:
Internals:
ADDRESS AC:23:3F:26:4A:83
CFGFN
DEF lan-bluetooth AC:23:3F:26:4A:83 127.0.0.1:5333 10 60
DeviceName 127.0.0.1:5333
FD 11
INTERVAL_NORMAL 10
INTERVAL_PRESENT 60
MODE lan-bluetooth
NAME iBeacon_Mathze
NOTIFYDEV global
NR 31
NTFY_ORDER 50-iBeacon_Mathze
PARTIAL
STATE absent
TYPE PRESENCE
READINGS:
2018-09-20 11:20:57 daemon lepresenced V0.9
2018-09-20 11:20:57 model lan-lepresenced
2018-09-20 11:20:57 presence absent
2018-09-20 11:20:57 rssi unreachable
2018-09-20 11:20:57 state absent
helper:
CURRENT_TIMEOUT normal
Attributes:
Wie kann ich prüfen, ob local-bluetooth tatsächlich auf das "HCI0" Device zugreift?
Ich möchte zuerst feststellen, dass meine beiden Bluetooth Stick's jeweils auf:
HCO0 = local-bluetooth (für meine Smartphones) &
HCI1 = lan-bluetooth (iBeacons)
läuft.
Ich nutze die App "BeaconSet+", dort kann ich den iBeacon sehen, aber "verbunden" ist dieser nicht mit der App.
Also ich habe den iBeacon nicht aktiv verbunden.
Alternativ könnte ich die App löschen und danach noch einmal schauen?!
Ein
service presenced status
service lepresenced status
ergibt, dass beide Dienste wohl laufen.
Wobei beim PRESENCED Dienst für mich nicht ersichtlich ist, dass dieser Dienst mit dem HCI0-Gerät läuft?!
root@FHEM:~# service lepresenced status
● lepresenced.service - lepresenced
Loaded: loaded (/lib/systemd/system/lepresenced.service; enabled; vendor pres
Active: active (running) since Thu 2018-09-20 11:29:53 CEST; 3min 34s ago
Main PID: 4071 (lepresenced)
CGroup: /system.slice/lepresenced.service
└─4071 /usr/bin/perl /usr/sbin/lepresenced --device hci1 --listenaddr
Sep 20 11:33:25 FHEM lepresenced[4071]: [tid:1] main::bluetooth_scan_thread: hci
Sep 20 11:33:25 FHEM lepresenced[4071]: [tid:2] main::bluetooth_dump_thread: hci
Sep 20 11:33:26 FHEM lepresenced[4071]: [tid:1] main::bluetooth_scan_thread: Rec
Sep 20 11:33:26 FHEM lepresenced[4071]: [tid:1] main::bluetooth_scan_thread: hci
Sep 20 11:33:26 FHEM lepresenced[4071]: [tid:2] main::bluetooth_dump_thread: hci
Sep 20 11:33:27 FHEM lepresenced[4071]: [tid:1] main::bluetooth_scan_thread: Rec
Sep 20 11:33:27 FHEM lepresenced[4071]: [tid:1] main::bluetooth_scan_thread: hci
Sep 20 11:33:27 FHEM lepresenced[4071]: [tid:2] main::bluetooth_dump_thread: hci
Sep 20 11:33:28 FHEM lepresenced[4071]: [tid:1] main::bluetooth_scan_thread: Rec
Sep 20 11:33:28 FHEM lepresenced[4071]: [tid:1] main::bluetooth_scan_thread: hci
lines 1-17/17 (END)
● lepresenced.service - lepresenced
Loaded: loaded (/lib/systemd/system/lepresenced.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2018-09-20 11:29:53 CEST; 3min 34s ago
Main PID: 4071 (lepresenced)
CGroup: /system.slice/lepresenced.service
└─4071 /usr/bin/perl /usr/sbin/lepresenced --device hci1 --listenaddress 0.0.0.0 -
Sep 20 11:33:25 FHEM lepresenced[4071]: [tid:1] main::bluetooth_scan_thread: hcitool exited,
Sep 20 11:33:25 FHEM lepresenced[4071]: [tid:2] main::bluetooth_dump_thread: hcidump exited,
Sep 20 11:33:26 FHEM lepresenced[4071]: [tid:1] main::bluetooth_scan_thread: Received unknown
Sep 20 11:33:26 FHEM lepresenced[4071]: [tid:1] main::bluetooth_scan_thread: hcitool exited,
Sep 20 11:33:26 FHEM lepresenced[4071]: [tid:2] main::bluetooth_dump_thread: hcidump exited,
Sep 20 11:33:27 FHEM lepresenced[4071]: [tid:1] main::bluetooth_scan_thread: Received unknown
Sep 20 11:33:27 FHEM lepresenced[4071]: [tid:1] main::bluetooth_scan_thread: hcitool exited,
Sep 20 11:33:27 FHEM lepresenced[4071]: [tid:2] main::bluetooth_dump_thread: hcidump exited,
Sep 20 11:33:28 FHEM lepresenced[4071]: [tid:1] main::bluetooth_scan_thread: Received unknown
Sep 20 11:33:28 FHEM lepresenced[4071]: [tid:1] main::bluetooth_scan_thread: hcitool exited,
Gruß
Mathze
PS.: Danke für Eure Geduld :)
ZitatDies ist auch korrekt auskommentiert?
Muss ich noch etwas auskommentieren oder reicht dies schon aus?
Sieht bei mir auch so aus.
ZitatNach einem Neustart würde ich dann folgendes eintragen:
define iBeacon_Mathze PRESENCE lan-bluetooth AC:23:3F:26:4A:83 127.0.0.1:5333 10 60
Korrekt
ZitatSollte ich jetzt noch einmal meine Maschine neustarten?
Dienst lepresenced neu starten sollte genügen. Schadet aber auch nix.
ZitatUnd ihr sagt, dass ich das folgende Attribut nicht setzen soll:
Nein nicht setzen, wird ja in /etc/default/lepresenced konfiguriert.
Geht auch nicht da es nur im local-bluetooth Modus zur Verfgung steht ;)
ZitatWie kann ich prüfen, ob local-bluetooth tatsächlich auf das "HCI0" Device zugreift?
Prüfen weiß ich jetzt nicht, aber konfigurieren musst du es in dem du beim local-bluetooth device das Attribut bluetoothHciDevice auf hci0 setzt.
ZitatSo schaut dann mein iBeacon aus:
Sieht alles doch soweit OK aus. Ist das iBeacon denn auch wirklich absent? Von time-out ist ja nichts zu sehen...
VG Sebastian
Hier mal ein Beispiel für ein local-bluetooth Device:
Internals:
ADDRESS 00:06:08:05:0D:00
CFGFN
DEF local-bluetooth 00:06:08:05:0D:00 60 60
INTERVAL_NORMAL 60
INTERVAL_PRESENT 60
MODE local-bluetooth
NAME localBTtest
NOTIFYDEV global
NR 27461
NTFY_ORDER 50-localBTtest
STATE absent
TYPE PRESENCE
READINGS:
2018-09-20 13:10:52 model local-bluetooth
2018-09-20 13:17:35 presence absent
2018-09-20 13:17:35 state absent
helper:
Attributes:
bluetoothHciDevice hci0
Und zum Vergleich ein gtag als lan-bluetooth mit lepresenced:
Internals:
ADDRESS 7C:2F:80:xx:xx:xx
DEF lan-bluetooth 7C:2F:80:xx:xx:xx 10.3.3.236:5333 15 40
DeviceName 10.3.3.236:5333
FD 17
INTERVAL_NORMAL 15
INTERVAL_PRESENT 40
MODE lan-bluetooth
NAME Sebastian.gtag2.PRE
NOTIFYDEV global
NR 288
NTFY_ORDER 50-Sebastian.gtag2.PRE
PARTIAL
STATE absent
TYPE PRESENCE
READINGS:
2018-09-18 01:31:19 battery 22
2018-09-20 08:51:48 command_accepted yes
2018-09-20 13:19:33 daemon lepresenced V0.9
2018-09-19 22:54:28 device_name Gigaset G-tag
2018-09-20 13:19:33 model lan-lepresenced
2018-09-20 13:19:33 presence absent
2018-09-20 13:19:33 rssi unreachable
2018-09-20 13:19:33 state absent
helper:
ABSENT_COUNT 3
CURRENT_STATE present
CURRENT_TIMEOUT normal
DISABLED 0
Attributes:
absenceThreshold 4
alias Sebastian's gtag lepresenced
devStateIcon present:ios-on-blue absent:ios-off /disabled|disconnected/:ios-NACK
disable 0
event-on-update-reading presence,state
group Anwesenheit
icon gtag1
room 30_Devices
st_type_presence SebastianstructMain
userReadings battery
userattr st_type_presence st_type_presence_map structexclude
VG Sebastian
Moin Sebastian,
du hast jetzt aber das Attribut:
bluetoothHciDevice hci0
gesetzt?
Bewusst? Unbewusst oder Automatisch?
Und welche IP Adresse muss ich angeben?
Ich hatte bisher immer 127.0.0.1, welches doch die lokale Adresse ist.
Gruß
Mathze
ZitatBewusst? Unbewusst oder Automatisch?
Bewusst und manuell am local-bluetooth device.
Laut Doku:
bluetoothHciDevice
(Nur im Modus "local-bluetooth" anwendbar)
Sofern man mehrere Bluetooth-Empfänger verfügbar hat, kann man mit diesem Attribut ein bestimmten Empfänger auswählen,
welcher zur Erkennung verwendet werden soll (bspw. hci0, hci1, ...). Es muss dabei ein vorhandener HCI-Gerätename
angegeben werden wie z.B. hci0.
ZitatUnd welche IP Adresse muss ich angeben?
Ich hatte bisher immer 127.0.0.1, welches doch die lokale Adresse ist.
Die IP wo lepresenced drauf läuft. Wenn es dein FHEM Server ist geht auch 127.0.0.1 oder seine IP Adresse.
Ist bei mir auf einem separaten IOServer und nicht auf dem FHEM Server ;)
VG Sebastian
Okay,
also nochmal zusammengefasst:
Ich habe zwei USB BT Dongles:
HCI0
HCI1
HCI1 stelle ich in der Datei "/etc/default/lepresenced" ein.
Damit wird HCI1 exklusiv für "lepresenced" reserviert.
In FHEM gebe ich meinen Geräten die "local-bluetooth" verwenden das Attribute
attr Device bluetoothHciDevice hci0
mit.
Soweit verstanden.
Beide USB BT Dongle müssen gemountet sein, sobald die beiden Startscripte laufen:
/lib/systemd/system/lepresenced.service
/lib/systemd/system/presenced.service
ist das richtig?
Ich habe bei mir nämlich den speziellen Fall, dass ich nach dem StartUp der VM zuerst die USB-Geräte durch-reichen (mounte) muss.
Hier läuft bei mir ein Shell-Script, welches dies automatisch macht.
Ich muss halt nur dafür sorgen, dass beide Services erst dann starten, wenn beide BT Dongles gemountet sind und danach FHEM gestartet wird.
Gruß
Mathze
ZitatIch muss halt nur dafür sorgen, dass beide Services erst dann starten, wenn beide BT Dongles gemountet sind und danach FHEM gestartet wird.
Du könntest FHEM (Module) dafür "missbrauchen":
notify auf global:INITIALIZED und dann entweder per
{system("sudo /etc/init.d/lepresenced restart")}
oder mit dem Modul serviced arbeiten.
VG Sebastian
Ich glaube ich muss es aufgeben, ich bekomme es einfach nicht hin.
Zwei USB BT Dongles werden per lsusb erkannt.
PRESENCED läuft.
LEPRESENCED läuft auf hci1
root@FHEM:~# lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
Bus 001 Device 003: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
Bus 001 Device 002: ID 0627:0001 Adomax Technology Co., Ltd
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
root@FHEM:~# service lepresenced status
● lepresenced.service - lepresenced
Loaded: loaded (/lib/systemd/system/lepresenced.service; enabled; vendor pres
Active: active (running) since Thu 2018-09-20 17:46:03 CEST; 6min ago
Process: 1009 ExecStartPre=/bin/sleep 90 (code=exited, status=0/SUCCESS)
Main PID: 1018 (lepresenced)
Tasks: 5 (limit: 4915)
CGroup: /system.slice/lepresenced.service
├─1018 /usr/bin/perl /usr/sbin/lepresenced --device hci1 --listenaddr
├─1028 hcitool -i hci1 lescan --duplicates
└─1030 hcidump -i hci1
Sep 20 17:44:33 FHEM systemd[1]: Starting lepresenced...
Sep 20 17:46:03 FHEM systemd[1]: Started lepresenced.
root@FHEM:~# service presenced status
● presenced.service - presence daemon to check device presence via bluetooth for
Loaded: loaded (/lib/systemd/system/presenced.service; enabled; vendor preset
Active: active (running) since Thu 2018-09-20 17:52:16 CEST; 13s ago
Docs: http://commandref.fhem.de/#PRESENCE
https://wiki.fhem.de/wiki/PRESENCE#.C3.9Cberwachung_durch_verteilte_A
Process: 1663 ExecStartPre=/bin/sleep 80 (code=exited, status=0/SUCCESS)
Main PID: 1904 (presenced)
Tasks: 1 (limit: 4915)
CGroup: /system.slice/presenced.service
└─1904 /usr/bin/perl /usr/bin/presenced -v -n -p 5111
Sep 20 17:50:56 FHEM systemd[1]: Starting presence daemon to check device presen
Sep 20 17:52:16 FHEM systemd[1]: Started presence daemon to check device presenc
Sep 20 17:52:16 FHEM presenced[1904]: [22B blob data]
Sep 20 17:52:16 FHEM presenced[1904]: [31B blob data]
Mein iBeacon ist present, augenscheinlich funktioniert "lepresenced".
Internals:
ADDRESS AC:23:3F:26:4A:83
DEF lan-bluetooth AC:23:3F:26:4A:83 127.0.0.1:5333 10 60
DeviceName 127.0.0.1:5333
FD 5
INTERVAL_NORMAL 10
INTERVAL_PRESENT 60
MODE lan-bluetooth
NAME iBeacon_Mathze
NOTIFYDEV global
NR 23
NTFY_ORDER 50-iBeacon_Mathze
PARTIAL
STATE present
TYPE PRESENCE
READINGS:
2018-09-20 17:49:01 command_accepted yes
2018-09-20 17:51:01 daemon lepresenced V0.9
2018-09-20 17:51:01 device_name (unknown)
2018-09-20 17:51:01 model lan-lepresenced
2018-09-20 17:51:01 presence present
2018-09-20 17:51:01 rssi -58
2018-09-20 17:51:01 state present
helper:
CURRENT_STATE present
CURRENT_TIMEOUT present
PRESENT_COUNT 0
Attributes:
room Anwesenheit
Jedoch ist mein local-bluetooth auf timeout:
Internals:
ADDRESS B8:53:AC:31:65:0C
DEF local-bluetooth B8:53:AC:31:65:0C 10 60
INTERVAL_NORMAL 10
INTERVAL_PRESENT 60
MODE local-bluetooth
NAME PRESENCE_rr_Mathze
NOTIFYDEV global
NR 28
NTFY_ORDER 50-PRESENCE_rr_Mathze
STATE timeout
TYPE PRESENCE
READINGS:
2018-09-20 17:45:07 device_name iPhone
2018-09-20 17:49:00 model local-bluetooth
2018-09-20 17:45:07 presence present
2018-09-20 17:51:10 state timeout
helper:
ABSENT_COUNT 0
PRESENT_COUNT 0
RETRY_COUNT 2
Attributes:
bluetoothHciDevice hci0
room Anwesenheit
Augenscheinlich kann ich die beiden Services (PRESENCED & LEPRESENCED) mit 2 USB BT Dongle nicht parallel laufen lassen oder ich mache etwas verkehrt.
Habe mir fix eine zweite VM mit FHEM aufgesetzt und dort kurzerhand LEPRESENCED installiert.
iBeacon kurz hinzugefügt und läuft.
Evtl. muss ich dann mit FHEM2FHEM arbeiten, sodass ich meine Smartphones mit local-bluetooth und die iBeacons trotzdem zusammenfassen kann.
Außer jemand kann mir evtl. doch zeigen, wie ich beide Services auf einer Maschine mit zwei USB Bluetooth Dongles zum laufen bekomme.
Gruß
Mathze
ZitatAugenscheinlich kann ich die beiden Services (PRESENCED & LEPRESENCED) mit 2 USB BT Dongle nicht parallel laufen lassen oder ich mache etwas verkehrt.
Ich hab Testweise mal mein iPhone als local-bluetooth angelegt. OHNE presenced...
Allerdings läuft lepresenced ja bei mir auf einem anderen Raspi. Aber das könntest du noch mal testen.
Also presenced Dienst stoppen und schauen ob dein Handy dann auftaucht.
VG Sebastian