Files
smart-lift-docs/WebSocket-ControllerMessages.md
2024-10-02 10:53:03 +03:00

4.6 KiB

Сообщения контролера

Входящие (контроллер->сервер)

config

  • type - config

  • data - Не null

    {
        // Список лифтов
      "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

    {
        // Команда
        // В данный момент call единственная поддерживаемая команда
        // Вызывает лифт на указанный этаж
        "cmd": "call",
        // String, Обязательный параметр
        // Идентификатор предпочитаемого лифта
        "lift_id": "<lift_id>"
        // Int, Обязательный параметр
        // Этаж на который необходимо вызвать лифт
        "floor": 1,
        // UUID, Обязательный параметр
        // Идентификатор пользователя вызывающего лифт
        "user_id": "<user_id>"
    }
    

users

Сервер присылает сообщение сразу после подключения, а так же каждый раз при измении списка пользователей, имееющих доступ к данной группе лифтов

  • type - cmd

  • data - Не null. Cписок пользователей, имеющих доступ к данной группе лифтов

    [
        {
            // Идентификатор пользователя,
            // используется для идентификации пользователя считывателем
            // 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,
        }
    ]