HTML-Anwendung zur Steuerung mit XML-API

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

Moderator: Co-Administratoren

Grunzi
Beiträge: 68
Registriert: 06.01.2014, 09:31

Re: HTML-Anwendung zur Steuerung mit XML-API

Beitrag von Grunzi » 19.02.2015, 09:56

Also ich bin zugegeben etwas ernüchtert, da ich mittlerweile herausgefunden habe, dass mein Ansatz aufgrund der sogenannten Same Origin security policy gar nicht funtioniert. Ich kann zwar in einen iframe schreiben, aber nicht lesen, wenn er sich auf eine andere Quelle bezieht.

An folgendem Beispiel (als html-Dokument erstellen) könnt Ihr das auch selber nachvollziehen:

Code: Alles auswählen

<iframe src="http://IP-DER-HOMEMATIC/config/xmlapi/sysvarlist.cgi" name="Ergebnis" style="height:900px"></iframe>

<script> 
document.getElementsByName('Ergebnis')[0].onload = function() {
  try {
    alert(frames[0].location)
  } catch(e) {
    alert("Error: "+e)
  }
}
</script>
Was ich mich jetzt frage, wie kann ich es alternativ lösen, aus einem html-Dokument Systemvariablen abzufragen?

Könnt Ihr mir da einen Tipp geben?

Danke
Roland

erniesesam

Re: HTML-Anwendung zur Steuerung mit XML-API

Beitrag von erniesesam » 19.02.2015, 11:32

die Same-Origin-Policy kannst Du einfach abschalten, und zwar Webserver-Seitig. Deine Scripte, bzw die XML-API muss nur folgenden HTTP-Header mitschicken:
Access-Control-Allow-Origin: *

Grunzi
Beiträge: 68
Registriert: 06.01.2014, 09:31

Re: HTML-Anwendung zur Steuerung mit XML-API

Beitrag von Grunzi » 19.02.2015, 14:26

Kannst Du mir evtl. noch etwas genauer beschreiben, wo ich das einstellen kann. Ich habe keinen Webserver sondern setzte die XML-API-Befehle einfach von einem Browser in einem iframe ab.

Grunzi
Beiträge: 68
Registriert: 06.01.2014, 09:31

Re: HTML-Anwendung zur Steuerung mit XML-API

Beitrag von Grunzi » 20.02.2015, 23:43

Hat niemand eine Idee, wie auch immer ich eine Systemvariable (zum Beispiel mit der XML-API) auslesen und einem HTML-Pgm zur Verfügung stellen kann?

Grunzi
Beiträge: 68
Registriert: 06.01.2014, 09:31

Re: HTML-Anwendung zur Steuerung mit XML-API

Beitrag von Grunzi » 26.02.2015, 20:54

Hallo zusammen,

scheinbar geht es wirklich nicht direkt, PHP-Server auf der NAS ist sicherlich eine Lösung, insbesondere da der schon ab Werk vorinstalliert ist. Da ich von PHP aber noch gar keine Ahnung habe:
Kann mir jemand evtl. ein Beispiel schicken, wie ich das PHP-Skript aussehen muss, um es von JS aus aufzurufen?

Gruß
Roland

meome
Beiträge: 7
Registriert: 02.11.2014, 20:20

Re: HTML-Anwendung zur Steuerung mit XML-API

Beitrag von meome » 30.11.2018, 15:35

Gilt die Antwort eigentlich noch immer? 2018? Oder gibt's inzwischen neue Möglichkeiten?

Ich nutze die CCU3 (3.41.11.20181126) mit XMP-API-Addon (1.20) und würde gern aus aus einer Webseite heraus per Javascript im lokalen Netzwerk Geräte steuern und abfragen.

Steuern mache ich über den "Trick":

Code: Alles auswählen

new Image().src ='http://192.168.178.30/config/xmlapi/statechange.cgi?ise_id=1860&new_value=true';
Aber Auslesen per Javascript geht wirklich nicht? So ganz prinzipiell?

Ich habe es mittlerweile geschafft, per Websockets und iobroker mit der CCU in Echtzeit zu kommunizieren, ich würde aber lieber mit ISE_IDs arbeiten, da ich damit defekte Geräte tauschen kann, ohne gleich alles neu programmieren zu müssen.

Als wenn irgendwer eine Idee hat, wie man per XML-Addon oder auch auf einem anderen Weg direkt per Javascript/HTTP den State eines Gerätes mit ISE_ID=xyz abzufragen und in eine Variable zu speichern, fände ich das extrem genial.

Würde mich über Codebeispiele riesig freuen.

Danke!

Antworten

Zurück zu „Softwareentwicklung von externen Applikationen“