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.
Ich habe ein interessantes Youtube-Video über Bluetooth (Classic) Anwesenheitserkennung gefunden. Es funktioniert auch mit OpenHAB über MQTT!
https://www.youtube.com/watch?v=ShyqG8DjkrU