homebridge-people

  • Weiters habe ich folgendes Problem und weiß nicht ob das der richtige Parameter zum Ansetzen ist oder das überhaupt möglich ist:


    Ich habe eine Automation erstellt mit "Wenn ich nach Hause komme", dass per Webhook mein Belegungssensor aktiviert wird, das klappt.

    Per GPS wird diese Automation natürlich schon aktiviert, wenn ich in die Nähe von meinem Zuhause komme. Wenn ich jetzt z.B. aber nur in eine Bar in der Nähe gehe und dann den Ort wieder verlasse, dann bleibt mein Belegungssensor immer aktiviert, obwohl ich das Zuhuase gar nicht betreten habe.

    Überschreibt der Webhook hier einfach die Ergebnisse von den Pings?

    Die Thresholds hätte ich schon alle auf 1 runtergedreht, was meinem Verständnis nach dazu führen hätte sollen, dass nach spätestens 1 Minute nicht-erreichbarkeit des Geräts der Sensor wieder auf inaktiv springt. Tut er aber nicht, wenn er zuvor durch einen Webhook geändert wurde.

    Ist das normal und kann man das irgendwie ändern?


    Also ich möchte den Sensor per Webhook schalten können, aber wenn mein Gerät innerhalb einer gewissen Zeit dann nicht auf Pings antwortet, dann sollte der Schalter wieder auf inaktiv springen. Geht das?


    Ich weiß, dass ich auch einen Webhook auslösen kann, wenn ich Zuhause verlasse, aber das hilft mir bei meinem Problem leider nicht weiter.

  • Könnte mir bitte jemand erklären, wofür der Parameter "ignoreReEnterExitSeconds" Seconds genau sein soll?

    Wenn dein Phone dein Netzwerk verlässt, weil du mal eben zum Supermarkt um die Ecke latschst, dann wird eine Zustandsänderung ausgelöst. Darauf baut eine Automation auf. Beispiel:


    Du hockst also mit den Kumpels bei dir zu Hause beim Bier vor der Glotze und ihr seht gerade Fußball, als plötzlich das Unheil sichtbar wird: gleich ist das Bier alle. Ist ja kein Problem, der Supermarkt ist ja gleich um die Ecke. Sind ja nur 150 Meter. Du machst dich also auf die Socken. Sekunden später verlässt dein Phone dein Netzwerk. Der People-Sensor wird geschaltet. Die darauf basierende Automation springt an: Licht aus, Glotze aus, Heizung aus, Tür wird abgeschlossen, die Alarmanlage scharf geschaltet. Die Jungs werden begeistert sein! Und wenn sich auch nur einer rührt, geht auch noch die Sirene an! Geile Scheiße!


    Wenn du deine Freunde lieber nicht in den Gröhlmodus versetzen willst, setzt du ignoreReEnterExitSeconds auf einen Wert, der es dir erlaubt, dein Netz kurzfristig zu verlassen, ohne dass diese Zustandsänderung den People-Sensor sofort schaltet, sondern vielleicht erst nach 10 Minuten (ignoreReEnterExitSeconds=10). Ist natürlich völlig dämlich, die Einstellung ignoreReEnterExitSeconds zu nennen, wenn man dann die Zeit in Minuten angeben muss.


    Also: wie lange brauchst du, um Bier zu kaufen? Zehn Minuten? Elf?


    Stefan

  • Überschreibt der Webhook hier einfach die Ergebnisse von den Pings?

    Das würde ich erwarten. Ich weiß es aber nicht.

  • Danke für deine ausführliche Antwort, aber nach meinem Verständnis löst man dieses Problem einfach durch das Erhöhen des Parameters "threshold". Dieser sollte ja sowieso auf mindestens 15 Minuten sein und da würde sich auch Bier holen ausgehen.


    Bitte nicht falsch auffassen, aber ich glaube, dass du (wie ich) den Parameter "ignoreReEnterExitSeconds" auch noch nicht verstanden hast. Laut deiner Beschreibung würden nämlich "ignoreReEnterExitSeconds" und "threshold" genau das gleiche machen.


    Das würde ich erwarten. Ich weiß es aber nicht.

    Also wenn der Webhook aufgerufen wird überschreibt er natürlich den aktuellen Status mit dem gewünschten Wert "anwesend". Wenn das iPhone danach aber längere Zeit nicht mehr erreichbar ist, wird der Status leider nie mehr zurück auf "nicht anwesend" gesetzt. Das ist mein Problem und dafür suche ich eine Lösung.

  • optional, in minutes, default: 0, if set to 0 than every enter/exit will trigger state change otherwise the state will only change if no re-enter/exit occurs in specified number of seconds

    Optional, in Minuten, Defaultwert: 0. Wenn auf 0 gesetzt, löst jeder Zugang und jedes Verlassen (des Netzwerks) eine Zustandsänderung aus. Ansonsten ändert sich der Zustand nur, wenn innerhalb der angegebenen Anzahl von Sekunden kein erneuter Zugang oder erneutes Verlassen (des Netzwerks) stattfindet.


    Threshold wird heruntergezählt, nachdem die Zustandsveränderung festgestellt worden ist. IgnoreReEnterExitSeconds legt einen Zeitraum fest, in dem eine Zustandsänderung nicht weiter beachtet wird. Du verlässt dein Netz und der Threshold zählt dann eben nicht herunter.


    Meiner Meinung nach eine blöde Option, bei mir ist sie daher auf 0 gesetzt.


    Stefan

  • Wenn ich IgnoreReEnterExitSeconds auf 0 setze und mein Netzwerk verlasse (WLAN deaktiviere), dann wird mein Status keineswegs sofort auf "nicht anwesend" gesetzt, sondern auch erst nach Ablauf des threholds. Die Beschreibung stimmt also nicht.

  • Wenn ich IgnoreReEnterExitSeconds auf 0 setze und mein Netzwerk verlasse (WLAN deaktiviere), dann wird mein Status keineswegs sofort auf "nicht anwesend" gesetzt, sondern auch erst nach Ablauf des threholds.

    Der Status wird immer erst nach Ablauf von threshold gesetzt.

  • Ja, aber wenn ich vor dem Ablaufen des Thresholds wieder zurück im Netz bin ändert sich gar nichts. Wozu soll dann der zusätzliche Parameter gut sein??

  • Niemand eine Idee, wofür der Parameter wirklich sein soll?

    sschuste hat das in #560 doch schon erklärt?! :/


    Ob das jetzt (für dich) Sinn macht oder nicht, aber es verhält sich genau so. :saint:

  • Ich bin der Meinung, dass er damit falsch liegt. Kann das nicht sein?

    Threshold und IgnoreReEnterExitSeconds würden nach seiner Beschreibung im Endeffekt ja das gleiche bewirken. Das kann's doch auch nicht sein, oder?

  • Meiner Meinung nach eine blöde Option, bei mir ist sie daher auf 0 gesetzt.

    Ich habs auf 1 gesetzt, einziger Grund: ich hab in der TG WLAN und in der Wohnung, aber nicht im Aufzug zwischendrin. Damit er mich nicht an- oder abmeldet während ich im Aufzug bin, die 1 Minute Threshold.


    Somit zumindest eine minimale Sinnhaftigkeit dieser Option :saint:

  • Wenn du den Threshold auf 1 setzt, dann wird er dich aber auch nicht an- oder abmelde im Aufzug, wenn du 1 Minute nicht erreichbar bist.

    Wozu dann bitte IgnoreReEnterExitSeconds? Ich möchte es einfach nur verstehen können.

  • Ich bin der Meinung, dass er damit falsch liegt. Kann das nicht sein?

    Threshold und IgnoreReEnterExitSeconds würden nach seiner Beschreibung im Endeffekt ja das gleiche bewirken. Das kann's doch auch nicht sein, oder?

    Kontaktiere doch auf Github mal den Entwickler und lass es Dir aus erster Hand erläutern. Danach kannst Du uns dann vielleicht alle erleuchten. ;)

  • Naja, ist ja nicht böse gemeint. Aber seine Beschreibung mit Bier holen beschreibt das Verhalten von threshold.

  • Also nach der Beschreibung sehe ich es wie jgreil:

    Ich habe threshold sogar auf 60 Minuten gesetzt (Runde Gassi mit dem Hund soll nicht unbedingt die Glotze ausschalten). Sobald ich das Haus verlasse und im LTE den Zustand des Sensor überprüfe, bleibt meine Anwesenheit bis zu einer Stunde aktiv. Erst danach schalten bei mir einige Geräte aus. Wenn ich aber nach 60 Minuten das Haus wieder betrete und mich im heimischen Netzwerk befinde, erkennt es der Sensor sofort.


    Keine Ahnung wozu dann das IgnoreReEnter ist. Alleine vom Name abgeleitet würde ich tippen:


    Ich verlasse das Haus, threshold ist aktiv. Auf halben weg fällt mir ein, dass ich etwas zuhause vergessen habe und kehre nochmal um. Betrete also das Wlan. Threshold wird dann entsprechend dem ReEnter - Eintrag nicht zurückgesetzt. Die Geräte schalten trotzdem eine Stunde nach dem ersten verlassen des Hauses ab, wenn die Zeit zwischen Rückkehr und erneutem Verlassen kleiner dem gesetzten ReEnter Eintrag ist. Habs aber noch nicht ausprobiert..

  • Info: Das People-X Plugin scheint eine Weiterentwicklung des People Plugins zu sein, zumindest deute ich das so nach der Versionsnummer und funktioniert bei mir zumindest genauso gut wie People!

  • Ich hatte das People Plugin auch kurz mal getestet, aber fand es komisch, dass es mit Bewegungs- anstatt Belegungssensoren arbeitet.

    Aus welchem Grund das denn bitte?


    Ich habe beim alten Homebridge-People Plugin folgendes Problem:

    Ich habe eine Automation erstellt, damit mein eigener Belegungssensor beim Nachhausekommen per WebHook schon auf aktiv geschaltet wird (also bereits bevor mein iPhone auf Pings antwortet). Das funktioniert soweit auch.

    Das Problem ist jedoch folgendes: Wenn ich meine Wohnung nie betrete, sondern unten in einer Bar bleibe und dann den Standort weider verlasse, dann wird mein Belegungssensor nie auf inaktiv geschaltet. Das ließe sich wiederum zwar lösen, wenn man auch eine Automation für das Verlassen von Zuhause erstellt und per Webhook den Sensor auf inaktiv schaltet. Wenn ich jedoch einfach 5 Stunden in der Bar neben meiner Wohnung sitzen bleibe, werde ich immer noch als Zuhause angezeigt, da das People Plugin anscheinend den Sensor nicht mehr deaktiviert, wenn dieser per Webhook aktiviert wurde.


    Verhaltet sich das neuere PeopleX Plugin hier auch so, oder wurde dieser Fehler da schon behoben?