Просмотр полной версии : API для OwenCloud
Здравствуйте. API в открытом доступе - что мешает получать данные напрямую с сервиса?
c API всё в порядке, не отключен, что бы не опросил такая запись приходит, токен получал с личного кабинета, а не через авторизацию, потому что тоже не работает
{"name":"Unauthorized","message":"Your request was made with invalid credentials.","code":0,"status":401}
dsyabitov
03.04.2018, 14:07
c API всё в порядке, не отключен, что бы не опросил такая запись приходит, токен получал с личного кабинета, а не через авторизацию, потому что тоже не работает
{"name":"Unauthorized","message":"Your request was made with invalid credentials.","code":0,"status":401}
Здравствуйте.
Вероятно Вы используете доступ через http, а не https.
Правильный url - https://api.owencloud.ru/v1/auth/open
Пример:
Получаем токен авторизации http://joxi.ru/4AkoGN7iywV9RA
Получаем список устройств http://joxi.ru/ZrJYp7ac9jkOzA
крайни раз на этот адрес заходил HttpPost("https://api.owencloud.ru/v1/parameters/last-data")
dsyabitov
03.04.2018, 14:43
крайни раз на этот адрес заходил HttpPost("https://api.owencloud.ru/v1/parameters/last-data")
http://joxi.ru/brR5Y01tJl89NA
виноват, всё работает, просто Bearer не в ту строчку записал
dsyabitov
03.04.2018, 20:33
виноват, всё работает, просто Bearer не в ту строчку записал
Ничего. Бывает...
http://joxi.ru/brR5Y01tJl89NA
в чем магия? У меня возвращает пустые скобки, при чем если я сделаю как на скрине пробел перед ids выдает ошибку Bad request
dsyabitov
05.04.2018, 06:53
в чем магия? У меня возвращает пустые скобки, при чем если я сделаю как на скрине пробел перед ids выдает ошибку Bad request
Здравствуйте.
Пришлите в личку скрин с запросом.
спасибо за подсказку на предыдущий вопрос, ошибку свою увидел, данные поучаю
еще вопрос по поводу фильтрации, есть у меня два объекта "name":"МК210-302" и "name":"пр200"
пробую фильтровать
post("https://api.owencloud.ru/v1/device/index", "{\"filter\":\"200\"}")
возвращаются пустые скобки, без фильтра оба прибора возвращаются
{"data":[{"id":560909,"value":"6057"}],"sms_code":"","sms_tag":"","sync":false,"timeout":60}
{"name":"Bad Request","message":"You should provide ids","code":0,"status":400}ответы вообще не информативны, плохой запрос заключался не в ИД, а в url-е, тест копировал с чтения и не поменял на write , теперь
{"data":[{"id":560909,"value":"1059"}],"sms_code":"","sms_tag":"","sync":false,"timeout":60}
{"writeGroupId":306213,"writeParams":[{"paramId":560909,"writeParamId":325013}]}
dsyabitov
06.04.2018, 09:40
спасибо за подсказку на предыдущий вопрос, ошибку свою увидел, данные поучаю
еще вопрос по поводу фильтрации, есть у меня два объекта "name":"МК210-302" и "name":"пр200"
пробую фильтровать
post("https://api.owencloud.ru/v1/device/index", "{\"filter\":\"200\"}")
возвращаются пустые скобки, без фильтра оба прибора возвращаются
Здравствуйте.
Запрос действительно не работает. Будем исправлять. Спасибо за найденную ошибку.
dsyabitov
06.04.2018, 09:42
ответы вообще не информативны, плохой запрос заключался не в ИД, а в url-е, тест копировал с чтения и не поменял на write , теперь
Чуть больше подробностей. Какой запрос некорректно работал? Или Вы перепутали урлы?
Чуть больше подробностей. Какой запрос некорректно работал? Или Вы перепутали урлы?
да я перепутал url, а "message":"You should provide ids" направляет меня искать проблему в другую сторону
dsyabitov
06.04.2018, 12:01
да я перепутал url, а "message":"You should provide ids" направляет меня искать проблему в другую сторону
Ну, тут Вы перепутали урл. Тому урлу нужны ID. Он же не может догадаться, что к нему по ошибке пришли и указать точный адрес, куда нужно обратиться клиенту.
если постараться то можно, понятно что тяжело и отчасти бесполезно прописывать всё, но я же не углублялся в тонкости, простые же команды чтения и записи. Валидация POST-запроса наверняка имеется, в любом чтении обязательно присутствует ids, так же только в записи имеется data. Раз уж пришел некорректный запрос, серверу не составит труда разобрать пост запрос, чтоб вернуть нужную ошибку. Соглашусь конечно что подобного рода ошибки возникают один раз в самом начале но вернуть в этой строчке path и сам post-запрос было бы информативнее
Непонятки с терминологией. Где в API опрос текущего состояния входов модуля дискретного ввода?
:confused:
Вот через gsm шлюз подключён модуль дискретного ввода, и у него на входе1 допустим, поплавок водяного бака.
Как опросить вход1 чтобы понять - полон бак или пуст?
Я так понимаю, как-то можно получить 16-битное число, с отображением текущего состояния входов, типа 1100000010001111 ? Нет? Период опроса(связи с прибором) особо некритичен.
Непонятки с терминологией. Где в API опрос текущего состояния входов модуля дискретного ввода?
:confused:
Вот через gsm шлюз подключён модуль дискретного ввода, и у него на входе1 допустим, поплавок водяного бака.
Как опросить вход1 чтобы понять - полон бак или пуст?
Я так понимаю, как-то можно получить 16-битное число, с отображением текущего состояния входов, типа 1100000010001111 ? Нет? Период опроса(связи с прибором) особо некритичен.
так в самом облаке есть параметр, который считывает маску входов с прибора. Сперва облако опрашивает прибор, а потом уже по API можно получить значение параметра, если есть с чего брать
bitmask_value - это оно? оно доступно и для модулей дискретного ввода, и для модулей дискретного вывода?
krollcbas
26.09.2018, 19:13
Если параметр уже в облаке, в сети. Полагаю что существует возможность вывода значения на html странице.
Зачем нужно?
Например, есть демонстрационная задача прям на сайте демонстрировать в онлайне, например, значения температур.
Возможно ли вывести значение на стороннем сайте?
это (https://www.google.ru/search?newwindow=1&source=hp&ei=h7SrW_L-F8GwsQHkoKKYBg&q=php+%D0%B8+oauth2&oq=php+%D0%B8+qauth) должно помочь
Нужно воспользоваться API облака.
Необходима консультация. Обращался к куратору темы. Ноль в ответ. Проблема такая. Хочу,не вникая в кучу
функций АПИ, записать показания с модуля МВ 110 ТД1(аналоговые показания тензодатчика) на овеновский
сервер. Может ли кто то написать в двух форматах этот запрос? С ответом разберусь сам. Спасибо.
вот что у меня осталось после ознакомления с документацией
MrNobody
14.10.2018, 19:45
Добрый вечер! Прошу помощи.
Не получается получить token для авторизации.
С помощью программы Postman сформировался URL "https://api.owencloud.ru/v1/auth/open?{"login"="demo@owen.ru","password":"demo123", но в ответ приходит или ошибка 400 или 401.
39200
39201
39202
MrNobody
14.10.2018, 20:39
это не POST запрос, а ближе к GET
Возможно, но я сделал все по примеру как в этом сообщении (http://www.owen.ru/forum/showthread.php?t=28578&p=274744&viewfull=1#post274744), а там указан POST запрос (http://joxi.ru/4AkoGN7iywV9RA)
Поменял Post на Get, но получил также ошибку 401
Возможно, но я сделал все по примеру как в этом сообщении (http://www.owen.ru/forum/showthread.php?t=28578&p=274744&viewfull=1#post274744), а там указан POST запрос (http://joxi.ru/4AkoGN7iywV9RA)
Поменял Post на Get, но получил также ошибку 401
не туда Вы вставляете JSON
MrNobody
14.10.2018, 20:56
нет не всё, Вы взяли логин пароль из документации, а dsyabitov использует другую пару для входа. И как я говорил, не туда Вы вставляете JSON
Спасибо за помощь!
прибор через шлюз или плк с новой прошивкой общаются с облаком посредством токенов тоже, поэтому говорить о том чтоб обойти эту систему я смысла не вижу, а МАС адрес определяет уникальность прибора во всей подключаемой базе устройств облака
Та я все это понимаю. МАС адрес ихнего прибора овеновского?
речь о МАС адресе не любого прибора Овен а только ПЕ или ПЛК с новой прошивкой для работы с облаком. Простые приборы Овен тусуются в стороне.
Так что оставьте свои желания просто присуропить любые приборы Овен к облаку без ПЕ. тем более у приборов и сетевой карты нет, чтобы что-то прикручивать.
желание сменить адрес в планшете ?
e.filatov
15.10.2018, 16:27
Необходима консультация. Обращался к куратору темы. Ноль в ответ. Проблема такая. Хочу,не вникая в кучу
функций АПИ, записать показания с модуля МВ 110 ТД1(аналоговые показания тензодатчика) на овеновский
сервер. Может ли кто то написать в двух форматах этот запрос? С ответом разберусь сам. Спасибо.
Ну в принципе есть вариант как это сделать:
1) Подключить 1ТД к планшету, преобразовав чистый UART в RS485;
2) Организовать опрос 1ТД приложением с планшета по его карте регистров;
3) Узнать у разрабов порядок соединения, принцип идентификации и формат запросов.
4) Зарегать планшет на облаке, в качестве ID использовать MAC планшета
5) Создать произвольное устройство Modbus
6) Придумать карту регистров, которую облако будет опрашивать
7) Отвечать на запросы сервера.
В принципе всё, кроме пункта 3, вы можете сделать. Или же просто купить один из шлюзов, в котором всё сделали за Вас
В дополнение ответа про "Наврали про все приборы".
В мире давно гуляет куча облаков, которые позволяют подключать устройства с различными протоколами обмена. И поверьте, из них я как то не припоминаю бесплатных. Бывал на одной конференции. Рассказывали про стратегию их облака "Абсолютно любое устройство". На их платформе реализована диспетчеризации производства самолётов Airbus. А теперь самое веселое - минимальная годовая подписка с лимитом по количеству устройств порядка 30 000 у.е. Если же Вам необходимо добавить своё устройство - придётся платить за разработку модуля.
Так что либо платить приличные деньги, на которые будут содержатся кучи серверов и разработчков, либо использовать бесплатные аналоги, но узкопрофильные (точнее заточенные под ограниченный спикок устройств/протоколов).
MrNobody
16.10.2018, 09:52
в чем магия? У меня возвращает пустые скобки, при чем если я сделаю как на скрине пробел перед ids выдает ошибку Bad request
capzap, а можете подсказать в чем проблема была (http://www.owen.ru/forum/showthread.php?t=28578&p=274935&viewfull=1#post274935) с запросом https://api.owencloud.ru/v1/parameters/last-data ? Мне также приходит ответ "[]".
если честно, то я это делал "на коленке", особо не вникал, значит просто синтаксис. Вы бы показали скрин запроса, только вместо id прибора нули поставте и токен сотрите
MrNobody
16.10.2018, 11:34
если честно, то я это делал "на коленке", особо не вникал, значит просто синтаксис. Вы бы показали скрин запроса, только вместо id прибора нули поставте и токен сотрите
Токен ставлю тот, который приходит в ответ на https://api.owencloud.ru/v1/auth/open.
А вот, где смотреть ids параметров в cloud, так и не разобрался...
ну я имел ввиду, здесь на форуме не "светите" токеном и прибором. А так у Вас не правильный Content TYpe
MrNobody
18.10.2018, 09:25
ну я имел ввиду, здесь на форуме не "светите" токеном и прибором. А так у Вас не правильный Content TYpe
Спасибо, capzap. Разобрался с проблемой.
Здравствуйте!
Такой вопрос:
Подключаюсь к api из 1С, получаю токен, список приборов, а запрос Получения последних данных с прибора - POST parameters/last-data возвращает статус 200, и пустой ответ. Что это может быть?
dsyabitov
08.11.2018, 06:17
Здравствуйте!
Такой вопрос:
Подключаюсь к api из 1С, получаю токен, список приборов, а запрос Получения последних данных с прибора - POST parameters/last-data возвращает статус 200, и пустой ответ. Что это может быть?
Здравствуйте.
В id's надо подавать ID параметров, по которым хотите получить данные. Вы, вероятнее всего, подаете id устройств. Вот пример: http://joxi.ru/n2YaO6QCoXxkl2
Хорошо, благодарю за быстрый ответ.
Тогда другой вопрос: каким запросом мне получить показания счетчиков?
dsyabitov
08.11.2018, 09:32
Хорошо, благодарю за быстрый ответ.
Тогда другой вопрос: каким запросом мне получить показания счетчиков?
Каких счетчиков? У вас есть прибор, у прибора есть параметры. Вот значение параметра Вы и получите через last-data
Каких счетчиков? У вас есть прибор, у прибора есть параметры. Вот значение параметра Вы и получите через last-data
У меня есть Терморегулятор ТРМ-201, как мне получить показания этого прибора за последние сутки?
Может я конечно глупые вопросы задаю, прошу простить за это, я специалист по 1С и стоит задача забрать данные и сравнить с данными производства.
dsyabitov
08.11.2018, 11:28
У меня есть Терморегулятор ТРМ-201, как мне получить показания этого прибора за последние сутки?
Может я конечно глупые вопросы задаю, прошу простить за это, я специалист по 1С и стоит задача забрать данные и сравнить с данными производства.
Если хотите получить данные за сутки - используйте запрос parameters/data .
Если хотите получить данные за сутки - используйте запрос parameters/data .
Спасибо. В ids мне что передать? Я получила список приборов компании в parameters/data мне передавать id или identifier по приборам по которым я хочу получить данные? Или мне по каждому прибору отдельно запрашивать показания?
dsyabitov
08.11.2018, 13:22
Спасибо. В ids мне что передать? Я получила список приборов компании в parameters/data мне передавать id или identifier по приборам по которым я хочу получить данные? Или мне по каждому прибору отдельно запрашивать показания?
Документация и даже с примером здесь - https://api.owencloud.ru/
Документация и даже с примером здесь - https://api.owencloud.ru/
Именно ее я и читаю, я получила список приборов, передаю в ids id прибора по которому хочу получить данные, api возвращает мне код возврата 200 и пустой ответ [].
Мы вернулись к тому с чего я начала, что из того, что я получила при выполнении запроса со списком приборов, мне необходимо передать в параметре ids запроса POST parameters/data, чтоб получить не пустой ответ, а ответ с показаниями?
dsyabitov
08.11.2018, 14:23
Именно ее я и читаю, я получила список приборов, передаю в ids id прибора по которому хочу получить данные, api возвращает мне код возврата 200 и пустой ответ [].
Мы вернулись к тому с чего я начала, что из того, что я получила при выполнении запроса со списком приборов, мне необходимо передать в параметре ids запроса POST parameters/data, чтоб получить не пустой ответ, а ответ с показаниями?
http://joxi.ru/a2XZO5qI1EXywr
http://joxi.ru/a2XZO5qI1EXywr
Что такое идентификатор параметра и где мне его взять? В личном кабинете или отдельным запросом?
dsyabitov
08.11.2018, 18:24
Что такое идентификатор параметра и где мне его взять? В личном кабинете или отдельным запросом?
В ответе запроса информации по устройству. Читайте внимательно документацию по API, там все есть.
Господа!!! Кто может помочь? Нужен простенький пример обращения к api на HTML.
так всё зависит от постановки вопроса, какой на фиг HTML, этот язык не умеет посылать такие запросы
[QUOTE=capzap;293095]так всё зависит от постановки вопроса, какой на фиг HTML, этот язык не умеет посылать такие запросы[/QUOT
И скрипты из него не запускаются...
"Спасибо за помочь" Наверное самый содержательный ответ, Учитывая что он единственный.
так всё зависит от постановки вопроса, какой на фиг HTML, этот язык не умеет посылать такие запросы[/QUOT
И скрипты из него не запускаются...
"Спасибо за помочь" Наверное самый содержательный ответ, Учитывая что он единственный.
т.е. мы должны догадываться что Вы хотите на скриптах это сделать, а потом окажется что свою страничку Вы где нибудь на php делаете и т.д.. HTML это язык разметки
вот еще более содержательная информация https://developers.google.com/identity/protocols/OAuth2UserAgent для Вас
Да, пробую сделать страничку. Я пытаюсь разобраться как это работает. Для начала отправить запрос и получить ответ из браузера.
Вы можете помочь.
Спасибо, господа за помочь. Разобрался сам. Но столкнулся с другой проблемой. Браузер блокирует запросы из за отсутствия заголовка "Access-Control-Allow-Origin: *". Как это можно обойти.
https://imapo.ru/%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B0-no-access-control-allow-origin/ и что ни один из способов не помогает?
StanZelen
11.12.2018, 15:29
Присоединяюсь к теме, та же проблема. Возможно ли получить данные через ajax ?
var rec = [{ "login": "login", "password":"password"}];
$.ajax({
type: "POST",
url: "https://api.owencloud.ru/v1/auth/open",
data: rec,
contentType: "application/x-www-form-urlencoded; charset=UTF-8",
dataType: "json",
success: function (data) { alert(data); }
});
не возвращает ровным счетом ничего
dsyabitov
12.12.2018, 08:44
Спасибо, господа за помочь. Разобрался сам. Но столкнулся с другой проблемой. Браузер блокирует запросы из за отсутствия заголовка "Access-Control-Allow-Origin: *". Как это можно обойти.
Здравствуйте.
CORS разрешен для протокола HTTPS и работает. Соответствующие изменения внесены на сервер.
dsyabitov
12.12.2018, 08:57
<!DOCTYPE html>
<html lang="ru-RU">
<head>
<meta charset="UTF-8">
<meta name="Access-Control-Allow-Origin" content="*">
<meta name="Access-Control-Allow-Headers" content="*">
</head>
<body>
<script type="text/javascript">
function transferComplete(evt) {
console.log(this.responseText);
}
function transferFailed(evt) {
console.log("An error occurred while transferring the file.");
console.log(this.responseText);
console.log(evt);
}
var oReq = new XMLHttpRequest();
oReq.addEventListener("load", transferComplete);
oReq.addEventListener("error", transferFailed);
oReq.open("POST", "https://api.owencloud.ru/v1/auth/open", true);
oReq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
oReq.send('{"login":"demo@owen.ru","password":"demo123"}');
</script>
</body>
</html>
StanZelen
12.12.2018, 15:08
dsyabitov, спасибо большое, все заработало )
Здравствуйте.
CORS разрешен для протокола HTTPS и работает. Соответствующие изменения внесены на сервер.
Спасибо!!! буду пробовать.
https://imapo.ru/%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B0-no-access-control-allow-origin/ и что ни один из способов не помогает?
Это и сделали господа из тех поддержки, а у меня доступа к их серверу нет.
Заработало частично. токен получаю. данные о приборах тоже только без токена. Как только подставляю заголовок токен к запросу https://api.owencloud.ru/v1/parameters/last-data опят ругается на CORS.
Заработало частично. токен получаю. данные о приборах тоже только без токена. Как только подставляю заголовок Authorization к запросу https://api.owencloud.ru/v1/parameters/last-data опят ругается на CORS. Выкладываю пример с запросом токена, если в тексте снять комментарий с заголовка авторизации, браузер будет ругаться на CORS
40372
Если я правильно понял, то Sayland пытается из этой странички сделать запрос на овен, она сама располагается у него на web сервере (домене).
По факту post запрос на чужой домен из Js, но насколько мне известно это запрещено.
Вот нагуглил статью (http://javascript.ru/ajax/cross-domain-scripting)
Знаю что есть способ обойти, но это явно не тот случай.
Я считаю что этот код работать не должен или я не прав?
Если я правильно понял, то Sayland пытается из этой странички сделать запрос на овен, она сама располагается у него на web сервере (домене).
По факту post запрос на чужой домен из Js, но насколько мне известно это запрещено.
Вот нагуглил статью (http://javascript.ru/ajax/cross-domain-scripting)
Знаю что есть способ обойти, но это явно не тот случай.
Я считаю что этот код работать не должен или я не прав?
Вы не правы. Это решает компания овен, разрешить браузеру опрашивать их их сервер или нет. И где страничка будет лежать, на сервере или на мобильном телефоне не имеет не какого значения. Это просто набор команд для браузера.
К тому же код работает.
dsyabitov
14.12.2018, 08:18
Здравствуйте.
Остальные запросы тоже должны работать.
Здравствуйте.
Остальные запросы тоже должны работать.
Спасибо!!!!!!!!
Очень оперативно.
Все заработало!!!!!!!:)
Господа!!! Кто может помочь? Нужен простенький пример обращения к api на HTML.
Выкладываю пример обращения к api.owencloud.ru.
Код примера получает токен из демо owencloud и получает значения 2х параметров.
Для начального понимания вопроса вполне достаточно. Следующем шагом думаю городить библиотеку для работы с api.owencloud.ru.
40382
Неудобно что данные в ответе с https://api.owencloud.ru/v1/parameters/last-data приходят не в очередности запроса, а по возрастанию.
Модераторам! По прочтению удалите. НЕ имеет отношения к теме.
Извиняюсь не предполагал что могу кого-то обидеть. Просто "не заметил" примера от 12 числа.
Веселые вы ребята!!!
здравствуйте, токен получила, данные id своего прибора тоже, но запрос https://api.owencloud.ru/v1/parameters/last-data выдает
{"name": "Unauthorized",
"message": "Your request was made with invalid credentials.",
"code": 0,
"status": 401}
В чем может быть проблема?
dsyabitov
18.01.2019, 13:42
здравствуйте, токен получила, данные id своего прибора тоже, но запрос https://api.owencloud.ru/v1/parameters/last-data выдает
{"name": "Unauthorized",
"message": "Your request was made with invalid credentials.",
"code": 0,
"status": 401}
В чем может быть проблема?
Здравствуйте.
Authorization: Bearer XXX в отправляемых заголовках присутствует?
Да, прописала токен что получила, могу прислать скрин
П.С. обновила токен, теперь приходит просто скобки []
ПРибор онлайн, на OwenCloud данные идут
dsyabitov
18.01.2019, 20:20
Да, прописала токен что получила, могу прислать скрин
П.С. обновила токен, теперь приходит просто скобки []
ПРибор онлайн, на OwenCloud данные идут
В теле запроса необходимо передавать идентификаторы параметров, а не идентификатор устройства. Вы, скорее всего, передаете именно id устройства.
Здравствуйте, все разобралась, данные получила, спасибо. А не подскажите как называется параметр возвращающий время измерения, что-то пролистала пришедшие данные и не увидела
А не подскажите как называется параметр возвращающий время измерения
https://api.owencloud.ru/#parameter
krollcbas
01.03.2019, 21:00
Вот что у нас получилось:
Управление умным домом посредством технологии OwenСloudhttp://lapshinvr.ru/smart-house.php
StanZelen
27.04.2019, 14:05
Добрый день!
Мы занимаемся созданием веб-скады на технологии owencloud(Мониторингом и дистанционным управлением).
42487
При реализации возникают следующие проблемы - посылаю запрос на получение данных
POST /v1/parameters/data HTTP/1.1
отправляю запрос в овенклауд - {"ids":[1454949],"start":"2019-04-27 00:00:00","end":"2019-04-27 13:00:00","step":1}
Дата начала - 2019-04-27 00:00:00
Дата окончания - 2019-04-27 13:00:00
В итоге owencloud возвращает мне некорректный диапазон дат
Начало - 2019-04-26 09:04:12
Окончание - 2019-04-27 10:04:00
Вот тут (http://lapshinvr.ru/title.php) можно посмотреть текст запроса и возвращаемые значения.
В чем может быть проблема? Совсем голову сломал уже.
StanZelen
27.04.2019, 14:58
С проблемой разобрался - неправильно конвертировал дату из unixtime.
krollcbas
17.06.2019, 10:29
Системы жизнеобеспечения зданий, диспетчеризация. Заканчиваем разработку проекта на контроллерах Овен ПЛК110 с собственной разработкой веб-сайта на основе сервиса Овенклауд. На шкафах установлены локальные панели управления СП307. Верхний Scada-уровень реализован на сайте.
Посмотреть как выглядит можно по ссылке (данные на сайт подгружаются не мгновенно):
http://golden.fast-it.ru/index.php
(https://vk.com/away.php?to=http%3A%2F%2Fgolden.fast-it.ru%2Findex.php&post=-34039206_145895&cc_key=)43197
Управление объектом закрыто паролем. Буду признателен за любую конструктивную критику. Спасибо.
https://youtu.be/oj5Pe_vg0_0 (https://vk.com/away.php?to=https%3A%2F%2Fyoutu.be%2Foj5Pe_vg0_0&post=-34039206_145895&cc_key=)
krollcbas
17.06.2019, 12:16
Все привязки сайта созданы данного сайта к облаку через обращения к API
А зачем здесь облако? Почему не установить банальную СКАДУ с вэб мордой?
krollcbas
17.06.2019, 14:06
ASo, а ведь хороший вопрос. Ответ скорее в финансовых соображениях
Лицензия скады любой примерно 40т, работа еще 150р точек на 500 (возможно кто-то и дешевле станет). ТЗ нет, все с полного нуля.
Далее, заказчик берет и говорит что именно этих денег - нет.
Мы согласились убрав эту часть работы в сторону Web.
Компьютера не надо, как и оператора у него. Тот минимум функций, который нужен для обслуживания здания - обеспечен.
Есть еще позитивные аспекты, но не распространяюсь
Так это, вэб морда к облаку бесплатно образовалась? Ее рисование, параметризация тоже бесплатны?
Если бы картинки были в овен облаке - вопросов бы не возникло, все понятно для такой нано задачи. А так...
StanZelen
17.06.2019, 14:12
Так это, вэб морда к облаку бесплатно образовалась? Ее рисование, параметризация тоже бесплатны?
Если бы картинки были в овен облаке - вопросов бы не возникло, все понятно для такой нано задачи. А так...
1. На скаду нужна лицензия - php бесплатен
2. Для скады нужно найти узкого программиста, веб программистов - хоть жопой жуй, на любой вкус и кошелек.
3. Веб скада ограничена функционалом, на php творим что хотим.
Итог: дешево и сердито. Скорость разработки в разы выше, делегировать можно людям абсолютно не знакомых с АСУ ТП.
Экономия по всем фронтам. За 15 тысяч нам сделали бэкенд+фронтэнд, за тысячу нарисовали картинки.
За 16 тысяч хоть одна скада сможет такое повторить? Да еще с масштабированием под мобильные устройства.
Если так, то назад, в будущее.
StanZelen можно бесплатно повторить на Scada системе.
krollcbas
17.06.2019, 17:53
melky, "бесплатно на Scada" - Вы повторите? Скорее всего нет. Так как проект на Scada Вы станете делать с большими трудозатратами.
Каждый занимается своим делом. Каждый участник рынка вправе работать за хлеб когда пожелает и на чем пожелает.
Считать чужие деньги или злорадствовать? А какой Вам то с этого приплод? Мы поделились здесь как именно делаем.
1. На скаду нужна лицензия - php бесплатен
2. Для скады нужно найти узкого программиста, веб программистов - хоть жопой жуй, на любой вкус и кошелек.
3. Веб скада ограничена функционалом, на php творим что хотим.
1) сложно найти дешевый хостинг, поэтому денежный вопрос отличается лишь в сроках выплаты н-ной суммы
2) много ли на этом форуме тех, кто не знают какую либо скаду и тех кто знает Php
3) в умелых руках и член напильник
есть еще нормальные аргументы
44027
Апи начал отправлять пустые ответы на запросы. Весной все было Ok.
krollcbas .Буду признателен за любую конструктивную критику. Спасибо.
AHU-1 датчики приток вытяжка попутаны.
AHU-4 улица 17, рекуперация 0%, нагреватель 0%, охладитель 0%, приток 12.7. Холодный клапан проверить надо.
dsyabitov
13.08.2019, 09:36
44027
Апи начал отправлять пустые ответы на запросы. Весной все было Ok.
Здравствуйте!
Ваши приборы не присылают данные более 3-х месяцев и это более периода хранения данных. Т.е. по запрошенным параметрам скорее всего просто нет данных.
krollcbas а заводить переменные в облако вы делаете без трудозатрат совсем ? смешно.
Накидать шаблон для устройства в Scada занимает столько же времени, сколько прописывание переменных в облаке.
На счет Хостинга да, найти нужный и не дорогой это одно, а если достаточно установить машину в одной точке у заказчика где есть всего лишь один выделенный IP куда легче. Как правило IP стоит не дорого. я например на оптике плачу 250р в месяц и нисколько не жалею..
krollcbas а заводить переменные в облако вы делаете без трудозатрат совсем ? смешно.
Накидать шаблон для устройства в Scada занимает столько же времени, сколько прописывание переменных в облаке.
На счет Хостинга да, найти нужный и не дорогой это одно, а если достаточно установить машину в одной точке у заказчика где есть всего лишь один выделенный IP куда легче. Как правило IP стоит не дорого. я например на оптике плачу 250р в месяц и нисколько не жалею..
Да... Особенно привлекательна стоимость. Машина, скада, электроэнергия , IP.
Sayland вас в гугле забанили ? Машина - можно и меньше 10т.р найти, скада - ядро бесплатное, свистоперделки за деньги, электроэнергия - 15Вт на указанную машину, IP - у многих заказчиков он реальных, так как у многих почтовые сервера собственные. Да и 250-300р для комфорта НЕ ДЕНЬГИ. Многие на звонках больше просирают...
А теперь посчитайте - мнемосхемы у Овен будут платными, СМС тут без вопросов платные. так что легко поместится в те же суммы.
krollcbas
15.08.2019, 14:47
melky, критика в данном случае имеет сложно определяемый предмет и почти не содержит контраргументов.
Вы говорите - это не нужно. Ну пусть так, Вам не нужно. Мир то больше, даже боюсь представить насколько.
Развивать нам данное направление никто не запретит и не запрещает. Овен - Друг)))
http://fast-it.ru/ (http://fast-it.ru/)
Если у Вас уже есть система, на которой установлены контроллеры Овен, можно сделать систему дистанционного мониторинга и управления объектом (включения и отключения оборудования).
Вы не поверите, с какой только дрянью мне приходится работать. Ну нет у меня контроллеров ОВЕН.
ИБП с картами монироринга SNMP, ПЛК Allen Bradley с протоколом чудовее Modbus, счетчики Меркурий, приборы Логика - что тут сможет облако Овен ? да шишь с маслом из всего перечисленного... так что выбирать особо не приходится.
зашел сегодня в облако для добавления параметров с плк100 экспорт-импорт работает не корректно. Конфигурация контроллера из себя представляет два обезличенных регистра и после температура в виде флоат с именем. Импорт в облако сохранил только температуру, но присвоил первый по порядку адрес регистра т.е. ноль, соответственно не считывал актуальное значение температуры. И еще заметил особенность, на главной странице не срабатывает изменение статуса связи, у плк был выбран не правильный шлюз, связи не было, подправил local_addres.dat перегрузил контроллер, в облаке связь не появилась пока не перешел в настройки(управление прибором), на той странице сразу же горела галка связи
Sayland вас в гугле забанили ? Машина - можно и меньше 10т.р найти, скада - ядро бесплатное, свистоперделки за деньги, электроэнергия - 15Вт на указанную машину, IP - у многих заказчиков он реальных, так как у многих почтовые сервера собственные. Да и 250-300р для комфорта НЕ ДЕНЬГИ. Многие на звонках больше просирают...
А теперь посчитайте - мнемосхемы у Овен будут платными, СМС тут без вопросов платные. так что легко поместится в те же суммы.
От части согласен с вами. В некоторых ситуациях это лучший выход. Все зависит от конкретного задания и заказчика.
dsyabitov
16.08.2019, 23:13
зашел сегодня в облако для добавления параметров с плк100 экспорт-импорт работает не корректно. Конфигурация контроллера из себя представляет два обезличенных регистра и после температура в виде флоат с именем. Импорт в облако сохранил только температуру, но присвоил первый по порядку адрес регистра т.е. ноль, соответственно не считывал актуальное значение температуры. И еще заметил особенность, на главной странице не срабатывает изменение статуса связи, у плк был выбран не правильный шлюз, связи не было, подправил local_addres.dat перегрузил контроллер, в облаке связь не появилась пока не перешел в настройки(управление прибором), на той странице сразу же горела галка связи
Здравствуйте.
Пришлите в личку или на почту файл, который пытались импортировать.
Станислав Рыцев
10.10.2019, 20:23
Добрый!
Делаю POST запрос - https://api.owencloud.ru/v1/auth/open с телом:
{
"login":"demo@owen.ru",
"password":"demo123"
}
получаю ответ:
{
"name": "Bad Request",
"message": "Syntax error",
"code": 0,
"status": 400
}
Далее в тело подставляю свои login и password личного кабинета OwenCloud, но ответ сервера точно такой же:
{
"name": "Bad Request",
"message": "Syntax error",
"code": 0,
"status": 400
}
Что не так то? В общем не получается получить токен ни в тестовом виде, ни для своего ЛК.
Подскажите, почему запрос POST /v1/parameters/last-data
возвращает параметры не в том порядке, в котором они запрашивались?
Причём это происходит только когда долго нет запросов, после этого первый запрос обязательно косячный.
Последующие нормальные, в том же порядке идут как и запрашивались.
Что это за глюк??
dsyabitov
14.10.2019, 12:49
Подскажите, почему запрос POST /v1/parameters/last-data
возвращает параметры не в том порядке, в котором они запрашивались?
Причём это происходит только когда долго нет запросов, после этого первый запрос обязательно косячный.
Последующие нормальные, в том же порядке идут как и запрашивались.
Что это за глюк??
Здравствуйте.
В описании метода нигде не указано, что порядок возвращаемых значений должен совпадать с порядком из запроса. Именно для этого в теле ответа для каждого параметра есть идентификатор, который необходимо учитывать при парсинге.
dsyabitov
14.10.2019, 12:54
Добрый!
Делаю POST запрос - https://api.owencloud.ru/v1/auth/open с телом:
{
"login":"demo@owen.ru",
"password":"demo123"
}
получаю ответ:
{
"name": "Bad Request",
"message": "Syntax error",
"code": 0,
"status": 400
}
Далее в тело подставляю свои login и password личного кабинета OwenCloud, но ответ сервера точно такой же:
{
"name": "Bad Request",
"message": "Syntax error",
"code": 0,
"status": 400
}
Что не так то? В общем не получается получить токен ни в тестовом виде, ни для своего ЛК.
Здравствуйте.
Вероятно не указываете правильно хидеры запроса. В этой теме на первых страницах уже все есть.
Спасибо, команда sort исправила ситуацию.
Здравствуйте!
Почему такое происходит: все параметры сообщают, что обновляются периодически, а давление часы назад?
Причём это только по двум теплопунктам происходит!
Овен облако сообщает такие данные.
Сначала думал, что если параметр не меняется, то и не обновляется.
Но это не так, почему тогда по двум остальным ТП они обновляются?
45290
dsyabitov
24.10.2019, 14:37
Здравствуйте.
Проверьте часовой пояс прибора, а так-же типы параметров (оперативный/конфигурационный/управляемый) и периоды опроса.
Здравствуйте.
Проверьте часовой пояс прибора, а так-же типы параметров (оперативный/конфигурационный/управляемый) и периоды опроса.
Позвольте, а с каких пор возможно настроить период опроса для отдельного параметра?
Он для всего прибора настраивается. И параметры у меня по типам все одинаковые абсолютно.
Часовой пояс верный, иначе другие параметры были бы неверные. А они корректные.
45294 45295
dsyabitov
25.10.2019, 07:30
Позвольте, а с каких пор возможно настроить период опроса для отдельного параметра?
Он для всего прибора настраивается. И параметры у меня по типам все одинаковые абсолютно.
Часовой пояс верный, иначе другие параметры были бы неверные. А они корректные.
45294 45295
Пришлите в личку Ваш логин и идентификаторы приборов.
dsyabitov
25.10.2019, 14:36
Позвольте, а с каких пор возможно настроить период опроса для отдельного параметра?
Он для всего прибора настраивается. И параметры у меня по типам все одинаковые абсолютно.
Часовой пояс верный, иначе другие параметры были бы неверные. А они корректные.
45294 45295
Ошибку исправили, теперь время последнего чтения параметра по last-data отображается корректно.
Здравствуйте, подскажите, пожалуйста, в чем ошибка в моем запросе на скриншоте.
46299
55052, 43523 - это id приборов из тестового аккаунта.
Некоторые методы API срабатывают - я могу получить список приборов, иноформацию об приборе, список категорий и типов приборов, список событий... Но методы получения данных ( data, last-data...) не работают.
Удается получить данные для прибора с id=306631. Но зато информацию о приборе с этим id не удается получить.
Здравствуйте, подскажите, пожалуйста, в чем ошибка в моем запросе на скриншоте.
46299
55052, 43523 - это id приборов из тестового аккаунта.
Некоторые методы API срабатывают - я могу получить список приборов, иноформацию об приборе, список категорий и типов приборов, список событий... Но методы получения данных ( data, last-data...) не работают.
Система может отказать в выдаче архива если параметров слишком много или требуемый интервал слишком длинный. Такая ошибка возвращается как HTTP-код Bad Request.читали такое в документации?
Читал, но не соотнес с сообщением об ошибке "Некоторые параметры не найдены". Как вы догадались?!!
Я изменил тело запроса для метода data на такое: {"ids":[43539],"start":"2019-12-21 12:40:00","end":"2019-12-21 12:44:59","step":1}
С тем же результатом - Bad request, Некоторые параметры не найдены. В этом интервале меньше десятка событий, причина вряд ли в том, что интервал длинный или параметров много.
Методу last-data отправил такое тело: {"ids":[43539]}. Снова безрезультатно.
Если я указываю id прибора, то возвращается ошибка {"name":"Bad Request","message":"Некоторые параметры не найдены.","code":0,"status":400}, если id параметра, то возвратит как минимум [{"id":ххххххх,"values":[]}], делайте выводы
Если я указываю id прибора, то возвращается ошибка {"name":"Bad Request","message":"Некоторые параметры не найдены.","code":0,"status":400}, если id параметра, то возвратит как минимум [{"id":ххххххх,"values":[]}], делайте выводы
Ой, спасибо! Заработался...
46552
Подскажите в чем дело? массив с данными получаю пустой.
при этом forward-data,backward-data работают как надо.
dsyabitov
06.01.2020, 10:34
46552
Подскажите в чем дело? массив с данными получаю пустой.
при этом forward-data,backward-data работают как надо.
Здравствуйте. Попробуйте указывать минуты без 0 в начале и проверьте часовой пояс прибора.
Все это пробовал и без нулей и с нулями и пояс указывал. forward-data,backward-data работают как надо. а вот с data проблема.
dsyabitov
07.01.2020, 21:45
Все это пробовал и без нулей и с нулями и пояс указывал. forward-data,backward-data работают как надо. а вот с data проблема.
В личке ответил, и скрин приложил. Потом попробовал получить результат как у Вас (а именно - отсутствие результата) - проблема именно в том, что минуты у Вас начинаются с 0. (т.е. 010 минут и т.д.). Если убрать 0 в начале - все отрабатывает нормально.
В личке ответил, и скрин приложил. Потом попробовал получить результат как у Вас (а именно - отсутствие результата) - проблема именно в том, что минуты у Вас начинаются с 0. (т.е. 010 минут и т.д.). Если убрать 0 в начале - все отрабатывает нормально.
я когда в этом посте https://owen.ru/forum/showthread.php?t=28578&p=321593&viewfull=1#post321593 писал о том что возвращает как минимум пустой результат, я именно его и получил, не думаю что я так же ошибся с датами поставив третий ноль , скорее всего есть какие то проблемы. К примеру сегодня я на демо-режиме провел тест, данные возвращает, возможно разница в том, что на демку я токен получал через api, а свои данные через токен из личного кабинета
dsyabitov
07.01.2020, 23:20
http://joxi.net/DrlopJ8iVJpKBA
http://joxi.net/1A5xWD3sDZg4j2
http://joxi.net/Y2LYkN3c78KxZA
Я допускаю, что могли иметь место какие-то еще нюансы, но конкретно сейчас - проблема именно в этом, в скрине Sayland как раз есть нули, о которых я и писал.
46581
Нет данных... пусто.
46582
backward-data
есть данные...
Прошу прощения все работает кроме шага . end указал 2010 год.
step игнорируется
dsyabitov
08.01.2020, 10:28
Ну вот и чудно! step тоже работает - это некий коэффициент прореживания данных, он используется как минимум в графиках в мобильном приложении.
Ну вот и чудно! step тоже работает - это некий коэффициент прореживания данных, он используется как минимум в графиках в мобильном приложении.
Пожалуйста подскажете что не так. По идее чем больше шаг тем меньше ответ? у меня же ответ одинаков.
4662046621
krollcbas
08.02.2020, 14:15
Новый способ автоматического переноса переменных через символьную адресацию несет и некоторые неудобства.
Если перепрошить контроллер и залить вновь скомпилированный проект (состав переменных прежний), то ID переменных введенных в облако - изменится.
Соответственно приходится корректировать внешние связи проектов, которые связанны по номерам ID
47187
Andrei_Ekom
16.05.2020, 10:48
Добрый день!
При запросе на получение данных по Id параметра получаю следующее49111
С чем может это быть связано?
Спасибо
Andrei_Ekom
16.05.2020, 10:56
Разобрался, не указал https)
Добрый день!
Пытаюсь считать последние данные из облака49663
получаю 49658
При обращении к другим устройствам таже картина.
При запросе https://api.owencloud.ru/v1/device/138903 или аналогичных, все работает адекватно.
покажите где я на грабли наступил?
покажите где я на грабли наступил?
первое это удалите первый скрин, не стоит светить своими личными токенами
второе на обоих скринах разные ids поэтому вряд ли второй скрин это ответ на то что в первом скрине
первое это удалите первый скрин, не стоит светить своими личными токенами
второе на обоих скринах разные ids поэтому вряд ли второй скрин это ответ на то что в первом скрине
Спасибо за быстрый ответ, на первом скрине затер токен.
Но на втором скрине вообще нет ids ... это ответ сервера.
разобрался, в запросе о последних данных нужно указывать id параметра, а я указывал id устройства.
Просьба, можно ли сделать последние данные по устройству по аналогии https://api.owencloud.ru/v1/device/ХХХХХХ
Чили-Рома
13.07.2020, 12:21
Добрый день. Подскажите, пожалуйста, через API получать данные лучше(проще) из какой платформы: 1с - postgresql или my sql?
Добрый день. Подскажите, пожалуйста, через API получать данные лучше(проще) из какой платформы: 1с - postgresql или my sql?
тема про API для подключения к сервису OwenCloud, совершенно нет ни какой связи с тем в какую БД скачивать архивируемые данные с облака, в чем конкретно вопрос, что не получается?
Чили-Рома
14.07.2020, 09:22
в чем конкретно вопрос, что не получается?
Не знаю, вроде все получается, скачивается в 1С, но вдруг попросили уточнить этот вопрос именно в той формулировке, как я задал. Сам я этим не занимаюсь - я за хард, проекты Пр200 и отображение приборов в Облаке Овен отвечаю.
попросили уточнить этот вопрос именно в той формулировке, как я задал.
значит ответ ни какой разницы
krollcbas
24.11.2020, 13:31
Хотелось уточнить следующее:
Какая скорость опроса API является допустимой?
Есть ли возможность эту скорость как-то увеличить, хотя бы вдвое?
Эти ограничения выставлены умышленно или это следствие недостаточного быстродействия сервера?
1. При запросе parameters/last-data по массиву, состоящему всего из двух параметров с частотой запросов менее 1 секунды, API возвращает пустые объекты
2. Выполнение команды parameters/write-data занимает около 5 секунд
Очень некрасиво выглядят такие задержки, если делаешь систему управления чем бы то ни было через OwenCloud.
С чем сравниваю сервис:
Iridium Mobile Cloud
AZURE (Logic Machine)
И там и там есть задержки, но они сравнимо меньше.
Скорость посылки телеграммы до облака, от облака в ПЛК, статус ПЛК до облака, от облака к сайту может быть и 5 и более секунд, но работает.
http://lapshinvr.ru/smart-house.php
Или посмотрите это видео:
https://youtu.be/bDl9y6fOIFY
Евгений Кислов
24.11.2020, 13:44
Какая скорость опроса API является допустимой?
См. п. 8 в РП:
https://ftp.owen.ru/OwenCloud/01_Docs/rp_owencloud.pdf
В OwenCloud имеется ограничение на число запросов, которые могут быть обработаны за
определенный интервал времени (равный 10 секундам). Отсчет времени начинается с первого
запроса в новой последовательности запросов. В случае превышения ограничения возвращается
код состояния 429 (Too Many Requests). Ограничения описаны ниже:
• /v1/parameters/last-data – не более 10 запросов за 10 секунд;
• /v1/device/index – не более 10 запросов за 10 секунд;
• /v1/parameters/data – не более 10 запросов за 10 секунд;
• /v1/auth/open – не более 10 запросов за 10 секунд;
• все остальные запросы – не более 30 запросов за 10 секунд.
составил такой код
...
def test_read_param(ol_api, token):
tik = datetime.datetime.now()
headers = { 'Authorization' : 'Bearer ' + token }
data = "{\"ids\":[4337443]}"
response = ol_api.post("v1/parameters/last-data",headers=headers,data=data)
assert response.status_code == 200, f"Неверный код ответа, получен {response.status_code}"
response = response.json()
for unit in response:
refer = unit["values"]
for val in refer:
print("прочитали ",val["v"],"\n",tik,"\t",datetime.datetime.now())
def test_save_param(ol_api, token, result):
tik = datetime.datetime.now()
headers = { 'Authorization' : 'Bearer ' + token }
data = "{\"sms_tag\":\"\",\"sms_code\":\"\",\"timeout\":3,\"sync\":false,\"data\":[{\"id\":4337443,\"value\":" + str(result) +"}]}"
response = ol_api.post("v1/parameters/write-data",headers=headers,data=data)
assert response.status_code == 200, f"Неверный код ответа, получен {response.status_code}"
print("записали "+ str(result),"\n",tik,"\t",datetime.datetime.now())
k = 1
if __name__ == "__main__":
test_save_param(ol_api(),sec_token, 2)
time.sleep(k)
test_read_param(ol_api(),sec_token)
test_save_param(ol_api(),sec_token, 3)
time.sleep(k)
test_read_param(ol_api(),sec_token)
...
и получил такой вывод
записали 2
2020-11-24 12:10:10.726314 2020-11-24 12:10:11.973621
прочитали 2.000
2020-11-24 12:10:12.975249 2020-11-24 12:10:13.974617
записали 3
2020-11-24 12:10:13.974871 2020-11-24 12:10:15.260731
прочитали 3.000
2020-11-24 12:10:16.262514 2020-11-24 12:10:17.243913
записали 4
2020-11-24 12:10:17.244163 2020-11-24 12:10:18.692528
прочитали 4.000
2020-11-24 12:10:19.694127 2020-11-24 12:10:20.597240
записали 5
2020-11-24 12:10:20.598487 2020-11-24 12:10:21.841098
прочитали 5.000
2020-11-24 12:10:22.842777 2020-11-24 12:10:23.814789
записали 6
2020-11-24 12:10:23.815012 2020-11-24 12:10:25.181758
прочитали 6.000
2020-11-24 12:10:26.183501 2020-11-24 12:10:27.024241
записали 7
2020-11-24 12:10:27.024927 2020-11-24 12:10:28.148120
прочитали 7.000
2020-11-24 12:10:29.149575 2020-11-24 12:10:30.169654
записали 8
2020-11-24 12:10:30.169954 2020-11-24 12:10:31.445186
прочитали 8.000
2020-11-24 12:10:32.447018 2020-11-24 12:10:33.286865
записали 9
2020-11-24 12:10:33.287118 2020-11-24 12:10:35.116507
прочитали 9.000
2020-11-24 12:10:36.118333 2020-11-24 12:10:37.051470
записали 10
2020-11-24 12:10:37.051757 2020-11-24 12:10:38.239712
прочитали 10.000
2020-11-24 12:10:39.241460 2020-11-24 12:10:40.252901
записали 11
2020-11-24 12:10:40.253126 2020-11-24 12:10:41.374973
прочитали 11.000
2020-11-24 12:10:42.376776 2020-11-24 12:10:43.343120
записали 12
2020-11-24 12:10:43.343873 2020-11-24 12:10:44.548721
прочитали 12.000
2020-11-24 12:10:45.550539 2020-11-24 12:10:46.433549
записали 13
2020-11-24 12:10:46.434118 2020-11-24 12:10:47.660190
прочитали 13.000
2020-11-24 12:10:48.661878 2020-11-24 12:10:49.662488
без паузы между запросами картина следующая
записали 2
2020-11-24 12:17:41.360882 2020-11-24 12:17:42.587553
прочитали 13.000
2020-11-24 12:17:42.588379 2020-11-24 12:17:43.517711
записали 3
2020-11-24 12:17:43.518318 2020-11-24 12:17:44.878204
прочитали 2.000
2020-11-24 12:17:44.878757 2020-11-24 12:17:45.768300
записали 4
2020-11-24 12:17:45.769321 2020-11-24 12:17:46.972369
прочитали 3.000
2020-11-24 12:17:46.972947 2020-11-24 12:17:48.039915
записали 5
2020-11-24 12:17:48.040774 2020-11-24 12:17:49.753307
прочитали 4.000
2020-11-24 12:17:49.754082 2020-11-24 12:17:50.850080
записали 6
2020-11-24 12:17:50.850398 2020-11-24 12:17:52.231665
прочитали 5.000
2020-11-24 12:17:52.231941 2020-11-24 12:17:53.180357
записали 7
2020-11-24 12:17:53.180997 2020-11-24 12:17:54.479477
прочитали 6.000
2020-11-24 12:17:54.480108 2020-11-24 12:17:55.429537
записали 8
2020-11-24 12:17:55.429803 2020-11-24 12:17:56.666510
прочитали 7.000
2020-11-24 12:17:56.667233 2020-11-24 12:17:57.638818
записали 9
2020-11-24 12:17:57.639497 2020-11-24 12:17:58.834207
прочитали 8.000
2020-11-24 12:17:58.834456 2020-11-24 12:17:59.737217
записали 10
2020-11-24 12:17:59.737495 2020-11-24 12:18:00.843749
прочитали 9.000
2020-11-24 12:18:00.843975 2020-11-24 12:18:01.816344
записали 11
2020-11-24 12:18:01.816566 2020-11-24 12:18:03.000935
прочитали 10.000
2020-11-24 12:18:03.001583 2020-11-24 12:18:03.954371
записали 12
2020-11-24 12:18:03.954935 2020-11-24 12:18:05.199084
прочитали 11.000
2020-11-24 12:18:05.199405 2020-11-24 12:18:06.197832
записали 13
2020-11-24 12:18:06.198444 2020-11-24 12:18:07.341610
прочитали 12.000
2020-11-24 12:18:07.341865 2020-11-24 12:18:08.390938
e.filatov
24.11.2020, 16:38
Я вот не помню, как реализовано на самом сервере, но вроде как (емнип) посылка ещё на шлюз уходит, выполняется и возвращается ответ. Только на самой посылке Сервер->Шлюз->прибор->шлюз->сервер вы тратите около секунды. Не забываем, что команда на запись попадает в очередь, а шлюз, собственно, не закончил выполнение предыдущих 1к байт запросов (это максимум за 1 посылку от сервера)
dsyabitov
25.11.2020, 09:35
без паузы между запросами картина следующая
Здравствуйте. И картина вполне логичная. Сервер, после отправки команды на запись далее выполняет чтение этого параметра. В случае, когда вы не делаете паузы между запросами - картина выглядит следующим образом:
Записали X
Читаем из прибора и обрабатываем X...
Получили запрос на last-data - выдали то, что есть последнее прочитанное и обработанное ( X - 1 )
Дочитали-дообработали X
Записали Y
Читаем из прибора и обрабатываем Y...
Получили запрос на last-data - выдали то, что есть последнее прочитанное и обработанное ( X )
Дочитали-дообработали Y
ну претензия то не с моей стороны, там вопрос о том что в сравнении с платными облаками ваше время относительно велико на обработку. В чем то я согласен возможно, осталось понять очередь на обработку касается конкретной учетной записи или это очередь состоит из всех приходящих запросов в облачный сервис от всех пользователей
dsyabitov
25.11.2020, 11:54
ну претензия то не с моей стороны, там вопрос о том что в сравнении с платными облаками ваше время относительно велико на обработку. В чем то я согласен возможно, осталось понять очередь на обработку касается конкретной учетной записи или это очередь состоит из всех приходящих запросов в облачный сервис от всех пользователей
Очередь на обработку касается конкретного устройства или шлюза (если устройство подключено через шлюз)
сейчас подготовлю код, чтоб увеличить очередь, записывая два параметра, а пока что читая четыре параметра с нулевым временем ожидания, запись успевает выполнится раньше чем чтение
записали 2
2020-11-25 10:24:45.511589 2020-11-25 10:24:47.635697
прочитали 2.000
2020-11-25 10:24:47.635972 2020-11-25 10:24:49.247820
прочитали 42.856
2020-11-25 10:24:47.635972 2020-11-25 10:24:49.248489
прочитали 0.000
2020-11-25 10:24:47.635972 2020-11-25 10:24:49.248631
прочитали 81.810
2020-11-25 10:24:47.635972 2020-11-25 10:24:49.248788
записали 3
2020-11-25 10:24:49.248936 2020-11-25 10:24:51.407232
прочитали 3.000
2020-11-25 10:24:51.407927 2020-11-25 10:24:53.203358
прочитали 81.810
2020-11-25 10:24:51.407927 2020-11-25 10:24:53.204038
прочитали 0.000
2020-11-25 10:24:51.407927 2020-11-25 10:24:53.204625
прочитали 42.856
2020-11-25 10:24:51.407927 2020-11-25 10:24:53.204760
записали 4
2020-11-25 10:24:53.205002 2020-11-25 10:24:55.158607
прочитали 4.000
2020-11-25 10:24:55.158930 2020-11-25 10:24:56.706157
прочитали 81.810
2020-11-25 10:24:55.158930 2020-11-25 10:24:56.706411
прочитали 0.000
2020-11-25 10:24:55.158930 2020-11-25 10:24:56.706885
прочитали 42.856
2020-11-25 10:24:55.158930 2020-11-25 10:24:56.707111
Вы наверное что то сделали на серваке)
ЗЫ по сравнению со вчерашним днем значительно лучше передается и запись в два параметра
записали 2
2020-11-25 10:34:14.715562 2020-11-25 10:34:16.621293
записали 2
2020-11-25 10:34:16.622061 2020-11-25 10:34:18.549495
прочитали 2.000
2020-11-25 10:34:18.550072 2020-11-25 10:34:20.125390
записали 3
2020-11-25 10:34:20.125992 2020-11-25 10:34:21.976188
записали 3
2020-11-25 10:34:21.976779 2020-11-25 10:34:23.789865
прочитали 3.000
2020-11-25 10:34:23.790610 2020-11-25 10:34:26.271397
записали 4
2020-11-25 10:34:26.271999 2020-11-25 10:34:28.018407
записали 4
2020-11-25 10:34:28.019003 2020-11-25 10:34:29.914862
прочитали 4.000
2020-11-25 10:34:29.915641 2020-11-25 10:34:31.440763
записали 5
2020-11-25 10:34:31.441389 2020-11-25 10:34:33.232692
записали 5
2020-11-25 10:34:33.233511 2020-11-25 10:34:35.146629
прочитали 5.000
2020-11-25 10:34:35.147351 2020-11-25 10:34:36.793866
записали 6
2020-11-25 10:34:36.794555 2020-11-25 10:34:38.574172
записали 6
2020-11-25 10:34:38.575045 2020-11-25 10:34:40.492149
прочитали 6.000
2020-11-25 10:34:40.492959 2020-11-25 10:34:41.990423
записали 7
2020-11-25 10:34:41.991317 2020-11-25 10:34:43.749100
записали 7
2020-11-25 10:34:43.749806 2020-11-25 10:34:46.200438
прочитали 7.000
2020-11-25 10:34:46.201094 2020-11-25 10:34:47.791853
Документация и даже с примером здесь - https://api.owencloud.ru/
Извиняюсь, что привожу давнюю цитату, прошу подсказать, можно ли откуда-нибудь скачать документацию в PDF?
dsyabitov
25.11.2020, 14:44
Извиняюсь, что привожу давнюю цитату, прошу подсказать, можно ли откуда-нибудь скачать документацию в PDF?
Здравствуйте. Документации в pdf нету. Но по приведенной Вами ссылке всего одна страница - можете сохранить её.
dsyabitov
25.11.2020, 14:45
сейчас подготовлю код, чтоб увеличить очередь, записывая два параметра, а пока что читая четыре параметра с нулевым временем ожидания, запись успевает выполнится раньше чем чтение
Вы наверное что то сделали на серваке)
ЗЫ по сравнению со вчерашним днем значительно лучше передается и запись в два параметра
Нет, ничего не делали. Возможно были какие-то сетевые проблемы с Вашей или нашей стороны. Мониторинг сервиса никаких проблем не выявлял в последние несколько суток.
См. п. 8 в РП:
https://ftp.owen.ru/OwenCloud/01_Docs/rp_owencloud.pdf
В OwenCloud имеется ограничение на число запросов, которые могут быть обработаны за
определенный интервал времени (равный 10 секундам). Отсчет времени начинается с первого
запроса в новой последовательности запросов. В случае превышения ограничения возвращается
код состояния 429 (Too Many Requests). Ограничения описаны ниже:
• /v1/parameters/last-data – не более 10 запросов за 10 секунд;
• /v1/device/index – не более 10 запросов за 10 секунд;
• /v1/parameters/data – не более 10 запросов за 10 секунд;
• /v1/auth/open – не более 10 запросов за 10 секунд;
• все остальные запросы – не более 30 запросов за 10 секунд.
• /v1/parameters/last-data – не более 10 запросов за 10 секунд;
т.е. 1 запрос в 1 сек. Скажите, я правильно понял, если я хочу получать состояние большого кол-ва переменных, например 1000 переменных с 300-т приборов, то реальное значение какой-либо переменной будет обновляться каждые 1000 сек, т.е. раз в 16,6 минут? Или это ограничение касается одного устройства?
Евгений Кислов
28.11.2020, 17:26
• /v1/parameters/last-data – не более 10 запросов за 10 секунд;
т.е. 1 запрос в 1 сек. Скажите, я правильно понял, если я хочу получать состояние большого кол-ва переменных, например 1000 переменных с 300-т приборов, то реальное значение какой-либо переменной будет обновляться каждые 1000 сек, т.е. раз в 16,6 минут?
Все параметры по одному прибору можно получить одним запросом.
И как выше написал dsyabitov:
Очередь на обработку касается конкретного устройства или шлюза (если устройство подключено через шлюз)
Junior Soprano
25.12.2020, 13:20
Добрый день!
Как через api добавлять, редактировать и удалять категории приборов? В документации нашел только запрос на получение списка категории category/index.
dsyabitov
25.12.2020, 22:41
Добрый день!
Как через api добавлять, редактировать и удалять категории приборов? В документации нашел только запрос на получение списка категории category/index.
Здравствуйте.
В данный момент такая функциональность не предусмотрена. Добавили в бэклог для дальнейшей реализации.
В соседней теме завел разговор об изменении ответа на запись, если объект находится не в сети, мне посоветовали делать проверки статуса отправленной команды. Что имеем: ответ на команду записи
{'writeGroupId': 391795101, 'writeParams': [{'paramId': 4337433, 'writeParamId': 877900647}]} чтоб проверить статус нужно формировать
{"writeGroupIds":[391795101], "writeParamIds":[877900647]}
а хотелось бы для ускорения процесса перенаправить ответ в запрос статуса, возможно ли или опять будут отговорки?
A.Simonov
14.04.2022, 14:02
В соседней теме завел разговор об изменении ответа на запись, если объект находится не в сети, мне посоветовали делать проверки статуса отправленной команды. Что имеем: ответ на команду записи чтоб проверить статус нужно формировать
а хотелось бы для ускорения процесса перенаправить ответ в запрос статуса, возможно ли или опять будут отговорки?
Спросил у dsyabitov (https://owen.ru/forum/member.php?u=78053), что он думает по этому поводу.
Говорит, что добавлять другой http код не станет, но для удобства, чтобы не работать с буквенным статусом, добавит в ответ цифровой статус (к запросу POST parameters/write-status)
Его будет легче обрабатывать, чем буквенный.
OWEN1VIKTOR
17.05.2022, 17:00
Не понимаю, форум живой или нет, продублирую свой вопрос тут:
Добрый день.
Начал пробовать api, авторизация, список приборов, это всё ок, но вот с POST parameters/data случился затык, отправляю:
60718
И апи ругается на синтаксис, чего только не пробовал, что не так отсылаю?
В данной теме на странице 4 вычитал, что надо передавать не айди прибора, а параметра ( в документации про это вообще ни слова, что за айди, где брать... )
Спасибо
UPD
вычитал про /v1/device/:id там вроде есть и айди параметров
Да, метод рабочий, получил все айди параметров и сами значения и кучу инфы, parameters/last-data и parameters/data пока побороть не смог
A.Simonov
17.05.2022, 17:15
Не понимаю, форум живой или нет, продублирую свой вопрос тут:
Добрый день.
Начал пробовать api, авторизация, список приборов, это всё ок, но вот с POST parameters/data случился затык, отправляю:
60718
И апи ругается на синтаксис, чего только не пробовал, что не так отсылаю?
В данной теме на странице 4 вычитал, что надо передавать не айди прибора, а параметра ( в документации про это вообще ни слова, что за айди, где брать... )
Спасибо
UPD
вычитал про /v1/device/:id там вроде есть и айди параметров
Да, метод рабочий, получил все айди параметров и сами значения и кучу инфы, parameters/last-data и parameters/data пока побороть не смог
Добрый день.
про id параметров, где их брать я писал в этом сообщении
https://owen.ru/forum/showthread.php?t=35505&p=367422&viewfull=1#post367422
OWEN1VIKTOR
17.05.2022, 17:27
Да, начал лапатить форум, стало яснее, в принципе с параметрами и дальше с POST parameters/data разобрался.
Мои трудности были связаны скорее с синтаксисом запроса, но понять, что надо отправлять с первого раза не удалось
спасибо
хотелось бы обратить внимание разработчиков на интерпретацию ошибок от количества кириллических символов, сложно диагностировать проблему, ни когда бы не подумал что поговорка: "один раз не ..." встретится в таком качестве
75029, 75030 и успешное создание 75031
и второй момент по документации, в ней используется в выражении параметр, а фактически подходит только код параметра
Добрый!
Делаю POST запрос - https://api.owencloud.ru/v1/auth/open с телом:
{
"login":"demo@owen.ru",
"password":"demo123"
}
получаю ответ:
{
"name": "Bad Request",
"message": "Syntax error",
"code": 0,
"status": 400
}
Далее в тело подставляю свои login и password личного кабинета OwenCloud, но ответ сервера точно такой же:
{
"name": "Bad Request",
"message": "Syntax error",
"code": 0,
"status": 400
}
Что не так то? В общем не получается получить токен ни в тестовом виде, ни для своего ЛК.
У меня при отправке через 1С такая же ошибка была. Решил так, отключив BOM: "Запрос.УстановитьТелоИзСтроки(ТекстЗапроса, , ИспользованиеByteOrderMark.НеИспользовать);"
"
Делаю в 1С POST запрос - https://api.owencloud.ru/v1/auth/open с телом:
{
"login":"demo@owen.ru",
"password":"demo123"
}
получаю ответ:
{
"name": "Bad Request",
"message": "Syntax error",
"code": 0,
"status": 400
}
При отправки черезPostMan всё нормально.
Решил проблему следующим способом, отключив BOM при формировании тела запроса:
"HTTPЗапрос.УстановитьТелоИзСтроки(ТекстЗапроса, КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать);"
Degastantrag
14.02.2025, 10:28
Коллеги поделитесь примером запроса из 1с для получения списка приборов и их показаний
о... а тут оказывается примеры для 1С нужны...
Есть документация по API на сайте, там запросы в json формате. Изучайте как это в 1С делать и делайте.
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot