Status verändern in Abhängikeit von drei anderen Status

Begonnen von Fredi69, 11 September 2015, 15:22:54

Vorheriges Thema - Nächstes Thema

Fredi69

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
fhem auf Raspberry Pi 3
FRITZ!Box7490, Fritz!Box 3270 AP, 3xHMLAN, CUL868, nanoCUL 433 für IT, JeeLink für LaCrosse, HUE Bridge 2.0, Samsung UE46C8790 (STV), mehrere Homematic, Intertechno, Shelly und LaCrosse Komponenten

marvin78

Schau dir mal die Module RESINDENTS, ROMMATE, GUEST und Co an.

justme1968

oder structure.

aber warum dummys wenn du schon PRESENCE hast?

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Koersten

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.

RomanticBoy83

#4
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.

Puschel74

#5
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 ...
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

CoolTux

@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
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net