Hallo zusammen,
ich verzweifle noch bei dem Thema notify und Email
Ich möchte eine EMail verschicken wenn bei einem Device in meinem Beispiel eine Steckdose der State auf "on" wechselt.
define Test_Steckdose notify Steckdose.* State:ON.* { \{ DebianMail('mail@@apperger.de', 'FHEM-Meldung', 'Steckdose eingeschalten bei @ -> Status: %')};; \ }
Die Test Email mit "{DebianMail('mail@apperger.de','Test','Test-Text');; }" kann ich aus dem FHEM verschicken.
Hat mir jemand einen Tip ?
Gruß
Michael
Schaue bitte im Eventmonitor wie genau der Event aus schaut und passe dann Dein Notify entsprechend an. Bitte benutze Code Tages für Beispiele.
Weitere Tips findest Du im Anfängerforum bei den angepinnten Threads.
In deinem Notify ist das @ auch noch gedoppelt.
Ich sehe gerade das Du auch noch die alte Form verwendest um das Device und den Event in Erfahrung zu bringen. Bitte lese hierfür den oberen Teil im Forum welcher ganz rot geschrieben ist und auf die Version 5.7 hinweist.
Du scheint den Code von irgendwo her zu haben ohne zu Wissen was er macht. Kann das sein?
Grüße
Hallo,
so ich habe FHEM jetzt dazu bewegen können Emails zu verschicken.
Leider ersetzt er mir in dem Email Aufruf nicht $NAME und $EVENT
define MyMacro notify Socket1 {DebianMail('mail@apperger.de','TEST','Steckdose eingeschalten bei $NAME -> Status: $EVENT');; }
Muss ich hierzu noch was beachten?
Laut der neuen Anleitung sollte dies ja funktionieren.
Gruß
Michael
Hallo Michael!
Zwischen einfachen Anführungszeichen werden in Perl keine Variablen ersetzt. Lösungsmöglichkeit/-weg findest Du hier : http://www.fhemwiki.de/wiki/Batterie%C3%BCberwachung#Ger.C3.A4te_mit_Batteriestatus
ZitatLaut der neuen Anleitung sollte dies ja funktionieren.
Welcher Anleitung? Hast Du das in "offiziellen" FHEM-Dokus so gefunden? Falls ja, sollten wir das berichtigen.
Gruß, Christian
Hallo,
eigentlich wollte ich ja den "STATE" auswerten um bei ON eine Email zu verschicken. Laut einem Eintrag im Forum kann ich diesen aber nicht auslesen, ist dies wirklich so?
Ich habe schon in der Doku geschaut wie ich den folgenden String im Event Monitor als Notify verwenden kann, damit eine Email verschickt wird:
2016-06-14 13:54:15 NETIO230 Socket1 _lastNotice: set Socket1 on: OK
leider hatte ich bisher keinen Erfolgt.
Hat mir jemand nen Tip?
Gruß
Michael
ZitatLaut einem Eintrag im Forum kann ich diesen aber nicht auslesen, ist dies wirklich so?
kann ist falsch, sollte ist richtig. Notify/DOIF/etc reagiert auf Events, nicht auf den angezeigten Status.
Zitat2016-06-14 13:54:15 NETIO230 Socket1 _lastNotice: set Socket1 on: OK
define n notify Socket1:_lastNotice:.set.Socket1.on:.OK { SendMeMail() }
Recht merkwuerdiges Event.
Ich hole das Thema nochmal hervor. Vielleicht hilft es ja noch Jemandem.
Ich hatte das gleiche Problem. Nach langem Suchen und viel Probieren hab ich jetzt endlich eine Lösung gefunden.
Ich habe einen Dummy "dy_HzgStoer" der von zwei notify's gesteuert wird:
DEF MQTT2_DVES_E4AC01:POWER:.ON set dy_HzgStoer on
DEF MQTT2_DVES_E4AC01:POWER:.OFF set dy_HzgStoer off
der Dummy hat das Attribut "event-on-change-reading" gesetzt:
attr event-on-change-reading .*
Ein weiteres notify wertet nun diesen Dummy aus und versendet die email (NUR bei Event "Status on"):
DEF dy_HzgStoer.on {DebianMail('mailadresse@domain', 'Heizungsstoerung', '')}
Damit wird nur beim Wechsel des Status von "off" zu "on" eine Mail versendet. Erst wenn der Status zwischenzeitlich wieder auf "off" (bei mir "Heizung störungsfrei") war wird beim Nächsten Wechsel zu Status "on" wieder eine Mail versendet.