Core Components

EventBus

The EventBus handles real-time parameter updates with multicast delivery.

from pybragerone.models.events import EventBus, ParamUpdate

# Create event bus
event_bus = EventBus()

# Subscribe to updates
async for event in event_bus.subscribe():
    if isinstance(event, ParamUpdate):
        print(f"Parameter {event.pool}.{event.chan}{event.idx} = {event.value}")

Tip

Subscribe before fetching initial data to avoid missing updates.

ParamUpdate Events

Every parameter change triggers a ParamUpdate event with these fields:

Field

Description

devid

Device identifier

pool

Parameter pool (e.g., "P4", "P5")

chan

Channel type: "v" (value), "s" (status), "u" (unit)

idx

Parameter index (integer)

value

Current value or None if metadata-only

meta

Additional info (timestamps, averages, etc.)