E-Mail wenn sich Dummy-Variable ändert

Begonnen von sylvester, 11 Januar 2018, 20:06:43

Vorheriges Thema - Nächstes Thema

sylvester

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

Otto123

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
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

sylvester

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

Otto123

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
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

sylvester

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

KernSani

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)
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Otto123

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.")}\
}}
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

KernSani

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
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Otto123

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
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

KernSani

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).
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

sylvester

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

Otto123

#11
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
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

sylvester

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

Otto123

Du kannst in der Value Abfrage auch $NAME nehmen.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz