Ankündigung

Einklappen
Keine Ankündigung bisher.

Problem mit Socket für DMX

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

    Problem mit Socket für DMX

    Hallo liebe EDOMI-Gemeinde,

    ich habe ein merkwürdiges Problem mit einem UDP-Socket zu meinem ArtNet-DMX-Interface und bräuchte mal eure Expertise.
    Ich kann den benötigten Socket erzeugen, verbinden und ganz normal ohne Fehler nutzen. Meine Beleuchtung läuft inzwischen sehr gut damit.

    Wenn ich jetzt meinen produktiven EDOMI-Server runterfahre und wieder neustarte, funktioniert alles noch.
    Fahre ich aber den Server runter und starte mein EDOMI-Backup-System, mit dem identischen Projekt, funktioniert die DMX-Steuerung nicht mehr.
    Der LBS wirft mir keine Fehler entgegen, aber der Socket scheint nicht zu arbeiten.

    So sehen die einzelnen Befehle zum erzeugen des Sockets aus:
    Code:
    $socket = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
    socket_bind($socket, global_serverIP, 0);
    socket_connect($socket, $ip, $port);
    Beim Beenden des Bausteins z.B. durch runterfahren des Servers wird dann noch folgendes gemacht:
    Code:
    socket_shutdown($socket, 2);
    socket_close($socket);
    Teile davon habe ich mir aus bestehenden LBS abgeschaut bzw. mich mit der PHP-Dokumentation schlau gemacht.
    Fehlt mir hier noch irgendwas?

    Viele Grüße,
    Tim

    #2
    Ist im Backup-System die Server-IP in der edomi.ini korrekt gesetzt?

    Kommentar


      #3
      Ja, die Systeme sind quasi identisch.
      Das lustige ist ja, wenn ich das ArtNet-DMX-Interface vom Strom trenne und wieder anschließe, funktioniert im Anschluss alles.
      Also sprich: Das Backup-System KANN einen Socket aufbauen, aber nur wenn das Interface noch 'jungfräulich' war.

      Wenn ich dann das Backup runterfahre und den Produktivserver starte, kann ich wieder kein Licht schalten.
      Dann muss erst wieder das DMX-Interface vom Strom getrennt und wieder verbunden werden.

      Als ob sich dieses Interface den Socket mit der MAC-Adresse speichern würde... keine Ahnung.
      Es handelt sich dabei übrigens um einen ArtNet-DMX STAGE-PROFI 1.1

      Kommentar


        #4
        Versuche mal den Quellport zufaellig zu setzen - ich weiss allerdings nicht wirklich wie man sowas in PHP macht. Sollte aber sicher irgendwo auf php.net zu finden sein...

        Kommentar


          #5
          Hast du mal ein paar Minuten gewartet, evtl. läuft der Socket auf ArtNet Seite in einen Timeout und akzeptiert wieder Verbindungsanfragen?

          Kommentar


            #6
            wintermute: Wie genau meinst Du das? Einfach mal versuchen der Socket mit einem anderen Port zu öffnen?

            jonofe: Die ein oder andere Minute habe ich sicherlich schon mal gewartet, alleine schon während ich in den Logs nach Fehlern im LBS gesucht habe, oder den EDOMI-Server noch mal neugestartet habe. Kann aber nicht sagen wie lange das war. Ich vermute, dass das nichts bringt. Ich teste das bei Gelegenheit aber einfach noch mal.

            Danke schon mal für euren Input.
            Grundsätzlich hab ich aber keinen groben Schnitzer bei der Socket-Verbindung gemacht? Irgendwelche Options die man dem Socket noch mitteilen kann oder muss?

            Kommentar


              #7
              Zitat von Crimson Beitrag anzeigen
              wintermute: Wie genau meinst Du das? Einfach mal versuchen der Socket mit einem anderen Port zu öffnen?
              Ja, wie geschrieben habe ich kaum Ahnung davon wie PHP das handhabt, aber normal definiert sich ein Socket durch 4 Eckdaten: Quell-IP, Quell-Port, Ziel-IP und Ziel-Port. So wie ich dich verstanden habe, bleiben Ziel-IP&Port sowie Quell-IP gleich, wenn PHP den ersten verfuegbaren Port als ausgehenden Port fuer den Socket verwendet kann es gut moeglich sein, dass das auf beiden Geraeten derselbe ist. Dann haettest du zwei unterschiedliche Ports mit gleicher Definition, was nicht geht.
              Ist nur ne Vermutung aber vermutlich ohne grossen Aufwand zu testen, vermute ich zumindest

              Kommentar


                #8
                Zitat von Crimson Beitrag anzeigen
                Meine Beleuchtung läuft inzwischen sehr gut damit.
                Darf ich mal ganz doof fragen....hast du deine gesamte Beleuchtung mit DMX realisiert und nutzt EDOMI quasi als KNX Gateway ?

                Kommentar


                  #9
                  Ja, die gesamte Beleuchtung im Haus wird per DMX angesteuert. Als Interface dient wie erwähnt der ArtNet-DMX STAGE-PROFI 1.1.
                  Und EDOMI bzw. ein paar Logikbausteine bilden sozusagen das Gateway zu KNX.

                  Ich bin übrigens noch nicht dazu gekommen großartig weiter zu experimentieren, ob ich den Socket mit einem anderen Port öffnen kann, usw.

                  Kommentar


                    #10
                    Das klingt interessant, ich habe bei mir auch die gesamte Lichtinstallation über DMX laufen und habe mich auch mal dran versucht mein BABTEC DUO GW durch ein ArtNet Modul und EDOMI zu ersetzen. Das Ergebnis war leider nicht so schön....

                    Hast du den LBS 19001180 genutzt oder etwas eigenes geschrieben ?

                    Kommentar


                      #11
                      Das Babtec hatte ich auch. War ich insoweit unzufrieden mit, weil man da z.B. nicht mal vernünftig einen Soft-On / Soft-Off Verlauf hinbekommt.
                      Das müsste man alles als Sequenz abbilden und davon kann dann nur eine laufen. *mäh*

                      Ich hab mir dazu (insgesamt 4) eigene LBS geschrieben. Die sind teilweise schon etwas speziell auf meine Bedürfnisse zugeschnitten.
                      Zum Teil noch im Beta-Stadium, läuft aber inzwischen seit Monaten ohne Probleme.
                      So Dinge wie "den Zustand zwischen EDOMI-Restarts beibehalten" ist noch etwas hakelig, aber der WAF ist bisher top.

                      Ich habe versucht die LBS ausreichend (auch für mich) zu dokumentieren.
                      Ich kann die mal in den Downloadbereich hochladen.

                      Kommentar


                        #12
                        Das erinnert mich an meine "Leidensgeschichte"

                        Würde mich sehr freuen wenn du deine Arbeit zur Verführung stellen würdest....aktuell habe ich mir den Soft Start in EDOMI auf KNX Seite realisiert. Das funktioniert aber nur pseudo gut da KNX natürlich ein wenig langsam ist.

                        Kommentar


                          #14
                          Super, danke !

                          Kannst du vielleicht noch nen Screenshot von deiner Logik machen ? Mir ist noch nicht ganz klar wie ich die LBS verbinden muss...
                          Brauche ich für jeden DMX Ch. einen DMX Controler Baustein ? Oder Werden alle LBS mit ein und dem selben StatusKO verbunden ?

                          Kommentar


                            #15
                            Den Controller braucht man nur einmal. Dieser regelt den ganzen Ablauf zum ArtNet-Interface.
                            Einen Channels brauchst Du für jede Leuchte, die gesteuert werden soll.
                            Das StatusKO was der DMX-Controller an A1 ausgibt, wird mit allen Channels an E11 verknüpt.
                            Das was die Channels an A1 ausgeben muss in das iKO geschrieben werden, was mit E6 am Controller verbunden ist.

                            Hier einmal der Controller und darunter links ein LED-Panel (ein Kanal) und ein LED-RGB-Stripe (3 Kanäle).

                            DMX-Setup.png

                            Kommentar

                            Lädt...
                            X