Ankündigung

Einklappen
Keine Ankündigung bisher.

KNX - openhab - DMX

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    KNX - openhab - DMX

    Hallo,

    ich habe seit ein paar Tagen openhab mit KNX und DMX am laufen. Ich habe uch schon herausgefunden wie ich DMX Lampen mit KNX schalten kann.
    Jetzt versuche ich herauszufinden wie ich das Ganze mit dimmen hinbekomme. Ich möchte gerne ein KNX Telegramm mit einem Prozentwert an openhab senden und dann die entsprechende DMX Lampe auf den Wert dimmen. Hat das schon jemand umgesetzt und kann mir auf die sprünge helfen? Openhab ist noch sehr neu für mich, bis jetzt habe ich mich immer nur mit dem Homeserver von Gira auseinander gesetzt.

    Vielen Dank
    Sebastian

    #2
    Hi,

    dmx habe ich nicht am Laufen, grundsätzlich sollte es aber so sein, wenn Du einem Item zwei Bindings mit auf den Weg gibst, dass diese sich untereinander unterhalten können:
    Code:
    Dimmer MyDMXDimmer "DMX Dimmer [%d%%]" {knx="1/1/1,1/1/2,1/1/3", dmx="CHANNEL[1]"}
    wobei ich, wie erwähnt dmx nur in der Theorie kenne und nicht weiß, was dort alles in Befehle umgesetzt wird, insbesondere könnte der Kanalwert auch als Wert 0-255 übertragen werden, knx liefert aber 0-100% an.
    Deshalb gibt es noch eine zweite Möglichkeit, nämlich zwei getrennte Items anlegen, eines für den knx Geber (Im Beispiel knxItem als Dimmer) und einen für den dmx Kanal (dmxItem als Number).
    Dann braucht es noch eine Rule dazu:
    Code:
    rule "dmx Dimmer"
    when
        Item knxItem received command
    then
        if (knxItem instanceof DecimalType)
            dmxItem.sendCommand(knxItem.state.toString)
        else if (knxItem.state == DECREASE || knxItem.state == INCREASE)
           logInfo("dmx Dimmer","Befehl nicht unterstützt: {}",knxItem.state.toString)
        else if (knxItem.state == ON)
            dmxItem.sendCommand(255)
        else
            dmxItem.sendCommand(0)
    end
    Ich habe jetzt mal darauf verzichtet, die INCREASE und DECREASE Befehle auch noch umzusetzen (da müsste man dann nach dem aktuellen Wert des dmxItems schauen und um einen fixen Wert erhöhen oder absenken), aber Du kannst am Code sicher sehen, wie das Ganze zusammenspielen soll.
    Der Code ist nicht getestet, sollte aber eigentlich so laufen.
    Zuletzt geändert von udo1toni; 25.05.2016, 16:06.

    Kommentar


      #3
      Hallo udo1toni,

      vielen Dank für den Code und die Erklärung. Ich habe es zwar zeitlich noch nicht geschafft deinen Code auszuprobieren aber ich bleibe dran und ich glaube ich sehe langsam Licht am Ende des Tunnels.

      Gruß
      Sebastian

      Kommentar

      Lädt...
      X