Hallo
sicher für euch ein einfaches Thema, für mich sehr schwierig.
Ich würde gerne ein Mail verschicken, wenn mein Wassermelder HMS 100 W "Wasser meldet.
HMS ist integriert und meldet auch braf über water_detect:on on water_detect: off den Status.
Dem HMS 2bc7 hahbe ich den Namen Wasser_Heizung verpasst :
" define Wasser_Heizung HMS 2bc7 "
Debianmail läuft über die Commandozeile bereits mit dem Befehl:
{DebianMail('xx@xxx.de','Alarm2','AlarmGetriggert')} und das mail kommt an.
Mein einfachste Notify Anweisung lautet:
define Wasserperemail notify wasser_Heizung:water_detect:on {DebianMail('xx@xxx.de','Alarm2','AlarmGetriggert')}
leider passiert gar nichts, wenn water_detect von off nach on wechselt.
Was mache ich falsch?
Zitat von: UweUwe am 29 Dezember 2014, 20:14:51
" define Wasser_Heizung HMS 2bc7 "
define Wasserperemail notify wasser_Heizung:water_detect:on {DebianMail('xx@xxx.de','Alarm2','AlarmGetriggert')}
Fällt dir beim Vergleich der Devicenamen was auf?
Groß-/Kleinschreibung macht einen Unterschied.
Hallo kaihs,
vielen Dank, war sicher ein sehr wichtiger Tip. Leider ist da noch was..
Ich vermute, dass ich in der Anweisung noch einen Fehler habe:
alt:
define Wasserperemail notify wasser_Heizung:water_detect:on {DebianMail('ua@@msc.de','Alarm2','AlarmGetriggert')}
wenn ich in dem SVG Graphen die Example lines for input ansehs, so finde ich:
"Wasser_Heizung water_detect: on"
ist es dann richtig, wenn man
Wasser_Heizung:water_detect schreibt (also dazwischen einen:?)
Hallo,
versuchs mal mit einem . dazwischen.
wasser_Heizung.water_detect:on
Der Punkt . bedeutet ein beliebiges Zeichen - also auch : oder " " (Leerzeichen).
ZitatIch vermute, dass ich in der Anweisung noch einen Fehler habe:
Dafür taste selbst ich mich gerne noch langsam an sowas ran.
Erst mal das notify definieren mit einer sinnvollen Logausgabe.
define Wasserperemail notify Wasser_Heizung:.* {
Log(3,"$NAME $EVENT");
}
So seh ich im Logfile schonmal ob was ankommt.
Dann entscheide ich per Logeintrag - also $NAME oder $EVENT wie ich weiter mache.
Wenn ein
define Wasserperemail notify Wasser_Heizung:water_detect.* {
Log(3,"$NAME $EVENT");
}
immer noch eine sinnvolle Ausgabe ergibt dann weiß ich ja woran ich bin und kann dann darauf auch jedes x-beliebige notify aufbauen (anfangen).
Sollte in $EVENT ein
water_detect on verborgen sein dürfte on dann in $EVTPART1 stehen.
$EVTPART0 sollte dann water_detect sein.
Irgendwie hatte ich noch auf einen EventMonitor-Mitschnitt gehofft.
Grüße
Hi,
ich möchte auch hier mal wieder auf ein Beispiel (http://www.fhemwiki.de/wiki/HM-Sec-WDS_Funk-Wassermelder#Automatische_E-Mail_bei_Feuchte.2FN.C3.A4sse) aus dem Wiki verweisen ;)
Gruß
Thomas
Hallo Puschel74,
danke für die ausführlichen Hinweise.
Da ist aber noch was:
Wenn ich deinen Code einfüge:
define Wasserperemail notify Wasser_Heizung:.* {
Log(3,"$NAME $EVENT");
}
so bekomme ich folgende Fehlermeldung:
Unknown command Log(3,"$NAME, try help. Unknown command }, try help.
Ich habe auch versucht, eine Beschreibung des Log-Befehles zu finden.
Ohne Erfolg.
Ich bitte hier noch um Unterstützung. Merci
so bekomme ich folgende Fehlermeldung:
Hallo,
ich weiß, leider hat es in der Signatur nur begrenzt Platz für Infos.
Meine Codes direkt in der fhem.cfg produzieren natürlich Fehler.
Jeder der die fhem.cfg direkt mit meinem Codes schmücken will muss sich selbst um die Sonderzeichen kümmern oder sich dann mit den Fehlermeldungen herum schlagen.
Den Code grad nochmal auf meiner Versuchinstallation etwas abgewandelt mit einem Dummy ausprobiert und er funktioniert einwandfrei.
Grüße
Hi,
nimm
define Wasserperemail notify Wasser_Heizung:.* {
Log(3,"$NAME $EVENT");
}
mache einen Einzeiler daraus
define Wasserperemail notify Wasser_Heizung:.* { Log(3,"$NAME $EVENT"); }
gebe ihn oben in der Fhem-Weboberfläche in die weiße Eingabefeld ein und drücke die <Return-Taste>.
Dann noch links auf "save" klicken (sonst ist die Definition nach dem nächsten Neustart weg).
Oder du schreibst (ungetestet):
define Wasserperemail notify Wasser_Heizung:.* { \
Log(3,"$NAME $EVENT");; \
}
in die fhem.cfg (auf die Verdoppelung des ";" und die zusätzlichen "\" achten (siehe auch Link (http://fhem.de/commandref_DE.html#perl)).
Gruß
Thomas
Hallo,
entweder ALLES per DEF bearbeiten (das geht auch mit Mehrzeiler sehr gut)
ODER alles in der fhem.cfg
Eine Mischung aus beidem wird jeden Anfänger verzweifeln lassen.
Also bitte in Zukunft auf die Bearbeitung per DEF hinweisen (oder du kümmerst dich um Probleme die aus dem direkten bearbeiten der Konfig kommen).
Danke.
Grüße
Sorry Puschel74 aber:
1. muss man für eine Bearbeitung per DEF erst einmal etwas definiert haben, oder?
2. ich habe dem Fragesteller 2 mögliche Alternativen aufgezeigt. Was er wählt ist seine Sache. Ich schreibe niemandem etwas vor
3. da ich weit über volljährig bin, lasse ich mir von niemandem vorschreiben, was ich wem wie beantworte, es sei denn, er oder sie ist mein Vorgesetzter
Gruß
Thomas
Hallo,
zu 1.
Und wo liegt das Problem sowas
define Wasserperemail notify Wasser_Heizung:.* {}
zu definieren?
Schon hast du ein DEF aus das man klicken kann.
Grüße
Moins,
Zitat von: Puschel74 am 30 Dezember 2014, 10:21:21
Schon hast du ein DEF aus das man klicken kann.
Mein Reden ähm... Schreiben.
Gruß
Thomas
Hallo,
es stimmt schon.
FHEM lässt sich direkt über die fhem.cfg bearbeiten oder eben über das FHEM-Frontend.
Wer lieber direkt in der fhem.cfg rumfummelt darf das gerne machen.
Meine Codebeispiele sind nicht dafür gedacht und produzieren daher auch Fehlermeldungen im Logfile.
Und für Anfänger würde ich das bearbeiten über das Frontend vorziehen.
- Man muss sich keine Gedanken über doppelte ; und \ machen.
- Weiters muss auch nicht die gesamte Konfig jedesmal neu eingelesen werden - was beim direkten bearbeiten zwangsläufig der Fall ist.
- Auch meckert FHEM beim anlegen über die Befehlszeile Syntaxfehler sofort an und man kommt nicht in die Verlegenheit das FHEM mal nichtmehr startet weil man sich eben "verkonfiguriert" hat.
- Und mit der Zeit gewöhnt man sich dran das DEF zu bearbeiten anstatt jedesmal in einer immer größer werdenden Konfig den richtigen Codeteil zu suchen.
Aber bitte - jeder wie er möchte.
Für mich überwiegen klar die Vorteile - aber auch ich musste das erst lernen ;)
Grüße
Edith: Ich denke ich werde meinen angepinnten Beitrag mal etwas überarbeiten und auf mehrere Beiträge aufteilen.
Dann kann auch sowas mit rein genommen werden.
Hallo Rohan und Puschel74,
danke fuer eure Diskussion.
Mich hat dies jetzt einen Schritt weitergebracht.
Ich habe jetzt erkannt, dass es 2 Wege gibt, wie man Commandos in die fhem.cfg addiert:
1. manuell mit grossem Gefahrenpotential
2. Über die Kommadozeile.
Habe dies jetzt auch erfolgreich versucht.
Mit dem von euch vorgeschlagenen Kommando:
define Wasserperemail notify Wasser_Heizung:.* {}
Die finde ich jetzt auch in meiner fhem.cfg und kann diese def jetzt auch bearbeiten.
Und unter "notify" finde ich die Def Wasserpermail".
Diese kann ich jetzt auch durch anklicken bearbeiten. Soweit habe ich alles verstanden.
Jetzt stellt sich die Frage, wie ich die DEF bearbeite.
Mein Ziel ist es ja, dass ich immer, wenn die Variable Wasser_Heizung:water_detect den Wert "on" annimmt, ein (Debian)Email absetzt.
Die Subroutine für Debianmail habe ich in 99_Util.pm personalisiert (mit Email Adresse und Passwort verstehen).
Wo kann ich nachlesen, wie ich hier weitergekomme.
Sorry für die vielen Fragen.
Denke im Vorraus.
Im Wiki sollte es einen Beitrag zu Mailversand geben - http://www.fhemwiki.de/wiki/E-Mail_senden (http://www.fhemwiki.de/wiki/E-Mail_senden)
Sollten noch Fragen sein - nur her damit.
Im Prinzip ein notify auf das Trigger-Kommando - :on.* nach Wasser_Heizung und dann die Mail schicken lassen mit dem gewünschten Inhalt.
Edith: Wobei ich grad sehe das das Beispiel im Wiki auch direkt in der fhem.cfg rumfummelt ???
Da ist es mir jetzt klar warum ich auf verlorenem Posten stehe mit meiner "Ansicht" :-\
Hallo Puschel74
den Beitrag über aus Email senden im Wiki habe ich gelesen und so angewandt.
Mail senden mit Debian funktioniert, habe über die Kommandozeile getestet.
Kannst du die nächsten 2 Zeilen deiner Antwortmail bitte noch ausführlicher machen.
Ab .. Im Prinzip ein ..
Die nötige Def habe ich ja schon gemacht, über die Kommandozeile.
Jetzt gilt es die bedingte Verknüpfung dem notify zu ergänzen..
Hallo,
ich versuchs für dich nochmal zusammen zu pflücken.
Du wirst aber um die commandref, das Einsteiger.pdf, die angepinnten Beiträge und die Forumssuche nicht umhin kommen.
Auch Perl würde dir in weiterer Folge hilfreich sein.
Das nur als kleiner Hinweis für deine zukünftigen "Projekte".
Eines meiner Mail-notifys sieht so aus:
.*:[Bb]attery.* {
if($EVENT !~ m/ok/) {
if (Value("Zustands_Warnung") ne "Batterie") {
Log(3,"$NAME: Batteriewarnung $EVENT");
fhem("set Batteriestatus_Led led red");
fhem ("set Zustands_Warnung on");
DebianMail('xxx.yyy@zzz.qq',$NAME,$EVENT);
}
}
}
Wie du siehst verwende ich auch DebianMail (x,y,z und q sind hier nur Platzhalter).
Dein notify sollte also zumindest so
Wasser_Heizung:on.* {
DebianMail('xxx.yyy@zzz.qq',$NAME,$EVENT);
}
aussehen und funktionieren - x,y,z und q bitte gegen deine Daten austauschen.
Wenn es nicht klappt dann hilft manchmal auch ein Blick in das Logfile ;)
Grüße