Ich habe ein Problem mit dem folgenden Beispielskript aus der Dokumentation des Email-Addons:
Code: Alles auswählen
load tclrega.so
array set values [rega_script {
if
if (dom.GetObject("Anwesenheit").Value() == 'false') {
var v1 = "anwesend";
}else {
var v1 = "nicht anwesend";
}
} ]
set v1 $values(v1)
Zuerst einmal ist da nicht ein if zu viel?
Zweitens sollte doch, wenn Anwesenheit 'false' ist v1 auf "abwesend" gesetzt werden, nicht auf "anwesend", oder?
Drittens bekomme ich bei dem Vergleich == 'false' immer
nicht das korrekte Ergebnis.
Ein (EDIT: Homematic-)Skript:
Code: Alles auswählen
var v1 = "undefiniert";
var val = dom.GetObject("Anwesenheit").Value();
WriteLine(val);
if (dom.GetObject("Anwesenheit").Value() == 'false')
{
v1 = "abwesend";
}
if (dom.GetObject("Anwesenheit").Value() == 'true')
{
v1 = "anwesend";
}
WriteLine(v1);
druckt bei mir wenn Anwesenheit false ist:
false
undefiniert
und wenn Anwesenheit true ist:
true
anwesend
Das Skript scheint erst dann korrekt zu funktionieren, wenn ich bei den Vergleichen die Anführungszeichen um true und false weglasse:
Code: Alles auswählen
if (dom.GetObject("Anwesenheit").Value() == false)
{
v1 = "abwesend";
}
if (dom.GetObject("Anwesenheit").Value() == true)
{
v1 = "anwesend";
}
Kann mir das eventuell jemand erklären???
Beste Grüße, Jörg.
EDIT: Oh, Mist. Ich glaube, ich vergleiche hier Äpfel mit Birnen....
Das erste Skript (Beispielskript aus der Email-Doku) ist ein Tcl-Skript, meine Beispiele sind aber 'Homematic'-Skripte
Könnte mir eventuell trotzdem jemand dazu was sagen?