Ich habe heute mal mit lepresenced und collectord rumgespielt. Allerding bekomme ich es nicht hin, dass die GTags auf present wechseln. Sie bleiben immer im state active. Meine Configuration sieht wie folgt aus:
Host: 192.168.2.5 (bzw. 127.0.0.1) mir lepresence und collectord
Remote: 192.168.2.6 mit lepresence
Wenn ich auf beiden nur lepresence mit Port 5333 nutze, dann geht der GTag in den State present und alles funktioniert. Will ich nun mit collectord bleibt er im state active stehen. Die Einrichtung sieht dann so aus:
Host:
Internals:
ADDRESS 7C:2F:80:AA:62:BB
CFGFN
CHANGED
DEF lan-bluetooth 7C:2F:80:AA:62:BB 127.0.0.1:5222 120
DeviceName 127.0.0.1:5222
FD 37
MODE lan-bluetooth
NAME AE.GTag.Etienne
NOTIFYDEV global
NR 243
NTFY_ORDER 50-AE.GTag.Etienne
PARTIAL
STATE active
TIMEOUT_NORMAL 120
TIMEOUT_PRESENT 120
TYPE PRESENCE
READINGS:
2017-09-01 10:56:23 command_accepted yes
2017-09-01 10:56:22 daemon lepresenced V0.81
2017-09-01 10:56:22 device_name Gigaset G-tag
2017-09-01 10:56:23 model lan-bluetooth
2017-09-01 10:56:22 presence present
2017-09-01 10:56:22 rssi -70
2017-09-01 10:56:23 state active
helper:
CURRENT_STATE present
CURRENT_TIMEOUT normal
Attributes:
event-on-change-reading .*
group Anwesenheit
room Etienne
Remote:
Internals:
ADDRESS 7C:2F:80:AA:62:BB
CFGFN
CHANGED
DEF lan-bluetooth 7C:2F:80:AA:62:BB 192.168.2.5:5222 120
DeviceName 192.168.2.5:5222
FD 9
MODE lan-bluetooth
NAME AE.GTag.Etienne
NOTIFYDEV global
NR 24
NTFY_ORDER 50-AE.GTag.Etienne
PARTIAL
STATE active
TIMEOUT_NORMAL 120
TIMEOUT_PRESENT 120
TYPE PRESENCE
Readings:
2017-09-01 10:59:31 command_accepted yes
2017-09-01 10:59:31 state active
Helper:
CURRENT_TIMEOUT normal
Attributes:
event-on-change-reading .*
collectord conf:
# room definition
#[room-name] # name of the room
#address=192.168.2.5 # ip-address or hostname
#port=5111 # tcp port which should be used (5111 is default)
#presence_timeout=120 # timeout in seconds for each check when devices are $
#absence_timeout=20 # timeout in secondsfor each check when devices are a$
[wohnung]
address=127.0.0.1
port=5111
presence_timeout=180
absence_timeout=20
[keller]
address=192.168.2.6
port=5111
presence_timeout=120
absence_timeout=20
Im Log von collectord finde ich folgendes:
2017-09-01 10:55:59 - =================================================
2017-09-01 10:55:59 - started with PID 1324
2017-09-01 10:55:59 - reading configuration file
2017-09-01 10:55:59 - no config errors found
2017-09-01 10:55:59 - forked with PID 1325
2017-09-01 10:56:00 - created socket on 0.0.0.0 with port 5222
2017-09-01 10:56:23 - new connection from 127.0.0.1:46848
2017-09-01 10:56:23 - created thread 1 for processing device 7C:2F:80:AA:62:BB in room wohnung for peer 127.0.0.1 (UUID: 00a0546c602288f903c6b2f80e981276)
2017-09-01 10:56:23 - created thread 2 for processing device 7C:2F:80:AA:62:BB in room keller for peer 127.0.0.1 (UUID: 00a0546c602288f903c6b2f80e981276)
2017-09-01 10:59:31 - new connection from 192.168.2.6:57904
2017-09-01 10:59:31 - created thread 3 for processing device 7C:2F:80:AA:62:BB in room wohnung for peer 192.168.2.6 (UUID: 6acafdd953cbb4eaa30ceeced77f8c6d)
2017-09-01 10:59:32 - created thread 4 for processing device 7C:2F:80:AA:62:BB in room keller for peer 192.168.2.6 (UUID: 6acafdd953cbb4eaa30ceeced77f8c6d)
Ändere ich den Port in der Conf-Datei von 5111 auf 5222 ist der Status des GTags bei beiden FHEM Instanzen disconnected. Irgendwie habe ich es noch nicht raus, was ich falsch mache.
lepresenced habe ich Version 0.81 und collectord 1.7
Edit:
Übrigens konnte ich collectord nicht mittels sudo apt-get install collectord-1.7.deb
installieren nachdem ich es heruntergeladen hatte. Ich musste es mittels sudo dpkg -i collectord-1.7.deb
installieren.
Ändere mal die Ports in der collectord.conf auf 5333.
Von unterwegs gesendet.
Versuch mal bitte den Port deiner defines auf den Port des Collectord zu setzen.
Ich hab das so seit Monaten laufen und auch dokumentiert.
https://wiki.fhem.de/wiki/Anwesenheitserkennung#Verwendung_von_Collectord_bei_mehreren_PRESENCE_Installationen_mit_LE-Devices (https://wiki.fhem.de/wiki/Anwesenheitserkennung#Verwendung_von_Collectord_bei_mehreren_PRESENCE_Installationen_mit_LE-Devices)
Das ist auch der einzige Unterschied den ich in deiner Config erkennen kann.
@PatrickR damit klappt es. Vielen Dank :) Verstehe ich nicht wieso.
@Devender: Habe mich an den Wiki Artikel gehalten, aber finde die Erklärung bezüglich der Ports verwirrend. Wieso musste ich jetzt 5333 nehmen? Wieso ist im Wiki von 5111 die Rede und collectord startet nach deb installation mit 5222??
Der Standardport von lepresened ist 5333. Daher vermutlich der Hinweis von Patrick.
Somit werden deine Tags vom lepresened erkannt und bekommen den State present.
Werden bei deinen Tags denn jetzt beide "rooms" also Keller und Wohnzimmer angezeigt?
Der Standardport von collectord ist 5222. Ich musste den anpassen, da mein ejabberd schon auf 5222 läuft.
Ich hab mir noch mal meine collectord conf angeschaut. Ich hätte schwören können, ich habe da POrt 5111 drin stehen:
[Haus]
address=127.0.0.1
port=5333
presence_timeout=60
absence_timeout=60
[Energiemessung]
address=192.168.178.128
port=5333
presence_timeout=50
absence_timeout=50
Ist aber auch 5333.
Aber meine Tags haben das define mit 5111 und werden alle erkannt!? ???
Auszug aus dem Remote Pi (ohne Collectord)
Internals:
ADDRESS 7C:2F:80:AD:BC:F7
CFGFN /opt/fhem/manuell/presence.cfg
CHANGED
DEF lan-bluetooth 7C:2F:80:AD:BC:F7 192.168.178.28:5111 60
DeviceName 192.168.178.28:5111
FD 24
MODE lan-bluetooth
NAME TT
NOTIFYDEV global
NR 138
NTFY_ORDER 50-TT
PARTIAL
STATE present
TIMEOUT_NORMAL 60
TIMEOUT_PRESENT 60
TYPE PRESENCE
READINGS:
2017-08-30 02:35:05 battery ok
2017-08-30 02:35:05 batteryLevel 75
2017-08-29 20:34:13 command_accepted yes
2017-09-01 20:42:31 daemon lepresenced V0.82
2017-09-01 20:42:31 device_name Gigaset G-tag
2017-09-01 20:42:31 model lan-lepresenced
2017-09-01 20:42:31 presence present
2017-05-12 21:59:20 room daemon=lepresenced V0.8
2017-09-01 20:42:31 rooms Energiemessung,Haus
2017-09-01 20:42:31 rssi -86
2017-09-01 20:42:31 state present
helper:
CURRENT_STATE present
CURRENT_TIMEOUT normal
Attributes:
A3 st_autos
alias Audi-TT
devStateIcon present:10px-kreis-gruen absent:10px-kreis-rot maybe.*:10px-kreis-gelb
event-on-change-reading state
group Anwesenheit
icon car@grey
room Haus
userReadings Batterie
userattr A3 A3_map structexclude
verbose 0
Auszug aus dem Haupt Pi mit collectord
Internals:
ADDRESS 7C:2F:80:A1:2A:4D
CFGFN /opt/fhem/manuell/presence.cfg
DEF lan-bluetooth 7C:2F:80:A1:2A:4D 127.0.0.1:5111 60
DeviceName 127.0.0.1:5111
FD 4
MODE lan-bluetooth
NAME A3
NOTIFYDEV global
NR 218
NTFY_ORDER 50-A3
PARTIAL
STATE present
TIMEOUT_NORMAL 60
TIMEOUT_PRESENT 60
TYPE PRESENCE
READINGS:
2017-03-12 10:17:22 battery ok
2017-03-12 10:17:22 batteryLevel 56
2017-09-01 20:45:40 command_accepted yes
2017-09-01 20:46:41 daemon lepresenced V0.83
2017-09-01 20:46:41 device_name Gigaset G-tag
2017-09-01 20:46:41 model lan-lepresenced
2017-09-01 20:46:41 presence present
2017-09-01 20:46:41 rooms Energiemessung,Haus
2017-09-01 20:46:41 rssi -92
2017-09-01 20:46:41 state present
helper:
CURRENT_STATE present
CURRENT_TIMEOUT normal
Attributes:
Gaeste st_autos
absenceThreshold 3
alias Audi-A3
anwesend st_autos
devStateIcon present:10px-kreis-gruen absent:10px-kreis-rot maybe.*:10px-kreis-gelb
group Anwesenheit
icon car@blue
presenceThreshold 1
room Haus
userReadings Batterie
userattr Gaeste Gaeste_map anwesend anwesend_map structexclude
verbose 0
Auch das Log sagt alles Ok:
2017-09-01 20:45:40 - new connection from 127.0.0.1:34042
2017-09-01 20:45:40 - created thread 43 for processing device 7C:2F:80:A1:2A:4D in room Haus for peer 127.0.0.1 (UUID: d36a851e02236443ef97ef1e4e8ca442)
2017-09-01 20:45:40 - created thread 44 for processing device 7C:2F:80:A1:2A:4D in room Energiemessung for peer 127.0.0.1 (UUID: d36a851e02236443ef97ef1e4e8ca442
Ok jetzt verstehe ich es. Lepresenced läuft quasi ganz normal auf seinem Port. Collected lauscht auf diesem, daher muss in der Conf der Port von Lepresenced eingetragen werden. Das Device in FHEM hingegen bekommt seine Info von collected und muss daher auf den Port von Collected lauschen, welchen man beim Start sieht. Jetzt habe ich es verstanden.
Dann sollte aber das Wiki entsprechend angepasst werden, willst du das machen, oder soll ich?
Und ja, ich sehe im Reading Rooms nun beide Räume. Dies müsste ja sein, weil ich zum testen beide Pi direkt bei einander habe. Sobald der zweite Pi im Keller ist und nur noch dort das Signal empfangen wird, dann dürfte im Reading Rooms ja nur noch der aktuelle Raum stehen, richtig?
Danke für die Hilfe an alle.
Habs angepasst. Vom Grundsatz her war es richtig, wenn die lepresened Installation auf Port 5111 laufen würde.
Da Standard aber 5333 ist habe ich die Zeilen im Wiki angepasst.
Sobald einer der beiden die Verbindung zum Tag verliert, siehst du nur noch den einen im Reading rooms - korrekt.
Alles klar, dank dir :)
Zitat von: Amenophis86 am 01 September 2017, 11:10:52
Übrigens konnte ich collectord nicht mittels sudo apt-get install collectord-1.7.deb
installieren nachdem ich es heruntergeladen hatte. Ich musste es mittels sudo dpkg -i collectord-1.7.deb
installieren.
Habe im Wiki auch mal den Installationsbefehl auf sudo dpkg -i collectord-1.7.deb geändert. Da stand es mit apt-get und das kann ja nicht richtig sein, oder?
Mahlzeit!
Zitat von: Devender am 01 September 2017, 21:41:30
Habs angepasst. Vom Grundsatz her war es richtig, wenn die lepresened Installation auf Port 5111 laufen würde.
Da Standard aber 5333 ist habe ich die Zeilen im Wiki angepasst.
Ich hatte das seiner Zeit absichlich gemacht, damit sich presenced und lepresenced nicht in die Quere kommen.
Von unterwegs gesendet.
Verstehe nicht ganz was du meinst. Du hattest mit absicht 5111 geschrieben? Vom Prinzip wäre es ja kein Problem zu schreiben bei presenced 5111 bei lepresence 5333 Nicht, dass der nächste verwirrt ist, weil er presenced nimmt mit 5333 und es wieder nicht klappt :)