Fenster offen bei Abwesenheit = Mail

Begonnen von ChrisW, 15 Januar 2013, 12:09:28

Vorheriges Thema - Nächstes Thema

Puschel74

Und jetzt das selbe noch für alle anderen Fenster ;-)
Das wäre mit dem notify erschlagen und das schöne ist das du die Anwesenheitsprüfung nicht nur mit on oder off anspringen kannst
sondern mit allem was sich bietet da du ja nach :.* prüfst
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.

ChrisW

hmm ja da gebe ich dir recht aber ich weiss leider nicht wie ich das umsetzen kann *G*

Bzw. Werde ich dies sicherlich auch für meine Fenster Offen Timer sache brauchen oder ??
Raspberry PI3 mit allem möglichen.

Puschel74

Guckst du das notify von mir ;-)
Versuchs mal damit.
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.

ChrisW

oh das da oben hab ich gar nicht gesehen ...


define Fester_pruef notify *_Fenster:.* {
if (% eq "open") {
fhem ("define Alarm_@ at +00:30:00 trigger Anwesenheit @");
}
if (% eq "closed" {
fhem ("delete Alarm_@)" if (Value("Alarm_@") ne "");
}
}



Es wird wenn ein Fenster Status sich verändert z.b in opened ein Alarm erstellt mit 30 Minuten.
Wenn das ganze nochmal durchläuft da sich wieder ein Status vom Fenster ändert und Fenster closed ist wird der Alarm wieder gelöscht.
Das habe ich ja verstanden.
Aber wie bringe ich nun nach ablauf der 30 minuten vom Alarm dazu das Alarm den Mail Befehl Verschickt MIT dem Richtigen Fensternamen ?
Und was ist wenn 2-3 Fenster Auf sind. Dann wird ja wenn ein anders Fenster geschlossen wird der Alarm gelöscht ?
Also müsste ich hier auch für jedes Fenster einen Alarm basteln ..

Raspberry PI3 mit allem möglichen.

Puschel74

Das ist das schöne am @ ;-)

Wenn EIN Fenster geöffnet wird (status open) wird für genau dieses Fenster der Alarm erzeugt.
z.B. Bad_Fenster open
dann hast du einen Alarm der sich
Alarm_Bad_Fenster nenn(t)en sollte.
Dieser Alarm löst nach 30 Minuten mit dem trigger
Anwesenheit Bad_Fenster
aus.
Genauso macht es WZ_Fenster open nur das der Alarm dann
Alarm_WZ_Fenster heissen müsste.

In Anwesenheit prüfst du dann ob ihr auch Abwesend seid und kannst dann ganz elegant nach @ (Bad_Fenster hier)
so auch die Mail loslassen.
Du musst nur evtl. die Anwesend-Prüfung etwas allgemeiner gestalten und dann von dort diverse Aktionen triggern lassen.
Dann hast du nicht alles in Anwesend stehen.

Ich muss nur noch nen Hefezopf machen mit meiner Frau und was umbauen dann versuch ichs mal bei uns ;-)

Grüße
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.

ChrisW

HI,
okay danke jetzt hab ich das zu mindest verstanden.

Erstmal unabhängig von der Anwesenheit erzeugt er bei jeder Fenster Änderung einen Alarm. Bzw Löscht diesen wieder.

Somit müsste ich dann eine neue Abwesenheits Geschichte erstellen.

Möchte ungerne meine jetzige so  umbasteln das die nicht mehr mit meinen anderen sachen Lampen / Heizungs Steuerung funktioniert.

Da brauch ich jedenfalls Hilfe :P

Werde auch erstmal den Alarm einbasteln kann jetzt von der Arbeit auch kein fenster aufmachen um es zu testen :P
Raspberry PI3 mit allem möglichen.

Puschel74

Hallo,

ich würde nicht noch eine zusätzliche Anwesenheitsprüfung erstellen sondern die vorhandene soweit umbauen das darin
dann nicht nur das Licht geschaltet wird sondern auch Geräte ein- oder ausgeschaltet werden bzw. eben wie nun, eine
Mail geniert wird.
Da du das ja alles, logischerweise, von der Anwesenheit abhängig machst würde ich dort ansetzen ;-)

Grüße
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.

ChrisW

Oha bisher hab ich aber für alles was eigenes gebaut was auf Anwesenheit zu greift.

Also meiene Anwesenheitsprüfung ist nur per Ping mit dem ergebnis ON / Off
Raspberry PI3 mit allem möglichen.

Puschel74

Hallo,

ja, ok.
Da müssen wir trennen anfangen.
Du hast einmal Anwesenheit per Ping <<-- sagen wir Anwesenheitsprüfung ,das ist so weit ok.

Dann hast du ja noch das notify welches du per Anwesenheit:.* (o.s.ä) aufrufst.
d.h. dieses notify triggert ja schon zum prüfen wer abwesend/anwesend ist.
Nach diesem Notify verteilst du ja schon Aktionen.
Mit diesem notify kannst du jetzt mehrere Dinge anstellen:
Du lässt es durchlaufen wenn sich ein Handy off / on meldet -- ok
Du kannst es auch durchlaufen lassen wenn ein Fenster / Tür offen ist ;-)
Du kannst es auch durchlaufen lassen wenn der Fernseher an ist.

Du musst dann nur in diesem notify die einzelnen Fälle abarbeiten welche du geprüft haben möchtest.

