Telegramm: Unterschied zwischen den Versionen

Aus homeautomation.x-api.de
Wechseln zu: Navigation, Suche
K (Übersicht (Struktur))
K
Zeile 7: Zeile 7:
 
* dass nicht benötigte Elemente einfach leer bleiben können.
 
* dass nicht benötigte Elemente einfach leer bleiben können.
  
Mit Blick auf eine möglichst flexible inhaltliche Nutzung und die einfache Lesbarkeit wurden die Telegramme als Folge von Textzeichen (UTF-8) definiert und die Separation der verschiedenen Inhalte über spezielle Textzeichen (Doppelpunkt ''':''' und Semikolon ''';''') vorgenommen. Daraus ergab sich folgende Struktur
+
Mit Blick auf eine möglichst flexible inhaltliche Nutzung und die einfache Lesbarkeit wurden die Telegramme als Folge von Textzeichen (UTF-8) definiert und die Separation der verschiedenen Inhalte über spezielle Textzeichen (Doppelpunkt ''':''' und Semikolon ''';''', im Folgenden als Steuerzeichen bezeichnet) vorgenommen. Daraus ergab sich folgende Struktur
  
  Kopf1''':'''Kopf2''':''' .... KopfN''':'''Info1''';'''Info2''';''' .... InfoM'''::'''
+
  Kopf0''':'''Kopf1''':''' .... KopfN''':'''Info0''';'''Info1''';''' .... InfoM'''::'''
  
Damit sind die Zeichen ''':''' und ''';''' in den Inhalten (Kopf, Info) nicht zulässig, sie würden zu Fehlinterpretationen führen. Aus diesem Grund wird die Anzahl der Inhalte/Felder entweder fest vorgegeben oder über eine Regel in den Inhalten definiert. Telegramme mit einer unzulässigen Anzahl von ''':''' und ''';''' werden verworfen.
+
Damit sind die Steuerzeichen ''':''' und ''';''' in den Inhalten (Kopf, Info) nicht zulässig, sie würden zu Fehlinterpretationen führen. Aus diesem Grund wird die Anzahl der Inhalte/Felder entweder fest vorgegeben oder über eine Regel in den Inhalten definiert. Telegramme mit einer unzulässigen Anzahl von ''':''' und ''';''' werden verworfen.
 +
 
 +
Aufeinander folgende Steuerzeichen kennzeichnen ein leeres Feld. Es kann Twitter mit beliebigen Leerfeldern geben. Der Abschluss des Telegramms mit zwei aufeinander folgenden Doppelpunkten ist kein Leerfeld (gehört nicht zum Kopfteil des Telegramms), sondern dient dazu, auch mehrere Telegramme in einem physikalisch übertragenen Datensatz aneinander hängen zu können.
 +
 
 +
= Kopfteil =
 +
Die einzelnen Elemente des Kopfteils sind folgendermaßen spezifiziert:
 +
 
 +
{| class="wikitable"
 +
| Index || Vorgabe || Bedeutung
 +
|-
 +
| 0 || N10 || Kennzeichnung der Telegrammart (historisch)
 +
|-
 +
| 1 || XX-XX-XX-XX-XX-XX || MAC-Adresse des Gerätes (XX = zweistellig Hex)
 +
|-
 +
| 2 || DDD.DDD.DDD.DDD || IP-Adresse des Gerätes (DDD = ein- bis dreistellig Dezimal)
 +
|-
 +
| 3 || 53 || Kennzeichnung der Telegrammfunktion (historisch)
 +
|-
 +
| 4 || Handle || Dezimalzahl, kennzeichnet Objekt (Reserve)
 +
|-
 +
| 5 || Objektname || Bezeichnung des Inhaltes (max. 32 Zeichen)
 +
|-
 +
| 6 || Index || Dezimalzahl, kennzeichnet Listenobjekt (Reserve)
 +
|}
 +
 
 +
