Variable Temp an http senden

Problemlösungen und Hinweise von allgemeinem Interesse zur Haussteuerung mit HomeMatic

Moderator: Co-Administratoren

Antworten
Bastischen
Beiträge: 10
Registriert: 10.06.2012, 20:32

Variable Temp an http senden

Beitrag von Bastischen » 04.08.2012, 10:10

Hallo Zusammen,

leider habe ich ein problem wo ich nicht weiterkomme... =(

ich würde gerne die Temperatur einen Raumtermostats bei Änderung an eine http Seite schicken.

dazu habe ich folgendes gemacht.
Mir ein Programm angelegt was bei temperaturänderung des termostats ein script ausführt.

Das script sieht jetzt so aus.

Code: Alles auswählen

var source = dom.GetObject("$src$");
string stdout;
string stderr;
string url="http://admin:admin@10.0.1.2/dev/sps/io/TempBad/(source.Value())";
system.Exec ("wget -q -O /dev/null " # url, &stdout, &stderr);
aber leider wird die variable (source.Value()) nicht mit der aktuellen Temperatur des raumsensors ersetzt.
Kann mir dabei jemand weiterhelfen?

Viele Grüße,
Basti

DrTob
Beiträge: 3426
Registriert: 29.10.2010, 08:24
Danksagung erhalten: 5 Mal

Re: Variable Temp an http senden

Beitrag von DrTob » 04.08.2012, 12:14

Bastischen hat geschrieben:Hallo Zusammen,

leider habe ich ein problem wo ich nicht weiterkomme... =(

ich würde gerne die Temperatur einen Raumtermostats bei Änderung an eine http Seite schicken.

dazu habe ich folgendes gemacht.
Mir ein Programm angelegt was bei temperaturänderung des termostats ein script ausführt.

Das script sieht jetzt so aus.

Code: Alles auswählen

var source = dom.GetObject("$src$");
string stdout;
string stderr;
string url="http://admin:admin@10.0.1.2/dev/sps/io/TempBad/(source.Value())";
system.Exec ("wget -q -O /dev/null " # url, &stdout, &stderr);
aber leider wird die variable (source.Value()) nicht mit der aktuellen Temperatur des raumsensors ersetzt.
Kann mir dabei jemand weiterhelfen?

Viele Grüße,
Basti
Ohne es zu Testen:

Code: Alles auswählen

var source = dom.GetObject("$src$");
string stdout;
string stderr;
string url="http://admin:admin@10.0.1.2/dev/sps/io/TempBad/" # source.Value();
system.Exec ("wget -q -O /dev/null " # url, &stdout, &stderr);

Bastischen
Beiträge: 10
Registriert: 10.06.2012, 20:32

Re: Variable Temp an http senden

Beitrag von Bastischen » 04.08.2012, 12:24

danke für deine Hilfe aber leider funktioniert das so auch nicht =(
hat noch irgendjemand anders eine Idee?

DrTob
Beiträge: 3426
Registriert: 29.10.2010, 08:24
Danksagung erhalten: 5 Mal

Re: Variable Temp an http senden

Beitrag von DrTob » 04.08.2012, 14:07

sollte eigentlich funktionieren. Evtl. ist bei der Verwendung der "Variable" $src$ ein Fehler, damit kenne ich mich nicht aus.

zwei Alternativen:

1.

Code: Alles auswählen

var source = dom.GetObject("$src$").Value();
string stdout;
string stderr;
string url="http://admin:admin@10.0.1.2/dev/sps/io/TempBad/" # source;
system.Exec ("wget -q -O /dev/null " # url, &stdout, &stderr);
2. geh' nicht über scr, sondern spreche das Thermostat direkt an (Seriennummer natürlich durch deine ersetzen):

Code: Alles auswählen

var source = dom.GetObject("BidCos-RF.HEQ0123456:1.TEMPERATURE").Value();
string stdout;
string stderr;
string url="http://admin:admin@10.0.1.2/dev/sps/io/TempBad/" # source;
system.Exec ("wget -q -O /dev/null " # url, &stdout, &stderr);
Variante 2 habe läuft bei mir genau so (mit anderer URL) seit langem in Problemlos.

Bist du dir sicher, dass die URL stimmt?

das Ergebnis wäre z.b. http://admin:admin@10.0.1.2/dev/sps/io/TempBad/10.2

Bastischen
Beiträge: 10
Registriert: 10.06.2012, 20:32

Re: Variable Temp an http senden

Beitrag von Bastischen » 04.08.2012, 17:29

Super so funktioniert es =)
vielen vielen dank! :D

Antworten

Zurück zu „HomeMatic Tipps & Tricks - keine Fragen!“