erweiterung von PRESENCE/(le)presenced/collectord um rssi werte

Begonnen von justme1968, 10 Juni 2016, 17:36:24

Vorheriges Thema - Nächstes Thema

PatrickR

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

PatrickR

Mahlzeit!

Kurze Frage: Im anderen Thread gab es eine etwas unspezifische Rückmeldung über Probleme mit dem 0.8-Paket aus Posting #59. Funktioniert das bei Euch?

Patrick
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

noshi21

Hi Patrick,

weiß zwar jetzt nicht genau welchen anderen Thread du meinst. Aber nein scheint keine Probleme mit dem .deb Paket zu geben.

Raspi 2 mit Wheezy, Raspi 3 mit Jessie. Läuft.

Danke!


Jamo

Hallo Patrick,
ja geht bei mir, ich habe das aus dem SYN genommen was Du eingecheckt hast.
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/Conbee III, FB7690, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack, Sonos, ESPresence

Markus Bloch

So, ich hab im angehangenen collectord die RSSI-Lieferung als Reading eingebaut für alle Räume, die einen RSSI melden.

Wenn man den collectord im Loglevel 2 startet (Argument -vv) sieht man auch eine entsprechende Logmeldung, sobald eine RSSI-Prüfung durchgeführt wird (mehrere Räume "present" mit RSSI-Daten).

Freue mich über Feedback, da ich es wiegesagt nur blind entwickle ohne Testmöglichkeit.

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)

Jamo

Hallo Markus,

danke vielmals, super, das funktioniert soweit wie gewünscht. Hier ein Listing von meinem Siemens GTAG. Wenn ich den GTAG durch die Wohnung trage, wird das rssi_*** entsprechend ge-updated, und der Raum mit dem kleinsten rssi als "Present" gesetzt.

Danke nochmal für die super Arbeit!

Internals:
   ADDRESS    7C:2F:80:98:C2:2A
   CHANGED
   DEF        lan-bluetooth 7C:2F:80:98:C2:2A 127.0.0.1:5222 60 60
   DeviceName 127.0.0.1:5222
   FD         26
   MODE       lan-bluetooth
   NAME       Presence_GTag_RED_collect
   NOTIFYDEV  global
   NR         3057
   NTFY_ORDER 50-Presence_GTag_RED_collect
   PARTIAL
   STATE      present flurLE
   TIMEOUT_NORMAL 60
   TIMEOUT_PRESENT 60
   TYPE       PRESENCE
   Readings:
     2017-03-10 08:59:16   Batterie        47
     2017-03-11 18:56:42   Battery         ok
     2017-03-11 18:56:40   command_accepted yes
     2017-03-11 19:11:04   daemon          lepresenced V0.7dev4
     2017-03-11 19:11:04   device_name     Gigaset G-tag
     2017-03-11 19:11:04   presence        present
     2017-03-11 19:11:04   rooms           flurLE
     2017-03-11 19:11:04   rssi            -67
     2017-03-11 19:11:04   rssi_SchlafLE   -75
     2017-03-11 19:11:04   rssi_flurLE     -67
     2017-03-11 19:11:04   rssi_wohnLE     -76
     2017-03-11 19:11:04   state           present
   Helper:
     CURRENT_STATE present
     CURRENT_TIMEOUT normal
     PRESENT_COUNT 0
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/Conbee III, FB7690, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack, Sonos, ESPresence

PatrickR

@Markus: Welchen Daemon-Wert reichst Du denn durch?


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

Markus Bloch

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

aktives Mitglied des FHEM e.V. (Technik)

peterk_de

Hallo zusammen,

ersteinmal, tolle Arbeit! Ich habe eben einmal mit der Bluetooth-LE Anwesenheitserkennung begonnen und gleich mal das Multi-Room-Feature getestet. Bei mir wird nun mein test-tag allerdings in allen Räumen angezeigt, obwohl alle lepresenced einen rssi-Wert liefern:

