Ich weiß die Frage wurde schon öfter gestellt, aber ich finde keine richtige Lösung.
Und zwar würd ich gern eine Email bekommen, wenn mein Fensterkontakt open ist. Egal ob Email oder PushNachricht, spielt keine Rolle. Hab schon ein paar Sachen und Anleitungen versucht, aber funktioniert leider nichts :'( Vielleicht hat ja jemand ne Schritt für Schritt Anleitung für Anfänger. Danke schonmal
Eine gute und für Anfänger relativ leicht zu integrierende Lösung, u.a. auch für offene Fenster, stellt mein (bisher noch nicht offizielles) Modul HOMEMODE (https://forum.fhem.de/index.php/topic,64317.msg555426.html#msg555426) bereit.
Dieses setzt aber ein bereits eingerichtetes RESIDENTS Device voraus.
Die Konfiguration geeigneter Benachrichtigungswege (msg, TelegramBot, Mail, WhatsApp) nimmt es Dir allerdings nicht ab. ;)
Gruß
Dan
Hi,
hier mal was schnelles, ungeprüftes. Ich kenne weder dein FensterDevice noch dein Mail Device noch dein Push Device, das anzupassen sollte aber auch für einen Anfänger machbar sein. Wenn du nicht weiter kommst, es zu oft sendet usw usw einfach nochmal hier mit mehr Infos zu deinen Device melden :-)
define fensterkontakt DOIF ([Fensterdevice] =~ "open")(set deine mail oder deine Pushnachricht)
Grüße
Achim
Zitat von: crissi96 am 10 Februar 2017, 11:19:36Und zwar würd ich gern eine Email bekommen, wenn mein Fensterkontakt open ist.
Nein, das willst Du nicht. Du willst wahrscheinlich eine Mail bekommen, wenn das Fenster geöffnet wird oder wenn es eine bestimmte Zeit offen ist. D.h. bei einem Ereignis (event), nicht bei einem Zustand (state). Das klingt jetzt vielleicht nach Haarspalterei, ist für das Verständnis IMHO aber wichtig.
ZitatEgal ob Email oder PushNachricht, spielt keine Rolle. Hab schon ein paar Sachen und Anleitungen versucht, aber funktioniert leider nichts :'( Vielleicht hat ja jemand ne Schritt für Schritt Anleitung für Anfänger. Danke schonmal
Ich würde das mit einem notify machen. DOIF geht vielleicht auch, habe ich aber keine Ahnung.
Aber Schritt für Schritt:
1. Entscheide Dich: Mail oder PushNachricht.
2. Bringe das erst einmal zum Laufen. D.h. dass Du über FHEM irgendwie eine mail oder eine Nachricht schickst.
3. Schau im Event Monitor nach, wie das Event aussieht, wenn das Fenster aufgeht.
4. Baue 2 und 3 in einem notify zusammen.
Gruß,
Thorsten
Ich habe damals dieses im Wiki gefunden:
https://wiki.fhem.de/wiki/FHTTK:_Benachrichtigung_bei_offenem_Fenster (https://wiki.fhem.de/wiki/FHTTK:_Benachrichtigung_bei_offenem_Fenster)
Mußt halt nur, den Devicetyp anpassen, wenn Du keine FHTTK hast.
Gruß
Zitat von: CBSnake am 10 Februar 2017, 11:49:10
Hi,
hier mal was schnelles, ungeprüftes. Ich kenne weder dein FensterDevice noch dein Mail Device noch dein Push Device, das anzupassen sollte aber auch für einen Anfänger machbar sein. Wenn du nicht weiter kommst, es zu oft sendet usw usw einfach nochmal hier mit mehr Infos zu deinen Device melden :-)
define fensterkontakt DOIF ([Fensterdevice] =~ "open")(set deine mail oder deine Pushnachricht)
Grüße
Also das eine Pushnschrixht über Pushnschrixht versendet wird klappt. Nur halt noch nicht wenn es offen ist.
Achim
"define fensterkontakt DOIF ([FK_Bad] =~ "open")(set Push message Das Badfenster ist jetzt seit 5 Minuten offen)"
hab ich jetzt mal versucht. Geht aber leider nichts. Kann jemand sagen, an was es liegt?
Wenn ich nur "set Push message Das Badfenster ist jetzt seit 5 Minuten offen" eingeb, bekomm ich eine Nachricht
Zitat von: crissi96 am 10 Februar 2017, 13:35:21
"define fensterkontakt DOIF ([FK_Bad] =~ "open")(set Push message Das Badfenster ist jetzt seit 5 Minuten offen)"
hab ich jetzt mal versucht. Geht aber leider nichts. Kann jemand sagen, an was es liegt?
Wenn ich nur "set Push message Das Badfenster ist jetzt seit 5 Minuten offen" eingeb, bekomm ich eine Nachricht
Stichwort event Monitor, schaue da was für ein Event dein Fensterkontakt ausgibt und trigger mit dem DOIF darauf.
Nebenbei wäre es schön wenn du CodeTags benitzen würdest, dieses sind über dem smily :-X zu finden, das #
Außerdem fehlt ein Leerzeichen zwischen ""open")" und "(set Push"
So ist es richtig:
"open") (set Push
Zitat von: Fixel2012 am 10 Februar 2017, 13:40:00
Stichwort event Monitor, schaue da was für ein Event dein Fensterkontakt ausgibt und trigger mit dem DOIF darauf.
Nebenbei wäre es schön wenn du CodeTags benitzen würdest, dieses sind über dem smily :-X zu finden, das #
Außerdem fehlt ein Leerzeichen zwischen ""open")" und "(set Push"
So ist es richtig: "open") (set Push
Sorry bin absoluter Anfänger. Was meinst du mit event Monitor? Okay werde ich ab jetzt benutzen. Aber an dem Leerzeichen kann es nicht liegn oder?
Bin mir ehrlich gesagt unsicher ob man wirklich ein Leerzeichen braucht. Ich mache es immer mit ;D
Du hast in Fhem links eine Leiste, wo auch deine Räume angezeigt werden. Dort ist der Event Monitor. Diesen öffnest du und betätigst anschließend dein Fenster, einfach einmal auf und wieder zu. Danach siehst du im Event Monitor was für ein Event dein Fensterkontakt geliefert hat. Dieses Event nutzt du dann in dem DOIF um dir die Push msg zu schicken.
Edit: Das leerzeichen ist erforderlich, siehe Commandref
https://fhem.de/commandref_DE.html#DOIF
Zitat von: Fixel2012 am 10 Februar 2017, 13:48:39
Bin mir ehrlich gesagt unsicher ob man wirklich ein Leerzeichen braucht. Ich mache es immer mit ;D
Du hast in Fhem links eine Leiste, wo auch deine Räume angezeigt werden. Dort ist der Event Monitor. Diesen öffnest du und betätigst anschließend dein Fenster, einfach einmal auf und wieder zu. Danach siehst du im Event Monitor was für ein Event dein Fensterkontakt geliefert hat. Dieses Event nutzt du dann in dem DOIF um dir die Push msg zu schicken.
Edit: Das leerzeichen ist erforderlich, siehe Commandref
https://fhem.de/commandref_DE.html#DOIF
2017-02-10 13:48:31 MAX MAX_04013d opened
steht dort drinne
heißt mein Code müsste dann so aussehen:
define fensterkontakt DOIF ([MAX MAX_04013d] =~ "opened") (set Push message Das Badfenster ist jetzt seit 5 Minuten offen)
Zitat von: crissi96 am 10 Februar 2017, 13:52:02
2017-02-10 13:48:31 MAX MAX_04013d opened
steht dort drinne
heißt mein Code müsste dann so aussehen:
define fensterkontakt DOIF ([MAX MAX_04013d] =~ "opened") (set Push message Das Badfenster ist jetzt seit 5 Minuten offen)
Nein, nicht direkt ich glaube es reicht MAX_04013d. Aber Opened ist korrekt. Probier es doch einfach mal aus, also einfach nochmal Fenster auf, wenn du eine Nachricht hast passt es. wenn nicht ändere es in "MAX_04013d".
Das ende deines DOIF's also die Nachricht stimm aber auch nicht, da das Event "opened" sofort beim Fester öffnen kommt. Du müsstest dann noch eine Zeit mit angeben.
Zitat von: Fixel2012 am 10 Februar 2017, 13:54:35
Nein, nicht direkt ich glaube es reicht MAX_04013d. Aber Opened ist korrekt. Probier es doch einfach mal aus, also einfach nochmal Fenster auf, wenn du eine Nachricht hast passt es. wenn nicht ändere es in "MAX_04013d".
Das ende deines DOIF's also die Nachricht stimm aber auch nicht, da das Event "opened" sofort beim Fester öffnen kommt. Du müsstest dann noch eine Zeit mit angeben.
bekomm leider folgende Fehlermeldung:
ensterkontakt_Bad DOIF: no left bracket of condition: 00:10 ([MAX MAX_04013d] =~ "opened") (set Push message Das Badfenster ist jetzt seit 5 Minuten offen)
Zitat von: crissi96 am 10 Februar 2017, 13:58:35
bekomm leider folgende Fehlermeldung:
ensterkontakt_Bad DOIF: no left bracket of condition: 00:10 ([MAX MAX_04013d] =~ "opened") (set Push message Das Badfenster ist jetzt seit 5 Minuten offen)
Du solltest dich da eigentlich selber einarbeiten... Dir alles vorzusagen hilft auf Dauer nichts.
Es gibt ein wunderbares Anfänger PDF dort werden auch mehrere Methoden genannt wie du dein Problem lösen kannst. Stichwort Notify und DOIF.
https://fhem.de/Heimautomatisierung-mit-fhem.pdf (https://fhem.de/Heimautomatisierung-mit-fhem.pdf)
Außerdem gibt es die Commandref dort wird erläutert wie die Module funktionieren. Siehe hier: https://fhem.de/commandref_DE.html (https://fhem.de/commandref_DE.html)
Suche dort mal nach Notify und DOIF und lies dir das durch. Anschließend kannst du gerne nochmal fragen falls du es nicht verstehst.
Zitat von: Fixel2012 am 10 Februar 2017, 14:08:40
Du solltest dich da eigentlich selber einarbeiten... Dir alles vorzusagen hilft auf Dauer nichts.
Es gibt ein wunderbares Anfänger PDF dort werden auch mehrere Methoden genannt wie du dein Problem lösen kannst. Stichwort Notify und DOIF.
https://fhem.de/Heimautomatisierung-mit-fhem.pdf (https://fhem.de/Heimautomatisierung-mit-fhem.pdf)
Außerdem gibt es die Commandref dort wird erläutert wie die Module funktionieren. Siehe hier: https://fhem.de/commandref_DE.html (https://fhem.de/commandref_DE.html)
Suche dort mal nach Notify und DOIF und lies dir das durch. Anschließend kannst du gerne nochmal fragen falls du es nicht verstehst.
Danke. Ich möchte mich ja auch einarbeiten, aber ich hab jetzt schon 10 verschiedene Anleitungen probiert, von denen leider keine Funktioniert hat. Und nochmal 10 will ich nicht machen ... wenn ichs hinbekomm, hab ichs ja verstanden. Die einzelnen Befehle des Codes versteh ich ja ..
Bevor du dir Anleitungen durchliest solltest du erstmal verstehen wie die Module arbeiten, und das verstehst du anscheinend leider noch nicht.
Fhem ist sehr zeitaufwändig und keinenfalls leicht zu konfigurieren. Ich habe die ersten Wochen erstmal nur gelesen besonders in Bezug zum kauf von Hardware, erst danach kam die Geschichte mit der Einrichtung.
Und die Fehlermeldung hat was mit der Syntax des Moduls zu tun, falls dir das Wort "bracket" nichts sagt, Google mal ;)
Die Syntax kannst du in der schon geposteten Commandref nachschauen...
Wie ich schon geschrieben habe Probier mal beide Varianten aus:
MAX MAX_04013d
und MAX_04013d
aller Anfang ist schwer ;-) Und das PDF erschlägt einen Anfänger ;-)
([MAX_04013d] =~ "opened") (set Push message Das Badfenster ist jetzt seit 5 Minuten offen)
zusätzlich im DOIF die Attribute wait auf 300
=~ müsste auf alles was opened enthält reagieren, sofern das opened im Status steht, steht es in einem Reading musst du das Reading natürlich auch erwähnen.
Hast du mehr als ein Fenster? Dann kannste mit dem DOIF alle auf einmal abfragen, musst allerdings den Anfang noch etwas abändern.
Poste doch mal ein Screenshot oder ein LIST von deinem Fensterkontakt :-)
Grüße
Achim
Zitataller Anfang ist schwer ;-) Und das PDF erschlägt einen Anfänger ;-)
Das ist wohl war! Habe mich da auch schwer getan, aber das Einsteiger PDF beinhaltet nun mal alles nötige Wissen inklusive Hardware Beratung und co ;D
Und auch als Anfänger muss man ein Wenig eigen Initiative zeigen!
Anleitungen geben dir einen Lösungsvorschlag vor aber helfen dir nicht wirklich weiter zu wissen warum es jetzt funktioniert. Dafür muss man sich mit der Syntax des jeweiligen Moduls befassen.
Wie gesagt Fhem ist keinenfalls Selbsterklärend, man muss viel Zeit hineinstecken und lernt immer dazu. :D ::)
natürlich muss man irgendwann selbst was ausprobieren anstatt überall den code zusammenzukopieren und hoffen, dass es geht, aber so ein Dutzend, funktionierender Beispiele zum Anfang mit welchen man dann spielen und üben kann können nicht verkehrt sein ;-) Auch FTUI ist z.B. gut dokumentiert, trotzdem gibt es die vollgepackt Example Index ;-)
Zitat von: CBSnake am 10 Februar 2017, 14:20:55
aller Anfang ist schwer ;-) Und das PDF erschlägt einen Anfänger ;-)
([MAX_04013d] =~ "opened") (set Push message Das Badfenster ist jetzt seit 5 Minuten offen)
zusätzlich im DOIF die Attribute wait auf 300
=~ müsste auf alles was opened enthält reagieren, sofern das opened im Status steht, steht es in einem Reading musst du das Reading natürlich auch erwähnen.
Hast du mehr als ein Fenster? Dann kannste mit dem DOIF alle auf einmal abfragen, musst allerdings den Anfang noch etwas abändern.
Poste doch mal ein Screenshot oder ein LIST von deinem Fensterkontakt :-)
Grüße
Achim
hallo Achim, unten hab ich mal die 2 Screenshots beigefügt.
Sollte der Code dann folgendermaßen lauten:
define fensterkontakt_Bad2 DOIF wait 900 ([MAX_04013d] =~ "opened") (set Push message Das Badfenster ist jetzt seit 15 Minuten offen)
Das wait muss als Attribut hinzugefügt werden.
Der Code ist so wie du ihn hast fast richtig:
define fensterkontakt_Bad2 DOIF wait 900 ([MAX_04013d] =~ "opened") (set Push message Das Badfenster ist jetzt seit 15 Minuten offen)
gegen tasuchen define fensterkontakt_Bad2 DOIF ([MAX_04013d] =~ "opened") (set Push message Das Badfenster ist jetzt seit 15 Minuten offen)
und dann auf das DOIF device gehen und unter Attr "wait" auswälen und in das Feld die gewünschte Zahl eingeben.
Das sollte es dann gewesen sein.
Aber Probier erstmal ohne das wait, und öffne das Fenster. wenn du dann eine Nachrichtkriegst funtioniert es erstmal und du kannst mit dem wait weiter machen. ;)
Zitat von: Fixel2012 am 10 Februar 2017, 14:52:17
Das wait muss als Attribut hinzugefügt werden.
Der Code ist so wie du ihn hast fast richtig:
define fensterkontakt_Bad2 DOIF wait 900 ([MAX_04013d] =~ "opened") (set Push message Das Badfenster ist jetzt seit 15 Minuten offen)
gegen tasuchen define fensterkontakt_Bad2 DOIF ([MAX_04013d] =~ "opened") (set Push message Das Badfenster ist jetzt seit 15 Minuten offen)
und dann auf das DOIF device gehen und unter Attr "wait" auswälen und in das Feld die gewünschte Zahl eingeben.
Das sollte es dann gewesen sein.
Aber Probier erstmal ohne das wait, und öffne das Fenster. wenn du dann eine Nachrichtkriegst funtioniert es erstmal und du kannst mit dem wait weiter machen. ;)
Perfekt jetzt hab ich eine Nachricht bekommen
Super, jetzt noch das Attribut wait und du hast was du willst ;)
Zitat von: Fixel2012 am 10 Februar 2017, 15:02:31
Super, jetzt noch das Attribut wait und du hast was du willst ;)
schon gemacht, hab ich verstanden. Hoff jetzt funktioniert alles wie ich will :) Ein ganz großes dankeschön aufjedenfall!!! :)