There are some alternatives to prometheus exporter for RTL433, but they all use subprocess to parse rtl_433 stdout (which may stop running). The solution is to run rtl_433 as a system service, and expose data via http(websockets) and utilize websockets in python exporter.
It's up to you, to setup rtl_433 (whether script or service), just expose http, like rtl_433 -F http -F http://localhost:5555
.
This service/script should handle failing and restarting rtl_433
in case of problems.
Then set this endpoint in server.py
as websocket endpoting. Then set sensors dict, to handle your sensors.
Start server, and browse http://localhost:9100/metrics
or configure prometheus.
The only one lib required is aiohttp.
https://github.com/mivok/rtl_433_exporter
https://github.com/mhansen/rtl_433_prometheus
Better argument handling and parametrization.