2017-04-04 15:37:03 - (Main Thread) - =================================================
2017-04-04 15:37:03 - (Main Thread) - started with PID 8158
2017-04-04 15:37:03 - (Main Thread) - reading configuration file
2017-04-04 15:37:03 - (Main Thread) - no config errors found
2017-04-04 15:37:03 - (Main Thread) - forked with PID 8159
2017-04-04 15:37:03 - (Main Thread) - created socket on 0.0.0.0 with port 5222
2017-04-04 15:37:03 - (Main Thread) - finished initialization. entering main loop
2017-04-04 15:37:18 - (Main Thread) - new connection from 127.0.0.1:36568
2017-04-04 15:37:18 - (Main Thread) - received new command from 127.0.0.1:36568 - 20:cd:39:9e:d1:1c|30
2017-04-04 15:37:18 - (Main Thread) - generating new UUID for client 127.0.0.1 - d8ee0ad8eae5409675b78497d89e7351
2017-04-04 15:37:18 - (Main Thread) - created thread 1 for processing device 20:cd:39:9e:d1:1c in room Mitte for peer 127.0.0.1 (UUID: d8ee0ad8eae5409675b78497d89e7351)
2017-04-04 15:37:18 - (Main Thread) - created thread 2 for processing device 20:cd:39:9e:d1:1c in room Oben for peer 127.0.0.1 (UUID: d8ee0ad8eae5409675b78497d89e7351)
2017-04-04 15:37:18 - (Main Thread) - created thread 3 for processing device 20:cd:39:9e:d1:1c in room Büro for peer 127.0.0.1 (UUID: d8ee0ad8eae5409675b78497d89e7351)
2017-04-04 15:37:18 - (Main Thread) - created thread 4 for processing device 20:cd:39:9e:d1:1c in room Unten for peer 127.0.0.1 (UUID: d8ee0ad8eae5409675b78497d89e7351)
2017-04-04 15:37:19 - (Main Thread) - processing state message for device in room Büro (UUID: d8ee0ad8eae5409675b78497d89e7351) - value: absence
2017-04-04 15:37:19 - (Main Thread) - processing state message for device in room Oben (UUID: d8ee0ad8eae5409675b78497d89e7351) - value: present - data: device_name=(unknown);rssi=-90;daemon=lepresenced V0.8
2017-04-04 15:37:19 - (Main Thread) - processing state message for device in room Unten (UUID: d8ee0ad8eae5409675b78497d89e7351) - value: present - data: device_name=Elgato Smart Key;rssi=-61;daemon=lepresenced V0.8
2017-04-04 15:37:19 - (Main Thread) - processing state message for device in room Mitte (UUID: d8ee0ad8eae5409675b78497d89e7351) - value: present - data: device_name=Elgato Smart Key;rssi=-81;daemon=lepresenced V0.8
2017-04-04 15:37:19 - (Main Thread) - processing state message for device in room Oben (UUID: d8ee0ad8eae5409675b78497d89e7351) - value: present - data: device_name=(unknown);rssi=-90;daemon=lepresenced V0.8
2017-04-04 15:37:19 - (Main Thread) - processing state message for device in room Unten (UUID: d8ee0ad8eae5409675b78497d89e7351) - value: present - data: device_name=Elgato Smart Key;rssi=-61;daemon=lepresenced V0.8
2017-04-04 15:37:19 - (Main Thread) - processing state message for device in room Mitte (UUID: d8ee0ad8eae5409675b78497d89e7351) - value: present - data: device_name=Elgato Smart Key;rssi=-81;daemon=lepresenced V0.8
2017-04-04 15:37:19 - (Thread 3) - Büro accepted command for 20:cd:39:9e:d1:1c
2017-04-04 15:37:19 - (Thread 2) - Oben accepted command for 20:cd:39:9e:d1:1c
2017-04-04 15:37:19 - (Thread 2) - Oben changing to presence timeout (180) for device 20:cd:39:9e:d1:1c
2017-04-04 15:37:19 - (Thread 4) - Unten accepted command for 20:cd:39:9e:d1:1c
2017-04-04 15:37:19 - (Thread 4) - Unten changing to presence timeout (180) for device 20:cd:39:9e:d1:1c
2017-04-04 15:37:19 - (Thread 1) - Mitte accepted command for 20:cd:39:9e:d1:1c
2017-04-04 15:37:19 - (Thread 1) - Mitte changing to presence timeout (180) for device 20:cd:39:9e:d1:1c
2017-04-04 15:37:19 - (Thread 2) - Oben accepted command for 20:cd:39:9e:d1:1c
2017-04-04 15:37:19 - (Thread 4) - Unten accepted command for 20:cd:39:9e:d1:1c
2017-04-04 15:37:19 - (Thread 1) - Mitte accepted command for 20:cd:39:9e:d1:1c
2017-04-04 15:37:38 - (Main Thread) - processing state message for device in room Büro (UUID: d8ee0ad8eae5409675b78497d89e7351) - value: absence
2017-04-04 15:37:58 - (Main Thread) - processing state message for device in room Büro (UUID: d8ee0ad8eae5409675b78497d89e7351) - value: absence
2017-04-04 15:38:18 - (Main Thread) - processing state message for device in room Büro (UUID: d8ee0ad8eae5409675b78497d89e7351) - value: absence
2017-04-04 15:38:38 - (Main Thread) - processing state message for device in room Büro (UUID: d8ee0ad8eae5409675b78497d89e7351) - value: absence
2017-04-04 15:38:58 - (Main Thread) - processing state message for device in room Büro (UUID: d8ee0ad8eae5409675b78497d89e7351) - value: absence


  NR         533115
   NTFY_ORDER 50-wohnung.schluessel.peter
   PARTIAL
   STATE      present / Mitte,Oben,Unten
   TIMEOUT_NORMAL 30
   TIMEOUT_PRESENT 30
   TYPE       PRESENCE
   Helper:
     Dblog:
       [....]
   Readings:
     Heute um 15:37 Uhr   command_accepted yes
     Heute um 15:42 Uhr   daemon          lepresenced V0.8
     Heute um 15:42 Uhr   device_name     (unknown)
     Heute um 15:42 Uhr   presence        present
     Heute um 15:42 Uhr   rooms           Mitte,Oben,Unten
     Heute um 15:42 Uhr   rssi            -92
     Heute um 15:42 Uhr   state           present
   Helper:
     CURRENT_STATE present
     CURRENT_TIMEOUT normal
