Anwesenheitserkennung Lepresenced und Collectord

Begonnen von rizo, 19 März 2017, 10:49:55

Vorheriges Thema - Nächstes Thema

Fixel2012

Gut, dann Danke ich dir erstmal herzlichst  ;D

Werde die nächste Tage überall Fhem installieren und die Definitionen anlegen.



Hat echt lange gedauert bis ich verstanden hab wie das ganze funzt *schäm*
Fhem 5.8 auf Raspi 3, HMLAN und 868MHz CUL mit einigen Komponenten, Z-Wave Rollladenaktoren, Tablet UI, 433 MHz CUL mit Baumarktsteckdosen und Temp Sensoren, Amazon Echo, Echo Dot, 2x SONOS  play1, 1x SONOS Connect AMP,  presence, HUE, Lightify

Amenophis86

Dann leg es mal an, teste und meld dich wieder, ob es klappt oder nicht.

Kein Problem, Hauptsache am Ende läuft es.
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

errazzor

Zitat von: Amenophis86 am 12 September 2017, 14:26:57
Ernsthaft? Du hast nur auf einem PI FHEM? :D Ja klar musst du das. Wie soll den das lepresenced auf den anderen PIs wissen nach was es suchen soll?

Also zur Erklärung nochmal:
- auf jedem PI FHEM + lepresenced + in FHEM ein Device mit dem Port 5222 und der IP des Pi mit collected
- auf dem HauptPi FHEM + lepresenced + in FHEM ein Device mit dem Port 5222 und der IP 127.0.0.1 + collected mit der Conf in der Port 5333 für die Devices

Dann ist das Wiki an dieser Stelle aber verkehrt.

Denn hier https://wiki.fhem.de/wiki/Anwesenheitserkennung#Verwendung_von_Collectord_bei_mehreren_PRESENCE_Installationen_mit_LE-Devices wird der gleiche Port für den collectord UND die defines der devices beschrieben...

Zitat
[RPi1]                    # Name (wird als Reading room bei den BT-Tags angezeigt) der presence Instanze
address=127.0.0.1              # Lokale Adresse RPi1 , da hier das Collectord später laufen soll!
port=5333                # Port der Presence Installation
presence_timeout=60        # Selbstgewaelte Pruefintervalle
absence_timeout=60        # Selbstgewaelte Pruefintervalle

[RPi2]                  # Name (wird als Reading room bei den BT-Tags angezeigt) der presence Instanze
address=192.168.178.127             # IP-Adresse der Instanz, wo nur das Presence laueft, also RPi2
port=5333                # Port der Presence Installation
presence_timeout=60        # Selbstgewaelte Pruefintervalle
absence_timeout=60        # Selbstgewaelte Pruefintervalle

Zitat
Konfiguration FHEM:
RPi1 define Gtag PRESENCE lan-bluetooth XX:XX:XX:XX:XX:XX 127.0.0.1:5333 60 Hinweis: Der Port ist der, des Collectord!! Also hier, Standard 5333
RPi2 define Gtag PRESENCE lan-bluetooth XX:XX:XX:XX:XX:XX 192.168.178.127:533360 Hinweis: Der Port ist der, des Collectord!! Also hier, Standard 5333 die IP-Adresse von RPi1

Das ist doch verkehrt oder?

Richtig ist doch:

collectord.conf -> Port 5333
define gtags -> Port 5222

:o

Amenophis86

Jain, das Problem ist, dass bei Devender die Ports wohl anders waren, als er das Wiki geschrieben hat.

Im Moment steht im Raum den gesamten Artikel neu zu strukturieren und zu verbessern, aber das dauert noch.
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

Fixel2012

Habe nun auf allen Pi's Fhem am laufen und alles definiert.

Zwischenzeitlich ging auch mal alles, dies aber leider nicht zuverlässig.

Der Gtag liegt nun genau neben dem Pi im 1OG, dieser findet aber innerhalb Fhem nichts. Mit dem hcitool ist er allerdings zu finden.

Alle Einstellungen sind wie von dir beschrieben Gesetzt.

Also in jeder Fhem Instanz den Port 5222 auf den Raspi der collector laufen hat. Und in der collector config jeden Raspi mit Port 5333.

Nach einem Neustart von dem Dienst lepresenced wird der GTag dann komischer Weise wieder gefunden.

Wie kann ich das ganze Debuggen?

Danke nochmal, Gruß,

Fixel

Fhem 5.8 auf Raspi 3, HMLAN und 868MHz CUL mit einigen Komponenten, Z-Wave Rollladenaktoren, Tablet UI, 433 MHz CUL mit Baumarktsteckdosen und Temp Sensoren, Amazon Echo, Echo Dot, 2x SONOS  play1, 1x SONOS Connect AMP,  presence, HUE, Lightify

Devender

Hi,

Korrekt, ich hatte nach dem Wikiartikel meine Konfiguration irgendwann noch mal angepasst, da ich Probleme hatte, weil meine Gtag eben nur noch selten erkannt wurden. Nach Analyse mit Patrick hatten wir aber auch nix gefunden.
Einging, dass ich noch alte Versionen hatte die nicht mal als .deb Paket installiert wurden.

