RaspMatic 2.25.15.20170114 E-Mail Addon 1.6.6 TCL

Einrichtung, Nutzung und Hilfe zu RaspberryMatic (OCCU auf Raspberry Pi)

Moderatoren: jmaus, Co-Administratoren

Antworten
mgoppold
Beiträge: 3
Registriert: 24.01.2017, 20:55

RaspMatic 2.25.15.20170114 E-Mail Addon 1.6.6 TCL

Beitrag von mgoppold » 24.01.2017, 21:33

Hi Forum,

hat jemand obige Kombi am laufen? Speziell würde mich interessieren ob die Variablem aus dem TCL-Script im E-Mail-Template ankommen.

Einfache Variablendefinitionen kommen bei mir an die aus den dom-Objekten kommen immer nur mit "null" an. Die Systemvariable EmailText ist als String angelegt.

Wenn ich das TCL-Script auf der Konsole ausführe werden die Variablen korrekt belegt z.B.:

Code: Alles auswählen

# tclsh 
% load tclrega.so
% array set values [rega_script {
var v3 = dom.GetObject("EmailText").Value();
} ]
% set MailtextBatterieStatus [encoding convertfrom utf-8 $values(v3)]
Prüfung des Ladestandes der Batterien vom 24.01.2017. 

 Der Ladezustand folgender Batterien ist niedrig: 
- SZ_Thermostat:2 vom Typ unbekannt 

 Bitte tauschen Sie die Batterien zeitnah aus.
% set Happy "Test" 
Test
% 
Im Template wird dann $Happy und $MailtextBatterieStatus verwendet wobei $Happy erwartungsgemäß durch Test ersetzt wird aber $MailtextBatterieStatus durch "null".

testting auf 1 im /usr/local/etc/config/addons/email/email und gestartet liefert:

Code: Alles auswählen

# /usr/local/etc/config/addons/email/email 05
Empfänger: XX@YY.ZZ

Attachment Typ: 
Attachment Pfad: 
Dateiname: 

Subject:
Subject: =?UTF-8?B?Q0NVMjogQmF0dGVyaWVzdGF0dXMgVGVzdCA=?=

Email Aufbau: To: XX@YY.ZZ
From: XX@YY.ZZ
Subject: =?UTF-8?B?Q0NVMjogQmF0dGVyaWVzdGF0dXMgVGVzdCA=?=
Date: Tue, 24 Jan 2017 21:26:12 +0100
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Test 
null
--
Dies ist E-Mail-ID 05 auf deiner CCU2
Hat jemand ähnliches beobachtet? Was mache ich falsch?

Viele Grüße
Mario

mgoppold
Beiträge: 3
Registriert: 24.01.2017, 20:55

Re: RaspMatic 2.25.15.20170114 E-Mail Addon 1.6.6 TCL

Beitrag von mgoppold » 27.01.2017, 21:36

Hallo,

ich habe meinen Fehler gefunden! Ich habe im Post nicht den genauen Sachverhalt dargestellt!
Hätte ich das getan, dann hätte ich bestimmt auch eine Antwort erhalten.

So sah mein TCL-Script in Wirklichkeit aus:

Code: Alles auswählen

load tclrega.so
array set values [rega_script {
# var v1 = dom.GetObject("EmailEmpfaenger").Value();
# var v2 = dom.GetObject("EmailBetreff").Value();
var v3 = dom.GetObject("EmailText").Value();
} ]
# set v1 $values(v1)
# set v2 $values(v2)
set MailtextBatterieStatus [encoding convertfrom utf-8 $values(v3)]
set Happy "Test" 
Während die unteren beiden Kommentare schon o.k. sind müssen es im rega_script '!' Ausrufezeichen statt '#' Raute sein!!!

Dadurch wurde dann im email-TCL-Script die Variable nicht ersetzt.

Und der Vollständigkeit halber noch das korrekte Script:

Code: Alles auswählen

load tclrega.so
#
# Achtung: im rega_script dürfen keine '#' Kommentare stehen!!!
#              dort werden Kommentar mit '!' gekennzeichnet 
#
array set values [rega_script {
! var v1 = dom.GetObject("EmailEmpfaenger").Value();
! var v2 = dom.GetObject("EmailBetreff").Value();
var v3 = dom.GetObject("EmailText").Value();
} ]
# set v1 $values(v1)
# set v2 $values(v2)
set MailtextBatterieStatus [encoding convertfrom utf-8 $values(v3)]
set Happy "Test" 
Viele Grüße
Mario

Antworten

Zurück zu „RaspberryMatic“