Anwesenheitserkennung und andere Möglichkeiten

Moin,
habe meinen homey nochmal frisch installiert und fange nochmal neu an :wink:
Nochmal zur Verständnisfrage zu den einzelnen Zuständen.
Ich war es bisher gewohnt mich bei homeegrammen viel auf einen Zustand als Bedingung zu beziehen.
Also ist mein (smart) Home im Zustand Zuhause, Schlafend, Abwesend, Urlaub:
pre
Dann kann ich sagen bei Zustand “Zuhause” schalte dies/das an. Bei Schlafend schalte dies/das ab und schalte Alarm an. Im Urlaub Alarm immer scharf … - ihr wisst was ich meine.
Wie mache ich das beim homey - sicher mit einem Flow - denn Zustand Home habe ich noch nicht gefunden.
Aber muß ich denn bei jedem Flow abfragen welche User gerade zu Hause sind oder ob alle zu hause sind? Oder muß ich erst alle User anlegen damit ich hier was anderes sehe?:
Und wieso steh ich hier noch auf schlafend - ich bein wach :smiley:
pre1

Ich brauch mal paar Denkanstösse für meine Restzellen …

Wach/schlafend oder anwesend/abwesend die Eigenschafter der Benutzer. Dein Haus kann ja schlecht in den Urlaub :wink:

Also für jeden Bewohner einen Benutzer anlegen (einladen, eegistrieren usw.). Dann kannst du die Benutzer auch selbst schalten. z.B. mit Beacons oder einer der Presence-Apps.

Den Status ändern kannst du mit Flows jeweils zu einem Benutzer.
Als Flow-Trigger gibt es im Bereich “Anwesenheit” Dinge wie " der erste Bewoh er ist gekommen" oder "der letzte Bewohner ist gegangen.

Der Zustand „Zuhause/Weg“ (je Person) wird automatisch gesetzt, wenn man die Build-In Geofencing Erkennung nutzt. Es sind also keine Flows notwendig.
Nutzt man für die Anwesenheitserkennung andere Methoden/Apps, müssen zusätzliche Flows erstellt werden.

Wie hast Du das denn mit dem homee gemacht?

Moin,
beim homee:
An/Abwesend mit G-Tag (Beacon) am Schlüsselbund.
Schlafen über Sprachbefehl
Aufwachen über Sonnenstand bzw Zeit.
Urlaub manuell in der App.
Man kann auch einfach auf einer der vier Kacheln klicken.
So ähnlich wollte ich es auch beim homey machen.
Hat sich bewährt und angewöhnt.

Dann mach das doch genau so. Wo ist das Problem? :wink:

GTag: Weiß nicht, ob das direkt mit einer Homey-App geht. Ansonsten musst du über eine Automatisierungs-App auf dem Handy per Webhook an Homey senden. Evtl. auch mit NFC-Tags machbar.
Sprache: Flow als Favorit nach Alexa und dann aufrufen.
Sonnenstand: Flow, evtl. mit Sunevents-App
Urlaub: Manuell in der App schalten, je Nutzer

Ansonsten beliebig per Flow den User schalten.

1 Like

Hallo,
Der Gtag funktionierte sofort. Leider ist die Reichweite nicht ausreichend.
Bin schon dran mir Beacons mit BT 5.1 mit 160m oder400m (Freifeld) zu bestellen. Der 400er ist vielleicht to match, soll ja nur auf dem Grundstück funken. Kann sein das man das auch konfigurieren kann.
Leider alles nur in CN oder GB zu bestellen.
Werde dann erstmal mit Gtag testen. Brauche später ja nur den Beacon tauschen.

:+1:t3:

Sollte das mit den Beacon nicht funktionieren, es wurden ja bereits genügend Alternativen genannt.

Moin,
bin noch am Basteln mit den Beacons.
Die neuen Beacons (FSC-PB108B) sind nicht der große Bringer. Zum Teil sind die guten alten GTags immer noch zuverlässig.
Nun habe ich einige Optionen überlegt.
Den homey anders Platzieren (glaube nicht das das was bringt)
Einen ESP32 als OpenMQTTGateway nutzen. - hab ich noch rumliegen.
Den Raspi Z vom homee weiternutzen, dazu muß ich die scan.sh umbauen.
(das script hat mir mal jemand aus dem homee-forum extra für meine Gtags geschrieben)
Weiß aber nicht ob das so funktioniert, oder soll ich ganz von vorn anfangen?
Meine Kenntnisse sind da aber sehr begrenzt :frowning:

# homee Einstellungen lokales Netzwerk
homeeip="192.168.115.14"
homeeport="7681"
webhooks_key="UCUEGXSHBGM.....................FCPCBISJEDJFXFWMEIRONWQURHYNV&event"

