Vorstellung meiner Anwesenheitserkennung mit Bluetooth

Begonnen von Markus Bloch, 27 Januar 2013, 13:39:33

Vorheriges Thema - Nächstes Thema

Lars

Markus, und damit geht 4.0 Low Energy? :-)
Hach, manchmal wenn man im Rausch ist kann man einfach nicht stoppen...
FHEM Hauptsystem auf ESXi VM | dblog | 3 rPi für Nebensysteme | 2 Beaglebone Black Test- / Integrationssystem

Markus Bloch

Zitat von: Lars schrieb am Di, 29 Januar 2013 23:01Markus, und damit geht 4.0 Low Energy? :-)
Hach, manchmal wenn man im Rausch ist kann man einfach nicht stoppen...

Zumindest steht in der Produktbeschreibung "besonders niedriger Energieverbrauch". Aber das ist ja auch nix halbes und nix ganzes ;-)
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

punker

Zitat von: MartinMuc schrieb am Di, 29 Januar 2013 22:45Ok also das Problem ist wenn man lokal arbeitet, das aus presencd kein Raum mitgeliefert wird :


in der 73_presence.pm habe ich jetzt testweise die Zeile
elsif($buf =~ /present;(.+?);(.+?)$/)

in

elsif($buf =~ /present;(.+?)$/)

geändert und schon funktioniert alles wie es soll.

Genau das wars!!!
Jetzt funzt es so wies soll!

Vielen Dank!
LG

Dieter

The truth is out there!

punker

@Markus Bloch

Hab jetzt dein 3.Modul getestet und nu funzt es so wie es soll!

Danke
LG

Dieter

The truth is out there!

Markus Bloch

Zitat von: punker schrieb am Di, 29 Januar 2013 23:13@Markus Bloch

Hab jetzt dein 3.Modul getestet und nu funzt es so wie es soll!

Danke


So sollte es sein, das freut mich :-)

Viele Grüße

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)

Markus Bloch

Zitat von: MartinMuc schrieb am Di, 29 Januar 2013 20:01Also bei mir funktionier alles Super, habe es heute eingerichtet.

danke nochmal Markus fürs bereitstellen, ich wollte mir sowas schon fast selber basteln.

@punker läuft der presencd ? Was hast du in der fhem. cfg drin?

Bei mir ist es so eingetragen und funktioniert

[define iPhone PRESENCE 127.0.0.1:5111 xx:xx:xx:xx:xx:xx

define watchdog_Anwesenheit watchdog iPhone:absent 00:15 iPhone:present { fhem "set Gesamte_Wohnung off";; fhem "setstate watchdog_Anwesenheit defined";;}
attr watchdog_Anwesenheit regexp1WontReactivate 1


Ich hab das mal unverändert rein, nachdem mein CUL erst morgen kommt hab ich noch keine funktionalität daimter, aber statuswechsel klappe

Hallo Martin,

bitte beachte, dass der Befehl "set Gesamte_Wohnung off" bei dir nicht zwangsweise funktioniert. Ich habe bei mir ein structure Objekt angelegt welches Gesamte_Wohnung heist und alle Stecker und Lichter in der Wohnung mit einmal zu schalten. Evtl. hast du mehr geräte oder ein ähnliches Structure Objekt was nur anders heist.

Nicht das du dich dann wunderst, warum der watchdog nicht funktioniert ;-)

Viele Grüße

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)

MartinMuc

Hi Markus,

Ist klar ;) wie gesagt morgen word das bischen was ich aktuell da habe eingerichtet, sollte Hermes den CUL bringen ;) Da wird dann alles angepaßt..

Jetzt ist es nur darum gegangen den bluetooth stick ans laufen zu bringen :)
Cubietruck mit CUL und HM USB

justme1968

hallo markus,

mein dongle ist eben gekommen und der erste versuch mit dem presenced schaut schon sehr gut aus. wirklich klasse. auch wenn ich noch schnell eine andere perl version wegen der threads installieren und die kernel module für meine synology diskstation kompilieren musste. :)

hast du eigentlich mal probiert ob sich mit den rssi oder lq werten etwas machen läßt?  vielleicht kann man da ja auch schon ein wenig triangulieren oder zumindest die anwesenheit genauer auf einen raum einschränken. wenn ich das paaren hin bekomme versuche ich es mal.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Markus Bloch

Hi Andre,

das hört sich doch super an. Um den RSSI Wert ermitteln zu können muss man sich mit dem Bluetooth-Device direkt verbinden. Dann kann man den Empfangspegel messen. Dies mach ich aktuell nicht.

Doch selbst wenn man die RSSI Werte hat ist die Frage wie man die Orstangabe in der Wohnung durchführt (in Meter,...) und wie man definiert wo jedes Raspberry mit presenced in der Wohnung genau steht.

