Anwesenheit prüfen

Es wäre doch eigentlich genial, wenn das System erkennt, ob jemand zu Hause ist oder nicht.

Dazu gibt es natürlich verschiedene Ansätze. Ich wollte einmal mit einer Lösung starten, bei der ich keine zusätzliche Hardware benötige.
Da keiner von den Bewohnern ohne dem Handy das Haus verlässt, war es naheliegend die Anwesenheit mittels ins WLAN eingebuchten Handys zu eruieren.

Wir verwenden das Network Binding und folgende Einträge im openHAB. Da die Handys über die IP Adresse identifiziert werden, wurden diese mittels DHCP Reservierung im Router festgelegt.

Die einzelnen Handys wurden zu einer Gruppe zusammengefasst, sodass man dann Regeln darüber aufbauen kann.

Things:
Thing network:pingdevice:Mobile 
[hostname="IP des Handy", retry=4, timeout=5000, refresh_interval=120000, dhcplisten="true"]

Items:
Switch Mobile "Status [MAP(anwesenheit.map):%s]" 
<presence> (Anwesenheit) 
 {channel="network:pingdevice:Mobile:online" }
Number MobileResponseTime "Pingzeit"
 {channel="network:pingdevice:Mobile:latency" }
DateTime MobileLastSeen "Zuletzt gesehen:"
 {channel="network:pingdevice:Mobile:lastseen" } 

Transform: anwesenheit.map
ON=Zuhause
OFF=Unterwegs
NULL=Unbekannt

Rules:
// schalte Licht ein, wenn keiner zu Hause und es finster ist
rule "Abwesend"
when
  Item Anwesenheit changed from ON to OFF
then
  var lux = LHT65_1_Licht.state as Number
  if(lux < 1500) {
    sendTelegram("bot1", "schalte Wohnzimmerlicht an")
    t2Power.sendCommand(ON) } 
  else{
    // noch zu hell 
    }
end

Im Großen und Ganzen funktioniert das auch gut. Natürlich muss jedes Handy WLAN aktiviert haben und automatisch ins Heimnetz eingebucht werden. Da wir kein managed WLAN im Haus haben, kommt es oft zu kurzen Unterbrechungen, wenn das Handy von einem Access Point zum nächsten wechselt.

Vielleicht fällt mir noch eine bessere Lösung ein. Wenn sich nämlich die Handys schlafen legen und keines mehr erreichbar ist, obwohl zu Hause, dann schaltet sich das Licht ein, spooky.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Begin typing your search above and press return to search. Press Esc to cancel.