Die Felder Kopf4 und Kopf6 werden hier bei der dezentralen Heimautomatisierung (noch) nicht ausgewertet. Sie sollen als Reserve für spätere Anwendungen mit dem Wert 0 belegt werden (nicht als Leerfeld).
 +
 
 +
Es wird aktuell an der Standardisierung der Objektnamen gearbeitet. Für den Laborbetrieb werden diese zur Zeit unter den Studenten abgestimmt.

Version vom 4. November 2017, 15:43 Uhr

Auf dieser Seite wird die Gestaltung der über Rundruf versendeten Telegramme (Botschaften, Nachrichten, etc.) erläutert. Die Einhaltung dieser Festlegungen garantiert, dass ein Follower (Folgender, Zuhörer, Lauscher, etc.) alle Twitter (Zwitschernde, Redende, Informierende, etc.) versteht und Geräte einfach, in der Regel ohne weitere Installationsmaßnahmen, in das Netzwerk integriert werden können.

Übersicht (Struktur)

Die Telegramme wurden mit Blick auf die typische Internet- bzw. Intranet-Kommunikation festgelegt. Als Randbedingung wurde berücksichtigt,

  • dass das beim Rundruf verwendete UDP eine maximale Telegrammlänge von 1460 Zeichen nahelegt,
  • dass wegen der Nutzung in heterogenen Netzen für die Verteilung (Routing) geeignete Informationen (z.B. MAC-Adresse und IP-Adresse) enthalten sind und
  • dass nicht benötigte Elemente einfach leer bleiben können.

Mit Blick auf eine möglichst flexible inhaltliche Nutzung und die einfache Lesbarkeit wurden die Telegramme als Folge von Textzeichen (UTF-8) definiert und die Separation der verschiedenen Inhalte über spezielle Textzeichen (Doppelpunkt : und Semikolon ;, im Folgenden als Steuerzeichen bezeichnet) vorgenommen. Daraus ergab sich folgende Struktur

Kopf0:Kopf1: .... KopfN:Info0;Info1; .... InfoM::

Damit sind die Steuerzeichen : und ; in den Inhalten (Kopf, Info) nicht zulässig, sie würden zu Fehlinterpretationen führen. Aus diesem Grund wird die Anzahl der Inhalte/Felder entweder fest vorgegeben oder über eine Regel in den Inhalten definiert. Telegramme mit einer unzulässigen Anzahl von : und ; werden verworfen.

Aufeinander folgende Steuerzeichen kennzeichnen ein leeres Feld. Es kann Twitter mit beliebigen Leerfeldern geben. Der Abschluss des Telegramms mit zwei aufeinander folgenden Doppelpunkten ist kein Leerfeld (gehört nicht zum Kopfteil des Telegramms), sondern dient dazu, auch mehrere Telegramme in einem physikalisch übertragenen Datensatz aneinander hängen zu können.

Kopfteil

Die einzelnen Elemente des Kopfteils sind folgendermaßen spezifiziert:

Index Vorgabe Bedeutung
0 N10 Kennzeichnung der Telegrammart (historisch)
1 XX-XX-XX-XX-XX-XX MAC-Adresse des Gerätes (XX = zweistellig Hex)
2 DDD.DDD.DDD.DDD IP-Adresse des Gerätes (DDD = ein- bis dreistellig Dezimal)
3 53 Kennzeichnung der Telegrammfunktion (historisch)
4 Handle Dezimalzahl, kennzeichnet Objekt (Reserve)
5 Objektname Bezeichnung des Inhaltes (max. 32 Zeichen)
6 Index Dezimalzahl, kennzeichnet Listenobjekt (Reserve)

Die Felder Kopf4 und Kopf6 werden hier bei der dezentralen Heimautomatisierung (noch) nicht ausgewertet. Sie sollen als Reserve für spätere Anwendungen mit dem Wert 0 belegt werden (nicht als Leerfeld).

Es wird aktuell an der Standardisierung der Objektnamen gearbeitet. Für den Laborbetrieb werden diese zur Zeit unter den Studenten abgestimmt.