Watchdog mit Email Versand

Begonnen von mane88, 24 Mai 2015, 18:20:25

Vorheriges Thema - Nächstes Thema

mane88

Hallo

Habe einen Watchdog heute eingesetzt und bin auf ein Problem gestoßen.


FS_Keller_01:closed 00:00:10 FS_Keller_01:open {EMail('abc@gmail.com', 'FHEM Waschmaschine', 'Die Waschmaschine ist fertig!')};; setstate watchdog_waschmaschine defined



Leider wird keine Email verschickt. Das Log gibt folgendes aus


2015.05.24 18:15:10 3: Unknown command {EMail('abc@gmail.com',, try help.


Habe es auch schon mit {{}} und ohne versucht bis jetzt jedoch kein Erfolg.

Wenn ich den den Perl Aufruf in die CMD line eingebe funktioniert er einwandfrei.

Woran kann dies liegen?

PS: abc ist natürlich nur hier geändert, die 10Sek bis zum Auslösen sind nur zum Testen

jsloot

Zitat von: mane88 am 24 Mai 2015, 18:20:25
Hallo

Habe einen Watchdog heute eingesetzt und bin auf ein Problem gestoßen.


FS_Keller_01:closed 00:00:10 FS_Keller_01:open {EMail('abc@gmail.com', 'FHEM Waschmaschine', 'Die Waschmaschine ist fertig!')};; setstate watchdog_waschmaschine defined



Leider wird keine Email verschickt. Das Log gibt folgendes aus


2015.05.24 18:15:10 3: Unknown command {EMail('abc@gmail.com',, try help.


Habe es auch schon mit {{}} und ohne versucht bis jetzt jedoch kein Erfolg.

Wenn ich den den Perl Aufruf in die CMD line eingebe funktioniert er einwandfrei.

Woran kann dies liegen?

PS: abc ist natürlich nur hier geändert, die 10Sek bis zum Auslösen sind nur zum Testen

Bin mir nicht sicher, aber füg mal ein Leerzeichen zwischen { und EMail ein.
Ein FHEM-Raspi mit HM-CFG-USB-2. 9 HM Heizthermostate, 9 HM Temperatursensoren, 22 HM Fensterkontakte, 7 Rolloaktoren, 17 HM Unterputz-Aktoren

mane88

Leider gleiches Probem auch das Leerzeichen hat nicht geholfen

2015.05.25 18:55:56 3: Unknown command {, try help.

jsloot

#3
Zitat von: mane88 am 25 Mai 2015, 18:58:01
Leider gleiches Probem auch das Leerzeichen hat nicht geholfen

2015.05.25 18:55:56 3: Unknown command {, try help.

Kannst du mal das komplette define-Statement posten? Folgendes Statement funktioniert bei mir nämlich:

define testwd watchdog Kueche.Tuer:closed 00:00:10 Kueche.Tuer:open {EMail('abc@gmail.com', 'FHEM Waschmaschine', 'Die Waschmaschine ist fertig!')};; setstate testwd defined
Ein FHEM-Raspi mit HM-CFG-USB-2. 9 HM Heizthermostate, 9 HM Temperatursensoren, 22 HM Fensterkontakte, 7 Rolloaktoren, 17 HM Unterputz-Aktoren

mane88

#4
define watchdog_waschmaschine watchdog FS_Keller_01:closed 00:00:10 FS_Keller_01:open { EMail('abc@gmail.com', 'FHEM Waschmaschine', 'Die Waschmaschine ist fertig!')};; setstate watchdog_waschmaschine defined


Der Watchdog ansich funktioniert auch das setstate, nur leider die Email nicht

Habe eben nochmal einen restart von FHEM gemacht und die Myultis nochmals geladen, beides bringt leider keinen Erfolg

2015.05.26 16:44:35 3: Watchdog watchdog_waschmaschine triggered
2015.05.26 16:44:35 3: Unknown command {, try help.

mane88

Habe nochmal weiter daran rumgespielt, bekomme es aber nicht zum Laufen.

In einem Notify klappt der Befehl EMail genau mit der beschriebenen Verwendung ohne Probleme.

Kann es sich unter Umständen um einen Fehler im "Watchdog" handeln?

Prof. Dr. Peter Henning

Alle Leerzeichen aus dem {}-Ausdruck herausnehmen.

LG

pah

mane88

Leider auch nicht

habe als CMD stehen

EMail('abc@gmail.com', 'FHEM Waschmaschine', 'Die Waschmaschine ist fertig!');; setstate watchdog_waschmaschine defined


Das Log sagt und es kommt keine Email
2015.05.31 20:27:26 3: Unknown command EMail('abc@gmail.com',, try help.

mane88

Habe das Problem gelöst, anscheint beist sich Perl und FHEM im CMD des Watchdogs.

wenn ich es mit


{EMail('abc@gmail.com', 'FHEM Waschmaschine', 'Die Waschmaschine ist fertig!'); fhem "setstate watchdog_waschmaschine defined"}


als CMD schreibe funktioniert es

Prof. Dr. Peter Henning

Das "beißt" sich nur, weil der String nicht geparst werden kann. In dem Kommando sind noch Leerzeichen drin: 'abc@gmail.com', 'FHEM Waschmaschine', 'Die Waschmaschine ist fertig!'

LG

pah

mane88

Zitat von: Prof. Dr. Peter Henning am 01 Juni 2015, 07:31:50
Das "beißt" sich nur, weil der String nicht geparst werden kann. In dem Kommando sind noch Leerzeichen drin: 'abc@gmail.com', 'FHEM Waschmaschine', 'Die Waschmaschine ist fertig!'

LG

pah

Stimmt habe es nochmals versucht mit

{EMail('abc@gmail.com','FHEM Waschmaschine','Die Waschmaschine ist fertig!')}

das klappt, allerdings wie bekomme ich den "normalen" FHEM-Code?

Denn

{EMail('abc@gmail.com','FHEM Waschmaschine','Die Waschmaschine ist fertig!')};;setstate watchdog_waschmaschine defined

funktioniert nicht