EMail Addon TCL funktioniert nicht

diverse Zusatzsoftware

Moderator: Co-Administratoren

Antworten
vtcn05
Beiträge: 15
Registriert: 10.10.2014, 22:54

EMail Addon TCL funktioniert nicht

Beitrag von vtcn05 » 01.11.2014, 21:37

Hallo zusammen,

ich probiere über das E Mail AddOn (Version 1.5.2) Mails mit bestimmten Parametern zu versenden.

Das senden über einen Exchange Server funktioniert bestens. Die Mail kommt sofort an. Leider ist an den Stellen wo ich die Werte erwartet hätte immer nur "null" zu sehen.

Könnt Ihr mir weiterhelfen, wo mein Fehler ist?

Tcl-Skript

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();
var TempAlexander = dom.GetObject("BidCos-RF.LEQ0420933:1.ACTUAL_TEMPERATURE").Value();
var TempAndreas = dom.GetObject("BidCos-RF.LEQ0421015:4.ACTUAL_TEMPERATURE").Value();
var TempDetlev = dom.GetObject("BidCos-RF.LEQ0423252:4.ACTUAL_TEMPERATURE").Value();
var TempFlorian = dom.GetObject("BidCos-RF.LEQ0420245:4.ACTUAL_TEMPERATURE").Value();
var TempFlurKopierer = dom.GetObject("BidCos-RF.LEQ0423286:4.ACTUAL_TEMPERATURE").Value();
var TempFlurVertrieb = dom.GetObject("BidCos-RF.LEQ0420279:4.ACTUAL_TEMPERATURE").Value();
var TempFlurVertriebsinnendienst = dom.GetObject("BidCos-RF.LEQ0420351:4.ACTUAL_TEMPERATURE").Value();
var TempFlurWerkstatt = dom.GetObject("BidCos-RF.LEQ0420288:4.ACTUAL_TEMPERATURE").Value();
var TempRolf = dom.GetObject("BidCos-RF.LEQ0422465:4.ACTUAL_TEMPERATURE").Value();
var TempThomas = dom.GetObject("BidCos-RF.LEQ0421208:4.ACTUAL_TEMPERATURE").Value();
var TempVertriebsinnendienst = dom.GetObject("BidCos-RF.LEQ0421365:4.ACTUAL_TEMPERATURE").Value();
} ]

set v1 $values(v1)
set v2 $values(v2)
set v3 $values(v3)
set TempAlexander $values(TempAlexander)
set TempAndreas $values(TempAndreas)
set TempDetlev $values(TempDetlev)
set TempFlorian $values(TempFlorian)
set TempFlurKopierer $values(TempFlurKopierer)
set TempFlurVertrieb $values(TempFlurVertrieb)
set TempFlurVertriebsinnendienst $values(TempFlurVertriebsinnendienst)
set TempFlurWerkstatt $values(TempFlurWerkstatt)
set TempRolf $values(TempRolf)
set TempThomas $values(TempThomas)
set TempVertriebsinnendienst $values(TempVertriebsinnendienst)
Mailvorlage 01

Code: Alles auswählen

Test

$v1
$v2
$v3

Temp_Alexander                        $TempAlexander
Temp_Andreas                           $TempAndreas
Temp_Detlev                             $TempDetlev
Temp_Florian                             $TempFlorian
Temp_Flur_Kopierer                    $TempFlurKopierer
Temp_Flur_Vertrieb                     $TempFlurVertrieb
Temp_Flur_Vertriebsinnendienst    $TempFlurVertriebsinnendienst
Temp_Flur_Werkstatt                  $TempFlurWerkstatt
Temp_Rolf                                $TempRolf
Temp_Thomas                           $TempThomas
Temp_Vertriebsinnendienst         $TempVertriebsinnendienst
Ankommende Mail

Code: Alles auswählen

Test

null
null
null

