Страница 7 из 9
Re: связь с уст-ми по ir и 433 через broadlink и usb tv dongle
Добавлено: Вс мар 03, 2019 5:25 pm
SrFatCat
directman66 писал(а): Вт окт 09, 2018 1:28 pm
Потихоньку модуль обрастает функционалом
Поскольку работа над модулем остановилась, да и автор решил концептуально вернуться в будущем на надстройку над 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);
}
}
он прекрасно видит - висит в процессах или нет RTL_433, но абсолютно никак не запускает его.
При ручном запуске скрипта в $answ=shell_exec('rtl_433 -f 433920000 -s 250000 -F json | mosquitto_pub -u bogdan -P marus14kaMQT9 -t rtl_433 -l'); леденящая пустота. Процесс не появляется. Естественно, тоже самое вручную из терминала прекрасно запускает RTL_433.
Что я делаю не так?
Re: связь с уст-ми по ir и 433 через broadlink и usb tv dongle
Добавлено: Пн мар 04, 2019 6:59 am
directman66
У меня есть мысли сделать аналог сервера mqtt на php для модуля rtl_433, чтобы можно было указать адрес мажора. Но времени на реализацию пока нет.
Re: связь с уст-ми по ir и 433 через broadlink и usb tv dongle
Добавлено: Пн мар 04, 2019 10:17 am
smart_g
SrFatCat писал(а): Вс мар 03, 2019 5:25 pm
Но вот с запуском/перезапуском RTL_433 из Majordomo никак не складывается. Я понимаю, что я с точки зрения Linux делаю что-то не так, но что именно - никак не могу понять.
Очень похоже, что не розданы права на запуск скрипта пользователю www-data. В терминал вы заходите под логином основного пользователя.
Под его правами создаете скрипт и соответственно можете его выполнить.
Re: связь с уст-ми по ir и 433 через broadlink и usb tv dongle
Добавлено: Пн мар 04, 2019 3:01 pm
SrFatCat
smart_g писал(а): Пн мар 04, 2019 10:17 am
Очень похоже, что не розданы права на запуск скрипта пользователю www-data. В терминал вы заходите под логином основного пользователя.
Под его правами создаете скрипт и соответственно можете его выполнить.
Очень похоже, что вы абсолютно правы. Если еще научите как правильно дать права www-data для rtl_433 и, возможно, mosquitto_pub буду очень очень благодарен
Re: связь с уст-ми по ir и 433 через broadlink и usb tv dongle
Добавлено: Пн мар 04, 2019 3:31 pm
smart_g
Re: связь с уст-ми по ir и 433 через broadlink и usb tv dongle
Добавлено: Вт мар 05, 2019 10:26 pm
SrFatCat
М-да ларчик открылся, но сильно сложнее чем просто права на какие-то файлы. И с php засада была и немного покрутить конфиги usb пришлось... Ну заработало и хорошо.
Re: связь с уст-ми по ir и 433 через broadlink и usb tv dongle
Добавлено: Чт авг 08, 2019 11:08 pm
slavonu82
Удалось получить в MQTT информацию с датчиков 433.
Но остались некоторые проблемы.
1. Сделал все как в
viewtopic.php?t=5833&start=20#p104599 ,
но rc.local запускается только вручную.
2. Данные с устройств получаю, привязываю к простым устройствам, вот только эти же данные могут выдавать устройства соседей, что иногда и наблюдаю в показаниях температуры.
Вопрос- как решить эти проблемы?
Re: связь с уст-ми по ir и 433 через broadlink и usb tv dongle
Добавлено: Пт авг 09, 2019 12:52 am
nick7zmail
1)rc.local не может не запускаться. Скорее всего что то неправильно прописано (ссылку честно не открывал)
2) У устройств должен быть ID Или что то в этом роде. Надо по нему фильтровать показания.
Re: связь с уст-ми по ir и 433 через broadlink и usb tv dongle
Добавлено: Пт авг 09, 2019 8:38 am
slavonu82
nick7zmail писал(а): Пт авг 09, 2019 12:52 am
1)rc.local не может не запускаться. Скорее всего что то неправильно прописано (ссылку честно не открывал)
2) У устройств должен быть ID Или что то в этом роде. Надо по нему фильтровать показания.
Каким образом можно фильтровать? Я новичек и не хотелось бы изобретать велосипед.
Re: связь с уст-ми по ir и 433 через broadlink и usb tv dongle
Добавлено: Пт авг 09, 2019 10:49 am
SrFatCat
slavonu82 писал(а): Пт авг 09, 2019 8:38 am
nick7zmail писал(а): Пт авг 09, 2019 12:52 am
2) У устройств должен быть ID Или что то в этом роде. Надо по нему фильтровать показания.
Каким образом можно фильтровать? Я новичек и не хотелось бы изобретать велосипед.
Ну тут как раз тот случай, когда каждый изобретает свой велосипед

Я, к примеру, сделал объект
RTL_433_MQTT, который привязал к соответствующиму топику и при поступлении новых данных в него
разбираю JSON, распихивая данные из него по объектам датчиков. В объектах-датчикаков добавил свойство
ID. К сожалению, не со всеми прилетает ID, кроме того у большинства датчиков ID генерируется по новой при
каждом сбросе/установке батареек, но у меня все датчики разные и не совпадающие по имени с соседями, так
что фильтрую по имени. Привязка сопливая, но других вариантов не нашел.
Я далеко не гуру и наверняка есть более изящные способы, тем не менее, если такой вариант устроит - могу поделиться.