Presence - Modul - Bluetooth Adapter

Begonnen von Charity, 23 Januar 2014, 12:45:09

Vorheriges Thema - Nächstes Thema

Charity

Hello,

ich hab da mal eine Frage :

Ich möchte gerne das Presence Modul mit Bluetooth Erkennung erst testen und dann ev. einbinden.

Meine Idee wäre - nachdem ich 3 Raspberry habe - auf jedem - da auch in unterschiedlichen Zimmern - einen dieser Bluetooth Adapter anzuschliessen um damit feststellen zu können in welchem Bereich der Wohnung sich die jeweiligen Handy's befinden.

Muss dabei auf jedem Raspi dann FHEM laufen ?
Oder kann ich mit der eigentlichen FHEM Installation die Adapter der anderen Abfragen ?
Und wenn ich auf jedem Raspi FHEM installieren muss (eigentlich ja dann nur für das Bluetooth Modul) wie läuft das dann ab ?
Gibt es da ein HowTo wie das passieren muss ?

Danke

der-Lolo


Markus Bloch

Hi,

auf deinen 3 Raspberrys musst du in deinem Fall jeweils nur den presenced (PRESENCE-Daemon, http://svn.code.sf.net/p/fhem/code/trunk/fhem/contrib/PRESENCE/deb/presenced-rpi-1.3.deb) installieren und starten. Um sicherzustellen das er funktioniert, sollte der Befehl "hcitool" zur Verfügung stehen (Debian-Paket bluez) und es sollte bereits ein Bluetoothadapter angeschlossen und konfiguriert sein.

Dann installierst du auf deinem FHEM Server den collectord (Collector-Daemon, http://svn.code.sf.net/p/fhem/code/trunk/fhem/contrib/PRESENCE/deb/collectord-1.4.deb), gibst in dem Config-File die Adressen zu deinen Raspberrys an.

Dann definierst du in deinem FHEM alle deine Devices, welche du über deine Raspberry Infrastruktur testen möchtest.

Siehe dazu im Wiki den Artikel "Anwesenheitserkennung" und die Commandref zu PRESENCE.

Viel Spaß

Gruß
Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

der-Lolo

Guten Morgen Markus,
mittlerweile läuft auf meinen Cubietruck der interne Bluetooth Adapter und funktioniert auch mit PRESENCE im local-bluetooth mode sehr gut.
Allerdings deckt der Cubietruck Standort bedingt nicht die ganze Wohnfläche ab - deswegen habe ich mich entschlossen den "alten" BeagleBone mithilfe des Bluetoothsticks und collectcord hinzuzufügen.

Ich habe da ein paar fragen -
es ist ja von einem Configfile die rede.
Ist das bei der collectcord Installation mit angelegt worden oder muss ein neues File erzeugt werden?

Muss ich in diesem File den lokalen presence "Raum" auch mit angeben?
also so..?

[BeagleBoneBlack]           # Name des Raumes (wird in FHEM als Reading angezeigt)
address=192.168.178.100     # IP-Adresse oder Hostname des presenced
port=5111                   # TCP Port, der verwendet werden soll (standardmäßig Port 5111)
presence_timeout=30         # Prüfinterval, das verwendet werden soll, wenn ein Gerät anwesend ist
absence_timeout=30          # Prüfinterval, das verwendet werden soll, wenn ein Gerät abwesend ist

[Cubietruck]
address=127.0.0.1
port=5111
presence_timeout=30
absence_timeout=30


Ich habe wenn ich auf lan-bluetooth umschalte zwar die aussage "active" am Presence Device, aber eigentlich sollte das Device vom Cubietruck "gesehen" werden und ja somit auf "present" wechseln...





Markus Bloch

Hi,

es wird ein Config-File bei der Installation des .deb-Pakets angelegt. Wenn du allerdings nur das collectord-Skript runtergeladen hast und direkt ausführst, musst du ein Config-File wie im Beispiel dargestellt selbst erzeugen.

Der lokale presenced muss dort auch mit angegeben werden. Dein Config-Vorschlag passt also schon mal ganz gut.

Der collectord und presenced erzeugen ein Log-File unter /var/log/

Dort einfach zur Not mal reinschauen, was passiert wenn du auf den collectord in FHEM umschaltest.

Gruß
Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

der-Lolo

Ok - Danke für den Hinweis...
Sagst Du mir wo ich das Configfile finde..?

Markus Bloch

standarmäßig beim DEB-Paket wird es unter /etc/collectord.conf abgelegt.
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

der-Lolo

Ja, Danke - mittlerweile bin ich fündig geworden..

ich habe folgendes im Log
Zitat2014-10-25 14:11:40 - =================================================
2014-10-25 14:11:40 - started with PID 1752
2014-10-25 14:11:40 - reading configuration file
2014-10-25 14:11:40 - no config errors found
2014-10-25 14:11:40 - forked with PID 1915
2014-10-25 14:11:40 - created socket on 0.0.0.0 with port 5222
2014-10-25 14:11:53 - new connection from 127.0.0.1:60656
2014-10-25 14:11:53 - created thread 1 for processing device 94:D7:71:CA:4C:97 in room BeagleBoneBlack for peer 127.0.0.1 (UUID: 4eff2890c8bd32f1e9a67$
2014-10-25 14:11:53 - created thread 2 for processing device 94:D7:71:CA:4C:97 in room Cubietruck for peer 127.0.0.1 (UUID: 4eff2890c8bd32f1e9a67c4f43$

Es findet aber keine Aktualisierung statt, im state steht immer active - nie present oder absent.
verstehe ich was falsch?

Markus Bloch

starte mal den collectord auf der Konsole manuell (vorher allerdings über /etc/init.d/collectord den Daemon stoppen):

collectord -vv -c /etc/collectord.conf

Der Output sollte dann in etwa so aussehen
2014-10-25 14:25:28 - (Main Thread) - started with PID 14493
2014-10-25 14:25:28 - (Main Thread) - reading configuration file
2014-10-25 14:25:28 - (Main Thread) - no config errors found
2014-10-25 14:25:28 - (Main Thread) - created socket on 0.0.0.0 with port 5222
2014-10-25 14:25:28 - (Main Thread) - finished initialization. entering main loop
2014-10-25 14:26:13 - (Main Thread) - new connection from 192.168.179.38:56454
2014-10-25 14:26:13 - (Main Thread) - received new command from 192.168.179.38:56454 - 34:E2:FD:41:86:77|30
2014-10-25 14:26:13 - (Main Thread) - generating new UUID for client 192.168.179.38 - 45a0af6cd4428e6d4c906b47aedd37af
2014-10-25 14:26:13 - (Main Thread) - created thread 1 for processing device 34:E2:FD:41:86:77 in room Wohnzimmer for peer 192.168.179.38 (UUID: 45a0af6cd4428e6d4c906b47aedd37af)
2014-10-25 14:26:14 - (Main Thread) - created thread 2 for processing device 34:E2:FD:41:86:77 in room Schlafzimmer for peer 192.168.179.38 (UUID: 45a0af6cd4428e6d4c906b47aedd37af)
2014-10-25 14:26:14 - (Thread 1) - Wohnzimmer accepted command for 34:E2:FD:41:86:77
2014-10-25 14:26:14 - (Main Thread) - new connection from 192.168.179.38:56455
2014-10-25 14:26:14 - (Main Thread) - received new command from 192.168.179.38:56455 - 7C:61:93:6D:5F:0B|30
2014-10-25 14:26:14 - (Main Thread) - generating new UUID for client 192.168.179.38 - 971e4a08b092021583c6d89828dd3613
2014-10-25 14:26:14 - (Main Thread) - created thread 3 for processing device 7C:61:93:6D:5F:0B in room Wohnzimmer for peer 192.168.179.38 (UUID: 971e4a08b092021583c6d89828dd3613)
2014-10-25 14:26:14 - (Main Thread) - created thread 4 for processing device 7C:61:93:6D:5F:0B in room Schlafzimmer for peer 192.168.179.38 (UUID: 971e4a08b092021583c6d89828dd3613)
2014-10-25 14:26:14 - (Main Thread) - processing state message for device iPhone 5S in room Wohnzimmer (UUID: 45a0af6cd4428e6d4c906b47aedd37af)
2014-10-25 14:26:14 - (Thread 2) - Schlafzimmer accepted command for 34:E2:FD:41:86:77
2014-10-25 14:26:14 - (Thread 3) - Wohnzimmer accepted command for 7C:61:93:6D:5F:0B
2014-10-25 14:26:14 - (Thread 1) - Wohnzimmer changing to presence timeout (180) for device 34:E2:FD:41:86:77
2014-10-25 14:26:14 - (Thread 1) - Wohnzimmer accepted command for 34:E2:FD:41:86:77
2014-10-25 14:26:15 - (Thread 4) - Schlafzimmer accepted command for 7C:61:93:6D:5F:0B
2014-10-25 14:26:19 - (Main Thread) - processing state message for device in room Schlafzimmer (UUID: 45a0af6cd4428e6d4c906b47aedd37af)
2014-10-25 14:26:21 - (Main Thread) - processing state message for device in room Wohnzimmer (UUID: 971e4a08b092021583c6d89828dd3613)
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

der-Lolo

Mein Output schaut so aus...

Zitatroot@cubie:/var/log# collectord -vv -c /etc/collectord.conf
2014-10-25 14:30:34 - (Main Thread) - started with PID 2674
2014-10-25 14:30:34 - (Main Thread) - reading configuration file
2014-10-25 14:30:34 - (Main Thread) - no config errors found
2014-10-25 14:30:34 - (Main Thread) - created socket on 0.0.0.0 with port 5222
2014-10-25 14:30:34 - (Main Thread) - finished initialization. entering main loop
2014-10-25 14:31:29 - (Main Thread) - new connection from 127.0.0.1:33217
2014-10-25 14:31:29 - (Main Thread) - received new command from 127.0.0.1:33217 - 94:D7:71:CA:4C:97|30
2014-10-25 14:31:29 - (Main Thread) - generating new UUID for client 127.0.0.1 - 62102c8f6c4524f4461de3ec690a9726
2014-10-25 14:31:29 - (Main Thread) - created thread 1 for processing device 94:D7:71:CA:4C:97 in room BeagleBoneBlack for peer 127.0.0.1 (UUID: 62102c8f6c4524f4461de3ec690a9726)
2014-10-25 14:31:29 - (Main Thread) - created thread 2 for processing device 94:D7:71:CA:4C:97 in room Cubietruck for peer 127.0.0.1 (UUID: 62102c8f6c4524f4461de3ec690a9726)
2014-10-25 14:31:29 - (Main Thread) - processing state message for device in room BeagleBoneBlack (UUID: 62102c8f6c4524f4461de3ec690a9726)
2014-10-25 14:31:29 - (Main Thread) - processing state message for device in room Cubietruck (UUID: 62102c8f6c4524f4461de3ec690a9726)
2014-10-25 14:31:29 - (Thread 1) - BeagleBoneBlack : could not create socket to 192.168.178.200 - Connection refused -
2014-10-25 14:31:29 - (Thread 1) - BeagleBoneBlack socket to 192.168.178.200:5111 for device 94:D7:71:CA:4C:97 closed. Trying to reconnect...
2014-10-25 14:31:29 - (Thread 2) - Cubietruck : could not create socket to 127.0.0.1 - Connection refused -
2014-10-25 14:31:29 - (Thread 2) - Cubietruck socket to 127.0.0.1:5111 for device 94:D7:71:CA:4C:97 closed. Trying to reconnect...


Markus Bloch

Dann läuft der presenced nicht auf deinem Cubietruck und BeagleBone
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

der-Lolo

sorry - ich habe im configfile die IPs vertauscht. er läuft jetzt...
Stammt der Wiki Artikel von Dir?
Ein kurzer Hinweis wo sich die .config Files befinden wäre sicher gut - falls es noch wer benutzen möchte.

Markus Bloch

Ja der Artikel ist von mir, werde ich demnächst einfügen.

Ein schönes Wochenende noch.

Gruß
Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

der-Lolo

Tausend Dank für deine spontane Hilfe - Dir auch ein schönes WE!

Simon74

Meine Frage passt hier vielleicht nicht umbedingt rein, ich möchte aber nicht extra ein neues Thema erstellen.

Ich nutze neben dem Cubietruck noch einen Raspi als 2. presenced Daemon.
Ich hätte nun diesen Bluetooth-Dongle noch als Streamlieferant für einen Bluetooth-Lautsprecher genutzt.
So wie es aussieht verträgt sich das aber mit presenced nicht, es stottert..
Sobald ich den presenced Daemon beende, funktioniert der Stream einwandfrei.

Könne ich hier etwas an den presenced Daemon-Einstellungen anpassen, oder hilft hier wirklich nur ein separater Dongle ??