Problem mit notify

Begonnen von doman75, 18 November 2015, 12:01:52

Vorheriges Thema - Nächstes Thema

doman75

Hallo,

ich hatte bisher folgendes Notify und es hat bis letze Woche geklappt (ich mache nicht immer Updates).


Swen|Anja|Farin {
my $val=Value("@");
DebianMail('swen@@family-lippmann.de','@ ist %',' ');
}


Aber wenn es jetzt ausgelöst wird steht im log ein Fehler das der Empfänger abgelehnt wurde, weil da auch "@@" drin steht, ändere ich die Def dahingehend das da auch nur noch ein "@" steht, bekomme ich zwar wieder eine email aber die Variablen werden nicht aufgelöst, ich habe also im Betreff stehen"@ ist%", anstatt "Anja ist Daheim".

Was muss ich noch anpassen, das es wieder geht?

Danke
Swen

rudolfkoenig


doman75

Vielen Dank,

jetzt habe ich allerdings genau das $NAME und $EVENT genommen und als Subject in der Mail steht dann auch wieder genau das also "$NAME ist $EVENT".

Def sieht jetzt so aus:

Swen|Anja|Farin {
my $val=Value("@");
DebianMail('swen@family-lippmann.de','$NAME ist $EVENT',' ');
}



Brauch ich das $val überhaupt noch? und wo vergesse ich da noch etwas?

Danke
Swen


marvin78

Warum hast du dich denn nun nicht mit der Konsequenz hinter dieser Veränderung beschäftigt? Das wäre mir als erstes eingefallen.

Swen|Anja|Farin {DebianMail("swen@family-lippmann.de","$NAME ist $EVENT"," ")}
oder


Swen|Anja|Farin {DebianMail('swen@family-lippmann.de',$NAME.' ist '.$EVENT,' ')}

doman75

Danke, die erste Variante lieferte nur noch mehr Fehler, aber mit der 2ten Variante hat es funktioniert.


viegener

Hintergrund es geht um perl syntax hier. Mit $NAME und $EVENT werden perl-variablen verwendet und diese werden in einem Text der mit einfachen Anführungsstrichen umschlossen ist, also ', nicht ersetzt -->> deshalb kommt am Ende immer noch $NAME statt der Ersetzung raus. Das ist eine Konsequenz der Umstellung auf 5.7

Mit einem . werden verschiedene Texte und Variablen zusammengehängt, das ist auf jeden Fall sicherer und sauberer als irgendwo im Text ein $... zu haben.

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

Timmy.m

Hallo Zusammen.

Habe den Post von Rudi gelesen und versucht umzusetzen... trotzdem bekomme ich Fehler und mein Notify funktioniert nicht.

Alter Code, der bisher noch funktionierte:
define Piri2 notify FS20_273418 {if("$value{FritzAktor_01}" eq "off") {fhem("set FritzAktor_01 on")}}

Mein Versuch ihn umzuschreiben:
define Piri2 notify FS20_273418 {if(value(FritzAktor_01) eq "off") {fhem("set FritzAktor_01 on")}}

Fehler im Log nach meinem Umschreibeversuch:
2015.11.18 22:09:25 3: Piri2 return value: Bareword "FritzAktor_01" not allowed while "strict subs" in use at (eval 4348) line 1.

Ich habe keine Ahnung, wie es richtig aussehen muss.

Vielleicht kann mir jemand einen Hinweis geben. Danke.

Grüße Tim
FHEM5.9@RaspPi.3B|HMLAN|CUL868V3|1Wire|HUE|FritzBox|BotVacDconnected|3xKindleDisplay|
FHEM2FHEM|
FHEM5.9@RaspPi.2B|nanoCul868|TCM310|JeeLinkClone|RFXTRX433E|ZWave|Zigbee|xiaomi
RaspberryMatic@RaspPi.3B+ in Planung

SvenJust

Value muss der erste Buchstabe groß geschrieben werden und um den Devicenamen müssen Anführungsstriche.
Etwa so: Value("WzThermo")
FTUI, Raspberry PI/SSD, CUL CC1101, HMLAN, 10x HM-LC-Bl1PBU-FM, HM-LC-Sw4-WM (KWL Pluggit P300), HM-WDS30-OT2-SM (Sonnensensor), HM-Sec-SCo, LW-12 Wifi LED, CUL Selbstbau nanoCUL 433 (IT), Arduino (S0-Stromverbrauch), OW DS2480 (OWX_ASYNC) 8x DS18B20, MQTT (Fröling P4), MYSENSORS (Roto Rollläden)

rudolfkoenig

define Piri2 notify FS20_273418 set FritzAktor_01:FILTER=state=off on

Timmy.m

Vielen Dank an Sven und Rudolf! Funktioniert natürlich!

Grüße Tim
FHEM5.9@RaspPi.3B|HMLAN|CUL868V3|1Wire|HUE|FritzBox|BotVacDconnected|3xKindleDisplay|
FHEM2FHEM|
FHEM5.9@RaspPi.2B|nanoCul868|TCM310|JeeLinkClone|RFXTRX433E|ZWave|Zigbee|xiaomi
RaspberryMatic@RaspPi.3B+ in Planung