Проблемы при http запросе

Мне нужно выполнить следующий http запрос: “http://192.168.4.224:8083/ZWave.zway/Run/devices\[5\].instances\[0\].Alarm.data\[5\]\[2\].status.value=false\;devices\[5\].instances\[0\].Alarm.data\[5\]\[2\].parameters.value=null\;devices\[5\].instances\[0\].Alarm.data\[5\]\[2\].value=null\;devices\[5\].instances\[0\].Alarm.data\[5\].status.value=true\;devices\[5\].instances\[0\].Alarm.data\[5\].value=null
В Правилах использую команду runShellCommand:
runShellCommand(‘curl -u admin:passwd-X POST --header “Content-Type: text/plain” --header “Accept: application/json” “http://192.168.4.224:8083/ZWave.zway/Run/devices\[5\].instances\[0\].Alarm.data\[5\]\[2\].status.value=false\;devices\[5\].instances\[0\].Alarm.data\[5\]\[2\].parameters.value=null\;devices\[5\].instances\[0\].Alarm.data\[5\]\[2\].value=null\;devices\[5\].instances\[0\].Alarm.data\[5\].status.value=true\;devices\[5\].instances\[0\].Alarm.data\[5\].value=null”’), Логи прикреплю ниже.
Если попробовать команду в терминале (curl -u…), терминал зависает, ничего не происходит.
Попробовал уменьшить команду до : curl -u admin:passwd -X POST --header “Content-Type: text/plain” --header “Accept: application/json” “http://192.168.4.224:8083/ZWave.zway/Run/devices\[5\].instances\[0\].Alarm.data\[5\]\[2\].status.value=false
Терминал зависает, но при этом если прервать его с помощью ctrl+C, команда выполняется.
Подскажите пожалуйста, что можно сделать?
Логи после выполнения команды в Правилах.txt (20,1 КБ)

Добрый день.
Какой curl на контроллере? Что вы ожидаете увидеть после выполнения запроса?

Что такое “passwd-X”?
К сожалению - совершенно непонятно какие кавычки используются. Для того чтобы типы кавышек не подменялись движком форума - советую использовать “```”

Попробуйте выполнить это же на компьютере - есть ли разница?

curl 7.74.0
Данный запрос сбрасывает состояние датчика протечки на интерфейсе z-wave, ожидаю что команда выполнится.
passwd -X - опечатался и пропустил пробел
runShellCommand(curl -u admin:passwd-X POST --header “Content-Type: text/plain” --header “Accept: application/json” “http://192.168.4.224:8083/ZWave.zway/Run/devices\[5\].instances\[0\].Alarm.data\[5\]\[2\].status.value=false\;devices\[5\].instances\[0\].Alarm.data\[5\]\[2\].parameters.value=null\;devices\[5\].instances\[0\].Alarm.data\[5\]\[2\].value=null\;devices\[5\].instances\[0\].Alarm.data\[5\].status.value=true\;devices\[5\].instances\[0\].Alarm.data\[5\].value=null "http://192.168.4.224:8083/ZWave.zway/Run/devices%5C%5B5%5C%5D.instances%5C%5B0%5C%5D.Alarm.data%5C%5B5%5C%5D%5C%5B2%5C%5D.status.value=false%5C;devices%5C%5B5%5C%5D.instances%5C%5B0%5C%5D.Alarm.data%5C%5B5%5C%5D%5C%5B2%5C%5D.parameters.value=null%5C;devices%5C%5B5%5C%5D.instances%5C%5B0%5C%5D.Alarm.data%5C%5B5%5C%5D%5C%5B2%5C%5D.value=null%5C;devices%5C%5B5%5C%5D.instances%5C%5B0%5C%5D.Alarm.data%5C%5B5%5C%5D.status.value=true%5C;devices%5C%5B5%5C%5D.instances%5C%5B0%5C%5D.Alarm.data%5C%5B5%5C%5D.value=null”);
На компьютере, в Putty, команда выполняется бесконечно, безрезультатно

Мне по прежнему непонятно, к сожалению.
В приведенной строке как и ранее отсутстсвует провел в выражении “passwd-X”.
Перефразирую вопрос - формирования какого post-запроса вы ожидаете? Что ожидаете ответом http сервера и что получаете?
Ну и выполните то же самое на компьютере.
Для примера (естественноо ответ о отсутствии):

curl -u admin:passwd -X POST --header "Content-Type: text/plain" --header "Accept: application/json" "http://10.0.0.75:1880/ZWave.zway/Run/devices\[5\].instances\[0\].Alarm.data\[5\]\[2\].status.value=false\;devices\[5\].instances\[0\].Alarm.data\[5\]\[2\].parameters.value=null\;devices\[5\].instances\[0\].Alarm.data\[5\]\[2\].value=null\;devices\[5\].instances\[0\].Alarm.data\[5\].status.value=true\;devices\[5\].instances\[0\].Alarm.data\[5\].value=null"
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Error</title>
</head>
<body>
<pre>Cannot POST /ZWave.zway/Run/devices[5].instances[0].Alarm.data[5][2].status.value=false%5C;devices[5].instances[0].Alarm.data[5][2].parameters.value=null%5C;devices[5].instances[0].Alarm.data[5][2].value=null%5C;devices[5].instances[0].Alarm.data[5].status.value=true%5C;devices[5].instances[0].Alarm.data[5].value=null</pre>
</body>
</html>

Так как интерфейс Z-wave под паролем, я использую -u admin:passwd для авторизации, в моей команде там действительные логин и пароль, без них Putty возвращает: Not logged in
Если в адресной строке ввести сам http запрос, ответом будет значение последней выполненной команды.
Например
http://192.168.4.224:8083/ZWave.zway/Run/devices[5].instances[0].Alarm.data[5][2].status.value=false
Возвращает false, при этом на сервере значение переменной изменяется на false;
http://192.168.4.224:8083/ZWave.zway/Run/devices[5].instances[0].Alarm.data[5][2].status.value=false;devices[5].instances[0].Alarm.data[5][2].parameters.value=null;devices[5].instances[0].Alarm.data[5][2].value=null;devices[5].instances[0].Alarm.data[5].status.value=true;devices[5].instances[0].Alarm.data[5].value=null
Возвращает null, при этом все указанные в запросе переменные изменяют свои значения на указанные.
Подскажите пожалуйста, что значит выполнить на компьютере?

Нашел проблему, движку wb-rules было необходимо явно заменить [ на %5b , ] на %5d , ; на %3B

Собственно - нет.
Для экранирования достаточно использовать кавычки ', я не просто так спрашивал про то какие именно используются.

Эта тема была автоматически закрыта через 7 дней после последнего ответа. В ней больше нельзя отвечать.