Initial commit
This commit is contained in:
129
WebSocket-ControllerMessages.md
Normal file
129
WebSocket-ControllerMessages.md
Normal file
@@ -0,0 +1,129 @@
|
||||
# Сообщения контролера
|
||||
|
||||
## Входящие (контроллер->сервер)
|
||||
|
||||
### config
|
||||
|
||||
+ **type** - ```config```
|
||||
|
||||
+ **data** - Не *null*
|
||||
|
||||
```javascript
|
||||
{
|
||||
// Список лифтов
|
||||
"lifts":
|
||||
[
|
||||
{
|
||||
"id": "QW12345",
|
||||
"name": "Большой грузовой лифт",
|
||||
// Тип лифта. Может быть одним из следующих значений
|
||||
// - UNIVERSAL
|
||||
// - PASSENGER
|
||||
// - CARGO
|
||||
"type": "CARGO",
|
||||
// Этажи, на которорых лифт может останавливаться
|
||||
"allowed":
|
||||
[
|
||||
-5,-4,-3,-2,-1,
|
||||
0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
|
||||
10,11,12,13,14,15,16,17,18,19,
|
||||
20,21,22
|
||||
],
|
||||
"vip": [23],
|
||||
"lobby": [0],
|
||||
"tech": [10, 20]
|
||||
}
|
||||
],
|
||||
// Список считывателей установленных в группе
|
||||
"readers":
|
||||
[
|
||||
{
|
||||
// Идентификатор считывателя (уникальный для группы)
|
||||
"id": "reader1",
|
||||
// Название
|
||||
"name": "Считыватель в кабине большого грузового лифта",
|
||||
// Расположение считывателя
|
||||
// Возмжные значения:
|
||||
// - ENTRANCE
|
||||
// - PARKING
|
||||
// - LOBBY
|
||||
// - CABIN
|
||||
// Если указан тип CABIN поле lift_id должно быть не null
|
||||
"location": "CABIN",
|
||||
// Идентификатор лифта, в котором установлен считыватель
|
||||
// Значение должно соответствовать одному из значений в списке лифтов
|
||||
"lift_id": "QW12345"
|
||||
},
|
||||
{
|
||||
"id": "reader2",
|
||||
"name": "Считыватель в холе",
|
||||
"location": "HALL"
|
||||
},
|
||||
{
|
||||
"id": "reader3",
|
||||
"name": "Считыватель на парковке",
|
||||
"location": "PARKING"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
## Исходяшие (сервер->контроллер)
|
||||
|
||||
### cmd
|
||||
|
||||
- **type** - `cmd`
|
||||
|
||||
- **data** - Не *null*
|
||||
|
||||
```javascript
|
||||
{
|
||||
// Команда
|
||||
// В данный момент call единственная поддерживаемая команда
|
||||
// Вызывает лифт на указанный этаж
|
||||
"cmd": "call",
|
||||
// String, Обязательный параметр
|
||||
// Идентификатор предпочитаемого лифта
|
||||
"lift_id": "<lift_id>"
|
||||
// Int, Обязательный параметр
|
||||
// Этаж на который необходимо вызвать лифт
|
||||
"floor": 1,
|
||||
// UUID, Обязательный параметр
|
||||
// Идентификатор пользователя вызывающего лифт
|
||||
"user_id": "<user_id>"
|
||||
}
|
||||
```
|
||||
|
||||
### users
|
||||
|
||||
Сервер присылает сообщение сразу после подключения, а так же каждый раз при измении списка пользователей, имееющих доступ к данной группе лифтов
|
||||
|
||||
- **type** - `cmd`
|
||||
|
||||
- **data** - Не *null*. Cписок пользователей, имеющих доступ к данной группе лифтов
|
||||
|
||||
```javascript
|
||||
[
|
||||
{
|
||||
// Идентификатор пользователя,
|
||||
// используется для идентификации пользователя считывателем
|
||||
// UUID, обязательный параметр
|
||||
"user_id": "<user_id>",
|
||||
// Идентификатор предпочитаемого лифта
|
||||
// String, не обязательный параметр
|
||||
"favorite_lift": "QW12345",
|
||||
// Домашний этаж пользователя
|
||||
// Int, не обязательный параметр
|
||||
"home_floor": 1,
|
||||
// Предпочитаемый этаж лобби
|
||||
// Int, не обязательный параметр
|
||||
"lobby_floor": 0
|
||||
},
|
||||
{
|
||||
"user_id": "<user_id>"
|
||||
"favorite_lift": "QW12345",
|
||||
"home_floor": 4,
|
||||
"lobby_floor": 0,
|
||||
}
|
||||
]
|
||||
```
|
||||
Reference in New Issue
Block a user