NEWS
New Adapter for rtl_433 incoming data
-
Hello everyone.
You can check out this adapter, if you wish, at: https://github.com/phillipssc/ioBroker.rtl_433
I am relatively new to ioBroker having just started with it 7 months ago. I previously was running OpenHAB but liked the pure JavaScript approach to ioBroker.
When I saw how the Sonoff adapter was done I was interested if I could do something similar for rtl_433 data. For anyone wondering, rtl_433 builds off of rtl-sdr and uses largely former USB TV Tuner hardware to receive signals in the Rf spectrum (incoming data only). Often this will be at 433 MHz but it is not limited to that frequency. I use this to monitor temperature senders commonly used for weather stations and I have a large number of contact sensors as well. I have been running this adapter for about 6 months now, it is stable.
I created the adapter using the instructions on the site. Starting at: "npx @iobroker/create-adapter iobroker.rtl_433". I have run the utility through the adapter checker at: https://adapter-check.iobroker.in/ the only two errors I currently get are:
[E300] Not found on travis. Please setup travis
1
[W400] Cannot find "rtl_433" in latest repository
1Travis is set up - however it does not pass due to the lack of an RTL-SDR USB stick nor the rtl_433 software in their environment.
The command that fails, "npm run test:integration" passes locally on my worstation. Messages in the log alert the user that the environment needs to be set up and points them to the rtl_433 site https://github.com/merbanan/rtl_433 for installation instructions.I do not believe that my adapter will be in the latest repository until it is accepted by ioBroker at large.
I am trying to get this published using the instructions at https://www.iobroker.net/#en/documentation/dev/adapterpublish.md and this post seems to be the first step
Thanks, feel free to let me know what you think,
Sean -
@phillipssc
Hello thanks for this adapter.
Unfortunately I get the following error message:
nstance system.adapter.rtl_433.0 terminated with code 2 (INVALID_ADAPTER_CONFIG) -
@vogtländer - I am sorry I didn't see this earlier. That message will happen for various reasons. The best place to start is by typing "rtl_433" at the command line to see if it will connect to the USB stick. If that works the second thing to do is to make sure the iobroker user has permissions to access the port of the USB stick as well. There are extensive instructions on the rtl_433 site to set the permissions on the ports for non root users.
Let me know what happens at the command line
-
@phillipssc Hello, I'm really looking forward to your adapter, I'll test it soon. Hopefully it will appear on the official adapter list soon.
Thanks for your work! -
@fckw - Thank you, I am trying. I have finally figured out the Travis CI stuff and some of the other things that have been holding me back. I developed the adapter a week after I was introduced to ioBroker ...and the bulk of the conversation about it is in a foreign language to me.
-
Based on the feedback here and elsewhere, I have updated the adapter in order to hopefully eliminate confusion as well as add capability. The admin interface does some debugging and I believe I have finally done the internationalization - at least to my abilities. The adapter should be overall greatly improved.
-
-
@phillipssc
Hi,
I think your adapter is great! He managed to read out the data from my weather station immediately. Please develop further.
A request from me about this. Would it be possible that the adapter changes the frequency at fixed times or at certain intervals for a certain time? -
@vogtländer - I just looked this up on the rtl_433 site. This should be possible with the latest iobroker.rtl_433 adapter.
In the options tab enter the first frequency followed by -f and the second frequency.
e.g. "344975000 -f 433920000". Obviously use your own needed frequencies and ignore the error-check red highlighting.Add a hop interval in the input below the frequency, and you should be set to go.
...or just write out the command line that you want in the rtl_433 tab.
e.g. "rtl_433 -F json -f 344975000 -f 433920000 -H 30 -C customary -M level -M protocol" (Note "-F json" is always needed)
The downside is that the checkboxes won't work correctly in the protocols and options tabs afterwards. They are not important. Only the command line and the three settings in the sensors tab are saved. I will update the adapter to fix this soon, but it should work for you regardless.
-
@phillipssc said in New Adapter for rtl_433 incoming data:
344975000 -f 433920000
thanks for your
Answer. I switched to the current version. Unfortunately, I get the following error message listed below
and in the adapter
the settings cannot be saved.rtl_433.0 2021-03-26 11:51:26.329 error (13236) rtl_433 disconnected
rtl_433.0 2021-03-26 11:51:26.326 error (13236) rtl_433 disconnected
rtl_433.0 2021-03-26 11:51:26.248 error (13236) TypeError: Cannot read property 'val' of null at /opt/iobroker/node_modules/iobroker.rtl_433/lib/brokerInterface.js:129:46 at /opt/iobroker/node_modules/iobroker.js-controller/lib/stat
rtl_433.0 2021-03-26 11:51:26.240 error (13236) uncaught exception: Cannot read property 'val' of null
rtl_433.0 2021-03-26 11:51:15.412 error (13175) rtl_433 disconnected
rtl_433.0 2021-03-26 11:51:15.407 error (13175) rtl_433 disconnected
rtl_433.0 2021-03-26 11:51:15.313 error (13175) TypeError: Cannot read property 'val' of null at /opt/iobroker/node_modules/iobroker.rtl_433/lib/brokerInterface.js:129:46 at /opt/iobroker/node_modules/iobroker.js-controller/lib/stat
rtl_433.0 2021-03-26 11:51:15.304 error (13175) uncaught exception: Cannot read property 'val' of null
rtl_433.0 2021-03-26 11:51:06.473 error (13139) TypeError: Cannot read property 'val' of null at /opt/iobroker/node_modules/iobroker.rtl_433/lib/brokerInterface.js:129:46 at /opt/iobroker/node_modules/iobroker.js-controller/lib/stat
rtl_433.0 2021-03-26 11:51:06.469 error (13139) uncaught exception: Cannot read property 'val' of null
rtl_433.0 2021-03-26 11:51:06.348 error (13139) rtl_433 disconnected
rtl_433.0 2021-03-26 11:51:06.339 error (13139) rtl_433 disconnected
rtl_433.0 2021-03-26 11:50:55.427 error (13097) rtl_433 disconnected
rtl_433.0 2021-03-26 11:50:55.422 error (13097) rtl_433 disconnected
rtl_433.0 2021-03-26 11:50:55.342 error (13097) TypeError: Cannot read property 'val' of null at /opt/iobroker/node_modules/iobroker.rtl_433/lib/brokerInterface.js:129:46 at /opt/iobroker/node_modules/iobroker.js-controller/lib/stat -
@vogtländer said in New Adapter for rtl_433 incoming data:
That is an interesting error. I will make sure it doesn't happen again in the next version, but one of your objects did not get created correctly.If you can, check to see if you have an object without the discovered parameter in the META section:
Find and delete that object (or enter a date for it) and you should be back in business.
-
@vogtländer - A new version is up that should let you put multiple frequencies in the configuration separated by a space or comma. The error you saw should be handled and if the adapter is put into debug mode, it should help you identify an improperly created device that is not behaving properly.
-
@phillipssc @phillipssc Sorry for reporting so late. I installed the update and the error has been fixed. But there is another problem.
rtl_433.0 2021-04-01 15:33:46.507 debug (14260) Checking for dead devices...
rtl_433.0 2021-04-01 15:33:16.507 debug (14260) Checking for dead devices...
rtl_433.0 2021-04-01 15:32:46.508 debug (14260) Checking for dead devices...
rtl_433.0 2021-04-01 15:32:16.502 info (14260) Go to https://github.com/merbanan/rtl_433 to for installation instructions
rtl_433.0 2021-04-01 15:32:16.501 error (14260) rtl_433 error: {"code":"ERR_INVALID_ARG_VALUE"}
rtl_433.0 2021-04-01 15:32:16.489 info (14260) spawning: -
@vogtländer - What does your command line look like on the first tab of the setup page?
-
@phillipssc That was without input in the adapter and without rtl_433.conf
when i enter my frequency it looks like this:
rtl_433.0 2021-04-02 10:53:24.746 debug (5309) rtl_433.0.TFA-Pool-28: dead
rtl_433.0 2021-04-02 10:53:24.682 debug (5309) Checking for dead devices...
rtl_433.0 2021-04-02 10:53:08.926 debug (5309) sendTo "rtl_433" to system.adapter.admin.0 from system.adapter.rtl_433.0
rtl_433.0 2021-04-02 10:53:07.858 debug (5309) sendTo "rtl_433" to system.adapter.admin.0 from system.adapter.rtl_433.0
rtl_433.0 2021-04-02 10:53:06.770 debug (5309) sendTo "rtl_433" to system.adapter.admin.0 from system.adapter.rtl_433.0
rtl_433.0 2021-04-02 10:53:05.727 debug (5309) sendTo "rtl_433" to system.adapter.admin.0 from system.adapter.rtl_433.0
rtl_433.0 2021-04-02 10:53:04.688 debug (5309) sendTo "rtl_433" to system.adapter.admin.0 from system.adapter.rtl_433.0
rtl_433.0 2021-04-02 10:53:03.653 debug (5309) sendTo "rtl_433" to system.adapter.admin.0 from system.adapter.rtl_433.0
rtl_433.0 2021-04-02 10:53:02.518 debug (5309) sendTo "rtl_433" to system.adapter.admin.0 from system.adapter.rtl_433.0
rtl_433.0 2021-04-02 10:53:02.487 debug (5309) sendTo "listSerial" to system.adapter.admin.0 from system.adapter.rtl_433.0
rtl_433.0 2021-04-02 10:52:54.676 info (5309) Go to https://github.com/merbanan/rtl_433 to for installation instructions
rtl_433.0 2021-04-02 10:52:54.674 error (5309) rtl_433 error: {"code":"ERR_INVALID_ARG_VALUE"}
rtl_433.0 2021-04-02 10:52:54.659 info (5309) spawning: -F json -C -f 868000000
Another question where can you set the sample rate.
I would test the frequency change if the basic settings work -
Thanks for developing this adapter and contributing to the ioBroker community.
I am widely using 433 sensors. To integrate into ioBroker I am curently using RFLink which uses cheap RXB6 receivers and an arduino Mega 2560 to decode the received messages. An ioBroker adapter manages the messages into the objects folders, the pairing etc.
As far as I understood, your adapter does similar things:- transceiver is a common USB SDR-stick such as Realtek RTL2832 based units
- as a decoder serves the rtl_433 SW (which also is available for Windows). This is where the "magic happens" and novel units have to be implemented
- your adapter glues the rtl_433 project to ioBroker, supplying a HMI for pairing and organized the object folders.
Did I get this correctly?
-
@phillipssc
Hello, I've now found time to deal with the problem.
I updated the rtl_433 installation (not adapter). After that I got better logs and could
customize the command line like this:
rtl_433 -F json -f 868000000 -s 1024000 -f 433920000 -s 250000 -H 300 and it runs.
I think there is the problem in the adapter that the command line is not created correctly.
Still, the adapter is awesome! -
@klassisch
yes this is how the adapter works.
It recognizes a large number of devices and also works simultaneously in the frequency range of approx. 433-868Mhz. The only disadvantage as far as I know you can only receive data.
Sending is not possible. -
@vogtländer sagte in New Adapter for rtl_433 incoming data:
Sending is not possible.
For me that would be no limitation. Althoug RFLink also supports transmitting, I neither use it nor need it. Most of the 433MHz units do not have a backward channel and are 2nd choice for actuators. For actuators I prefer Homematic, Shelly, Zigbee.
As far as I am informed, the RTL2832 has an on chip integrated USB interface. This could be a disadvantage for my mode of operation. I modified the arduino Mega for usage over Ethernet. This makes me independent of the location of my ioBroker computer.
-
@vogtländer - It looks like it had to do with unit conversion. It would have been interesting to see what that said - but I will cover it in the next round none the less.