james-fry / hassio-addons

Repository for hass.io add ons
99 stars 96 forks source link

library librtlsdr.so.0 not dound in /usr/local/bin/rtl_433 RTL-Stick does not get Signals library #38

Open feigenmann opened 3 years ago

feigenmann commented 3 years ago

Hi there I did create the sh script in config/... and configured it the way it works for me. Allthough when setting up the MQTT node in Node Red an attach a debug node to it not Output is sent from the MQTT node.

I would like to monitor 433 temperatur sensor from renkforce and TFA - i get the following output without the plugin it worked - but i would like to get it wokring using the plugin

[s6-init] making user provided files available at /var/run/s6/etc...exited 0. [s6-init] ensuring user provided files have correct perms...exited 0. [fix-attrs.d] applying ownership & permissions fixes... [fix-attrs.d] done. [cont-init.d] executing container initialization scripts... [cont-init.d] done. [services.d] starting services [services.d] done. Starting RTL_433 with parameters: MQTT Host = localhost MQTT User = MQTT Password = MQTT Topic = homeassistant/sensor/currentcost RTL_433 Protocol = 100 RTL_433 Frequency = 319500000 RTL_433 Gain = 60 RTL_433 Frequency Offset = 350 Error loading shared library librtlsdr.so.0: No such file or directory (needed by /usr/local/bin/rtl_433) Error relocating /usr/local/bin/rtl_433: rtlsdr_get_device_count: symbol not found Error relocating /usr/local/bin/rtl_433: rtlsdr_reset_buffer: symbol not found Error relocating /usr/local/bin/rtl_433: rtlsdr_get_tuner_gains: symbol not found Error relocating /usr/local/bin/rtl_433: rtlsdr_get_device_usb_strings: symbol not found Error relocating /usr/local/bin/rtl_433: rtlsdr_set_tuner_gain_mode: symbol not found Error relocating /usr/local/bin/rtl_433: rtlsdr_close: symbol not found Error relocating /usr/local/bin/rtl_433: rtlsdr_get_device_name: symbol not found Error relocating /usr/local/bin/rtl_433: rtlsdr_set_tuner_gain: symbol not found Error relocating /usr/local/bin/rtl_433: rtlsdr_get_sample_rate: symbol not found Error relocating /usr/local/bin/rtl_433: rtlsdr_read_async: symbol not found Error relocating /usr/local/bin/rtl_433: rtlsdr_set_center_freq: symbol not found Error relocating /usr/local/bin/rtl_433: rtlsdr_open: symbol not found Error relocating /usr/local/bin/rtl_433: rtlsdr_set_sample_rate: symbol not found Error relocating /usr/local/bin/rtl_433: rtlsdr_get_center_freq: symbol not found Error relocating /usr/local/bin/rtl_433: rtlsdr_get_index_by_serial: symbol not found Error relocating /usr/local/bin/rtl_433: rtlsdr_cancel_async: symbol not found Error relocating /usr/local/bin/rtl_433: rtlsdr_set_freq_correction: symbol not found [cmd] /bin/ash exited 0 [cont-finish.d] executing container finish scripts... [cont-finish.d] done. [s6-finish] waiting for services. [s6-finish] sending all processes the TERM signal.

mmiller7 commented 3 years ago

I just fell over this trying to rebuild a working install to get updated decoders...now I have NOTHING working and no way to roll back that I can see. Help?!?!?!

mmiller7 commented 3 years ago

Workaround figured out -- it seems the library is installed inside the addon container under /usrl/local/lib64 but the runtime system is not looking in the usual library locations, I don't know why.

In HomeAssistant via your favorite method (samba, ftp, ssh), edit the rtl433 startup script: /config/rtl4332mqtt/rtl2mqtt.sh

Find where it calls rtl_433 and add this to a new line before the rtl_433 executable: /usr/local/bin/rtl_433 -F json -R $PROTOCOL -f $FREQUENCY -g $GAIN -p $OFFSET | while read line

Add a new line BEFORE the rtl_433 line: export LD_LIBRARY_PATH="/usr/local/lib64"

Now re-start (not rebuild) the addon, and it should fire up correctly.

IMPORTANT -- the new rtl_433 also changed the sensor type names so you probably need to modify all of your mqtt sensor entities to point at the new paths. For example, mine changed from sensors like "homeassistant/sensor/rtl433/Acurite_tower_sensor/1234" now the MQTT path is "homeassistant/sensor/rtl433/Acurite-Tower/1234". Also beware some of the JSON changed, for example "battery_low" (which was a 1 for low and 0 for good) is now "battery_ok" (where 1 is good and 0 is low).

sischnei commented 3 years ago

I can confirm that your solution with exporting LD_LIBRARY_PATH works great! Thanks :+1: