Anwesenheit: Problem mit Gtag-Erkennung (gelöst)

Begonnen von Stephan1965, 25 Juni 2018, 10:38:00

Vorheriges Thema - Nächstes Thema

PatrickR

Zitat von: Stephan1965 am 25 Juni 2018, 21:02:22

Known devices (5):
        mac: 54:d2:72:b9:eb:b1, ages:  0/ 0, rssi: -97, name: Nuki_06B9EBB1
        mac: 7c:2f:80:ea:ed:a8, ages:  0/ 1, rssi: -79, name: Gigaset G-tag
        mac: 7c:2f:80:ea:ee:23, ages:  1/ 1, rssi: -79, name: Gigaset G-tag
        mac: 7c:2f:80:ea:f2:3b, ages:  1/ 2, rssi: -83, name: Gigaset G-tag
        mac: 7c:2f:80:ea:f2:6f, ages:  0/ 1, rssi: -76, name: Gigaset G-tag

Das sieht alles sehr gut aus. Die G-Tags wurden vor 0 bzw. einer Sekunde das letzte Mal "gehört". D. h. das Problem tritt (noch) nicht auf.

Zitat von: Stephan1965 am 25 Juni 2018, 21:02:22
Jetzt stehen die Gtags in FHEM (natürlich) auf "disabled".
In dem Fall im Presence-Device in FHEM kurz auf "DEF" klicken und dann auf "modify...", ohne etwas zu ändern. Dann connected das Presence-Modul sofort neu. Danach bitte warten bis das Problem auftritt und das Log posten.

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

Stephan1965

Hallo Patrick,
die Gtags konnte ich eigentlich über die Konsole mit sudo hcitool lescan immer sehen. In FHEM waren diese aber zum gleichen Zeitpunkt als absent gezeigt. Oder dann doch als present. Oder maybe absent. Obwohl sich die Gtags physisch nicht bewegen. Sie liegen einfach neben mir in einer Entfernung von 4 Metern zum RPI.

Ich habe deine Methode
ZitatIn dem Fall im Presence-Device in FHEM kurz auf "DEF" klicken und dann auf "modify...", ohne etwas zu ändern. Dann connected das Presence-Modul sofort neu.
bei einem Gtag versucht, aber das hat nicht funktioniert. Danach war er immer noch auf disabled.

Mit der genannten Methode pi@raspberrypi:/ $ sudo service lepresenced start
pi@raspberrypi:/ $ sudo hcitool lescan
Set scan parameters failed: Input/output error
pi@raspberrypi:/ $ sudo hciconfig hci0 down
pi@raspberrypi:/ $ sudo hciconfig hci0 up
pi@raspberrypi:/ $ sudo hciconfig dev
hci0:   Type: Primary  Bus: UART
        BD Address: B8:27:EB:F6:91:74  ACL MTU: 1021:8  SCO MTU: 64:1
        UP RUNNING
        RX bytes:39686 acl:0 sco:0 events:1153 errors:0
        TX bytes:5213 acl:0 sco:0 commands:190 errors:0

pi@raspberrypi:/ $ sudo hcitool lescan
LE Scan ...
54:D2:72:B9:EB:B1 (unknown)
7C:2F:80:EA:ED:A8 (unknown)
7C:2F:80:EA:ED:A8 Gigaset G-tag
7C:2F:80:EA:F2:6F (unknown)
7C:2F:80:EA:F2:6F Gigaset G-tag
7C:2F:80:EA:EE:23 (unknown)
7C:2F:80:EA:EE:23 Gigaset G-tag
7C:2F:80:EA:F2:3B (unknown)
7C:2F:80:EA:F2:3B Gigaset G-tag
54:D2:72:B9:EB:B1 Nuki_06B9EBB1
^Cpi@raspberrypi:/ $
pi@raspberrypi:/ $
funktioniert der Scan in der Konsole wieder. Dann werden die Gtags auch in FHEM als present gezeigt. Aber schon nach kurzer Zeit ändert sich das auf "maybe absent" und dann schließlich auf "absent". Ein zeitgleicher Scan auf der Konsole zeigt die Gtags ohne Probleme.

Gruß

Stephan

PatrickR

Poste mal bitte ein list von dem PRESENCE-Device wenn es disabled ist.


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

CoolTux

Lass das mal mit den zeitgleichen scan auf der Konsole und starte einfach nur lepresenced .
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Stephan1965

Hallo,
nachfolgend in zeitlicher Abfolge.
Auf der Konsole
sudo service lepresenced stop

Damit ergibt sich z. B. beim Gtag_schwarzInternals:
   ADDRESS    7C:2F:80:EA:F2:3B
   DEF        lan-bluetooth 7C:2F:80:EA:F2:3B 127.0.0.1:5333    87
   DeviceName 127.0.0.1:5333
   INTERVAL_NORMAL 87
   INTERVAL_PRESENT 87
   MODE       lan-bluetooth
   NAME       GTAG_schwarz
   NEXT_OPEN  1529989398
   NOTIFYDEV  global
   NR         342
   NTFY_ORDER 50-GTAG_schwarz
   PARTIAL   
   STATE      disconnected
   TYPE       PRESENCE
   READINGS:
     2018-06-25 22:48:30   command_accepted yes
     2018-06-26 06:59:57   daemon          lepresenced V0.83
     2018-06-25 22:54:12   device_name     Gigaset G-tag
     2018-06-26 06:59:57   model           lan-lepresenced
     2018-06-26 06:59:57   presence        absent
     2018-06-26 06:59:57   rssi            unreachable
     2018-06-26 07:02:18   state           disconnected
   helper:
     ABSENT_COUNT 2
     CURRENT_STATE present
     CURRENT_TIMEOUT normal
