Hamclock Update

De meeste gebruikers van Hamclock zullen het zo langzamerhand wel weten, Elwood Downey, WB0OEW, de geestelijk vader van Hamclock is begin dit jaar helaas plotseling overleden. Dat heeft gevolgen voor de continuïteit van deze service, aangezien de live data voor de Hamclock van een server komt die door hem werd gehost.
Er is inmiddels gecommuniceerd dat deze server per juni 2026 uit de lucht zal gaan.

Het mooie van de amateurgemeenschap is dat er inmiddels een aantal projecten zijn opgestart om dit probleem op te lossen. Zoveel zelfs dat ik de weg een beetje kwijt was, welke oplossing moet ik nu volgen?
Hieronder volgt mijn speurtocht, en verslag van mijn pogingen om ze aan de praat te krijgen.
Belangrijk voor je begint: upgrade naar de laatste versie (4.22) zolang het nog kan. Ik vermoed dat ook deze service in juni niet meer werkt. Dit doe je door hamclock even te herstarten. Je krijgt dan een vraag of je wilt upgraden.

1. Alternatieve server instellen

Dit is verreweg de meest eenvoudige oplossing. Je hoeft niets te installeren, alleen het programma te starten met een commandline switch die het adres geeft van de server die je wilt gebruiken. Op dit moment zijn mij twee servers bekend:

  • OpenHamClockBackend
  • Hamclock.com

Je kunt dit eenvoudig testen door hamclock via de CLI (Command Line Interface, dwz terminal) te starten:

OpenHamClockBackend:

hamclock -b ohb.hamclock.app:80

Hamclock.com:

hamclock -b hamclock.com:80

Om hamclock bij opstarten automatisch naar de juiste backend te laten kijken moet je wel nog de autostart aanpassen. Aangezien Hamclock heel slim de beste manier selecteert (bij mijn hamclock die op bookworm en grafische omgeving is geïnstalleerd is dat bijvoorbeeld anders dan bij mijn tweede die onder Trixie headless draait met alleen een CLI) is dat even een uitzoekwerk hoe je dat moet doen.

G6NHU biedt op zijn website een utility aan die je dit uit handen neemt.
Je kunt eenvoudig een utility downloaden en installeren:

curl -fsSL https://qsl.net/g6nhu/tools | sudo bash

Dit commando haalt het script op van de qsl.net pagina van g6nhu, en ‘pipet’ dit vervolgens door naar een shell (bash) om het uit te voeren. Het resultaat is een aantal shellscripts die opgeslagen zijn in /usr/local/bin:

  • csi (zet de hamclock terug naar de default server)
  • fix-hosts (corrigeert de hosts file, indien nodig)
  • hcdc (selecteert hamclock.com backend server)
  • ohb (selecteert OpenHamClockBackend server)
  • what (laat zien welke backend geselecteerd is)

Nadat het script is uitgevoerd moet je het volgende commando nog uitvoeren:

sudo fix-hosts

Afhankelijk van je situatie en operating system versie kun je een paar antwoorden verwachten:

- OS is older than Trixie. No change needed.
- No change needed: manage_etc_hosts is already set to false
- Changed manage_etc_hosts to false in /boot/firmware/user-data.
Please reboot before continuing

In het laatste geval moet je je hamclock even rebooten.
Daarna moet je een backend server selecteren. Dit doe je eenvoudig door in een terminal de volgende commando’s in te voeren:
Voor OpenHamclockBackend:

sudo ohb

Voor hamclock.com:

sudo hcdc

Via het commando:

what

Kun je verifiëren welke server in gebruik is:

Your HamClock is set to Open HamClock Backend

Nadelen van deze oplossing:

  • Het programma zelf wordt niet meer onderhouden, en ik verwacht dat het na juni 2026 wanneer de server uit de lucht gaat niet meer geïnstalleerd kan worden via het installatie script. Deze methode is dus alleen bruikbaar om bestaande hamclocks draaiend te houden, niet om (op)nieuw te installeren.
  • Ik denk dat restart via het Hamclock menu (restart hamclock, niet reboot) niet werkt, omdat deze dan de default server kiest.

