Our current SDR online list: https://sdr-list.xyz/

Wishlist after release v1.6.6: bands.json + cpu, ram and disk status

Started by Hendrik, Jan 10, 2026, 02:06 PM

Previous topic - Next topic

Hendrik

Many thanks to the developer. The current release 1.6.6 is quite stable and easy to update(recompile.sh), great!
It's running here: http://mellesdr.rqhk191saz25euus.myfritz.net

The wishes are:
it would be nice to export the band definition at a own file. So it would be no need after every update to manage the file 'waterfall.js'.

An implentation for a short overview for CPU, memory and disc use would be nice as well. May be a simple output by 'htop' or' btop' could be showed after clicking a button or integrated at the 'Open Additional Info' overview? Currently i use 'monit' to bypass to much manuel ssh logins for a system overview on this remote driven system.

Have a good reception, thanks,
Hendrik



Emmanuel SV1BTL

Quote from: Hendrik on Jan 10, 2026, 02:06 PMThe wishes are:
it would be nice to export the band definition at a own file. So it would be no need after every update to manage the file 'waterfall.js'.

An implentation for a short overview for CPU, memory and disc use would be nice as well. May be a simple output by 'htop' or' btop' could be showed after clicking a button or integrated at the 'Open Additional Info' overview? Currently i use 'monit' to bypass to much manuel ssh logins for a system overview on this remote driven system.

We'll take care of these suggestions and we'll try to make them work.

The "export the band definition" is a very good idea. Waterfall.js has to be upgraded after a very long time, and we know that upgrading it had caused problems to these that they had previous band definitions. Although the documentation is describing the safest way to keep bands' definitions while updating waterfall.js. to make a separate file is the best practice. We'll care about it.

Emmanuel SV1BTL

Quote from: Hendrik on Jan 10, 2026, 02:06 PMshort overview for CPU, memory and disc

It is done, inside "Additional Info"  📊 Stats button next to the PC link that opens the popup!

Quote from: Emmanuel SV1BTL on Jan 10, 2026, 03:55 PMband definition at a own file

It is also done! Now you can edit bands in a separate /PhantomSDR-Plus/frontend/src/bands-config.js file

Please check my server http://phantomsdr.no-ip.org:8900/
and if you are satisfied, I'll include the changes to the Github.

Hendrik

Emmanual, at least for today you're my hero! The machine status looks great and is quite helpful and with the 'bands-config.js' could every owner better control the band selection offer. Also fine: against my SDR release is in your release the noise reduction button active again. I'll fast update my RX with your new Github release.

Many thanks for your fast reaction and your quick work, my deepest bow.  :D

Have a great weekend,
Hendrik

Emmanuel SV1BTL

Quote from: Hendrik on Jan 11, 2026, 10:04 AMEmmanual, at least for today you're my hero! The machine status looks great and is quite helpful and with the 'bands-config.js' could every owner better control the band selection offer. Also fine: against my SDR release is in your release the noise reduction button active again. I'll fast update my RX with your new Github release.

Many thanks for your fast reaction and your quick work, my deepest bow.  :D

Have a great weekend,
Hendrik

Everything is done as you would like (and as it would be done from the beginning), and of course it was a brilliant idea. Now I am testing everything and if all it's ok, I'll upload the changes to the Github. At least waterfall.js and the new /PhantomSDR-Plus/frontend/src/bands-config.js , will be uploaded today.

Stats are done, but the Sysop must install a new server for stats, open a port in the router, and also make a script for autostart this particular service. All these I'll describe in detail with the newer Readme.md. It is not such a big deal, but additional acts may be done from the side of SySop. I want to wait for a while, before to add the solution to the Github, to be ensured for the stability.

Emmanuel SV1BTL

waterfall.js and bands-config.js have been uploaded!
Read initial readme.md in section https://github.com/sv1btl/PhantomSDR-Plus#the-bands-configjs


Hendrik

The new 'waterfall.js and the 'bands-config.js' are already implemented and live. It's works immediately as expected! Also fine: Only the changed files get a new date at your repo. So it's qute easy to run an update.

Appending here the changed 'generateshortwave.py' by the 'frequencylist' folder. The last remarked lines explains how to update/extend the 'markers.json' with the broadcasting stations by the HFCC datbase. If you think it makes sense, so you could extend the file at your fine repo or give the readme a hint more.

Thanks again for your fas response!
73 de Hendrik


from collections import defaultdict
import json
broadcastersFile = open('broadcas.txt',encoding="ISO-8859-1")
frequenciesFile = open('B25all00.TXT')

broadcasters = {}
for broadcaster in broadcastersFile:
    if broadcaster[0] != ';':
        k, v = broadcaster.rstrip().split(" ", 1)
        broadcasters[k] = v

frequencies = defaultdict(set)
for frequency in frequenciesFile:
    if frequency[0] != ';':
        f = int(frequency[:5])
        b = frequency[117:120]
        frequencies[f].add(b)

for k in frequencies.keys():
    frequencies[k] = "\n".join(sorted(broadcasters[x] for x in frequencies[k]))

frequenciesSorted = []
for k, v in sorted(frequencies.items()):
    frequenciesSorted.append({"frequency": k*1000, "name": v, "mode": "AM"})

json.dump(frequenciesSorted, open('shortwavestations.json','w'), indent=4)


