notify für Batteriecheck und Emailversand funktioniert nicht

Begonnen von slor, 02 Dezember 2015, 23:41:19

Vorheriges Thema - Nächstes Thema

slor

Danke für den Hinweis :-)

Läuft leider trotzdem nicht...

2015.12.09 10:13:44 3: n_batt_chk return value: syntax error at (eval 7803) line 2, near ")
my "
Global symbol "$P1" requires explicit package name at (eval 7803) line 2.
Global symbol "$P1" requires explicit package name at (eval 7803) line 11.
syntax error at (eval 7803) line 14, near "}elsif"

2015.12.09 10:14:30 3: n_batt_chk return value: Undefined subroutine &main::AtthhppllrVal called at (eval 7808) line 2.

dev0

Zitat von: slor am 09 Dezember 2015, 10:16:27
Läuft leider trotzdem nicht...
Mitdenken ist in diesem Forum gestattet. Ohne Code nix los.

slor

sorry, dachte es wäre klar.
Code ist weiter unten. Habe nur die Variablen in Großbuchstaben verwandelt.

Habe noch ein wenig weiter "rumprobiert". (Inhalt der Variablen ist erst mal Bogus)
Aktueller Code mit gleicher Fehlermeldung:

.*:[Bb]attery.* {if($EVENT !~ m/ok/i){
   if (AtthhppllrVal("$NAME","comment",0) ne 1) {
      Log 3,"Bat $NAME $EVENT";
      fhem "attr $NAME comment 1";
#{exmail('mail@mail,'FHEM-Batteriewarnung '.$NAME.','Batteriewechsel erforderlich bei '.$NAME.'-> Status:'.$EVENT)});
my $P1 = 'mail@mail';
my $P2 = 'FHEM-Batteriewarnung !!!';
my $P3 = 'Haustür wurde geöffnet';
{exmail($P1,$P2,$P3)}
 
  }
}elsif($EVENT =~ m/ok/i) {fhem("setreading $NAME lastBatChange ".localtime)}
elsif (AttrVal("$NAME","comment",0) eq 1) {fhem("deleteattr $NAME comment")}
}



slor

oops, grad ne vertippte Zeile entdeckt.


   if (AtthhppllrVal("$NAME","comment",0) ne 1) {


ich korrigier das und meld mich wieder.

slor

So, aktueller Stand:

.*:[Bb]attery.* {if($EVENT !~ m/ok/i){
  if (AttrVal("$NAME","comment",0) ne 1) {
      Log 3,"Bat $NAME $EVENT";
      fhem "attr $NAME comment 1";
#{exmail('mail@mail,'FHEM-Batteriewarnung '.$NAME.','Batteriewechsel erforderlich bei '.$NAME.'-> Status:'.$EVENT)});
my $P1 = 'mail@mail';
my $P2 = 'FHEM-Batteriewarnung !!!';
my $P3 = 'Haustür wurde geöffnet';
{exmail($P1,$P2,$P3)}
 
  }
}elsif($EVENT =~ m/ok/i) {fhem("setreading $NAME lastBatChange ".localtime)}
elsif (AttrVal("$NAME","comment",0) eq 1) {fhem("deleteattr $NAME comment")}
}


Email kommt wie gewünscht an.
Die Frage ist, wie bekomme ich die Werte jetzt sinnvoll in den Syntax der Variablen. Da hat es bisher immer mit dem Quotes gehapert.


slor

Danke, der Link stand schon im 2. Beitrag. Leider konnte ich das nicht auf mein Problem übertragen.

Für folgendes brauche ich eine Lösung:

my $P1 = 'mail@mail';
my $P2 = 'FHEM-Batteriewarnung '.$NAME;
my $P3 = 'Batteriewechsel erforderlich bei '.$NAME.'-> Status:'.$EVENT;


$P1 funktioniert. Nur bei den anderen Beiden ist die Syntax falsch. Ich habe nicht rausfinden können, wie das richtig geht.
Selbst mit Externem Editor ist da nichts aus gegraut etc. Ich komme einfach nicht weiter.