Files
hms-mediaengine/packages/artnet/hms_artnet/__init__.py
T
HMS MediaEngine Agent 423bd00b4e Phase 4 abgeschlossen: Patch-Verwaltung und DMX-Verkabelung (§16.2, §11)
- FixturePatch: Layer-Fixtures mit 64-Kanal-Adressen, Validierung
  (UUIDs, Universe-Grenzen, keine Überlappung), 8 Layer = 1 Universe,
  Master-Overlap-Prüfung, CSV-Export nach §16.2 (Node-ID, Short Name,
  IP, Universe, Startadresse, Layernummer, Fixture-Version)
- PatchEntry: stabile UUID-basierte Layer-/Kompositions-IDs (§10.2)
- DmxToParameterRouter: DMX → Patch → Master32/Layer64 → ParameterEngine
  - Master-Blackout mit SAFETY-Priorität (§11.2), Release beim Aufheben
  - Load/Commit-Events erzeugen pending_loads für Renderer-Preload (§16.5)
  - Signalverlust: HOLD (keine Änderung) oder FADE_TO_BLACK (SAFETY)
  - Layer-Flankenzustand je Instanz; Telemetrie (Updates, Commits, Blackouts)
- 17 Integrationstests ohne Mocks: Adressvalidierung, Überlappungen,
  8-Layer-Voll-Universe, CSV-Export-Felder, Blackout-SAFETY-Release,
  Load/Commit-Kette, Signalverlust-Policies
- Gesamtsuite 549 grün, Ruff grün
2026-09-11 02:18:00 +02:00

80 lines
1.8 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"""hms_artnet Art-Net 4 Steuerung (PLAN.md §16).
ArtDMX-Empfang, ArtPoll/ArtPollReply (Discovery als Media Server, Style 0x02),
Fixture-Engine (Master32/Layer64, §16.3–§16.6), Patch-Verwaltung (§16.2),
DMX-zu-Parameter-Verkabelung (§11, §16), Universe-Plan (§16.2),
konfigurierbare Universen/Adressen, Sequenzprüfung, Signalverlust-Verhalten.
Layouts gegen die offizielle Art-Net-4-Spezifikation verifiziert.
"""
from hms_artnet.fixtures import (
Layer64Engine,
LayerControl,
LayerEvent,
Master32Engine,
MasterControl,
MasterEvent,
SourceType,
TransportCommand,
UniverseCollisionError,
UniversePlan,
UniverseRange,
map_speed,
)
from hms_artnet.mapping import DmxLayerMapper, LayerDmxMapping, RisingEdge
from hms_artnet.packets import (
OPDMX,
OPPOLL,
OPPOLLREPLY,
UDP_PORT,
build_artpoll_reply,
build_dmx,
build_poll,
parse_dmx,
parse_poll,
parse_poll_reply,
)
from hms_artnet.patch import (
FixturePatch,
PatchEntry,
PatchError,
)
from hms_artnet.receiver import ArtNetReceiver, DmxUpdate, LossBehavior
from hms_artnet.wiring import DmxToParameterRouter, RouterStats
__all__ = [
"OPDMX",
"OPPOLL",
"OPPOLLREPLY",
"UDP_PORT",
"build_dmx",
"parse_dmx",
"build_poll",
"parse_poll",
"build_artpoll_reply",
"parse_poll_reply",
"ArtNetReceiver",
"DmxUpdate",
"LossBehavior",
"DmxLayerMapper",
"LayerDmxMapping",
"RisingEdge",
"Master32Engine",
"MasterControl",
"MasterEvent",
"Layer64Engine",
"LayerControl",
"LayerEvent",
"SourceType",
"TransportCommand",
"map_speed",
"UniversePlan",
"UniverseRange",
"UniverseCollisionError",
"FixturePatch",
"PatchEntry",
"PatchError",
"DmxToParameterRouter",
"RouterStats",
]