Ampel - Applikation
Diese Applikation dient zur Steuerung von Ampel Anlagen. Der Fluß der Daten geht vom Steuergerät an die Ampelelemente (AB/CD, Zeit, Ampel, Hupe).
Auf Grund der Echtzeit und Synchronisation wird zur Übertragung nicht Http sondern UDP Multicast verwendet. Die Daten werden dennoch via JSON String übermittelt.
Multicast Adresse: 224.1.2.3\
Port: 10101
## Discover JSON:
```
{
'app': 'amp',
'type': 'cont',
'vers': 1,
'extra': {
'url_left_amp': 'http://ip.des.controllers/amp_left',
'url_right_amp': 'http://ip.des.controllers/amp_right',
'url_double_amp': 'http://ip.des.controllers/amp_doubl',
}
}
```
| Feld | Mögliche Werte | Beschreibung |
| ---- | -------------- | ------------ |
| app | amp | Applikation Ampel |
| type | cont, amp (a), horn (h), time (t), group (g), multi_xxxx | cont = Controller<br>amp = Ampel Modul (RGY)<br>horn = Hupe<br>time = Zeitanzeige<br>group = Gruppe (AB/CD)<br>multi_xxx = Multimodule beinhalten verschiedene oben genannten Module diese werden hinter dem _ aufgelistet Bsp.: _ahtg bedeutet, dass das Modul alle Module ausser dem Controller beinhaltet. |
## JSON Schema:
```
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"amp1": {
"type": "object",
"properties": {
"col": {
"type": "string"
},
"tim": {
"type": "integer"
}
},
"required": [
"col",
"tim"
]
},
"amp2": {
"type": "object",
"properties": {
"col": {
"type": "string"
},
"tim": {
"type": "integer"
}
},
"required": [
"col",
"tim"
]
},
"hor": {
"type": "integer"
},
"ab": {
"type": "integer"
},
"bri": {
"type": "integer"
},
"vol": {
"type": "integer"
}
},
"required": [
"amp1",
"amp2",
"hor",
"ab",
"bri",
"vol"
]
}
```
## Beispieldaten:
```
{
"amp1":{
"col": 'r',
"tim": 120,
},
"amp2":{
"col": 'g',
"tim": 90,
},
"hor": 0,
"ab" : 0,
"bri": 255,
"vol": 255,
}
```
## Felddefinitionen:
| Wert | übergeordnete Node | Mögliche Werte | Beschreibung |
| ---- | ------------------ | -------------- | ------------ |
| amp1 | \- | \- | Alternierend: Objekt der linken Ampel<br>Nicht alternierend, werden beide Ampel Objekte gleich befüllt |
| col | amp1 | r<br>g<br>y<br>b | Rot (r), Grün (g), Gelb (y) oder aus (b) der linken Ampel |
| tim | amp1 | 0-999 | Zeit der linken Ampel |
| amp2 | \- | \- | Alternierend: Objekt der rechten Ampel<br>Nicht alternierend, werden beide Ampel Objekte gleich befüllt |
| col | amp2 | r<br>g<br>y<br>b | Rot (r), Grün (g), Gelb (y) oder aus (b)der rechten Ampel |
| tim | amp2 | 0-999 | Zeit der rechten Ampel |
| hor | \- | 0-9 | Gibt an, wie oft die Hupe ertönen soll. Diese Zahl wird für 1 Zyklus (1 Sekunde) angezeigt |
| ab | \- | 0<br>1<br>2 | 0 = AB/CD abgeschaltet<br>1 = AB Aktiv und wird angezeigt<br>2 = CD Aktiv und wird angezeigt |
| bri | \- | 0-255 | Gibt die Hellgkeit der Anzeigen an |
| vol | \- | 0-255 | Gibt die Lautstärke der Hupe an |