Документация
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 }