layout | title | permalink |
---|---|---|
page |
OpenWebRX+ Plugins Home |
/ |
OpenWebRX+ Plugin collection.
There are two types of plugins as of now:
Every plugin has it's own documentation.
Learn how to install and load the plugins.
Name | Description |
---|---|
screen_reader | provide spoken notifications to users with Assistive Technology |
antenna_switcher | antenna switching functionality for Raspberry Pi devices (LZ2DMV) |
tune_checkbox | make the 'Hold mouse wheel down to tune' setting enabled by default (LZ2DMV) |
frequency_far_jump | jump to a frequency outside of the current profile, by typing it in the receiver's frequency dial (LZ2DMV) |
keyboard_shortcuts | add keyboard shortcuts to the receiver |
colorful_spectrum | colorize the spectrum analyzer |
connect_notify | send/receive notifications on user connect/disconnect |
sort_profiles | sort profiles by NAME |
tune_checkbox | enable mouse-scroll to zoom by default (LZ2DMV) |
utils | this is utility plugin, required by many plugins |
notify | this is utility plugin, required by some plugins |
example | example plugin for developers |
example_theme | example theme plugin for developers |
Name | Description |
---|---|
layer_qth_maidenhead | add Maidenhead (QTH) grid to the map |
To load a plugin you need to create init.js
file inside your openwebrx
installation under htdocs/plugins/{type}
folder. The {type}
should be receiver
or map
.
The folder could be one of the these, depending on the installation of OWRX+ you have:
- /opt/openwebrx/htdocs
- /usr/lib/python3/dist-packages/htdocs
You can find the correct folder with this command:
find / -name openwebrx.js
Now create or edit the init.js
file. The easiest way is to use the provided templates:
Here is an example how to create the receiver/init.js
.
OWRX_FOLDER=$(dirname `find / -name openwebrx.js`) # find OWRX+ htdocs folder
mkdir -p "$OWRX_FOLDER/plugins/receiver" # create folder if it does not exist
cd "$OWRX_FOLDER/plugins/receiver" # go inside folder
wget https://0xaf.github.io/openwebrxplus-plugins/receiver/init.js.sample -O init.js # download tepmlate
${EDITOR-nano} init.js # start the editor
If you are using the Raspberry Pi images, there is a caching service called varnish
that might (will) prevent your plugins from loading immediately after you edit the init.js
file.
To avoid weird issues, it is recommended to invalidate the cache after any changes to the plugins system by restarting the corresponding services:
sudo systemctl restart varnish nginx
If you're using Docker images (openwebrxplus or openwebrxplus-sofmbe), then you will need to bind-mount the plugins folder to your host system and follow the instructions above. More info can be found in the docker pages of the images.
If you're a developer and want to create new plugins, you need to get familiar with OWRX+ JS code.
Then you might want to check the example plugin or the example theme plugin.
After you get the are familiar enough, you can check the code of the rest plugins.
You can develop your plugins locally and load them, similar to the remote plugins.
Local plugins should be in their own sub-folder under $OWRX_FOLDER/plugins/{type}/
and should be loaded by their (folder) name. i.e. Plugins.load('layer_qth_maidenhead');
.
Note that remote plugins are loaded with direct url to the .js
file. i.e. Plugins.load('https://0xaf.github.io/openwebrxplus-plugins/map/layer_qth_maidenhead/layer_qth_maidenhead.js');
.
If you want to host your plugins on Github, you will need to create Github Page over your repository, because direct links to a file in the repo will return wrong Content-Type and the browser will not load JS with wrong content-type. Finding the rest is up to you.
Use these plugins at your own risk. No warranty at all.
For support, you can find me (LZ2SLL
) in the OWRX+ Telegram Chat or here.