Attributes:
         [...]



Hab ich da noch etwas übersehen? Versionen collectord-1.7.deb und lepresenced-0.8-1.deb

LG Peter


EDIT: OK fehler gefunden, der collectord hier im Thread ist wohl noch neuer, sorry!
FHEM auf Ubuntu-VM / 2xNUC Proxmox Cluster
UI: HomeKit, TabletUI, Grafana
IOdevs: 2xHueBridge, RaspiMatic-CCU, CUL868, 2xHarmonyHub, 6xRaspi-Roomnode mit CO2, VOC und lepresenced
Devices: 107xHomematic(IP), 96xPhilips Hue, 17xTECHEM, 12xBTLE, 8xSONOS, 2xHomeConnect, 1xShelly 3em, 1xNanoleaf ...

Markus Bloch

Ja, tut mir Leid. Ich bin nachwievor dauerhaft unterwegs und noch nicht dazu gekommen die Änderungen einzuchecken.

Werde ich erst in den nächsten Wochen schaffen.

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)

peterk_de

Ich habe das jetzt mit der letzten Version hier aus dem Thread prinzipiell prima am Laufen. Aktuell collectord mit 6 lepresenced - Roomnodes, einer davon extern per VPN und nciht im selben Funkbereich. Das ist m.E. vollkommen eincheck-würdig - installiert und läuft wie beschrieben und problemfrei.

Die Raumerkennung funktioniert prinzipiell auch, inkl. rssi-Werten je Raum, springt aber leider ziemlich oft hin- und her. Ich habe zum Test 3 Tags (Elgato Smart Keys, hatte ich zwischenzeitlich schon eingemottet) über nacht auf 3 Etagen verteilt und die Zuordnung zum Raum war leider eher zufällig und hat alle paar Minuten u.A. auch über 2 Stockwerke gewechselt. Das war aber eigentlich zu erwarten, da ich dank vieler Nachbarn eine hohe Funklast im 2,4GHz Band durch WLAN-Geräte und Handys rundherum habe.

2 kleine Bugs sind mir aufgefallen:

- Raumnamen mit Leerzeichen produzieren Unfug (der Teil nach dem Leerzeichen wandert zum Value des Readings), das müsste man ggf. aber nur mal irgendwo vermerken (hiermit quasi ja getan ;)
- Von einem der Tags wurden komischerweise seit irgendwann heute Nacht die Readings nicht mehr aktualisiert. Bei den 2 anderen schon, was ein wenig merkwürdig ist. Kann aber sein, dass ich hier zu viel rumgespielt habe (Tags in FHEM umbenennen, collectord neustartet etc.) und beobachte ich erstmal genauer.

Jedenfalls schonmal vielen Dank für das tolle Werk :)
FHEM auf Ubuntu-VM / 2xNUC Proxmox Cluster
UI: HomeKit, TabletUI, Grafana
IOdevs: 2xHueBridge, RaspiMatic-CCU, CUL868, 2xHarmonyHub, 6xRaspi-Roomnode mit CO2, VOC und lepresenced
Devices: 107xHomematic(IP), 96xPhilips Hue, 17xTECHEM, 12xBTLE, 8xSONOS, 2xHomeConnect, 1xShelly 3em, 1xNanoleaf ...

Martin Fischer

Zitat von: peterk_de am 05 April 2017, 09:54:39
- Raumnamen mit Leerzeichen produzieren Unfug (der Teil nach dem Leerzeichen wandert zum Value des Readings), das müsste man ggf. aber nur mal irgendwo vermerken (hiermit quasi ja getan ;)

