homebridge-people

  • Hier mal meine Config


  • Ich muss das erstmal bei mir ausprobieren. Ich verwende den Anyone-Sensor nicht.

  • Selbst wenn ich den User-Sensor benutzte geht da nix.


    Am Raspi eine falsche Einstellung bzgl. Zugriffsrechte wäre keine Option?


    oder erstelle ich die Automationen falsch?
    aktuell geh ich so vor:

    Wenn User-Bewegung erkannt -> schalte Licht


    unabhängig von Uhrzeiten, Sonnenstände etc. Is doch von der Logik her korrekt?!!

  • So sieht meine Konfiguration aus:

  • Danke sschuste werd mal die Änderung bei mir vornehmen.
    Evtl bringt das etwas.


    Im Grunde erkennt er ja das ich zu Hause bin. Allerdings schaltet er nie meine Automation. Könnt es daran liegen dass dort Shelly verbaut ist am Licht? Aber naja im Grunde nein da ja manuell geschaltet wird.

  • Also, heute mir den Einstellungen von sschuste keine Lichtschaltung nach dem ankommen zu Hause.

    Bewegung wird erkannt aber das schalten irgendwelcher Lichter etc. funktioniert nicht....


    Im der Beschreibung zum Plugin steht noch etwas mit folgendem Befehl


    Code
    sudo chmod u+s /bin/ping

    Den hab ich bis jetzt noch nicht ausgeführt aber so wie ich es versteh wäre das auch nur nötig wenn er keinerlei Bewegung erkennen würde, oder?

  • Auf manchen Betriebssystemen dürfen normale Anwendenden ping-Befehl nicht ausführen. Du kannst das testen, indem du ihn einfach auf der Shell eingibst, am besten als User, unter dem die Homebridge läuft. Falls du die Homebridge nach der Forenanleitung aufgesetzt hast, ist das der Unser homebride.


    sudo su - homebridge

    ping 8.8.8.8

    exit


    Falls das geht, brauchst du den ping-Befehl nicht mit chmod zu modifizieren.


    Das Log zeigt dir doch an, ob das Plugin nicht funktioniert oder die Automation. Dazu stoppst du die Homebridge, schaltest dann den Flugmodus auf dem iPhone ein, startest die Homebridge erneut mit


    sudo systemctl restart homebridge; sudo journalctl -fau homebridge


    Dann schaltest du den Flugmodus auf dem iPhone wieder aus. In den nächsten Sekunden sollte es einen Logeintrag geben, dass das iPhone gefunden wurde. Wenn nicht: Plugin-Problem. Wenn doch: Automationsproblem.


    Stefan

  • Sooo, glaub hab gefunden was du meintest.


    Shell schreibt folgendes


    Dec 10 15:23:17 raspberrypi homebridge[25131]: [12/10/2019, 15:23:17] [People] Changed occupancy state for 192.xxx.xxx.xx to true. Last successful ping 2019-12-10T15:23:17+01:00 , last webhook none .

  • Das Plugin erkennt also korrekt, dass das iPhone wieder da ist.

  • Das funktioniert nur dann, wenn sich der Zustand von "iPhone ist nicht da" zu "iPhone ist da" ändert. Nicht, wenn der Zustand "iPhone ist da" bereits gesetzt ist. Nur Änderungen eines Status können als Trigger für Automationen verwendet werden.

  • Die Webhook-Option öffnet einen Port auf dem Raspi, der von einem Programm getriggert werden kann. So ein Programm könnte beispielsweise ein Webbrowser sein, auch wenn sich dieser nicht wirklich eignet. Aber damit kann man immerhin schon mal was testen.


    Wenn die Webhook-Option aktiv ist, kann man in einen Browser die Adresse http://192.168.1.21:51828/?sensor=Stefan&state=true eingeben und der Sensor namens Stefan wird eingeschaltet. Ausgeschaltet wird er mit http://192.168.1.21:51828/?sensor=Stefan&state=false. Hier im Beispiel ist 192.168.1.21 die IP-Adresse des Raspis, 51828 der Port aus der config.json und Stefan der Name des Sensors, wie er in der [people]-Sektion von homebridge-people konfiguriert ist.


    Nun will man das nicht im Browser eingeben. Denkbar wäre ein Programm auf dem iPhone, dass auf ein Beacon im Hausflur oder in der Garagenauffahrt reagiert und dann die oben genannte Adresse aufruft. Das Problem, dass dabei entsteht, ist natürlich, dass das iPhone erst im heimischen WLAN sein muss, ansonsten würde es die IP-Adresse des Raspis nicht erreichen.


    Die Webhook-Option bietet also eine Alternative zum Ping.


    Ich kann mir kaum vorstellen, dass die Webhook-Option ausschlaggebend für deine Automation sein soll, aber sei's drum: Hauptsache, das funktioniert.

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


    Ich hab mir die Erklärung mehrmals durchgelesen, aber versteh das leider nicht wirklich - vielleicht kann mir jemand auf die Sprünge helfen?


    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