Menu

knxWeb nicht funktioniert

Help
2008-08-18
2012-12-14
  • hgvukhy uhb

    hgvukhy uhb - 2008-08-18

    Guten Tag,

    sehr gut Projekt! und danke sehr!

    ich habe schon die linknx mit konfigurationsdatei linknx.xml gestartet und funktioniert. Dann moechte ich KnxWeb benutzen, aber ein Problem:

    wenn ich mit Unix Domain Socket: und zwar local:/tmp/eib diese URL benutzen, kann leider die KnxWeb nicht funktionieren.Zuerst sagt PHP Log:

    permission denied. Wenn ich die Permission der socket /tmp/eib geaendert habe (write und read), dann kann ich die URL verbinden, aber kann nichts senden nach XML Server. Wieso?

    ich habe php funktion durchgesucht, und finde ich die Funktion fsockopen(), die URL dafuer ist: Unix:///tmp/eib, und die Port nummer ist: 0!!

    ist das richtig? koennen Sie mir etwas empfehlen?\

    vielen Dank und Gruesse

     
    • JensH

      JensH - 2008-08-18

      Hallo yjitkassel,

      das klingt etwas verwirrend.

      Fragen:
      1) welche Platform hast Du (cygwin?, linux auf PC, linux auf embedded device...?)

      2) meines Wissens kommuniziert nur erstmal linknx über die sockets mit dem eib-daemon (eibd).
      (Hier gibt es die Möglichkeit, den eibd auch über einen port anzusprechen...)
      Ausprobieren kannst Du das "schreiben", wenn Du auch die Beispielapplikationen aus dem bcusdk übersetzt hast mit "...<path to bcusdk>/bin/groupswrite local:/tmp/eib "x/y/z" EIS1-value"
      x/y/z ist dann die Gruppenadresse und EIS1-value der 0/1-wert, denn Du schicken willst.

      3) in linknx wird zum einen die Verbindung (uplink) zum eibd konfiguriert: (in linknx.xml)
      also <knxconnection url="local:/tmp/eib " />
      und außerdem die angebotene XML-Schnittstelle (für die benutzung in KNXWEB)
      <xmlserver type="inet" port="1028" />

      4) knxweb ist so "vorkonfiguriert", daß es (z.b. in der linknx.php) versucht auf $linknx_host = "127.0.0.1"; $linknx_port = 1028; ... zuzugreifen.
      Auf keinen Fall kannst Du hier das socket des eibd konfigurieren...

      wenn Du 3) und 4) konfiguriert hast, müßte es eigentlich funktionieren.
      beste Grüße, jens

       
    • jef2000

      jef2000 - 2008-08-18

      Hallo,

      Ich habe Unix Socket nicht mit KnxWeb selbst probiert. Was haben sie in linknx.xml Datei configuriert? Um Unix sockets zwischen linknx und knxweb zu benutzen mussen sie etwas wie:
      <xmlserver type="unix" path="/tmp/linknx" />
      in linknx.xml addieren. Dann in linknx.php "Unix:///tmp/linknx" hinfügen.

      MfG,

      Jean-François

       
    • hgvukhy uhb

      hgvukhy uhb - 2008-08-19

      Hallo,

      danke für die Antworte.
      in meinem Konfigurationsdatei steht:

      <xmlserver type="unix" path="/tmp/xmlserver.sock" />
      <knxconnection url="local:/tmp/eib">

      nicht wie <xmlserver type="unix" path="/tmp/linknx" /> gezeigt.

      und mit Command:

      linknx -c

      kann ich die Rules starten, und funktioniert sehr gut. Dannach schreibe ich im PHP:

      fsockopen("unix:///tmp/eib", 0...)

      Aber die PHP-Log ist:

      Permission denied.

      ich finde die Berechtigung dieser unix socket ist nur "read", so ich änderte zum "read and write", dann kann ich die PHP-Funktion benutzen, Aber gar keine Nachrichten gesendet werden!

      Ja, ich benutze eibd (mit "eibd -u usb:" gestartet) als die EIB Backend.

      MFG

       
    • jef2000

      jef2000 - 2008-08-19

      Hallo,

      /tmp/eib ist der unix Socket für EIBD
      /tmp/xmlserver.sock ist der unix Socket für Linknx

      Dann müssen Sie fsockopen("unix:///tmp/xmlserver.sock", 0...) im php Skript benutzen.
      Vielleicht müssen Sie auch die Berechtigung von /tmp/xmlserver.sock ändern.

      MfG,

      Jean-François

       
    • jef2000

      jef2000 - 2008-08-19

      Hallo,

      Ich habe es nun persönlich getestet.
      In linknx.php:
      $linknx_host = "unix:///tmp/xmlserver.sock";
      $linknx_port = 0;

      In linknx.conf:
      <xmlserver type="unix" path="/tmp/xmlserver.sock" />

      Dann:
      chmod a+w /tmp/xmlserver.sock

      damit geht es problemlos.

      MfG,

      Jean-François

       

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.