Releases: pascal-fb-martin/houseclock
Event page cleanup
This release changes the event HTML page to use the latest HousePortal's capabilities.
It also add events when the time drift is large.
Add events and debug help
This release contains the following changes:
- Add events to record client and server activity, and event web page. (This is mostly useful when troubleshooting IOT devices, like IP cameras.)
- Never exit on error without some traces.
- Wait for HousePortal to have started.
Maintenance release
- Show the server's time on the web page
- Builds with echttp v1.4 (OpenSSL).
Web UI integrated in HousePortal
This release introduce two major features:
- Better integration with HousePortal.
- Minimalist web UI, a first step toward a complete management UI.
Add support for HousePortal
This version adds support for HousePortal: if you install HousePortal (using port 80), HouseClock can (should) be configured using the -http-service=dynamic option. This will cause HouseClock to use dynamic port allocation and register a redirection with HousePortal, making HouseClock transparently accessible on port 80, alongside with other applications.
JSON fixes and improvements
This release contains the following changes:
- Increase the size of the JSON buffer to match the maximum size of the data.
- Add traffic metrics page.
Complete tty setup, handle chrony installs
This release contains the following changes:
- Put the GPS tty in raw mode, 8 bits, no parity, and set VMIN and VTIME to 0, to cope with variants of the vk-162 receiver.
- Handle chrony when installing houseclock.
- improve robustness, JSON fixes in special conditions.
Bug fixes
This release contains bug fixes and other minor improvements:
- Do not echo characters coming from the GPS devices.
- Return correct JSON status when no GPS device.
- Return correct JSON status when no internal state is available yet.
- Minor changes to make the code more robust/resilient.
Bug fixes and early support for secondary (stratum 2) server
Use targeted broadcast, more robust client mode, better web status, client can act as unicast time server when synchronized through multicast.
Multicast time synchronization shows a very variable drift of up to 120 ms, even while ping's round trip is less than 3 ms.
First version in operation
This release is working for my current needs, even if not complete (see below). Installation is performed through the make file.
In this release, HouseClock can:
- Retrieve the time from a NMEA GPS receiver and adjust the local system clock.
- Synchronize between houseclock server and clients (NTP broadcast packets only)
- Report its status to web clients in JSON format: overall status, detailed GPS NMEA log, detailed clock drift log, NTP client log.
- Automatically switch between NTP client and server mode, depending on GPS time reference availability.
- Synchronize NTP clients when in server mode (tested with an IP camera and ntpd).
- Run as an init service (daemon).
What remains to be done:
- Build a web user interface.
- Responds to NTP requests as a stratus level 2 server when in client mode (but don't send broadcast packets).