Syntaxfrage zu Anwesenheitsüberwachung mit Bluetooth, notify & watchdog

Begonnen von t1me2die, 02 November 2016, 10:52:58

Vorheriges Thema - Nächstes Thema

t1me2die

Hallo liebe Community,

ich brauche mal wieder etwas Hilfe. Zur Zeit steuere ich meine Schalter via Geofence und iPhone App, was auch ziemlich gut klappt. Da ich nie faul herumsitzen kann, wollte ich nun die Bluetooth Überwachung ausprobieren.
Bluetooth USB Stick gekauft, angesteckt und los geht es.

Zitat
define Mathze_iPhone PRESENCE local-bluetooth 9C:FC:XX:XX:90:10 10 60

Es wird super erkannt, ob ich "present" oder "absent" bin.

Habe nun einen dummy angelegt um dort den jeweiligen Status zu speichern:
Zitat
define Mathze_Zuhause dummy
attr Mathze_Zuhause devStateIcon on:HOME_Status.1 off:HOME_Status.3
attr Mathze_Zuhause eventMap 1
attr Mathze_Zuhause icon icoHouse

Als weiteres habe ich mir einen Notify auf den Presence gelegt.
Wenn ich zuhause bin, sollen alle Lichter angeschaltet werden.
Wenn ich unterwegs bin, sollen alle Lichter ausgeschaltet werden.
Zitat
define Mathze_Zuhause_Anwesend notify Mathze_iPhone:present
{
if (Value("Mathze_Zuhause") eq "on")
{ fhem("set Mathze_Zuhause on ;; set Alle_Lichtschalter_an on ;; setstate watchdog_Mathze_iPhone_Abwesend defined")
}
elsif (Value("Mathze_Zuhause") eq "off")
{ fhem("set Mathze_Zuhause off ;; set Alle_Lichtschalter_aus off ;; setstate watchdog_Mathze_iPhone_Abwesend defined")
}

}

Den Schalter Alle_Lichtschalter_an, ersetze ich mit den jeweiligen gewünschten Schaltern bei mir in der Wohnung.

Als letztes habe ich noch einen Watchdog angelegt, der nach 5Minuten meinen Dummy wieder "aus" schaltet:
Zitat
define watchdog_Mathze_iPhone_Abwesend watchdog Mathze_iPhone:absent 00:05 Mathze_iPhone:present set Mathze_Zuhause off
attr watchdog_Mathze_iPhone_Abwesend regexp1WontReactivate 1

Stimmt meine Vorgehensweise soweit oder habe ich irgendwo einen Denkfehler?

Falls alles stimmt, möchte ich gerne ein weiteres iPhone (das von meiner Freundin) auch hinzufügen und dann wie folgt schalten:
* Wenn einer von uns nach Hause kommt -> Schalter an
* Solange sich einer von uns beiden zuhause befindet bleibt der Strom an. D.h. wenn ich das Haus verlasse, sie aber noch zuhause ist, so soll weiterhin der Strom anbleiben, dieser soll erst ausgehen, wenn wir beide das Haus verlassen haben.

Meine Idee schaut wie folgt aus:
Zitat
define Niemand_Zuhause notify Mel_iPhone:absent|Mathze_iPhone:absent
{
if (Value("Mel_Zuhause") eq "off") && (Value("Mathze_Zuhause") eq "off")
{ fhem ("set Alle_Schalter_Aus off")
}
}

Recht herzlichen Dank für eure Hilfe  :)

Gruß
Mathias

DeeSPe

Ich empfehle Dir die Benutzung des RESIDENTS Modul und den angeschlossenen Modulen ROOMMATE und GUEST.
Damit kannst Du Dein Vorhaben am elegantesten lösen.
Anregungen für den Code für die Anwesenheitserkennung könntest Du Dir hier und hier holen.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

ralfix

Dem Vorschlag RESIDENTS &Co. kann ich mich nur anschließen.
Am Anfang wirken die Module vielleicht etwas overengineered, aber inzwischen würde ich nicht mehr ohne auskommen.
Gruß Ralf