Раздел API
Датчики и счётчики
Модуль «Датчики и счётчики»: холодильные контроллеры, ИБП, счётчики электроэнергии, датчики Zigbee и ПЛК по OPC UA (Modbus RTU/TCP, SNMP, Меркурий, Zigbee, OPC UA). Последние значения и тревоги, опрос по запросу, журнал за период и CSV для проверяющих, запись уставок и реле, SNMP-трапы. Настройка устройств — на странице агента (вкладка «Датчики»); нужен модуль sensors в ключе (кроме эмулятора).
Modbus RTU/TCP, SNMP, Меркурий, Zigbee, OPC UA: значения, журнал, тревоги
| POST | /api/v1/sensors/{id}/poll | Опросить сейчас |
| POST | /api/v1/sensors/{id}/points/{point} | Записать значение точки |
| GET | /api/v1/sensors | Устройства и последние значения |
| GET | /api/v1/sensors/{id} | Устройство и его значения |
| GET | /api/v1/sensors/traps | Последние SNMP-трапы |
| GET | /api/v1/sensors/profiles | Профили устройств |
| GET | /api/v1/sensors/journal.csv | Журнал для Excel и проверяющих (CSV) |
| GET | /api/v1/sensors/history | Журнал значений |
Опросить сейчас#
/api/v1/sensors/{id}/pollНе дожидаясь интервала; ответ — свежие значения
Параметры
| Имя | Где | Тип | Описание |
|---|---|---|---|
idобязательный | path | string |
Ответ 200 application/json
Поля · DeviceView
deviceSensorDevice22 поля · SensorDevice
idstringnamestringprotocolstringprofilestringportstringbaudRateinteger int32paritystringstopBitsinteger int32hoststringtcpPortinteger int32modestringunitinteger int32communitystringsnmpVersionstringpasswordstringintervalSecinteger int32timeoutMsinteger int32alarmDelaySecinteger int32enabledbooleanpointsмассив Point16 полей · Point
idstringnamestringtablestringaddressinteger int32typestringwordOrderstringbitinteger int32scalenumber doubleoffsetnumber doubleunitstringwritablebooleanminnumber doublemaxnumber doubleoidstringparamstringlogboolean
usernamestringnumberinteger int32
profileNamestringstatusstringerrorstringlastOkstringlastPollstringreadingsмассив Reading10 полей · Reading
pointstringnamestringvaluenumber doubletextstringunitstringatstringalarmstringminnumber doublemaxnumber doublewritableboolean
alarmsinteger int32zigbeeZigbeeView4 поля · ZigbeeView
statestringcoordinatorstringpermitJoinLeftinteger int32nodesмассив Node6 полей · Node
ieeestringnwkinteger int32manufacturerstringmodelstringendpointsсловарь → массив integer int32joinedAtstring
detailstring
Ошибки — problem+json с полем code, см. коды ошибок.
Пример запроса
curl -X POST 'http://localhost:7790/api/v1/sensors/3f6c1d9e-1b2a-4c55-9e0d-6a1f0c2b7d11/poll'curl -X POST 'https://cloud.hw-connector.ru/agent/api/v1/sensors/3f6c1d9e-1b2a-4c55-9e0d-6a1f0c2b7d11/poll' \
-H 'X-Api-Key: hwk_…' \
-H 'X-Device-Id: 42'Записать значение точки#
/api/v1/sensors/{id}/points/{point}Только точки с writable: true (уставка, реле Zigbee вкл/выкл — 1/0). Без модуля — 402 LICENSE_REQUIRED
Параметры
| Имя | Где | Тип | Описание |
|---|---|---|---|
idобязательный | path | string | |
pointобязательный | path | string |
Тело запроса application/json обязательное
Поля · WriteRequest
valuenumber double
{
"value": 1.5
}Ответ 200 application/json
Поля · Reading
pointstringnamestringvaluenumber doubletextstringunitstringatstringalarmstringminnumber doublemaxnumber doublewritableboolean
Ошибки — problem+json с полем code, см. коды ошибок.
Пример запроса
curl -X POST 'http://localhost:7790/api/v1/sensors/3f6c1d9e-1b2a-4c55-9e0d-6a1f0c2b7d11/points/3f6c1d9e-1b2a-4c55-9e0d-6a1f0c2b7d11' \
-H 'Content-Type: application/json' \
--data '{"value":1.5}'curl -X POST 'https://cloud.hw-connector.ru/agent/api/v1/sensors/3f6c1d9e-1b2a-4c55-9e0d-6a1f0c2b7d11/points/3f6c1d9e-1b2a-4c55-9e0d-6a1f0c2b7d11' \
-H 'X-Api-Key: hwk_…' \
-H 'X-Device-Id: 42' \
-H 'Content-Type: application/json' \
--data '{"value":1.5}'Устройства и последние значения#
/api/v1/sensorsКаждое устройство: состояние опроса, точки с последним значением, тревоги (alarm: high/low)
Ответ 200 application/json
Поля · SensorList
licensedbooleandevicesмассив DeviceView10 полей · DeviceView
deviceSensorDevice22 поля · SensorDevice
idstringnamestringprotocolstringprofilestringportstringbaudRateinteger int32paritystringstopBitsinteger int32hoststringtcpPortinteger int32modestringunitinteger int32communitystringsnmpVersionstringpasswordstringintervalSecinteger int32timeoutMsinteger int32alarmDelaySecinteger int32enabledbooleanpointsмассив Point16 полей · Point
idstringnamestringtablestringaddressinteger int32typestringwordOrderstringbitinteger int32scalenumber doubleoffsetnumber doubleunitstringwritablebooleanminnumber doublemaxnumber doubleoidstringparamstringlogboolean
usernamestringnumberinteger int32
profileNamestringstatusstringerrorstringlastOkstringlastPollstringreadingsмассив Reading10 полей · Reading
pointstringnamestringvaluenumber doubletextstringunitstringatstringalarmstringminnumber doublemaxnumber doublewritableboolean
alarmsinteger int32zigbeeZigbeeView4 поля · ZigbeeView
statestringcoordinatorstringpermitJoinLeftinteger int32nodesмассив Node6 полей · Node
ieeestringnwkinteger int32manufacturerstringmodelstringendpointsсловарь → массив integer int32joinedAtstring
detailstring
Ошибки — problem+json с полем code, см. коды ошибок.
Пример запроса
curl 'http://localhost:7790/api/v1/sensors'curl 'https://cloud.hw-connector.ru/agent/api/v1/sensors' \
-H 'X-Api-Key: hwk_…' \
-H 'X-Device-Id: 42'Устройство и его значения#
/api/v1/sensors/{id}Параметры
| Имя | Где | Тип | Описание |
|---|---|---|---|
idобязательный | path | string |
Ответ 200 application/json
Поля · DeviceView
deviceSensorDevice22 поля · SensorDevice
idstringnamestringprotocolstringprofilestringportstringbaudRateinteger int32paritystringstopBitsinteger int32hoststringtcpPortinteger int32modestringunitinteger int32communitystringsnmpVersionstringpasswordstringintervalSecinteger int32timeoutMsinteger int32alarmDelaySecinteger int32enabledbooleanpointsмассив Point16 полей · Point
idstringnamestringtablestringaddressinteger int32typestringwordOrderstringbitinteger int32scalenumber doubleoffsetnumber doubleunitstringwritablebooleanminnumber doublemaxnumber doubleoidstringparamstringlogboolean
usernamestringnumberinteger int32
profileNamestringstatusstringerrorstringlastOkstringlastPollstringreadingsмассив Reading10 полей · Reading
pointstringnamestringvaluenumber doubletextstringunitstringatstringalarmstringminnumber doublemaxnumber doublewritableboolean
alarmsinteger int32zigbeeZigbeeView4 поля · ZigbeeView
statestringcoordinatorstringpermitJoinLeftinteger int32nodesмассив Node6 полей · Node
ieeestringnwkinteger int32manufacturerstringmodelstringendpointsсловарь → массив integer int32joinedAtstring
detailstring
Ошибки — problem+json с полем code, см. коды ошибок.
Пример запроса
curl 'http://localhost:7790/api/v1/sensors/3f6c1d9e-1b2a-4c55-9e0d-6a1f0c2b7d11'curl 'https://cloud.hw-connector.ru/agent/api/v1/sensors/3f6c1d9e-1b2a-4c55-9e0d-6a1f0c2b7d11' \
-H 'X-Api-Key: hwk_…' \
-H 'X-Device-Id: 42'Последние SNMP-трапы#
/api/v1/sensors/trapsДо 50, новые первыми; приём включается настройкой trapPort
Ответ 200 application/json
Тип: массив словарь → любое значение
Ошибки — problem+json с полем code, см. коды ошибок.
Пример запроса
curl 'http://localhost:7790/api/v1/sensors/traps'curl 'https://cloud.hw-connector.ru/agent/api/v1/sensors/traps' \
-H 'X-Api-Key: hwk_…' \
-H 'X-Device-Id: 42'Профили устройств#
/api/v1/sensors/profilesВстроенные карты регистров и OID, и свои из data/sensors/profiles
Ответ 200 application/json
Массив · SensorProfile
idstringnamestringvendorstringkindstringprotocolstringbaudRateinteger int32paritystringstopBitsinteger int32unitinteger int32notestringpointsмассив Point16 полей · Point
idstringnamestringtablestringaddressinteger int32typestringwordOrderstringbitinteger int32scalenumber doubleoffsetnumber doubleunitstringwritablebooleanminnumber doublemaxnumber doubleoidstringparamstringlogboolean
customboolean
Ошибки — problem+json с полем code, см. коды ошибок.
Пример запроса
curl 'http://localhost:7790/api/v1/sensors/profiles'curl 'https://cloud.hw-connector.ru/agent/api/v1/sensors/profiles' \
-H 'X-Api-Key: hwk_…' \
-H 'X-Device-Id: 42'Журнал для Excel и проверяющих (CSV)#
/api/v1/sensors/journal.csvРазделитель «;», дробная часть через запятую; по умолчанию — текущий месяц
Параметры
| Имя | Где | Тип | Описание |
|---|---|---|---|
device | query | string | |
from | query | string date | |
to | query | string date |
Ответ 200
Файл.
Ошибки — problem+json с полем code, см. коды ошибок.
Пример запроса
curl 'http://localhost:7790/api/v1/sensors/journal.csv'curl 'https://cloud.hw-connector.ru/agent/api/v1/sensors/journal.csv' \
-H 'X-Api-Key: hwk_…' \
-H 'X-Device-Id: 42'Журнал значений#
/api/v1/sensors/historyЗначения точек раз в historySec и каждое срабатывание и снятие тревоги. Даты — yyyy-MM-dd, по умолчанию сегодня
Параметры
| Имя | Где | Тип | Описание |
|---|---|---|---|
device | query | string | |
point | query | string | |
from | query | string date | |
to | query | string date | |
limit | query | integer int32 |
Ответ 200 application/json
Массив · HistoryRow
atstringdevicestringpointstringvaluenumber doubleunitstringalarmstring
Ошибки — problem+json с полем code, см. коды ошибок.
Пример запроса
curl 'http://localhost:7790/api/v1/sensors/history'curl 'https://cloud.hw-connector.ru/agent/api/v1/sensors/history' \
-H 'X-Api-Key: hwk_…' \
-H 'X-Device-Id: 42'