Ist eines Eurer Handys off / on -- ok, wird geprüft was zu machen ist.
Ist ein Fenster /Tür auf -- ab ins notify und schauen ob wer da ist dann Licht an sonst Mail raus.
Ist der Fernseher ein aber später als 23 Uhr - ok, das bekommst du damit jetzt (noch) nicht geprüft :-(

Wie gesagt.
Ich würd bei dir, soweit es geht, alles über das Anwesend-notify machen.

Grüße
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.

ChrisW

Hm ich glaub ich werd das alles nochmal neu angehen. Die Ping Prüfung taugt leider nichts habe da zu viele Fehler trotz meiner 10 Minuten Verlängerung. Scheint am Ping befehl zu liegen da mein CMD Ping zuverlässig ist.

Wenn ich aber alles in eins Packe ist das doch ziemlich unübersichtlich.

Am besten wäre das ich ertsmal ein zuverlässigen Status habe:

Zuhausestatus: Tanja / Chris /Tanja&Chris

Aber derzeit blick ich da gar nicht mehr durch HAHA :P
Raspberry PI3 mit allem möglichen.

Puschel74

Na den Zuhause-Status hast du ja schon oder nicht?
Ich dachte die Ping-Prüfung wäre, mehr oder weniger, abgeschlossen?
Bis au, das sie relativ unzuverlässig zu sein scheint, aber dazu gibt es ja den Beitrag mit dem Online-Status im Router abfragen.
Diese "Baustelle" brauchen wir hier ja nicht auch noch aufgreifen ;-)

Aber ich dachte der Anwesenheits-Status wäre erledigt?
Darauf kannst du ja jetzt aufbauen.
Aber ich glaub wir machen erstmal per PM weiter und du postest das Ergebniss dann einfach hier.
Also schick mir doch bitte nochmal dein Anwesenheits-Notify welches auslöst sobald ein Handy on oder off "geht".

Grüße
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.

ChrisW

Hallo,

hier das Fertige Ergebnis:

define Fenster_Abwesend_Check notify .*._Fenster:.*|Anwesenheit_.*:.* {\
  if (Value("@") eq "opened") {\
    if (Value("Anwesenheit_Einer") eq "off") {\
 Log (3,"Fenster auf gelassen und niemand zuhause");;\
fhem (system("wmail !!!!!ACHTUNG_ABWESEND!!!!!aber_@_noch_offen!!!!!"));;\
}\
if (Value("Anwesenheit_Einer") eq "on") {\
 Log (3,"Fenster auf und alle zuhause");;\
}\
  }\
  if (Value("@") eq "closed") {\
if (Value("Anwesenheit_Einer") eq "off") {\
 Log (3,"Fenster zu und niemand zuhause");;\
}\
if (Value("Anwesenheit_Einer") eq "on") {\
 Log (3,"Fenster zu und alle zuhause");;\
}\
  }\
}
Raspberry PI3 mit allem möglichen.

ext23

Guten Abend, ich hab mal eine Frage zur Syntax zu dem folgenden Code wo ich Chris sein Posting weiter oben als Grundlage benutzt habe:


define Fester_Alarm_Bad notify bz_Fenster:.* {\
  if (% eq "open") {\
    fhem("define Alarm_@ at +00:20:00 trigger az_SISPM_4 on");\
  }\
  if (% eq "closed") {\
    fhem("delete Alarm_@") if (Value("Alarm_@") ne "");\
  }\
}


In dem Code müssen noch Syntaxfehler sein aber ich sehe nicht wo.

Ich verstehe aber auch die Zeile "fhem("delete Alarm_@") if (Value("Alarm_@") ne "");" nicht so ganz, wieso die if Abfrage nach dem delete kommt? Hier stehe ich irgendwie auf dem Schlauch, vielleicht kann mir einer helfen denn das ist genau das was ich brauche, eine Alarmmeldung wenn das Badfenster vergessen wurde zu schließen.

danke.
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

ChrisW

Hm Glaub ich hab da schon ne neuere Version ich Poste mal den Code der klappt bei mir dieser Code Prüft ob ein Fenster zu lange ( länger als 30 Min ) offen ist.
Abwesenheit Fenster Check ist noch im Bau.

#FENSTER VERGESSEN PRÜFUNGEN
define Fenster_Vergessen_Check notify .*._Fenster:.* { \
  if ("%" eq "opened") { \
      fhem ("define @_Alarm at +00:30:00 set @_vergessen offen") if (Value("@_Alarm") eq "");;\
  }\
  else {\
    fhem ("delete @_Alarm") if (Value("@_Alarm") ne "");;\
    fhem ("set @_vergessen geschlosssen") if (Value("@_vergessen") ne "geschlosssen");;\
  }\
}

define Fenster_Vergessen_Mail notify .*._Fenster_vergessen:.* {\
  if ("%" eq "offen") {\
fhem (system("wmail !!!!!ACHTUNG!!!!!_@!!!_zu_lange_%"));;\
fhem (sendNotify ("@ ist zu lange % bitte Schliessen","@ zu lange ","@ Zu Lange %","@ ist schon zu lange %",2));;\
  }\
}


Aber für jedes fenster muss ein dummy vergessen erstellt werden. z.B :
define Bad_Fenster_vergessen dummy

Hoffe es hilft.
Raspberry PI3 mit allem möglichen.

ext23

Ahh ok, ich hab den Fehler, ich habe die doppelten Semikolon vergessen am Ende der Zeile. Gut das mit dem if verstehe ich dennoch nicht aber ist eben die FHEM Syntax.

Danke!
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)