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 |
|---|---|
|
Device identifier |
|
Parameter pool (e.g., |
|
Channel type: |
|
Parameter index (integer) |
|
Current value or |
|
Additional info (timestamps, averages, etc.) |