TCL Syntax für Email Addon
Moderator: Co-Administratoren
-
- Beiträge: 10761
- Registriert: 24.02.2011, 01:34
- System: CCU
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 675 Mal
Re: TCL Syntax für Email Addon
Moment.
Im TCL Reiter füllst Du sozusagen Deine Variablen. (ich fülle da ca 15)
Welche Du dann in welcher Mailvorlage verwendest ist Dir doch überlassen.
In der Mailvorlage 01
Schreibst Du dann
Hallo
der Batteriestatus ist $v1
dein Haus
in der Mailvorlage 02
Hallo
der Lüfterstatus it $v2
dein Haus
oder wie auch immer.
Alchy
Im TCL Reiter füllst Du sozusagen Deine Variablen. (ich fülle da ca 15)
Welche Du dann in welcher Mailvorlage verwendest ist Dir doch überlassen.
In der Mailvorlage 01
Schreibst Du dann
Hallo
der Batteriestatus ist $v1
dein Haus
in der Mailvorlage 02
Hallo
der Lüfterstatus it $v2
dein Haus
oder wie auch immer.
Alchy
Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.
© Sandra Pulsfort (*1974)
Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.
Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.
-
- Beiträge: 200
- Registriert: 15.07.2012, 18:46
Re: TCL Syntax für Email Addon
So, ich hab's jetzt hinbekommen. Mit diesem Skript klappt es:
load tclrega.so
array set values [rega_script {
var v2 = dom.GetObject("Batteriestatus").Variable();
var v3 = dom.GetObject("Luftungswarnung").Variable();
} ]
set BatStatus $values(v2)
set Luftung $values(v3)
Vielen Dank nochmal an alle für eure Hilfe!
load tclrega.so
array set values [rega_script {
var v2 = dom.GetObject("Batteriestatus").Variable();
var v3 = dom.GetObject("Luftungswarnung").Variable();
} ]
set BatStatus $values(v2)
set Luftung $values(v3)
Vielen Dank nochmal an alle für eure Hilfe!
Re: TCL Syntax für Email Addon
Ich suche & lese & suche & lese & suche & lese .... finde leider nicht die für mich (subjekitv) verständliche Antwort.
Die Anleitung von Alchy funktioniert so weit so gut. Ich habe jedoch meiner Variablen "sv04_Verschluss_FTK_Alle" die Werte "Zu" und "Offen" zugeordnet, bekomme aber nur die Werte "false" und "true" in der Mail übermittelt.
Wie kann ich in diesem Tcl Eintrag meine zugordneten Worte aus-/einlesen?
load tclrega.so
array set values [rega_script {
var mv04 = dom.GetObject("sv04_Verschluss_FTK_Alle").Value();
var mv09 = dom.GetObject("sv09_Garagentor").Value();
} ]
set mv04 $values(mv04)
set mv09 $values(mv09)
Lg aus Wien
Die Anleitung von Alchy funktioniert so weit so gut. Ich habe jedoch meiner Variablen "sv04_Verschluss_FTK_Alle" die Werte "Zu" und "Offen" zugeordnet, bekomme aber nur die Werte "false" und "true" in der Mail übermittelt.
Wie kann ich in diesem Tcl Eintrag meine zugordneten Worte aus-/einlesen?
load tclrega.so
array set values [rega_script {
var mv04 = dom.GetObject("sv04_Verschluss_FTK_Alle").Value();
var mv09 = dom.GetObject("sv09_Garagentor").Value();
} ]
set mv04 $values(mv04)
set mv09 $values(mv09)
Lg aus Wien
-
- Beiträge: 10761
- Registriert: 24.02.2011, 01:34
- System: CCU
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 675 Mal
Re: TCL Syntax für Email Addon
Was heisst hier ganz gut?Die Anleitung von Alchy funktioniert so weit so gut
Irgendwo hab ich das auch schon geschrieben, aber hier auf die Schnelle für dich speziell.
So sollte es gehen:
Code: Alles auswählen
load tclrega.so
array set values [rega_script {
if (dom.GetObject("sv04_Verschluss_FTK_Alle").Value() == 'false') {
var mv04 = "alles zu";
}else {
var mv04 = "alles offen";
}
if (dom.GetObject("sv09_Garagentor").Value() == 'false') {
var mv04 = "Garagentor zu";
}else {
var mv04 = "Garagentor offen";
}
} ]
set mv04 $values(mv04)
set mv09 $values(mv09)
Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.
© Sandra Pulsfort (*1974)
Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.
Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.
Re: TCL Syntax für Email Addon
Hallo achy,
kaum schreibe ich meinen ersten Beitrag, schon ins Fettnäpfchen
Du hast recht, dein Script funktioniert prächtig! Deine spezielle Version ein wenig korrigiert, funktioniert nun vollends zu meiner Zufriedenheit.
Hier mein persönliches Script:
Was habe ich daraus gelernt (Bitte korrigiere mich, wenn ich es falsch interpretiere):
1) Systemvariablen in der CCU angelegt, können verschiedene - selbst definierte - Werte enthalten
2) Diese Werte werden auch auf der Oberfläche WEB GUI verwendet und bei Programmen auswählbar
3) Scripts/TCL greift allerdings eine Ebene (Systemebene) tiefer zu, deswegen stehen die oben (1) selbst definierten Werte nicht zur Verfügung
4) Daher müssen die Systemwerte aus Variablen wie "true", "false" oder "0", "1", "2", usw. in Scripts/TCL über z.B. "IF" Abfragen neu belegt werden.
Jetzt hoffe ich sehr, du zerstörst meine persönlichen Logikfortschritte nicht gleich im Ansatz
Lieben Dank für deine Hilfe!
Metaxa aus Wien
kaum schreibe ich meinen ersten Beitrag, schon ins Fettnäpfchen
Du hast recht, dein Script funktioniert prächtig! Deine spezielle Version ein wenig korrigiert, funktioniert nun vollends zu meiner Zufriedenheit.
Hier mein persönliches Script:
Code: Alles auswählen
load tclrega.so
array set values [rega_script {
if (dom.GetObject("sv04_Verschluss_FTK_Alle").Value() == false) {
var mv04 = "alles zu";
}else {
var mv04 = "alles offen";
}
if (dom.GetObject("sv09_Garagentor").Value() == false) {
var mv09 = "Garagentor zu";
}else {
var mv09 = "Garagentor offen";
}
} ]
set mv04 $values(mv04)
set mv09 $values(mv09
1) Systemvariablen in der CCU angelegt, können verschiedene - selbst definierte - Werte enthalten
2) Diese Werte werden auch auf der Oberfläche WEB GUI verwendet und bei Programmen auswählbar
3) Scripts/TCL greift allerdings eine Ebene (Systemebene) tiefer zu, deswegen stehen die oben (1) selbst definierten Werte nicht zur Verfügung
4) Daher müssen die Systemwerte aus Variablen wie "true", "false" oder "0", "1", "2", usw. in Scripts/TCL über z.B. "IF" Abfragen neu belegt werden.
Jetzt hoffe ich sehr, du zerstörst meine persönlichen Logikfortschritte nicht gleich im Ansatz
Lieben Dank für deine Hilfe!
Metaxa aus Wien
-
- Beiträge: 10761
- Registriert: 24.02.2011, 01:34
- System: CCU
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 675 Mal
Re: TCL Syntax für Email Addon
Quatsch, war doch nur Spass ! daher auch dasmetaxa hat geschrieben:Hallo achy,
kaum schreibe ich meinen ersten Beitrag, schon ins Fettnäpfchen
Aber zu den Fragen.
Du kannst vieles auslesen und in einer Mail verschicken, und ja die IF's sind nur da um die Werte der Datenpunkte lesbar zu übersetzen.
Ich gehe davon aus, das die auf WebUI auch nur "übersetzt" (hab ich aber nicht geprüft)
Wenn in der Mail steht: Der Wassermelder meldet: 3 musst du überlegen, ob die Bude schwimmt.
Die Temperatur des Sensors ist da schon eher aussagekräftiger.
Hier in diesen Thread wollte ich nur kurz helfen...
Alchy
Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.
© Sandra Pulsfort (*1974)
Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.
Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.
Re: TCL Syntax für Email Addon
Hallo,
in meine TCL fehlt wohl etwas, kann mir jemand sagen was?
Danke
Gruß Günni
in meine TCL fehlt wohl etwas, kann mir jemand sagen was?
Danke
Gruß Günni
Code: Alles auswählen
load tclrega.so
array set values [rega_script {
var v1 = dom.GetObject("Brenner Verbrauch heute").Value();
var v2 = dom.GetObject("Brenner Betriebsstunden heute").Value();
var v3 = dom.GetObject("Brenner Tankinhalt aktuell").Value();
Write("Hallo Welt!");
} ]
set v1 $values(v1)
set v2 $values(v2)
set v3 $values(v3)
array set result [rega_script { Write("Hallo Günter!"); }]
$result(STDOUT)
# bis hier hin klappt es
# dies wird nicht ausgeführt! fehlt hier zwischen etwas??
set a1 [lindex $argv 1]
Gruß Günni
-
- Beiträge: 10761
- Registriert: 24.02.2011, 01:34
- System: CCU
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 675 Mal
Re: TCL Syntax für Email Addon
Standard wäre so etwas:
den Rest darfst du mir gern mal erklären, was du im TCL Reiter beim Email Addon erreichen willst.
Alchy
Code: Alles auswählen
set a1 [lindex $argv 1]
load tclrega.so
array set values [rega_script {
var v1 = dom.GetObject("Brenner Verbrauch heute").Value();
var v2 = dom.GetObject("Brenner Betriebsstunden heute").Value();
var v3 = dom.GetObject("Brenner Tankinhalt aktuell").Value();
} ]
set v1 $values(v1)
set v2 $values(v2)
set v3 $values(v3)
Alchy
Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.
© Sandra Pulsfort (*1974)
Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.
Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.
Re: TCL Syntax für Email Addon
Danke für die Antwort,
warum muss, set a1 [lindex $argv 1], als erstes in der Tcl stehen, damit sie ausgeführt wird?
hiermit habe ich "Hallo Günter"in eine Email übergeben, anders hatte ich es nicht hinbekommen.
$result(STDOUT)
Gruß Günni
warum muss, set a1 [lindex $argv 1], als erstes in der Tcl stehen, damit sie ausgeführt wird?
hiermit habe ich "Hallo Günter"in eine Email übergeben, anders hatte ich es nicht hinbekommen.
$result(STDOUT)
Code: Alles auswählen
array set result [rega_script { Write("Hallo Günter!"); }]
$result(STDOUT)
Gruß Günni
Re: TCL Syntax für Email Addon
Hallo, so geht es auch nicht,
bekomme eine leere Mail, für meine verbrauch.
gruß Günni
jetzt wird nur ,set a1 [lindex $argv 1], ausgeführt.
bekomme eine leere Mail, für meine verbrauch.
gruß Günni
jetzt wird nur ,set a1 [lindex $argv 1], ausgeführt.
Code: Alles auswählen
set a1 [lindex $argv 1]
load tclrega.so
array set values [rega_script {
var v1 = dom.GetObject("Brenner Verbrauch heute").Value();
var v2 = dom.GetObject("Brenner Betriebsstunden heute").Value();
var v3 = dom.GetObject("Brenner Tankinhalt aktuell").Value();
} ]
set v1 $values(v1)
set v2 $values(v2)
set v3 $values(v3)
Gruß Günni