Ankündigung

Einklappen
Keine Ankündigung bisher.

Entwicklung / OLA + knxdmxd

Einklappen
Dieses Thema ist geschlossen.
X
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Werner V
    antwortet
    Hi Makki,

    da ich so ziemlich gar nix verstanden habe - bezieht sich dein Post auf mein Problem?

    Wenn ja, das "root-paranoia-Problem" kann ich das zur Zeit auch so irgendwie lösen?

    @mclb ja hab ich, wie gesagt selbst mit der Minimalconfig wo mir "Valid" angezeigt wird klappts nicht, es kommt immer die gleiche Fehlermeldung. Habs auch mit ein paar Configs aus dem Thema hier probiert die bei anderen laufen und ich bekomm immer die selbe Fehlermeldung.

    lg Werner

    Einen Kommentar schreiben:


  • mclb
    antwortet
    Hast deine Konfiguration schon in dem json Formater überprüft? Der zeigt dir ganz genau wo du noch Fehler hast. Es reicht ein falscher ; und nix geht mehr.

    Einen Kommentar schreiben:


  • makki
    antwortet
    Ei, Ei, das ist ja viel zu kompliziert, da muss ich beim packerl nochmal ran..
    Das "root-paranoia-Problem" ist ja Upstream gelöst, hats nur noch nicht ins WG geschafft weil ich nur auf OpenWRT verwende.
    Hab das nochmal auf der Liste nach oben geschoben..

    Makki

    Einen Kommentar schreiben:


  • Werner V
    antwortet
    Hallo!

    Erstmal Danke für OLA + knxdmxd und für die Step by Step Anleitung!

    Leider hänge ich beim Starten des knxdmxd, bis dahin hat eigentlich alles geklappt.

    Beim Starten des knxdmxd bekomme ich immer die Meldung

    Code:
    Oct  4 22:17:44 wiregate586 knxdmxd: using config-file /etc/knxdmxd.conf
    Oct  4 22:17:44 wiregate586 knxdmxd: starting daemon
    Oct  4 22:17:44 wiregate586 kernel: [431552.610155] knxdmxd[11877]: segfault at 14 ip b765f275 sp bfa41160 error 4 in libjson.so.0.0.1[b765d000+6000]
    die Meldung kommt selbst wenn ich das Config File auf ein Minimum reduziere (nur die fixtures sind definiert) und auch wenn ich das Config File komplett lösche?

    Hier mein Config File

    Code:
    // CAUTION : never uses names starting with _ !!! These are used internally ! 
    { "fixtures": [ // all fixture definitions 
      { "name" : "Gang", // name is optional, default is _f_<number>
        "channels" : [ // channel definition, dmx is mandatory, default name is _c_<number> 
          { "name": "R", "knx" : "11/0/0", "dmx" : "1.0"  }, 
          { "name": "G", "knx" : "11/0/1", "dmx" : "1.1"  }, 
          { "name": "B", "knx" : "11/0/2", "dmx" : "1.2"  },
          { "name": "W", "knx" : "11/0/3", "dmx" : "1.3"  }
        ],
        "fading" : {"knx" : "11/6/0", "time": "3.0" } // knx-like dimming: fading is calculated for 0-100% 
      }
      ],
    "scenes": [ // all scene definitions 
      { "name" : "Gang_Aus", // name is optional, default is _s_<number>
        "trigger" : {"go" : { "knx" : "11/7/0", "value" : 0 },}, // if call is omitted, scene is called on any value 
        "channels" : [ // definition of each channel in scene
          {  "fixture" : "Gang", "channel" : "R", "value" : 0 },
          {  "fixture" : "Gang", "channel" : "G", "value" : 0 },
          {  "fixture" : "Gang", "channel" : "B", "value" : 0 },
          {  "fixture" : "Gang", "channel" : "W", "value" : 0 }
        ],
        "fading" : { // all fading times used on scene call ! 
          "in" : 1.5, //  for increasing intensity
          "out": 1, // for decreasing intensity
        }
      },
      { "name" : "Gang_Hell",
        "trigger" : {"go" : { "knx" : "11/7/0", "value" : 1 },},
        "channels" : [
          {  "fixture" : "Gang", "channel" : "R", "value" : 0   },
          {  "fixture" : "Gang", "channel" : "G", "value" : 0  },
          {  "fixture" : "Gang", "channel" : "B", "value" : 0 },
          {  "fixture" : "Gang", "channel" : "W", "value" : 255  }
        ],
        "fading" : {
          "time" : 2 // used for in and out
        }
      },
      { "name" : "Gang_Nachtlicht",
        "trigger" : {"go" : { "knx" : "11/7/0", "value" : 2 },},
        "channels" : [
          {  "fixture" : "Gang", "channel" : "R", "value" : 1  },
          {  "fixture" : "Gang", "channel" : "G", "value" : 15  },
          {  "fixture" : "Gang", "channel" : "B", "value" : 25 },
          {  "fixture" : "Gang", "channel" : "W", "value" : 0 }
        ],
        "fading" : {
          "in" : 2,
          "out" : 1
        }
      },
      { "name" : "Gang_Gedimmt",
        "trigger" : {"go" : { "knx" : "11/7/0", "value" : 3 },},
        "channels" : [
          {  "fixture" : "Gang", "channel" : "R", "value" : 0   },
          {  "fixture" : "Gang", "channel" : "G", "value" : 0   },
          {  "fixture" : "Gang", "channel" : "B", "value" : 0   },
          {  "fixture" : "Gang", "channel" : "W", "value" : 128 }
        ]
      },
    ],
    "cuelists": [ // all cuelists
      { "name" : "Gang Disco",
        "trigger" : { 
          "go" : { "knx" : "11/7/1", "value" : 1 }, 
          "halt" : { "knx" : "11/7/1", "value" : 0 }
        },
        "cues" : [ // cues are like scenes, just without individual triggers
          { "name" : "R",
            "channels" : [
              {  "fixture" : "Gang", "channel" : "R", "value" : 255  },
              {  "fixture" : "Gang", "channel" : "G", "value" : 0  },
              {  "fixture" : "Gang", "channel" : "B", "value" : 0  },
              {  "fixture" : "Gang", "channel" : "W", "value" : 0  }
            ],
            "waittime" : 1,
            "fading" : { "time" : 1 }
          },
          { "name" : "G",
            "channels" : [
              {  "fixture" : "Gang", "channel" : "R", "value" : 0  },
              {  "fixture" : "Gang", "channel" : "G", "value" : 255  },
              {  "fixture" : "Gang", "channel" : "B", "value" : 0  },
              {  "fixture" : "Gang", "channel" : "W", "value" : 0  } 
            ],
            "waittime" : 1,
            "fading" : { "time" : 1 }
          },
          { "name" : "B",
            "channels" : [
              {  "fixture" : "Gang", "channel" : "R", "value" : 0  },
              {  "fixture" : "Gang", "channel" : "G", "value" : 0  },
              {  "fixture" : "Gang", "channel" : "B", "value" : 255  },
              {  "fixture" : "Gang", "channel" : "W", "value" : 0  }
            ],
            "waittime" : 1,
            "fading" : { "time" : 1 }
          },
          { "name" : "W",
            "channels" : [
              {  "fixture" : "Gang", "channel" : "R", "value" : 0  },
              {  "fixture" : "Gang", "channel" : "G", "value" : 0  },
              {  "fixture" : "Gang", "channel" : "B", "value" : 0  },
              {  "fixture" : "Gang", "channel" : "W", "value" : 85  }
            ],
            "waittime" : 1,
            "fading" : { "time" : 1 }
          },
          { "link" : "R"
          }
        ]
      }  
    ]
     }
    Ich hoffe ihr könnt mir helfen.

    Danke!

    lg Werner

    Einen Kommentar schreiben:


  • mclb
    antwortet
    So, hab die Änderungen oben noch eingebaut, sollte nun eigentlich so passen. Falls noch etwas auffällt, einfach drauf hinweisen, oder in der Readme korrigieren.

    Ich danke für die Hilfe und hoffe mal, dass diese kleine Zusammenfassung zukünftigen Mitstreitern bereits einige Fragen beantworten.

    Einen Kommentar schreiben:


  • mclb
    antwortet
    Sobalds vollständig und richtig ist gern.

    Einen Kommentar schreiben:


  • JNK
    antwortet
    Der Dämon sollte olad -f sein, und Du musst noch Universe 1 auf den Output patchen.

    Danke für die Zusammenfassung, kann ich das so in ein Readme kopieren?

    Gruß,

    der Jan

    Einen Kommentar schreiben:


  • mclb
    antwortet
    So, nun eine kleine Zusammenfassung, was ich alles gemacht hab, dass es nun ohne Fehlermeldungen läuft:

    Als root:
    Code:
    apt-get install knxdmxd
    -> Demo-Config unter /etc/knxdmxd.conf

    Als user:
    Code:
    olad -l 3
    Wieder abbrechen (strg c)
    Nun wird das Verzeichnis /home/user/.ola
    Hier nun in folgenden Scripts enabled=false eintragen:
    - ola-artnet.conf
    - ola-dummy.conf (muss evtl. angelegt werden)
    - ola-e131.conf
    - ola-espnet.conf
    - ola-opendmx.conf
    - ola-sandnet.conf
    - ola-shownet.conf
    - ola-universe.conf
    - ola-usbserial.conf
    Außerdem muss noch die Datei ola-usbstageprofi.conf angepasst werden:
    device=/dev/dmx

    Als root:
    Berechtigung für das Device anpassen:
    Code:
    chmod a+rw /dev/ttyACM0
    Code:
    chmod a+rw /dev/dmx
    Als root:
    Evtl. dem User noch die Gruppe dialout zuordnen:
    Code:
    usermod -a -G dialout user
    Als user:
    Ein Bug im olad benötigt noch folgenden Befehl:
    Code:
    stty -F /dev/dmx eol G
    Als user:
    Nun nochmal testen, ob der olad hoch kommt:
    Code:
    olad -l 3
    Falls alles passt, wieder abbrechen und als Daemon laufen lassen:
    Code:
    olad -f
    Als user:
    Nun nachsehen, welches Device das NanoDmx ist ...
    Code:
    ola_dev_info
    ... , auf Universe 1 patchen ...
    Code:
    ola_patch -u 1 -d <devicenummer> -p 0
    ... und prüfen, ob das Device nun auch wirklich auf das Universe 1 gepatchet ist.
    Code:
    ola_dev_info
    Sollte dann in etwa dieses Ergebnis liefern:
    Code:
    Device 1: StageProfi Device
      port 0, OUT , patched to universe 1
    Als root:
    Nun noch die richtige Konfigurationsdatei für den knxdmxd unter /etc/knxdmxd.conf ablegen und neu starten:
    Code:
    /etc/init.d/knxdmxd restart
    Am Besten hier dann nebenbei ein zweites Fenster her laufen lassen mit dem Befehl:
    Code:
    tail -f /var/log/messages
    Hier werden dann alle Nachrichten mitgeloggt, die beim Starten des knxdmxd passieren. Wenn einfach nur folgende Zeilen angezeigt werden, passts:
    Code:
    Oct  3 22:33:26 wiregate496 knxdmxd: using config-file /etc/knxdmxd.conf
    Oct  3 22:33:26 wiregate496 knxdmxd: starting daemon
    Bei einem segfault in der libjson.so stimmt wohl das Konfigurationsfile nicht.
    In diesem Fall kann man das Konfigurationsfile auf syntaktische Korrektheit prüfen, unter JSON Formatter & Validator.

    Falls irgendetwas davon nicht stimmt, bitte einfach sagen, das ist jetzt mal so aus dem Gedächtnis aufgeschrieben.

    LG
    Marcus

    EDIT 04.10.2012:
    - olad -l auf olad -f geändert
    - Patchen des Devices auf Universe 1 eingefügt

    Einen Kommentar schreiben:


  • mclb
    antwortet
    Funktioniert aber auch mit dem /dev/dmx

    Jetzt muss ich nur noch mein /etc/knxdmxd.conf richtig hinkriegen, ansonsten siehts verdammt gut aus! :-)

    Danke für die Hilfe!

    Einen Kommentar schreiben:


  • JNK
    antwortet
    Dann musst du auch ttyACM0 in der .conf verwebden

    Einen Kommentar schreiben:


  • mclb
    antwortet
    OK, Seite 7 wars und der genaue Befehl

    Code:
    stty -F /dev/ttyACM0 eol G

    Einen Kommentar schreiben:


  • JNK
    antwortet
    Genau, jetzt fehlt noch das stty, ich weiß die Parameter aber nicht. Steht hier im Thread. Koennte sowas wie

    stty -F /dev/dmx eol G

    Oder sowas sein. Musst du mal gucken. Das ist der workaround für einen Bug im OLA

    Einen Kommentar schreiben:


  • mclb
    antwortet
    Ja, die Rechte auf ttyACM0 hab ich schon geänder auf a+rw.

    /dev/dms zeigt auf /dev/ttyACM0, sollte sich also gleich verhalten, tuts auch.

    Nach der Änderung der Rechte änderte sich nun allerdings auch die Fehlermeldung auf "StageProfiPlugin: no device found at /dev/dmx".

    Den User zur Gruppe dialout hab ich auch schon hinzugefügt, was aber leider nichts geändert hat (usermod -a -G dialout user)

    Wie kann ich mir denn die Gruppen des Users anzeigen lassen? Ich erinner mich zwar eh schön langsam an einige Dinge wieder auf der Konsole, aber daran leider nicht.

    EDIT: Was heißt es denn, wenn ein Device unter /dev schwarz hinterlegt ist?
    Existieren muss ja das ttyACM0, haben wir ja heute Nachmittag in einem meiner Posts schon gesehen.
    Angehängte Dateien

    Einen Kommentar schreiben:


  • JNK
    antwortet
    Ja, das ist schlecht. Mal gucken, ob /dev/dmx ueberhaupt geht, sonst halt /dev/ttyACM0 oder wie auch immer es heißt. Und mit ls -la mal die Rechte angucken, User muss auf das device lesen und schreiben koennen. Diese Fehlermeldung kommt meist von falschem Namen oder Rechten.

    Einen Kommentar schreiben:


  • mclb
    antwortet
    Dass es als root nicht geht stört mich eh nicht ... macht man meines Wissens nach sowieso nicht unbedingt.

    Mich stört da eigentlich viel eher die Zeile "StageProfiPlugin: failed to connect to /dev/dmx" Das hört sich glaub ich nicht so gut an, oder?

    Einen Kommentar schreiben:

Lädt...
X