# Biathlon Target System Messaging API (Draft) ## Description This is version `0.3.1-draft` of this API documentation. Last update on Dec 18, 2024. Messaging API for publishing biathlon target states, system data, and time synchronization. Messages can be sent from the server to all targets (broadcast messages) or from individual targets to the server. MQTT (Message Queuing Telemetry Transport) is a lightweight messaging protocol designed for efficient communication in Internet of Things (IoT) and machine-to-machine (M2M) environments. It operates on a publish-subscribe model, where devices (clients) can publish messages to specific topics and subscribe to receive messages from topics of interest. The key advantages of MQTT messaging include: - Lightweight and efficient: MQTT has a small footprint and minimal overhead, making it ideal for resource-constrained devices and low-bandwidth networks. - Scalability: The protocol can support millions of connected devices, making it suitable for large-scale IoT deployments. - Reliability: MQTT offers different Quality of Service (QoS) levels to ensure message delivery, even in unreliable network conditions. - Real-time communication: It enables near real-time messaging between devices and systems. - Bi-directional communication: MQTT allows for easy two-way communication between devices and the cloud / server. - Low power consumption: The protocol is designed to be energy-efficient, making it ideal for battery-powered devices. - Flexibility: MQTT's topic-based architecture allows for easy organization and filtering of messages. These features make MQTT an excellent choice for IoT applications that require efficient, reliable, and scalable messaging capabilities. ## Servers - mqtt: mqtt://server.fritz.box:1833 () ## Channels and operations ### [Biathlon](https://bump.sh/sv-sandkrug/doc/target-messaging/group/channel-biathlon.md) - [The target sends the result state to the server. This message is published after every target change, which can be a hit on one target or a reset when all targets are opened.](https://bump.sh/sv-sandkrug/doc/target-messaging/operation/operation-publishtargetstate.md) - [The target periodically sends system information data to the server. This serves as a keep-alive indicator for the server, confirming that the target system is still operational and in a healthy state.](https://bump.sh/sv-sandkrug/doc/target-messaging/operation/operation-publishsystemdata.md) - [The server sends the current server time to each target. Synchronizing system time between the server and all targets is crucial for all protocol data. This message is sent periodically from the server to all targets. In case of a time deviation, the target time will be adjusted to match the current server time.](https://bump.sh/sv-sandkrug/doc/target-messaging/operation/operation-onmqttmessage.md) [Powered by Bump.sh](https://bump.sh)