Skip to content

Открытый API для интеграции приборов Vakio в системы умного дома

Notifications You must be signed in to change notification settings

vakio-ru/vakio-public-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 

Repository files navigation

Документация по REST API и MQTT Vakio и интеграциям с умными домами


Подключение прибора

Подключение к локальному серверу c помощью MQTT для интеграции приборов Vakio c системами умного дома
Инструкция по подключению приборов по MQTT.


Управление VakioBaseSmart

Команды для актуальной версии (1.2.1), если они недоступны, обновите прибор

"+" - Ваш топик по умолчанию (vakio/system)

  topic: +/system
  message: 0609

Топик +/system

"+" - Ваш топик по умолчанию (vakio/system)

Команды прибора PUBLISH (исходящие)

Регистрация прибора (Отправляется при каждом подключении)

0601{series:esp32,subtype:"subtype","xtal_freq":"xtal_freq"}
060006versionmacaddress | 0600061.2.1FF:FF:FF:FF:FF
Команды прибора SUBSCRIBE (входящие)

Запустить обновление прибора

0609

Повтор регистрации

0687

Прибор отправит на +/system команды регистрации прибора и сообщение 0685

Сброс к заводским настройкам

0608

Топик +/mode

"+" - Ваш топик по умолчанию (vakio/mode)

Команды прибора PUBLISH/SUBSCRIBE

Включить/Выключить прибор

06000 - Выключить
06001 - Включить

Режим рекуперации

06010 - Рекуперация лето
06011 - Рекуперация зима

Режим приток

06021 - Приток
06022 - Приток MAX

Режим вытяжка

06031 - Вытяжка
06032 - Вытяжка MAX

Режим ночной

06041

Скорость

0650X (X - от 1 до 7)

Топик +/state

"+" - Ваш топик по умолчанию (vakio/state)

Команды прибора PUBLISH/SUBSCRIBE

Управление состояние прибора (Вкл/Выкл)

Команда

on - Включить
0ff - Выключить

Топик +/workmode

"+" - Ваш топик по умолчанию (vakio/workmode)

Команды прибора PUBLISH/SUBSCRIBE

Управление режимом прибора

Команда

inflow - Приток
inflow_max - Приток MAX
recuperator - Рекуперация лето
winter - Рекуперация зима
outflow - Вытяжка
outflow_max - Вытяжка MAX
night - Ночной

Топик +/speed

"+" - Ваш топик по умолчанию (vakio/speed)

Команды прибора PUBLISH/SUBSCRIBE

Управление скоростью прибора

Команда

1-7 (Номер скорости)

Управление Vakioopenair Rev2

Команды для актуальной версии (1.1.0), если они недоступны, обновите прибор

C версии 1.1.0 openair поддерживает команды в json с массивами, так и в формате объектов

"+" - Ваш топик по умолчанию (vakio/system)

Топик: server/+/openair/system
{
  "firmware": [
    {
      "domain": "service.vakio.ru"
    },
    {
      "start": 1
    }
  ]
}

device/+/openair/system | server/+/openair/system

"+" - Ваш топик по умолчанию (vakio/system)

Команды прибора PUBLISH (исходящие)

Топик для получения команд от прибора

device/+/openair/system

Регистрация прибора (Отправляется при каждом подключении)

{
  "type": "auth",
  "auth": {
    "device_mac": "FF:FF:FF:FF:FF",
    "version": "1.1.1"
  },
  "device_subtype": {
    "exchange_type": "json",
    "series": "esp32",
    "subtype": "tmp8015-chip",
    "xtal_freq": "40"
  }
}

Ошибка переохладения (Отправляется при критически низкой температуры платы)

{
  "errors": {
    "shutdown": 1 // 1 - Состояние переохлаждения | 0 - нормальное состояние
  }
}
Команды прибора SUBSCRIBE (входящие)

Топик для отправки команд прибору

server/+/openair/system

Настройка переохлаждения

{
  "shutdown": {
    "limit": 0 // Значение температуры при котором войдет в состояние переохлаждения
  }
}

Сброс настроек

{
  "reset": [
    {
      "wireless": "reset" // Сброс настроек подключения
    },
    {
      "device": "reset" // Сброс параметров режима работы
    },
    {
      "all": "reset" // Полный сброс настроек
    }
  ]
}

Обновление прошивки

{
  "firmware": [
    {
      "domain": "service.vakio.ru"
    },
    {
      "start": 1
    }
  ]
}