OK, die IP vom homey habe ich - auf welchem Port lauscht der homey auf webhooks?
Der Webhookkey ist die homey ID 64637209… ? - glaube nicht - muß man irgendwo erzeugen.

OK, lokal geht das nicht ?

Natürlich geht das:
http://192.168.1.xxx/webhook?event=beispiel

1 Like

Moin,
ich experementiere gerade mit einem ESP32 und OpenMQTTGateway.
Das Teil funktioniert soweit ganz gut es scannt wie wild alles was es an BT findet.
Ich kann jetzt nur nix damit anfangen beim homey.
Ich habe die Daten mal an den iobroker geschickt - da sieht man wenigstens was:


Wie bekomme ich jetzt z.B. den Status von einem Beacon in den homey??
Oder schicke ich die Daten erstmal an den iobroker und dann gefiltert an den homey?
Habe irgendwo gelesen, das es besser ist einen Filter zu setzen, damit der homey nicht mit allem was BT “befeuert” wird?
Steh mit MQTT total doof da.
Geht schon los wie ich den homey hier als Broker eintragen soll …?
IP weiß ich noch gerade so. :wink:

@Undertaker
moin,
kannst du mir nochmal bei den webhooks helfen?
Habe jetzt eine andere Software für den ESP32 gefunden.
(GitHub - redakker/blecker: Bluetooth low energy (BLE) tracker for ESP32)
Dort kann man wunderbar die Mac-Adressen filtern und entweder per MQTT oder Webhook den Status des BLE-Devices weitergeben.
Nun komm ich nicht weiter beim Empfang des Webhooks im homey - irgendwas klappt da noch nicht.
Ich sehe zwar was aus dem ESP32 rausgeht - aber homey reagiert nicht - oder ich habe was flasches eingetragen (das wirds wohl sein).

Also das geht raus bzw. ausgabe kann man wohl auch ändern (IP=homey local):

[BLUE] Device marked as gone. MAC: 7c2f808f8404 Current mark is: 1
[BLUE] Device marked as gone. MAC: dc0d30159ab8 Current mark is: 1
[BLUE] Device is gone. MAC: 7c2f808f8404
[HTTPCLIENT] URL is called with GET method: http://192.168.115.49/?p=not_present&d=7c2f808f8404
[HTTPCLIENT] Status code: 200
[HTTPCLIENT] Payload: {"homeyId":"64637209#####70b84b06fe0","homeyVersion":"10.0.1"}
[BLUE] Device is gone. MAC: dc0d30159ab8
[HTTPCLIENT] URL is called with GET method: http://192.168.115.49/?p=not_present&d=dc0d30159ab8
[HTTPCLIENT] Status code: 200
[HTTPCLIENT] Payload: {"homeyId":"6463720#####070b84b06fe0","homeyVersion":"10.0.1"}
[HTTPCLIENT] URL is called with GET method: http://192.168.115.49/?p=present&d=7c2f808f8404
[HTTPCLIENT] Status code: 200
[HTTPCLIENT] Payload: {"homeyId":"64637209#####70b84b06fe0","homeyVersion":"10.0.1"}
[HTTPCLIENT] URL is called with GET method: http://192.168.115.49/?p=present&d=dc0d30159ab8
[HTTPCLIENT] Status code: 200
[HTTPCLIENT] Payload: {"homeyId":"64637209#####70b84b06fe0","homeyVersion":"10.0.1"}

Das habe ich im Flow eingetragen:
Gast kommt=
webhook2

Gast geht=
webhook3

Kontrolle über IO-Broker:

Was mach ich falsch??
Danke für die Antwort :wink:

Hi Arne,
ich glaube, dass ich den Fehler sehe.

So muss der zu sendende WebHook aussehen:
http://192.168.115.49/webhook?event=gastda
http://192.168.115.49/webhook?event=gastweg

Gastda oder gastweg, kannst du durch beliebige Wörter ersetzen.

Und so muss der Trigger unter Logic aussehen:

Du kannst dir durch einen einfachen Trick behelfen, ob der Hook funktioniert.
Gib den String im ganz normalen Browser ein, z.B.
http://192.168.115.49/webhook?event=gastda
Dein Browser gibt dir dann Rückmeldung “ok”, wenn der WebHook von Homey empfangen wurde.
Gibt er eine Fehlermeldung aus, stimmt mit dem gesendeten String etwas nicht.

Grüße,
also ich habe ja die Filterliste mit den Mac-Adressen:

Im Webhook wird der Zustand (present oder not_present) + die Macadresse abgegeben.
z.B.
http://192.168.115.49/webhook?p=present&d=7C2F808F8404
http://192.168.115.49/webhook?p=not_present&d=7C2F808F8404
(Browser sagt OK)

vorgabe: http://ip/?p={presence}&d={device}