Bezüglich Wiki, brauche ich Zeit (neben der normalen Arbeit) und eine sinnvolle Struktur. Das ist ein komplexer und grosser Wikiartikel, ich wuerde mich erst mal auf die Neu-Strukturierung von Presence und Lepresenced stürzen, da habe ich eher Ahnung als von Geofency etc.. Zusaetzlich auch collectord.
Da hatte ich die Tage auch von dtavb ein sehr gutes Schaubild bekommen, welches die Funktionsweise erläutert.
Ggf. Müssen wir das noch erweitern oder Anpassen, dass es auch Hand und Fuß hat.

Debuggen kannst du grundsaettlich wenn die Skripe lepresenced und/colledtord im debuglevel angepasst werden. Ich meine in der neusten Version kann man dass beim manuellen Start mitgeben.
Gelogged wird ja in /var/log/syslog

Es kann auch helfen, wenn du die BT Instanzen mal durchstartest.


sudo hciconfig hci0 down
sudo hciconfig hci0 up


Gruesse,
Dirk
FHEM 5.8 auf RasPi mit Jessy - CUL868, JeeLink Lacrosse
Komponenten: HM, IT, ELV, FB7390, FritzPL543,Sonos Play3
Mehrere Wandtablets sowie einen Smart Mirror
https://wiki.fhem.de/wiki/Anwesenheitserkennung#PRESENCE-Modul

errazzor

#36
Wurde der Wiki-Artikel nun abgespeckt? Da steht ja fast nichts mehr drin  :o

Ich stelle auch hier nochmal folgende Frage in der Hoffnung, dass mir das jemand beantworten kann und mag: (leider geht das für mich nirgendwo hervor..)

Wie verhält es sich denn mit den Scan-Intervallen, welche man an drei Stellen angeben kann/muss ? Addieren die sich?

Man gibt Intervalle in der collectord.conf, beim DEFINE des GtAGs sowie optional in Form der Attribute (z.b. absenceThreshold an).

Anhand folgender Beispielconfig - was kommt am Ende raus?

collectord.conf:


[Wohnzimmer]
address=192.168.178.38
port=5333
presence_timeout=60
absence_timeout=60


DEFINE
define GtAG1 PRESENCE lan-bluetooth xx:xx:xx:xx:xx:xx 192.168.178.36:5222 60


Attribute Gtags
absenceThreshold 2

Was mir soweit klar zu sein scheint:

Per Define wird alle 60 Sekunden gescannt und durch das Attribut "absenceThreshold" wird frühestens nach 120 Sekunden auf "absent" gestellt (zwei Checks negativ).

Wie wirkt sich jetzt aber noch die collectord.conf darauf aus ? Denn hier sind ja auch nochmal 60 Sekunden definiert.

Oder hat das Attribut "absenceThreshold" bei der Verwendung von collectord überhaupt keine Wirkung mehr, weil eben dieser den absence-Status setzt?

Wenn dem so wäre, dann würde mit der oben genannten Beispielkonfig bereits nach 60 Sekunden der Status auf absent gehen - richtig ? Oder addieren sich die beiden Werte (collectord und DEFINE) auf in diesem Fall 120 Sekunden?

Sorry für die vielen Fragen, aber dieses Konstrukt ist einfach sehr verwirrend.

Wenn jemand Licht ins Dunkel bringen könnte...


Amenophis86

Ich kann dir die Frage nicht beantworten, vielleicht machst du PatrickR mal auf das Thema aufmerksam. Er hat beide Programme programmiert.

Bezüglich des Wiki-Artikel. Da der Anwesenheits-Artikel zu groß geworden ist, wird er aktuell umgebaut und Teile ausgelagert.
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

errazzor

Danke. Ich habe PatrickR mal direkt angeschrieben und auf diesen Thread hier verwiesen, vielleicht antwortet er ja.

PatrickR

Hi! Sorry, bei collectord bin ich nicht wirklich im Thema. Er ist auch nicht von mir sondern von Markus

Patrick


Von unterwegs gesendet.
lepresenced - Tracking von Bluetooth-LE-Tags (Gigaset G-Tag) mittels PRESENCE

"Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning." - Rich Cook

Amenophis86

Stimmt, Sry. Fehlinformation von mir. Muss Markus Bloch sich wohl zu äußern :)
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

Markus Bloch

Zitat von: errazzor am 17 September 2017, 22:34:07
Wie wirkt sich jetzt aber noch die collectord.conf darauf aus ? Denn hier sind ja auch nochmal 60 Sekunden definiert.

Oder hat das Attribut "absenceThreshold" bei der Verwendung von collectord überhaupt keine Wirkung mehr, weil eben dieser den absence-Status setzt?

In der collectord.conf sind presence_timeout und absence_timeout für den jeweiligen Raum konfiguriert. Das bedeutet, sobald irgendein Gerät in diesem jeweiligen Raum anwesend/abwesend ist, wird das jeweilige Timeout an den verbundenen presenced/lepresenced geschickt um damit das Check-Interval entsprechend zu ändern.