Актальная версия прибора (с 1.1.0)

{
  "firmware": {
    "domain": "service.vakio.ru",
    "start": 1
  }
}

device/+/openair/mode | server/+/openair/mode

"+" - Ваш топик по умолчанию (vakio/system)

Команды прибора PUBLISH (исходящие)

Топик для получения команд от прибора

device/+/openair/mode

Рабочий режим capabilities

{
  "capabilities": {
    "mode": "manual", // Режим работы "manual", "super_auto"
    "on_off": "on", // Состояние прибора "on","off"
    "speed": 1, // 0-5
    "gate": 4 // 1 - 4 (4 - полностью открыт)
  }
}

Настройки settings

{
  "settings": {
    "temperature_speed": [20, 5], // Настройка умного режима от ВНУТРЕННОГО датчика, 1 - темпераутра, 2 - скорость
    "emerg_shunt": 10, // Температура при который клапан прекратит работу (Для избежания образования росы на плате)
    "gate": 4 // 1 - 4 (4 - полностью открыт) Положение заслонки в умном режиме от ВНУТРЕННОГО датчика
  }
}
Команды прибора SUBSCRIBE (входящие)

Топик для отправки команд прибору

server/+/openair/mode

Управление прибором

{
  "capabilities": [
    { "speed": 2 },
    { "gate": 4 },
    { "on_off": "on" },
    { "mode": "manual" } // "super_auto"
  ]
}

Актальная версия прибора (с 1.1.0)

{
  "capabilities": {
    "mode": "manual", // Режим работы "manual", "super_auto"
    "on_off": "on", // Состояние прибора "on","off"
    "speed": 1, // 1-5
    "gate": 4 // 1 - 4 (4 - полностью открыт)
  }
}

Настройка прибора

{
  "settings": [
    { "gate": 1 }, // 1-4 Положение заслонки в SMART режиме
    { "smart_speed": 1 }, // 1-5 Скорость в SMART режиме
    { "emerg_shunt": 5 } // Темперура отключения прибора
  ]
}

Актальная версия прибора (с 1.1.0)

{
  "settings": {
    "gate": 1, // 1-4 Положение заслонки в SMART режиме
    "smart_speed": 1, // 1-5 Скорость в SMART режиме
    "emerg_shunt": 5 // Темперура отключения прибора
  }
}

Топик +/state

"+" - Ваш топик по умолчанию (vakio/state)

Команды прибора PUBLISH/SUBSCRIBE

Управление состояние прибора (Вкл/Выкл)

Команда

on - Включить
0ff - Выключить

Топик +/workmode

"+" - Ваш топик по умолчанию (vakio/workmode)

Команды прибора PUBLISH/SUBSCRIBE

Управление режимом прибора

Команда

manual - Ручной режим
super_auto - SMART режим

Топик +/speed

"+" - Ваш топик по умолчанию (vakio/speed)

Команды прибора PUBLISH/SUBSCRIBE

Управление скоростью прибора

Команда

0-5 (Номер скорости)

Топик +/gate

"+" - Ваш топик по умолчанию (vakio/gate)

Команды прибора PUBLISH/SUBSCRIBE

Управление заслонкой прибора

Команда

1-4 (Позиция заслонки)

Топик +/temp

"+" - Ваш топик по умолчанию (vakio/temp)

Команды прибора PUBLISH

Показания внутренного датчика температуры

Пример:
20

Топик +/hud

"+" - Ваш топик по умолчанию (vakio/hud)

Команды прибора PUBLISH

Показания внутренного датчика влажности

Пример:
33

Управление VakioAtmosphere

Команды для актуальной версии (1.0.2), если они недоступны, обновите прибор

"+" - Ваш топик по умолчанию (vakio/system)

  topic: +/system
  message: 0709

Топик +/system

"+" - Ваш топик по умолчанию (vakio/system)

Команды прибора PUBLISH (исходящие)

Регистрация прибора (Отправляется при каждом подключении)

0701{"series":"esp8266","subtype":"subtype","xtal_freq":"xtal_freq"}
070007versionmacaddress | 0700061.2.1FF:FF:FF:FF:FF
Команды прибора SUBSCRIBE (входящие)

Запустить обновление прибора

0709

Вкл/Выкл светодиодов

0732X (X - 0/1)

Ротация дисплея

0731X (X - 0/1)

