DMX

Vorbedingungen

Dieses Plugin benötigt eine der folgenden unterstützten DMX-Schnittstellen:

  • NanoDMX

  • DMXking sollte auch mit anderen Enttec Pro-kompatiblen Geräten funktionieren.

Die Kommunikation mit der Schnittstelle erfolgt über die serielle Schnittstelle. Daher ist auch ein serieller Python-Treiber erforderlich. Eine requirements Datei ist bereitgestellt, um die Installation zu erleichtern.

Konfiguration

plugin.yaml

dmx:
    class_name: DMX
    class_path: plugins.dmx
    serialport: /dev/usbtty...
    # interface = nanodmx

Bei interface kann zwischen nanodmx und enttec gewählt werden. Standardmäßig wird nanodmx verwendet.

Die serielle Schnittstelle muss mit der tatsächlichen Schnittstelle übereinstimmen. Unter Linux könnte es sein notwendig, um eine udev-Regel zu erstellen. Für ein NanoDMX-Gerät bereitgestellt über /dev/usbtty-1-2.4 könnte die folgende udev-Regel passen:

# /etc/udev/rules.d/80-smarthome.rules
SUBSYSTEMS=="usb",KERNEL=="ttyACM*",ATTRS{product}=="NanoDMX Interface",SYMLINK+="usbtty-%b"

In der Online-Hilfe für Linux kann die Erstellung von udev Regeln nachgelesen werden.

items.yaml

dmx_ch

Mit diesem Attribut können ein oder mehrere DMX-Kanäle als Integer angegeben werden angegeben

Beispiel

living_room:

    dimlight:
        type: num
        dmx_ch:
          - 10
          - 11

    dimlight_reading:
        type: num
        dmx_ch: 23

In einer Logik führt ein Ausdruck wie sh.living_room.dimlight(80) dazu das 80 zu den Kanälen 10 und 11 gesendet wird, um das Wohnzimmerlicht zu dimmen. Entsprechend sendet der Ausdruck sh.living_room.dimlightreading(50) eine 50` an den Kanal 23, um das Leselicht im Wohnzimmer zu dimmen.

Methoden

send(Kanal, Wert)

Sendet den Wert an den angegebenen DMX-Kanal. Der Wert kann im Bereich von 0 bis 255 liegen.

Beispiel: sh.dmx.send(12, 255) sendet den Wert 255 an den Kanal 12