FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Faber38 am 04 Dezember 2016, 14:38:52

Titel: [gelöst] meherer commands möglich ?
Beitrag von: Faber38 am 04 Dezember 2016, 14:38:52
Hallo,
ich arbeite mich ja gerade ein wenig ein...

nun hab ich sendemail erfolgreich installiert so das ich mit

DebianMail('adresse@provider','Battry fast alle','Batterie in einem Thermostat ist fast alle. Bitte wechseln ! ');; }

die email erhalte...
nun meine eigentliche Frage.
geht das in Attributes auch mit mehreren commands ?
Beispiel:
{ "battery.low" => "set %DEVICE replaceBatteryForSec 60" }
{DebianMail('adresse@provider','Battry fast alle','Batterie im Thermostat1 ist fast alle. Bitte wechseln ! ');; }


funktioniert das so ? oder muss ich da noch etwas setzen ?

Titel: Antw:meherer commands möglich ?
Beitrag von: viegener am 04 Dezember 2016, 14:54:23
In welchen Attributen von welchem Device / welchem Typ willst Du das verwenden?

Ja man kann mehrere Kommandos zusammenfassen, aber in welchem zusammenhang möchtest Du das machen?
Titel: Antw:meherer commands möglich ?
Beitrag von: Faber38 am 04 Dezember 2016, 15:03:33
Danke für die Antwort...

zur Erkährung:
ich habe HM HeizkörperThermostate...die mir den aktuellen Batterie stand angeben...
dann habe ich in der Wiki folgenden Beitrag gefunden
http://www.fhemwiki.de/wiki/Batterie%C3%BCberwachung

danach das device Batteriestatus erzeugt...
define n_batt_chk notify .*:[Bb]attery:.* { if($EVENT !~ m/ok/) { \
  { FB_mail('recipient@internet.de', 'FHEM Batteriewarnung', $NAME.': '.$EVENT)};; \
   Log 3, "$NAME: Batteriewarnung $EVENT";; \
  } \
}


nun möchte ich noch das mit dem wechseln des Icons auf ROT auch eine email abgesetzt wird.
und dachte das ich im Attributes im commads  meherer Befehle einbauen könnte...
ich bekomme aber immer eine fehlermeldung

belasse ich den befehl
{"battery.low" => "set %DEVICE replaceBatteryForSec 60" }

so bekomme ich im log keine fehlermeldung...
versuche ich dort noch einen befehl zu implementieren...gibts im log fehler
Titel: Antw:meherer commands möglich ?
Beitrag von: Faber38 am 04 Dezember 2016, 15:07:58
oh man...vor lauter Bäume seh ich den Wald nicht...

Kann geschlossen werden...
Sorry...
Titel: Antw:meherer commands möglich ?
Beitrag von: viegener am 04 Dezember 2016, 15:30:16
Schön! Schreib doch bitte noch kurz die Lösung für Dein Problem auf und markiere den Thread als gelöst.
Titel: Antw:meherer commands möglich ?
Beitrag von: Faber38 am 04 Dezember 2016, 16:04:40
Die Lösung steht in der Wiki...

Ich habe eine readingGroup erzeugt
http://www.fhemwiki.de/wiki/ReadingsGroup#Auswahl_.C3.BCber_Reading-Namen.2C_Status_als_Symbol_dargestellt

um nun email über FHEM auf einem Debianserver zu senden ,erzeugte ich nach folgender Vorlage
zuerst
apt-get install sendemail

danch
in der 99_myUtils folgende Unterroutine einfügen:

######## DebianMail  Mail auf dem RPi versenden ############
sub
DebianMail
{
my $rcpt = shift;
my $subject = shift;
my $text = shift;
my $attach = shift;
my $ret = "";
my $sender = "absender\@account.de";
my $konto = "kontoname\@account.de";
my $passwrd = "passwrd";
my $provider = "localhost:25";
Log 1, "sendEmail RCP: $rcpt";
Log 1, "sendEmail Subject: $subject";
Log 1, "sendEmail Text: $text";
Log 1, "sendEmail Anhang: $attach";

$ret .= qx(sendEmail -f $sender -t $rcpt -u $subject -m $text -a $attach -s $provider -xu $konto -xp $passwrd -o tls=no -o message-charset=utf-8);
$ret =~ s,[\r\n]*,,g;    # remove CR from return-string
Log 1, "sendEmail returned: $ret";
}


jetzt nur noch
define n_batt_chk notify .*:[Bb]attery:.* { if($EVENT !~ m/ok/) {{ DebianMail('adress@provider', 'FHEM Batteriewarnung', $NAME.': '.$EVENT)}; Log 3, "$NAME: Batteriewarnung $EVENT";}}
}


so funktioniert es.
Damit werden nun meine HeizkörperThermostate auf Batterie status überwacht...und ich bekomme zusätzlich eine email gesendet.
Titel: Antw:[gelöst] meherer commands möglich ?
Beitrag von: viegener am 04 Dezember 2016, 17:16:37
Danke!