Werte aus Systemvariable per Mail senden

diverse Zusatzsoftware

Moderator: Co-Administratoren

Antworten
vmann
Beiträge: 81
Registriert: 24.02.2014, 09:26
System: CCU
Wohnort: 31655

Werte aus Systemvariable per Mail senden

Beitrag von vmann » 05.02.2015, 15:13

Ich verzweifel!
Ich habe eine Systemvariable "Ampel" mit der Werteliste "Rot;Gelb;Grün" erstellt. Diesen Wert würde ich gerne per Mail versenden.

Dazu das Skript in der CCU

Code: Alles auswählen

object sv = dom.GetObject("Ampel");
string z = sv.ValueList().StrValueByIndex(";",sv.Value());

string stdout;
string stderr;

! mail senden
system.Exec("/etc/config/addons/email/email 19", &stdout, &stderr);

! testausgabe
WriteLine(z);

Der Eintrag im EMail Addon

Code: Alles auswählen

load tclrega.so

array set values [rega_script {
var SYSvar = dom.GetObject("Ampel");
var wert = SYSvar.Value();
var v19 = web.webGetValueFromList(SYSvar.ValueList(), wert);
} ]

set v19 $values(v19)
Bei der Testausgabe bekomme ich den jeweiligen Wert korrekt ausgegeben, also Rot, Gelb oder Grün.
In der Email bekomme ich jedoch nur NULL ausgegeben, wenn der erste Wert gesetzt ist. Ist der zweite, dritte, .. Wert gesetzt, bekomme ich gar keinen Text in der Email angezeigt.

Ich habe mir die Code Schnipsel hier aus dem Forum zusammengeschrieben, auch aus Threads, in denen berichtet wurde, es funktioniert so.

http://homematic-forum.de/forum/viewtop ... 27&t=10337
http://homematic-forum.de/forum/viewtop ... 26&t=12803


Tut es aber bei mir nicht :(
Wer kann mir auf die Sprünge helfen bitte?
Zuletzt geändert von vmann am 08.02.2015, 22:18, insgesamt 1-mal geändert.

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

Re: Werte aus Systemvariable per Mail senden

Beitrag von alchy » 08.02.2015, 13:18

ich habe das mal kurz nachgestellt - ich gehe nicht auf dein Beispiel ein weil es mir zu verworren ist - eine Variable Stimmung die augenscheinlich Ampel heisst usw. :roll:

Ziel war es, den Wert einer Werteliste per Mail zu verschicken.

Wenn
Voraussetzung:
Es gibt eine Systemvariable vom Typ Werteliste mit dem Namen Werteliste
Email Addon ist korrekt installiert und funktioniert

und

Eine Emailvorlage deiner Wahl enthält:

Code: Alles auswählen

Der Wert $x der Werteliste $y entspricht $z
und

TCL verwenden ist in dieser angehakt.

und
im TCL Reiter steht so was wie hier:

Code: Alles auswählen

load tclrega.so
array set values [rega_script { 

var x = dom.GetObject("Werteliste").Value();
var y = dom.GetObject("Werteliste").ValueList();
var z = y.StrValueByIndex(";",x);

} ]

set x $values(x)
set y $values(y)
set z $values(z)
und

wenn du dann die Mail verschickst.

sollte sich der gewünschten Effekt einstellen, nämlich eine Mail mit dem Inhalt:

Code: Alles auswählen

Der Wert 0 der Werteliste Rot;Gelb;Gruen entspricht Rot 
oder

Code: Alles auswählen

 Der Wert 1 der Werteliste Rot;Gelb;Gruen entspricht Gelb 
oder

Code: Alles auswählen

Der Wert 2 der Werteliste Rot;Gelb;Gruen entspricht Gruen 
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.

vmann
Beiträge: 81
Registriert: 24.02.2014, 09:26
System: CCU
Wohnort: 31655

Re: Werte aus Systemvariable per Mail senden

Beitrag von vmann » 08.02.2015, 22:36

Äh ja, sollte Ampel sein. Hab ich falsch kopiert.

Habe es nach deiner Anleitung geschrieben, das steht in meiner Mail:

Der Wert null der Werteliste null entspricht null

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

Re: Werte aus Systemvariable per Mail senden

Beitrag von alchy » 08.02.2015, 23:10

vmann hat geschrieben: Habe es nach deiner Anleitung geschrieben, das steht in meiner Mail:
Der Wert null der Werteliste null entspricht null
glaub ich dir nicht. Irgendwo ist dann bei Dir ein Fehler drin. :wink:
Ausgabe null weisst auf einen Schreibfehler oder eine gar nicht vorhandene Systemvariable hin.
Ohne Posten des Codes und entsprechende Bildschirmcopys keine Hilfe.

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.

vmann
Beiträge: 81
Registriert: 24.02.2014, 09:26
System: CCU
Wohnort: 31655

Re: Werte aus Systemvariable per Mail senden

Beitrag von vmann » 09.02.2015, 13:09

alchy hat geschrieben: glaub ich dir nicht. Irgendwo ist dann bei Dir ein Fehler drin. :wink:
Ausgabe null weisst auf einen Schreibfehler oder eine gar nicht vorhandene Systemvariable hin.
Ich gehe fest von einem Fehler aus, das Problem sitzt meist vorm Bildschrim. Nur sehe ich meinen Fehler nicht :shock:


Also nomma
  • - Hier die TCL Einstellung
    tcl.jpg

    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 x = dom.GetObject("Ampel").Value();
    var y = dom.GetObject("Ampel").ValueList();
    var z = y.StrValueByIndex(";",x);
    } ]
    
    set v1 $values(v1)
    set v2 $values(v2)
    set v3 $values(v3)
    set x $values(x)
    set y $values(y)
    set z $values(z)
    
    • - Mail Einstellung
      mail.jpg

      Code: Alles auswählen

      Der Wert $x der Werteliste $y entspricht $z
      • - Die Systemvariable
        sysvar.jpg
        • - Im Programm rufe ich als Skript folgendes auf

          Code: Alles auswählen

          string stdout;
          string stderr;
          system.Exec("/etc/config/addons/email/email 19");
