Email Einrichtung

diverse Zusatzsoftware

Moderator: Co-Administratoren

Antworten
semml
Beiträge: 29
Registriert: 15.11.2016, 17:01
Wohnort: Berlin

Email Einrichtung

Beitrag von semml » 15.11.2016, 17:24

schön guten Abend,

ich bin seit Freitag stolzer Besitzer einiger HomeMatic Komponenten.

Bisher läuft alles prima.
nun bin ich bei der EMail Konfiguration, welche Probleme macht, leider.

ich versuche das Anwesenheits Skribt von der Hilfe Seite zum laufen zu bekommen.

Code: Alles auswählen

load tclrega.so
array set values [rega_script {
if
if (dom.GetObject("Papa").Value() == 'false') {
var v5 = "Zuhause";
}else {
var v5 = "nicht da!";
}
} ]

set v5 $values(v5)

wobei "Papa" eine meine Systemvariablen derCCU2 ist, Test Mail(Gmail) mit haken tcl ging.
wenn ich nun ein $ Zeichen in die Email einfüge, bleibt die Mail blank, nur der Betreff wird angezeigt.


Wer könnte mir weiterhelfen?

lg semml
Zuletzt geändert von alchy am 15.11.2016, 17:34, insgesamt 1-mal geändert.
Grund: Code bitte in Codetags posten :-(

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

Re: Email Einrichtung

Beitrag von alchy » 15.11.2016, 18:01

Dein Script hat so seine Fehler
  • du hast ein sinnloses if drin stehen.
bzw. mögliche Anpassungen
  • du brauchst du nicht mehr auf false zu prüfen.
  • dann ist es auch hier sinnvoll nicht direkt mittels dom.GetObject auf den Namen gehen
daraus resultierend entsteht dann so ein TCL Reiter für dein Beispiel:

Code: Alles auswählen

load tclrega.so
array set values [rega_script {

if ((dom.GetObject(ID_SYSTEM_VARIABLES)).Get("Papa").Value() ) {
var v5 = "Zuhause";
}else {
var v5 = "nicht da!";
}

} ]
set v5 $values(v5)
und im Email Reiter solltest du nicht nur ein $ zeichen reinschreiben sondern $v5

Soweit zur Fehlerbehandlung - nun noch ein Tipp :mrgreen:

Wenn es sich bei der Variable Papa z.B. um eine Logikvariable handelt, kannst du gleich den entsprechenden Wert abfragen, welcher in der Systemvariablen angelegt ist :?:
Nehmen wir mal die Standardvariable Anwesenheit - da ist z.B. anwesend & nicht anwesend als möglicher Wert hinterlegt.
Da brauchst du nix mehr mittels if umzutüteln, sondern kannst direkt aktuellen den Wert abfragen
Als Beispiel für den TCL Reiter dann:

Code: Alles auswählen

load tclrega.so
array set values [rega_script {

var v5 = (dom.GetObject(ID_SYSTEM_VARIABLES)).Get("Papa").ValueName(); 

} ]

set v5 $values(v5)
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.

semml
Beiträge: 29
Registriert: 15.11.2016, 17:01
Wohnort: Berlin

Re: Email Einrichtung

Beitrag von semml » 15.11.2016, 18:28

vielen dank für die schnelle Antwort.

wie kann ich jetzt die restlichlichem Fam.Mitglieder einfügen Mama, Kind 1, Kind 2?

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

Re: Email Einrichtung

Beitrag von alchy » 15.11.2016, 18:42

Wenn du die letzte Möglichkeit nutzt :?: :?: , dann einfach:

Code: Alles auswählen

load tclrega.so
array set values [rega_script {

var v5 = (dom.GetObject(ID_SYSTEM_VARIABLES)).Get("Mama").ValueName(); 
var v6 = (dom.GetObject(ID_SYSTEM_VARIABLES)).Get("Papa").ValueName(); 
var v7 = (dom.GetObject(ID_SYSTEM_VARIABLES)).Get("Kind").ValueName(); 

} ]

set v5 $values(v5)
set v6 $values(v6)
set v7 $values(v7)
und entsprechend in der Mailvorlage

Code: Alles auswählen

Mama ist: $v5
Papa ist: $v6
Kind ist: $v7
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.

semml
Beiträge: 29
Registriert: 15.11.2016, 17:01
Wohnort: Berlin

Re: Email Einrichtung

Beitrag von semml » 15.11.2016, 18:45

das klingt sehr logisch, bin halt nur Elektriker.

wo und wie kann ich mir diese programiersprache aneignen?

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

Re: Email Einrichtung

Beitrag von alchy » 15.11.2016, 18:52

>> TCL <<
Und was HM Script angeht, schau mal in meine Signatur. Da gibt es einen Link zur Doku.

Und was das Addon und TCL angeht, findest du im Forum reichlich Lesestoff in dem >>Unterforum<< oder einfach mal per >> Suche <<

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.

semml
Beiträge: 29
Registriert: 15.11.2016, 17:01
Wohnort: Berlin

Re: Email Einrichtung

Beitrag von semml » 17.11.2016, 18:11

Guten Abend,

kannn mir jemand " set batteriestatus [lindex $argv 1] " (ist ein Abfrage einer SV Zeichenkette) in meine tcl Anwenheit s.o. einfügen.

ich verzweifele gleich :oops:

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

Re: Email Einrichtung

Beitrag von alchy » 17.11.2016, 23:45

semml hat geschrieben:Guten Abend,

kannn mir jemand " set batteriestatus [lindex $argv 1] " (ist ein Abfrage einer SV Zeichenkette) in meine tcl Anwenheit s.o. einfügen.

ich verzweifele gleich :oops:
Nö - das ist nicht die Zeile zur Abfrage einer Systemvariable Typ Zeichenkette.
Die Zeile ist für die Übergabe mittels Parameter. Willst du so etwas tun?


Willst du wirklich den Wert einer Systemvariable aus der CCU auslesen, dann geht das in etwa so für v8 und eine Zeichenkettenvariable namens SYSTEMVARIABLE so:

Code: Alles auswählen

load tclrega.so
array set values [rega_script {

var v5 = (dom.GetObject(ID_SYSTEM_VARIABLES)).Get("Mama").ValueName(); 
var v6 = (dom.GetObject(ID_SYSTEM_VARIABLES)).Get("Papa").ValueName(); 
var v7 = (dom.GetObject(ID_SYSTEM_VARIABLES)).Get("Kind").ValueName(); 
var v8 = (dom.GetObject(ID_SYSTEM_VARIABLES)).Get("SYSTEMVARIABLE").Value(); 
} ]

set v5 $values(v5)
set v6 $values(v6)
set v7 $values(v7)
set v8 [encoding convertfrom utf-8 $values(v8)]
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.

Antworten

Zurück zu „Sonstige Addons“