Hallo,
ich habe es geschafft für jede Person des Haushalts einen Dummy mit dem aktuellen Anwesenheitsstatus (presence über Bluetooth) zu erstellen.
Nennen wir die drei Dummys Handy1, Handy2, Handy3 die jeweils den Status "on" für anwesend oder "off" für abwesend annehmen können.
Jetzt möchte ich einen allgemeinen Anwesenheitsstatus auf "anwesend" setzen wenn einer der drei auf "on" oder auf "abwesend" wenn alle drei auf "off" stehen.
Das sollte dann z.B. alle 5 Min geprüft und aktualisiert werden.
Vielen Dank für Eure Tipps
Schau dir mal die Module RESINDENTS, ROMMATE, GUEST und Co an.
oder structure.
aber warum dummys wenn du schon PRESENCE hast?
gruss
andre
Hallo erstmal,
bin ebenfalls recht neu hier. Das was du vor hast könnte man etwa mit einem DOIF lösen. Dazu ein weiteren dummy definieren, der dann nach der Bedinung dass alle da sind auf on oder off gesetzt wird. Das Attribut "wait" unten drunter baut eine Verzögerung ein um nicht auf unbeabsichtigete Verbindungsabbrüche zu reagieren. Die genaue Verwendung steht gut dokumentiert im Wiki.
define AnwesenheitFamilie dummy
define AnwesenheitFamilie_DI DOIF ([Handy1:state] eq "on" and [Handy2:state] eq "on" and [Handy3:state] eq "on") (set AnwesenheitFamilie on) DOELSE (set AnwesenheitFamilie off)
attr AnwesenheitFamilie_DI wait 100:100
Ich hoffe ich konnte helfen.
an Fredi69:
Meine Idee wäre ein immer wiederkehrendes at, welches in 5min Intervall die Anwesenheit setzt.
define setzen_Anwesenheitsstatus at +*00:05:00 {
if ( Handy1 eq "off" && Handy2 eq "off" && Handy3 eq "off"){
fhem ("set Anwesenheitsstatus abwesend");
}else{
fhem ("set Anwesenheitsstatus anwesend");
}
}
an Koersten:
Dein Code müste ein wenig angepast werde, da die Anwesenheit schon bei einem Familienmitglied gegeben ist. Momentan funktioniert es bei dir so, das alle Handys "on" sein müssen, dass eine Anwesenheit gesetzt wird.
structure und PRESENCE wären eher etwas.
Wozu alle 5 Minuten auf etwas schauen wenn man 3 Wochen im Urlaub ist ::)
Mit FHEM kann man auf Zeiten oder auf Events triggern - Events wäre hier der schlauere Weg.
Edith: Schau erstmal das du (d)ein Problem gelöst bekommst bevor du versucht ...
@Fredi69
Das was Du vor hast kannst Du super mit RESIDENTS und ROOMMATE lösen. Ich habe das seit Monaten im Einsatz und es funktioniert bestens.
http://fhem.de/commandref_DE.html#RESIDENTS
http://fhem.de/commandref_DE.html#ROOMMATE
Grüße