Systemvariable per Email
Moderator: Co-Administratoren
-
- Beiträge: 118
- Registriert: 08.01.2015, 20:22
- Wohnort: Neufeld/Leitha
- Danksagung erhalten: 3 Mal
Systemvariable per Email
Hallo
Ich möchte eine Systemvariable per email bekommen.
Habe die SV Urlaub erstellt Zeichenkette
Bei Tastendruck kurz Soll systemzustand (auf was gesetzt werden)?
und bei Tastenlruck lang Soll systemzustand (auf was gesetzt werden)?
das möchte ich gerne mit
if (dom.GetObject("Urlaub").Value() == 'false') {
var v4 = "Ja";
}else {var v4 = "Nein!";
}
abfragen und dann per mail verschicken.
Email funktioniert, nur ich bekomme egal wie ich es versuche immer nur einen wert (zb. 1 oder 0 oder fales), egal was in der SV steht
Habe es schon mit wert und Logik auch probiert
komme aber auf keine grünen zweig
bitte um hilfe, habe auch schon einige forenbeiträge gelesen, aber daraus werde ich leider nicht schlauer
lg Tom
Ich möchte eine Systemvariable per email bekommen.
Habe die SV Urlaub erstellt Zeichenkette
Bei Tastendruck kurz Soll systemzustand (auf was gesetzt werden)?
und bei Tastenlruck lang Soll systemzustand (auf was gesetzt werden)?
das möchte ich gerne mit
if (dom.GetObject("Urlaub").Value() == 'false') {
var v4 = "Ja";
}else {var v4 = "Nein!";
}
abfragen und dann per mail verschicken.
Email funktioniert, nur ich bekomme egal wie ich es versuche immer nur einen wert (zb. 1 oder 0 oder fales), egal was in der SV steht
Habe es schon mit wert und Logik auch probiert
komme aber auf keine grünen zweig
bitte um hilfe, habe auch schon einige forenbeiträge gelesen, aber daraus werde ich leider nicht schlauer
lg Tom
LG Tom
________________________________________________________
2 mal CCU3 (Raspberrymatic) 1 mal CCU2, 10 Lan Gateway, und ca. 180 Komponenten
________________________________________________________
2 mal CCU3 (Raspberrymatic) 1 mal CCU2, 10 Lan Gateway, und ca. 180 Komponenten
-
- Beiträge: 10752
- Registriert: 24.02.2011, 01:34
- System: CCU
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 672 Mal
Re: Systemvariable per Email
Nichts per Suche gefunden? Ich habe das Gefühl, täglich dieselben Fragen zu beantworten.
1. Systenvariable Urlaub anlegen Typ Logik
2. Klickibuntiprogramm zum Ändern der Systemvariablen auf wahr / unwahr anlegen
3. TCL Reiter im Emailprogramm
4. Mail verschicken....
Alchy
unterwegs getippelt
1. Systenvariable Urlaub anlegen Typ Logik
2. Klickibuntiprogramm zum Ändern der Systemvariablen auf wahr / unwahr anlegen
3. TCL Reiter im Emailprogramm
Code: Alles auswählen
load tclrega.so
array set values [rega_script {
if ( dom.GetObject(ID_SYSTEM_VARIABLES).Get("Urlaub").State() ) {
var v4 = "Urlaub"; }else { var v4 = "kein Urlaub"; }
} ]
set v4 $values(v4)
Alchy
unterwegs getippelt
Zuletzt geändert von alchy am 07.09.2017, 13:48, insgesamt 1-mal geändert.
Grund: angepasste Version
Grund: angepasste Version
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: Systemvariable per Email
Hallo, kann mir bitte jemand kurz helfen ?
Habe eine Systenvariable angelegt => Logigwert Name Regensensor / (REGEN / NAS und TROCKEN)
Es gibt ein Programm welches den Regensensor abfragt und die Variable füllt.
Das funktioniert auch über die eingeblendete Variablen Anzeige beim Benutzer.
Ich möchte nun den jeweiligen Inhalt (REGEN / NAS oder TROCKEN) der Variablen „Regensensor“ in einer Email versenden. (Mails versenden etc. funktioniert über Mail AddOn)
Im TCL ist nachfolgender Code. (Hier kopiert und Umgeschrieben.)
In der Email Vorlage ist TCL aktiviert und „$Regensensor“ als Text.
Bei diesem Code wird dann beim Testen aber keine Email gesendet.
Sieht einer den Fehler, den ich hier mache?
Danke schon mal, Bernd
Habe eine Systenvariable angelegt => Logigwert Name Regensensor / (REGEN / NAS und TROCKEN)
Es gibt ein Programm welches den Regensensor abfragt und die Variable füllt.
Das funktioniert auch über die eingeblendete Variablen Anzeige beim Benutzer.
Ich möchte nun den jeweiligen Inhalt (REGEN / NAS oder TROCKEN) der Variablen „Regensensor“ in einer Email versenden. (Mails versenden etc. funktioniert über Mail AddOn)
Im TCL ist nachfolgender Code. (Hier kopiert und Umgeschrieben.)
Code: Alles auswählen
load tclrega.so
array set values [rega_script {
if (dom.GetObject("Regensensor").Value()) {
var v4 = "Regen / Nass";
}else {
var v4 = "Troken";
}
} ]
set v4 $values(v4)
Bei diesem Code wird dann beim Testen aber keine Email gesendet.
Sieht einer den Fehler, den ich hier mache?
Danke schon mal, Bernd
-
- Beiträge: 118
- Registriert: 08.01.2015, 20:22
- Wohnort: Neufeld/Leitha
- Danksagung erhalten: 3 Mal
Re: Systemvariable per Email
Code: Alles auswählen
set serviceliste [encoding convertfrom utf-8 [lindex $argv 1]]
load tclrega.so
array set values [rega_script {
var v4 = dom.GetObject('Regensensor').State();
} ]
set v4 $values(v4)
$v4
lg Tom
LG Tom
________________________________________________________
2 mal CCU3 (Raspberrymatic) 1 mal CCU2, 10 Lan Gateway, und ca. 180 Komponenten
________________________________________________________
2 mal CCU3 (Raspberrymatic) 1 mal CCU2, 10 Lan Gateway, und ca. 180 Komponenten
Re: Systemvariable per Email
Hallo Tom und rechtherzlichen Dank,
ich bin nun ein Schritt weiter …. Die Mail geht raus, jedoch ist leider nichts im Text.
Bedeutet, der Wert (REGEN / NAS oder TROCKEN) der Systemvariablen „Regensensor“ steht nicht in der Mail. {($v4) steht aber im Mailtext}
Irgendwo habe ich noch etwas nicht wirklich richtig gemacht.
Weitere Ideen, Danke Bernd
ich bin nun ein Schritt weiter …. Die Mail geht raus, jedoch ist leider nichts im Text.
Bedeutet, der Wert (REGEN / NAS oder TROCKEN) der Systemvariablen „Regensensor“ steht nicht in der Mail. {($v4) steht aber im Mailtext}
Irgendwo habe ich noch etwas nicht wirklich richtig gemacht.
Weitere Ideen, Danke Bernd
-
- Beiträge: 14085
- Registriert: 08.05.2013, 23:33
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Nordwürttemberg
- Hat sich bedankt: 580 Mal
- Danksagung erhalten: 1492 Mal
Re: Systemvariable per Email
TCL angehakt oder Klammern um die Variable entfernt?
Gruß Xel66
Gruß Xel66
-------------------------------------------------------------------------------------------
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch
Re: Systemvariable per Email
OK, nochmal genauer … und Danke !
TCL Code:
Ich hoffe es mit der Beschreibung nicht übertrieben zu haben .....
Problemm an dieser Stelle:
Es wird eine Mail versendet jedoch ist der Variablen Wert (Regensensor) nicht in der Mail.
Danke, Bernd
Code: Alles auswählen
string stdout;
string stderr;
system.Exec("/etc/config/addons/email/email 07", &stdout, &stderr);
Code: Alles auswählen
set serviceliste [encoding convertfrom utf-8 [lindex $argv 1]]
load tclrega.so
array set values [rega_script {
var v4 = dom.GetObject('Regensensor').State();
} ]
set v4 $values(v4)
Problemm an dieser Stelle:
Es wird eine Mail versendet jedoch ist der Variablen Wert (Regensensor) nicht in der Mail.
Danke, Bernd
-
- Beiträge: 118
- Registriert: 08.01.2015, 20:22
- Wohnort: Neufeld/Leitha
- Danksagung erhalten: 3 Mal
Re: Systemvariable per Email
probier mal statt
var v4 = dom.GetObject('Regensensor').State();
vielleicht geht dass
var v4 = dom.GetObject('Regensensor').Value();
var v4 = dom.GetObject('Regensensor').State();
vielleicht geht dass
var v4 = dom.GetObject('Regensensor').Value();
LG Tom
________________________________________________________
2 mal CCU3 (Raspberrymatic) 1 mal CCU2, 10 Lan Gateway, und ca. 180 Komponenten
________________________________________________________
2 mal CCU3 (Raspberrymatic) 1 mal CCU2, 10 Lan Gateway, und ca. 180 Komponenten
Re: Systemvariable per Email
Habe ich ausprobiert .....
nun wird " Regensensor " in die Mail geschrieben
nun wird " Regensensor " in die Mail geschrieben
Re: Systemvariable per Email
Der Fehler der gemacht wird ist die Verwendung von dom.GetObject() in Verbindung mit der Suche per Name.
Der TE hat mehrere Objekte mit dem gleichen Namen auf seiner CCU angelegt.
Woher soll das Skript denn wissen, welches Objekt der TE abfragen möchte.
.
Der TE hat mehrere Objekte mit dem gleichen Namen auf seiner CCU angelegt.
Woher soll das Skript denn wissen, welches Objekt der TE abfragen möchte.
.