In der PRESENCE-Definition kann man ebenfalls ein absence_timeout/presence_timeout setzen. Sobald sich der Zustand ändert, wird auch das jeweilige Timeout an den collectord gesandt. Dies hat aber auf die Checks in den jeweiligen Räumen und damit der collectord.conf keinen Einfluss. Der collectord schickt ein Statusupdate an PRESENCE nur, wenn das vorgegebene Timeout (von PRESENCE) erreicht ist und keine Statusänderung stattfand. Sobald eine Änderung des Status erfolgt wird natürlich sofort der Status an PRESENCE geschickt.

Das Attribut absenceThreshold/presenceThreshold funktioniert nachwievor. Hier ist nur wichtig wie man die Timeouts sowohl in PRESENCE als auch collectord.conf setzt.

Zitat von: errazzor am 17 September 2017, 22:34:07
Wenn dem so wäre, dann würde mit der oben genannten Beispielkonfig bereits nach 60 Sekunden der Status auf absent gehen - richtig ? Oder addieren sich die beiden Werte (collectord und DEFINE) auf in diesem Fall 120 Sekunden?

Nein, in diesem Fall würde der Status nach 60 Sekunden auf absent gehen. Die Werte werden nicht addiert.

- collectord.conf: Der tatsächliche Timeout mit dem der Check durchgeführt wird
- PRESENCE: Das Timeout, welches verstreichen muss, bevor collectord Statusupdates bei gleichbleibendem Zustand an PRESENCE meldet. Das geschieht aber erst, sobald ein Raum einen Check durchgeführt hat.

Ich hoffe ich konnte Licht ins Dunkle bringen.

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)

Devender

#42
Zitat von: errazzor am 17 September 2017, 22:34:07
Wurde der Wiki-Artikel nun abgespeckt? Da steht ja fast nichts mehr drin  :o


Hi,

nein, ich habe das Wiki nur umgebaut bzw. die Fülle an Informationen in Unterseiten gepackt. Es wurden keine Informationen gelöscht beim Umbau.
Im Bereich : https://wiki.fhem.de/wiki/Anwesenheitserkennung gibt es nun die Links zu:
https://wiki.fhem.de/wiki/PRESENCE
sowie:
https://wiki.fhem.de/wiki/GEOFENCY

und auf der Hauptseite ein groben Überblick über das Thema Anwesenheitserkennung mit BT.

Für Tipps und Ideen bin ich jederzeit offen um die Beschreibung des doch komplexen Themas für alle verständlich zu gestalten.

Grüße,
Dirk



FHEM 5.8 auf RasPi mit Jessy - CUL868, JeeLink Lacrosse
Komponenten: HM, IT, ELV, FB7390, FritzPL543,Sonos Play3
Mehrere Wandtablets sowie einen Smart Mirror
https://wiki.fhem.de/wiki/Anwesenheitserkennung#PRESENCE-Modul

errazzor

#43
Ok super, danke. Das hier sollte geändert werden (im PRESENCE Artikel):


Konfiguration FHEM:
RPi1 define Gtag PRESENCE lan-bluetooth XX:XX:XX:XX:XX:XX 127.0.0.1:5333 60 Hinweis: Der Port ist der, des Collectord!! Also hier, Standard 5333
RPi2 define Gtag PRESENCE lan-bluetooth XX:XX:XX:XX:XX:XX 192.168.178.127:533360 Hinweis: Der Port ist der, des Collectord!! Also hier, Standard 5333 die IP-Adresse von RPi1


Der Port 5333 ist an dieser Stelle falsch, es müsste 5222 heissen (Port des CollectorD).
5333 ist der Port von lepresenced.

Des weiteren wäre es super, wenn die Informationen von Markus Bloch zwei posts weiter oben ^^ mit aufgenommen werden. Seine Erklärung zum Verhalten der Werte habe ich sonst noch nirgendwo gefunden.

Ganz unten im Artikel von PRESENCE würde ich auch noch Markus Bloch als Ansprechpartner für collectord aufführen.

Devender

Hey,

ich habe die Portnummern nun noch mal angepasst. Hier kommt es immer darauf an wie man sein(e) System(e) konfiguriert hat.
Da bei mir Port 5222 vorher belegt war musste ich den Port vom collectord für mich abändern. Beim damaligen Schreiben des Artikels bin ich nicht von einer derartigen Resonanz ausgegangen  ;)

Auch die Anmerkungen zum treshold von Markus habe ich im Bereich des lepresenced und collectord eingefügt ebenso den AP zu collectord.

Viele Grüße,
Dirk
FHEM 5.8 auf RasPi mit Jessy - CUL868, JeeLink Lacrosse
Komponenten: HM, IT, ELV, FB7390, FritzPL543,Sonos Play3
Mehrere Wandtablets sowie einen Smart Mirror
https://wiki.fhem.de/wiki/Anwesenheitserkennung#PRESENCE-Modul