######## DebianMail Mail auf dem RPi versenden ############
# $provider für SMTP Server anpassen.
# Einmal in der FHEM Kommandozeile, user und password anpassen:
# {setKeyValue("myEmailKonto",'xxx.xxx@xxx.de');;setKeyValue("myEmailPasswrd",'xxxxxxxx')}
sub DebianMail {
my $rcpt = shift;
my $subject = shift;
my $text = shift;
my $attach = shift;
my $ret = "";
my $error;
my $konto = 'xxx.xxx@xxx.xx';
my $passwrd = '.xxxxxxxxxx';
my $from = 'xxx.xxx@xxx.xx'; # or use different KeyValue if konto is not the from email address
my $provider = "mail.xxx.de:587"; # smtp.domain.tld:port see provider documentation
# Log 1, "sendEmail RCP: $rcpt";
# Log 1, "sendEmail Subject: $subject";
# Log 1, "sendEmail Text: $text";
# Log 1, "sendEmail Anhang: $attach";
if (not defined($attach)) { $attach = '' }
$ret .= qx(sendemail -f '$from' -t '$rcpt' -u '$subject' -m '$text' -a '$attach' -s '$provider' -xu '$konto' -xp '$passwrd' -o tls=yes -o message-charset=utf-8);
$ret =~ s,[\r\n]*,,g; # remove CR from return-string
# Log 1, "sendemail returned: $ret $konto $passwrd";
fhem("set ESP06 tone 21 2300 2500");
return 0;
}
ZitatAlle 0,5 Liter Regen pro m² kommt ein Impuls, sicherlich kannst du den Reed Kontakt auch per beliebigen Funkaktor oder mit Kabel in Fhem bekommen.
define rg_Yamaha readingsGroup <TV>,<YouTube>,<Netflix>,<Radio>,<ON/OFF>\
DU_TV:state,state@DU_YouTube,state@DU_Netflix,state@DU_Radio,state@Yamaha
attr rg_Yamaha alias Yamaha Szenen
attr rg_Yamaha commands {"volume" => "set Yamaha volume"}
attr rg_Yamaha group Yamaha
attr rg_Yamaha mapping volume
attr rg_Yamaha nonames 1
attr rg_Yamaha notime 1
attr rg_Yamaha room YAMAHA
attr rg_Yamaha style style='text-align:center'
attr rg_Yamaha valueIcon { state => '%devStateIcon' }
# DEF <TV>,<YouTube>,<Netflix>,<Radio>,<ON/OFF>
#DU_TV:state,state@DU_YouTube,state@DU_Netflix,state@DU_Radio,state@Yamaha
# FUUID 66a4cc9d-f33f-8098-1382-795f06b590a67706
# NAME rg_Yamaha
# NR 651
# NTFY_ORDER 50-rg_Yamaha
# STATE Initialized
# TYPE readingsGroup
# changed 0
# mayBeVisible 1
# CONTENT:
# DU_TV 1
# CONTENT2:
# DU_Netflix 1
# DU_Radio 1
# DU_YouTube 1
# Yamaha 1
# DEVICES:
# ARRAY(0x8e6c0c8)
# ARRAY(0x2274450)
# DEVICES2:
# ARRAY(0x8e6c0c8)
# ARRAY(0x2274450)
# ARRAY(0x86e04c0)
# ARRAY(0x2005fe0)
# ARRAY(0x8808228)
# ARRAY(0x8dbc020)
# READINGS:
# fhem:
# lastDefChange 50
# last_update 1722078252.5344
# helper:
# DEF
# mapping volume
# commands:
# volume set Yamaha volume
# positions:
# DU_Netflix.state 2:3
# DU_Radio.state 2:4
# DU_TV.state 2:1
# DU_YouTube.state 2:2
# Yamaha.state 2:5
# valueIcon:
# state %devStateIcon
# values:
# formated:
# undef
# ARRAY(0x2149660)
# ARRAY(0x8678a50)
# ARRAY(0x21496f0)
# ARRAY(0x863a990)
# ARRAY(0x1e21c38)
# orig:
# undef
# ARRAY(0x2191cc8)
# ARRAY(0x20b7868)
# ARRAY(0x2270c90)
# ARRAY(0x2089538)
# ARRAY(0x2094498)
# prefixsuffix:
# undef
# ARRAY(0x20c5f80)
# ARRAY(0x744f700)
# ARRAY(0x8efb4b0)
# ARRAY(0x8e23380)
# ARRAY(0x8e61768)
#
Solarertrag_Log:* {my $Ertrag1 = sprintf "%.2f kWh" ,ReadingsVal("1_Solarertrag_Solix","energyDay",0)/1000;
my $Ertrag2 = sprintf "%.2f kWh" ,ReadingsVal("2_Solarertrag_Hoymiles","ENERGY_Today",0);
my $ErtragTG = $Ertrag1+$Ertrag2;
my $ErtragMG = sprintf "%.2f kWh" ,ReadingsVal("Solarmessung","statEnergyMonth",0)/1000+sprintf "%.2f kWh" ,ReadingsVal("2_Solarertrag_Hoymiles","statENERGY_TotalMonth",0);
my $EinspDay = sprintf "%.2f kWh" ,ReadingsVal("Stromzaehler","statZaehler_wirkenergie_totalDay",0);
my $EinspMon = sprintf "%.2f kWh" ,ReadingsVal("Stromzaehler","statZaehler_wirkenergie_totalMonth",0);
my $Ersparnis = $ErtragTG*0.325;
my $ErtragG = sprintf "%.2f kWh" ,ReadingsVal("Solarertrag","energy",0)/1000;
my $ErsparnisG = sprintf "%.2f EUR" ,ReadingsVal("Solarertrag","ersparnis",0);
my $TageG = sprintf "%.f Tagen" ,ReadingsVal("Solarertrag","Tage",0);
my $ErtragM = sprintf "%.2f kWh" ,ReadingsVal("Solarertrag","energyMonth",0)/1000;
my $ErsparnisM = $ErtragMG*0.325;
my $StromDay = sprintf "%.2f kWh" ,ReadingsVal("Stromzaehler","statZaehler_zaehlerstand_totalDay",0);
my $StromMon = sprintf "%.2f kWh" ,ReadingsVal("Stromzaehler","statZaehler_zaehlerstand_totalMonth",0);
my ($Sekunden, $Minuten, $Stunden, $Monatstag, $Monat,
$Jahr, $Wochentag, $Jahrestag, $Sommerzeit) = localtime(time);
my $CTIME_String = localtime(time);
$Monat += 1;
$Jahrestag += 1;
$Jahr += 1900;
my @Wochentage = qw(Sonntag Montag Dienstag Mittwoch Donnerstag Freitag Samstag);
my @Monatsnamen = qw(Januar Februar März April Mai Juni Juli August September Oktober November Dezember);
my $datum_2 = sprintf("%s %2d. %s% 04d",
$Wochentage[$Wochentag],
$Monatstag,
$Monatsnamen[$Monat-1],
$Jahr,
my $Text = '<!DOCTYPE html>' .
'<html>' .
'<head> <title>Zählerwerte</title> </head>' .
'<body >' .
'<h1 style="background-color:blue;color:white;font-family:verdana;text-align:center;">Zählerwerte</h1>' .
'<p ><b>Die Ersparnis heute ist $Ersparnis $</b></p>' .
'<p > </p>' .
'<p >Dies ist eine Testmail</p>' .
'<p >FHEM</p>' .
'</body>' .
'</html>'
);
exmail('Meine@meine.de', 'Solarertrag+Stromverbrauch', "$Text")}