Выбор режима подсветки

0727x (X - 0-1)
0 - ручная настройка яркости подсветки
1 - яркость подсветки зависит от освещенности

Яркость подсветки в ручном режиме

0727x (X - 000-100) 3 символа

Сброс настроек

0708

Проверка онлайна

0787

Топик +/temp

"+" - Ваш топик по умолчанию (vakio/temp)

Команды прибора PUBLISH

Показания внутренного датчика температуры

Пример:
20

Топик +/hud

"+" - Ваш топик по умолчанию (vakio/hud)

Команды прибора PUBLISH

Показания внутренного датчика влажности

Пример:
33

Топик +/co2

"+" - Ваш топик по умолчанию (vakio/hud)

Команды прибора PUBLISH

Показания внутренного датчика CO2

Пример:
1000

Управление VakioCityair

Команды для актуальной версии, если они недоступны, обновите прибор.
Для данного прибора формирование топиков происходит по следующей схеме:
+/+/..
"+" - последние 2 байта мас адреса устройства
"+" - ваш топик (по умолчанию cityair)
.. - изменяемая часть

Топик +/+/lwt

При отключении прибора от серверу происходит публикация сообщения "Offline"

Топик на подписку +/+/system

При получении прибором команды "GET" на сервер отправляются все настройки устройства

Топик на публикацию +/+/log

При каждом подключении прибора к серверу происходит публикация сообщения версии прибора, mac адреса прибора, ip прибора

Топик на подписку +/+/state/set
Топик на публикацию +/+/state

Команды вкл/выкл прибора: "on"/"off"

Топик на подписку +/+/ten_state/set
Топик на публикацию +/+/ten_state

Команды вкл/выкл тена прибора: "on"/"off"

Топик на подписку +/+/damper_state/set
Топик на публикацию +/+/damper_state

Команды использования/не использования заслонки: "on"/"off"

Топик на подписку +/+/target_temp/set
Топик на публикацию +/+/target_temp

Команды целевой температуры тена: 10..25 (в градусах)

Топик на подписку +/+/target_speed/set
Топик на публикацию +/+/target_speed

Команды целевой скорости вентилятора: 1..7

Топик на публикацию +/+/speed

Команды скорости вентилятора: 0..100 (в процентах)

Топик на публикацию +/+/in_temp

Команды температуры датчика температуры на входе: -55..+125 (в градусах)

Топик на публикацию +/+/out_temp

Команды температуры датчика температуры на выходе: -55..+125 (в градусах)

Топик на публикацию +/+/damper

Команды положения заслонки: "closed", "opened", "opens", "closes"

Топик на публикацию +/+/filter

Команды фильтра наработки моточасов (в часах)

Топик на публикацию +/+/odometer

Команды фильтра наработки часов (в часах)

Топик на публикацию +/+/error

Команды ошибок прибора: "temp_hot", "temp_cold", "stop_hot", "stop_cold", "ds18_bus", "ds18_lack", "no"

Топик на подписку +/+/reset_error

Команда сброса ошибок прибора: любое значение

Топик на подписку +/+/reset_filter

Команда сброса фильтра: любое значение

Топик на подписку +/+/update

Команда обновления прошивки прибора: любое значение


REST API ()

Открытый API для интеграции приборов Vakio c системами умного дома (для работы прибору необходим доступ к интернету)

Регистрация

  1. Загрузите приложение Vakio Smart Control с App Store или Google Play.
  2. Зарегистрируйтесь и подтвердите Email.
  3. Отправьте письмо на почту developer@vakio.ru с пометкой "Регистрация индивидуального API", в тексте укажите Email, имя и номер телeфона, которые относятся к этому аккаунту.
  4. Мы вышлем вам данные для авторизации.

Получение токена для авторизации с помощью пароля

Адрес

POST https://api.vakio.ru/oauth/token

Заголовки

'Content-Type': 'application/json'

Тело

{
  "client_id": "<client_id>",
  "client_secret": "<client_secret>",
  "grant_type": "password",
  "username": "<you email>",
  "password": "<your password, not SHA1ed>"
}

Получение Refresh токена

Адрес

POST https://api.vakio.ru/oauth/token

Заголовки

'Content-Type': 'application/json'

Тело

{
  "client_id": "<client_id>",
  "client_secret": "<client_secret>",
  "grant_type": "refresh_token",
  "refresh_token": "<you refresh_token>"
}

Успешный ответ

