[GELÖST]OWDevice mit Notify und Oldvalue

Begonnen von torte, 30 März 2015, 23:19:27

Vorheriges Thema - Nächstes Thema

torte

Hallo zusammen,

bin blutiger Anfänger und hab da mal ein Problem welches ich nicht lösen kann bzw. wo ich jetzt seid Tagen fest hänge.
Habe hier im Forum so die letzten Tage eigentlich alles probiert was ich passendes gefunden habe,
aber nix funtz so wie ich es will. Denke fast das ich was anderes noch falsch mache.

Ich habe ein OneWire Device mit einem ReedKontakt an meiner Zimmertür ich möchte nun eine Email wenn die die Tür auf ist aber halt nur einmal und nicht bei
jedem lesen des Events.

Grundsätzlich funktioniert das Email senden sehr gut wenn ich das hier im Notify drin habe
Tuer_Zimmer:location:.(absent) {DebianMail ('mail@@email.de','Alarm Zimmer','Tür auf! ' )}
Aber das natürlich dann dauerhaft.

Wenn ich aber nun das ganze mit Oldvalue mache bekomme ich immer einen Syntax Error und weiß nicht ganz warum
Tuer_Zimmer:location:.(absent) {If ((OldValue("Tuer_Zimmer:location") eq "absent") {DebianMail ('mail@@email.de','Alarm Wäschekamer','Tür auf! ' )}}

Mir ist klar das "eq" "ne" sein müsste will nur nicht zum testen immer die Tür auf und zu machen.

Das ist ist das was i Log steht:
2015.03.30 23:14:37 3: Zimmer_email return value: syntax error at (eval 22210) line 1, near ") {"
syntax error at (eval 22210) line 1, near "}}"

Hat jemand eine Idee für mich was ich da falsche mache?

Vielen Dank!

justme1968

schau dir das event-on-change attribut an. damit verhinderst du von vornherein mehrfache events für den gleichen zustand. das ist fast immer sinnvoll.

ich denke vor OldValue ist eine klammer zu viel.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

torte

#2
Hi zusammen,

habs jetzt gefunden und es ist mega peinlich  >:(

"If" schreibt sich "if" erst danach war dann der Syntax Error weg man bin ich blind....

So sieht es jetzt aus:
Tuer_Zimmer:location:.(absent) { if ( (OldValue("Tuer_Zimmer")) ne "present: Auf") {DebianMail ('mail@@email.de','Alarm Zimmer','Tür auf! ' )};}

Find das mit mit dem "present: Auf" etwas komisch aber das ist das was im state drin steht, "Auf" kommt über ein mapping. So geht es zumindest.
Danke!!

Werde mir jetzt das event-on-change noch mal angucken hatte das eigentlich nur in Verbindung mit dem loggen Filelog/DBlog verstanden.

Danke noch mal

Grüße
Torsten