Gelöst: Watchdog AND/OR hinzufügen für Abwesenheit ermitteln

Begonnen von meddie, 03 Januar 2016, 12:26:59

Vorheriges Thema - Nächstes Thema

meddie

Hallo Leute,

erstmal allen hier ein gutes neues Jahr!

ich möchte gerne die AN/Abwesenheit über zwei Smartphones ermitteln. Erst wenn beide nicht da sind soll auf Abwesent geschaltet werden.
Irgendwie komme ich da nicht weiter, wie kann ich denn ein AND oder OR operator einbauen?

Das Ziel ist wenn beide Smartphones für 30 Minuten als Abwesent gesetzt sind dann, soll der Watchdog den Status Abwesend setzen.

Die Smartphones werden mit dem Fritzbox Modul und der Mac Adresse ausgelesen und werden über das Presence Modul abgefragt.

Danke
Gruß Eddie

Ellert

Mit einem DOIF könntest Du es etwa so
DOIF ([Anw1] eq "present" or [Anw2] eq "present")
DOELSEIF (!([Anw1] eq "present" or [Anw2] eq "present"))
cmcState Anwesend|Abwesend
lösen.

Ungetestet, Syntax unvollständig, siehe DOIF

meddie

sorry, für die blöde Frage, aber wo muss ich das hinstecken in den Watchdog oder soll ich ein eigenes DOIF definen?
ich bin ein Anfänger deswegen, stehe ich gerade am Schlauch und weiß nicht so recht mit der Info was anzufangen.
Trotzdem Danke für Deine Hilfe
Gruß Eddie

Ellert

DOIF statt Watchdog.
Wie Du ein Gerät definierst hast Du Dir bestimmt schon über die Einsteigerinfos angelesen, oder?

viegener

Zitat von: meddie am 03 Januar 2016, 23:37:12
sorry, für die blöde Frage, aber wo muss ich das hinstecken in den Watchdog oder soll ich ein eigenes DOIF definen?
ich bin ein Anfänger deswegen, stehe ich gerade am Schlauch und weiß nicht so recht mit der Info was anzufangen.
Trotzdem Danke für Deine Hilfe
Gruß Eddie

Der von Dir beschriebene Fall ist eigentlich kein watchdog-Anwndungsfall, deshalb der separate DOIF.
Im Watchdog wartet man normalerweise auf das Ausbleiben eines Ereignisses nach einem anderen Ereignis (Also eine zeitliche Abfolge).
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

meddie

Ah! Ok, das bedeutet ich lege einen Dummy Anwesenheit an, diesen lasse ich dann via DOIF wenn beide Smartphones abwesend sind, auf abwesend schalten.
Aber wie bringe ich nun den Zeitversatz an. Ich wollte die Abwesenheit erst schalten wenn beide Smartphones ca. 30 Minuten abwesend sind. Falls man mal kurz raus ist für 15 Minuten, soll ja nicht alles runtergeregelt werden. (davon bin ich zwar weit entfernt, aber ich hoffe doch)

Danke

Ellert

#6
Mit  DOIF benötigst Du keinen Dummy. Das DOIF nimmt den Zustand über das Attribut cmcState Anwesend|Abwesend an.

Eine Zeitverzögerung kannst Du mit dem Attribut wait realisieren, also etwa so:

define DOIF ([Anw1] eq "present" or [Anw2] eq "present")
DOELSEIF (!([Anw1] eq "present" or [Anw2] eq "present"))
cmdState Anwesend|Abwesend
wait 0:1800


Du könntest das ganze auch über RESIDENTS lösen, das hat mehrere Anwesendheitszustände.

justme1968

zum zusammenfassen mehrtet devices ist structure gedacht. und darauf dann z.b. den watchdog. du brauchst definitiv keine dummy.

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

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

meddie

Hallo zusammen mit structure hat es nicht ganz geklappt aber mit doif funktioniert es perfekt.
Vielen Dank für Eure Hilfe!
Gruß Eddie