FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: sylvester am 11 Januar 2018, 20:06:43

Titel: E-Mail wenn sich Dummy-Variable ändert
Beitrag von: sylvester am 11 Januar 2018, 20:06:43
Hallo,

ich habe mehere Dummy-Variablen, die Automatiken ein- und ausschalten. Sie heißen beispielsweise: Automatik_Rollladen, Automatik_Licht, ... usw.
Ich möchte nun gerne eine E-Mail bekommen, wenn sie die Werte der Automatik-Dummys ändern.

Wie kann ich das realisieren?

Ich habe es folgendermaßen versucht:

define Automatik_Notify_Mail notify Automatik_.*:.* {if (Value("@") !~ OldValue("@")) {\
if (Value("Freigabe_EMail") =~ /freigegeben/) {DebianMail('mail@mail.de',"FHEM: @ ","Der Wert von @ wurde auf % geändert.")}\
}}


Leider werden "@" und "%" in der gesendeten Mail nicht ersetzt. Was mache ich falsch?

Vielen Dank für eure Tipps und viele Grüße

Stephan
Titel: Antw:E-Mail wenn sich Dummy-Variable ändert
Beitrag von: Otto123 am 11 Januar 2018, 21:22:28
Hallo Stephan,
ZitatAchtung: Folgende Vorgehensweise ist abgekündigt, funktioniert bis featurelevel 5.6 und wird in einem zukünftigen Release von FHEM nicht mehr unterstützt. Wenn keine der oben genannten Variablen ($NAME/$EVENT/usw.) in der Anweisung gefunden wird, werden Platzhalter ersetzt.
Das Zeichen % wird ersetzt mit dem empfangenen Ereignis (Event), z.B. mit on oder off oder measured-temp: 21.7 (Celsius).
Das Zeichen @ wird ersetzt durch den Gerätenamen.
Um % oder @ im Text selbst benutzen zu können, müssen sie verdoppelt werden (%% oder @@).
Anstelle von % und @, können die Parameter %EVENT (funktionsgleich mit %), %NAME (funktionsgleich mit @) und %TYPE (enthält den Typ des Gerätes, z.B. FHT) benutzt werden. Die von Leerzeichen unterbrochenen Teile eines Ereignisses (Event) sind verfügbar als %EVTPART0, %EVTPART1, usw. Ein einzeln stehendes % verliert seine oben beschriebene Bedeutung, falls auch nur einer dieser Parameter in der Definition auftaucht.

Bitte Doku lesen  ;)

Gruß Otto
Titel: Antw:E-Mail wenn sich Dummy-Variable ändert
Beitrag von: sylvester am 11 Januar 2018, 21:46:32
Hallo Otto,

vielen Dank für den Hinweis. Ich habe es auch schon mit @@ probiert. Das hat leider auch nicht funktioniert.

Viele Grüße

Stephan
Titel: Antw:E-Mail wenn sich Dummy-Variable ändert
Beitrag von: Otto123 am 11 Januar 2018, 22:34:54
Hallo Stephan ,

Du musst schon den ganzen Text lesen: bis featurelevel 5.6 und wird in einem zukünftigen Release von FHEM nicht mehr unterstützt

%EVENT (funktionsgleich mit %), %NAME (funktionsgleich mit @)

Gruß Otto
Titel: Antw:E-Mail wenn sich Dummy-Variable ändert
Beitrag von: sylvester am 11 Januar 2018, 22:48:10
Hallo Otto,

es ist scheinbar schon etwas spät, aber ich verstehe deinen zitierten Text nicht.
Dort steht, es wird etwas nicht mehr unterstützt. Und dann folgen drei Varianten ($NAME, @, %NAME). Leider fehlt aber der Hinweis, was unterstützt wird.
Ich meine, alle drei Varianten ausprobiert zu haben - ohne Erfolg.

Viele Grüße

