Ankündigung

Einklappen
Keine Ankündigung bisher.

RGB Leuchten synchronisieren

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

    RGB Leuchten synchronisieren

    Hallo Gemeinde

    Ich habe 2 RGB Leuchten und möchte mit einem Regler beide gleichzeitig ansteuern. Ich denke ich brauche wahrscheinlich eine Rule, welche die DMX Werte für Lampe 1 an die Adressen von Lampe 2 weitersendet. Meine aktuelle Config für getrennte Steuerung sieht so aus:

    Code:
    Color Pool_RGB_Licht_L            "Beckenlicht links"                            <slider>         (Pool) {dmx="CHANNEL[1,2,3:250]"}
    Color Pool_RGB_Licht_R            "Beckenlicht rechts"                        <slider>         (Pool) {dmx="CHANNEL[4,5,6:250]"}
    Wie kann ich also die Werte von "links" automatisch auch an "rechts" senden?

    Danke für Tipps!

    Gruss
    Michi

    #2
    Ich bin mir nicht sicher, aber eventuell funktioniert die Gruppierung ja, also in der Sitemap:
    Code:
    Colorpicker item=Pool
    vorausgesetzt, die beiden RGB Leuchten sind das Einzige, was zur Gruppe Pool gehört. Ansonsten kannst Du auch eine zweite Gruppe (Pool_RGB) zusätzlich eintragen und die ansteuern.
    Falls die Gruppe den Colorpicker nicht unterstützt, kannst Du eine Rule bauen:
    Code:
    Rule "Color copy"
    when
        item Pool_RGB_Licht_L changed OR
        item Pool_RGB_Licht_R changed
    then
        if (Pool_RGB_Licht_L.lastUpdate > Pool_RGB_Licht_R.lastUpdate)
            Pool_RGB_Licht_R.sendCommand(Pool_RGB_Licht_L.state as HSBType)
        else
            Pool_RGB_Licht_L.sendCommand(Pool_RGB_Licht_R.state as HSBType)
    end
    Der Code ist ungetestet. Voraussetzung ist, dass beide Items mit der Standard Persistence bei Wertänderung persistiert werden (wegen lastUpdate). Ich bin mir nicht sicher, ob das if(Datum1 > Datum2) so geschrieben werden darf, oder ob da noch TypeCasting oder sonstwas stattfinden muss.

    Zur Not könntest Du auch zwei Rules bauen, die dann jeweils nur auf Änderungen einer Leuchte reagieren. Dann solltest Du aber unbedingt eine Lock-Variable einführen, weil sich die Rules sonst gegenseitig triggern werden (Leuchte1 geändert -> Wert wird auf Leuchte 2 kopiert -> Wertänderung Leuchte 2 -> Wert wird auf Leuchte 1 kopiert...).

    Du kannst natürlich noch ein ungebundenes Item erstellen, welches Du mit entsprechend abgewandelter Rule einfach auf beide Leuchten wirken lässt. Nur dann kannst du die Leuchten auch unterschiedlich einstellen, falls Dir mal danach ist (Die Rule oben sollte auch wirken, falls auf DMX-Seite mal eine Leuchte einzeln bedient wird).

    Kommentar


      #3
      Hallo udo1toni

      Vielen Dank, super Sache!

      Das mit den Gruppen hat nicht funktioniert, wäre eine einfache Variante gewesen.

      Ich habe es dann wie folgt gelöst, damit kann ich die Lampen auch unabhängig voneinander steuern:

      items
      Code:
      Color Pool_RGB_Licht_L            "Beckenlicht links"                            <slider>         (Pool) {dmx="CHANNEL[1,2,3:250]"}
      Color Pool_RGB_Licht_R            "Beckenlicht rechts"                        <slider>         (Pool) {dmx="CHANNEL[4,5,6:250]"}
      Color Pool_RGB                    "Beckenlicht"                                <slider>        (Pool_RGB)
      sitemap
      Code:
      Colorpicker item=Pool_RGB icon="slider"
      Colorpicker item=Pool_RGB_Licht_L icon="slider"
      Colorpicker item=Pool_RGB_Licht_R icon="slider"
      rule
      Code:
      rule "Color copy"
      when
          Item Pool_RGB changed
      then
              Pool_RGB_Licht_R.sendCommand(Pool_RGB.state as HSBType)
              Pool_RGB_Licht_L.sendCommand(Pool_RGB.state as HSBType)
      end
      Gruss Michi

      Kommentar

      Lädt...
      X