# Сообщения контролера ## Входящие (контроллер->сервер) ### 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": "" // Int, Обязательный параметр // Этаж на который необходимо вызвать лифт "floor": 1, // UUID, Обязательный параметр // Идентификатор пользователя вызывающего лифт "user_id": "" } ``` ### users Сервер присылает сообщение сразу после подключения, а так же каждый раз при измении списка пользователей, имееющих доступ к данной группе лифтов - **type** - `cmd` - **data** - Не *null*. Cписок пользователей, имеющих доступ к данной группе лифтов ```javascript [ { // Идентификатор пользователя, // используется для идентификации пользователя считывателем // UUID, обязательный параметр "user_id": "", // Идентификатор предпочитаемого лифта // String, не обязательный параметр "favorite_lift": "QW12345", // Домашний этаж пользователя // Int, не обязательный параметр "home_floor": 1, // Предпочитаемый этаж лобби // Int, не обязательный параметр "lobby_floor": 0 }, { "user_id": "" "favorite_lift": "QW12345", "home_floor": 4, "lobby_floor": 0, } ] ```