Open VE5CE opened 3 years ago
spawn rtl_433 from homebridge is a bad idea because you probably need to run homebridge as root to get LimeSDR access. In my case i run homebride as simple user in a FreeBSD jail, and rtl_433 as root in the hosting system.
I start rtl_433 from another startup script (rtl_433 -v -F json -C si -M protocol > /jail/homebridge/tmp/rtl433.json) and in sensor.js i replace line // var proc = childProcess.spawn('pkill rtl_433;/usr/local/bin/rtl_433', ['-q', '-F', 'json', '-C', 'si'], { by var proc = childProcess.spawn('/usr/bin/truncate -s 0 /tmp/rtl433.json;/usr/bin/tail', ['-F','/tmp/rtl433.json'], {
If google ubuntu rtl-sdr udev rules
you will find several examples of how to use udev rules to configure to rtl_sdr device to be accessible without using root.
Same in FreeBSD with devfs.conf (if you stay in same jail), but if you need rtl_433 data outside homebridge it's better to run rtl_433 in a separate way. I get many data from rtl_433, car informations, house heating system, house power meter, water, etc. and they are actualy (not yet) integrated in homebridge-rtl. I process all theses data outside homebridge.
Personally, I have started just creating these other devices in node-red/homekit-bridged. I had written homebridge-rtl before I had discovered the flexibility of node-red/mqtt, and am now using node-red to drive my new devices. And have added node-red-dashboard to the mix, to create some really cool UI's. And I run rtl_433 with the option to share the output onto my mqtt server. ( ~/.config/rtl_433/rtl_433.conf - output mqtt://127.0.0.1:1883 ). My mqtt server is on the localhost.
This is a mix of homebridge data, with mqtt data
To answer the original question, Ubuntu/Debian packages often install rtl_433 in /usr/bin. However, this plugin has /usr/local/bin hardcoded. An exit code of 127 means command not found. Just make a softlink:
ln -s /usr/bin/rtl_433 /usr/local/bin/rtl_433
To answer the original question, Ubuntu/Debian packages often install rtl_433 in /usr/bin. However, this plugin has /usr/local/bin hardcoded. An exit code of 127 means command not found. Just make a softlink:
ln -s /usr/bin/rtl_433 /usr/local/bin/rtl_433
i have made this now i have this error: [30/10/2023, 10:37:01] [rtl_433] child exit code (spawn) 2 [30/10/2023, 10:37:01] [rtl_433] child close code (spawn) 2
any ideas?
I am trying to get this going and I can't figure out how to give users the right permissions I keep seeing this in my log.
[rtl_433] Spawning rtl_433 [20/09/2021, 15:45:48] [rtl_433] child exit code (spawn) 127 [20/09/2021, 15:45:48] [rtl_433] child close code (spawn) 127