Поскольку работа над модулем остановилась, да и автор решил концептуально вернуться в будущем на надстройку над MQTT, а жить как-то надо Пока приходится запускать RTL_433 в режиме передачи JSON в MQTT и парсить строку.
Эта часть работает очень классно несколько месяцев, нареканий нет, очень доволен. Но вот с запуском/перезапуском RTL_433 из Majordomo никак не складывается. Я понимаю, что я с точки зрения Linux делаю что-то не так, но что именно - никак не могу понять. А главное, никакой информации к размышлению нет.
Короче, раз в 5 минут запускается примитивный скрипт, почти слизаный у уважаемого directman66
Код: Выделить всё
$answ=shell_exec('ps -A|grep 433');
if (strpos($answ, '433') == false){
if (gg('RTL_433.stateColor') == 'green'){
sg('RTL_433.stateColor','red');
say('Статус приемника RTL_433 изменился на красный', 1);
}
$answ=shell_exec('rtl_433 -f 433920000 -s 250000 -F json | mosquitto_pub -u bogdan -P marus14kaMQT9 -t rtl_433 -l');
echo 'shell_exec - '.$answ.'<br>';
}
else {
if (gg('RTL_433.stateColor') == 'red'){
sg('RTL_433.statecolor','green');
say('Статус приемника RTL_433 изменился на зеленый', 1);
}
}
При ручном запуске скрипта в $answ=shell_exec('rtl_433 -f 433920000 -s 250000 -F json | mosquitto_pub -u bogdan -P marus14kaMQT9 -t rtl_433 -l'); леденящая пустота. Процесс не появляется. Естественно, тоже самое вручную из терминала прекрасно запускает RTL_433.
Что я делаю не так?