FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: DerMatze am 24 Oktober 2016, 00:03:18

Titel: at mit Perl und fhem Befehlen mischen
Beitrag von: DerMatze am 24 Oktober 2016, 00:03:18
Guten Abend,
seit einigen Tagen versuche ich mir in meiner Anlage eine Status Mail zuschicken. Ich habe jetzt schon diverse Beiträge gelesen und lange probiert, aber leider bis jetzt keine funktionierende Lösung gefunden. Deshalb hier mein Code, ihr könnt mir sicher helfen. Danke!


define StatusMail at *12:00:00 {\
if ($wday == 7){\
my $alarmstatus=ReadingsVal("led_garage_l", "state", "--");;;;\
DebianMail('mailadresse@provider.com','Status','!!!!'.$alarmstatus);;;;\
}\
}
Titel: Antw:at mit Perl und fhem Befehlen mischen
Beitrag von: DeeSPe am 24 Oktober 2016, 02:01:55
Zitat von: DerMatze am 24 Oktober 2016, 00:03:18
Guten Abend,
seit einigen Tagen versuche ich mir in meiner Anlage eine Status Mail zuschicken. Ich habe jetzt schon diverse Beiträge gelesen und lange probiert, aber leider bis jetzt keine funktionierende Lösung gefunden. Deshalb hier mein Code, ihr könnt mir sicher helfen. Danke!


define StatusMail at *12:00:00 {\
if ($wday == 7){\
my $alarmstatus=ReadingsVal("led_garage_l", "state", "--");;;;\
DebianMail('mailadresse@provider.com','Status','!!!!'.$alarmstatus);;;;\
}\
}


Als Einzeiler:

define StatusMail at *12:00:00 {DebianMail('mailadresse@provider.com',"Status","!!!! ".ReadingsVal("led_garage_l","state","--")) if($wday == 7)}


Gruß
Dan
Titel: Antw:at mit Perl und fhem Befehlen mischen
Beitrag von: DerMatze am 24 Oktober 2016, 11:27:09
Danke für die schnelle Antwort. Funktioniert auch wunderbar. Allerdings wollte ich die StatusMail noch um einige Werte erweitern und wollte mit Variablen für die bessere Übersichtlichkeit arbeiten. Vielleicht habt ihr da noch einen Tip für mich.
Titel: Antw:at mit Perl und fhem Befehlen mischen
Beitrag von: DeeSPe am 24 Oktober 2016, 11:33:39
Zitat von: DerMatze am 24 Oktober 2016, 11:27:09
Danke für die schnelle Antwort. Funktioniert auch wunderbar. Allerdings wollte ich die StatusMail noch um einige Werte erweitern und wollte mit Variablen für die bessere Übersichtlichkeit arbeiten. Vielleicht habt ihr da noch einen Tip für mich.

Würde an dieser Stelle ohne Variablen arbeiten.
Erweiterbar wäre es z.B. so:
define StatusMail at *12:00:00 {DebianMail('mailadresse@provider.com',"Status","!!!! state: ".ReadingsVal("led_garage_l","state","").", rgb: ".ReadingsVal("led_garage_l","rgb","").", dim: ".ReadingsVal("led_garage_l","dim","")) if($wday == 7)}

Oder wenn unbedingt mit Variable(n) dann evtl. so (Status vorher zusammenbauen):
define StatusMail at *12:00:00 {my $status="!!!! state: ".ReadingsVal("led_garage_l","state","").", rgb: ".ReadingsVal("led_garage_l","rgb","").", dim: ".ReadingsVal("led_garage_l","dim","");;DebianMail('mailadresse@provider.com',"Status","$status") if($wday == 7)}

Gruß
Dan