Doofe Frage, aber was muss ich jetzt in deinem wirklich hübschen Code alles ersetzen? Danke vorab!robsdobs hat geschrieben:Hab oben noch eine hübsche Variante eingefügt.
Gesendet von meinem SM-G930F mit Tapatalk
Moderator: Co-Administratoren
Doofe Frage, aber was muss ich jetzt in deinem wirklich hübschen Code alles ersetzen? Danke vorab!robsdobs hat geschrieben:Hab oben noch eine hübsche Variante eingefügt.
Ich habe deinen ersten Code jetzt eingebunden. Er funktioniert wunderbar. Die hübsche Variante gucke ich mir nochmal in ruhe an. Kannst du mir aber noch erklären wie ich die SystemVariable "EmailBetreff" mit einen Textwert befüllen kann? Aktuell steht immer der Wert 0 in meinem Betreff.robsdobs hat geschrieben:Die Hübsche Variante ist der komplette TCL Code. Ersetzen brauchst du darin nicht viel.
Du brauchst auf der CCU/RM eine Systemvariable EmailEmpfaenger, EmailBetreff, Email Text.
Die Mailadresse test@gmail.com wird nur genommen, wenn die Systemvariable EmailEmpfaenger fehlt.
In der Mail-Vorlage trägst du die Platzhalter wie im Bild ein.
Im Programm beschreibst du die Systemvariable mit dem Betreff und es wird automatisch die Uhrzeit eingefügt.
Vom Smartphone gesendet.
Konntest du nochmal gucken? @robsdobsrobsdobs hat geschrieben:Ich komme leider frühestens morgen Abend dazu mir das genauer anzusehen.
Vom Smartphone gesendet.
Code: Alles auswählen
load tclrega.so
set arg1 [lindex $argv 1]
set arg2 [encoding convertfrom utf-8 [lindex $argv 2]]
set arg3 [encoding convertfrom utf-8 [lindex $argv 3]]
Code: Alles auswählen
!############
! Mailversand Version 1.1
!############
boolean DEBUG = false; ! Enhanced Logging (set to true for debug)
boolean ACTIVE = true; ! send Message activated (set to false for debug)
boolean addTimeToSubject = true; !set to true if timestamp shoudl be added to subject
var Mail_ID = "12"; ! Mail ID
! +++++ Implementierung +++++
if ( DEBUG ) { system.Exec("logger -t script -p user.debug [Send Push Message Scipt START]"); }
string current_DateTime = system.Date("%Y-%m-%d %H:%M:%S %Z"); !Define message Time
! +++++ EmailText +++++
var obj = (dom.GetObject(ID_SYSTEM_VARIABLES)).Get("EmailText");
if (!obj) {
WriteLine("Keine Systamvariable EmailText!");
quit;
}
string message = obj.Variable();
if ((message == "") || (message == "???")) {
if ( DEBUG ) {
system.Exec("logger -t script -p user.debug [Send Push Message Scipt No Message]");
WriteLine("Kein Nachrichtentext!");
}
quit;
}
! +++++ EmailBetreff +++++
var obj = (dom.GetObject(ID_SYSTEM_VARIABLES)).Get("EmailBetreff");
if (!obj) {
WriteLine("Keine Systamvariable EmailBetreff!");
quit;
}
string subject = obj.Variable();
if (subject == "") {
subject = 'Meldung von Homematic Zentrale';
}
if (addTimeToSubject) {
subject = subject # " " # current_DateTime;
}
! +++++ EmailEmpfaenger +++++
var obj = (dom.GetObject(ID_SYSTEM_VARIABLES)).Get("EmailEmpfaenger");
string reciver = obj.Variable();
if (reciver == "") {
if ( DEBUG ) {
system.Exec("logger -t script -p user.debug [Send Push Message Scipt No reciver]");
WriteLine("Kein Empfänger!");
}
quit;
}
! +++++ SV_Push_Text +++++
! +++++ Debug Messages +++++
string cmd ="/etc/config/addons/email/email "#Mail_ID#" '"#reciver#"' '"#subject#"' '"#message#"' '"#current_DateTime#"'";
if (DEBUG)
{
WriteLine("Nachrichtentext message = "#message);
WriteLine("Betreff subject = "#subject);
WriteLine("Empfänger reciver = "#reciver);
WriteLine("wirklich senden ACTIVE = "#ACTIVE);
WriteLine("command cmd = "#cmd);
}
if ( ACTIVE ) {
system.Exec(cmd);
}
if ( DEBUG ) {
system.Exec("logger -t script -p user.debug [Send Push Message Scipt END1]");
WriteLine("Ende");
}