Attributes:
   absenceThreshold 3
   event-on-change-reading presence
   group      Gigaset
   room       Residents


Wenn ich dann auf der Konsole sudo service lepresenced start eingebe, dann bleiben die Gtags disconnected.
Dann sudo hciconfig hci0 down -> Gtag present.
Nach ein paar Minuten dann "maybe absent". Keine physische Bewegung des Gtags.
Internals:
   ADDRESS    7C:2F:80:EA:F2:3B
   CHANGED   
   DEF        lan-bluetooth 7C:2F:80:EA:F2:3B 127.0.0.1:5333    87
   DeviceName 127.0.0.1:5333
   FD         32
   INTERVAL_NORMAL 87
   INTERVAL_PRESENT 87
   MODE       lan-bluetooth
   NAME       GTAG_schwarz
   NOTIFYDEV  global
   NR         342
   NTFY_ORDER 50-GTAG_schwarz
   PARTIAL   
   STATE      maybe absent
   TYPE       PRESENCE
   READINGS:
     2018-06-25 22:48:30   command_accepted yes
     2018-06-26 07:11:13   daemon          lepresenced V0.83
     2018-06-26 07:08:19   device_name     Gigaset G-tag
     2018-06-26 07:11:13   model           lan-lepresenced
     2018-06-26 07:11:13   presence        maybe absent
     2018-06-26 07:11:13   rssi            unreachable
     2018-06-26 07:11:13   state           maybe absent
   helper:
     ABSENT_COUNT 2
     CURRENT_STATE present
     CURRENT_TIMEOUT normal
Attributes:
   absenceThreshold 3
   event-on-change-reading presence
   group      Gigaset
   room       Residents


Und dann, nach Ablauf von absenceThreshold, state absent in FHEM:
Internals:
   ADDRESS    7C:2F:80:EA:F2:3B
   CHANGED   
   DEF        lan-bluetooth 7C:2F:80:EA:F2:3B 127.0.0.1:5333    87
   DeviceName 127.0.0.1:5333
   FD         32
   INTERVAL_NORMAL 87
   INTERVAL_PRESENT 87
   MODE       lan-bluetooth
   NAME       GTAG_schwarz
   NOTIFYDEV  global
   NR         342
   NTFY_ORDER 50-GTAG_schwarz
   PARTIAL   
   STATE      absent
   TYPE       PRESENCE
   READINGS:
     2018-06-25 22:48:30   command_accepted yes
     2018-06-26 07:14:07   daemon          lepresenced V0.83
     2018-06-26 07:08:19   device_name     Gigaset G-tag
     2018-06-26 07:14:07   model           lan-lepresenced
     2018-06-26 07:14:07   presence        absent
     2018-06-26 07:14:07   rssi            unreachable
     2018-06-26 07:14:07   state           absent
   helper:
     ABSENT_COUNT 2
     CURRENT_STATE present
     CURRENT_TIMEOUT normal
Attributes:
   absenceThreshold 3
   event-on-change-reading presence
   group      Gigaset
   room       Residents


Auf der Konsolepi@raspberrypi:~ $ sudo hcitool lescan
Could not open device: No such device

Die Gtags bleiben in FHEM absent.

Auf der Konsolepi@raspberrypi:~ $ sudo hciconfig hci0 up
pi@raspberrypi:~ $ sudo hcitool lescan
LE Scan ...
7C:2F:80:EA:EE:23 (unknown)
7C:2F:80:EA:EE:23 Gigaset G-tag
54:D2:72:B9:EB:B1 (unknown)
7C:2F:80:EA:F2:3B (unknown)
7C:2F:80:EA:F2:3B Gigaset G-tag
7C:2F:80:EA:F2:6F (unknown)
7C:2F:80:EA:F2:6F Gigaset G-tag
7C:2F:80:EA:ED:A8 (unknown)
7C:2F:80:EA:ED:A8 Gigaset G-tag
^Cpi@raspberrypi:~ $

Dann passiert in FHEM wieder das gleiche wie vorhin: erst "present", dann nach einiger Zeit "maybe absent", dann "absent".

Viele Grüße

Stephan

Gasmast3r

Fhem kann die dinger nicht scanen wenn du die per konsole suchst, da nur 1 zur zeit auf Bluetooth zugreifen kann.
Starte das system einmal neu und mache mal 10 min nix.

Stephan1965

Hallo Gasmast3r,
der reboot des RPI hat es anscheinend gebracht. :)
Jetzt werden die Gtags zuverlässig erkannt. Sehr interessant. Anscheinend habe ich zwar das Scannen per Strg+C unterbrochen, aber es war trotzdem noch belegt und FHEM konnte nicht darauf zugreifen.

