[Gelöst] Antwort eines HTTP Requests in Homematic holen

Einrichtung, Nutzung und Hilfe zu RaspberryMatic (OCCU auf Raspberry Pi)

Moderatoren: jmaus, Co-Administratoren

Antworten
Samhain
Beiträge: 110
Registriert: 30.03.2017, 13:44

[Gelöst] Antwort eines HTTP Requests in Homematic holen

Beitrag von Samhain » 11.07.2019, 18:39

Hiho

ich bräuchte mal etwas Unterstützung, weis aber nicht ob das überhaupt funktioniert:

Ich führe auf einem externen Server (WeMos mit WLAN) via HTTP Befehle aus.

Code: Alles auswählen

string stdout;
string stderr;
string url="http://192.168.2.130/var?laufzeit=30";
system.Exec ("wget -q -O /dev/null " # url, &stdout, &stderr);
Präzise schaltet mir dieser Befehl eine Steckdose ein und hat die Einschaltdauer von 30 Minuten.

Über einen HTTP Request:

http://192.168.2.130/status

kann ich mir dann den Zustand z.B. via Browser ansehen -> Webseite zeigt dann: "ein" oder "aus"

Diesen Status möchte ich gerne in der Homematic anzeigen.

Weis jemand ob das geht und wie man das macht?

vG
Franky
Zuletzt geändert von Samhain am 14.07.2019, 19:37, insgesamt 2-mal geändert.

qwertz
Beiträge: 148
Registriert: 15.02.2012, 19:35

Re: Antwort eines HTTP Requests in Homematic holen

Beitrag von qwertz » 11.07.2019, 20:55

Hier gibt es ein Script, welches das nach Anpassung leisten könnte: viewtopic.php?t=31467

Samhain
Beiträge: 110
Registriert: 30.03.2017, 13:44

Re: Antwort eines HTTP Requests in Homematic holen

Beitrag von Samhain » 12.07.2019, 20:46

Danke. Gugge ich mir gleich an :idea:

Samhain
Beiträge: 110
Registriert: 30.03.2017, 13:44

Re: Antwort eines HTTP Requests in Homematic holen

Beitrag von Samhain » 13.07.2019, 12:49

War ein guter Tip!

So funktionierts, jetzt muss ich nur noch das Ganze auf System.exec umbauen.

=================================================

var url = "http://192.168.2.130/status";

dom.GetObject("CUxD.CUX2801003:1.CMD_SETS").State("wget -q -O - '"#url#"'");
dom.GetObject("CUxD.CUX2801003:1.CMD_QUERY_RET").State(1);

string PoolpumpeState = dom.GetObject("CUxD.CUX2801003:1.CMD_RETS").State();
string stateName;
object svObj1;

stateName = "PoolpumpeState";
svObj1 = dom.GetObject(stateName);
if (svObj1) {
svObj1.State(PoolpumpeState);
WriteLine(PoolpumpeState);
}

===================================================

Antworten

Zurück zu „RaspberryMatic“