#download from https://new.hfcc.org/data/ the newest list, at the buttom of page, here: "B25allx2.zip - B25 Operational Schedule - Last updated on 20-Dec-2025"
#unzip the downloaded file, here: "B25allx2.zip"
#move "B25all00.TXT" and "broadcas.txt" at the "frequencylist" folder
#edit the file "generateshortwave.py"
#modify line 4 for the current file name, here : "B25all00.TXT"
#modify line 24 to "frequenciesSorted.append({"frequency": k*1000, "name": v, "mode": "AM"})"
#run script with "python3 generateshortwave.py"
#extend or replace the file "markers.json" with the new generated file "shortwavestations.json"

Emmanuel SV1BTL

Quote from: Hendrik on Jan 11, 2026, 01:00 PMchanged 'generateshortwave.py' by the 'frequencylist' folder

Yes, the file is been updated as you suggested, and uploaded.

Emmanuel SV1BTL

Quote from: Hendrik on Jan 10, 2026, 02:06 PMAn implentation for a short overview for CPU, memory and disc use would be nice as well.

Well, I think is done with the info a sysop expects to see. If you, Darko and the others using v.1.6.6 wish, then I'll included as update to the Github, with some instructions how to build the needed additional server. I am waiting for the feedback.

Emmanuel SV1BTL

The Monitor Tool is added to the Github. There are some added & updated files. You can download only them to update, or make a clean install.
In case you don't want to install the tool, you will need to make a minor modification to the app.svelte's files, so the button no to be appeared.
Detailed information here:
https://github.com/sv1btl/PhantomSDR-Plus/blob/main/docs/sdr-stats/README.md

Hendrik

Thank you again for the updated code. I've it already implemented and it's running well:
System Resources
🖥� CPU
Usage: 3%
Cores: 16
Top Processes:
spectrumserver 15%
rx888_stream 14.4%
node 0.4%
💾 Memory
Used: 1.3 GB / 15 GB
Usage: 9%
💿 Disk
Used: 38 GB / 467 GB
Usage: 9%

Ok, temperatur is missing due to the most nodejs modules that request hardware settings only running with intel chips(here AMD). I'll surwive that, probably.

Well done! Great work.
Have a great week,

Hendrik

Emmanuel SV1BTL

Quote from: Hendrik on Jan 13, 2026, 12:09 PMThank you again for the updated code. I've it already implemented and it's running well:

Glad, but you have not maybe setup the port to be open in your router, that's why the end user receives only 0 values.

Hendrik

Yes, thank you, 3001 was only open for IP V4. It's seems you use V6 and found so this kind of issue.
Could you it try again please?

Best regards,
Hendrik

Emmanuel SV1BTL

No, sorry, 0 (zero) values again.
I am using IP V4.

I am ready to upload new versions for the tool, so to be more accurate with Intel/AMD temperature measurements. The problem was of what sensors has the script to read temperature information, and I think the new version solves this. Now I am testing it and I see that temperature is shown as it should be.

The new installation script will install all needed for reading the sensors from Intel, AMD & ARM. A manual installation is also included in the readme.md

I am afraid that you have to uninstall the previous version doing these steps and reinstall the newer version:
- sudo systemctl stop sdr-stats.service
- sudo rm /etc/systemd/system/sdr-stats.service
- delete manually the folder sdr-stats-server (rm -r sdr-stats-server)
- Run the newer install-stats-server.sh you'll download from Github
     cp ~/PhantomSDR-Plus/docs/sdr-stats/install-stats-server.sh ~/
     chmod +x install-stats-server.sh
- follow the instruction during installation
- if you accept to create sdr-stats.service, then after installation run:
     sudo systemctl restart sdr-stats.service  and check with:
     sudo systemctl status sdr-stats.service

DONE!

All the newer files are ready for upload, but the update will be done later today.
Please notify any problems found (if any)!...

Hendrik

Many thanks for your long instruction due to the sdr-stats service. What for a load of work! (for me not needed, i'm quite familare with systemd services, but helpful if anybody else like do the same) 


The new API is running well.
local IP --> http://192.168.188.27:3001/api/system-stats

cpu
usage 2
cores 16
temperature 53
topProcesses
0
name "spectrumserver"
cpu 20.7
1
name "rx888_stream"
cpu 18
memory
used 1.3
total 15
percent 9
disk
used 38
total 467
percent 9

Temperature is Up on AMD CPU, great. Thank you.

Port 3001 V4/V6 is open at the same manner like the port 80 for the sdr. Sdr-stats is running:

hm@mellesdr:~/PhantomSDR-Plus-main$ systemctl status sdr-stats
● sdr-stats.service - SDR System Stats Server
     Loaded: loaded (/etc/systemd/system/sdr-stats.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2026-01-14 09:45:14 CET; 25min ago
   Main PID: 929682 (node)
      Tasks: 7 (limit: 18258)
     Memory: 14.1M
        CPU: 217ms
     CGroup: /system.slice/sdr-stats.service
             └─929682 /home/hm/.nvm/versions/node/v22.21.1/bin/node /home/hm/sdr-stats-server/system-stats-server.js

Jan 14 09:45:14 mellesdr systemd[1]: Started SDR System Stats Server.
Jan 14 09:45:14 mellesdr node[929682]: System stats server running on http://localhost:3001
Jan 14 09:45:14 mellesdr node[929682]: API endpoint: http://localhost:3001/api/system-stats

The file 'site_information' have the entry "siteStats": "http://rqhk191saz25euus.myfritz.net:3001".

But on the sdr --> 'additinal info' --> 'stats' get I only the zero values. Even if i use the local or the public IP.
May be that's interessting: the local IP 'http://192.168.188.27:3001/'; returns 'Cannot GET /'.

Do not rush, take time, i like development on software components.

73 de Hendrik.


Powered by EzPortal