XML API Patch - SysVar schalten ?

Nutzung von XML RPC, Remote Script, JSON RPC, XMLAPI

Moderator: Co-Administratoren

Benutzeravatar
Herbert_Testmann
Beiträge: 11062
Registriert: 17.01.2009, 11:30
Danksagung erhalten: 7 Mal

XML API Patch - SysVar schalten ?

Beitrag von Herbert_Testmann » 22.11.2013, 19:55

hallo

kann ich bei installiertem XML-API Patch über einen Befehl wie diesen

Code: Alles auswählen

http://192.168.178.200/config/xmlapi/statechange.cgi?ise_id=12345&new_value=1
auch den Wert einer Systemvariablen ändern?

Geht das ggf. auch ohne Zusatzsoftware?

Bisherige Ideen zum Setzen einer SystemVariablen in der CCU waren über
CCU.IO
XLM-API Patch

Es würde mir in dem Fall auch reichen, eine virtuelle Taste zu schalten oder ein virtuelles CuxD Gerät. Oder irgentwas über HomePuter CL.
Ich möchte "einfach" nur mit einem http://IP-der-CCU:xxx/... einen Zustand an/aus schalten :)

Ideen? Danke
---
Dieses Schreiben wurde maschinell erstellt und ist ohne Unterschrift gültig

Benutzeravatar
Dragonfly
Beiträge: 1249
Registriert: 04.01.2010, 11:40
Wohnort: Tyrol
Hat sich bedankt: 1 Mal
Danksagung erhalten: 4 Mal
Kontaktdaten:

Re: XML API Patch - SysVar schalten ?

Beitrag von Dragonfly » 22.11.2013, 20:53

Wenn mir eine Frage erlaubt ist:
Warum muß es denn der XLM-API Patch sein?

Reicht die klassische Methode

Code: Alles auswählen

http://<CCU-IP>:8181/herbert.exe?state=dom.GetObject('NameDerSysVar').State(1)
nicht?

Benutzeravatar
Herbert_Testmann
Beiträge: 11062
Registriert: 17.01.2009, 11:30
Danksagung erhalten: 7 Mal

Re: XML API Patch - SysVar schalten ?

Beitrag von Herbert_Testmann » 22.11.2013, 21:45

Hallo

mir ist jede Methode recht. Je einfacher, desto besser.
Was kommt an die Stelle von "herbert.exe" ??
---
Dieses Schreiben wurde maschinell erstellt und ist ohne Unterschrift gültig

Benutzeravatar
robbi77
Beiträge: 13904
Registriert: 19.01.2011, 19:15
System: CCU
Wohnort: Landau
Hat sich bedankt: 182 Mal
Danksagung erhalten: 747 Mal

Re: XML API Patch - SysVar schalten ?

Beitrag von robbi77 » 22.11.2013, 22:11

Ernsthafte Frage?
Na herbert.exe natürlich oder x.exe oder roberto.exe oder XYZ.exe
Auf gut Deutsch: scheißegal.exe :-D
Gruß
Roberto
Bei Risiken und Nebenwirkungen fragen Sie den Elektriker Ihres geringsten Mißtrauens!
http://www.eq-3.de/service/downloads.html
Tips und Tricks für Anfänger: viewtopic.php?t=22801
Programmlogik: viewtopic.php?f=31&t=4251
Webui-Handbuch: https://www.eq-3.de/downloads/download/ ... h_eQ-3.pdf
Script und Linksammlung: viewtopic.php?f=26&t=27907
Troll des Forums ...

Benutzeravatar
Herbert_Testmann
Beiträge: 11062
Registriert: 17.01.2009, 11:30
Danksagung erhalten: 7 Mal

Re: XML API Patch - SysVar schalten ?

Beitrag von Herbert_Testmann » 23.11.2013, 00:15

robbi77 hat geschrieben: Auf gut Deutsch: scheißegal.exe :-D
Gruß
Roberto
Gut, das habe ich verstanden.

Code: Alles auswählen