Nebenbei:
Für Homemode habe ich jetzt die Gtags umbenannt:
GTAG_schwarz  -> GTAG_Stephan etc.

Damit die Zuordnung für die Anwesenheit funtioniert. Steht aber so auch im Wiki.

Danke an alle!!!

Stephan

Gasmast3r

#22
Hy wie schon mehrmals geschrieben kann nur eine Bluetooth Instanz laufen, das war halt dein problem.
Ich kann dir persönlich nur empfehlen solltest du mal andere sachen per Bluetooth koppeln wollen kauf dir ein ZeroPi und nutze den zur G-Tag erkennung, alles andere wird dir nur ärger bringen.

Wenn interesse besteht kann ich dir codes zukommen lassen für Doif's/Notify und TabUi.

Stephan1965

#23
Hallo Gasmat3r,
manchmal dauert es etwas, bis der Groschen wirklich fällt. :-)

Mit dem ZeroPi ist eine interessante Idee. Da muss ich mich mal ein bisschen mit beschäftigen. Du verbindest dann die Pi's mit Fhem2Fhem? Oder läuft einfach lepresenced darauf und auf dem FHEM Server dann collectored?
An Code bin ich immer interessiert.

Nochmal vielen Dank!

Stephan

PatrickR

Ich ziehe momentan ernsthaft in Erwägung, lepresenced um eine Funktion zu erweitern, die periodisch nach konkurrierenden Prozessen sucht und sie abschießt, am besten den Elternprozess gleich mit, wenn es eine Shell ist ;)

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

Gasmast3r

#25
Hy nein ich nutze lepresenced auf den Zero`s die noch mit MotionEYE als Kameras laufen habe.


defmod Sven_Cam PRESENCE lan-bluetooth 7C:2F:80:AD:C7:ED 192.168.178.113:5333 10 60

defmod Sven_Cam1 PRESENCE lan-bluetooth 7C:2F:80:AD:C7:ED 192.168.178.114:5333 10 60
attr Sven_Cam1 userattr Bewohner Bewohner_map Sven Sven_map structexclude
attr Sven_Cam1 Bewohner structure_Bewohner
attr Sven_Cam1 Sven structure_Sven
attr Sven_Cam1 event-on-change-reading state
attr Sven_Cam1 room Anwesenheit


die als Struktur zusammen gefasst.

defmod structure_Sven structure Sven Sven_Cam Sven_Cam1


DOIF Beispiele

defmod Licht_aussen DOIF ([?Lichtsteuerung:light] < 5 and [structure_Sonja] and [structure_Sven] eq "present") (set ESPEasy_Sonoff6_PUMP on-for-timer 180)



defmod Alles_aus notify structure_Bewohner:absent.* set



meine Heizung läuft per Bluetooth deswegen ist es sinnvoll die G-Tag Ernennung auszulagern (Batterie Status stört auch )


defmod doif_heizung DOIF ([Aussen:temperature] < 12 and [structure_Bewohner] eq "present") (set Bad desiredTemperature 18;;set FL desiredTemperature 19;;set KU desiredTemperature 19;;set WCO desiredTemperature 17;;set WCU desiredTemperature 16;;set ZU desiredTemperature 19;;set WZ desiredTemperature 20;;set Esszimmer_structure desiredTemperature 18;;set Schlafzimmer_structure desiredTemperature 18.5;;set Zimmer_Oben_structure desiredTemperature 18.5) \
DOELSEIF ([Aussen:temperature] < 12 and [structure_Bewohner] eq "absent") (set Bad desiredTemperature 16;;set FL desiredTemperature 16;;set KU desiredTemperature 16;;set WCO desiredTemperature 16;;set WCU desiredTemperature 16;;set ZU desiredTemperature 16;;set WZ desiredTemperature 16;;set Esszimmer_structure desiredTemperature 16;;set Schlafzimmer_structure desiredTemperature 16;;set Zimmer_Oben_structure desiredTemperature 16)\
DOELSEIF ([Aussen:temperature] > 12) (set Bad desiredTemperature 4.5;;set FL desiredTemperature 4.5;;set KU desiredTemperature 4.5;;set WCO desiredTemperature 4.5;;set WCU desiredTemperature 4.5;;set ZU desiredTemperature 4.5;;set WZ desiredTemperature 4.5;;set Esszimmer_structure desiredTemperature 4.5;;set Schlafzimmer_structure desiredTemperature 4.5;;set Zimmer_Oben_structure desiredTemperature 4.5)\
DOELSE


Fürs TabletUi

        <div data-type="symbol" data-device="structure_Sven"
                data-icon="fa-user"
                data-on-color="orange"
                data-get-on="present"
                data-get-off="absent"
                class="bigger"></div>
        <div data-type="label" class="Cell">Sven</div>
        <div data-type="symbol" data-device="structure_Sonja"
                data-icon="fa-user"
                data-on-color="orange"
                data-get-on="present"
                data-get-off="absent"
                class="bigger"></div>


hoffe das hilft einwenig