Anwesenheitserkennung mit homeean presence

Darin wird geparst, was in der Config definiert wird. Der Fehler liegt also in der Config. Entweder Format des Files (glaub ich nicht, auch weil Arne sowas auffallen würde) oder aber das UUID-Format an sich.

@Arne: Treffen die Regeln auf Deine UUID zu?

Huch ihr seit aber schnell, :wink::+1:

Wie meinst du das? - Also ich habe ein HG angelegt “Gast anwesend und abwesend” und habe je einen Webhook dazu in die config.json kopiert.
Ich könnte heute mal testen wie es mit der internen Adresse an den homee funktioniert.
Bin aber jetzt nicht am Platz und kann heute abend erst weitermachen.!

Habe gerade mal aus dem Büro raus gescannt:
(durch Fensterscheibe und Auto in ca. 30m Luftlinie!)

Ich sprach von der benutzten UUID, welche im Parser (im File person.js) von @stfnhmplr sehr wahrscheinlich den folgenden Regeln entsprechen muss:

xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx where x is any hexadecimal digit and y is one of 8, 9, A, or B.

  • Block 1:
    xxxxxxxx-
  • Block 2:
    xxxx-
  • Block 3:
    4xxx-
  • Block 4:
    yxxx-
  • Block 5:
    xxxxxxxxxxxx w

Will heissen:

  • Regel 1: Dritter Block einer gültigen UUID beginnt zwingend mit einer 4 und
  • Regel 2: vierter Block beginnt mit 8, 9, A oder B.

Wenn ich mir Dein G-Tag anschaue, dann entspricht der weder Regel 1 noch Regel 2.

@stfnhmplr kann meine Vermutung, dass der G-Tag deshalb nicht als Beacon benutzt werden kann und zu den oben aufgeführten Fehlermeldungen führt ggf. bestätigen.

Das Parsing im File person.js (Zeile 58) sieht so aus:

Da scheint (wenn ich es richtig lese, RegEx war noch nie meine Stärke): So implementiert, dass Block 3 zwingend mit 1-5 beginnen muss (bei Dir B) und Block 4 mit 8,9,A oder B (bei Dir 0) - was also heisst, dass darum die Fehlermeldung geworfen wird.

Edit: Grund wäre dann, dass der G-Tag keine Gültige (gem. Standard) UUID hat.

Ja sowas in der Art habe ich befürchtet.
Weil auch einige Beacon-Apps im Playstore nicht mit den G-Tags arbeiten wollen.
Sind halt klassische Schlüsselfinder.

1 „Gefällt mir“

Moin.

Es ist keine gültige UUID, daher kommt eine Fehlermeldung. Kannst du die UUIDs bei den GTags anpassen? Ansonsten schick mir eine der UUIDs mal per PN. Dann schau ich mir das mal an und überlege, ob ich die Regel etwas entschärfe.

Siehe Screenshot oben, das umterste

Hier scheinen die G-Tags aber zu laufen:
https://wiki.fhem.de/wiki/PRESENCE#.C3.9Cberwachen_mittels_Bluetooth

Sogar mit Batterieüberwachung … :wink:

Der “versteckte” Vorschlag von @stfnhmplr ist wohl der pragmatischste. Kannst Du die GTags mit BeaconSet+ auslesen und ggf. die UUIDs “überschreiben”? Links zur App und Beschreibung der App findest Du u.a. auch auf der Webseite von beaconshop24.de auf der Minew C6 Seite (unter Beschreibung, unten):
https://www.beaconshop24.de/minew-c6.html

Ah so,
kann ich versuchen. Habe ja meinen “Gast” zu testen.
Diese App kannte ich noch nicht, nur die von oben im Bild.
Dort konnte man auch Minew be/umschreiben.

Mit der App kann ich die G-Tags noch finden - aber nicht öffnen:
https://play.google.com/store/apps/details?id=com.yunliwuli.beaconcfg

mit der App finde ich die G-tags erst garnicht:
https://play.google.com/store/apps/details?id=com.minew.beaconplus&hl=de

Das ist jetzt aber irgendwie doof - erst kaufe ich mir die G-Tags für 30€ (3x).
Dann dazu den P3 füe homeean - und stell nun fest, daß ich nochmal 55€ für neu Beacon hinlegen muß.
:weary::fearful::cold_sweat:

  • das wird wieder ein Fass ohne Boden - wobei die “Minew C6 Bluetooth Beacon” nicht so schön aussehen wie die G-Tags.
1 „Gefällt mir“

Die Teile werden nicht umsonst auch von Geofency nicht supportet. Sorry…

:persevere:

Hat denn das Script ein Problem mit der ungewöhnlichen uuid?

Kann man nicht händisch die Prüfung aus der Person.js entfernen ? @stfnhmplr

Oder wird an einer anderen Stelle die uuid V4 verlangt?