Um dein Device zu pairen, versuch mal auf der Konsole:

echo "0000" | bluez-simple-agent hci0 00:12:A1:90:39:A9

Viele Grüße

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)

justme1968

hallo markus,

den simple agent hab ich noch nicht zum laufen bekommen. inzwischen habe ich aber rausgefunden das das pairen nicht nötig ist um die rssi wert zu ermitteln. ein hcitool cc xx:xx:xx:xx:xx:xx und direkt danach ein hcitool rssi xx:xx:xx:xx:xx:xx gibt den wert zurück. ich denke ich werde damit noch ein wenig experimentieren um mit einem schwellwert für die signalstärke die erkennung wirklich auf ein Zimmer zu beschränken. mein haus ist in holzständer bauweise und blutooth kommt deutlich weiter als nur ein Zimmer :).

noch zwei fragen:
- hat es einen grund das du info verwendest und nicht nur name. das sollte noch einen tick schneller gehen.
- presenced ist mir inzwischen zwei mal hängen geblieben. erst nach einem 'hciconfig hci0 down' und 'hciconfig hci0 up' gingen die anfragen wieder. ist dir das schon mal passiert ?

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Markus Bloch

Hallo Andre,

in der aktuellen Fassung (die letzte Version die ich hier mal geposttet hatte) wird die Abfrage via "hcitool name" XX:XX:XX:XX:XX:XX" durchgeführt.

Inwiefern ist presenced hängen geblieben? Woran hast du das erkannt? In dem Falle, dass der hcitool Befehl länger brauch, bleibt dabei eben nur ein Thread stehen, solange bis der Befehl etwas zurückgibt, das ganze Programm sollte das aber nicht beeinflussen, da es durch Threads entkoppelt ist.

Einen solchen Fall hatte ich aber selber noch nicht gehabt.

Viele Grüße

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)

justme1968

hallo markus,

stimmt. ich hatte noch eine ältere version.

weder die manuelle telnetverbindung hat noch reagiert noch ließ sich der daemon mit ctr-c beenden. ich verfolge mal ob das wieder passiert.

und noch was: das fhem modul setzt den device namen immer zwei mal. beim überfliegen würde ich denken die zeile 174 ist überflüssig. der name wird ja im if und im else gesetzt.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Markus Bloch

Zitat von: justme1968 schrieb am Fr, 01 Februar 2013 18:01und noch was: das fhem modul setzt den device namen immer zwei mal. beim überfliegen würde ich denken die zeile 174 ist überflüssig. der name wird ja im if und im else gesetzt.

Vielen Dank für den Hinweis, hab ich geändert. Das Resultat erhältst du in den kommenden Tagen mit dem initialen Release innerhalb von FHEM.

Viele Grüße

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)

Markus Bloch

Hallo zusammen,

ich hab soeben das Modul 73_PRESENCE.pm ins SVN eingecheckt. Ab morgen ist es via "update"-Befehl verfügbar. Allerdings hat sich hier die Definition ein wenig verändert.

Aktuell sind folgende Defines möglich


# Anwesenheitserkennung via PING
define <name> PRESENCE lan-ping 192.168.0.3 30              


# Anwesenheitserkennung via lokale Bluetooth Abfrage via "hcitool name XX:XX:XX:XX:XX:XX"
define <name> PRESENCE local-bluetooth A4:F6:BD:C9:20:15 30


# Anwesenheitserkennung via Bluetooth Abfrage durch presenced im Netzwerk (via "hcitool name XX:XX:XX:XX:XX:XX")
define <name> PRESENCE lan-bluetooth A4:F6:BD:C9:20:15 192.168.0.5:5111 30


# Anwesenheitserkennung via Bluetooth Abfrage durch collectord von mehreren presenced Instanzen im Netzwerk (via "hcitool name XX:XX:XX:XX:XX:XX")
define <name> PRESENCE lan-bluetooth A4:F6:BD:C9:20:15 192.168.0.3:5222 30



Bitte passt eure Definitionen nach dem update entsprechend an. Alle Varianten habe ich getestet und verifiziert.

Viele Grüße und viel Spaß

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)

justme1968

hallo markus,

beim überdenken der neuen syntax ist mir aufgefallen das es so nicht wirklich möglich ist ein gerät bzw eine person über unterschiedliche wege zu überwachen. wie schon angesprochen würde ich gerne mein iphone wenn es im haus ist ganz allgemein per wlan überwachen und wenn es in einem bestimmten zimmer ist per bluetooth.

ich weiss es ist kurz vor knapp... aber ich denke es wäre sinnvoll die syntax noch mal zu überdenken und einen weg zu finden einem gerät mehrere überwachungsmethoden zuzuweisen.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968