Temp_Alexander                        null
Temp_Andreas                           null
Temp_Detlev                             null
Temp_Florian                             null
Temp_Flur_Kopierer                    null
Temp_Flur_Vertrieb                     null
Temp_Flur_Vertriebsinnendienst    null
Temp_Flur_Werkstatt                  null
Temp_Rolf                                null
Temp_Thomas                           null
Temp_Vertriebsinnendienst         null
LG Michael

paul53
Beiträge: 2554
Registriert: 26.04.2012, 20:42
Wohnort: Berlin
Danksagung erhalten: 15 Mal

Re: EMail Addon TCL funktioniert nicht

Beitrag von paul53 » 01.11.2014, 21:59

vtcn05 hat geschrieben:var TempAlexander = dom.GetObject("BidCos-RF.LEQ0420933:1.ACTUAL_TEMPERATURE").Value();
Wenn es ein HK-Thermostat ist, dann

Code: Alles auswählen

var TempAlexander = dom.GetObject("BidCos-RF.LEQ0420933:4.ACTUAL_TEMPERATURE").Value();
bzw. beim Wandthermostaten

Code: Alles auswählen

var TempAlexander = dom.GetObject("BidCos-RF.LEQ0420933:2.ACTUAL_TEMPERATURE").Value();
oder (WT)

Code: Alles auswählen

var TempAlexander = dom.GetObject("BidCos-RF.LEQ0420933:1.TEMPERATURE").Value();
Versionen: HM-CC-TC 2.1, HM-LC-Sw1 1.9, HM-CC-RT-DN 1.1, HM-MOD-RPI-PCB 1.2.1 (keine CCU)

vtcn05
Beiträge: 15
Registriert: 10.10.2014, 22:54

Re: EMail Addon TCL funktioniert nicht

Beitrag von vtcn05 » 01.11.2014, 22:19

Hallo Paul53,

vielen Dank für Deine Antwort. Ich hatte nur die erste Zeile (TempAlexander) noch vom Testen falsch drin. In den anderen Zeilen war es schon richtig eingestellt (es handelt sich um den neuen Heizkörperthermostat). Leider bleibt das Ergebniss gleich:

Code: Alles auswählen

Test

null
null
null

Temp_Alexander                        null
Temp_Andreas                           null
Temp_Detlev                             null
Temp_Florian                             null
Temp_Flur_Kopierer                    null
Temp_Flur_Vertrieb                     null
Temp_Flur_Vertriebsinnendienst    null
Temp_Flur_Werkstatt                  null
Temp_Rolf                                null
Temp_Thomas                           null
Temp_Vertriebsinnendienst         null
Hier nochmal das aktuelle TCL-Skript:

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();
var TempAlexander = dom.GetObject("BidCos-RF.LEQ0420933:4.ACTUAL_TEMPERATURE").Value();
var TempAndreas = dom.GetObject("BidCos-RF.LEQ0421015:4.ACTUAL_TEMPERATURE").Value();
var TempDetlev = dom.GetObject("BidCos-RF.LEQ0423252:4.ACTUAL_TEMPERATURE").Value();
var TempFlorian = dom.GetObject("BidCos-RF.LEQ0420245:4.ACTUAL_TEMPERATURE").Value();
var TempFlurKopierer = dom.GetObject("BidCos-RF.LEQ0423286:4.ACTUAL_TEMPERATURE").Value();
var TempFlurVertrieb = dom.GetObject("BidCos-RF.LEQ0420279:4.ACTUAL_TEMPERATURE").Value();
var TempFlurVertriebsinnendienst = dom.GetObject("BidCos-RF.LEQ0420351:4.ACTUAL_TEMPERATURE").Value();
var TempFlurWerkstatt = dom.GetObject("BidCos-RF.LEQ0420288:4.ACTUAL_TEMPERATURE").Value();
var TempRolf = dom.GetObject("BidCos-RF.LEQ0422465:4.ACTUAL_TEMPERATURE").Value();
var TempThomas = dom.GetObject("BidCos-RF.LEQ0421208:4.ACTUAL_TEMPERATURE").Value();
var TempVertriebsinnendienst = dom.GetObject("BidCos-RF.LEQ0421365:4.ACTUAL_TEMPERATURE").Value();
} ]

