Vorlage:Abfrage Steuerung XML: Unterschied zwischen den Versionen
Markus (Diskussion | Beiträge) |
Markus (Diskussion | Beiträge) |
||
Zeile 38: | Zeile 38: | ||
===Beispiele zu den Basis-Einträgen=== | ===Beispiele zu den Basis-Einträgen=== | ||
==== I/Os ==== | |||
{{#ifeq:{{{io|1}}}|1| | |||
<pre> | <pre> | ||
<?xml version="1.0"?> | <?xml version="1.0"?> | ||
Zeile 66: | Zeile 68: | ||
Zu beachten ist, das Ausgänge, welche ferngesteuert werden sollen, als"Remote Controlled" konfiguriert sein müssen. | Zu beachten ist, das Ausgänge, welche ferngesteuert werden sollen, als"Remote Controlled" konfiguriert sein müssen. | ||
}} | |||
==== Allgemeine Informationen abfragen ==== | |||
<pre> | <pre> | ||
Zeile 102: | Zeile 105: | ||
</pre> | </pre> | ||
==== eMail versenden==== | |||
<pre> | <pre> | ||
Zeile 135: | Zeile 138: | ||
{{#ifeq:{{{sms|0}}}|1| | {{#ifeq:{{{sms|0}}}|1| | ||
==== SMS versenden ==== | |||
<pre> | <pre> |
Version vom 13. August 2024, 13:44 Uhr
Abfrage und Steuerung über XML Dateien
Format der XML Dateien
Jede Datei beginnt mit dem Header:
<?xml version="1.0"?>
oder
<?xml version="1.0" encoding="UTF-8"?>
Gefolgt von dem Basis-Eintrag. Folgende Basis-Einträge stehen zur Auswahl:
<io> </io> # E/A-System <info> </info> # Allgemeine Informationen abfragen <cmgr ...> </cmgr> # SMS versenden (nur Mobilfunkgeräte) <email ...> </email> # eMail versenden
Alle Daten werden in UTF-8 kodiert. Folgende Zeichen müssen als Sequenzen übertragen werden:
& - & < - < > - > " - " ' - '
Beispiele zu den Basis-Einträgen
I/Os
<?xml version="1.0"?> <io> <output no="1"/> # Zustand von Ausgang 1 abfragen <output no="2" value="on"/> # Ausgang 2 einschalten <input no="1"/> # Zustand von Eingang 1 abfragen </io>
Hinweis: Als "value" kann sowohl on/off als auch 0/1 angegeben werden. Zurückgegeben wird immer on oder off.
Zurückgeliefert wird etwa folgendes:
<?xml version="1.0" encoding="UTF-8"?> <result> <io> <output no="1" value="off"/> # Zustand von Ausgang 1; hier eingeschaltet <output no="2" value="on"/> # Zustand von Ausgang 2; wurde eingeschaltet <input no="1" value="off"/> # Zustand von Eingang 1; hier ausgeschaltet </io> </result>
Zu beachten ist, das Ausgänge, welche ferngesteuert werden sollen, als"Remote Controlled" konfiguriert sein müssen.
Allgemeine Informationen abfragen
<?xml version="1.0"?> <info> <device /> # Gerätedaten abfragen <radio /> # Daten zur Funkverbindung abfragen (nur Mobilfunkgeräte) </info>
Zurückgeliefert wird etwa folgendes:
<?xml version="1.0" encoding="UTF-8"?> <result> <info> <device> <serialno>13120004</serialno> <hardware>A</hardware> <firmware>1.00.4-beta</firmware> <wbm>1.34.8</wbm> <imei>359628040604790</imei> </device> <radio> <provider>Vodafone.de</provider> <rssi>15</rssi> <creg>1</creg> <lac>0579</lac> <ci>26330CD</ci> <packet>0</packet> </radio> </info> </result>
eMail versenden
<?xml version="1.0"?> <email to="x.yz@diesunddas.de" cc="info@andere.de"> <subject>Test Mail</subject> <body> Dies ist ein mehrzeiliger eMail-Text. mfg. ihr Router </body> </email>
Zurückgeliefert wird etwa folgendes:
<?xml version="1.0" encoding="UTF-8"?> <result> <email>done</email> </result>
oder im Fehlerfall:
<?xml version="1.0" encoding="UTF-8"?> <result> <email error="3">transmisson failed</email> </result>
Hinweis zur Darstellung: die Einrückungen und Zeilenumbrüche dienen nur der Verständlichkeit und müssen so nicht gesendet werden, noch werden sie so gesendet. Alle empfangenen Daten sollten mit einem XML-Parser wie z.B. Expat interpretiert werden.
Daten senden und empfangen
Der Kommunikationsablauf ist folgender:
- Verbindung zum Socket-Server aufbauen
- Daten senden
- Zurückgegebene Daten mit XML-Parser interpretieren Verbindung schließen