HomeMatic CCU2 bei ELV bestellen

Systemvariable per Email

Allgemeines zur HomeMatic Haussteuerung

Werbung


Systemvariable per Email

Beitragvon blueb6 » 12.01.2015, 13:12

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 :cry:

lg Tom
LG Tom
________________________________________________________
1 Zentrale Yahm, 5 Funk-Heizkörperthermostat, 4 Funk-Tür-/Fensterkontakt, optisch, 1 RGBW Controller, 1 Funk-Schaltaktor 4-fach, Hutschienenmontage, 1 Funk-Temperatur-/ Feuchtesensor außen, 4 Funk-Wandthermostat, 5 Funk-Schaltaktor 1-fach, Unterputzmontage, 1 Funk Bewegungsmelder Außen, 1 Funk-Temperaturdifferenz-Sensor, 1 Funk-Fernbedienung mit Display, 1 Funk-Schaltaktor 1-fach, Platine Batterie, 1 Funk-Sender für Energiezähler-Sensor, 1 Funk-Wandtaster 2-fach im 55er Rahmen
1 Homematic IP Schalt-Mess-Steckdose, 1 IP Schaltsteckdose
und Zwei weitere Häuser mit Yahm, 7 LAN Gateways, 5 Energiemesser, 48 Heizkörperthermostate und 48 Fensterkontakte
blueb6
 
Beiträge: 83
Registriert: 08.01.2015, 20:22

Re: Systemvariable per Email

Beitragvon alchy » 12.01.2015, 18:00

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
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)

4. Mail verschicken....

Alchy
unterwegs getippelt
Zuletzt geändert von alchy am 07.09.2017, 12:48, insgesamt 1-mal geändert.
Grund: angepasste Version

...................
Sprichst Du zu Gott bist Du gesegnet. Spricht Gott zu Dir bist Du schizophren.


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 hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.
alchy
 
Beiträge: 6532
Registriert: 24.02.2011, 01:34

Re: Systemvariable per Email

Beitragvon BJS » 06.09.2017, 20:49

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.)
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)


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
BJS
 
Beiträge: 18
Registriert: 26.08.2017, 09:02

Re: Systemvariable per Email

Beitragvon blueb6 » 07.09.2017, 05:44

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)


und im email muss stehen

$v4

lg Tom
LG Tom
________________________________________________________
1 Zentrale Yahm, 5 Funk-Heizkörperthermostat, 4 Funk-Tür-/Fensterkontakt, optisch, 1 RGBW Controller, 1 Funk-Schaltaktor 4-fach, Hutschienenmontage, 1 Funk-Temperatur-/ Feuchtesensor außen, 4 Funk-Wandthermostat, 5 Funk-Schaltaktor 1-fach, Unterputzmontage, 1 Funk Bewegungsmelder Außen, 1 Funk-Temperaturdifferenz-Sensor, 1 Funk-Fernbedienung mit Display, 1 Funk-Schaltaktor 1-fach, Platine Batterie, 1 Funk-Sender für Energiezähler-Sensor, 1 Funk-Wandtaster 2-fach im 55er Rahmen
1 Homematic IP Schalt-Mess-Steckdose, 1 IP Schaltsteckdose
und Zwei weitere Häuser mit Yahm, 7 LAN Gateways, 5 Energiemesser, 48 Heizkörperthermostate und 48 Fensterkontakte
blueb6
 
Beiträge: 83
Registriert: 08.01.2015, 20:22

Re: Systemvariable per Email

Beitragvon BJS » 07.09.2017, 07:08

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
BJS
 
Beiträge: 18
Registriert: 26.08.2017, 09:02

Re: Systemvariable per Email

Beitragvon Xel66 » 07.09.2017, 08:36

TCL angehakt oder Klammern um die Variable entfernt?

Gruß Xel66
---------------------------------------------------------------------------------
231 Kanäle in 83 Geräten und 100 CUxD-Kanäle in 19 CUxD-Geräten:
---------------------------------------------------------------------------------
Xel66
 
Beiträge: 3218
Registriert: 08.05.2013, 22:33
Wohnort: Nordwürttemberg

Re: Systemvariable per Email

Beitragvon BJS » 07.09.2017, 09:13

OK, nochmal genauer … und Danke !

HM-BJS-0.jpg
RaspberryMatic


HM-BJS-1.jpg
Systemvariable erstellt


HM-BJS-2.jpg
Programm Systemvariable befüllen ...


HM-BJS-4.jpg
Programm => Regensensor Status Änderung versennden

Code: Alles auswählen
string stdout;
string stderr;
system.Exec("/etc/config/addons/email/email 07", &stdout, &stderr);



TCL Code:
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)


HM-BJS-3.jpg
Mail Vorlage => senden


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
BJS
 
Beiträge: 18
Registriert: 26.08.2017, 09:02

Re: Systemvariable per Email

Beitragvon blueb6 » 07.09.2017, 09:25

probier mal statt

var v4 = dom.GetObject('Regensensor').State();

vielleicht geht dass

var v4 = dom.GetObject('Regensensor').Value();
LG Tom
________________________________________________________
1 Zentrale Yahm, 5 Funk-Heizkörperthermostat, 4 Funk-Tür-/Fensterkontakt, optisch, 1 RGBW Controller, 1 Funk-Schaltaktor 4-fach, Hutschienenmontage, 1 Funk-Temperatur-/ Feuchtesensor außen, 4 Funk-Wandthermostat, 5 Funk-Schaltaktor 1-fach, Unterputzmontage, 1 Funk Bewegungsmelder Außen, 1 Funk-Temperaturdifferenz-Sensor, 1 Funk-Fernbedienung mit Display, 1 Funk-Schaltaktor 1-fach, Platine Batterie, 1 Funk-Sender für Energiezähler-Sensor, 1 Funk-Wandtaster 2-fach im 55er Rahmen
1 Homematic IP Schalt-Mess-Steckdose, 1 IP Schaltsteckdose
und Zwei weitere Häuser mit Yahm, 7 LAN Gateways, 5 Energiemesser, 48 Heizkörperthermostate und 48 Fensterkontakte
blueb6
 
Beiträge: 83
Registriert: 08.01.2015, 20:22

Re: Systemvariable per Email

Beitragvon BJS » 07.09.2017, 09:46

Habe ich ausprobiert .....
nun wird " Regensensor " in die Mail geschrieben
BJS
 
Beiträge: 18
Registriert: 26.08.2017, 09:02

Re: Systemvariable per Email

Beitragvon BadenPower » 07.09.2017, 10:15

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.
.
User gesperrt
BadenPower
 
Beiträge: 2588
Registriert: 03.12.2015, 11:34

Nächste

Zurück zu HomeMatic allgemein

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 16 Gäste







© homematic-forum.de & Lizenzgebern. Alle Rechte vorbehalten. Alle Bilder & Texte auf dieser Seite sind Eigentum
der jeweiligen Besitzer und dürfen ohne deren Einwilligung weder kopiert noch sonstwie weiter verwendet werden.