функционал платной подписки
Вид для печати
сегодня столкнулся с некоторой не стыковкой. Если записывать уставку с сайта, то появляется такое окошко Вложение 60302, что очень даже правильно, но запись через API возвращает успешный код response.status_code == 200 что создает впечатление о исправности функционала
Запрос успешно отправлен на сервер и обработан сервером. Поэтому и код 200, а какой ещё можно вернуть код в этом случае?
Команде на запись присвоен номер группы, увидеть его можно в ответе на команду с записью.
Далее можно у сервера спросить прошла ли запись группы параметров успешно используя запрос POST parameters/write-status
https://owen.ru/forum/attachment.php...&d=1649838597Х
ну раз приходит следующий ответ Завершена по таймауту я бы возвращал 408. Да, конечно можно обрабатывать статусы самостоятельно каждому пользователю, но облачный сервис мог бы делать это работу за всех и тогда меньше проблем у конечного пользователя, меньше кодинга, больше плюсов в карму
API в любом случае возвращает в ответ ID группы, и все равно по нему придется проверять, прошла ли запись успешно, так как сервер должен ответить на API запрос сразу, а вот modbus команда на запись встанет в очередь, и может быть выполнена не мгновенно, даже если прибор в сети.
По хорошему, код связанный с проверкой статуса записи нужно писать в любом случае.
но разве если облако знает что прибор не в сети, зачем в очередь вставать?
Я на 100% не знаю как устроен обмен, так как не я писал код. Но имею представление об этом:
Запись происходит не мгновенно а с небольшим лагом. Команда попадает на сервер, а далее в составе пакета приходит на шлюз ПМ210, например, а он уже опрашивает приборы и отдает ответ на сервер.
Это все создает задержку, в случае ПМ210 - вообще довольно ощутимую.
Поэтому если вы дадите несколько команд на запись, они точно все попадут в очередь.
И за время пока они стоят в очереди может, например, пропасть мобильная сеть, из-за чего команда не будет исполнена.
Это даже не говоря о том, что сама информация о том, что шлюз на связи - может быть устаревшей, особенно если интервал опроса - большой.