Interessant: Die gehen bei FHEM nicht über die UUID, sondern über die BT-MAC-Adresse des Devices. ggf. könnte man diesen Weg “alternativ” implementieren, aber das ist nichts was Stefan mal so nebenher machen kann… Damit könnte man auch andere Bluetooth-Devices (z.B. AppleWatch, Smartphone) alternativ (ggf. ein zweites Mal - neben der WLAN-Option) verbinden… Wobei das dann wieder zu den bekannten Timeout-Issues führen wird (der Sleep-Modus gilt nicht nur für WLAN, sondern wohl auch andere Funkmodule) und dann eine Lagerung dieser Geräte nahe am Raspi bedingen würde (wegen der bescheidenen Reichweite von Bluetooth)…

Wobei ich die nachfolgende (interessante) Aussage im FHEM-Wiki mal selbst testen werde:

Nur wenn bei einem iPhone/iPad die Funktion “über WLAN synchronisieren” [Anmerkung: EINSTELLUNGEN/ALLGEMEIN/ITUNES-WLAN-SYNC] aktiviert ist, ist es auch im Standby zuverlässig pingbar. Standardmäßig deaktivieren Apple-Geräte ihr WLAN im Standby-Betrieb um die Akkulaufzeit zu verlängern.

1 „Gefällt mir“

Ja, habe ich auch gerade bemerkt.
Damit werden bei FHEM auch externe Raspis mit USB-Dongle gefunden.
Oder eben auch andere Geräte.

Ich habe meine Prüfung auf eine UUID V4 etwas aufgeweicht. Es sollte wird nun jede UUID akzeptiert. Die von @Friedhofsblond habe ich getestet.

Ich kann nur mangels Testobjekt nicht sagen, ob das Skript dadurch an anderer Stelle einen Error produziert.

Das Update kann grundsätzlich analog der Befehle zur Aktualisierung von homebridge-homee erfolgen. (https://himpler.com/blog/homebridge-homee-mit-verbesserter-schnittstelle) Nur bitte an das --unsafe-perm (siehe ReadMe) denken.

3 „Gefällt mir“

Habe zwar nicht homeean am laufen, Gtags laufen aber auch bei mir zur Ekennung der Anwesenheit.
Allerdings unter IoBorker. Aber die UUIDs der Gtags lassen sich nich überschreiben - das sei gesagt !

1 „Gefällt mir“

Das ist ja Superge… :+1::grinning:
Ich werd ja wohl doch noch den :coffee:-Knopp drücken müssen. :wink:
Ich melde mich heute abend!

2 „Gefällt mir“

Hallo,
mal ne blöde Frage. Muß man das homeean-script als root ausführen.
also sudo source … ??

So, da passt wohl irgendwas noch nicht.
Habe den Webhook als intern oder extern eingetragen.

login as: pi
pi@192.168.115.72’s password:
Linux homeean 4.14.52-v7+ #1123 SMP Wed Jun 27 17:35:49 BST 2018 armv7l

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Mon Jul 9 18:37:51 2018 from 192.168.115.113
pi@homeean:~ $ DEBUG=homeean-presence homeean-presence
homeean-presence
2018 by stfnhmplr | homeean.de
_ homeean-presence running on node v8.11.3 +0ms_
_ homeean-presence load config from /home/pi/.homeean-presence/config.json +3ms_
_ homeean-presence Gast registered as person +0ms_
_ homeean-presence setting up webhook http://192.168.115.72:3000/homeean-presenc e/gast +6ms_
_ homeean-presence start tracking for Gast +4ms_
events.js:183
_ throw er; // Unhandled ‘error’ event_
_ ^_

Error: listen EADDRINUSE :::3000
_ at Object.errnoException (util.js:992:11)
_ at exceptionWithHostPort (util.js:1014:20)
_ at Server.setupListenHandle [as listen2] (net.js:1355:14)
_ at listenInCluster (net.js:1396:12)_
_ at Server.listen (net.js:1480:7)_
_ at Function.listen (/usr/lib/node_modules/homeean-presence/node_modules/expr ess/lib/application.js:618:24)_
_ at HomeeanPresence.run (/usr/lib/node_modules/homeean-presence/index.js:33:2 1)_
_ at Object. (/usr/lib/node_modules/homeean-presence/index.js:102:1 7)_
_ at Module.compile (module.js:652:30)
_ at Object.Module.extensions…js (module.js:663:10)
pi@homeean:~ $

Wenn ich scanne “sudo hcitool lescan” findet er alle drei G-Tags (allerdings mit MacAdress)

Ja sudo, oder am einfachsten einfach den Text unten kopieren (Icon) und dann auf der Shell posten…

Der Fehler sagt, dass Port 3000 schon durch was anderes verwendet wird. Wenn du über homeean installiert hast, wird das Script automatisch gestartet.