Каталог О сервисе API Войти
Документация
REST-методы для получения информации об устройствах, управления каналами и чтения данных датчиков. Ниже — сводка эндпойнтов и подробности по каждому.
МетодПутьНазначениеАутентификация
GET/subscription/getDeviceForAnonymousИнформация об устройстве
GET/subscription/getRelayDataСостояния каналов управленияAuthorization
POST/subscription/changeRelayState/{sensorid}Изменение состояния каналаAuthorization
GET/device/{deviceid}/getSensorData/{sensorid}Показания датчикаAuthorization
В заголовке используйте: Authorization: ВАШ_ТОКЕН.
1) Информация об устройстве
GET /subscription/getDeviceForAnonymous?deviceid={id}
Назначение: получить общедоступные сведения об устройстве.
ПараметрГдеТип/форматОписание
deviceidqueryintegerОбязательный. Идентификатор устройства.
Пример запроса:
curl "https://my.robolatoriya.com/subscription/getDeviceForAnonymous?deviceid=123"
Пример на Python:
import requests

response = requests.get("https://my.robolatoriya.com/subscription/getDeviceForAnonymous",
                         params={"deviceid": 123})
print(response.json())
Ответ:
{
  "deviceid":123,
  "name":"Термометр",
  "sensors":[{"sensorid":1,"name":"t"}]
}
2) Состояния каналов управления
GET /subscription/getRelayData?deviceid={id}
Назначение: получить текущие состояния реле и параметров устройства.
ПараметрГдеТип/форматОписание
AuthorizationHeaderстрокаВаш API-токен.
deviceidqueryintegerОбязательный. Идентификатор устройства.
Пример запроса:
curl -H "Authorization: TOKEN" "https://my.robolatoriya.com/subscription/getRelayData?deviceid=123"
Пример на Python:
import requests

headers = {"Authorization": "TOKEN"}
params = {"deviceid": 123}
response = requests.get("https://my.robolatoriya.com/subscription/getRelayData",
                        headers=headers, params=params)
print(response.json())
Ответ:
{
  "relays":[{"sensorid":5,"statusid":1},{"sensorid":6,"statusid":0}]
}
3) Изменить состояние канала
POST /subscription/changeRelayState/{sensorid}
Назначение: установить новое состояние реле или параметра.
ПараметрГдеТип/форматОписание
AuthorizationHeaderстрокаВаш API-токен.
sensoridpathintegerОбязательный. Идентификатор канала.
statusidbodyintegerОбязательный. Новое состояние (0 или 1).
Пример запроса:
curl -H "Authorization: TOKEN" -H "Content-Type: application/json" -d '{"statusid":1}' \
  -X POST "https://my.robolatoriya.com/subscription/changeRelayState/5"
Пример на Python:
import requests

headers = {"Authorization": "TOKEN"}
data = {"statusid": 1}
response = requests.post(
    "https://my.robolatoriya.com/subscription/changeRelayState/5",
    headers=headers, json=data)
print(response.json())
Ответ:
{
  "sensorid":5,
  "statusid":1,
  "result":"ok"
}
4) Показания датчика
GET /device/{deviceid}/getSensorData/{sensorid}?from=ISO&to=ISO&page=1&size=10
Назначение: получить архив данных датчика за период.
ПараметрГдеТип/форматОписание
AuthorizationHeaderстрокаВаш API-токен.
deviceidpathintegerОбязательный. Идентификатор устройства.
sensoridpathintegerОбязательный. Идентификатор датчика.
fromqueryISO8601Начало периода.
toqueryISO8601Конец периода.
pagequeryintegerНомер страницы.
sizequeryintegerКоличество записей на странице.
Пример запроса:
curl -H "Authorization: TOKEN" \
  "https://my.robolatoriya.com/device/10/getSensorData/7?from=2024-01-01T00:00:00Z&to=2024-01-02T00:00:00Z&page=1&size=2"
Пример на Python:
import requests

headers = {"Authorization": "TOKEN"}
params = {
    "from": "2024-01-01T00:00:00Z",
    "to": "2024-01-02T00:00:00Z",
    "page": 1,
    "size": 2
}
response = requests.get(
    "https://my.robolatoriya.com/device/10/getSensorData/7",
    headers=headers, params=params)
print(response.json())
Ответ:
{
  "data":[
    {"timestamp":"2024-01-01T00:00:00Z","value":42.5},
    {"timestamp":"2024-01-01T00:05:00Z","value":43.1}
  ],
  "page":1,
  "size":2
}