Stephan
Titel: Antw:E-Mail wenn sich Dummy-Variable ändert
Beitrag von: KernSani am 11 Januar 2018, 23:08:34
vor allem hat Otto auf die Doku hingewiesen: https://fhem.de/commandref_DE.html#notify Dort steht das alles nochmal im Detail (übrigens: Ich kannte @ und % garnicht... Da fühlt man sich richtig jung  ;D)
Titel: Antw:E-Mail wenn sich Dummy-Variable ändert
Beitrag von: Otto123 am 11 Januar 2018, 23:14:49
Stephan, dein Code Beispiel ist offenbar aus einer FHEM Version aus der "Steinzeit", diese Schreibweise kennt praktisch schon keiner mehr.
Da steht doch eindeutig Du musst %NAME nehmen anstatt @ - ist das so schwer zu verstehen?    :-[

Ohne Gewähr:
define Automatik_Notify_Mail notify Automatik_.*:.* {if (Value("%NAME") !~ OldValue("%NAME")) {\
if (Value("Freigabe_EMail") =~ /freigegeben/) {DebianMail('mail@mail.de',"FHEM: %NAME ","Der Wert von %NAME wurde auf %EVENT geändert.")}\
}}
Titel: Antw:E-Mail wenn sich Dummy-Variable ändert
Beitrag von: KernSani am 11 Januar 2018, 23:20:36
Zitat von: Otto123 am 11 Januar 2018, 23:14:49
Stephan, dein Code Beispiel ist offenbar aus einer FHEM Version aus der "Steinzeit", diese Schreibweise kennt praktisch schon keiner mehr.
lol... sage ich doch :-D Das ist, wie wenn mein Schwiegervater von den Lochkarten erzählt :-D
Titel: Antw:E-Mail wenn sich Dummy-Variable ändert
Beitrag von: Otto123 am 11 Januar 2018, 23:30:11
Zitat von: KernSani am 11 Januar 2018, 23:20:36
lol... sage ich doch :-D Das ist, wie wenn mein Schwiegervater von den Lochkarten erzählt :-D
Ich habe meine ersten Fortran Programme noch auf Lochkarten erstellt! Und im Rechenzentrum ist die Kiste mit den Karten runtergefallen. Und die Lochkartenstanzer hatten mangels Farbbänder keinen Aufdruck --- ja, man kann auch Lochkarten mit etwas Übung direkt lesen.  8)

Das hat damals meine Zuneigung zu Computern erstmal jäh beendet  ;D ;D ;D
Titel: Antw:E-Mail wenn sich Dummy-Variable ändert
Beitrag von: KernSani am 11 Januar 2018, 23:46:59
Zitat von: Otto123 am 11 Januar 2018, 23:30:11
Ich habe meine ersten Fortran Programme noch auf Lochkarten erstellt! Und im Rechenzentrum ist die Kiste mit den Karten runtergefallen. Und die Lochkartenstanzer hatten mangels Farbbänder keinen Aufdruck --- ja, man kann auch Lochkarten mit etwas Übung direkt lesen.  8)

Das hat damals meine Zuneigung zu Computern erstmal jäh beendet  ;D ;D ;D
Bist du mein Schwiegervater? Die Geschichte kenne ich....

Zurück zum Thema: @sylvester: Bist du weiter gekommen? Wenn ja, bitte vor das Subject des ersten Posts [Gelöst] schreiben, ansonsten nochmal nachfragen. Wir versuchen zu helfen (auch wenn's gerade nicht so wirkt).
Titel: Antw:E-Mail wenn sich Dummy-Variable ändert
Beitrag von: sylvester am 17 Januar 2018, 20:00:33
Hallo,

so, ich habe das heute mal ausprobiert.
Der Vergleich des alten mit dem neuen Wert scheint mit "%Name" zu funktionieren, denn es wird eine E-Mail gesendet.
In der Mail selbst sind die %-Tags allerdings nicht durch die entsprechenden Werte ersetzt. :(

Viele Grüße

Stephan
Titel: Antw:E-Mail wenn sich Dummy-Variable ändert
Beitrag von: Otto123 am 18 Januar 2018, 09:49:06
Hi,

ja, ich habe das in deinem Beispiel nur 1:1 eingetragen. Das ist sicher falsch, Du kannst die Strings aufsplitten:
So in der Art, wenn ich mich nicht vertan habe. Ich habe es nicht getestet. Außerdem ist glaube ich an der Stelle $NAME zu verwenden und nicht %NAME. Aber die aktuellen und historischen Unterschiede bin ich mir auch nicht so sicher.  ::)
Ich habe einen solchen ähnlichen Aufruf, der funktioniert.
{DebianMail('mail@mail.de','FHEM: '.$NAME,'Der Wert von '.$NAME.' wurde auf '.$EVENT.' geändert.')}

Gruß Otto
Titel: Antw:E-Mail wenn sich Dummy-Variable ändert
Beitrag von: sylvester am 18 Januar 2018, 17:08:09
Hallo Otto,

ja, das war der entscheidende Hinweis: Strings aufsplitten.

Kann mir jetzt noch jemand erklären, warum ich in der Value-Abfrage %NAME nehmen muss und in dem Mailtext $NAME?

Viele Grüße

Stephan
Titel: Antw:E-Mail wenn sich Dummy-Variable ändert
Beitrag von: Otto123 am 18 Januar 2018, 20:45:22
Du kannst in der Value Abfrage auch $NAME nehmen.

Gruß Otto