Vorlage:Abfrage Steuerung XML

Aus Comtime Wiki
Version vom 13. August 2024, 13:46 Uhr von Markus (Diskussion | Beiträge) (→‎Abfrage und Steuerung über XML Dateien)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

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