http://192.168.1.55:8181/rega.exe?state=dom.GetObject('geo1').State(1)
funktioniert aus dem Browser raus, aber nicht aus dem php Script auf dem Web Server :(

Code: Alles auswählen

	// Steuerung der CCU

	if ($isEntry)
  		http_get("http://192.168.1.55:8181/rega.exe?state=dom.GetObject('geo1').State(1)");
    else
  		http_get("http://192.168.1.55:8181/rega.exe?state=dom.GetObject('geo1').State(0)");
get nicht.

Das Beispiel sieht so aus

Code: Alles auswählen

	// Steuerung der CCU

	if ($isEntry) {
  		http_get("http://192.168.1.55:8181/rega.exe?state=dom.GetObject('geo1').State(1)");
    else
  		http_get("http://192.168.1.55:8181/rega.exe?state=dom.GetObject('geo1').State(0)");
          }


aber auch mit der Klammer geht es nicht
---
Dieses Schreiben wurde maschinell erstellt und ist ohne Unterschrift gültig

Benutzeravatar
Herbert_Testmann
Beiträge: 11062
Registriert: 17.01.2009, 11:30
Danksagung erhalten: 7 Mal

Re: XML API Patch - SysVar schalten ?

Beitrag von Herbert_Testmann » 23.11.2013, 00:21

Hier noch mal schnell das ganze php script ...
Das Log File auf dem Server wird geschrieben aber der untere Teil für die Steuerung der CCU geht nicht :(

Code: Alles auswählen

<!DOCTYPE html>
<html>
<body>

<?php
	// This is a sample script on how to integrate the http POST request interface for Geofency.
	// This is only a short demo and not a productive script.
	// Feel free to modify this script according to your wishes.

    // Incoming POST parameters provided by Geofency.
	// Extract parameters from http request (using “_POST”).
	// $date is a rfc3339 formatted date in the form: yyyy-MM-ddTHH:mm:ssZ
	$date=$_POST["date"];
	$isEntry=($_POST["entry"] == "1");
	$locationName=$_POST["name"];
	$locationID=$_POST["id"];
	$longitude=$_POST["longitude"];
	$latitude=$_POST["latitude"];

    if ($isEntry)
        $out = date('Y-m-d H:i:s') . " entryDate: " . $date . ", entered at " . $locationName . "\n";
    else
        $out = date('Y-m-d H:i:s') . "  exitDate: " . $date . ", exited  at " . $locationName . "\n";

    echo $out;

    $filename = "geofency1.log";
    file_put_contents($filename, $out, FILE_APPEND | FILE_EX);

	// Steuerung der CCU
	if ($isEntry)
  		http_get("http://192.168.1.55:8181/rega.exe?state=dom.GetObject('geo1').State(1)");
    else
  		http_get("http://192.168.1.55:8181/rega.exe?state=dom.GetObject('geo1').State(0)");


	// Example condition:
    // Send http request if it's later than 8pm (20:00).
    //$hour=substr($date, 8, 2);
    //if ($hour > '20' && $isEntry) {
      //  echo "It’s time to eat <After Eight> and switch on lights.\n";
        // Integrate your e.h. home automation system here ...
        // http_get("http://www.mypage.com/switchOnLights.html”);
    //}
?>

</body>
</html>
---
Dieses Schreiben wurde maschinell erstellt und ist ohne Unterschrift gültig

Benutzeravatar
Dragonfly
Beiträge: 1249
Registriert: 04.01.2010, 11:40
Wohnort: Tyrol
Hat sich bedankt: 1 Mal
Danksagung erhalten: 4 Mal
Kontaktdaten:

Re: AW: XML API Patch - SysVar schalten ?

Beitrag von Dragonfly » 23.11.2013, 08:12

Firewall freigegeben?

Gesendet von meinem HTC One mit Tapatalk 2

buempi
Ehrenmitglied
Beiträge: 12194
Registriert: 29.07.2006, 15:58
Wohnort: Schweiz
Danksagung erhalten: 5 Mal

Re: XML API Patch - SysVar schalten ?

Beitrag von buempi » 23.11.2013, 08:57

... die Firewall müsste eigentlich freigegeben sein, sonst würde es ja auch im Browser nicht funktionieren.

Versuch es doch mal mit den geschwungenen Klammern und/oder dem Tauschen der Apostroph:

Code: Alles auswählen

if ($isEntry)
{
        http_get('http://192.168.1.55:8181/rega.exe?state=dom.GetObject("geo1").State(1)');
}
else
{
        http_get('http://192.168.1.55:8181/rega.exe?state=dom.GetObject("geo1").State(0)');
}
Viele Grüsse
Bümpi

Benutzeravatar
Dragonfly
Beiträge: 1249
Registriert: 04.01.2010, 11:40
Wohnort: Tyrol
Hat sich bedankt: 1 Mal
Danksagung erhalten: 4 Mal
Kontaktdaten:

Re: AW: XML API Patch - SysVar schalten ?

Beitrag von Dragonfly » 23.11.2013, 09:27

buempi hat geschrieben:... die Firewall müsste eigentlich freigegeben sein, sonst würde es ja auch im Browser nicht funktionieren.
Schon klar, wenn's das selbe Gerät ist...

Gesendet von meinem HTC One mit Tapatalk 2

buempi
Ehrenmitglied
Beiträge: 12194
Registriert: 29.07.2006, 15:58
Wohnort: Schweiz
Danksagung erhalten: 5 Mal

Re: XML API Patch - SysVar schalten ?

Beitrag von buempi » 23.11.2013, 10:29

... unterstützt der PHP-Interpreter überhaupt http_get() oder brauchts da noch eine Extension?

Viele Grüsse
Bümpi

Antworten

Zurück zu „Softwareentwicklung von externen Applikationen“