Ankündigung

Einklappen
Keine Ankündigung bisher.

Presence Detection mit mqttitude und OwnTracks App

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Presence Detection mit mqttitude und OwnTracks App

    Hallo zusammen,
    zur automatischen Erkennung, ob jemand zu Hause ist habe ich einen lokalen mosquitto- MQTT-broker installiert, den ich mit den mqtt und mqttitude bindings in meine OpenHAB installation eingebaut habe. Auf dem Iphone 5s läuft OwnTracks, das die Position über TLS-Kanal nach Hause pushed.
    Von dieser Seite her funktioniert alles wie in den Installationsanleitungen und WiKis beschrieben.

    Auch die Positionsbestimmung funktioniert gut, solange ich draußen bin und das Iphone (vermutlich) guten GPS-Empfang hat.

    Bin ich längere Zeit im Haus, dann wird manchmal eine Position übermittelt, die außerhalb des definierten HOME-Zone Radius liegt (z.B. 100m ums Haus) und ich werde als "nicht zu Hause" erkannt.

    Grund ist die als ungenau markierte Position.
    In Owntracks kann man ablesen, dass die Genauigkeit der Position z.B. +-1440m beträgt.

    Hat jemand dieses Problem auch und vielleicht schon eine Lösung ?
    Bringt es etwas, die Home-Zone direkt in OwnTracks auswerten zu lassen (RegionMode) ?

    Meine Lösungs-Idee ist, den Parameter "ACC" der mit dem Topic übemittelt wird, auszuwerten und das Positionsupdate nur dann zu annehmen,
    wenn die Genauigkeit der übermittelten Position z.B. "ACC < 100m" ist.

    Idealerweise wäre die Funktion Teil des mqttitude Bindings --> Feature-Wunsch.

    Grüße
    Heiko

    #2
    Besorg dir iBeacons, dann läuft das. Ist auch viel genauer

    Kommentar


      #3
      Hallo milymat,

      wie geht das am besten ?

      Der iBeacon wird also im Haus installiert (hingelegt).
      Wie ist die Reichweite ?
      Reicht einer oder braucht man pro Etage einen ?

      Und dann lasse ich die iBeacons vom iPhone erkennen.
      Funktioniert das mit der OwnTracks App gut oder ist eine andere App zu empfehlen ?

      Grüße
      Heiko

      Kommentar


        #4
        Bin ebenfalls interessiert! Evtl. eine Erklärung, wie das mit Android Smartphones zu lösen geht. Danke!

        Kommentar


          #5
          Was auch noch interessant wäre, wäre ein Erfahrungsbericht mit welchem iBeacon das schon mal gemacht wurde und wie gut das letztlich funktioniert hat.

          Kommentar


            #6
            Hallo zusammen,

            in den letzten Wochen habe ich an dem Thema selbst weiter gearbeitet und experimentiert.

            Die Detektion des Geo-Fence funktioniert viel besser, wenn man es durch Owntracks machen lässt und nur die enter/leave events über MQTT überträgt.
            Dabei scheinen die Positionen mit der großen Abweichung unterdrückt zu werden.
            Es funktioniert außerdem am besten, wenn das iPhone dabei geladen wird, z.B. im Auto wenn ich fahrend den Geofence kreuze,
            sonst kann es etwas länger dauern, bis das iPhone wieder aufwacht.

            Interessant dabei ist, dass das auch geht, wenn die Owntracks-App im "Manuellen-Modus" steht.
            Das spart dann noch mehr Batterie.

            Die Idee, den Parameter ACC mit einzubeziehen, ist nur sinnvoll bei der Auswertung der Position in Openhab.
            Wenns Owntracks es selber macht, dann habe ich den Eindruck, dass es diesen Parameter bereits gibt.


            Letzte Woche habe ich mir auch einen iBeacon gekauft und ihn in Owntracks eingebunden.
            Ich habe die UUID in der Owntracks App eingebunden. Das funktioniert richtig gut.
            Die Erkennung und die MQTT Meldung dazu erfolgen sehr zeitnah.
            Jetzt habe ich 2 Events in Owntracks definiert. Einen mit der Region (GeoFence) und den anderen mit dem iBeacon.

            Problem ist, dass der iBeacon im Flur steht und damit nicht das ganze Haus abdeckt.
            Gehe ich nach oben, verlasse ich den iBeacon Bereich und bekomme das auch auf dem iPhone gemeldet.

            Deshalb habe ich mir jetzt in OpenHAB einige Regeln zusammengestellt, die aus folgenden Informationen abzuleiten versuchen, ob ich zu Hause bin:
            WLAN-Ping (Network-Health), GeoFence (MQTT), iBeacon (MQTT).

            Implementiert ist es quasi wie eine FSM (Zustandsmaschine) mit Zuständen und Übergängen.
            Es gibt verschiedene Trigger für Kommen, Bleiben und gehen.
            Ich bin noch am Experimentieren und Testen.

            Da die einfachste Lösung nun doch am besten funktioniert, ist es jetzt folgendermaßen:

            Wenn iBeacon detektiert oder der WLAN-Ping erfolgreich, dann bin ich da.
            Wenn ich den GeoFence verlasse, dann bin ich weg.
            Damit bekomme ich das Ankommen sehr zeitnah gemeldet (Sekunden).
            Beim Weggehen ist es mir nicht so wichtig, ob es etwas länger dauert, bis es detektiert wird.

            Die Ereignisse iBeacon "leave" und GeoFence "enter" lösen keine Aktion aus.

            Somit ist das "ich bin im Haus und bleibe" recht stabil. Ich kann von oben nach unten, in den Garten oder die Garage gehen.
            Wenn ich das alles mit iBeacons realisieren wollte, brauche ich mehr als 4 Stück.

            Soweit mein Erfahrungsbericht.

            Grüße Heiko

            Kommentar

            Lädt...
            X