Skip to main content

Overview

The OnTime generator integrates with OnTime show control software via HTTP polling. It fetches the current event data and displays it as text, and optionally writes event metadata to DMX channels.
OnTime is a professional show control and scheduling application for events, theater, and broadcast.

Properties

dataPayloadChannelStart
DMXChannel
default:"0"
Starting DMX channel for writing event metadata payload.
Inherits all properties from the Text Generator including font, size, and color.

Implementation

From ~/workspace/source/Assets/Plugin/Generators/OnTime/GeneratorOnTime.cs:27-40:
public override void GenerateDMX(ref List<byte> dmxData)
{
    text = "";
    var task = Task.Run(async () =>
    {
        var response = await _client.GetAsync("http://localhost:4001/api/poll");

        //read as string
        string responseString = await response.Content.ReadAsStringAsync();
        return responseString;
    });
    task.Wait();
    var response = task.Result;
    Root data = JsonConvert.DeserializeObject<Root>(response);
    // ... process event data
}

API Endpoint

The generator polls http://localhost:4001/api/poll to retrieve current event information from the OnTime server.

Expected Response Format

The OnTime API returns JSON data conforming to the Root schema defined in OnTimeAPI.cs:
{
  "event": {
    "id": "event-123",
    "title": "Opening Ceremony",
    "timeStart": "2024-01-01T19:00:00Z",
    "timeEnd": "2024-01-01T20:00:00Z",
    "duration": 3600000
  },
  "playback": {
    "state": "playing",
    "currentTime": 1234567
  }
}

Configuration Example

generators:
  - !OnTime
    dataPayloadChannelStart: 400
    # Text rendering settings (inherited from Text generator)
The OnTime generator requires OnTime software to be running locally on port 4001. Ensure OnTime is configured to enable HTTP API access.

Setup Requirements

1

Install OnTime

Download and install OnTime from getontime.no
2

Enable API Access

Configure OnTime to enable HTTP API on port 4001 (default)
3

Configure HNode

Add the OnTime generator to your show configuration
4

Verify Connection

Check HNode logs for successful API polling

Use Cases

Show current event title and timing information in virtual worlds or on LED displays during live events.
Synchronize lighting cues with OnTime’s scheduling system by reading event metadata.
Display time remaining until next event or time elapsed in current event.
Write event IDs or timestamps to DMX channels for consumption by other systems.

Troubleshooting

Error: Cannot connect to OnTime APISolutions:
  • Verify OnTime is running
  • Check OnTime is listening on port 4001
  • Ensure no firewall is blocking localhost connections
  • Verify HTTP API is enabled in OnTime settings
Error: Generator runs but no text appearsSolutions:
  • Check OnTime has active events scheduled
  • Verify JSON response format matches expected schema
  • Check HNode console for deserialization errors
  • Ensure text rendering settings are configured

External Resources

Build docs developers (and LLMs) love