2. Alternatief programma gebruiken

Volgens mij in een recordtijd uit de grond gestampt is het programma ‘OpenHamClock’. Het heeft nog een paar ‘quircks’, met name de installatie werkte bij mij de eerste keer niet vlekkeloos, maar inmiddels heb ik een recept dat goed werkt.

Een live demo is hier te vinden: https://openhamclock.com/

Er is een github pagina met alle sources, en instructies: https://github.com/accius/openhamclock
Installeren gaat via scripts. De applicatie heeft nogal wat additionele zaken. Het is voornamelijk in javascript geschreven, en heeft daarvoor een runtime omgeving nodig. Dit is Node. Node komt met zijn eigen package manager (npm) die gebruikt wordt om de installatie te installeren.

Belangrijke opmerking voor raspberry Pi gebruikers: mijn eerste poging was om via de instructies op de voorpagina van de githup site het programma te installeren. Dat bleek een foute beslissing. Aangezien mijn Pi alleen maar als Hamclock dient (met ingebouwd display) kon ik gelukkig snel weer opnieuw beginnen. Bij mij (met een RPI 3B) lukte het uiteindelijk op deze manier:

Maak met Raspberry Pi imager een verse SD card aan, met de 64 bit versie van Trixie
Nadat de Pi is opgestart, kun je remote via SSH of met een muis/keyboard via USB de laatste settings doen:

sudo raspi-config

Hier kun je:
1. De screenblanking uitzetten (via optie 2: Display)
2. De VNC server aanzetten (via optie 3: Interface options)
3. Het bestandssysteem expanderen zodat de totale SD card beschikbaar komt. (via optie 6: Advanced Options)

Daarna even de gebruikelijke last-minute updates uitvoeren:

sudo apt update
sudo apt upgrade

Tenslotte dit script uitvoeren:

curl -fsSL https://raw.githubusercontent.com/accius/openhamclock/main/scripts/setup-pi.sh | bash -s -- --kiosk

Dan is het een kwestie van rebooten, en de Hamclock zal vanzelf in fullscreen (Kiosk) mode opstarten.

Via de CLI kun je eventueel nog wel ingrijpen:

 Installation Directory: /home/<USER>/openhamclock
  Web Interface: http://localhost:3000

  Helper Commands:
    /home/<USER>/openhamclock/scripts/update.sh - Update to latest version
    /home/<USER>/openhamclock/start.sh          - Start server manually
    /home/<USER>/openhamclock/stop.sh           - Stop everything
    /home/<USER>/openhamclock/restart.sh        - Restart server
    /home/<USER>/openhamclock/status.sh         - Check status

  Service Commands:
    sudo systemctl start openhamclock
    sudo systemctl stop openhamclock
    sudo systemctl status openhamclock
    sudo journalctl -u openhamclock -f

  Kiosk Mode: Enabled
    OpenHamClock will auto-start on boot in fullscreen

    Exit kiosk:
      Alt+F4          Close Chromium
      Ctrl+Alt+T      Open terminal (then: pkill -f kiosk)
      SSH:            pkill -f kiosk.sh

    Disable auto-start:
      rm ~/.config/autostart/openhamclock-kiosk.desktop

  73 de OpenHamClock!
(Vervang <USER> door de door jou gebruikte usernaam)

Op dit moment kan ik nog niet echt een goed oordeel over het programma geven, daarvoor zal ik nog wat langer moeten spelen. Het lijkt in ieder geval extreem configurabel te zijn. Wel heeft het wat zaken die mij onhandig of onlogisch overkomen. Ik kom hier in een volgende blogpost op terug.

3. Zelf een server (backend) hosten