Web API: различия между версиями
Строка 166: | Строка 166: | ||
− | = Информация о Контроллере (info) = | + | == Информация о Контроллере (info) == |
request: | request: | ||
Строка 200: | Строка 200: | ||
</pre> | </pre> | ||
− | = Постановка/снятие Контроллера на охрану / с охраны (armed) = | + | == Постановка/снятие Контроллера на охрану / с охраны (armed) == |
request: | request: | ||
Строка 226: | Строка 226: | ||
− | = Добавление Контроллера (add) = | + | == Добавление Контроллера (add) == |
request: | request: | ||
Строка 250: | Строка 250: | ||
После ввода пин-кода необходимо обновить список Контроллеров (/api/ctrl/list/) | После ввода пин-кода необходимо обновить список Контроллеров (/api/ctrl/list/) | ||
− | = Обновление списка устройств и действий на Контроллере (update) = | + | == Обновление списка устройств и действий на Контроллере (update) == |
=== Этап 1 - обновляем список IDS устройств на Контроллере === | === Этап 1 - обновляем список IDS устройств на Контроллере === | ||
Строка 304: | Строка 304: | ||
− | = Удаление Контроллера (delete) = | + | == Удаление Контроллера (delete) == |
Request URL: [site]/api/ctrl/delete | Request URL: [site]/api/ctrl/delete | ||
Строка 329: | Строка 329: | ||
</pre> | </pre> | ||
+ | = Устройства = | ||
− | = | + | == Получение списка устройств пользователя (list) == |
request: | request: | ||
+ | |||
Request URL: [site]/api/device/list | Request URL: [site]/api/device/list | ||
параметры запроса: (int) controller_id , (string) token | параметры запроса: (int) controller_id , (string) token | ||
− | Пример | + | Пример запроса: |
<pre> | <pre> | ||
{ | { | ||
Строка 397: | Строка 399: | ||
− | = Информация об устройстве (info) = | + | == Информация об устройстве (info) == |
request: | request: | ||
Строка 411: | Строка 413: | ||
(string) token | (string) token | ||
− | Пример | + | Пример запроса: |
<pre> | <pre> | ||
{ | { | ||
Строка 466: | Строка 468: | ||
</pre> | </pre> | ||
− | = | + | |
+ | == Обновление информации об устройстве (update) == | ||
request: | request: | ||
− | Request URL: [site]/api/device/ | + | Request URL: [site]/api/device/update/ |
+ | |||
параметры запроса: | параметры запроса: | ||
− | ( | + | (int) device_id, |
− | ( | + | (string) name, |
− | (int) | + | (int) active, |
(string) token, | (string) token, | ||
− | |||
− | |||
Пример запроса: | Пример запроса: | ||
− | |||
<pre> | <pre> | ||
{ | { | ||
− | " | + | "device_id": 107, // local device id |
− | " | + | "name": "New name", // new name |
− | + | "active": 1, | |
− | " | ||
"token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae" | "token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae" | ||
} | } | ||
</pre> | </pre> | ||
− | |||
− | |||
response: | response: | ||
− | параметры ответа: | + | параметры ответа: |
− | + | ||
Пример ответа: | Пример ответа: | ||
− | |||
<pre> | <pre> | ||
{ | { | ||
− | " | + | "resuls" : "Ok" |
} | } | ||
</pre> | </pre> | ||
− | + | == Удаление устройства (delete) == | |
− | = | ||
request: | request: | ||
− | Request URL: [site]/api/device/ | + | Request URL: [site]/api/device/delete/ |
параметры запроса: | параметры запроса: | ||
Строка 519: | Строка 515: | ||
(int) device_id, | (int) device_id, | ||
− | + | (string) token | |
− | |||
− | |||
− | |||
− | (string) token | ||
Пример запроса: | Пример запроса: | ||
Строка 529: | Строка 521: | ||
{ | { | ||
"device_id": 107, // local device id | "device_id": 107, // local device id | ||
− | |||
− | |||
"token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae" | "token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae" | ||
} | } | ||
</pre> | </pre> | ||
+ | |||
response: | response: | ||
− | + | Параметры ответа: | |
− | + | ||
Пример ответа: | Пример ответа: | ||
<pre> | <pre> | ||
{ | { | ||
"resuls" : "Ok" | "resuls" : "Ok" | ||
+ | |||
} | } | ||
</pre> | </pre> | ||
− | |||
− | + | Код: | |
− | + | = Сценарии = | |
− | + | = Список действий (list) = | |
− | |||
− | (string) token | + | request: |
+ | Request URL: [site]/api/scheduler/list/ | ||
+ | |||
+ | параметры запроса: (string) token | ||
− | Пример запроса: | + | Пример запроса: |
+ | |||
<pre> | <pre> | ||
{ | { | ||
− | |||
"token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae" | "token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae" | ||
} | } | ||
Строка 567: | Строка 560: | ||
response: | response: | ||
− | + | параметры ответа: | |
Пример ответа: | Пример ответа: | ||
<pre> | <pre> | ||
{ | { | ||
− | " | + | "0":{ |
− | + | "id":9, | |
− | } | + | "external_id":42, |
− | </pre> | + | "name":"test_form_web", |
− | + | "operation":"local", | |
− | + | "armed":0, | |
− | + | "type":"meteo", | |
− | + | "action_id":1, | |
− | + | "a_controller_id":6, | |
− | = | + | "a_device_id":112, |
− | + | "a_code_id":0, | |
− | + | "a_device_external_id":38, | |
− | request: | + | "a_armed":0, |
− | Request URL: [site]/api/scheduler/ | + | "a_conf1":0, |
− | + | "a_conf2":0, | |
− | параметры запроса: (string) token | + | "a_conf3":0, |
− | + | "a_conf4":0, | |
− | Пример запроса: | + | "a_conf5":0, |
− | + | "a_conf6":0, | |
− | <pre> | + | "a_conf7":0, |
− | { | + | "a_conf8":0, |
− | "token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae" | + | "target_id":1, |
+ | "t_controller_id":6, | ||
+ | "t_device_id":119, | ||
+ | "t_code_id":203, | ||
+ | "t_device_external_id":7, | ||
+ | "t_armed":0, | ||
+ | "t_conf1":0, | ||
+ | "t_conf2":0, | ||
+ | "t_conf3":0, | ||
+ | "t_conf4":0, | ||
+ | "t_conf5":0, | ||
+ | "t_conf6":0, | ||
+ | "t_conf7":0, | ||
+ | "t_conf8":0, | ||
+ | "date":null, | ||
+ | "repetition":"0", | ||
+ | "sensor_type":"1", | ||
+ | "logic_operation":"=", | ||
+ | "value":"3", | ||
+ | "active":1 | ||
+ | }, | ||
+ | "1":{ | ||
+ | "id":10, | ||
+ | "external_id":45 | ||
+ | ... | ||
+ | } | ||
+ | } | ||
+ | |||
+ | </pre> | ||
+ | |||
+ | |||
+ | = Обновление действий (update) = | ||
+ | |||
+ | Запрос осуществляется в 2 этапа: на первом этапе происходит при запросе на обновление Контроллера (см. "Обновление Контроллера"); | ||
+ | на втором этапе обновляется информация о каждом действии. | ||
+ | |||
+ | request: | ||
+ | Request URL: [site]/api/scheduler/update/ | ||
+ | |||
+ | параметры запроса: | ||
+ | |||
+ | (int) controller_id, | ||
+ | |||
+ | (string) token | ||
+ | |||
+ | Пример запроса: | ||
+ | <pre> | ||
+ | { | ||
+ | "controller_id": 6 , | ||
+ | "token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae", | ||
} | } | ||
</pre> | </pre> | ||
Строка 604: | Строка 646: | ||
<pre> | <pre> | ||
{ | { | ||
− | " | + | "result": "Ok" // ответ что запрос ушел |
− | "id":9, | + | } |
− | "external_id":42, | + | </pre> |
− | "name":"test_form_web", | + | Процесс обновления происходит автоматически. Для получения результата требуется таймаут, после чего делается стандартный запрос на получение данных (Контроллер, действия) |
− | "operation":"local", | + | |
− | "armed":0, | + | |
− | "type":"meteo", | + | = Информация о действии (info) = |
− | "action_id":1, | + | |
− | "a_controller_id":6, | + | request: |
− | "a_device_id":112, | + | Request URL: [site]/api/scheduler/info/ |
− | "a_code_id":0, | + | |
− | "a_device_external_id":38, | + | параметры запроса: |
− | "a_armed":0, | + | |
− | "a_conf1":0, | + | (int) scheduler_id, |
− | "a_conf2":0, | + | |
− | "a_conf3":0, | + | (string) token |
− | "a_conf4":0, | + | |
− | "a_conf5":0, | + | Пример ответа: |
− | "a_conf6":0, | + | <pre> |
− | "a_conf7":0, | + | { |
− | "a_conf8":0, | + | "scheduler_id": 122, |
− | "target_id":1, | + | "token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae" |
− | "t_controller_id":6, | + | } |
− | "t_device_id":119, | + | </pre> |
− | "t_code_id":203, | + | response: |
− | "t_device_external_id":7, | + | |
− | "t_armed":0, | + | параметры ответа: |
+ | |||
+ | Пример ответа: | ||
+ | <pre> | ||
+ | { | ||
+ | "id":9, | ||
+ | "external_id":42, | ||
+ | "name":"test_form_web", | ||
+ | "operation":"local", | ||
+ | "armed":0, | ||
+ | "type":"meteo", | ||
+ | "action_id":1, | ||
+ | "a_controller_id":6, | ||
+ | "a_device_id":112, | ||
+ | "a_code_id":0, | ||
+ | "a_device_external_id":38, | ||
+ | "a_armed":0, | ||
+ | "a_conf1":0, | ||
+ | "a_conf2":0, | ||
+ | "a_conf3":0, | ||
+ | "a_conf4":0, | ||
+ | "a_conf5":0, | ||
+ | "a_conf6":0, | ||
+ | "a_conf7":0, | ||
+ | "a_conf8":0, | ||
+ | "target_id":1, | ||
+ | "t_controller_id":6, | ||
+ | "t_device_id":119, | ||
+ | "t_code_id":203, | ||
+ | "t_device_external_id":7, | ||
+ | "t_armed":0, | ||
"t_conf1":0, | "t_conf1":0, | ||
"t_conf2":0, | "t_conf2":0, | ||
Строка 645: | Строка 717: | ||
"value":"3", | "value":"3", | ||
"active":1 | "active":1 | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
} | } | ||
+ | </pre> | ||
− | |||
+ | === (create) === | ||
+ | request: | ||
+ | Request URL: [site]/api/ | ||
+ | параметры запроса: | ||
+ | пример: | ||
+ | <pre> | ||
+ | { | ||
+ | |||
+ | } | ||
+ | </pre> | ||
− | + | response: | |
− | + | параметры ответа: | |
− | + | пример: | |
− | + | <pre> | |
+ | { | ||
+ | } | ||
+ | </pre> | ||
+ | |||
+ | === (update) === | ||
request: | request: | ||
− | Request URL: [site]/api | + | Request URL: [site]/api/ |
− | + | параметры запроса: | |
− | параметры запроса: | + | пример: |
− | + | <pre> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | <pre> | ||
{ | { | ||
− | + | ||
− | |||
} | } | ||
− | </pre> | + | </pre> |
response: | response: | ||
− | |||
параметры ответа: | параметры ответа: | ||
− | + | пример: | |
− | |||
<pre> | <pre> | ||
{ | { | ||
− | + | ||
} | } | ||
− | </pre> | + | </pre> |
− | |||
− | |||
− | |||
− | |||
+ | === (delete)=== | ||
request: | request: | ||
− | Request URL: [site]/api/ | + | Request URL: [site]/api/login |
− | + | параметры запроса: | |
− | параметры запроса: | + | пример: |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
<pre> | <pre> | ||
{ | { | ||
− | + | ||
− | |||
} | } | ||
− | </pre> | + | </pre> |
+ | |||
response: | response: | ||
− | |||
параметры ответа: | параметры ответа: | ||
+ | пример: | ||
− | |||
<pre> | <pre> | ||
{ | { | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | } | ||
+ | </pre> | ||
+ | |||
+ | = Логи пользователя (logs) = | ||
+ | request: | ||
+ | |||
+ | Request URL: [site]/api/profile/logs/ | ||
+ | |||
+ | параметры запроса: (string) token | ||
+ | |||
+ | Пример запроса: | ||
+ | <pre> | ||
+ | { | ||
+ | "token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae" | ||
+ | } | ||
+ | </pre> | ||
+ | response: | ||
+ | параметры ответа: (object) | ||
+ | пример: | ||
+ | { | ||
+ | |||
+ | } | ||
+ | ________________________________________ | ||
+ | |||
+ | |||
+ | |||
+ | = Получение метеоданных (last) = | ||
− | |||
request: | request: | ||
− | Request URL: [site]/api/ | + | Request URL: [site]/api/device/meteo-last/ |
− | параметры запроса: | + | |
− | + | параметры запроса: | |
− | <pre> | + | |
+ | (string) token, | ||
+ | |||
+ | (int) device_id | ||
+ | |||
+ | Пример запроса: | ||
+ | <pre> | ||
{ | { | ||
− | + | "token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae", | |
+ | "device_id": 130 | ||
} | } | ||
− | </pre> | + | </pre> |
+ | response: | ||
− | + | параметры ответа: (object) | |
− | параметры ответа: | ||
− | |||
− | |||
− | |||
− | + | Пример ответа: | |
− | |||
− | + | <pre> | |
− | + | { | |
− | + | "id":"4046", | |
− | + | "controller_name":"AS_7FD6785CCF5D", | |
− | + | "internal_id":"55", | |
− | + | "device_id":"130", | |
− | + | "name":"7", | |
− | + | "temp":"240", | |
+ | "hum":"245", | ||
+ | "illum":"0", | ||
+ | "pres":"1239", | ||
+ | "volt":"32", | ||
+ | "date_time":"2016-03-02 21:09:40", | ||
+ | "new":"0" | ||
} | } | ||
− | </pre> | + | </pre> |
− | + | = Получение метеоданных за период (period) = | |
− | + | request: | |
− | |||
− | |||
− | |||
− | + | Request URL: [site]/api/device/meteo-period/ | |
− | + | ||
+ | параметры запроса: | ||
+ | |||
+ | (string) token, | ||
+ | |||
+ | (int) device_id, | ||
+ | |||
+ | (int) period | ||
− | + | Пример запроса: | |
− | |||
− | |||
− | |||
− | |||
<pre> | <pre> | ||
{ | { | ||
− | + | "token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae", | |
+ | "device_id": 130, | ||
+ | "period": 1 // количество дней | ||
} | } | ||
− | </pre> | + | </pre> |
response: | response: | ||
− | |||
− | |||
+ | параметры ответа: (array to objects) | ||
+ | |||
+ | Пример ответа: | ||
<pre> | <pre> | ||
− | { | + | [ |
+ | { | ||
+ | "id":"4065", | ||
+ | "controller_name":"AS_7FD6785CCF5D", | ||
+ | "internal_id":"55", | ||
+ | "device_id":"130", | ||
+ | "name":"7", | ||
+ | "temp":"240", | ||
+ | "hum":"523", | ||
+ | "illum":"0", | ||
+ | "pres":"1239", | ||
+ | "volt":"32", | ||
+ | "date_time":"2017-07-30 21:11:07", | ||
+ | "new":"0" | ||
+ | }, | ||
+ | { | ||
+ | "id":"4067", | ||
+ | "controller_name":"AS_7FD6785CCF5D | ||
+ | ... | ||
+ | }, | ||
+ | ] | ||
+ | </pre> | ||
− | + | = Получение данных электропитания (last) = | |
− | + | ||
+ | request: | ||
+ | Request URL: [site]/api/device/electro-last/ | ||
− | + | параметры запроса: | |
− | |||
− | + | (string) token, | |
− | + | (int) device_id | |
Пример запроса: | Пример запроса: | ||
<pre> | <pre> | ||
{ | { | ||
− | "token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae" | + | "token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae", |
+ | "device_id": 130 | ||
} | } | ||
</pre> | </pre> | ||
+ | |||
response: | response: | ||
+ | |||
параметры ответа: (object) | параметры ответа: (object) | ||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | Пример ответа: | ||
− | + | <pre> | |
− | = Получение | + | { |
− | + | "id":"318", | |
− | request: | + | "controller_id":"11", |
− | Request URL: [site]/api/device/ | + | "external_id":"2", |
+ | "device_id":"125", | ||
+ | "name":"23", | ||
+ | "token":"747D3844ABD35B08F27D18D15D7178B7AF99A754D805633928D4362D19B4AEC2", | ||
+ | "last_seen":"2017-07-21 04:20:27", | ||
+ | "available":"1", | ||
+ | "voltage":"24", | ||
+ | "have_voltage":"1", | ||
+ | "current":"2147483647", | ||
+ | "have_current":"1", | ||
+ | "supp_voltage":"33", | ||
+ | "date_create":"2017-07-21 01:20:33", | ||
+ | "new":"0" | ||
+ | } | ||
+ | </pre> | ||
+ | |||
+ | = Получение данных электропитания за период (period) = | ||
+ | |||
+ | request: | ||
+ | |||
+ | Request URL: [site]/api/device/electro-period/ | ||
параметры запроса: | параметры запроса: | ||
Строка 853: | Строка 952: | ||
(string) token, | (string) token, | ||
− | (int) device_id | + | (int) device_id, |
+ | |||
+ | (int) period | ||
Пример запроса: | Пример запроса: | ||
Строка 859: | Строка 960: | ||
{ | { | ||
"token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae", | "token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae", | ||
− | "device_id": 130 | + | "device_id": 130, |
+ | "period": 1 // количество дней | ||
} | } | ||
</pre> | </pre> | ||
response: | response: | ||
− | параметры ответа: ( | + | параметры ответа: (array to objects) |
− | |||
− | |||
+ | Пример ответа: | ||
+ | |||
<pre> | <pre> | ||
− | { | + | [ |
− | "id":" | + | { |
− | " | + | "id":"318", |
− | " | + | "controller_id":"11", |
− | "device_id":" | + | "external_id":"2", |
− | "name":" | + | "device_id":"125", |
− | " | + | "name":"23", |
− | " | + | "token":"747D3844ABD35B08F27D18D15D7178B7AF99A754D805633928D4362D19B4AEC2", |
− | " | + | "last_seen":"2017-07-21 04:20:27", |
− | " | + | "available":"1", |
− | " | + | "voltage":"24", |
− | " | + | "have_voltage":"1", |
− | "new":"0" | + | "current":"2147483647", |
− | } | + | "have_current":"1", |
+ | "supp_voltage":"33", | ||
+ | "date_create":"2017-07-21 01:20:33", | ||
+ | "new":"0" | ||
+ | }, | ||
+ | { | ||
+ | "id":"318", | ||
+ | "controller_id":"11", | ||
+ | ... | ||
+ | }, | ||
+ | ] | ||
</pre> | </pre> | ||
− | = Получение | + | = ?? Получение данных о сторонних устройствах (other-last) = |
+ | |||
+ | Метод возвращает информацию о последнем обнаруженном стороннем устройстве. | ||
+ | |||
request: | request: | ||
− | Request URL: [site]/api/device/ | + | Request URL: [site]/api/device/other-last/ |
− | + | Параметры запроса: | |
(string) token, | (string) token, | ||
− | (int) device_id | + | (int) device_id |
− | |||
− | |||
Пример запроса: | Пример запроса: | ||
Строка 902: | Строка 1015: | ||
{ | { | ||
"token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae", | "token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae", | ||
− | "device_id": | + | "device_id": 118 |
− | |||
} | } | ||
</pre> | </pre> | ||
− | |||
response: | response: | ||
− | параметры ответа: ( | + | параметры ответа: (object) |
Пример ответа: | Пример ответа: | ||
<pre> | <pre> | ||
− | + | { | |
− | + | "id":"1301", | |
− | "id":" | + | "controller_id":"6", |
− | " | + | "device_id":"118", |
− | " | + | "name":"Розетка", |
− | " | + | "code":"81", |
− | " | + | "pulse_len":null, |
− | " | + | "bit_len":null, |
− | " | + | "protocol":null, |
− | " | + | "groups":null, |
− | " | + | "type":null, |
− | " | + | "date_time":"2017-08-21 04:55:18", |
− | "date_time":"2017- | + | "active":null, |
− | " | + | "new":"1" |
− | + | } | |
− | |||
− | " | ||
− | |||
− | |||
− | |||
− | |||
</pre> | </pre> | ||
− | = | + | |
− | + | =?? (period) = | |
request: | request: | ||
− | Request URL: [site]/api/device/ | + | |
+ | Request URL: [site]/api/device/other-period/ | ||
параметры запроса: | параметры запроса: | ||
Строка 945: | Строка 1051: | ||
(string) token, | (string) token, | ||
− | (int) device_id | + | (int) device_id, |
+ | |||
+ | (int) period | ||
Пример запроса: | Пример запроса: | ||
− | |||
{ | { | ||
"token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae", | "token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae", | ||
− | "device_id": | + | "device_id": 118, |
+ | "period": 1 // количество дней | ||
} | } | ||
− | |||
− | |||
response: | response: | ||
− | параметры ответа: ( | + | параметры ответа: (array to objects) |
Пример ответа: | Пример ответа: | ||
− | |||
<pre> | <pre> | ||
{ | { | ||
− | "id":" | + | "id":"1301", |
− | "controller_id":" | + | "controller_id":"6", |
− | " | + | "device_id":"118", |
− | " | + | "name":"Розетка", |
− | " | + | "code":"81", |
− | " | + | "pulse_len":null, |
− | " | + | "bit_len":null, |
− | " | + | "protocol":null, |
− | " | + | "groups":null, |
− | " | + | "type":null, |
− | " | + | "date_time":"2017-08-21 04:55:18", |
− | " | + | "active":null, |
− | " | + | "new":"1" |
− | " | + | }, |
− | + | { | |
+ | "id":"4067", | ||
+ | "controller_id":"6", | ||
+ | ... | ||
} | } | ||
− | </pre> | + | </pre> |
+ | ________________________________________ | ||
+ | |||
+ | === Ошибки: === | ||
− | + | параметры ошибки: | |
− | + | пример: | |
+ | |||
+ | <pre> | ||
+ | { | ||
+ | "errors":{ | ||
+ | "password": [ | ||
+ | "Incorrect username." | ||
+ | ] | ||
+ | } | ||
+ | } | ||
+ | </pre> | ||
− | |||
− | + | = Обновление статуса контроллера (update-status) = | |
+ | |||
+ | request: | ||
+ | |||
+ | Request URL: [site]/api/ ctrl/update-status/ | ||
+ | |||
+ | Параметры запроса: | ||
(string) token, | (string) token, | ||
− | (int) | + | (int) controller_id |
− | + | Пример запроса: | |
− | |||
− | Пример запроса: | ||
<pre> | <pre> | ||
{ | { | ||
"token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae", | "token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae", | ||
− | " | + | "controller_id": 122 |
− | |||
} | } | ||
</pre> | </pre> | ||
+ | |||
response: | response: | ||
− | параметры ответа: | + | параметры ответа: |
Пример ответа: | Пример ответа: | ||
− | |||
<pre> | <pre> | ||
− | + | { | |
− | + | "error":null, | |
− | " | + | "data":{ |
− | " | + | "resuls":"Ok" |
− | + | } | |
− | + | } | |
− | + | </pre> | |
− | + | ||
− | + | = Получение актуального статуса Контроллера (get-status) = | |
− | + | request: | |
− | + | ||
− | + | Request URL: [site]/api/ ctrl/get-status/ | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | ] | ||
− | |||
− | + | параметры запроса: | |
− | + | (string) token, | |
− | |||
− | |||
− | + | (int) controller_id | |
− | + | Пример запроса: | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | Пример запроса: | ||
<pre> | <pre> | ||
{ | { | ||
"token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae", | "token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae", | ||
− | " | + | "controller_id": 122 |
} | } | ||
</pre> | </pre> | ||
+ | |||
response: | response: | ||
− | параметры ответа: | + | параметры ответа: |
− | Пример ответа: | + | Пример ответа: |
<pre> | <pre> | ||
{ | { | ||
− | " | + | "error":null, |
− | " | + | "data":{ |
− | + | "status":1 | |
− | + | } | |
− | + | } | |
− | + | </pre> | |
− | + | ||
− | + | Поле “status” может принимать следующие значения: | |
− | + | • 0 – офлайн | |
− | + | • 1 – онлайн | |
− | + | • 2 – онлайн, после включения питания | |
− | |||
− | |||
− | |||
− | |||
+ | = Добавление устройств через wizard = | ||
− | |||
− | |||
− | + | == Датчик открытия двери (create-door-open-sensor) == | |
− | + | URL: [site]/api/wizard/create-door-open-sensor | |
− | (string) | + | Params: |
+ | controller_id (required): int | ||
+ | token (required): string, 64 | ||
+ | device_name (optional): string, 256 | ||
+ | code_ready (optional): string, 64 //Название кода готовности | ||
+ | code_alarm (optional): string, 64 //Название кода оповещания | ||
+ | code_low_battery (optional): string, 64 //Название кода садящейся батареи | ||
− | + | RESPONSE: | |
+ | <pre> | ||
+ | { | ||
+ | data:{ | ||
+ | 'response': 'OK' | ||
+ | }, | ||
+ | error: null | ||
+ | } | ||
+ | </pre> | ||
+ | |||
+ | После отправки параметров ожидается срабатывание добавляемого устройства. При срабатывании происходит процесс добавления, и лишь после этого приходит ответ. | ||
− | |||
− | + | == Датчик затопления (create-flood-sensor) == | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | Request URL: [site]/api/wizard/create-flood-sensor | |
− | + | Params: | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | controller_id (required): int | |
− | + | token (required): string, 64 | |
− | |||
− | |||
+ | device_name (optional): string, 256 | ||
+ | code_alarm (optional): string, 64 //Название кода оповещения | ||
+ | |||
+ | code_tamper (optional): string, 64 //Название кода вмешательства | ||
+ | |||
+ | code_low_battery (optional): string, 64 //Название кода садящейся батареи | ||
+ | |||
+ | RESPONSE: | ||
<pre> | <pre> | ||
{ | { | ||
− | + | data: { | |
− | + | 'response': 'OK' | |
− | + | }, | |
− | + | error: null | |
− | |||
} | } | ||
</pre> | </pre> | ||
+ | --------------------------------------- | ||
+ | После отправки параметров ожидается срабатывание добавляемого устройства. При срабатывании происходит процесс добавления, и лишь после этого приходит ответ. | ||
− | = | + | == Пульт,4 кнопки (create-console) == |
− | + | Request URL: [site]/api/wizard/create-console | |
− | + | Params: | |
− | + | controller_id (required): int | |
− | (string) | + | token (required): string, 64 |
+ | |||
+ | device_name (optional): string, 256 | ||
+ | |||
+ | code_lock (optional): string, 64 //Название кода блокировки | ||
+ | |||
+ | code_unlock (optional): string, 64 //Название кода разблокировки | ||
+ | |||
+ | code_s (optional): string, 64 //Название кода s | ||
− | ( | + | code_alarm (optional): string, 64 //Название кода оповещения |
− | + | RESPONSE: | |
<pre> | <pre> | ||
{ | { | ||
− | + | data: { | |
− | + | 'response': 'OK' | |
+ | }, | ||
+ | error: null | ||
} | } | ||
</pre> | </pre> | ||
+ | --------------------------------------- | ||
+ | После отправки параметров ожидается срабатывание добавляемого устройства. При срабатывании происходит процесс добавления, и лишь после этого приходит ответ. | ||
− | |||
− | + | == Сирена (create-siren) == | |
− | + | Request URL: [site]/api/wizard/create-siren | |
− | + | ||
− | + | Params: | |
− | + | ||
− | + | controller_id (required): int | |
− | |||
− | |||
− | |||
− | |||
− | + | token (required): string, 64 | |
− | |||
− | + | device_name (optional): string, 256 | |
− | + | code_on (optional): string, 64 //Название кода включения | |
− | (string | + | code_off (optional): string, 64 //Название кода выключения |
− | ( | + | code_blank (optional): string, 64 //Название кода blank |
− | + | RESPONSE: | |
<pre> | <pre> | ||
{ | { | ||
− | + | data: { | |
− | + | 'response': 'OK' | |
+ | }, | ||
+ | error: null | ||
} | } | ||
</pre> | </pre> | ||
+ | --------------------------------------- | ||
+ | Перед отправкой параметров необходимо перевести сирену в режим обучения. | ||
+ | |||
+ | |||
+ | == Метеостанция: получение списка обнаруженных метеостанций за последние 10 минут (get-meteos) == | ||
+ | Request URL: [site]/api/wizard/get-meteos | ||
+ | |||
+ | Params: | ||
− | + | controller_id (required): int | |
− | + | token (required): string, 64 | |
− | + | RESPONSE: | |
<pre> | <pre> | ||
{ | { | ||
"error":null, | "error":null, | ||
− | "data":{ | + | "data": [{"id":"93","controller_id":"79","date":"1528389351","type":"7","family":"0","rf_code":null,"rf_bit_len":null,"rf_pulse_len":null,"rf_protocol":null,"rf_freq":null,"ir_code":null,"ir_bit_len":null,"ir_address":null,"ir_protocol":null,"meteo_num":"0"}] |
− | |||
− | |||
} | } | ||
</pre> | </pre> | ||
− | + | == Метеостанция: добавление (create-meteo) == | |
− | |||
− | |||
− | |||
− | + | Request URL: [site][site]/api/wizard/create-meteo | |
+ | |||
+ | Params: | ||
+ | controller_id (required): int | ||
− | + | token (required): string, 64 | |
− | + | meteo_num (required): int //Получается в списке выше | |
− | |||
− | |||
− | |||
device_name (optional): string, 256 | device_name (optional): string, 256 | ||
− | |||
− | |||
− | |||
RESPONSE: | RESPONSE: | ||
<pre> | <pre> | ||
{ | { | ||
− | data:{ | + | "error":null, |
− | + | "data":{ | |
− | } | + | "response":"OK" |
− | + | } | |
} | } | ||
</pre> | </pre> | ||
− | |||
− | == | + | == Водопроводный кран == |
− | + | Порядок добавления крана: | |
+ | 1) Сгенерировать коды | ||
− | + | 2) Зажать на кране кнопку, пока кран не мигнёт трижды | |
− | + | 3) Отправить один код | |
− | + | 4) Нажать на кране кнопку однократно | |
− | + | 5) Зажать на кране кнопку, пока не мигнёт 4 раза | |
− | |||
− | + | 6) Отправить второй код из сгенерированных | |
− | + | 7) Нажать на кране кнопку однократно | |
− | + | 8) Отправить запрос на создание крана. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | == | + | === Генерация кодов === |
− | Request URL: [site]/api/wizard/create- | + | Request URL: [site]/api/wizard/create-codes |
Params: | Params: | ||
Строка 1286: | Строка 1374: | ||
token (required): string, 64 | token (required): string, 64 | ||
− | + | Response: | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
<pre> | <pre> | ||
{ | { | ||
− | data: { | + | "error":null, |
− | + | "data":{"response":{"id":30,"masks":"[6,4,0,1]","code_1":"9920950","code_2":"9920948","code_3":"9920944","code_4":"9920945"} | |
− | + | } | |
− | |||
} | } | ||
</pre> | </pre> | ||
− | |||
− | |||
− | == | + | === Выполнение кода === |
− | Request URL: [site]/api/wizard/ | + | Request URL: [site]/api/wizard/execute-code |
Params: | Params: | ||
Строка 1319: | Строка 1394: | ||
token (required): string, 64 | token (required): string, 64 | ||
− | + | code (required): int // Берется из сгенерированных | |
− | + | Response: | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
<pre> | <pre> | ||
{ | { | ||
+ | error: null, | ||
data: { | data: { | ||
− | + | "response":"OK" | |
− | } | + | } |
− | |||
} | } | ||
</pre> | </pre> | ||
− | |||
− | |||
+ | === Добавление крана === | ||
− | + | Request URL: [site]/api/wizard/create-crane-by-codes | |
− | Request URL: [site]/api/wizard/ | ||
Params: | Params: | ||
Строка 1349: | Строка 1416: | ||
token (required): string, 64 | token (required): string, 64 | ||
− | + | code_1 (required): int | |
− | + | ||
− | + | code_2 (required): int | |
− | |||
− | |||
− | |||
− | |||
− | + | device_name (optional): string, 256 | |
− | + | code_open (optional): string, 64 //Название кода открытия | |
− | + | code_close (optional): string, 64 //Название кода закрытия | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
RESPONSE: | RESPONSE: | ||
<pre> | <pre> | ||
{ | { | ||
− | + | data:{'response': 'OK'}, | |
− | + | error: null | |
− | |||
− | |||
} | } | ||
</pre> | </pre> | ||
+ | == Добавление розетки == | ||
+ | порядок добаления розетки следующий: | ||
+ | |||
+ | 1) Сгенерировать коды | ||
− | + | 2) Зажать на розетке кнопку, пока она не начнет мигать | |
− | |||
− | |||
− | |||
3) Отправить один код | 3) Отправить один код | ||
− | 4 | + | |
− | + | 4) Зажать на розетке кнопку, пока она не начнет мигать | |
− | + | ||
− | + | 5) Отправить второй код из сгенерированых | |
− | + | ||
+ | 6) Отправить запрос на создание розетки | ||
− | === Генерация кодов === | + | === Генерация кодов (create-codes) === |
Request URL: [site]/api/wizard/create-codes | Request URL: [site]/api/wizard/create-codes | ||
Строка 1406: | Строка 1461: | ||
token (required): string, 64 | token (required): string, 64 | ||
− | Response: | + | socket (required): любое значение. |
+ | |||
+ | Response: | ||
<pre> | <pre> | ||
{ | { | ||
"error":null, | "error":null, | ||
− | "data":{"response":{"id":30,"masks":"[ | + | "data":{ |
+ | "response":{"id":30,"masks":"[257, 258]","code_1":"8737025","code_2":"8737026"} | ||
} | } | ||
} | } | ||
Строка 1416: | Строка 1474: | ||
− | === Выполнение кода === | + | === Выполнение кода (execute-code) === |
Request URL: [site]/api/wizard/execute-code | Request URL: [site]/api/wizard/execute-code | ||
Строка 1428: | Строка 1486: | ||
code (required): int // Берется из сгенерированных | code (required): int // Берется из сгенерированных | ||
− | Response | + | Response |
<pre> | <pre> | ||
{ | { | ||
error: null, | error: null, | ||
− | data: { | + | data: {'response' => 'OK'} |
− | |||
− | |||
} | } | ||
</pre> | </pre> | ||
− | |||
− | Request URL: [site]/api/wizard/create- | + | === Добавление розетки (create-socket) === |
+ | |||
+ | Request URL: [site]/api/wizard/create-socket | ||
Params: | Params: | ||
Строка 1454: | Строка 1511: | ||
device_name (optional): string, 256 | device_name (optional): string, 256 | ||
− | + | code_off (optional): string, 64 //Название кода открытия | |
− | + | code_on (optional): string, 64 //Название кода закрытия | |
RESPONSE: | RESPONSE: | ||
<pre> | <pre> | ||
{ | { | ||
− | data:{'response': 'OK'}, | + | data: {'response':'OK'}, |
error: null | error: null | ||
} | } | ||
</pre> | </pre> | ||
− | = | + | = Коды = |
− | + | == Получение информации о коде (info) == | |
− | + | request: | |
− | + | Request URL: [site]/api/property/info/ | |
− | + | параметры запроса: | |
+ | (int) controller_id, | ||
− | + | (int) device_id, | |
− | + | (int) code_id, | |
− | + | (string) token | |
+ | Пример запроса: | ||
+ | <pre> | ||
+ | { | ||
+ | "controller_id": 6, | ||
+ | "device_id": 109, | ||
+ | "code_id": 192, | ||
+ | "token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae" | ||
− | + | } | |
+ | </pre> | ||
− | + | response: | |
+ | параметры ответа: | ||
+ | |||
+ | Пример ответа: | ||
+ | <pre> | ||
+ | { | ||
+ | "id":"192", | ||
+ | "external_cod_id":"67", | ||
+ | "device_id":"109", | ||
+ | "name":"4 OFF", | ||
+ | "code":"12209156", | ||
+ | "protocol":"1", | ||
+ | "pulse_len":null, | ||
+ | "group_1":"1", | ||
+ | "group_2":"0", | ||
+ | "group_3":"0", | ||
+ | "group_4":"0", | ||
+ | "group_5":"0", | ||
+ | "group_6":"0", | ||
+ | "group_7":"0", | ||
+ | "group_8":"0", | ||
+ | "active":"1" | ||
+ | } | ||
+ | </pre> | ||
− | |||
− | |||
− | |||
− | + | == Изменение имени кода (update-code-name) == | |
− | + | Request URL: [site]/api/device/update-code-name | |
− | + | Request Params: | |
− | <pre> | + | |
+ | token (required): string(64) | ||
+ | |||
+ | code_id (required): int | ||
+ | |||
+ | name (optional): string(255) | ||
+ | |||
+ | SUCCESS RESPONSE: | ||
+ | <pre> | ||
{ | { | ||
− | + | data: { | |
− | + | 'message': "OK" | |
− | + | }, | |
− | } | + | error: null |
} | } | ||
</pre> | </pre> | ||
+ | == Получение кодов по типу сигнала (get-codes-by-subtype) == | ||
− | + | Request URL: [site]/api/device/get-codes-by-subtype | |
− | Request | + | Request Params: |
− | + | token (required): string(64) | |
− | + | device_subtype_id (optional): int, default 0. | |
− | + | == Получение списка кодов (get-codes) == | |
− | + | Request URL: [site]/api/device/get-codes | |
− | + | PARAMS: | |
− | + | token (required): string 64 | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
controller_id (required): int | controller_id (required): int | ||
− | + | SUCCESS RESPONSE: | |
− | + | <pre> | |
− | + | { | |
− | + | data: [ | |
− | + | { | |
− | + | devices: [ | |
− | + | { | |
− | + | id: 13 | |
− | + | external_id: 7, | |
− | + | controller_id: 5, | |
− | + | name: "Simple device", | |
− | + | type_id: 2, | |
− | + | password: null, | |
− | + | codes: "a:4:{i:0;i:46;i:1;i:47;i:2;i:48;i:3;i:45;}", | |
− | { | + | state: 1, |
− | + | on_dashboard: 0, | |
− | + | active: 1, | |
− | + | new: 1, | |
− | + | family: DEVICE_FAMILY_RADIO, | |
− | + | camera_id: null, | |
− | + | camera_host: null | |
− | + | }, | |
− | + | { | |
− | + | id: 14 | |
− | + | external_id: 8, | |
− | + | controller_id: 5, | |
− | + | name: "Simple device", | |
− | + | type_id: 2, | |
− | + | password: null, | |
− | + | codes: "a:4:{i:0;i:46;i:1;i:47;i:2;i:48;i:3;i:45;}", | |
− | + | state: 1, | |
− | + | on_dashboard: 0, | |
− | + | active: 1, | |
− | + | new: 1, | |
− | + | family: DEVICE_FAMILY_RADIO, | |
− | + | camera_id: null, | |
− | + | camera_host: null | |
− | + | }, | |
− | + | ], | |
− | + | code: { | |
− | + | id: 12, | |
− | + | controller_id: 5, | |
− | + | device_type_id: 2, | |
− | + | code: 498654, | |
− | + | protocol: 1, | |
− | + | bit_len: 32, | |
− | + | pulse_len: 86, | |
− | + | freq: 77, | |
− | + | address: 94, | |
− | + | num: 1, | |
− | + | date_create: '2018-04-13 18:29:11" | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | } | ||
+ | }, | ||
+ | { | ||
+ | devices: [ | ||
+ | { | ||
+ | id: 13 | ||
+ | external_id: 7, | ||
+ | controller_id: 5, | ||
+ | name: "Simple device", | ||
+ | type_id: 2, | ||
+ | password: null, | ||
+ | codes: "a:4:{i:0;i:46;i:1;i:47;i:2;i:48;i:3;i:45;}", | ||
+ | state: 1, | ||
+ | on_dashboard: 0, | ||
+ | active: 1, | ||
+ | new: 1, | ||
+ | family: DEVICE_FAMILY_RADIO, | ||
+ | camera_id: null, | ||
+ | camera_host: null | ||
+ | }, | ||
+ | { | ||
+ | id: 14 | ||
+ | external_id: 8, | ||
+ | controller_id: 5, | ||
+ | name: "Simple device", | ||
+ | type_id: 2, | ||
+ | password: null, | ||
+ | codes: "a:4:{i:0;i:46;i:1;i:47;i:2;i:48;i:3;i:45;}", | ||
+ | state: 1, | ||
+ | on_dashboard: 0, | ||
+ | active: 1, | ||
+ | new: 1, | ||
+ | family: DEVICE_FAMILY_RADIO, | ||
+ | camera_id: null, | ||
+ | camera_host: null | ||
+ | }, | ||
+ | ], | ||
+ | code: { | ||
+ | id: 12, | ||
+ | controller_id: 5, | ||
+ | device_type_id: 2, | ||
+ | code: 498654, | ||
+ | protocol: 1, | ||
+ | bit_len: 32, | ||
+ | pulse_len: 86, | ||
+ | freq: 77, | ||
+ | address: 94, | ||
+ | num: 1, | ||
+ | date_create: '2018-04-13 18:29:11" | ||
+ | } | ||
+ | }, | ||
+ | }, | ||
+ | error: null, | ||
+ | } | ||
+ | </pre> | ||
− | == | + | == Добавление кода к устройству (set-code-to-device) == |
− | Request URL: [site]/api/device/ | + | Request URL: [site]/api/device/set-code-to-device |
− | + | PARAMS: | |
− | token (required): string | + | token (required): string 64 |
code_id (required): int | code_id (required): int | ||
− | name (optional): string | + | device_id (required): int |
+ | |||
+ | name (optional): string 256 | ||
SUCCESS RESPONSE: | SUCCESS RESPONSE: | ||
<pre> | <pre> | ||
{ | { | ||
− | data: { | + | data: { |
− | + | id: 5, | |
− | }, | + | external_cod_id: 15, |
+ | device_id: 14, | ||
+ | name: "Name" | ||
+ | code: 8463517, | ||
+ | protocol: 0, | ||
+ | pulse_len: 86, | ||
+ | active: 1, | ||
+ | }, | ||
error: null | error: null | ||
} | } | ||
</pre> | </pre> | ||
− | == | + | == Удаление кода (remove-code) == |
− | Request URL: [site]/api/device/ | + | Request URL: [site]/api/device/remove-code |
+ | PARAMS: | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
token (required): string 64 | token (required): string 64 | ||
− | + | code_id (required): int | |
SUCCESS RESPONSE: | SUCCESS RESPONSE: | ||
<pre> | <pre> | ||
{ | { | ||
− | data: | + | data: { |
− | + | message: "OK" | |
− | + | }, | |
− | + | error: null | |
− | + | } | |
− | + | </pre> | |
− | + | ||
− | + | = События = | |
− | + | ||
− | + | == Нажатие кнопки на устройстве (event) == | |
− | + | ||
− | + | request: | |
− | + | ||
− | + | Request URL: [site]/api/device/event/ | |
− | + | параметры запроса: | |
− | + | ||
− | + | (string) controller_name, | |
− | + | ||
− | + | (int) device_external_id, | |
− | + | ||
− | + | (int) cod_external_id, | |
− | + | ||
− | + | (string) token, | |
− | + | ||
− | + | (int) device_type | |
− | + | ||
− | + | Пример запроса: | |
− | + | ||
− | + | <pre> | |
− | + | { | |
− | + | "controller_name": " AS_7F26335CCF4B" , | |
− | + | "device_external_id": 19, | |
− | + | "cod_external_id": 1, | |
− | + | "device_type": 1, | |
− | + | "token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae" | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | }, | ||
− | error: null | ||
− | } | ||
− | </pre> | ||
− | |||
− | == | ||
− | |||
− | Request URL: [site]/api/device/ | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | <pre> | ||
− | { | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
} | } | ||
</pre> | </pre> | ||
− | + | так как MQTT односторонний - ответа быть не может. Может быть возвращён ответ, что запрос отправлен: | |
+ | response: | ||
− | + | параметры ответа: | |
− | |||
− | + | Пример ответа: | |
− | |||
− | |||
− | |||
<pre> | <pre> | ||
{ | { | ||
− | + | "result": "Ok" | |
− | |||
− | |||
− | |||
} | } | ||
</pre> | </pre> |
Версия 15:05, 27 марта 2019
- API v01 *
API ( json )
Содержание
- 1 Учётная запись
- 2 Контроллеры
- 3 Устройства
- 4 Сценарии
- 5 Список действий (list)
- 6 Обновление действий (update)
- 7 Информация о действии (info)
- 8 Логи пользователя (logs)
- 9 Получение метеоданных (last)
- 10 Получение метеоданных за период (period)
- 11 Получение данных электропитания (last)
- 12 Получение данных электропитания за период (period)
- 13 ?? Получение данных о сторонних устройствах (other-last)
- 14 ?? (period)
- 15 Обновление статуса контроллера (update-status)
- 16 Получение актуального статуса Контроллера (get-status)
- 17 Добавление устройств через wizard
- 17.1 Датчик открытия двери (create-door-open-sensor)
- 17.2 Датчик затопления (create-flood-sensor)
- 17.3 Пульт,4 кнопки (create-console)
- 17.4 Сирена (create-siren)
- 17.5 Метеостанция: получение списка обнаруженных метеостанций за последние 10 минут (get-meteos)
- 17.6 Метеостанция: добавление (create-meteo)
- 17.7 Водопроводный кран
- 17.8 Добавление розетки
- 18 Коды
- 19 События
- 20 Места
- 20.1 Получение списка мест (places-list)
- 20.2 Создание места (create)
- 20.3 Редактирование места (edit)
- 20.4 Удаление места (delete)
- 20.5 Удаление устройства (remove-device)
- 20.6 передача локального IP Контроллера (get-ip)
- 20.7 Активация подписки Ebus
- 20.8 ?? Установка подписки на Контроллере - “in/subscription/set”:
- 20.9 ? Метод получения списка телефонов (get-phones)
- 20.10 Редактирование телефона (edit-phone)
- 20.11 Удаление телефона (delete-phone)
- 20.12 Добавление телефона (add-phone)
Учётная запись
Авторизация (login)
request:
Request URL: [site]/api/login
параметры запроса:
(string) email,
(string) password
Пример запроса:
{ "email":"aaaa@aaaa.aa", "password":"12345678" }
response: параметры ответа: (object)
Пример ответа:
{ "user_id":1, "username":"Ivan Pupkin", "email":"aaaa@aaa.aa", "phone": "423546546546", "sex":2, // пол 0 - не указан , 1 - женский , 2 - мужской "country":219, // код страны в базе "active_configuration":"1", "refcode":"JHE-1GD-T8B-9HB", "status":10, // 0 - неактивен , 10 - активен "token":"1Cyuvr9DKMbB6aFQ-mLPLeGZXFLyuK8d", "expired":1502586831 // метка времени до которой активен token }
Регистрация (registration)
request: Request URL: [site]/api/registration
параметры запроса:
(string) email,
(string) password
Пример запроса:
{ "email":"aaaa@aaaa.aa", "password":"12345678" }
response: параметры ответа: (object) пример:
{ "user_id": 43, "username": "user_4383", "email": "aaaa@aaa.aa", "sex": null, "country": null, "active_configuration": null, "refcode": "746-81O-0RJ-RJS", "status": 10 }
Профиль пользователя (profile)
request:
Request URL: [site]/api/profile/
параметры запроса: (string) token
Пример запроса:
{ "token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae" }
response: параметры ответа: (object) пример:
{ "user_id":1, "username":"Ivan Pupkin", "email":"aaaa@aaa.aa", "phone": "423546546546", "sex":2, // пол 0 - не указан , 1 - женский , 2 - мужской "send_email": 1, "send_sms": 0, "role": 1, "lang": 2, "country":219, // код страны в базе "active_configuration":"1", "refcode":"JHE-1GD-T8B-9HB", "status":10, // 0 - неактивен , 10 - активен "token":"1Cyuvr9DKMbB6aFQ-mLPLeGZXFLyuK8d", }
Контроллеры
Список Контроллеров Пользователя (list)
request: Request URL: [site]/api/ctrl/list/
параметры запроса: (string) token
Пример запроса:
{ "token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae" }
response:
параметры ответа: (array)
Пример ответа:
{ "0":{ "id":"11", "name":"AS_A61301A020E4", "armed":"0", //0 - снят с охраны, 1 - под охраной "device_ids":"a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}", //ids устройств на контроллере "action_ids":"a:0:{}", //ids действий на контроллере "timezone":"3", "token":"747D3844ABD35B08F27D18D15D7178B7AF99A754D805633928D4362D19B4AEC2", "online":"1" }, "1":{ "id":"12", "name":"AS_A61301A020E5", "armed":"1", "device_ids":"a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}", "action_ids":"a:0:{}", "timezone":"2", "token":"734D3844ABD35B08F27D18D15D7178B7AF99A754D805633928D4362D19B4AEC2", "online":"0" }]
Информация о Контроллере (info)
request: Request URL: [site]/api/ctrl/info/
параметры запроса: (int) controller_id , (string) token
Пример запроса:
{ "controller_id": 1 , "token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae" }
response:
параметры ответа: (object)
Пример ответа:
{ "id":"6", "name":"AS_7F26335CCF4B", "armed":"1", "device_ids":"a:26:{i:0;i:25;i:1;i:26;i:2;i:28;i:3;i:19;i:4;i:40;i:5;i:41;i:6;i:42;i:7;i:43;i:8;i:36;i:9;i:34;i:10;i:29;i:11;i:45;i:12;i:38;i:13;i:33;i:14;i:30;i:15;i:31;i:16;i:49;i:17;i:24;i:18;i:46;i:19;i:47;i:20;i:44;i:21;i:27;i:22;i:22;i:23;i:9;i:24;i:23;i:25;i:7;}", "action_ids":"a:4:{i:0;i:45;i:1;i:46;i:2;i:49;i:3;i:42;}", "timezone":"3", "token":"660D91C2B0926A8C981AE7DA4AAA4421A3D86D136262A6F8E98ACF534A7A715B", "online":"1" }
Постановка/снятие Контроллера на охрану / с охраны (armed)
request:
Request URL: [site]/api/ctrl/armed/
параметры запроса: (int) controller_id , (string) token пример:
{ "controller_id": 6 , "token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae" }
так как MQTT односторонний - ответа быть не может. Ответ что запрос ушел: response: параметры ответа: пример:
{ "result": "Ok" }
Добавление Контроллера (add)
request:
Request URL: [site]/api/ctrl/add
параметры запроса: (string) token
Пример:
{ "token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae" }
response: параметры ответа: пример:
{ "PIN":"7gDH" }
После ввода пин-кода необходимо обновить список Контроллеров (/api/ctrl/list/)
Обновление списка устройств и действий на Контроллере (update)
Этап 1 - обновляем список IDS устройств на Контроллере
request:
Request URL: [site]/api/ctrl/update/ параметры запроса: (int) controller_id , (string) token пример:
{ "controller_id": 6 , "token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae" }
response: параметры ответа: пример:
{ "result": "Ok" // "Ok" = запрос ушел }
Этап 2 - обновляем информацию о каждом устройстве
request: Request URL: [site]/api/ctrl/update-devices/
параметры запроса:
(int) controller_id, (string) token
Пример запроса:
{ "controller_id": 6 , "token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae", }
response:
параметры ответа:
Пример ответа:
{ "result": "Ok" // ответ что запрос ушел }
Процесс происходит автоматически. Для получения результата требуется таймаут, после чего делается стандартный запрос на получение данных (контроллер, устройства)
Удаление Контроллера (delete)
Request URL: [site]/api/ctrl/delete
Параметры запроса:
Пример запроса:
{ "token":"8yE-VIQrYuZ2bTeho_lajxjOJPnIe_Yx", "controller_id":"81" }
response: параметры ответа: пример:
{ "error":null, "data":{"resuls":"Ok"} }
Устройства
Получение списка устройств пользователя (list)
request:
Request URL: [site]/api/device/list
параметры запроса: (int) controller_id , (string) token
Пример запроса:
{ "controller_id": 1 , "token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae" }
response: параметры ответа:
Пример ответа:
{ "0":{ "id":"122", "external_id":"19", //id на контроллере "controller_id":"6", "name":"Сирена", "type_id":"2", //тип устройства "codes":":{ //коды (кнопки) "0":{ "id":"218", "external_cod_id":"32", "device_id":"122", "name":"ON", "code":"3675192", "protocol":"1", "pulse_len":null, "group_1":"1", "group_2":"0", "group_3":"0", "group_4":"0", "group_5":"0", "group_6":"0", "group_7":"0", "group_8":"0", "active":"1" }, "1":{ ... } }, "state":"1", "on_dashboard":"1", //показывать на главной "active":"1" }, "1":{ "id":"120", "external_id":"22", "controller_id":"6", "name":"Пульт 4кн бел", "type_id":"3", "codes": ... , "state":"1", "on_dashboard":"0", "active":"1" } }
Информация об устройстве (info)
request:
Request URL: [site]/api/device/info/
параметры запроса:
(int) controller_id,
(int) device_id,
(string) token
Пример запроса:
{ "controller_id": 1 , "device_id": 122, "token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae" }
response:
параметры ответа:
Пример ответа:
{ "id":"122", "external_id":"19", "controller_id":"6", "name":"Сирена", "type_id":"2", "codes":{ "0":{ "id":"218", "external_cod_id":"32", "device_id":"122", "name":"ON", "code":"3675192", "protocol":"1", "pulse_len":null, "group_1":"1", "group_2":"0", "group_3":"0", "group_4":"0", "group_5":"0", "group_6":"0", "group_7":"0", "group_8":"0", "active":"1" }, "1":{ "id":"219", "external_cod_id":"33", "device_id":"122", "name":"OFF", "code":"3675186 ... } }, "state":"1", "on_dashboard":"1", "active":"1" }
Обновление информации об устройстве (update)
request:
Request URL: [site]/api/device/update/
параметры запроса:
(int) device_id,
(string) name,
(int) active,
(string) token,
Пример запроса:
{ "device_id": 107, // local device id "name": "New name", // new name "active": 1, "token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae" }
response:
параметры ответа:
Пример ответа:
{ "resuls" : "Ok" }
Удаление устройства (delete)
request:
Request URL: [site]/api/device/delete/
параметры запроса:
(int) device_id,
(string) token
Пример запроса:
{ "device_id": 107, // local device id "token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae" }
response:
Параметры ответа:
Пример ответа:
{ "resuls" : "Ok" }
Код:
Сценарии
Список действий (list)
request: Request URL: [site]/api/scheduler/list/
параметры запроса: (string) token
Пример запроса:
{ "token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae" }
response:
параметры ответа:
Пример ответа:
{ "0":{ "id":9, "external_id":42, "name":"test_form_web", "operation":"local", "armed":0, "type":"meteo", "action_id":1, "a_controller_id":6, "a_device_id":112, "a_code_id":0, "a_device_external_id":38, "a_armed":0, "a_conf1":0, "a_conf2":0, "a_conf3":0, "a_conf4":0, "a_conf5":0, "a_conf6":0, "a_conf7":0, "a_conf8":0, "target_id":1, "t_controller_id":6, "t_device_id":119, "t_code_id":203, "t_device_external_id":7, "t_armed":0, "t_conf1":0, "t_conf2":0, "t_conf3":0, "t_conf4":0, "t_conf5":0, "t_conf6":0, "t_conf7":0, "t_conf8":0, "date":null, "repetition":"0", "sensor_type":"1", "logic_operation":"=", "value":"3", "active":1 }, "1":{ "id":10, "external_id":45 ... } }
Обновление действий (update)
Запрос осуществляется в 2 этапа: на первом этапе происходит при запросе на обновление Контроллера (см. "Обновление Контроллера"); на втором этапе обновляется информация о каждом действии.
request: Request URL: [site]/api/scheduler/update/
параметры запроса:
(int) controller_id,
(string) token
Пример запроса:
{ "controller_id": 6 , "token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae", }
response:
параметры ответа:
Пример ответа:
{ "result": "Ok" // ответ что запрос ушел }
Процесс обновления происходит автоматически. Для получения результата требуется таймаут, после чего делается стандартный запрос на получение данных (Контроллер, действия)
Информация о действии (info)
request: Request URL: [site]/api/scheduler/info/
параметры запроса:
(int) scheduler_id,
(string) token
Пример ответа:
{ "scheduler_id": 122, "token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae" }
response:
параметры ответа:
Пример ответа:
{ "id":9, "external_id":42, "name":"test_form_web", "operation":"local", "armed":0, "type":"meteo", "action_id":1, "a_controller_id":6, "a_device_id":112, "a_code_id":0, "a_device_external_id":38, "a_armed":0, "a_conf1":0, "a_conf2":0, "a_conf3":0, "a_conf4":0, "a_conf5":0, "a_conf6":0, "a_conf7":0, "a_conf8":0, "target_id":1, "t_controller_id":6, "t_device_id":119, "t_code_id":203, "t_device_external_id":7, "t_armed":0, "t_conf1":0, "t_conf2":0, "t_conf3":0, "t_conf4":0, "t_conf5":0, "t_conf6":0, "t_conf7":0, "t_conf8":0, "date":null, "repetition":"0", "sensor_type":"1", "logic_operation":"=", "value":"3", "active":1 }
(create)
request: Request URL: [site]/api/ параметры запроса: пример:
{ }
response: параметры ответа: пример:
{ }
(update)
request: Request URL: [site]/api/ параметры запроса: пример:
{ }
response: параметры ответа: пример:
{ }
(delete)
request: Request URL: [site]/api/login параметры запроса: пример:
{ }
response: параметры ответа: пример:
{ }
Логи пользователя (logs)
request:
Request URL: [site]/api/profile/logs/
параметры запроса: (string) token
Пример запроса:
{ "token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae" }
response: параметры ответа: (object) пример: {
} ________________________________________
Получение метеоданных (last)
request: Request URL: [site]/api/device/meteo-last/
параметры запроса:
(string) token,
(int) device_id
Пример запроса:
{ "token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae", "device_id": 130 }
response:
параметры ответа: (object)
Пример ответа:
{ "id":"4046", "controller_name":"AS_7FD6785CCF5D", "internal_id":"55", "device_id":"130", "name":"7", "temp":"240", "hum":"245", "illum":"0", "pres":"1239", "volt":"32", "date_time":"2016-03-02 21:09:40", "new":"0" }
Получение метеоданных за период (period)
request:
Request URL: [site]/api/device/meteo-period/
параметры запроса:
(string) token,
(int) device_id,
(int) period
Пример запроса:
{ "token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae", "device_id": 130, "period": 1 // количество дней }
response:
параметры ответа: (array to objects)
Пример ответа:
[ { "id":"4065", "controller_name":"AS_7FD6785CCF5D", "internal_id":"55", "device_id":"130", "name":"7", "temp":"240", "hum":"523", "illum":"0", "pres":"1239", "volt":"32", "date_time":"2017-07-30 21:11:07", "new":"0" }, { "id":"4067", "controller_name":"AS_7FD6785CCF5D ... }, ]
Получение данных электропитания (last)
request: Request URL: [site]/api/device/electro-last/
параметры запроса:
(string) token,
(int) device_id
Пример запроса:
{ "token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae", "device_id": 130 }
response:
параметры ответа: (object)
Пример ответа:
{ "id":"318", "controller_id":"11", "external_id":"2", "device_id":"125", "name":"23", "token":"747D3844ABD35B08F27D18D15D7178B7AF99A754D805633928D4362D19B4AEC2", "last_seen":"2017-07-21 04:20:27", "available":"1", "voltage":"24", "have_voltage":"1", "current":"2147483647", "have_current":"1", "supp_voltage":"33", "date_create":"2017-07-21 01:20:33", "new":"0" }
Получение данных электропитания за период (period)
request:
Request URL: [site]/api/device/electro-period/
параметры запроса:
(string) token,
(int) device_id,
(int) period
Пример запроса:
{ "token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae", "device_id": 130, "period": 1 // количество дней }
response:
параметры ответа: (array to objects)
Пример ответа:
[ { "id":"318", "controller_id":"11", "external_id":"2", "device_id":"125", "name":"23", "token":"747D3844ABD35B08F27D18D15D7178B7AF99A754D805633928D4362D19B4AEC2", "last_seen":"2017-07-21 04:20:27", "available":"1", "voltage":"24", "have_voltage":"1", "current":"2147483647", "have_current":"1", "supp_voltage":"33", "date_create":"2017-07-21 01:20:33", "new":"0" }, { "id":"318", "controller_id":"11", ... }, ]
?? Получение данных о сторонних устройствах (other-last)
Метод возвращает информацию о последнем обнаруженном стороннем устройстве.
request:
Request URL: [site]/api/device/other-last/
Параметры запроса:
(string) token,
(int) device_id
Пример запроса:
{ "token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae", "device_id": 118 }
response:
параметры ответа: (object)
Пример ответа:
{ "id":"1301", "controller_id":"6", "device_id":"118", "name":"Розетка", "code":"81", "pulse_len":null, "bit_len":null, "protocol":null, "groups":null, "type":null, "date_time":"2017-08-21 04:55:18", "active":null, "new":"1" }
?? (period)
request:
Request URL: [site]/api/device/other-period/
параметры запроса:
(string) token,
(int) device_id,
(int) period
Пример запроса: { "token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae", "device_id": 118, "period": 1 // количество дней } response:
параметры ответа: (array to objects)
Пример ответа:
{ "id":"1301", "controller_id":"6", "device_id":"118", "name":"Розетка", "code":"81", "pulse_len":null, "bit_len":null, "protocol":null, "groups":null, "type":null, "date_time":"2017-08-21 04:55:18", "active":null, "new":"1" }, { "id":"4067", "controller_id":"6", ... }
________________________________________
Ошибки:
параметры ошибки:
пример:
{ "errors":{ "password": [ "Incorrect username." ] } }
Обновление статуса контроллера (update-status)
request:
Request URL: [site]/api/ ctrl/update-status/
Параметры запроса:
(string) token,
(int) controller_id
Пример запроса:
{ "token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae", "controller_id": 122 }
response:
параметры ответа:
Пример ответа:
{ "error":null, "data":{ "resuls":"Ok" } }
Получение актуального статуса Контроллера (get-status)
request:
Request URL: [site]/api/ ctrl/get-status/
параметры запроса:
(string) token,
(int) controller_id
Пример запроса:
{ "token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae", "controller_id": 122 }
response:
параметры ответа:
Пример ответа:
{ "error":null, "data":{ "status":1 } }
Поле “status” может принимать следующие значения: • 0 – офлайн • 1 – онлайн • 2 – онлайн, после включения питания
Добавление устройств через wizard
Датчик открытия двери (create-door-open-sensor)
URL: [site]/api/wizard/create-door-open-sensor
Params: controller_id (required): int token (required): string, 64 device_name (optional): string, 256 code_ready (optional): string, 64 //Название кода готовности code_alarm (optional): string, 64 //Название кода оповещания code_low_battery (optional): string, 64 //Название кода садящейся батареи
RESPONSE:
{ data:{ 'response': 'OK' }, error: null }
После отправки параметров ожидается срабатывание добавляемого устройства. При срабатывании происходит процесс добавления, и лишь после этого приходит ответ.
Датчик затопления (create-flood-sensor)
Request URL: [site]/api/wizard/create-flood-sensor
Params:
controller_id (required): int
token (required): string, 64
device_name (optional): string, 256 code_alarm (optional): string, 64 //Название кода оповещения
code_tamper (optional): string, 64 //Название кода вмешательства
code_low_battery (optional): string, 64 //Название кода садящейся батареи
RESPONSE:
{ data: { 'response': 'OK' }, error: null }
После отправки параметров ожидается срабатывание добавляемого устройства. При срабатывании происходит процесс добавления, и лишь после этого приходит ответ.
Пульт,4 кнопки (create-console)
Request URL: [site]/api/wizard/create-console
Params:
controller_id (required): int
token (required): string, 64
device_name (optional): string, 256
code_lock (optional): string, 64 //Название кода блокировки
code_unlock (optional): string, 64 //Название кода разблокировки
code_s (optional): string, 64 //Название кода s
code_alarm (optional): string, 64 //Название кода оповещения
RESPONSE:
{ data: { 'response': 'OK' }, error: null }
После отправки параметров ожидается срабатывание добавляемого устройства. При срабатывании происходит процесс добавления, и лишь после этого приходит ответ.
Сирена (create-siren)
Request URL: [site]/api/wizard/create-siren
Params:
controller_id (required): int
token (required): string, 64
device_name (optional): string, 256
code_on (optional): string, 64 //Название кода включения
code_off (optional): string, 64 //Название кода выключения
code_blank (optional): string, 64 //Название кода blank
RESPONSE:
{ data: { 'response': 'OK' }, error: null }
Перед отправкой параметров необходимо перевести сирену в режим обучения.
Метеостанция: получение списка обнаруженных метеостанций за последние 10 минут (get-meteos)
Request URL: [site]/api/wizard/get-meteos
Params:
controller_id (required): int
token (required): string, 64
RESPONSE:
{ "error":null, "data": [{"id":"93","controller_id":"79","date":"1528389351","type":"7","family":"0","rf_code":null,"rf_bit_len":null,"rf_pulse_len":null,"rf_protocol":null,"rf_freq":null,"ir_code":null,"ir_bit_len":null,"ir_address":null,"ir_protocol":null,"meteo_num":"0"}] }
Метеостанция: добавление (create-meteo)
Request URL: [site][site]/api/wizard/create-meteo
Params:
controller_id (required): int
token (required): string, 64
meteo_num (required): int //Получается в списке выше
device_name (optional): string, 256
RESPONSE:
{ "error":null, "data":{ "response":"OK" } }
Водопроводный кран
Порядок добавления крана: 1) Сгенерировать коды
2) Зажать на кране кнопку, пока кран не мигнёт трижды
3) Отправить один код
4) Нажать на кране кнопку однократно
5) Зажать на кране кнопку, пока не мигнёт 4 раза
6) Отправить второй код из сгенерированных
7) Нажать на кране кнопку однократно
8) Отправить запрос на создание крана.
Генерация кодов
Request URL: [site]/api/wizard/create-codes
Params:
controller_id (required): int
token (required): string, 64
Response:
{ "error":null, "data":{"response":{"id":30,"masks":"[6,4,0,1]","code_1":"9920950","code_2":"9920948","code_3":"9920944","code_4":"9920945"} } }
Выполнение кода
Request URL: [site]/api/wizard/execute-code
Params:
controller_id (required): int
token (required): string, 64
code (required): int // Берется из сгенерированных
Response:
{ error: null, data: { "response":"OK" } }
Добавление крана
Request URL: [site]/api/wizard/create-crane-by-codes
Params:
controller_id (required): int
token (required): string, 64
code_1 (required): int
code_2 (required): int
device_name (optional): string, 256
code_open (optional): string, 64 //Название кода открытия
code_close (optional): string, 64 //Название кода закрытия
RESPONSE:
{ data:{'response': 'OK'}, error: null }
Добавление розетки
порядок добаления розетки следующий:
1) Сгенерировать коды
2) Зажать на розетке кнопку, пока она не начнет мигать
3) Отправить один код
4) Зажать на розетке кнопку, пока она не начнет мигать
5) Отправить второй код из сгенерированых
6) Отправить запрос на создание розетки
Генерация кодов (create-codes)
Request URL: [site]/api/wizard/create-codes
Params:
controller_id (required): int
token (required): string, 64
socket (required): любое значение.
Response:
{ "error":null, "data":{ "response":{"id":30,"masks":"[257, 258]","code_1":"8737025","code_2":"8737026"} } }
Выполнение кода (execute-code)
Request URL: [site]/api/wizard/execute-code
Params:
controller_id (required): int
token (required): string, 64
code (required): int // Берется из сгенерированных
Response
{ error: null, data: {'response' => 'OK'} }
Добавление розетки (create-socket)
Request URL: [site]/api/wizard/create-socket
Params:
controller_id (required): int
token (required): string, 64
code_1 (required): int
code_2 (required): int
device_name (optional): string, 256
code_off (optional): string, 64 //Название кода открытия
code_on (optional): string, 64 //Название кода закрытия
RESPONSE:
{ data: {'response':'OK'}, error: null }
Коды
Получение информации о коде (info)
request:
Request URL: [site]/api/property/info/
параметры запроса: (int) controller_id,
(int) device_id,
(int) code_id,
(string) token
Пример запроса:
{ "controller_id": 6, "device_id": 109, "code_id": 192, "token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae" }
response: параметры ответа:
Пример ответа:
{ "id":"192", "external_cod_id":"67", "device_id":"109", "name":"4 OFF", "code":"12209156", "protocol":"1", "pulse_len":null, "group_1":"1", "group_2":"0", "group_3":"0", "group_4":"0", "group_5":"0", "group_6":"0", "group_7":"0", "group_8":"0", "active":"1" }
Изменение имени кода (update-code-name)
Request URL: [site]/api/device/update-code-name
Request Params:
token (required): string(64)
code_id (required): int
name (optional): string(255)
SUCCESS RESPONSE:
{ data: { 'message': "OK" }, error: null }
Получение кодов по типу сигнала (get-codes-by-subtype)
Request URL: [site]/api/device/get-codes-by-subtype
Request Params:
token (required): string(64)
device_subtype_id (optional): int, default 0.
Получение списка кодов (get-codes)
Request URL: [site]/api/device/get-codes
PARAMS: token (required): string 64
controller_id (required): int
SUCCESS RESPONSE:
{ data: [ { devices: [ { id: 13 external_id: 7, controller_id: 5, name: "Simple device", type_id: 2, password: null, codes: "a:4:{i:0;i:46;i:1;i:47;i:2;i:48;i:3;i:45;}", state: 1, on_dashboard: 0, active: 1, new: 1, family: DEVICE_FAMILY_RADIO, camera_id: null, camera_host: null }, { id: 14 external_id: 8, controller_id: 5, name: "Simple device", type_id: 2, password: null, codes: "a:4:{i:0;i:46;i:1;i:47;i:2;i:48;i:3;i:45;}", state: 1, on_dashboard: 0, active: 1, new: 1, family: DEVICE_FAMILY_RADIO, camera_id: null, camera_host: null }, ], code: { id: 12, controller_id: 5, device_type_id: 2, code: 498654, protocol: 1, bit_len: 32, pulse_len: 86, freq: 77, address: 94, num: 1, date_create: '2018-04-13 18:29:11" } }, { devices: [ { id: 13 external_id: 7, controller_id: 5, name: "Simple device", type_id: 2, password: null, codes: "a:4:{i:0;i:46;i:1;i:47;i:2;i:48;i:3;i:45;}", state: 1, on_dashboard: 0, active: 1, new: 1, family: DEVICE_FAMILY_RADIO, camera_id: null, camera_host: null }, { id: 14 external_id: 8, controller_id: 5, name: "Simple device", type_id: 2, password: null, codes: "a:4:{i:0;i:46;i:1;i:47;i:2;i:48;i:3;i:45;}", state: 1, on_dashboard: 0, active: 1, new: 1, family: DEVICE_FAMILY_RADIO, camera_id: null, camera_host: null }, ], code: { id: 12, controller_id: 5, device_type_id: 2, code: 498654, protocol: 1, bit_len: 32, pulse_len: 86, freq: 77, address: 94, num: 1, date_create: '2018-04-13 18:29:11" } }, }, error: null, }
Добавление кода к устройству (set-code-to-device)
Request URL: [site]/api/device/set-code-to-device
PARAMS:
token (required): string 64
code_id (required): int
device_id (required): int
name (optional): string 256
SUCCESS RESPONSE:
{ data: { id: 5, external_cod_id: 15, device_id: 14, name: "Name" code: 8463517, protocol: 0, pulse_len: 86, active: 1, }, error: null }
Удаление кода (remove-code)
Request URL: [site]/api/device/remove-code PARAMS:
token (required): string 64
code_id (required): int
SUCCESS RESPONSE:
{ data: { message: "OK" }, error: null }
События
Нажатие кнопки на устройстве (event)
request:
Request URL: [site]/api/device/event/ параметры запроса:
(string) controller_name,
(int) device_external_id,
(int) cod_external_id,
(string) token,
(int) device_type
Пример запроса:
{ "controller_name": " AS_7F26335CCF4B" , "device_external_id": 19, "cod_external_id": 1, "device_type": 1, "token":"_zcX0_QceAqgP_seIvjG32EC3HMO34ae" }
так как MQTT односторонний - ответа быть не может. Может быть возвращён ответ, что запрос отправлен: response:
параметры ответа:
Пример ответа:
{ "result": "Ok" }
Места
Получение списка мест (places-list)
Request URL: [site]/api/places/places-list
Request params:
token (required): string, 64
Response:
{ "error":null, "data":{ "rooms":[{"id":1,"root_id":1,"user_id":424,"lvl":0,"name":"Дом","icon":0,"icon_type":1,"color":"#fff2cc","readonly":0,"visible":1},{"id":2,"root_id":1,"user_id":424,"lvl":1,"name":"Спальня","icon":0,"icon_type":1,"color":"#b6d7a8","readonly":0,"visible":1}] } }
Создание места (create)
Request URL: [site]/api/places/create
Request params:
token (required): string, 64
root (optional): int, default 1
lft (optional): int, from 1 to 5 //В сумме с rgt должно быть 5
rgt (optional): int, from 1 to 5 //В сумме с lft должно быть 5
lvl (optional): int, default 0
name (optional): string, 64, default 'Simple name'
icon (optional): string, default //Допускаемые параметры -- ключи объекта выше
color (optional): string, default: '#ccc' //Любой цвет в формате HEX, решетка в начале обязательна
active (optional): int, default 1
selected (optional): int, default 0
disabled (optional): int, default 0
readonly (optional): int, default 0
visible (optional): int, default 1
collapsed (optional): int, default 0
movable_u (optional): int, default 1
movable_d (optional): int, default 1
movable_l (optional): int, default 1
movable_r (optional): int, default 1
removable (optional): int, default 1
removable_all (optional): int, default 0
inverse_text (optional): string, default 'black'
Response:
{ error:null, data: {'message': 'OK'} }
Редактирование места (edit)
Request URL: [site]/api/places/edit
Request params:
token (required): string, 64
place_id (required): int
root (optional): int, default 1
lft (optional): int, from 1 to 5 //В сумме с rgt должно быть 5
rgt (optional): int, from 1 to 5 //В сумме с lft должно быть 5
lvl (optional): int, default 0
name (optional): string, 64, default 'Simple name'
icon (optional): string, default //Допускаемые параметры -- ключи объекта выше
color (optional): string, default: '#ccc' //Любой цвет в формате HEX, решетка в начале обязательна
active (optional): int, default 1
selected (optional): int, default 0
disabled (optional): int, default 0
readonly (optional): int, default 0
visible (optional): int, default 1
collapsed (optional): int, default 0
movable_u (optional): int, default 1
movable_d (optional): int, default 1
movable_l (optional): int, default 1
movable_r (optional): int, default 1
removable (optional): int, default 1
removable_all (optional): int, default 0
inverse_text (optional): string, default 'black'
Response:
{ error:null, data: {'message': 'OK'} }
Удаление места (delete)
Request URL: [site]/api/places/delete
Request params:
token (required): string, 64
place_id (required): int
Response:
{ error:null, data: {'message': 'OK'} }
Удаление устройства (remove-device)
Request URL: [site]/api/device/remove-device
PARAMS:
token (required): string (64)
device_id (required): int
SUCCESS RESPONSE:
{ data: {message: 'OK'}, error: null }
Удаление устройства (remove-device)
Request URL: [site]/api/device/remove-device PARAMS:
token (required): string 64
device_id (required): int
SUCCESS RESPONSE:
{ data: { message: "OK" }, error: null }
передача локального IP Контроллера (get-ip)
Request URL: [site]/api/ctrl/get-ip
Request Params:
token (required): string(64);
controller_id (required): int;
SUCCESS RESPONSE:
{ data:'192.168.0.15', error: null }
Активация подписки Ebus
Получение состояния подписки на Контроллере - “in/subscription/get”:
{ "id": 1, // ID подписки (см. ниже) "seq_id": 0 }
Ответ:
{ "seq_id": 0, "remain_time": 100, // оставшееся время в секундах, 4294967295 – неограниченно "success": 0/1 }
Установка подписки на Контроллере - “in/subscription/set”:
{ "seq_id": 0, "id": 1, // ID подписки (см. ниже) "remain_time": 100 // оставшееся время в секундах, 4294967295 - неограниченно }
Ответ:
{ "seq_id": 0, "success": 0/1 }
Идентификаторы подписок: SUBSCRIPTION_EBUS = 1
Статус Контроллера
Контроллер отправляет информацию о своем онлайн/оффлайн статусе в топик “out/status”.
Формат сообщения:
{ "status": 1 // см. ниже }
Поле “status” может принимать следующие значения:
• "0" – оффлайн
• "1" – онлайн
• "2" – онлайн, после включения питания
При получении сообщения со статусом "2", портал должен отправить Контроллеру информацию о пользовательских подписках, как это описано в разделе «Подписки».
?? Установка подписки на Контроллере - “in/subscription/set”:
{ "seq_id": 0, "id": 1, // ID подписки (см. ниже) "remain_time": 100 // оставшееся время в секундах, 4294967295 - неограниченно } <pre> == Просмотр статуса подписки (get-subscribe-status) == Request URL: [site]/api/ctrl/get-subscribe-status params: token (required): string(64) controller_id (required): int response: {data:{id: 1, controller_id: 40, user_id: 424, remain_time: 100, request_time: 1355314332, response_time: 1355315332, success: 0}, error: ''} == Активация/продление/покупка подписки (set-subscribe) == Request URL: [site]/api/ctrl/set-subscribe params: token (required): string(64) controller_id (required): int response: <pre> { data:{ id: 1, controller_id: 40, user_id: 424, remain_time: 100, request_time: 1355314332, response_time: 1355315332, success: 0 }, error: '' }
? Метод получения списка телефонов (get-phones)
Request URL: [site]/api/ctrl/get-phones
Params:
token (required): string, 64
controller_id (required): int
type (optional): string, range ['recipient', 'authorized', 'all'], default 'all'
Response:
{ 'error': null, data: [ {'id': 5, 'phone': '+380123456789'}, {'id': 6, 'phone': '+380123334455'}, {'id': 7, 'phone': '+380112223344'} ] }
Редактирование телефона (edit-phone)
Request URL: [site]/api/ctrl/edit-phone
Params:
token (required): string, 64
phone_id (required): int
is_recipient (optional): int
is_authorized (optional): int
phone (optional): string
Response:
{ "error":null, "data":{ "id":2, "controller_id":81, "phone":"+380503334455", "is_recipient":"1", "is_authorized":0 } }
Удаление телефона (delete-phone)
Request URL: [site]/api/ctrl/delete-phone
Params:
token (required): string, 64
phone_id (required): int
Response:
{ "error":null, "data":{"response":"OK"} }
Добавление телефона (add-phone)
Request URL: [site]/api/ctrl/add-phone
Params:
token (required): string, 64
controller_id (required): int
phone (required): string
is_recipient (optional): int
is_authorized (optional): int
Response:
{ "error":null, "data":{ "id":2, "controller_id":81, "phone":"+380503334455", "is_recipient":"1", "is_authorized":0 } }