[gelöst] meherer commands möglich ?

Begonnen von Faber38, 04 Dezember 2016, 14:38:52

Vorheriges Thema - Nächstes Thema

Faber38

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 ?


viegener

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?
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

Faber38

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

Faber38

oh man...vor lauter Bäume seh ich den Wald nicht...

Kann geschlossen werden...
Sorry...

viegener

Schön! Schreib doch bitte noch kurz die Lösung für Dein Problem auf und markiere den Thread als gelöst.
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

Faber38

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.

viegener

Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können