Ankündigung

Einklappen
Keine Ankündigung bisher.

Problem mit Artnet-Plugin bzw der DMX-Hardware

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

    Problem mit Artnet-Plugin bzw der DMX-Hardware

    Hallo,

    ich habe zur Steuerung unserer Beleuchtung schon seit einigen Monaten das sh-Artnet-Plugin im Einsatz. Als DMX-Interface nutze ich diesen Bausatz.
    ich steuere damit mit Zufriedenheit mehrere DMX-LED-Dimmer.

    Nun habe ich heute noch einen weiteren 36-Kanal Receiver für ein paar RGB-Stripes an die DMX-Leitung angeschlossen. Die DMX-Verbindung sowie die Vergabe der Kanalnummer passen, da ich diesen erfolgreich mit DMX-Workshop vom Windows-Rechner aus steuern kann. (z.B. Kanal31)

    Sende ich jedoch einen Wert über das Artnet-Plugin (sh.dmx1(31,255) zum 36-Kanal Receivers, so bleiben die LED's dunkel. Sende ich einen Wert an die DMX-LED-Dimmer, so kann ich die Helligkeit der LED's steuern.
    Im DMX-Workshop kann ich soger unter "Receive/View DMX channel grid" sehen dass der Wert vom Plugin im richtigen Kanal gesendet wird, jedoch bleibt der blöde Receiver dunkel. Sende ich Werte an den selben Kanal über DMX-Workshopp so läuft das blöde Ding..

    Irgendwie scheinen die Werte gesendet zu werden kommen jedoch nicht richtig an? Timing? Irgendwie harmonieren Plugin, Lan-DMX Interface und der Receiver nicht.
    Was könnt ich da machen? (ausser alles beim Fenster raus zu werfen)

    Gruß Ivan


    #2
    ich habe nun mit dem Oszilloskope das DMX-Signal untersucht. Das Problem: Der Sender (ArtNetNode) bzw. sh-Artnet-Plugin sendet nicht alle 512 Kanäle sondern nur solche, welche sich geändert haben. Da ich vom 36Kanal-Receiver zu Testzwecken nur die ersten paar Kanäle belegt habe, wurden nicht alle 36 Pakete gesendet. Es ist bei diesem Receiver anscheinend notwendig, dass alle 36 Kanäle übertragen werden, sonst reagiert dieser nicht..
    Also alle 36 Kanäle zwangsweise senden, dann läuft dieser..

    Gruß Ivan

    Kommentar


      #3
      Hallo ivande,

      aus deinem Post entnehme ich, dass wir fast den gleichen Setup haben:
      . ArtNet DMX Interface von Ulrich Radig
      - dmx4all x9
      - smarthomeNG.py
      - smartVisu

      Bei mir läuft das auf einem Beagleboard mit dem cape von ing-budde.de

      Ich habe gerade kürzlich mit dem DMX Aufbau begonnen und würde mich als Anfänger sehr freuen, wenn du ein paar Informationen über deinen Setup teilen könntest? Beispiele für items und html aus smartVisu wären sehr hilfreich.

      Vielen Dank und viele Grüße
      Gerd

      Kommentar


        #4
        ich verwende das artnet-Plugin dies sendet die Werte an den DMX-Bus..
        in der plugin.conf hab ich:

        Code:
        [dmx1]
            class_name = ArtNet
            class_path = plugins.artnet
            artnet_subnet = 0
            artnet_net = 0
            artnet_universe = 0
            ip = 192.168.0.77
            port = 6454
        leider reagiert das Plugin nicht auf Item-Änderungen. Damit das Plugin jedoch auf geänderte Items reagiert (und den Wert an den DMX-Kanal sendet) hab ich mir noch eine kleine Logik gebastetl.
        Diese wird getriggert (ausgelöst) wenn sie ein Item welches einen DMX-Kanal beinhaltet ändert.

        # artnet.py - Logic-File
        Code:
        #!/usr/bin/env python
        #
        #logger.info("artnet")
        
        value = int(trigger['value']) # Wert des Ausloesenden Items
        sourceItem = sh.return_item(trigger['source']) # Ausloesendes Item
        channel = int(sourceItem.conf['dmx_ch'])
        sh.dmx1(channel,value)
        logger.debug('channel:{0} value:{1}'.format(channel, value))
        die Logik muss bekannt gemacht werden. die Logik wird getriggert wenn eine Item den Namen "DMX" bekommt und sich diese Ändert.
        in der logic.conf hab ich:


        Code:
        artnet]
            filename = artnet.py
            watch_item = *.DMX
        das Item sieht dann so aus:

        Code:
        [DG]
            [[Umkleide]]
                [[[Beleuchtung]]]
                      [[[[Panel]]]]
                        type = num
                        cache = True
                        visu_acl = rw
                        crontab = init
                        [[[[[DMX]]]]]
                            type = num
                            cache = True
                            dmx_ch = 16
                            eval = sh.Dg.Umkleide.Beleuchtung.Panel()
                            eval_trigger = Dg.Umkleide.Beleuchtung.Panel
                            enforce_updates = True
        in der Visu hab ich dann einen Slider mit dem man die Beleuchtung rauf und runter drehen kann..

        HTML-Code:
          {{ basic.slider('dg.umk.bel.slid', 'Dg.Umkleide.Beleuchtung.Panel', '0', '255', '1') }}
        drehe ich am Schieberegler in der Visu, ändert sich das Item. dieses Triggert das Hilfitem DMX in welchem der Kanal eingetragen ist z.B. dmx_ch = 16. Sobald sich dieses Hilfsitem ändert triggert die Logik, welche den DMX-Wert über das Plugin sendet..

        natürlich kann das Item auch noch auf andere Art geändert werden. KNX-Taster, Szenen- Logik..

        Welches Bus System hast du für Taster & Co?

        das war das wichtigste..so in schnelle.. wenn du noch Fragen hast, gerne :-)

        Zuletzt geändert von ivande; 06.02.2017, 12:10. Grund: ein paar (Tipp)Fehler behoben

        Kommentar


          #5
          Hallo zusammen,
          der Thread hier ist was älter, bei mir ist das Thema gerade aktuell. Ich habe einen ArtNet Node von Ulrich Radig gekauft und möchte diesen nun verwenden. Das ArtNet-Plugin in SHNG ist etwas "überarbeitungsfähig" - das habe ich auch gemacht. Jetzt kam gerade frisch 1.6 und meine letzte Implementierung wirft nun noch einen Fehler, den ich noch beheben muss.

          Folgendes habe ich jetzt gemacht: Ein Web-Interface mit eingebaut für die Admin-Oberfläche und das Plugin Mehrinstanzfähig gemacht. Weiterhin habe ich eine direkte Item-Bindung ermöglicht, d.h. der Umweg über das Hilfsitem mit der Logic kann entfallen.

          Würdet ihr einen Test mit unterstützen?

          Kommentar


            #6
            Steuert ihr das plugin dann bitte auch noch ins repo ein? (Develop)

            Kommentar


              #7
              Ich benutze zwar kein DMX, aber mach doch einfach einen Pull-Request. Die aktiven Leute hier im Forum sind nicht soo viele. Daher könnte es sein, dass es ein wenig dauert, bis das jemand liest der auch DMX benutzt.

              Kommentar


                #8
                Sobald ich das erste Mal Licht anhabe mache ich das mit dem PR. Habe erstmal die Sendelogik so gelassen, wie sie war und nur das Plugin Drumherum an aktuelle Gegebenheiten angepasst. In meiner eigenen Anlage habe ich DMX anders angebunden, daher muss ich erstmal Testequipment ranschaffen/aufbauen.

                Kommentar


                  #9
                  So, der Fehler war nicht wegen 1.6 sondern nur durch die neue Version aufgefallen.
                  Kurzes Update zum Wasserstand: Artnet läuft, nimmt changes per item entgegen. Mein größtes Problem war gestern, dass die DMX-Leitungen +/- vertauscht waren. Ich hatte Fehler überall vermutet, nur nicht in der Verdrahtung vom Artnet Node zum XLR-Stecker.

                  Aktuell wundert mich noch, warum es gefühlt 2-4 Sekunden dauert, vom Ändern des Item-Werts in der neuen Adminoberfläche bis zur Lampenreaktion. Ich will das noch nachvollziehen/fixen, sofern es das Problem überhaupt gibt. Da wollte ich gestern Abend um 22:00 nicht mehr nach suchen. Ich check das heute abend und dann mache ich einen PR...

                  Mein Perfektionismus fragt dann für Version 2 noch danach, dass das Art-Net Plugin auch auf Anfragen aus dem Art-Net reagiert (Discovery).
                  Gäbe es hier auch Anwendungsfälle von DMX nach KNX (also DMX-Licht-Konsole -> KNX-Dimmaktor)? Das wäre dann die dritte Ausbaustufe. Aber dazu bräuchte ich noch zusätzliche Hardware...

                  Kommentar


                    #10
                    https://github.com/smarthomeNG/plugins/pull/238
                    erstellt. Der Fehler mit dem Zeitverzug lässt sich nicht reproduzieren; wenn ich die Visu verwende reagiert die Lampe "sofort". Irgendwie krieg ich grad Spaß an der Plugin Entwicklung :-D

                    Kommentar

                    Lädt...
                    X