Die Zuordnung welche Mac welcher User ist, mache ich später im homey.

Das sieht dann vom ESP32 so aus:

[BLUE] Device marked as gone. MAC: 7c2f808f8404 Current mark is: 1
[BLUE] Device marked as gone. MAC: dc0d30159ab8 Current mark is: 1
[BLUE] Device is gone. MAC: 7c2f808f8404
[HTTPCLIENT] URL is called with GET method: http://192.168.115.49/webhook?p=not_present&d=7c2f808f8404
[HTTPCLIENT] Status code: 200
[HTTPCLIENT] Payload: OK
[BLUE] Device is gone. MAC: dc0d30159ab8
[HTTPCLIENT] URL is called with GET method: http://192.168.115.49/webhook?p=not_present&d=dc0d30159ab8
[HTTPCLIENT] Status code: 200
[HTTPCLIENT] Payload: OK

Ich muss irgendwas im Logic-Flow anpassen.

Nur was ?

Homey versteht nicht, was der ESP32 sendet. Vermutlich liegt es an der Art des Strings. Ich bin da aber nicht der Spezialist dafür. @RonnyW, kannst du da mal drüber schauen, ob dir etwas auffällt ?

Hm,
kann sein, denn mit wget komt das raus. Irgendwas mit dem “d” will er nicht haben:

c:\Program Files (x86)\GnuWin32\bin>wget http://192.168.115.49/webhook?p=present&d=7C2F808F8404
SYSTEM_WGETRC = c:/progra~1/wget/etc/wgetrc
syswgetrc = c:\Program Files (x86)\GnuWin32/etc/wgetrc
--2023-08-13 17:13:25--  http://192.168.115.49/webhook?p=present
Verbindungsaufbau zu 192.168.115.49:80... verbunden.
HTTP Anforderung gesendet, warte auf Antwort... 200 OK
Länge: 2 [text/html]
In »webhook@p=present.1« speichern.

100%[========================================================================================================================>] 2           --.-K/s   in 0s

2023-08-13 17:13:25 (130 KB/s) - »webhook@p=present.1« gespeichert [2/2]

Der Befehl "d" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.

Ich habe noch ein paar Varianten durchprobiert, z.B:
http://192.168.115.49/webhook?={presence}?tag={device}
http://192.168.115.49/webhook?=present?tag=7C2F808F8404

sah nicht schlecht aus:

c:\Program Files (x86)\GnuWin32\bin>wget http://192.168.115.49/webhook?=present?tag=7C2F808F8404
SYSTEM_WGETRC = c:/progra~1/wget/etc/wgetrc
syswgetrc = c:\Program Files (x86)\GnuWin32/etc/wgetrc
--2023-08-13 20:30:05--  http://192.168.115.49/webhook?=present?tag=7C2F808F8404
Verbindungsaufbau zu 192.168.115.49:80... verbunden.
HTTP Anforderung gesendet, warte auf Antwort... 200 OK
Länge: 2 [text/html]
In »webhook@=present%3Ftag=7C2F808F8404« speichern.

100%[==============================================================================>] 2           --.-K/s   in 0s

2023-08-13 20:30:05 (130 KB/s) - »webhook@=present%3Ftag=7C2F808F8404« gespeichert [2/2]

Ist das so richtig?:
ich glaub nicht :frowning:

Ich mach erstmal Feierabend - den ganzen Sonntag an dem Schei… gesessen.
Würde noch die Varianten das über MQTT zu machen - aber da braucht man doch wieder 2 Apps zusätzlich - oder?

Gute Nacht :wink:

auf meinem Early2019 funktioniert das lokal so:

Browser URL:
http://192.168.115.49/api/manager/logic/webhook/not_present?tag=7C2F808F8404

Hallo,
hm funktioniert bei mir wohl nicht, im Browser kommt:

Cannot GET /api/manager/logic/webhook/not_present

muß ich in homey noch was aktivieren (App?) um webhooks zu empfangen ??

c:\Program Files (x86)\GnuWin32\bin>wget http://192.168.115.49/api/manager/logic/webhook/not_present?tag=7C2F808F8404
SYSTEM_WGETRC = c:/progra~1/wget/etc/wgetrc
syswgetrc = c:\Program Files (x86)\GnuWin32/etc/wgetrc
--2023-08-13 22:14:24--  http://192.168.115.49/api/manager/logic/webhook/not_present?tag=7C2F808F8404
Verbindungsaufbau zu 192.168.115.49:80... verbunden.
HTTP Anforderung gesendet, warte auf Antwort... 404 Not Found
2023-08-13 22:14:24 FEHLER 404: Not Found.

Irgendwas funktioniert mit der Trennung {presence} und {device} nicht.
Das einzige was als Pfad funktioniert ist:
http://192.168.115.49/webhook? …

Danke trotzdem :wink: