The problem: I’ve been using JS8Call since the very beginning and as I use multiple computers with different operating systems my JS8Call logs are saved on those different computers. I do try and add them to my online logs – QRZ.com and eQSL.cc but not every one manages to get into them.
So I wanted a simple lightweight solution to the problem, and fortunately JS8Call has a great API that’s pretty simple to use that you can use to send commands to JS8Call and more importantly in this case that outputs some really useful data including the ADIF record when you log a QSO. Luckily for me I am a professional software developer and I have already written a couple of apps that use the JS8Call API so it seems like it would be quite simple to write an app that would take that ADIF data and send it to my QRZ.com and eQSL.cc.
Initially I created a python app that waited for the log output using the same UDP port that some commercially available software uses but I quickly decided that using this method would limit future functionality of my app as you only get the ADIF data and nothing else from JS8Call. To give this room for enhancement in the future it needed to read from the full API. Although at this stage I wont be using anything other than the ADIF output for logging.
Im a great believer in writing reusable code, so I was able to take a version of my JS8Call UDP listener python module and very quickly modify it to wait for the LOG.QSO command to appear in the JS8Call API out put and send that data to a new module and class to do the hard work of sending the data out.
Next because I was planning on making it available to others I put a simple user interface on it, add some settings and the ability to enable/disable the upload function for users that don’t use one or other of the online services.
You can grab the app code from github here:
The instructions are on the page. But if you need any help please get in touch, you can fund my contact and social media details here: http://m0iax.com/findme
Please let me know what you think, and let me know if you can think of any enhancements that might help. Currently planned enhancements include
- Upload Status messages to be shown on the UI
- QRZ Callsign Lookup and display
- Offline Mode – collect ADIF for upload when back online
Im planning to make a video guide for this, I will add a link to it when its done.