Vorlage:Abfrage Steuerung XML: Unterschied zwischen den Versionen
Markus (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „==Abfrage und Steuerung über XML Dateien== ===Format der XML Dateien=== Jede Datei beginnt mit dem Header: <pre> <?xml version="1.0"?> </pre> oder <pre> <…“) |
Markus (Diskussion | Beiträge) |
||
Zeile 133: | Zeile 133: | ||
</result> | </result> | ||
</pre> | </pre> | ||
{{#ifeq:{{{sms|0}}}|1| | |||
'''d) SMS versenden''' | |||
<pre> | |||
<?xml version="1.0"?> | |||
<cmgs destaddr="0123456789">Dies ist der SMS-Text</cmgs> | |||
</pre> | |||
Zurückgeliefert wird etwa folgendes: | |||
<pre> | |||
<?xml version="1.0" encoding="UTF-8"?> | |||
<result> | |||
<cmgs length="98">SMS accepted</cmgs> | |||
</result> | |||
</pre> | |||
}} | |||
Hinweis zur Darstellung: die Einrückungen und Zeilenumbrüche | Hinweis zur Darstellung: die Einrückungen und Zeilenumbrüche |
Version vom 13. August 2024, 07:41 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
a) E/A System
<?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.
b) 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>
c) 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