Oder besser:
Es FHEM gleichziehen: Dort sind Leerstellen im Raumnamen sehr wohl erlaubt und wird auch von mir seit vielen, vielen Jahren ohne irgendwelche "Nebenwirkungen" genutzt. Ausnahme: ROOMMATE und PRESENCE.

Ich würde es begrüssen, wenn das Verhalten an FHEM angepaßt wird und Leerstellen im Raumnamen erlaubt sind.

Gruß Martin
--
Admin, Developer, Gründungsmitglied des FHEM e.V.

Markus Bloch

Zitat von: peterk_de am 05 April 2017, 09:54:39
- Raumnamen mit Leerzeichen produzieren Unfug (der Teil nach dem Leerzeichen wandert zum Value des Readings), das müsste man ggf. aber nur mal irgendwo vermerken (hiermit quasi ja getan ;)

Hab das Leerzeichenproblem in der angehangenen Version behoben. Bitte nochmals testen. Wenn dann alles soweit passt, würde ich die Version einchecken und neue Pakete bauen.

Zitat von: Martin Fischer am 05 April 2017, 21:17:41
Es FHEM gleichziehen: Dort sind Leerstellen im Raumnamen sehr wohl erlaubt und wird auch von mir seit vielen, vielen Jahren ohne irgendwelche "Nebenwirkungen" genutzt. Ausnahme: ROOMMATE und PRESENCE.

Das Modul PRESENCE hat an sich keine Probleme mit Leerzeichen im Raumnamen. In diesem Fall war der collectord schuld, der die Leerzeichen nicht entsprechend im Readingnamen maskiert hat. Das habe ich nun mit der anhängenden Version beseitigt. Sollten dir darüber hinaus weitere Probleme bekannt sein, bin ich natürlich bereit diese zu beseitigen.

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)

Martin Fischer

Zitat von: Markus Bloch am 08 April 2017, 13:08:01
Das Modul PRESENCE hat an sich keine Probleme mit Leerzeichen im Raumnamen. In diesem Fall war der collectord schuld, der die Leerzeichen nicht entsprechend im Readingnamen maskiert hat. Das habe ich nun mit der anhängenden Version beseitigt. Sollten dir darüber hinaus weitere Probleme bekannt sein, bin ich natürlich bereit diese zu beseitigen.

Danke Markus...
--
Admin, Developer, Gründungsmitglied des FHEM e.V.

Martin Fischer

Es scheint so, als wenn durch die Leerstellen die Readings verloren gehen...

muss ich mal beobachten..


Internals:
   ADDRESS    xx:xx:xx:xx:xx:xx
   CFGFN      /etc/fhem/conf.d/60_presence.cfg
   CHANGED
   DEF        lan-bluetooth xx:xx:xx:xx:xx:xx 127.0.0.1:5223 10 30
   DeviceName 127.0.0.1:5223
   FD         67
   MODE       lan-bluetooth
   NAME       user.martin.gtag.01.bluetooth
   NOTIFYDEV  global
   NR         2146
   NTFY_ORDER 50-user.martin.gtag.01.bluetooth
   PARTIAL
   STATE      present
   TIMEOUT_NORMAL 10
   TIMEOUT_PRESENT 30
   TYPE       PRESENCE
   Readings:
     2017-03-24 17:14:30   batterylevel    21
     2017-04-08 13:28:01   command_accepted yes
     2017-04-08 13:28:32   daemon          lepresenced V0.8
     2017-04-08 13:28:32   device_name     Gigaset G-tag
     2017-04-08 13:28:32   presence        present
     2017-04-08 13:28:32   room            EG Flur
     2017-04-08 13:26:44   rooms           EG_Flur
     2017-04-08 13:28:32   rssi            -73
     2017-04-08 13:28:32   rssi_1
     2017-04-08 13:26:44   rssi_EG_Flur    -75
     2017-04-08 12:29:44   rssi_KG_Keller_2 -82
     2017-04-02 15:14:52   rssi_KG_Serverraum -87
     2017-03-31 14:50:17   rssi_OG_Flur    -67
     2017-04-08 13:26:44   rssi_OG_Wohnzimmer -80
     2017-04-08 13:28:32   state           present
   Helper:
     CURRENT_STATE present
     CURRENT_TIMEOUT present
Attributes:
   absenceThreshold 10
   alias      G-Tag Martin (schwarz)
   attendance user.martin.presence.01.grp
   devStateIcon present:HM-OU-LED16.green absent:HM-OU-LED16.off .*:HM-OU-LED16.orange
   event-on-change-reading state
   room       Bewohner
   userattr   attendance attendance_map structexclude
--
Admin, Developer, Gründungsmitglied des FHEM e.V.