set v1 $values(v1)
set v2 $values(v2)
set v3 $values(v3)
set TempAlexander $values(TempAlexander)
set TempAndreas $values(TempAndreas)
set TempDetlev $values(TempDetlev)
set TempFlorian $values(TempFlorian)
set TempFlurKopierer $values(TempFlurKopierer)
set TempFlurVertrieb $values(TempFlurVertrieb)
set TempFlurVertriebsinnendienst $values(TempFlurVertriebsinnendienst)
set TempFlurWerkstatt $values(TempFlurWerkstatt)
set TempRolf $values(TempRolf)
set TempThomas $values(TempThomas)
set TempVertriebsinnendienst $values(TempVertriebsinnendienst)
Scheinbar verarbeitet er keine einzige Variable (auch die oberen 3 nicht, welche noch aus der Vorlage stammen).

MistyReblaus
Beiträge: 180
Registriert: 15.09.2014, 22:25

Re: EMail Addon TCL funktioniert nicht

Beitrag von MistyReblaus » 02.11.2014, 12:06

Da fallen mir nur zwei Fragen zu ein:

1. Hast Du TCL Aktiviert wirklich angehakt ?
2. Funktioniert die Abfrage der Werte mit dom.GetObjetct(... dann im Menü Programme > Script testen ?

hier kannst Du Dir die Daten mit WriteLine(); ausgeben lassen.

Kannst Du mal die beiden Screenshots schicken ?

Grüße, Jens

vtcn05
Beiträge: 15
Registriert: 10.10.2014, 22:54

Re: EMail Addon TCL funktioniert nicht

Beitrag von vtcn05 » 02.11.2014, 16:37

Hallo Jens,

ja angehakt hab ich es.

Wie ist der richtige Syntax für "Skript testen"-Funktion?

Grüße, Michael
Dateianhänge
2014-11-02 16_37_17-Antwort erstellen • HomeMatic-Forum _ FHZ-Forum.png

alchy
Beiträge: 10765
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 675 Mal

Re: EMail Addon TCL funktioniert nicht

Beitrag von alchy » 02.11.2014, 19:42

MistyReblaus hat geschrieben:Da fallen mir nur zwei Fragen zu ein:
Und mir eine Antwort. :mrgreen:
@TE
Leg erstmal die Systemvariablen mit den Namen:
EmailEmpfaenger & EmailBetreff & EmailText in deiner CCU an.
Denn Die hast Du nicht, oder ?

Dann sehen wir weiter :shock:

Alchy
unterwegs getippelt

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.

vtcn05
Beiträge: 15
Registriert: 10.10.2014, 22:54

Re: EMail Addon TCL funktioniert nicht

Beitrag von vtcn05 » 02.11.2014, 21:31

alchy hat geschrieben:
MistyReblaus hat geschrieben:Da fallen mir nur zwei Fragen zu ein:
Und mir eine Antwort. :mrgreen:
@TE
Leg erstmal die Systemvariablen mit den Namen:
EmailEmpfaenger & EmailBetreff & EmailText in deiner CCU an.
Denn Die hast Du nicht, oder ?

Dann sehen wir weiter :shock:

Alchy
unterwegs getippelt
Hallo Alchy,

ich habe jetzt mal die Systemvariable "EmailEmpfänger" angelegt und eine Mailadresse in dieser Variable gespeichert.

Nun hat sich das Ergebniss wie folgt geändert:

Code: Alles auswählen

0
null
null

Temp_Alexander                        null
Temp_Andreas                           null
Temp_Detlev                             null
Temp_Florian                             null
Temp_Flur_Kopierer                    null
Temp_Flur_Vertrieb                     null
Temp_Flur_Vertriebsinnendienst    null
Temp_Flur_Werkstatt                  null
Temp_Rolf                                null
Temp_Thomas                           null
Temp_Vertriebsinnendienst         null
Dort wo also die Variable EmailEmpfaenger steht, steht nun nicht mehr null und leider auch nicht die hinterlegte Mailadresse. Statt dessen steht dort jetzt "0". Verstehe es aber immer noch nicht.
Dateianhänge
2014-11-02 21_31_44-HomeMatic WebUI.png
2014-11-02 21_31_44-HomeMatic WebUI.png (4.94 KiB) 4228 mal betrachtet

alchy
Beiträge: 10765
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 675 Mal

Re: EMail Addon TCL funktioniert nicht

Beitrag von alchy » 03.11.2014, 15:47

Ich habe es schon in den Tiefen des Forums gepostet. TCL ist sehr sehr zickig.

Aber zurück auf Anfang. Variable löschen und nochmal alle 3 Variablen so wie
ich es geschrieben habe als Zeichenkette anlegen und kümmere dich bitte erstmal nicht um die Füllung mit Werten.
In der Mailvorlage kannst Du diese 3 auch erstmal weglassen. Die sind für was anderes da.
Und bitte auf Schreibfehler achten, am Besten immer per C&P ! (z.B. EmailEmpfaenger und z.B. Emailempfaenger)

So, aber warum zickig.
TCL arbeitet von oben nach unten den Kram ab.
Erhält die TCL Abfrage bei einer der Variablen keine Ausgabe. (Schreibfehler o.ä.)
werden diese und alle danach mit null ausgegeben. (auch wenn du später alles richtig hast)
Da deine Ausgabe schon mit null bei v1 anfing, wusste ich das es zumindest die Variable EmailEmpfaenger
nicht in der CCU gibt.
Nun hast Du sie angelegt und es wird eine 0 zurückgegeben, also ist sie in der CCU vorhanden, aber irgendwie ist sie falsch da die Ausgabe 0 ist. Als welchen Variablentyp hast Du die Variable denn angelegt?
Und wie hast Du diese dann mit deiner Emailaddy gefüllt?
Alle weiteren V1-??? Ausgaben erhalten eine null, weil du nur die EmailEmpfaenger angelegt hast und nicht alle
wie gesagt . :shock:

Also bitte nochmals löschen der Systemvariable und bitte alle 3 Variablen als Zeichenkette anlegen.


Wenn Du weitere Hilfe möchtest, gerne, aber dann immer per Copy & Paste den Inhalt
der 2 Reiter: TCL & Emailvorlage sowie die Ausgabe der Mail posten. (So wie in deinem ersten Beitrag)
Ich versuche so schnell wie möglich zu antworten.

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.

vtcn05
Beiträge: 15
Registriert: 10.10.2014, 22:54

Re: EMail Addon TCL funktioniert nicht

Beitrag von vtcn05 » 03.11.2014, 19:41

alchy hat geschrieben:Ich habe es schon in den Tiefen des Forums gepostet. TCL ist sehr sehr zickig.

Aber zurück auf Anfang. Variable löschen und nochmal alle 3 Variablen so wie
ich es geschrieben habe als Zeichenkette anlegen.

So, aber warum zickig.
TCL arbeitet von oben nach unten den Kram ab.
Erhält die TCL Abfrage bei einer der Variablen keine Ausgabe. (Schreibfehler o.ä.)
werden diese und alle danach mit null ausgegeben. (auch wenn du später alles richtig hast)
Da deine Ausgabe schon mit null bei v1 anfing, wusste ich das es zumindest die Variable EmailEmpfaenger
nicht in der CCU gibt.

Alchy
Hallo Alchy,

Du hattest Recht. Dadurch das 2 Variablen nicht angelegt waren, hat er alles darunter kommende abgebrochen. Jetzt funktioniert es super!

Vielen Dank für die Hilfe!

LG Micha

alchy
Beiträge: 10765
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 675 Mal

Re: EMail Addon TCL funktioniert nicht

Beitrag von alchy » 04.11.2014, 15:24

Jo, freut mich geholfen zu haben.

Viel Spass noch
Alchy
Unterwegs getippelt

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.

Antworten

Zurück zu „Sonstige Addons“