Документация
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}
Назначение: получить общедоступные сведения об устройстве.
| Параметр | Где | Тип/формат | Описание |
|---|---|---|---|
| deviceid | query | integer | Обязательный. Идентификатор устройства. |
Пример запроса:
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}
Назначение: получить текущие состояния реле и параметров устройства.
| Параметр | Где | Тип/формат | Описание |
|---|---|---|---|
| Authorization | Header | строка | Ваш API-токен. |
| deviceid | query | integer | Обязательный. Идентификатор устройства. |
Пример запроса:
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}
Назначение: установить новое состояние реле или параметра.
| Параметр | Где | Тип/формат | Описание |
|---|---|---|---|
| Authorization | Header | строка | Ваш API-токен. |
| sensorid | path | integer | Обязательный. Идентификатор канала. |
| statusid | body | integer | Обязательный. Новое состояние (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
Назначение: получить архив данных датчика за период.
| Параметр | Где | Тип/формат | Описание |
|---|---|---|---|
| Authorization | Header | строка | Ваш API-токен. |
| deviceid | path | integer | Обязательный. Идентификатор устройства. |
| sensorid | path | integer | Обязательный. Идентификатор датчика. |
| from | query | ISO8601 | Начало периода. |
| to | query | ISO8601 | Конец периода. |
| page | query | integer | Номер страницы. |
| size | query | integer | Количество записей на странице. |
Пример запроса:
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
}