{
  "access_token": "f33e31633a2d70c29ef13adef639c36dc1445a93",
  "expires_in": 86400,
  "token_type": "Bearer",
  "scope": null,
  "refresh_token": "24bbee6297ee59d3b25e145da758cdf2b6504f39f"
}

Получение данных о приборах

Получение данных обо всех устройствах пользователя

Адрес

GET https://api.vakio.ru/devices

Заголовки

'Content-Type': 'application/json'
'Authorization': 'Bearer <token>'

Успешный ответ

{
    "code": 200,
    "content": [
        {
            "id": 19,
            "device_name": "Мой прибор 1",
            "device_type": {
                "name": "Vakio Plus Series",
                "slug": "vakio-window-plus",
                "image": "https://connect.vakio.ru/wp-content/uploads/vakio-window-plus.jpg",
            },
            "device_group": "кухня",
            "capabilities": {
                "on_off": "off",
                "mode": "inflow",
                "speed": "5"
            },
            "properties": {
                *// Для устройств с датчиками (Atmosphere, Openair и др.)*
                "humidity": 24,
                "temperature": 345
            },
            "relation": {
                            "on_off_dependence":"<on/off>",
                            *// Для Atmosphere*
                            "dependence":{
                                "mode":"<inflow/outflow/recuperator>",
                                "device_id_master":"<device_id_master>",
                                "min_value":"<device_id_master>",
                                "step":"<device_id_master>",
                                "parametr":"<co2/temp/hud>"
                            }
                            *// Для Base Smart*
                            "dependence":{
                                "mode":"<sync/async>",
                                "device_id_master":"<device_id_master>",
                            }
                        },
            "verified": 1,
            "device_type_id": 2
        }
    ]
}

Получение данных об устройстве пользователя

Адрес

POST https://api.vakio.ru/devices/{DEVICE_ID}

Заголовки

'Content-Type': 'application/json',
'Authorization': 'Bearer <token>',

Успешный ответ

см. Получение данных обо всех устройствах пользователя

Управление basesmart

Смена режима/ скорости работы Base Smart

Адрес

PUT https://api.vakio.ru/devices/{DEVICE_ID}

Заголовки

'Content-Type': 'application/json',
'Authorization': 'Bearer <token>',
},

Тело

{
  "capabilities": [
    {
      "instance": "mode",
      "value": "inflow"
    },
    {
      "instance": "speed",
      "value": "3"
    },
    {
      "instance": "on_off",
      "value": "on"
    }
  ]
}

Успешный ответ

{
  "code": 200,
  "content": "updated"
}

Отправка одного параметра

{
  "capabilities": [
    {
      "instance": "mode",
      "value": "inflow"
    }
  ]
}

Типы данных

  1. Режимы Base Smart

    "inflow" - Приток

    "outflow" - Вытяжка

    "recuperator" - Рекуперация

    "inflow_max" - Максимальный приток

    "outflow_max" - Максимальная вытяжка

    "night" - Ночной режим

  2. Скорости Base Smart -

    1 - 7

  3. Вкл/ выкл Base Smart

    "on"/ "off"

Управление OpenAir

Смена режима/положения заслонки/скорости работы OpenAir

Адрес

PUT https://api.vakio.ru/devices/{DEVICE_ID}

Заголовки

'Content-Type': 'application/json',
'Authorization': 'Bearer <token>',

Тело

{
  "capabilities": [
    {
      "instance": "mode",
      "value": "manual"
    },
    {
      "instance": "speed",
      "value": "3"
    },
    {
      "instance": "gate",
      "value": "1"
    },
    {
      "instance": "on_off",
      "value": "on"
    }
  ]
}

Успешный ответ

{
  "code": 200,
  "device": {
    // Информация об изменённом устройстве
  }
}

Отправка одного параметра

{
  "capabilities": [
    {
      "instance": "mode",
      "value": "manual"
    }
  ]
}

Типы данных

  1. Режимы Openair

    "manual" - Режим ручного управления

    "smart_auto" - Smart-режим

  2. Скорости Openair

    0 - 5

  3. Положение заслонки Openair (доступно не на всех устройствах)

    1 - 4

    *доступно не на всех устройствах.

    **изменение положения заслонки не работает, если значение скорости больше 0.

  4. Вкл/выкл Openair

    "on"/ "off"

About

Открытый API для интеграции приборов Vakio в системы умного дома

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published