EVENTDISTR: Unterschied zwischen den Versionen

Aus Stratum 0
Wechseln zu:Navigation, Suche
K (fix heading)
(Event=Wert (reverse-)spezifiziert)
Zeile 11: Zeile 11:
 
| 10 || <tt>v</tt> || Trennzeichen
 
| 10 || <tt>v</tt> || Trennzeichen
 
|-
 
|-
| 11 || Protokollversion || Zur Zeit wird Version 1 eingesetzt: <tt>ord("1")</tt> == 49
+
| 11 || Protokollversion || Zur Zeit wird nur Version 1 eingesetzt: ASCII "<tt>1</tt>" == 49 == 0x31
 
|-
 
|-
 
| 12 || <tt>;</tt> || Trennzeichen
 
| 12 || <tt>;</tt> || Trennzeichen
 
|-
 
|-
| 13-… || Event-Informationen || siehe unten. Dieser Teil des Paketes darf eine maximale Länge von 100 Byte nicht überschreiten! (Andernfalls wird gebeten, RFC 3514 zu beachten.)
+
| 13-… || <tt><i>Event</i>=<i>Wert</i></tt> || Name des Events, optional gefolgt von einem Trennzeichen (ASCII "<tt>=</tt>" == 61 == 0x3D) und einem zusätzlichem Wert. Dieser Teil des Paketes darf eine maximale Länge von 100 Byte nicht überschreiten! (Andernfalls wird gebeten, RFC 3514 zu beachten.)
 
|}
 
|}
  
Zeile 22: Zeile 22:
  
 
=== DingDong ===
 
=== DingDong ===
Die Klingel an einer der beiden Haustüren wurde betätigt. Wird vom [[Doorbell Extender]] im Frickelraum verarbeitet. Hinter dem Namen des Events kann <tt>=RISING</tt> oder <tt>=FALLING</tt> angehängt werden, um die steigende oder fallende Flanke zu kennzeichnen.
+
Die Klingel an einer der beiden Haustüren wurde betätigt. Wird vom [[Doorbell Extender]] im Frickelraum verarbeitet. Das Event kann optional die Werte <tt>RISING</tt> oder <tt>FALLING</tt> annehmen, um die steigende oder fallende Flanke zu kennzeichnen.
  
 
Beispiel:
 
Beispiel:
Zeile 29: Zeile 29:
  
 
=== DoorUnten ===
 
=== DoorUnten ===
Der Türoffnungsknopf am Doorbell Extender wurde betätigt. Wird vom [[Doorbell Extender]] an der Tür oben verarbeitet. Hinter dem Event-Namen kann <tt>=RISING</tt> oder <tt>=FALLING</tt> angehängt werden, um die steigende oder fallende Flanke zu kennzeichnen.
+
Der Türoffnungsknopf am Doorbell Extender wurde betätigt. Wird vom [[Doorbell Extender]] an der Tür oben verarbeitet. Das Event kann optional die Werte <tt>RISING</tt> oder <tt>FALLING</tt> annehmen, um die steigende oder fallende Flanke zu kennzeichnen.
  
 
Beispiel:
 
Beispiel:
Zeile 36: Zeile 36:
  
 
=== SpaceOpened ===
 
=== SpaceOpened ===
Wird vom [[statusberry]] gesendet, wenn der Space-Öffnungsstatus auf „offen“ gesetzt wird.
+
Wird vom [[statusberry]] gesendet, wenn der Space-Öffnungsstatus auf „offen“ gesetzt wird. Es wird kein Wert gesendet.
  
 
Beispiel:  
 
Beispiel:  
Zeile 43: Zeile 43:
  
 
=== SpaceClosed ===
 
=== SpaceClosed ===
Wird vom [[statusberry]] gesendet, wenn der Space-Öffnungsstatus auf „geschlossen“ gesetzt wird.
+
Wird vom [[statusberry]] gesendet, wenn der Space-Öffnungsstatus auf „geschlossen“ gesetzt wird. Es wird kein Wert gesendet.
  
 
Beispiel:  
 
Beispiel:  

Version vom 29. Mai 2013, 17:19 Uhr

Im Space gibt es ein standardisiertes Protokoll, wie Events über das Netzwerk verteilt werden. Das Protokoll baut auf UDP auf und benutzt Port 31337. Die Pakete können sowohl als Unicast als auch als Broadcast oder Multicast gesendet werden.

Der Payload der UDP-Pakete hat folgenden Aufbau:

Beispiel-Paket in Wireshark
Offset (Byte) Inhalt Bemerkung
0 EVENTDISTR Magic String zur Erkennung des Protokolls
10 v Trennzeichen
11 Protokollversion Zur Zeit wird nur Version 1 eingesetzt: ASCII "1" == 49 == 0x31
12 ; Trennzeichen
13-… Event=Wert Name des Events, optional gefolgt von einem Trennzeichen (ASCII "=" == 61 == 0x3D) und einem zusätzlichem Wert. Dieser Teil des Paketes darf eine maximale Länge von 100 Byte nicht überschreiten! (Andernfalls wird gebeten, RFC 3514 zu beachten.)

Events

Es folgt eine vollständige Auflistung der zur Zeit verwendeten Events.

DingDong

Die Klingel an einer der beiden Haustüren wurde betätigt. Wird vom Doorbell Extender im Frickelraum verarbeitet. Das Event kann optional die Werte RISING oder FALLING annehmen, um die steigende oder fallende Flanke zu kennzeichnen.

Beispiel:

0000000: 4556 454e 5444 4953 5452 7631 3b44 696e  EVENTDISTRv1;Din
0000010: 6744 6f6e 673d 5249 5349 4e47            gDong=RISING

DoorUnten

Der Türoffnungsknopf am Doorbell Extender wurde betätigt. Wird vom Doorbell Extender an der Tür oben verarbeitet. Das Event kann optional die Werte RISING oder FALLING annehmen, um die steigende oder fallende Flanke zu kennzeichnen.

Beispiel:

0000   4556 454e 5444 4953 5452 7631 3b44 6f6f    EVENTDISTRv1;Doo
0010   7255 6e74 656e 3d52 4953 494e 47           rUnten=RISING

SpaceOpened

Wird vom statusberry gesendet, wenn der Space-Öffnungsstatus auf „offen“ gesetzt wird. Es wird kein Wert gesendet.

Beispiel:

0000000: 4556 454e 5444 4953 5452 7631 3b53 7061  EVENTDISTRv1;Spa
0000010: 6365 4f70 656e 6564                      ceOpened

SpaceClosed

Wird vom statusberry gesendet, wenn der Space-Öffnungsstatus auf „geschlossen“ gesetzt wird. Es wird kein Wert gesendet.

Beispiel:

0000000: 4556 454e 5444 4953 5452 7631 3b53 7061  EVENTDISTRv1;Spa
0000010: 6365 436c 6f73 6564                      ceClosed