Und damit bekomme ich folgenden Mail Text:
Der Wert null der Werteliste null entspricht null


Das Mail Addon mal neu installieren?

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

Re: Werte aus Systemvariable per Mail senden

Beitrag von alchy » 09.02.2015, 13:31

Wieso neuinstallieren, würde *IMHO* nix bringen.
Erstmal die Variablen EmailEmpfaenger / EmailBetreff / EmailText
entweder in der CCU anlegen oder sie aus dem TCL Reiter restlos entfernen. (siehe mein Code)

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.

vmann
Beiträge: 81
Registriert: 24.02.2014, 09:26
System: CCU
Wohnort: 31655

Re: Werte aus Systemvariable per Mail senden

Beitrag von vmann » 09.02.2015, 13:37

alchy hat geschrieben:Erstmal die Variablen EmailEmpfaenger / EmailBetreff / EmailText
entweder in der CCU anlegen oder sie aus dem TCL Reiter restlos entfernen. (siehe mein Code)
Leck mich am Arsch, das war der Fehler! Der konnte mit den nicht vorhandenen Variablen nix anfangen..
Dickes Danke!

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

Re: Werte aus Systemvariable per Mail senden

Beitrag von alchy » 09.02.2015, 13:49

LmaA, du solltest dich eher selber in denselben treten. :mrgreen:
Ich wusste es, daher auch mein Post mit glaub ich nicht. :wink:

Deshalb ist es so wichtig, das der Fragesteller seinen Code entsprechend postet.
Dieser Fehler wurde hier schon zig mal begangen und ich habe schon zig mal darauf hingewiesen.

Nur eine nicht vorhandene Variable oder ein Schreibfehler (was ja eigentlich dasselbe ist) im TCL Reiter und schon hagelt es ab da null.....

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.

vmann
Beiträge: 81
Registriert: 24.02.2014, 09:26
System: CCU
Wohnort: 31655

Re: Werte aus Systemvariable per Mail senden

Beitrag von vmann » 09.02.2015, 14:29

njo, hatte den Code drin gelassen um ihn nicht zu verlieren ;)
Habe die entsprechenden Threads leider nicht gefunden die mir hätten helfen können. Nu weiss ichs besser. Danke

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

Re: Werte aus Systemvariable per Mail senden

Beitrag von alchy » 11.02.2015, 01:49

Bitteschön, keine Ursache.
viel Spass noch

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“